@crediblemark/build 0.25.17 → 0.25.19

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.
@@ -12229,7 +12229,7 @@ var AutoFrame_default = AutoFrame;
12229
12229
 
12230
12230
  // css-module:/media/rasyiqi/PROJECT/credibuild-project/credbuild/components/CredBuild/components/Preview/styles.module.css#css-module
12231
12231
  init_react_import();
12232
- var styles_module_default21 = { "CredBuildPreview": "_CredBuildPreview_1z08a_1", "CredBuildPreview-frame": "_CredBuildPreview-frame_1z08a_6" };
12232
+ var styles_module_default21 = { "CredBuildPreview": "_CredBuildPreview_17c6o_1", "CredBuildPreview-frame": "_CredBuildPreview-frame_17c6o_6", "CredBuildPreview-htmlEditor": "_CredBuildPreview-htmlEditor_17c6o_12", "CredBuildPreview-htmlTextarea": "_CredBuildPreview-htmlTextarea_17c6o_23" };
12233
12233
 
12234
12234
  // components/CredBuild/components/Preview/index.tsx
12235
12235
  init_lib();
@@ -12268,7 +12268,14 @@ var HtmlModeRender = ({
12268
12268
  const body = document.body;
12269
12269
  // calculate content height safely, avoiding clientHeight/viewport height which prevents shrinking
12270
12270
  const height = Math.max(body.scrollHeight, body.offsetHeight);
12271
- window.parent.postMessage({ type: 'resize-iframe', id: '${id}', height: height }, '*');
12271
+ try {
12272
+ window.parent.postMessage({ type: 'resize-iframe', id: '${id}', height: height }, '*');
12273
+ if (window.top && window.top !== window.parent) {
12274
+ window.top.postMessage({ type: 'resize-iframe', id: '${id}', height: height }, '*');
12275
+ }
12276
+ } catch (e) {
12277
+ // Ignore
12278
+ }
12272
12279
  }
12273
12280
  window.addEventListener('load', sendHeight);
12274
12281
  window.addEventListener('resize', sendHeight);
@@ -12629,58 +12636,22 @@ var Preview = ({ id = "credbuild-preview" }) => {
12629
12636
  id,
12630
12637
  "data-credbuild-preview": true,
12631
12638
  style: { height: "100%", display: "flex", flexDirection: "column" },
12632
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { style: {
12633
- display: "flex",
12634
- flexDirection: "column",
12635
- flex: 1,
12636
- background: "#020617",
12637
- position: "relative"
12638
- }, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { style: {
12639
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: getClassName30("htmlEditor"), children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { style: {
12639
12640
  display: "flex",
12640
12641
  flex: 1,
12641
12642
  position: "relative",
12642
12643
  overflow: "hidden"
12643
- }, children: [
12644
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { style: {
12645
- width: 45,
12646
- background: "#0b0f19",
12647
- borderRight: "1px solid #1e293b",
12648
- display: "flex",
12649
- flexDirection: "column",
12650
- alignItems: "flex-end",
12651
- padding: "16px 8px 16px 0",
12652
- fontFamily: "Menlo, Monaco, Consolas, monospace",
12653
- fontSize: 12,
12654
- color: "#475569",
12655
- userSelect: "none",
12656
- lineHeight: 1.6
12657
- }, children: Array.from({ length: Math.max(localCode.split("\n").length, 25) }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { children: i + 1 }, i)) }),
12658
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12659
- "textarea",
12660
- {
12661
- value: localCode,
12662
- onChange: (e) => setLocalCode(e.target.value),
12663
- onBlur: handleSaveOnBlur,
12664
- placeholder: "<!-- Tempel kode HTML/Tailwind di sini -->\n<section class='bg-zinc-900 text-white p-12'>\n <h1 class='text-3xl font-bold'>Hello World</h1>\n</section>",
12665
- spellCheck: false,
12666
- style: {
12667
- flex: 1,
12668
- background: "transparent",
12669
- border: "none",
12670
- outline: "none",
12671
- color: "#e2e8f0",
12672
- fontFamily: "Menlo, Monaco, Consolas, 'Fira Code', monospace",
12673
- fontSize: 13,
12674
- lineHeight: 1.6,
12675
- padding: "16px 20px",
12676
- resize: "none",
12677
- height: "100%",
12678
- width: "100%",
12679
- overflowY: "auto"
12680
- }
12681
- }
12682
- )
12683
- ] }) })
12644
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
12645
+ "textarea",
12646
+ {
12647
+ value: localCode,
12648
+ onChange: (e) => setLocalCode(e.target.value),
12649
+ onBlur: handleSaveOnBlur,
12650
+ placeholder: "<!-- Tempel kode HTML/Tailwind di sini -->\n<section class='bg-zinc-900 text-white p-12'>\n <h1 class='text-3xl font-bold'>Hello World</h1>\n</section>",
12651
+ spellCheck: false,
12652
+ className: getClassName30("htmlTextarea")
12653
+ }
12654
+ ) }) })
12684
12655
  }
12685
12656
  );
12686
12657
  }
@@ -15091,6 +15062,10 @@ var Canvas = () => {
15091
15062
  root: s.state.data.root
15092
15063
  }))
15093
15064
  );
15065
+ const rootProps = root?.props || root;
15066
+ const isHtmlMode = rootProps?.mode === "html";
15067
+ const htmlViewMode = rootProps?.htmlViewMode || (rootProps?.htmlCode ? "preview" : "code");
15068
+ const isHtmlCodeEditActive = isHtmlMode && htmlViewMode === "code";
15094
15069
  const isNonFullWidth = viewports.current.width !== "100%";
15095
15070
  const shouldApplyViewport = true;
15096
15071
  const [showTransition, setShowTransition] = (0, import_react97.useState)(false);
@@ -15175,6 +15150,21 @@ var Canvas = () => {
15175
15150
  zoomConfig.rootHeight,
15176
15151
  frameRef
15177
15152
  ]);
15153
+ (0, import_react97.useEffect)(() => {
15154
+ const handleMessage = (event) => {
15155
+ if (event.data && event.data.type === "resize-iframe") {
15156
+ const newRootHeight = event.data.height;
15157
+ if (zoomConfig.rootHeight !== newRootHeight) {
15158
+ setZoomConfig({
15159
+ ...zoomConfig,
15160
+ rootHeight: newRootHeight
15161
+ });
15162
+ }
15163
+ }
15164
+ };
15165
+ window.addEventListener("message", handleMessage);
15166
+ return () => window.removeEventListener("message", handleMessage);
15167
+ }, [zoomConfig, setZoomConfig]);
15178
15168
  (0, import_react97.useEffect)(() => {
15179
15169
  if (ZOOM_ON_CHANGE) {
15180
15170
  resetAutoZoom();
@@ -15261,6 +15251,7 @@ var Canvas = () => {
15261
15251
  showLoader,
15262
15252
  fullScreen: _experimentalFullScreenCanvas
15263
15253
  }),
15254
+ style: isHtmlCodeEditActive ? { overflow: "hidden" } : void 0,
15264
15255
  onClick: (e) => {
15265
15256
  const el = e.target;
15266
15257
  if (!el.hasAttribute("data-credbuild-component") && !el.hasAttribute("data-credbuild-dropzone")) {
@@ -15271,30 +15262,41 @@ var Canvas = () => {
15271
15262
  });
15272
15263
  }
15273
15264
  },
15274
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: getClassName37("inner"), ref: frameRef, children: [
15275
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
15276
- "div",
15277
- {
15278
- className: getClassName37("root"),
15279
- style: {
15280
- width: viewports.current.width || "100%",
15281
- height: !zoomConfig.rootHeight || isNaN(zoomConfig.rootHeight) ? "100%" : zoomConfig.rootHeight,
15282
- minHeight: "100%",
15283
- transform: `scale(${zoomConfig.zoom})`,
15284
- transition: showTransition ? `width ${TRANSITION_DURATION}ms ease-out, height ${TRANSITION_DURATION}ms ease-out, transform ${TRANSITION_DURATION}ms ease-out` : "",
15285
- overflow: isNonFullWidth ? void 0 : "auto"
15286
- },
15287
- suppressHydrationWarning: true,
15288
- id: "credbuild-canvas-root",
15289
- onTransitionEnd: () => {
15290
- setShowTransition(false);
15291
- isResizingRef.current = false;
15292
- },
15293
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Preview, {}) })
15294
- }
15295
- ),
15296
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: getClassName37("loader"), children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Loader, { size: 24 }) })
15297
- ] })
15265
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
15266
+ "div",
15267
+ {
15268
+ className: getClassName37("inner"),
15269
+ ref: frameRef,
15270
+ style: {
15271
+ minHeight: "100%",
15272
+ height: isHtmlCodeEditActive ? "100%" : !zoomConfig.rootHeight || isNaN(zoomConfig.rootHeight) ? "100%" : `${zoomConfig.rootHeight * zoomConfig.zoom}px`
15273
+ },
15274
+ children: [
15275
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
15276
+ "div",
15277
+ {
15278
+ className: getClassName37("root"),
15279
+ style: {
15280
+ width: isHtmlCodeEditActive ? "100%" : viewports.current.width || "100%",
15281
+ height: isHtmlCodeEditActive ? "100%" : !zoomConfig.rootHeight || isNaN(zoomConfig.rootHeight) ? "100%" : zoomConfig.rootHeight,
15282
+ minHeight: "100%",
15283
+ transform: isHtmlCodeEditActive ? "none" : `scale(${zoomConfig.zoom})`,
15284
+ transition: showTransition ? `width ${TRANSITION_DURATION}ms ease-out, height ${TRANSITION_DURATION}ms ease-out, transform ${TRANSITION_DURATION}ms ease-out` : "",
15285
+ overflow: isHtmlCodeEditActive ? "hidden" : isNonFullWidth ? void 0 : "auto"
15286
+ },
15287
+ suppressHydrationWarning: true,
15288
+ id: "credbuild-canvas-root",
15289
+ onTransitionEnd: () => {
15290
+ setShowTransition(false);
15291
+ isResizingRef.current = false;
15292
+ },
15293
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Preview, {}) })
15294
+ }
15295
+ ),
15296
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: getClassName37("loader"), children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Loader, { size: 24 }) })
15297
+ ]
15298
+ }
15299
+ )
15298
15300
  }
15299
15301
  );
15300
15302
  };
@@ -15698,30 +15700,36 @@ var import_jsx_runtime99 = require("react/jsx-runtime");
15698
15700
  var getClassName44 = get_class_name_factory_default("CodePanel", styles_module_default36);
15699
15701
  var CodePanel = () => {
15700
15702
  const [copied, setCopied] = (0, import_react101.useState)(false);
15701
- const [promptType, setPromptType] = (0, import_react101.useState)("with-header");
15703
+ const [topic, setTopic] = (0, import_react101.useState)("");
15704
+ const [promptType, setPromptType] = (0, import_react101.useState)("header-footer");
15702
15705
  const dispatch = useAppStore((s) => s.dispatch);
15703
15706
  const root = useAppStore((s) => s.state.data.root);
15704
15707
  const rootProps = root?.props || root;
15705
15708
  const currentMode = rootProps?.mode || "blocks";
15706
- const aiPromptWithHeader = `Buatkan desain landing page lengkap dan premium dengan pendekatan mobile-first, modern, rapi, dan compact (padat & elegan) menggunakan HTML murni dan utilitas kelas Tailwind CSS. Halaman harus memuat struktur lengkap seperti Header/Navigation, Hero Section, Features/Layanan, Testimoni, Call-to-Action (CTA), dan Footer.
15707
-
15708
- Ketentuan penulisan kode:
15709
- 1. STRUKTUR BERSIH: Gunakan elemen semantik HTML5 seperti <section>, <header>, atau <div> sebagai wrapper utama per seksi. JANGAN sertakan tag <html>, <body>, <head>, atau <script>.
15710
- 2. MOBILE-FIRST & RESPONSIF: Desain harus sepenuhnya responsif. Mulai dari layout ponsel (default), lalu gunakan breakpoint (sm:, md:, lg:, xl:) secara terstruktur untuk layar yang lebih besar.
15711
- 3. ESTETIKA MODERN & PREMIUM: Gunakan skema warna harmonis (misal: warna gelap bernuansa glassmorphism, gradasi halus, border tipis semi-transparan, efek hover mikro interaktif).
15712
- 4. COMPACT & EFISIEN: Hindari padding/margin berlebih yang membuat halaman kosong melompong. Pastikan konten padat, terbaca dengan baik, dan memiliki rasio grid/flexbox yang rapi.
15713
- 5. BEBAS JAVASCRIPT: Seluruh interaktivitas dasar (seperti hover, focus, state) harus ditangani murni menggunakan utilitas kelas CSS Tailwind.`;
15714
- const aiPromptNoHeader = `Buatkan desain landing page lengkap dan premium TANPA bagian Header/Navigation dengan pendekatan mobile-first, modern, rapi, dan compact (padat & elegan) menggunakan HTML murni dan utilitas kelas Tailwind CSS. Halaman harus memuat struktur lengkap seperti Hero Section, Features/Layanan, Testimoni, Call-to-Action (CTA), dan Footer (tanpa memuat menu navigasi atau header di bagian atas).
15709
+ const generatePrompt = (variant, landingPageTopic) => {
15710
+ const topicDesc = landingPageTopic.trim() ? `untuk "${landingPageTopic.trim()}"` : "lengkap dan premium";
15711
+ let structureRequirements = "";
15712
+ if (variant === "header-footer") {
15713
+ structureRequirements = "1. STRUKTUR LENGKAP: Halaman HARUS memuat seluruh bagian berikut secara lengkap: Header/Navigation menu di bagian paling atas, Hero Section, Features/Layanan, Testimoni, Call-to-Action (CTA), dan Footer di bagian paling bawah.";
15714
+ } else if (variant === "header-no-footer") {
15715
+ structureRequirements = "1. DENGAN HEADER & TANPA FOOTER: Halaman HARUS memuat Header/Navigation menu di bagian paling atas, Hero Section, Features/Layanan, Testimoni, dan Call-to-Action (CTA). Namun, pastikan sama sekali TIDAK ada bagian Footer di bagian bawah halaman.";
15716
+ } else if (variant === "no-header-footer") {
15717
+ structureRequirements = "1. TANPA HEADER & DENGAN FOOTER: Halaman HARUS memuat Hero Section, Features/Layanan, Testimoni, Call-to-Action (CTA), dan Footer di bagian paling bawah. Namun, pastikan sama sekali TIDAK ada bagian Header/Navigation/Navbar di bagian atas halaman.";
15718
+ } else {
15719
+ structureRequirements = "1. TANPA HEADER & TANPA FOOTER: Halaman HARUS memuat Hero Section, Features/Layanan, Testimoni, dan Call-to-Action (CTA). Pastikan sama sekali TIDAK ada bagian Header/Navigation/Navbar di bagian atas, dan TIDAK ada bagian Footer di bagian bawah halaman.";
15720
+ }
15721
+ return `Buatkan desain landing page ${topicDesc} dengan pendekatan mobile-first, modern, rapi, dan compact (padat & elegan) menggunakan HTML murni dan utilitas kelas Tailwind CSS.
15715
15722
 
15716
15723
  Ketentuan penulisan kode:
15717
- 1. STRUKTUR BERSIH: Gunakan elemen semantik HTML5 seperti <section>, <header>, atau <div> sebagai wrapper utama per seksi. JANGAN sertakan tag <html>, <body>, <head>, atau <script>.
15718
- 2. TANPA HEADER: Pastikan sama sekali tidak ada bagian Header/Navbar/Navigation menu di bagian atas halaman. Desain harus langsung dimulai dengan Hero Section yang menarik dan berdampak tinggi.
15724
+ ${structureRequirements}
15725
+ 2. STRUKTUR BERSIH: Gunakan elemen semantik HTML5 seperti <section>, <header>, atau <div> sebagai wrapper utama per seksi. JANGAN sertakan tag <html>, <body>, <head>, atau <script>.
15719
15726
  3. MOBILE-FIRST & RESPONSIF: Desain harus sepenuhnya responsif. Mulai dari layout ponsel (default), lalu gunakan breakpoint (sm:, md:, lg:, xl:) secara terstruktur untuk layar yang lebih besar.
15720
15727
  4. ESTETIKA MODERN & PREMIUM: Gunakan skema warna harmonis (misal: warna gelap bernuansa glassmorphism, gradasi halus, border tipis semi-transparan, efek hover mikro interaktif).
15721
15728
  5. COMPACT & EFISIEN: Hindari padding/margin berlebih yang membuat halaman kosong melompong. Pastikan konten padat, terbaca dengan baik, dan memiliki rasio grid/flexbox yang rapi.
15722
15729
  6. BEBAS JAVASCRIPT: Seluruh interaktivitas dasar (seperti hover, focus, state) harus ditangani murni menggunakan utilitas kelas CSS Tailwind.`;
15730
+ };
15723
15731
  const handleCopyPrompt = () => {
15724
- const selectedPrompt = promptType === "with-header" ? aiPromptWithHeader : aiPromptNoHeader;
15732
+ const selectedPrompt = generatePrompt(promptType, topic);
15725
15733
  navigator.clipboard.writeText(selectedPrompt);
15726
15734
  setCopied(true);
15727
15735
  setTimeout(() => setCopied(false), 2e3);
@@ -15827,37 +15835,94 @@ Ketentuan penulisan kode:
15827
15835
  }
15828
15836
  )
15829
15837
  ] }),
15830
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("optionsSection"), style: { marginBottom: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: getClassName44("radioGroup"), children: [
15831
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("label", { className: getClassName44("radioLabel"), children: [
15832
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
15833
- "input",
15834
- {
15835
- type: "radio",
15836
- name: "promptType",
15837
- value: "with-header",
15838
- checked: promptType === "with-header",
15839
- onChange: () => setPromptType("with-header"),
15840
- className: getClassName44("radioInput")
15841
- }
15842
- ),
15843
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: "Dengan Header" })
15844
- ] }),
15845
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("label", { className: getClassName44("radioLabel"), children: [
15846
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
15847
- "input",
15848
- {
15849
- type: "radio",
15850
- name: "promptType",
15851
- value: "no-header",
15852
- checked: promptType === "no-header",
15853
- onChange: () => setPromptType("no-header"),
15854
- className: getClassName44("radioInput")
15855
- }
15856
- ),
15857
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: "Tanpa Header" })
15838
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { style: { marginBottom: 12 }, children: [
15839
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("optionTitle"), style: { marginBottom: 6 }, children: "Topik / Jenis Landing Page" }),
15840
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
15841
+ "input",
15842
+ {
15843
+ type: "text",
15844
+ value: topic,
15845
+ onChange: (e) => setTopic(e.target.value),
15846
+ placeholder: "Contoh: Klinik Gigi, SaaS AI, Agensi Desain...",
15847
+ style: {
15848
+ boxSizing: "border-box",
15849
+ width: "100%",
15850
+ padding: "8px 10px",
15851
+ fontSize: "12px",
15852
+ borderRadius: "5px",
15853
+ border: "1px solid var(--cb-border)",
15854
+ backgroundColor: "var(--cb-bg-base)",
15855
+ color: "var(--cb-silver)",
15856
+ outline: "none",
15857
+ transition: "border-color 0.2s"
15858
+ },
15859
+ onFocus: (e) => e.target.style.borderColor = "var(--cb-gold)",
15860
+ onBlur: (e) => e.target.style.borderColor = "var(--cb-border)"
15861
+ }
15862
+ )
15863
+ ] }),
15864
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: getClassName44("optionsSection"), style: { marginBottom: 12 }, children: [
15865
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("optionTitle"), style: { marginBottom: 6 }, children: "Varian Struktur Template" }),
15866
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: getClassName44("radioGroup"), children: [
15867
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("label", { className: getClassName44("radioLabel"), children: [
15868
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
15869
+ "input",
15870
+ {
15871
+ type: "radio",
15872
+ name: "promptType",
15873
+ value: "header-footer",
15874
+ checked: promptType === "header-footer",
15875
+ onChange: () => setPromptType("header-footer"),
15876
+ className: getClassName44("radioInput")
15877
+ }
15878
+ ),
15879
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: "Dengan Header & Footer" })
15880
+ ] }),
15881
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("label", { className: getClassName44("radioLabel"), children: [
15882
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
15883
+ "input",
15884
+ {
15885
+ type: "radio",
15886
+ name: "promptType",
15887
+ value: "header-no-footer",
15888
+ checked: promptType === "header-no-footer",
15889
+ onChange: () => setPromptType("header-no-footer"),
15890
+ className: getClassName44("radioInput")
15891
+ }
15892
+ ),
15893
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: "Dengan Header, Tanpa Footer" })
15894
+ ] }),
15895
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("label", { className: getClassName44("radioLabel"), children: [
15896
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
15897
+ "input",
15898
+ {
15899
+ type: "radio",
15900
+ name: "promptType",
15901
+ value: "no-header-footer",
15902
+ checked: promptType === "no-header-footer",
15903
+ onChange: () => setPromptType("no-header-footer"),
15904
+ className: getClassName44("radioInput")
15905
+ }
15906
+ ),
15907
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: "Tanpa Header, Dengan Footer" })
15908
+ ] }),
15909
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("label", { className: getClassName44("radioLabel"), children: [
15910
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
15911
+ "input",
15912
+ {
15913
+ type: "radio",
15914
+ name: "promptType",
15915
+ value: "no-header-no-footer",
15916
+ checked: promptType === "no-header-no-footer",
15917
+ onChange: () => setPromptType("no-header-no-footer"),
15918
+ className: getClassName44("radioInput")
15919
+ }
15920
+ ),
15921
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: "Tanpa Keduanya" })
15922
+ ] })
15858
15923
  ] })
15859
- ] }) }),
15860
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("promptText"), children: promptType === "with-header" ? aiPromptWithHeader : aiPromptNoHeader })
15924
+ ] }),
15925
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: getClassName44("promptText"), style: { maxHeight: 110 }, children: generatePrompt(promptType, topic) })
15861
15926
  ] })
15862
15927
  ] });
15863
15928
  };
@@ -10,7 +10,7 @@ import {
10
10
  overrideKeys,
11
11
  useCredBuild,
12
12
  useGetCredBuild
13
- } from "./chunk-W3JRA22A.mjs";
13
+ } from "./chunk-5GWBGJC4.mjs";
14
14
  import {
15
15
  ColorPickerField,
16
16
  Drawer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crediblemark/build",
3
- "version": "0.25.17",
3
+ "version": "0.25.19",
4
4
  "description": "The open-source visual editor for React",
5
5
  "author": "Rasyiqi Crediblemark",
6
6
  "repository": {