From a364cc97a31c753c325105b13f0f71f685f90894 Mon Sep 17 00:00:00 2001 From: Kuba Orlik Date: Sat, 15 Aug 2026 16:06:02 +0200 Subject: [PATCH] Support for default values in jdd args --- package-lock.json | 46 +++++++++---------- package.json | 6 +-- .../autoscrolling-images.jdd.tsx | 6 +-- .../countdown/countdown.jdd.tsx | 2 +- .../faq-component/faq-component.jdd.tsx | 4 +- .../heading-with-echo.jdd.tsx | 6 +-- .../jdd-components/heading/heading.jdd.tsx | 8 ++-- .../icon-tiles-grid/icon-tiles-grid.jdd.tsx | 2 +- .../ordered-blocks/ordered-blocks.jdd.tsx | 2 +- .../split-view/split-view.jdd.tsx | 12 ++--- .../jdd-components/subtree/subtree.jdd.tsx | 18 ++++---- src/back/jdd-components/tekst/tekst.jdd.tsx | 8 ++-- src/back/jdd-context.ts | 2 +- 13 files changed, 61 insertions(+), 61 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6117c97..cfe24a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,8 @@ "@koa/router": "^12.0.1", "@sealcode/add-to-head": "^1.0.0", "@sealcode/file-manager": "^1.0.2", - "@sealcode/jdd": "^0.8.11", - "@sealcode/jdd-editor": "^0.2.36", + "@sealcode/jdd": "^0.8.13", + "@sealcode/jdd-editor": "^0.2.37", "@sealcode/monaco-wrapper": "^0.0.12", "@sealcode/sealgen": "^0.19.23", "@sealcode/show-first-row": "^0.1.0", @@ -39,7 +39,7 @@ "js-convert-case": "^4.2.0", "koa-mount": "^4.2.0", "koa-qs": "^3.0.0", - "koa-responsive-image-router": "^0.2.40", + "koa-responsive-image-router": "^0.2.41", "koa-static": "^5.0.0", "locreq": "^3.0.0", "meilisearch": "^0.41.0", @@ -1361,9 +1361,9 @@ } }, "node_modules/@sealcode/jdd": { - "version": "0.8.11", - "resolved": "https://registry.npmjs.org/@sealcode/jdd/-/jdd-0.8.11.tgz", - "integrity": "sha512-2OVNyxoKt/C1k+of6+t+tYrZUrf7DhrVf7nlYTSZ3+e4JMtZQl5dO3fJdPy5MasjkLcDTdQ0I9aHVeBK2cGr8w==", + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/@sealcode/jdd/-/jdd-0.8.13.tgz", + "integrity": "sha512-5vzKIk0Z/wpayvTfpoB5e6TI4cko99NuxjKUtQIpEam4lMXXgg8jD1++TK6JXrVakMjQmhW7Yg1EKz5kr+DTNQ==", "dependencies": { "@sealcode/file-manager": "^1.0.2", "@sealcode/ts-predicates": "^0.5.3", @@ -1384,12 +1384,12 @@ } }, "node_modules/@sealcode/jdd-editor": { - "version": "0.2.36", - "resolved": "https://registry.npmjs.org/@sealcode/jdd-editor/-/jdd-editor-0.2.36.tgz", - "integrity": "sha512-nr4xbV+0Y6/6XSKViP6CZn/+UJUU+nUcodn8izRyJPq9s8SS5jcnVgT7jwKMGL/c3Ahcso46VQV1djcZJG07Zw==", + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/@sealcode/jdd-editor/-/jdd-editor-0.2.37.tgz", + "integrity": "sha512-H2Qo4pQnLJkh6yfs18/6dw/DQxjat4Dxj+6R2gjKqGa8+eEj26DTuR/QYbsEIlbAg7HI3uEMUyw/YoqaKSXDaQ==", "dependencies": { "@koa/router": "^13.1.0", - "@sealcode/jdd": "^0.8.11", + "@sealcode/jdd": "^0.8.13", "@sealcode/monaco-wrapper": "^0.0.12", "@sealcode/sealcodemirror": "^5.70.0-beta6", "@sealcode/sealgen": "^0.19.23", @@ -8127,9 +8127,9 @@ } }, "node_modules/koa-responsive-image-router": { - "version": "0.2.40", - "resolved": "https://registry.npmjs.org/koa-responsive-image-router/-/koa-responsive-image-router-0.2.40.tgz", - "integrity": "sha512-N9TFYGXc8904bzxgKWb7+ZUmu/lpIlfAyxZaODGS/RmQPzOAqfUS0MVuS2L+HetiGMVIPtEaBE4qY/9+Eb2pYQ==", + "version": "0.2.41", + "resolved": "https://registry.npmjs.org/koa-responsive-image-router/-/koa-responsive-image-router-0.2.41.tgz", + "integrity": "sha512-nRwiVtJcHludR4cUrYdqjZQruVcpnOtNRmxW7pQiZrD9B4tQwYYXNjvPP12FLoZP4FyRmY7Acmyvqhj4HG+sDw==", "dependencies": { "@koa/router": "^10.0.0", "@sealcode/ts-predicates": "^0.5.3", @@ -16011,9 +16011,9 @@ } }, "@sealcode/jdd": { - "version": "0.8.11", - "resolved": "https://registry.npmjs.org/@sealcode/jdd/-/jdd-0.8.11.tgz", - "integrity": "sha512-2OVNyxoKt/C1k+of6+t+tYrZUrf7DhrVf7nlYTSZ3+e4JMtZQl5dO3fJdPy5MasjkLcDTdQ0I9aHVeBK2cGr8w==", + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/@sealcode/jdd/-/jdd-0.8.13.tgz", + "integrity": "sha512-5vzKIk0Z/wpayvTfpoB5e6TI4cko99NuxjKUtQIpEam4lMXXgg8jD1++TK6JXrVakMjQmhW7Yg1EKz5kr+DTNQ==", "requires": { "@sealcode/file-manager": "^1.0.2", "@sealcode/ts-predicates": "^0.5.3", @@ -16043,12 +16043,12 @@ } }, "@sealcode/jdd-editor": { - "version": "0.2.36", - "resolved": "https://registry.npmjs.org/@sealcode/jdd-editor/-/jdd-editor-0.2.36.tgz", - "integrity": "sha512-nr4xbV+0Y6/6XSKViP6CZn/+UJUU+nUcodn8izRyJPq9s8SS5jcnVgT7jwKMGL/c3Ahcso46VQV1djcZJG07Zw==", + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/@sealcode/jdd-editor/-/jdd-editor-0.2.37.tgz", + "integrity": "sha512-H2Qo4pQnLJkh6yfs18/6dw/DQxjat4Dxj+6R2gjKqGa8+eEj26DTuR/QYbsEIlbAg7HI3uEMUyw/YoqaKSXDaQ==", "requires": { "@koa/router": "^13.1.0", - "@sealcode/jdd": "^0.8.11", + "@sealcode/jdd": "^0.8.13", "@sealcode/monaco-wrapper": "^0.0.12", "@sealcode/sealcodemirror": "^5.70.0-beta6", "@sealcode/sealgen": "^0.19.23", @@ -21072,9 +21072,9 @@ } }, "koa-responsive-image-router": { - "version": "0.2.40", - "resolved": "https://registry.npmjs.org/koa-responsive-image-router/-/koa-responsive-image-router-0.2.40.tgz", - "integrity": "sha512-N9TFYGXc8904bzxgKWb7+ZUmu/lpIlfAyxZaODGS/RmQPzOAqfUS0MVuS2L+HetiGMVIPtEaBE4qY/9+Eb2pYQ==", + "version": "0.2.41", + "resolved": "https://registry.npmjs.org/koa-responsive-image-router/-/koa-responsive-image-router-0.2.41.tgz", + "integrity": "sha512-nRwiVtJcHludR4cUrYdqjZQruVcpnOtNRmxW7pQiZrD9B4tQwYYXNjvPP12FLoZP4FyRmY7Acmyvqhj4HG+sDw==", "requires": { "@koa/router": "^10.0.0", "@sealcode/ts-predicates": "^0.5.3", diff --git a/package.json b/package.json index 97533b3..a1a3d54 100644 --- a/package.json +++ b/package.json @@ -97,8 +97,8 @@ "@koa/router": "^12.0.1", "@sealcode/add-to-head": "^1.0.0", "@sealcode/file-manager": "^1.0.2", - "@sealcode/jdd": "^0.8.11", - "@sealcode/jdd-editor": "^0.2.36", + "@sealcode/jdd": "^0.8.13", + "@sealcode/jdd-editor": "^0.2.37", "@sealcode/monaco-wrapper": "^0.0.12", "@sealcode/sealgen": "^0.19.23", "@sealcode/show-first-row": "^0.1.0", @@ -122,7 +122,7 @@ "js-convert-case": "^4.2.0", "koa-mount": "^4.2.0", "koa-qs": "^3.0.0", - "koa-responsive-image-router": "^0.2.40", + "koa-responsive-image-router": "^0.2.41", "koa-static": "^5.0.0", "locreq": "^3.0.0", "meilisearch": "^0.41.0", diff --git a/src/back/jdd-components/autoscrolling-images/autoscrolling-images.jdd.tsx b/src/back/jdd-components/autoscrolling-images/autoscrolling-images.jdd.tsx index 33e24f3..e2a3f02 100644 --- a/src/back/jdd-components/autoscrolling-images/autoscrolling-images.jdd.tsx +++ b/src/back/jdd-components/autoscrolling-images/autoscrolling-images.jdd.tsx @@ -24,14 +24,14 @@ images.getExampleCount = () => { const component_arguments = { title: new ComponentArguments.ShortText(), - imagesPerPage: new ComponentArguments.ShortText().setExampleValues(["6"]), + imagesPerPage: new ComponentArguments.ShortText().setDefaultValue("6"), background_mode: new ComponentArguments.Enum([ "transparent", "white", "white-square", ]), - speed: new ComponentArguments.ShortText().setExampleValues(["5"]), - desktop_interval: new ComponentArguments.ShortText().setExampleValues(["5"]), + speed: new ComponentArguments.ShortText().setDefaultValue("5"), + desktop_interval: new ComponentArguments.ShortText().setDefaultValue("5"), endless: new ComponentArguments.Enum(["true", "false"]), images, } as const; diff --git a/src/back/jdd-components/countdown/countdown.jdd.tsx b/src/back/jdd-components/countdown/countdown.jdd.tsx index ef5609c..5716b7c 100644 --- a/src/back/jdd-components/countdown/countdown.jdd.tsx +++ b/src/back/jdd-components/countdown/countdown.jdd.tsx @@ -8,7 +8,7 @@ import { Component, ComponentArguments } from "@sealcode/jdd"; import { calculateDifference } from "./difference.js"; const component_arguments = { - date: new ComponentArguments.ShortText().setExampleValues(["2025-08-05"]), + date: new ComponentArguments.ShortText().setDefaultValue("2028-08-05"), } as const; function renderBlock({ diff --git a/src/back/jdd-components/faq-component/faq-component.jdd.tsx b/src/back/jdd-components/faq-component/faq-component.jdd.tsx index 12940fa..7f11597 100644 --- a/src/back/jdd-components/faq-component/faq-component.jdd.tsx +++ b/src/back/jdd-components/faq-component/faq-component.jdd.tsx @@ -7,7 +7,9 @@ const component_arguments = { title: new ComponentArguments.ShortText(), content: new ComponentArguments.Structured({ text: new ComponentArguments.Markdown(), - color: new ComponentArguments.Enum(["normal", "accent"]), + color: new ComponentArguments.Enum(["normal", "accent"]).setDefaultValue( + "normal" + ), }), accordion_color: new ComponentArguments.Enum(["accent", "accent2"]), faq: new ComponentArguments.List( diff --git a/src/back/jdd-components/heading-with-echo/heading-with-echo.jdd.tsx b/src/back/jdd-components/heading-with-echo/heading-with-echo.jdd.tsx index f463287..60e6998 100644 --- a/src/back/jdd-components/heading-with-echo/heading-with-echo.jdd.tsx +++ b/src/back/jdd-components/heading-with-echo/heading-with-echo.jdd.tsx @@ -8,9 +8,9 @@ import { Component, ComponentArguments } from "@sealcode/jdd"; const component_arguments = { title: new ComponentArguments.ShortText(), - level: new ComponentArguments.Enum(["1", "2", "3", "4", "5", "6"]).setExampleValues([ - "2", - ]), + level: new ComponentArguments.Enum(["1", "2", "3", "4", "5", "6"]).setDefaultValue( + "2" + ), blur_backdrop: new ComponentArguments.Enum(["true", "false"]), font_family: new ComponentArguments.Enum([ "industrial", diff --git a/src/back/jdd-components/heading/heading.jdd.tsx b/src/back/jdd-components/heading/heading.jdd.tsx index b2ac846..93e3daa 100644 --- a/src/back/jdd-components/heading/heading.jdd.tsx +++ b/src/back/jdd-components/heading/heading.jdd.tsx @@ -10,16 +10,16 @@ const component_arguments = { "h4", "h5", "h6", - ]).setExampleValues(["h2"]), + ]).setDefaultValue("h2"), font_size: new ComponentArguments.Enum([ "tiny", "small", "medium", "large", "extra_large", - ]).setExampleValues(["medium"]), - color: new ComponentArguments.Enum(["normal", "accent1", "accent2"]).setExampleValues( - ["normal"] + ]).setDefaultValue("medium"), + color: new ComponentArguments.Enum(["normal", "accent1", "accent2"]).setDefaultValue( + "normal" ), title: new ComponentArguments.ShortText(), } as const; diff --git a/src/back/jdd-components/icon-tiles-grid/icon-tiles-grid.jdd.tsx b/src/back/jdd-components/icon-tiles-grid/icon-tiles-grid.jdd.tsx index d8356f7..c932a0c 100644 --- a/src/back/jdd-components/icon-tiles-grid/icon-tiles-grid.jdd.tsx +++ b/src/back/jdd-components/icon-tiles-grid/icon-tiles-grid.jdd.tsx @@ -13,7 +13,7 @@ const component_arguments = { icon: new Args.Enum(async () => [ "none", ...(await getAllIconNames()), - ]).setExampleValues(["none"]), + ]).setDefaultValue("none"), color: new Args.Enum(async () => getColorVariables().filter( (e) => !e.includes("text") && !e.includes("link") diff --git a/src/back/jdd-components/ordered-blocks/ordered-blocks.jdd.tsx b/src/back/jdd-components/ordered-blocks/ordered-blocks.jdd.tsx index c9cb49a..958d9eb 100644 --- a/src/back/jdd-components/ordered-blocks/ordered-blocks.jdd.tsx +++ b/src/back/jdd-components/ordered-blocks/ordered-blocks.jdd.tsx @@ -24,7 +24,7 @@ const component_arguments = { href: new ComponentArguments.ShortText(), }), header_mode: new ComponentArguments.Enum(["below", "above"]), - starting_index: new ComponentArguments.ShortText().setExampleValues(["1"]), + starting_index: new ComponentArguments.ShortText().setDefaultValue("1"), } as const; export class OrderedBlocks extends Component { diff --git a/src/back/jdd-components/split-view/split-view.jdd.tsx b/src/back/jdd-components/split-view/split-view.jdd.tsx index caee266..4aad610 100644 --- a/src/back/jdd-components/split-view/split-view.jdd.tsx +++ b/src/back/jdd-components/split-view/split-view.jdd.tsx @@ -7,14 +7,12 @@ import type { import { Component, ComponentArguments } from "@sealcode/jdd"; const component_arguments = { - bleed_left: new ComponentArguments.Enum(["none", "bleed", "screen"]).setExampleValues( - ["none"] + bleed_left: new ComponentArguments.Enum(["none", "bleed", "screen"]).setDefaultValue( + "none" + ), + bleed_right: new ComponentArguments.Enum(["none", "bleed", "screen"]).setDefaultValue( + "none" ), - bleed_right: new ComponentArguments.Enum([ - "none", - "bleed", - "screen", - ]).setExampleValues(["none"]), column_gap: new ComponentArguments.Boolean(), row_gap: new ComponentArguments.Boolean(), component1: new ComponentArguments.NestedComponent(), diff --git a/src/back/jdd-components/subtree/subtree.jdd.tsx b/src/back/jdd-components/subtree/subtree.jdd.tsx index a552d6c..28b3991 100644 --- a/src/back/jdd-components/subtree/subtree.jdd.tsx +++ b/src/back/jdd-components/subtree/subtree.jdd.tsx @@ -9,22 +9,22 @@ import { horizontalScroller } from "src/back/routes/common/horizontal-scroller/h import { getColorVariables, getFgColorVariable } from "src/back/colors.js"; const component_arguments = { - mode: new ComponentArguments.Enum(["column", "horizontal-scroller"]).setExampleValues( - ["column"] + mode: new ComponentArguments.Enum(["column", "horizontal-scroller"]).setDefaultValue( + "column" ), - scroller_mode_item_width: new ComponentArguments.Number().setExampleValues([320]), + scroller_mode_item_width: new ComponentArguments.Number().setDefaultValue(320), scroller_mode_arrows_color: new ComponentArguments.Enum( getColorVariables() - ).setExampleValues(["--color-brand-accent"]), - bleed: new ComponentArguments.Enum(["none", "bleed", "screen"]).setExampleValues([ - "none", - ]), + ).setDefaultValue("--color-brand-accent"), + bleed: new ComponentArguments.Enum(["none", "bleed", "screen"]).setDefaultValue( + "none" + ), gap: new ComponentArguments.Enum([ "none", "narrow", "medium", "wide", - ]).setExampleValues(["medium"]), + ]).setDefaultValue("medium"), padding_vertical: new ComponentArguments.Enum([ "none", "narrow", @@ -32,7 +32,7 @@ const component_arguments = { "wide", "extra-wide", "super-wide", - ]).setExampleValues(["medium"]), + ]).setDefaultValue("medium"), components: new ComponentArguments.List(new ComponentArguments.NestedComponent()), } as const; diff --git a/src/back/jdd-components/tekst/tekst.jdd.tsx b/src/back/jdd-components/tekst/tekst.jdd.tsx index 22ae793..3e16258 100644 --- a/src/back/jdd-components/tekst/tekst.jdd.tsx +++ b/src/back/jdd-components/tekst/tekst.jdd.tsx @@ -13,10 +13,10 @@ const component_arguments = { "normal", "accent", "accent2", - ]).setExampleValues(["normal"]), - size: new ComponentArguments.Enum(["small", "normal", "large"]).setExampleValues([ - "normal", - ]), + ]).setDefaultValue("normal"), + size: new ComponentArguments.Enum(["small", "normal", "large"]).setDefaultValue( + "normal" + ), content: new ComponentArguments.Markdown(), side_content: new ComponentArguments.NestedComponent(), } as const; diff --git a/src/back/jdd-context.ts b/src/back/jdd-context.ts index 70ba892..f4713b7 100644 --- a/src/back/jdd-context.ts +++ b/src/back/jdd-context.ts @@ -9,7 +9,7 @@ import { registry } from "./jdd-components/registry.js"; export function makeJDDContext(ctx: Context): JDDContext { return { language: "pl", - ...makeSimpleJDDContext(TheFileManager, registry), + ...makeSimpleJDDContext(TheFileManager, registry, "empty"), render_image: async (image: string | FilePointer | null, args) => { if (!image) { return "";