@sealcode/jdd-editor 0.1.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.
- package/.arcconfig +12 -0
- package/.arclint +18 -0
- package/.eslintrc.js +37 -0
- package/.mocharc.js +6 -0
- package/.nycrc +6 -0
- package/.prettierrc +14 -0
- package/@types/component-preview-actions.d.ts +43 -0
- package/@types/components.sreact.d.ts +48 -0
- package/@types/controllers/autogrow-textarea.stimulus.d.ts +5 -0
- package/@types/controllers/component-debugger.stimulus.d.ts +28 -0
- package/@types/controllers/exportable-textarea.stimulus.d.ts +7 -0
- package/@types/controllers/input-image-preview.stimulus.d.ts +5 -0
- package/@types/controllers/jdd-table-paste.stimulus.d.ts +8 -0
- package/@types/controllers/json-editor.stimulus.d.ts +9 -0
- package/@types/controllers/markdown-textarea.stimulus.d.ts +20 -0
- package/@types/controllers/refresh-on-ts-changes.stimulus.d.ts +6 -0
- package/@types/controllers/refresh-styles.stimulus.d.ts +6 -0
- package/@types/controllers/submit-on-input.stimulus.d.ts +7 -0
- package/@types/controllers/toast.stimulus.d.ts +4 -0
- package/@types/edit-jdd-field.d.ts +22 -0
- package/@types/index.d.ts +2 -0
- package/@types/inputs/component-input-enum.d.ts +8 -0
- package/@types/inputs/component-input-image.d.ts +15 -0
- package/@types/inputs/component-input-list.d.ts +15 -0
- package/@types/inputs/component-input-single-reference.d.ts +11 -0
- package/@types/inputs/component-input-structured.d.ts +15 -0
- package/@types/inputs/component-input-table.d.ts +15 -0
- package/@types/inputs/component-input.d.ts +16 -0
- package/@types/inputs/print-arg-path.d.ts +1 -0
- package/@types/jdd-creator.d.ts +49 -0
- package/@types/jdd-page.d.ts +85 -0
- package/assets/icons/table-add-column-right.svg +1 -0
- package/assets/icons/table-add-row-below.svg +1 -0
- package/assets/icons/table-add-row-header-below.svg +1 -0
- package/assets/icons/table-delete-column.svg +1 -0
- package/assets/icons/table-delete-row.svg +1 -0
- package/assets/icons/table-move-column-right.svg +1 -0
- package/assets/icons/table-move-row-down.svg +1 -0
- package/assets/icons/table-move-row-up.svg +1 -0
- package/assets/styles/component-admin-table.jdd-page.css +11 -0
- package/assets/styles/component-debugger.jdd-page.css +71 -0
- package/assets/styles/components.jdd-page.css +286 -0
- package/assets/styles/grow-wrap.css +33 -0
- package/assets/styles/markdown-editor.css +42 -0
- package/dist/src/autogrow-textarea.stimulus.js +13 -0
- package/dist/src/autogrow-textarea.stimulus.js.map +7 -0
- package/dist/src/component-debugger.stimulus.js +190 -0
- package/dist/src/component-debugger.stimulus.js.map +7 -0
- package/dist/src/component-preview-actions.js +439 -0
- package/dist/src/component-preview-actions.js.map +7 -0
- package/dist/src/components.sreact.js +93 -0
- package/dist/src/components.sreact.js.map +7 -0
- package/dist/src/controllers/autogrow-textarea.stimulus.js +13 -0
- package/dist/src/controllers/autogrow-textarea.stimulus.js.map +7 -0
- package/dist/src/controllers/component-debugger.stimulus.js +193 -0
- package/dist/src/controllers/component-debugger.stimulus.js.map +7 -0
- package/dist/src/controllers/exportable-textarea.stimulus.js +71 -0
- package/dist/src/controllers/exportable-textarea.stimulus.js.map +7 -0
- package/dist/src/controllers/input-image-preview.stimulus.js +30 -0
- package/dist/src/controllers/input-image-preview.stimulus.js.map +7 -0
- package/dist/src/controllers/jdd-table-paste.stimulus.js +78 -0
- package/dist/src/controllers/jdd-table-paste.stimulus.js.map +7 -0
- package/dist/src/controllers/json-editor.stimulus.js +114 -0
- package/dist/src/controllers/json-editor.stimulus.js.map +7 -0
- package/dist/src/controllers/markdown-textarea.stimulus.js +174 -0
- package/dist/src/controllers/markdown-textarea.stimulus.js.map +7 -0
- package/dist/src/controllers/refresh-on-ts-changes.stimulus.js +90 -0
- package/dist/src/controllers/refresh-on-ts-changes.stimulus.js.map +7 -0
- package/dist/src/controllers/refresh-styles.stimulus.js +67 -0
- package/dist/src/controllers/refresh-styles.stimulus.js.map +7 -0
- package/dist/src/controllers/submit-on-input.stimulus.js +55 -0
- package/dist/src/controllers/submit-on-input.stimulus.js.map +7 -0
- package/dist/src/controllers/toast.stimulus.js +19 -0
- package/dist/src/controllers/toast.stimulus.js.map +7 -0
- package/dist/src/edit-jdd-field.js +94 -0
- package/dist/src/edit-jdd-field.js.map +7 -0
- package/dist/src/exportable-textarea.stimulus.js +71 -0
- package/dist/src/exportable-textarea.stimulus.js.map +7 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +7 -0
- package/dist/src/input-image-preview.stimulus.js +30 -0
- package/dist/src/input-image-preview.stimulus.js.map +7 -0
- package/dist/src/inputs/component-input-enum.js +30 -0
- package/dist/src/inputs/component-input-enum.js.map +7 -0
- package/dist/src/inputs/component-input-image.js +58 -0
- package/dist/src/inputs/component-input-image.js.map +7 -0
- package/dist/src/inputs/component-input-list.js +74 -0
- package/dist/src/inputs/component-input-list.js.map +7 -0
- package/dist/src/inputs/component-input-single-reference.js +31 -0
- package/dist/src/inputs/component-input-single-reference.js.map +7 -0
- package/dist/src/inputs/component-input-structured.js +36 -0
- package/dist/src/inputs/component-input-structured.js.map +7 -0
- package/dist/src/inputs/component-input-table.js +228 -0
- package/dist/src/inputs/component-input-table.js.map +7 -0
- package/dist/src/inputs/component-input.js +129 -0
- package/dist/src/inputs/component-input.js.map +7 -0
- package/dist/src/inputs/print-arg-path.js +7 -0
- package/dist/src/inputs/print-arg-path.js.map +7 -0
- package/dist/src/jdd-creator.js +131 -0
- package/dist/src/jdd-creator.js.map +7 -0
- package/dist/src/jdd-page.js +339 -0
- package/dist/src/jdd-page.js.map +7 -0
- package/dist/src/jdd-table-paste.stimulus.js +78 -0
- package/dist/src/jdd-table-paste.stimulus.js.map +7 -0
- package/dist/src/json-editor.stimulus.js +114 -0
- package/dist/src/json-editor.stimulus.js.map +7 -0
- package/dist/src/markdown-textarea.stimulus.js +174 -0
- package/dist/src/markdown-textarea.stimulus.js.map +7 -0
- package/dist/src/submit-on-input.stimulus.js +55 -0
- package/dist/src/submit-on-input.stimulus.js.map +7 -0
- package/dist/src/toast.stimulus.js +19 -0
- package/dist/src/toast.stimulus.js.map +7 -0
- package/esbuild.cjs +20 -0
- package/esbuild.js +23 -0
- package/jenkins.sanity.sh +3 -0
- package/lib/component-preview-actions.js +286 -0
- package/lib/component-preview-actions.js.map +1 -0
- package/lib/components.sreact.js +102 -0
- package/lib/components.sreact.js.map +1 -0
- package/lib/controllers/autogrow-textarea.stimulus.js +15 -0
- package/lib/controllers/autogrow-textarea.stimulus.js.map +1 -0
- package/lib/controllers/component-debugger.stimulus.js +188 -0
- package/lib/controllers/component-debugger.stimulus.js.map +1 -0
- package/lib/controllers/exportable-textarea.stimulus.js +79 -0
- package/lib/controllers/exportable-textarea.stimulus.js.map +1 -0
- package/lib/controllers/input-image-preview.stimulus.js +28 -0
- package/lib/controllers/input-image-preview.stimulus.js.map +1 -0
- package/lib/controllers/jdd-table-paste.stimulus.js +84 -0
- package/lib/controllers/jdd-table-paste.stimulus.js.map +1 -0
- package/lib/controllers/json-editor.stimulus.js +134 -0
- package/lib/controllers/json-editor.stimulus.js.map +1 -0
- package/lib/controllers/markdown-textarea.stimulus.js +186 -0
- package/lib/controllers/markdown-textarea.stimulus.js.map +1 -0
- package/lib/controllers/refresh-on-ts-changes.stimulus.js +123 -0
- package/lib/controllers/refresh-on-ts-changes.stimulus.js.map +1 -0
- package/lib/controllers/refresh-styles.stimulus.js +66 -0
- package/lib/controllers/refresh-styles.stimulus.js.map +1 -0
- package/lib/controllers/submit-on-input.stimulus.js +48 -0
- package/lib/controllers/submit-on-input.stimulus.js.map +1 -0
- package/lib/controllers/toast.stimulus.js +16 -0
- package/lib/controllers/toast.stimulus.js.map +1 -0
- package/lib/edit-jdd-field.js +102 -0
- package/lib/edit-jdd-field.js.map +1 -0
- package/lib/index.js +19 -0
- package/lib/index.js.map +1 -0
- package/lib/inputs/component-input-enum.js +25 -0
- package/lib/inputs/component-input-enum.js.map +1 -0
- package/lib/inputs/component-input-image.js +47 -0
- package/lib/inputs/component-input-image.js.map +1 -0
- package/lib/inputs/component-input-list.js +61 -0
- package/lib/inputs/component-input-list.js.map +1 -0
- package/lib/inputs/component-input-single-reference.js +36 -0
- package/lib/inputs/component-input-single-reference.js.map +1 -0
- package/lib/inputs/component-input-structured.js +42 -0
- package/lib/inputs/component-input-structured.js.map +1 -0
- package/lib/inputs/component-input-table.js +184 -0
- package/lib/inputs/component-input-table.js.map +1 -0
- package/lib/inputs/component-input.js +133 -0
- package/lib/inputs/component-input.js.map +1 -0
- package/lib/inputs/print-arg-path.js +7 -0
- package/lib/inputs/print-arg-path.js.map +1 -0
- package/lib/jdd-creator.js +113 -0
- package/lib/jdd-creator.js.map +1 -0
- package/lib/jdd-page.js +310 -0
- package/lib/jdd-page.js.map +1 -0
- package/package.json +61 -0
- package/src/component-preview-actions.ts +520 -0
- package/src/components.sreact.ts +100 -0
- package/src/controllers/autogrow-textarea.stimulus.ts +13 -0
- package/src/controllers/component-debugger.stimulus.ts +247 -0
- package/src/controllers/exportable-textarea.stimulus.ts +77 -0
- package/src/controllers/input-image-preview.stimulus.ts +29 -0
- package/src/controllers/jdd-table-paste.stimulus.ts +89 -0
- package/src/controllers/json-editor.stimulus.ts +127 -0
- package/src/controllers/markdown-textarea.stimulus.ts +198 -0
- package/src/controllers/refresh-on-ts-changes.stimulus.ts +112 -0
- package/src/controllers/refresh-styles.stimulus.ts +70 -0
- package/src/controllers/submit-on-input.stimulus.ts +66 -0
- package/src/controllers/toast.stimulus.ts +15 -0
- package/src/edit-jdd-field.ts +127 -0
- package/src/index.ts +2 -0
- package/src/inputs/component-input-enum.ts +36 -0
- package/src/inputs/component-input-image.ts +70 -0
- package/src/inputs/component-input-list.ts +91 -0
- package/src/inputs/component-input-single-reference.ts +45 -0
- package/src/inputs/component-input-structured.ts +51 -0
- package/src/inputs/component-input-table.ts +262 -0
- package/src/inputs/component-input.ts +158 -0
- package/src/inputs/print-arg-path.ts +3 -0
- package/src/jdd-creator.ts +151 -0
- package/src/jdd-page.ts +439 -0
- package/tsconfig.json +24 -0
package/.arcconfig
ADDED
package/.arclint
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"linters": {
|
|
3
|
+
"prettier": {
|
|
4
|
+
"type": "prettier",
|
|
5
|
+
"bin": "./node_modules/.bin/prettier",
|
|
6
|
+
"include": [
|
|
7
|
+
"(src/.*\\.[tj]s$)"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"eslint": {
|
|
11
|
+
"type": "eslint",
|
|
12
|
+
"include": [
|
|
13
|
+
"(src/.*\\.ts$)",
|
|
14
|
+
"(src/.*\\.js$)"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
env: { node: true },
|
|
3
|
+
parser: "@typescript-eslint/parser",
|
|
4
|
+
plugins: ["@typescript-eslint", "prettier"],
|
|
5
|
+
extends: [
|
|
6
|
+
"eslint:recommended",
|
|
7
|
+
"plugin:@typescript-eslint/recommended",
|
|
8
|
+
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
|
9
|
+
"plugin:prettier/recommended",
|
|
10
|
+
],
|
|
11
|
+
ignorePatterns: [".eslintrc.js", "src/**/*.test.ts", "@types/*"],
|
|
12
|
+
parserOptions: {
|
|
13
|
+
sourceType: "module",
|
|
14
|
+
ecmaFeatures: {
|
|
15
|
+
modules: true,
|
|
16
|
+
},
|
|
17
|
+
project: ["./tsconfig.json"],
|
|
18
|
+
},
|
|
19
|
+
rules: {
|
|
20
|
+
"@typescript-eslint/require-await": 0,
|
|
21
|
+
"no-await-in-loop": 2,
|
|
22
|
+
},
|
|
23
|
+
settings: { jsdoc: { mode: "typescript" } },
|
|
24
|
+
overrides: [
|
|
25
|
+
{
|
|
26
|
+
files: ["*.subtest.ts", "*.test.ts"],
|
|
27
|
+
rules: {
|
|
28
|
+
"@typescript-eslint/no-unsafe-member-access": 0,
|
|
29
|
+
"prefer-const": 0,
|
|
30
|
+
"@typescript-eslint/no-unsafe-call": 0,
|
|
31
|
+
"@typescript-eslint/no-unsafe-return": 0,
|
|
32
|
+
"@typescript-eslint/no-unsafe-assignment": 0,
|
|
33
|
+
"no-await-in-loop": 1, // sometimes it's easier to debug when requests run sequentially
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
};
|
package/.mocharc.js
ADDED
package/.nycrc
ADDED
package/.prettierrc
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Registry } from "@sealcode/jdd";
|
|
2
|
+
import type { JDDPageState } from "./jdd-page.js";
|
|
3
|
+
import type { StatefulPageActionArgument } from "@sealcode/sealgen";
|
|
4
|
+
export declare function getComponentData(state: JDDPageState, arg_path: string[], registry: Registry): {
|
|
5
|
+
component_index: number;
|
|
6
|
+
component_args: Record<string, unknown>;
|
|
7
|
+
component_name: string;
|
|
8
|
+
component: import("@sealcode/jdd").Component<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>> | null;
|
|
9
|
+
argument: import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown> | null;
|
|
10
|
+
argument_value: unknown;
|
|
11
|
+
arg_path_within_component: string[];
|
|
12
|
+
};
|
|
13
|
+
export declare const ComponentPreviewActions: {
|
|
14
|
+
readonly add_array_item: ({ ctx, state, args: [arg_path], page, }: StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
15
|
+
readonly remove_array_item: ({ state, args: [arg_path, index_to_remove], }: StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
16
|
+
readonly move_array_item_up: ({ state, args: [arg_path, element_index], }: StatefulPageActionArgument<JDDPageState, [string[], number]>) => Promise<JDDPageState>;
|
|
17
|
+
readonly move_array_item_down: ({ state, args: [arg_path, element_index], }: StatefulPageActionArgument<JDDPageState, [string[], number]>) => Promise<JDDPageState>;
|
|
18
|
+
readonly change_component: ({ ctx, inputs, state, page, }: StatefulPageActionArgument<JDDPageState, []>) => Promise<JDDPageState>;
|
|
19
|
+
readonly randomize_args: ({ ctx, state, page, args: [component_index_str], }: StatefulPageActionArgument<JDDPageState, [string]>) => Promise<JDDPageState>;
|
|
20
|
+
readonly add_table_row: ({ ctx, state, page, args: [arg_path, columns, type], }: StatefulPageActionArgument<JDDPageState, [string[], number, "header" | "row" | undefined]>) => Promise<JDDPageState>;
|
|
21
|
+
readonly add_table_column: ({ ctx, state, page, args: [arg_path], }: StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
22
|
+
readonly remove_table_column: ({ state, args: [arg_path, column_index_to_remove], }: StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
23
|
+
readonly remove_table_row: ({ state, args: [arg_path, row_index], }: StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
24
|
+
readonly move_table_column_right: ({ state, page, args: [arg_path, column_index], }: StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
25
|
+
readonly move_table_row_down: ({ state, page, args: [arg_path, row_index], }: StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
26
|
+
readonly change_size: ({ state, inputs, }: StatefulPageActionArgument<JDDPageState>) => {
|
|
27
|
+
preview_size: string | undefined;
|
|
28
|
+
components: import("@sealcode/jdd").RawJDDocument;
|
|
29
|
+
messages?: string[];
|
|
30
|
+
};
|
|
31
|
+
readonly add_component: ({ ctx, state, inputs, page, }: StatefulPageActionArgument<JDDPageState, []>) => Promise<JDDPageState>;
|
|
32
|
+
readonly remove_component: ({ state, args: [component_index], }: StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
33
|
+
readonly move_component_up: ({ state, args: [component_index], }: StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
34
|
+
readonly move_component_down: ({ state, args: [component_index], }: StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
35
|
+
readonly remove_file: ({ state, args: [arg_path], }: StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
36
|
+
readonly replace_state: ({ ctx, state, inputs, page, }: StatefulPageActionArgument<JDDPageState>) => Promise<{
|
|
37
|
+
preview_size: string | undefined;
|
|
38
|
+
components: {
|
|
39
|
+
component_name: string;
|
|
40
|
+
args: import("@sealcode/jdd").ExtractStructuredComponentArgumentsParsed<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>;
|
|
41
|
+
}[];
|
|
42
|
+
}>;
|
|
43
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Context } from "koa";
|
|
2
|
+
import type { Templatable } from "tempstream";
|
|
3
|
+
import type { Stringifiable } from "tempstream/@types/stringify.js";
|
|
4
|
+
import type { JDDPageState } from "./jdd-page.js";
|
|
5
|
+
import JDDPage from "./jdd-page.js";
|
|
6
|
+
export declare class JDDDebugger extends JDDPage {
|
|
7
|
+
renderParameterButtons(state: JDDPageState): Stringifiable;
|
|
8
|
+
actions: {
|
|
9
|
+
readonly add_array_item: ({ ctx, state, args: [arg_path], page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
10
|
+
readonly remove_array_item: ({ state, args: [arg_path, index_to_remove], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
11
|
+
readonly move_array_item_up: ({ state, args: [arg_path, element_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => Promise<JDDPageState>;
|
|
12
|
+
readonly move_array_item_down: ({ state, args: [arg_path, element_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => Promise<JDDPageState>;
|
|
13
|
+
readonly change_component: ({ ctx, inputs, state, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, []>) => Promise<JDDPageState>;
|
|
14
|
+
readonly randomize_args: ({ ctx, state, page, args: [component_index_str], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string]>) => Promise<JDDPageState>;
|
|
15
|
+
readonly add_table_row: ({ ctx, state, page, args: [arg_path, columns, type], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number, "header" | "row" | undefined]>) => Promise<JDDPageState>;
|
|
16
|
+
readonly add_table_column: ({ ctx, state, page, args: [arg_path], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
17
|
+
readonly remove_table_column: ({ state, args: [arg_path, column_index_to_remove], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
18
|
+
readonly remove_table_row: ({ state, args: [arg_path, row_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
19
|
+
readonly move_table_column_right: ({ state, page, args: [arg_path, column_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
20
|
+
readonly move_table_row_down: ({ state, page, args: [arg_path, row_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
21
|
+
readonly change_size: ({ state, inputs, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState>) => {
|
|
22
|
+
preview_size: string | undefined;
|
|
23
|
+
components: import("@sealcode/jdd").RawJDDocument;
|
|
24
|
+
messages?: string[];
|
|
25
|
+
};
|
|
26
|
+
readonly add_component: ({ ctx, state, inputs, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, []>) => Promise<JDDPageState>;
|
|
27
|
+
readonly remove_component: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
28
|
+
readonly move_component_up: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
29
|
+
readonly move_component_down: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
30
|
+
readonly remove_file: ({ state, args: [arg_path], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
31
|
+
readonly replace_state: ({ ctx, state, inputs, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState>) => Promise<{
|
|
32
|
+
preview_size: string | undefined;
|
|
33
|
+
components: {
|
|
34
|
+
component_name: string;
|
|
35
|
+
args: import("@sealcode/jdd").ExtractStructuredComponentArgumentsParsed<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>;
|
|
36
|
+
}[];
|
|
37
|
+
}>;
|
|
38
|
+
};
|
|
39
|
+
getInitialState(ctx: Context): Promise<{
|
|
40
|
+
components: {
|
|
41
|
+
component_name: string;
|
|
42
|
+
args: import("@sealcode/jdd").ExtractStructuredComponentArgumentsParsed<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>;
|
|
43
|
+
open: boolean;
|
|
44
|
+
}[];
|
|
45
|
+
}>;
|
|
46
|
+
wrapInLayout(ctx: Context, content: Templatable, state: JDDPageState): Templatable;
|
|
47
|
+
containerSizes: string[];
|
|
48
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Controller } from "stimulus";
|
|
2
|
+
export default class ComponentDebugger extends Controller {
|
|
3
|
+
sizeSelectTarget: HTMLSelectElement;
|
|
4
|
+
gutterTarget: HTMLDivElement;
|
|
5
|
+
checkboxTarget: HTMLInputElement;
|
|
6
|
+
checkboxTargets: HTMLInputElement[];
|
|
7
|
+
previewTarget: HTMLDivElement;
|
|
8
|
+
componentBlockTargets: HTMLDivElement[];
|
|
9
|
+
static targets: string[];
|
|
10
|
+
id: string;
|
|
11
|
+
main_form: HTMLFormElement;
|
|
12
|
+
origin_x: number;
|
|
13
|
+
origin_width: number;
|
|
14
|
+
connect(): void;
|
|
15
|
+
update_width_display(): void;
|
|
16
|
+
resizeHandler(e: MouseEvent): void;
|
|
17
|
+
setPreviewWidth(width: number): void;
|
|
18
|
+
handleWidthDropdown(): void;
|
|
19
|
+
handleBlockHover(e: MouseEvent): void;
|
|
20
|
+
handleBlockUnhover(e: MouseEvent): void;
|
|
21
|
+
componentBlockTargetConnected(block_element: HTMLDivElement): void;
|
|
22
|
+
previewTargetConnected(preview_element: HTMLDivElement): void;
|
|
23
|
+
focusComponentBlock(index: number): void;
|
|
24
|
+
getIndex(block_element: HTMLDivElement): number;
|
|
25
|
+
labelClicked(element: MouseEvent): void;
|
|
26
|
+
getPreviewElementForComponentIndex(index: number): HTMLDialogElement;
|
|
27
|
+
scrollToComponentPreview(index: number): void;
|
|
28
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Controller } from "stimulus";
|
|
2
|
+
export default class JSONEditor extends Controller<HTMLTextAreaElement> {
|
|
3
|
+
cm: any;
|
|
4
|
+
saving: boolean;
|
|
5
|
+
addCSS(): void;
|
|
6
|
+
addJS(js_id: string, js_path: string): Promise<void>;
|
|
7
|
+
connect(): Promise<void>;
|
|
8
|
+
disconnect(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Controller } from "stimulus";
|
|
2
|
+
import type { default as simplemde } from "simplemde";
|
|
3
|
+
export default class MarkdownTextarea extends Controller<HTMLTextAreaElement> {
|
|
4
|
+
sm: simplemde;
|
|
5
|
+
checkboxHandler: (this: HTMLElement, ev: Event) => any;
|
|
6
|
+
resizeObserver: ResizeObserver;
|
|
7
|
+
intersectionObserver: IntersectionObserver;
|
|
8
|
+
mdeStarted: boolean;
|
|
9
|
+
addCSS(): void;
|
|
10
|
+
addJS(): Promise<void>;
|
|
11
|
+
handleResize(): void;
|
|
12
|
+
connect(): Promise<void>;
|
|
13
|
+
startMDE(): Promise<void>;
|
|
14
|
+
init(): Promise<void>;
|
|
15
|
+
isHiddenBlock(): boolean;
|
|
16
|
+
isInsideComponentBlock(): false | HTMLDivElement;
|
|
17
|
+
getCheckboxThatShowsBlock(): HTMLInputElement | null;
|
|
18
|
+
setupRefreshOnShow(): void;
|
|
19
|
+
disconnect(): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type Router from "@koa/router";
|
|
2
|
+
import type { Context } from "koa";
|
|
3
|
+
import type { Collection, CollectionItem, FieldNames } from "sealious";
|
|
4
|
+
import JDDCreator from "./jdd-creator.js";
|
|
5
|
+
import type { JDDPageState } from "./jdd-page.js";
|
|
6
|
+
export declare abstract class EditJDDField<C extends Collection> extends JDDCreator {
|
|
7
|
+
getID(ctx: Context): Promise<string>;
|
|
8
|
+
abstract getCollection(ctx: Context): C;
|
|
9
|
+
getItem(ctx: Context): Promise<CollectionItem<C>>;
|
|
10
|
+
abstract getJDDFieldName(): FieldNames<C["fields"]>;
|
|
11
|
+
mount(router: Router, path: string): void;
|
|
12
|
+
renderHeader(_ctx: Context, _item: CollectionItem<C>): Promise<string>;
|
|
13
|
+
renderPreParameterButtons(ctx: Context): Promise<string>;
|
|
14
|
+
renderParameterButtons(state: JDDPageState): string;
|
|
15
|
+
getInitialState(ctx: Context): Promise<{
|
|
16
|
+
components: {
|
|
17
|
+
open: boolean;
|
|
18
|
+
component_name: string;
|
|
19
|
+
args: Record<string, unknown>;
|
|
20
|
+
}[];
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Enum } from "@sealcode/jdd";
|
|
2
|
+
export declare function ComponentInputEnum<State, S extends string, T extends Enum<S>>({ arg_path, arg, value, onchange, }: {
|
|
3
|
+
state: State;
|
|
4
|
+
arg_path: string[];
|
|
5
|
+
arg: T;
|
|
6
|
+
value: string;
|
|
7
|
+
onchange?: string;
|
|
8
|
+
}): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Context } from "koa";
|
|
2
|
+
import type { FilePointer } from "@sealcode/file-manager";
|
|
3
|
+
import type { Image, JDDContext } from "@sealcode/jdd";
|
|
4
|
+
import type { StatefulPage } from "@sealcode/sealgen";
|
|
5
|
+
import type { ComponentPreviewActions } from "../component-preview-actions.js";
|
|
6
|
+
import type { JDDPageState } from "../jdd-page.js";
|
|
7
|
+
export declare function ComponentInputImage<State extends JDDPageState>({ arg_path, arg, value, ctx, page, state, makeJDDContext, }: {
|
|
8
|
+
state: State;
|
|
9
|
+
arg_path: string[];
|
|
10
|
+
arg: Image;
|
|
11
|
+
value: FilePointer | null;
|
|
12
|
+
page: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;
|
|
13
|
+
ctx: Context;
|
|
14
|
+
makeJDDContext: (ctx: Context) => JDDContext;
|
|
15
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Context } from "koa";
|
|
2
|
+
import type { ComponentArgument, JDDContext, List } from "@sealcode/jdd";
|
|
3
|
+
import type { JDDPageState } from "../jdd-page.js";
|
|
4
|
+
import type { StatefulPage } from "@sealcode/sealgen";
|
|
5
|
+
import type { ComponentPreviewActions } from "../component-preview-actions.js";
|
|
6
|
+
export declare function ComponentInputList<State extends JDDPageState, T extends ComponentArgument<unknown>>({ state, ctx, arg_path, arg, value, page, makeJDDContext, ...rest }: {
|
|
7
|
+
state: State;
|
|
8
|
+
ctx: Context;
|
|
9
|
+
arg_path: string[];
|
|
10
|
+
arg: List<T, any>;
|
|
11
|
+
value: T[];
|
|
12
|
+
page: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;
|
|
13
|
+
makeJDDContext: (ctx: Context) => JDDContext;
|
|
14
|
+
makeAssetURL: (asset: string) => string;
|
|
15
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Context } from "koa";
|
|
2
|
+
import type { JDDContext, SingleReference } from "@sealcode/jdd";
|
|
3
|
+
export declare function ComponentInputSingleReference<State, T extends SingleReference<any>>({ ctx, arg_path, arg, value, onchange, makeJDDContext, }: {
|
|
4
|
+
ctx: Context;
|
|
5
|
+
state: State;
|
|
6
|
+
arg_path: string[];
|
|
7
|
+
arg: T;
|
|
8
|
+
value: string;
|
|
9
|
+
onchange?: string;
|
|
10
|
+
makeJDDContext: (ctx: Context) => JDDContext;
|
|
11
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Context } from "koa";
|
|
2
|
+
import type { ComponentArgument, JDDContext, Structured } from "@sealcode/jdd";
|
|
3
|
+
import type { StatefulPage } from "@sealcode/sealgen";
|
|
4
|
+
import type { JDDPageState } from "../jdd-page.js";
|
|
5
|
+
import type { ComponentPreviewActions } from "../component-preview-actions.js";
|
|
6
|
+
export declare function ComponentInputStructured<T extends Structured<Record<string, ComponentArgument<unknown>>>>({ state, ctx, arg_path, arg, value, page, ...rest }: {
|
|
7
|
+
state: JDDPageState;
|
|
8
|
+
ctx: Context;
|
|
9
|
+
arg_path: string[];
|
|
10
|
+
arg: T;
|
|
11
|
+
value: Record<string, unknown>;
|
|
12
|
+
page: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;
|
|
13
|
+
makeJDDContext: (ctx: Context) => JDDContext;
|
|
14
|
+
makeAssetURL: (asset: string) => string;
|
|
15
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { JDDContext, Table, TableData } from "@sealcode/jdd";
|
|
2
|
+
import type { StatefulPage } from "@sealcode/sealgen";
|
|
3
|
+
import type { Context } from "koa";
|
|
4
|
+
import type { ComponentPreviewActions } from "../component-preview-actions.js";
|
|
5
|
+
import type { JDDPageState } from "../jdd-page.js";
|
|
6
|
+
export declare function ComponentInputTable<State extends JDDPageState, CellType, HeaderType>({ state, arg_path, ctx, arg, value, page, makeJDDContext, makeAssetURL, }: {
|
|
7
|
+
state: State;
|
|
8
|
+
ctx: Context;
|
|
9
|
+
arg_path: string[];
|
|
10
|
+
arg: Table<CellType, HeaderType>;
|
|
11
|
+
value: TableData<CellType, HeaderType>;
|
|
12
|
+
page: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;
|
|
13
|
+
makeJDDContext: (ctx: Context) => JDDContext;
|
|
14
|
+
makeAssetURL: (asset: string) => string;
|
|
15
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Context } from "koa";
|
|
2
|
+
import type { ComponentArgument, JDDContext } from "@sealcode/jdd";
|
|
3
|
+
import type { StatefulPage } from "@sealcode/sealgen";
|
|
4
|
+
import type { ComponentPreviewActions } from "../component-preview-actions.js";
|
|
5
|
+
import type { JDDPageState } from "../jdd-page.js";
|
|
6
|
+
export declare const actionName = "Components";
|
|
7
|
+
export declare function ComponentInput<State extends JDDPageState, T>({ ctx, state, arg_path, arg, value, page, makeJDDContext, makeAssetURL, }: {
|
|
8
|
+
state: State;
|
|
9
|
+
ctx: Context;
|
|
10
|
+
arg_path: string[];
|
|
11
|
+
arg: ComponentArgument<T>;
|
|
12
|
+
value: T;
|
|
13
|
+
page: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;
|
|
14
|
+
makeJDDContext: (ctx: Context) => JDDContext;
|
|
15
|
+
makeAssetURL: (asset: string) => string;
|
|
16
|
+
}): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function printArgPath(path: string[]): string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Context } from "koa";
|
|
2
|
+
import type { JDDPageState } from "./jdd-page.js";
|
|
3
|
+
import JDDPage from "./jdd-page.js";
|
|
4
|
+
export default abstract class JDDCreator extends JDDPage {
|
|
5
|
+
actions: {
|
|
6
|
+
readonly add_array_item: ({ ctx, state, args: [arg_path], page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
7
|
+
readonly remove_array_item: ({ state, args: [arg_path, index_to_remove], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
8
|
+
readonly move_array_item_up: ({ state, args: [arg_path, element_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => Promise<JDDPageState>;
|
|
9
|
+
readonly move_array_item_down: ({ state, args: [arg_path, element_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => Promise<JDDPageState>;
|
|
10
|
+
readonly change_component: ({ ctx, inputs, state, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, []>) => Promise<JDDPageState>;
|
|
11
|
+
readonly randomize_args: ({ ctx, state, page, args: [component_index_str], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string]>) => Promise<JDDPageState>;
|
|
12
|
+
readonly add_table_row: ({ ctx, state, page, args: [arg_path, columns, type], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number, "header" | "row" | undefined]>) => Promise<JDDPageState>;
|
|
13
|
+
readonly add_table_column: ({ ctx, state, page, args: [arg_path], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
14
|
+
readonly remove_table_column: ({ state, args: [arg_path, column_index_to_remove], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
15
|
+
readonly remove_table_row: ({ state, args: [arg_path, row_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
16
|
+
readonly move_table_column_right: ({ state, page, args: [arg_path, column_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
17
|
+
readonly move_table_row_down: ({ state, page, args: [arg_path, row_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
18
|
+
readonly change_size: ({ state, inputs, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState>) => {
|
|
19
|
+
preview_size: string | undefined;
|
|
20
|
+
components: import("@sealcode/jdd").RawJDDocument;
|
|
21
|
+
messages?: string[];
|
|
22
|
+
};
|
|
23
|
+
readonly add_component: ({ ctx, state, inputs, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, []>) => Promise<JDDPageState>;
|
|
24
|
+
readonly remove_component: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
25
|
+
readonly move_component_up: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
26
|
+
readonly move_component_down: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
27
|
+
readonly remove_file: ({ state, args: [arg_path], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
28
|
+
readonly replace_state: ({ ctx, state, inputs, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState>) => Promise<{
|
|
29
|
+
preview_size: string | undefined;
|
|
30
|
+
components: {
|
|
31
|
+
component_name: string;
|
|
32
|
+
args: import("@sealcode/jdd").ExtractStructuredComponentArgumentsParsed<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>;
|
|
33
|
+
}[];
|
|
34
|
+
}>;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* This method returns list of components allowed in JDD Editor instance.
|
|
38
|
+
* If list is empty it will allow all of the components in registry,
|
|
39
|
+
* if you overide this function you can decide on what components should
|
|
40
|
+
* available.
|
|
41
|
+
*/
|
|
42
|
+
getAllowedComponents(): string[];
|
|
43
|
+
getRegistryComponents(): Record<string, import("@sealcode/jdd").Component<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>>;
|
|
44
|
+
renderParameterButtons(state: JDDPageState): string;
|
|
45
|
+
renderComponentBlock(ctx: Context, state: JDDPageState, component_data: {
|
|
46
|
+
component_name: string;
|
|
47
|
+
args: Record<string, unknown>;
|
|
48
|
+
}, component_index: number): string | Promise<string>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { Readable } from "node:stream";
|
|
2
|
+
import type { Component, JDDContext, RawJDDocument } from "@sealcode/jdd";
|
|
3
|
+
import { Registry } from "@sealcode/jdd";
|
|
4
|
+
import { StatefulPage } from "@sealcode/sealgen";
|
|
5
|
+
import type { Context } from "koa";
|
|
6
|
+
import type { FlatTemplatable, Templatable } from "tempstream";
|
|
7
|
+
import { ComponentPreviewActions } from "./component-preview-actions.js";
|
|
8
|
+
export declare const actionName = "Components";
|
|
9
|
+
export type JDDPageState = {
|
|
10
|
+
components: RawJDDocument;
|
|
11
|
+
preview_size?: string;
|
|
12
|
+
messages?: string[];
|
|
13
|
+
};
|
|
14
|
+
export default abstract class JDDPage extends StatefulPage<JDDPageState, typeof ComponentPreviewActions> {
|
|
15
|
+
actions: {
|
|
16
|
+
readonly add_array_item: ({ ctx, state, args: [arg_path], page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
17
|
+
readonly remove_array_item: ({ state, args: [arg_path, index_to_remove], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
18
|
+
readonly move_array_item_up: ({ state, args: [arg_path, element_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => Promise<JDDPageState>;
|
|
19
|
+
readonly move_array_item_down: ({ state, args: [arg_path, element_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => Promise<JDDPageState>;
|
|
20
|
+
readonly change_component: ({ ctx, inputs, state, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, []>) => Promise<JDDPageState>;
|
|
21
|
+
readonly randomize_args: ({ ctx, state, page, args: [component_index_str], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string]>) => Promise<JDDPageState>;
|
|
22
|
+
readonly add_table_row: ({ ctx, state, page, args: [arg_path, columns, type], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number, "header" | "row" | undefined]>) => Promise<JDDPageState>;
|
|
23
|
+
readonly add_table_column: ({ ctx, state, page, args: [arg_path], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
24
|
+
readonly remove_table_column: ({ state, args: [arg_path, column_index_to_remove], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
25
|
+
readonly remove_table_row: ({ state, args: [arg_path, row_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
26
|
+
readonly move_table_column_right: ({ state, page, args: [arg_path, column_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
27
|
+
readonly move_table_row_down: ({ state, page, args: [arg_path, row_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[], number]>) => JDDPageState;
|
|
28
|
+
readonly change_size: ({ state, inputs, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState>) => {
|
|
29
|
+
preview_size: string | undefined;
|
|
30
|
+
components: RawJDDocument;
|
|
31
|
+
messages?: string[];
|
|
32
|
+
};
|
|
33
|
+
readonly add_component: ({ ctx, state, inputs, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, []>) => Promise<JDDPageState>;
|
|
34
|
+
readonly remove_component: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
35
|
+
readonly move_component_up: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
36
|
+
readonly move_component_down: ({ state, args: [component_index], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [number]>) => Promise<JDDPageState>;
|
|
37
|
+
readonly remove_file: ({ state, args: [arg_path], }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState, [string[]]>) => Promise<JDDPageState>;
|
|
38
|
+
readonly replace_state: ({ ctx, state, inputs, page, }: import("@sealcode/sealgen").StatefulPageActionArgument<JDDPageState>) => Promise<{
|
|
39
|
+
preview_size: string | undefined;
|
|
40
|
+
components: {
|
|
41
|
+
component_name: string;
|
|
42
|
+
args: import("@sealcode/jdd").ExtractStructuredComponentArgumentsParsed<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>;
|
|
43
|
+
}[];
|
|
44
|
+
}>;
|
|
45
|
+
};
|
|
46
|
+
previewSizes: string[];
|
|
47
|
+
classes: string[];
|
|
48
|
+
registry: Registry;
|
|
49
|
+
makeJDDContext: (ctx: Context) => JDDContext;
|
|
50
|
+
html: (args: unknown) => string | Promise<string> | Readable | Promise<Readable>;
|
|
51
|
+
defaultHead: (...args: unknown[]) => string | Promise<string> | Readable | Promise<Readable>;
|
|
52
|
+
makeAssetURL: (asset: string) => string;
|
|
53
|
+
constructor(args: {
|
|
54
|
+
registry: Registry;
|
|
55
|
+
makeJDDContext: (ctx: Context) => JDDContext;
|
|
56
|
+
html: (args: unknown) => string | Promise<string> | Readable | Promise<Readable>;
|
|
57
|
+
defaultHead: (...args: unknown[]) => string | Promise<string> | Readable | Promise<Readable>;
|
|
58
|
+
makeAssetURL?: (asset: string) => string;
|
|
59
|
+
});
|
|
60
|
+
getRegistryComponents(): Record<string, Component<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>>;
|
|
61
|
+
getInitialState(ctx: Context): Promise<{
|
|
62
|
+
components: {
|
|
63
|
+
component_name: string;
|
|
64
|
+
args: import("@sealcode/jdd").ExtractStructuredComponentArgumentsParsed<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>;
|
|
65
|
+
}[];
|
|
66
|
+
}>;
|
|
67
|
+
wrapInLayout(ctx: Context, content: Templatable, state: JDDPageState): Templatable;
|
|
68
|
+
preprocessOverrides(_ctx: Context, state: JDDPageState, overrides: Record<string, unknown>): Promise<{}>;
|
|
69
|
+
abstract renderParameterButtons(_state: JDDPageState): FlatTemplatable;
|
|
70
|
+
renderComponentArgs<C extends Component>(ctx: Context, state: JDDPageState, component: C, args: Record<string, unknown>, index: number): FlatTemplatable;
|
|
71
|
+
renderComponentBlock(ctx: Context, state: JDDPageState, { component_name, args: component_args, }: {
|
|
72
|
+
component_name: string;
|
|
73
|
+
args: Record<string, unknown>;
|
|
74
|
+
}, component_index: number): import("tempstream/@types/stringify.js").Stringifiable;
|
|
75
|
+
serializeState(ctx: Context, state: JDDPageState, pretty?: boolean): Promise<string>;
|
|
76
|
+
deserializeState(ctx: Context, state_string: string): Promise<{
|
|
77
|
+
components: {
|
|
78
|
+
component_name: string;
|
|
79
|
+
args: import("@sealcode/jdd").ExtractStructuredComponentArgumentsParsed<Record<string, import("@sealcode/jdd").ComponentArgument<unknown, unknown, unknown>>>;
|
|
80
|
+
}[];
|
|
81
|
+
}>;
|
|
82
|
+
renderPreParameterButtons(_ctx: Context, _state: JDDPageState): FlatTemplatable | Promise<FlatTemplatable>;
|
|
83
|
+
renderMessages(_ctx: Context, state: JDDPageState): string;
|
|
84
|
+
render(ctx: Context, state: JDDPageState): Promise<string>;
|
|
85
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="533.333" height="533.333" fill="none" viewBox="0 0 16 16"><path fill="#1f2328" fill-rule="evenodd" d="M0 16h16V0H0Zm1.5-1.5v-2h3v2zm4.5 0v-13h8.5v13zm-1.5-13v2.52h-3V1.5Zm-3 4.02h3V7.5h-3zM1.5 9h3v2h-3z" clip-rule="evenodd"/><path fill="#1F2328" fill-rule="evenodd" d="M9.5 8.5V11H11V8.5h2.5V7H11V4.5H9.5V7H7v1.5z" clip-rule="evenodd" style="fill:#009e00;fill-opacity:1"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="533.333" height="533.333" fill="none" viewBox="0 0 16 16"><path fill="#1f2328" fill-rule="evenodd" d="M0 0h16v16H0Zm1.5 1.5V4h3V1.5Zm4.5 0V4h4V1.5Zm5.5 0V4h3V1.5Zm3 4h-13v9h13z" clip-rule="evenodd"/><path fill="#1F2328" fill-rule="evenodd" d="M7.5 9.5V7H9v2.5h2.5V11H9v2.5H7.5V11H5V9.5Z" clip-rule="evenodd" style="fill:#009e00;fill-opacity:1"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="533.333" height="533.333" fill="none" viewBox="0 0 16 16"><path fill="#1f2328" fill-rule="evenodd" d="M0 0h16v16H0Zm1.5 1.5V4h3V1.5Zm4.5 0V4h4V1.5Zm5.5 0V4h3V1.5Zm3 4h-13v9h13z" clip-rule="evenodd"/><path fill="#1F2328" fill-rule="evenodd" d="M4.485 9.891V7.693h1.32V9.89h2.198v1.32H5.804v2.199h-1.32v-2.2H2.287V9.892Z" clip-rule="evenodd" style="fill:#009e00;fill-opacity:1;stroke-width:.879573"/><g fill="#1F2328" fill-rule="evenodd" clip-rule="evenodd"><path d="M12.443 13.891v-2.198h1.32v2.198h2.198v1.32h-2.199v2.199h-1.32v-2.2z" style="fill:#009e00;fill-opacity:1;stroke-width:.879573" transform="translate(-3.263 -4)"/><path d="M16.759 13.899V11.7h-1.32v2.199h-2.198v1.32h2.199v2.198h1.319v-2.199Z" style="fill:#009e00;fill-opacity:1;stroke-width:.879573" transform="translate(-3.263 -4)"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="566.597" height="533.333" fill="none" viewBox="0 0 16.998 16"><path fill="#1f2328" fill-rule="evenodd" d="M16 12v4H0V0h16v4h-1.5V1.5H11v13h3.5V12Zm-14.5.5v2h3v-2zm4.5 0v2h3.5v-2zm3.5-8.48V1.5H6v2.52zm-5 0V1.5h-3v2.52zm0 1.5h-3V7.5h3zM4.5 9h-3v2h3zM6 9v2h3.5V9Zm0-1.5h3.5V5.52H6z" clip-rule="evenodd"/><path fill="#1F2328" fill-rule="evenodd" d="m14.718 9.06 1.22 1.22 1.06-1.06L15.778 8l1.22-1.22-1.06-1.06-1.22 1.22-1.22-1.22-1.06 1.06L13.656 8l-1.22 1.22 1.06 1.06z" clip-rule="evenodd" style="fill:red;fill-opacity:1"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="533.333" height="533.337" fill="none" viewBox="0 0 16 16"><path fill="#1f2328" fill-rule="evenodd" d="M16 0H0v16h4v-1.5H1.5V9h13v5.5H12V16h4zM1.5 4V1.5h3V4ZM6 4V1.5h4V4Zm5.5 0V1.5h3V4Zm0 1.5h3v2h-3Zm-7 2h-3v-2h3zm1.5 0v-2h4v2z" clip-rule="evenodd"/><path fill="#1F2328" fill-rule="evenodd" d="M8 14.78 9.22 16l1.06-1.06-1.22-1.22 1.22-1.22-1.06-1.06L8 12.66l-1.22-1.22-1.06 1.06 1.22 1.22-1.22 1.22L6.78 16Z" clip-rule="evenodd" style="fill:red;fill-opacity:1"/></svg>
|