@chaibuilder/sdk 4.0.0-beta.36 → 4.0.0-beta.38
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/dist/{2SSKDMRQ-rk5vFzuv.js → 2SSKDMRQ-BUqDyvkj.js} +2 -2
- package/dist/{2SSKDMRQ-C3eivR9y.cjs → 2SSKDMRQ-Cmm80_70.cjs} +1 -1
- package/dist/{AP7HFJJL-2qWLZyWT.cjs → AP7HFJJL-C_bpDijV.cjs} +1 -1
- package/dist/{AP7HFJJL-BMK2jPSi.js → AP7HFJJL-Rixab3nP.js} +1 -1
- package/dist/{IconPicker-B-NfypT7.cjs → IconPicker-BCYCPK5M.cjs} +1 -1
- package/dist/{IconPicker-BzQ_r0nM.js → IconPicker-CQPu4qCk.js} +1 -1
- package/dist/{WDYDFRGG-Bfra_-3l.cjs → WDYDFRGG-Bcgsloma.cjs} +1 -1
- package/dist/{WDYDFRGG-1zoPbvu7.js → WDYDFRGG-Joc-MsHY.js} +2 -2
- package/dist/{active-in-another-tab-DkOOxZwb.cjs → active-in-another-tab-CIQzlzBZ.cjs} +1 -1
- package/dist/{active-in-another-tab-Zrq6x3L9.js → active-in-another-tab-CJp4HNlP.js} +4 -4
- package/dist/{add-new-language-page-Dsze4PNK.cjs → add-new-language-page-C9UowLOR.cjs} +1 -1
- package/dist/{add-new-language-page-alqCh26P.js → add-new-language-page-CSXgqNU5.js} +3 -3
- package/dist/{add-new-page-DtQYPRYM.cjs → add-new-page-C-0jOcj3.cjs} +1 -1
- package/dist/{add-new-page-HoFoI257.js → add-new-page-CmkKdxHb.js} +2 -2
- package/dist/{ai-panel-content-DZmolAf1.js → ai-panel-content-CEjBTXKP.js} +3 -3
- package/dist/{ai-panel-content-DcM2BBcL.cjs → ai-panel-content-CRLL24Tv.cjs} +1 -1
- package/dist/{ai-panel-default-lang-BmVJcDnH.cjs → ai-panel-default-lang-DCkOcBIN.cjs} +2 -2
- package/dist/{ai-panel-default-lang-Bv8Fms5X.js → ai-panel-default-lang-V2HKlFDJ.js} +4 -4
- package/dist/{ai-panel-other-lang-CCGz4Tql.js → ai-panel-other-lang-BACuqAOo.js} +3 -3
- package/dist/{ai-panel-other-lang-BGyP45jz.cjs → ai-panel-other-lang-Ccap1QP9.cjs} +1 -1
- package/dist/{ai-prompt-input-CJLPetgL.cjs → ai-prompt-input-BuP52voq.cjs} +1 -1
- package/dist/{ai-prompt-input-DO-zCSY_.js → ai-prompt-input-CrRc0Z7y.js} +1 -1
- package/dist/{ai-translation-prompt-DWj1gmKg.cjs → ai-translation-prompt-BGdITGTs.cjs} +1 -1
- package/dist/{ai-translation-prompt-DXhM0OnM.js → ai-translation-prompt-CV3Pphg9.js} +1 -1
- package/dist/{apply-binding-C0xIYKCN.cjs → apply-binding-BuwI_Uf5.cjs} +9 -9
- package/dist/{apply-binding-Bu5W9YFY.js → apply-binding-RQRSIe56.js} +91 -89
- package/dist/{change-password-modal-D4wVoj8S.js → change-password-modal-BjUNbNkW.js} +4 -4
- package/dist/{change-password-modal-BcJsR8sq.cjs → change-password-modal-j9tdsI_2.cjs} +1 -1
- package/dist/{code-editor-B87D8cT6.js → code-editor-ClZiD7lg.js} +1 -1
- package/dist/{code-editor-BTs3K_My.cjs → code-editor-gqdLU-rU.cjs} +1 -1
- package/dist/{continue-editing-in-this-client-BHbRZL8A.cjs → continue-editing-in-this-client-272pil3h.cjs} +1 -1
- package/dist/{continue-editing-in-this-client-CoZnDfgk.js → continue-editing-in-this-client-H3JLxXUK.js} +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.js +14 -14
- package/dist/{css-import-modal-DgXSYibP.cjs → css-import-modal-B2NoLsdZ.cjs} +1 -1
- package/dist/{css-import-modal-DIgM4T8d.js → css-import-modal-nJooZxLU.js} +1 -1
- package/dist/delete-page-Bz9yVuhF.cjs +1 -0
- package/dist/delete-page-D8PgbaSa.js +84 -0
- package/dist/{design-token-usage-DMSy2KGp.cjs → design-token-usage-BBLfxzzo.cjs} +1 -1
- package/dist/{design-token-usage-DSpw3Kqi.js → design-token-usage-nTgxy81G.js} +1 -1
- package/dist/{digital-asset-manager-B1KUqVJc.js → digital-asset-manager-BuIBKQrY.js} +3 -3
- package/dist/{digital-asset-manager-DYMrQhJ7.cjs → digital-asset-manager-D1DIZyiG.cjs} +1 -1
- package/dist/{duplicate-page-Cop50Nuj.cjs → duplicate-page-BSwuz2ak.cjs} +1 -1
- package/dist/{duplicate-page-Bt36erFD.js → duplicate-page-qJiGrwSD.js} +12 -12
- package/dist/{dynamic-page-selector-DxJ80Cpv.cjs → dynamic-page-selector-B945c22e.cjs} +1 -1
- package/dist/{dynamic-page-selector-jMUcjGtc.js → dynamic-page-selector-C59-N_34.js} +2 -2
- package/dist/{image-editor-CpUpmlCT.cjs → image-editor-Cfn290vp.cjs} +1 -1
- package/dist/{image-editor-CdNLsyhd.js → image-editor-JNxRYYiG.js} +1 -1
- package/dist/{index-DZheQdw-.js → index-7OSd9ssH.js} +4922 -4677
- package/dist/index-B3Ozovj5.cjs +5 -0
- package/dist/{index-K4yKMKbY.js → index-B6QztICX.js} +1882 -1745
- package/dist/index-P-2SvZA9.cjs +160 -0
- package/dist/{json-diff-viewer-BisiaC_I.cjs → json-diff-viewer-4PFpOzQv.cjs} +1 -1
- package/dist/{json-diff-viewer-CivVPp1k.js → json-diff-viewer-kPE5IxCR.js} +6 -6
- package/dist/{lang-panel-DoPGR_AP.cjs → lang-panel-B02TlFSc.cjs} +1 -1
- package/dist/{lang-panel-DejZsTqE.js → lang-panel-CjEa8M_P.js} +3 -3
- package/dist/{manage-design-tokens-Cdi3Ma4y.cjs → manage-design-tokens-B_-TrQgu.cjs} +1 -1
- package/dist/{manage-design-tokens-BxXReDdA.js → manage-design-tokens-QAUcjndy.js} +2 -2
- package/dist/{manage-design-tokens-modal-DyvSsIVv.js → manage-design-tokens-modal-BpkJx1YU.js} +2 -2
- package/dist/{manage-design-tokens-modal-Dr5lwyr_.cjs → manage-design-tokens-modal-Bug5H8PT.cjs} +1 -1
- package/dist/{mark-as-template-OqwiT2Zm.cjs → mark-as-template-C5EqDqmm.cjs} +1 -1
- package/dist/{mark-as-template-NPUbCfae.js → mark-as-template-DvKWMavv.js} +2 -2
- package/dist/{nested-path-selector-content-D6f2I80h.cjs → nested-path-selector-content-BHPOfftZ.cjs} +1 -1
- package/dist/{nested-path-selector-content-B4p9qltN.js → nested-path-selector-content-CoovvfzI.js} +1 -1
- package/dist/{no-language-page-content-BGlAr__k.cjs → no-language-page-content-BV4xcqPt.cjs} +1 -1
- package/dist/{no-language-page-content-DfdMEUqE.js → no-language-page-content-XewglkiB.js} +2 -2
- package/dist/{no-language-page-dialog-3obqd_9-.js → no-language-page-dialog-CSYcONeC.js} +2 -2
- package/dist/{no-language-page-dialog-d1oHBURV.cjs → no-language-page-dialog-DW2TmmL1.cjs} +1 -1
- package/dist/{page-creator-Il_h2vl4.cjs → page-creator-DTpgqMLr.cjs} +1 -1
- package/dist/{page-creator-4ElxexYm.js → page-creator-DsoCu0o8.js} +3 -3
- package/dist/{page-lock-CT54xDQL.js → page-lock-DN3eOz6T.js} +2 -2
- package/dist/{page-lock-s-pfopxQ.cjs → page-lock-sMf1iA9z.cjs} +1 -1
- package/dist/{page-locked-dialog-BORNeoXe.cjs → page-locked-dialog-DpUcmy3n.cjs} +1 -1
- package/dist/{page-locked-dialog-CBL04Nga.js → page-locked-dialog-Dz8MAwEM.js} +6 -6
- package/dist/{page-manager-new-Bp5QkZD4.cjs → page-manager-new-DzQb_sTK.cjs} +1 -1
- package/dist/{page-manager-new-DqCkZnWY.js → page-manager-new-TPjfGU8A.js} +29 -29
- package/dist/{page-manager-search-and-filter-CUEUB4bN.js → page-manager-search-and-filter-BJhl_ZxK.js} +2 -2
- package/dist/{page-manager-search-and-filter-BMPaoTAI.cjs → page-manager-search-and-filter-C8kgR5aV.cjs} +1 -1
- package/dist/{page-revisions-content-mU05KA_O.js → page-revisions-content-BRG1nseD.js} +10 -10
- package/dist/{page-revisions-content-1kklUJZV.cjs → page-revisions-content-_H3kwIfa.cjs} +1 -1
- package/dist/pages.cjs +1 -1
- package/dist/pages.js +15 -15
- package/dist/{publish-pages-content-CcV-xLsk.js → publish-pages-content-CLOtvebk.js} +23 -23
- package/dist/{publish-pages-content-CpdTUAds.cjs → publish-pages-content-DvbbUJj3.cjs} +1 -1
- package/dist/render.cjs +1 -1
- package/dist/render.js +124 -123
- package/dist/{rte-widget-modal-BCFhKLqA.cjs → rte-widget-modal-CHxO3TQR.cjs} +1 -1
- package/dist/{rte-widget-modal-DcXHaT-t.js → rte-widget-modal-iLgUdcBu.js} +1 -1
- package/dist/{save-to-lib-CXhaKw5V.js → save-to-lib-C4HuEFUH.js} +62 -62
- package/dist/{save-to-lib-Uw9LqY5V.cjs → save-to-lib-rk39Z0EK.cjs} +1 -1
- package/dist/sdk.css +1 -1
- package/dist/{selected-block-display-DZz78Kuo.cjs → selected-block-display-Cz7nEg_I.cjs} +1 -1
- package/dist/{selected-block-display-_r5ZoSSD.js → selected-block-display-UVPjfycv.js} +2 -2
- package/dist/{seo-panel-Cj8ky_W6.cjs → seo-panel-B8I2tcq2.cjs} +1 -1
- package/dist/{seo-panel-CMIMJh2W.js → seo-panel-DsTInOQg.js} +25 -25
- package/dist/{shared-json-ld-LWZfxt-V.js → shared-json-ld-BCga2JTe.js} +11 -11
- package/dist/{shared-json-ld-C28DLkns.cjs → shared-json-ld-DlSg_ICN.cjs} +1 -1
- package/dist/{slug-input-CQu9-5GT.cjs → slug-input-DHVDl_Dv.cjs} +1 -1
- package/dist/{slug-input-BCs8-IRf.js → slug-input-DcYoeQxL.js} +1 -1
- package/dist/{take-over-request-x9nLTelf.cjs → take-over-request-AoVTkMXG.cjs} +1 -1
- package/dist/{take-over-request-eNwLOB2Q.js → take-over-request-C58OJb7y.js} +5 -5
- package/dist/{translation-warning-modal-BfFfRg7q.cjs → translation-warning-modal-BxV_8mCE.cjs} +1 -1
- package/dist/{translation-warning-modal-KLjj1aXN.js → translation-warning-modal-DEW8JWRh.js} +1 -1
- package/dist/{unmark-as-template-YGONVpmY.js → unmark-as-template-B9EobxLL.js} +2 -2
- package/dist/{unmark-as-template-GdqfA8lm.cjs → unmark-as-template-ZgV3cNi0.cjs} +1 -1
- package/dist/{unpublish-page-CmwSkit5.cjs → unpublish-page-2AJbqM5f.cjs} +1 -1
- package/dist/{unpublish-page-D-A9A9db.js → unpublish-page-Cyx4HU4j.js} +2 -2
- package/dist/{unpublished-partials-modal-Bx35iokR.cjs → unpublished-partials-modal-D50Hxk6N.cjs} +1 -1
- package/dist/{unpublished-partials-modal-UTkegPmZ.js → unpublished-partials-modal-Do2HSNYq.js} +1 -1
- package/dist/{web-preview-D4_3nlN-.cjs → web-preview-C1Hj1GDt.cjs} +1 -1
- package/dist/{web-preview-CZVcFxwF.js → web-preview-DTp6O2zH.js} +1 -1
- package/package.json +1 -1
- package/dist/delete-page-DKBN4nL1.cjs +0 -1
- package/dist/delete-page-T2VWcbyP.js +0 -71
- package/dist/index-DvOWqGdC.cjs +0 -5
- package/dist/index-W4Ur56bi.cjs +0 -160
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as i, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { B as M, z as f } from "./register-chai-top-bar-D6GjnauV.js";
|
|
3
|
-
import { W as b, X as C, P as j } from "./index-
|
|
3
|
+
import { W as b, X as C, P as j } from "./index-7OSd9ssH.js";
|
|
4
4
|
import { MagnifyingGlassIcon as x } from "@radix-ui/react-icons";
|
|
5
5
|
import H from "fuse.js";
|
|
6
6
|
import { useState as g, useMemo as d } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./AP7HFJJL-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./AP7HFJJL-C_bpDijV.cjs"),t=require("./index-B3Ozovj5.cjs");var s=o=>{const[r,n]=e.createLocalStorage({prefix:"TanstackQueryDevtools"}),a=t.getPreferredColorScheme(),l=t.createMemo(()=>{const c=o.theme||r.theme_preference||e.THEME_PREFERENCE;return c!=="system"?c:a()});return t.createComponent(e.QueryDevtoolsContext.Provider,{value:o,get children(){return t.createComponent(e.PiPProvider,{localStore:r,setLocalStore:n,get children(){return t.createComponent(e.ThemeContext.Provider,{value:l,get children(){return t.createComponent(e.Devtools,{localStore:r,setLocalStore:n})}})}})}})},u=s;exports.default=u;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c, T as l, P as m, a as v, D as u, Q as i } from "./AP7HFJJL-
|
|
2
|
-
import {
|
|
1
|
+
import { c, T as l, P as m, a as v, D as u, Q as i } from "./AP7HFJJL-Rixab3nP.js";
|
|
2
|
+
import { t as d, v as f, w as e } from "./index-B6QztICX.js";
|
|
3
3
|
var h = (t) => {
|
|
4
4
|
const [r, o] = c({
|
|
5
5
|
prefix: "TanstackQueryDevtools"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("./register-chai-top-bar-DyW9GPzV.cjs"),t=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("./register-chai-top-bar-DyW9GPzV.cjs"),t=require("./index-P-2SvZA9.cjs"),s=require("./index-B3Ozovj5.cjs"),n=require("lucide-react"),l=require("react-i18next"),o=()=>{const r=s.useSendRealtimeEvent(),{setPageStatus:i}=s.usePageLockStatus(),{t:a}=l.useTranslation();return e.jsx(s.BlurContainer,{children:e.jsxs(t.Card,{className:"mx-auto w-full max-w-md",children:[e.jsx(t.CardHeader,{className:"space-y-1",children:e.jsxs(t.CardTitle,{className:"flex items-center gap-2 text-xl font-medium",children:[e.jsx(n.TableIcon,{className:"h-6 w-6 text-green-500"}),e.jsx("span",{children:a("Active in Another Tab")})]})}),e.jsx(t.CardContent,{className:"space-y-4",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:a("This page is currently being edited in another tab. You can continue editing here, which will close the editor in the other tab.")})}),e.jsx(t.CardFooter,{className:"flex justify-end gap-2",children:e.jsxs(c.Button,{variant:"default",onClick:()=>{r(s.EVENT.CONTINUE_EDITING_IN_THIS_TAB_REQUEST),i(s.PAGE_STATUS.CHECKING)},className:"gap-2",children:[e.jsx(n.Edit,{className:"h-4 w-4"}),a("Continue Editing Here")]})})]})})};exports.default=o;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
2
|
import { B as r } from "./register-chai-top-bar-D6GjnauV.js";
|
|
3
|
-
import { F as i, G as o, H as l, I as c, J as
|
|
4
|
-
import {
|
|
3
|
+
import { F as i, G as o, H as l, I as c, J as m } from "./index-7OSd9ssH.js";
|
|
4
|
+
import { am as d, a as h, B as u, E as p, P as N } from "./index-B6QztICX.js";
|
|
5
5
|
import { TableIcon as f, Edit as T } from "lucide-react";
|
|
6
6
|
import { useTranslation as E } from "react-i18next";
|
|
7
7
|
const b = () => {
|
|
8
|
-
const s =
|
|
8
|
+
const s = d(), { setPageStatus: n } = h(), { t: a } = E();
|
|
9
9
|
return /* @__PURE__ */ e(u, { children: /* @__PURE__ */ t(i, { className: "mx-auto w-full max-w-md", children: [
|
|
10
10
|
/* @__PURE__ */ e(o, { className: "space-y-1", children: /* @__PURE__ */ t(l, { className: "flex items-center gap-2 text-xl font-medium", children: [
|
|
11
11
|
/* @__PURE__ */ e(f, { className: "h-6 w-6 text-green-500" }),
|
|
@@ -14,7 +14,7 @@ const b = () => {
|
|
|
14
14
|
/* @__PURE__ */ e(c, { className: "space-y-4", children: /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: a(
|
|
15
15
|
"This page is currently being edited in another tab. You can continue editing here, which will close the editor in the other tab."
|
|
16
16
|
) }) }),
|
|
17
|
-
/* @__PURE__ */ e(
|
|
17
|
+
/* @__PURE__ */ e(m, { className: "flex justify-end gap-2", children: /* @__PURE__ */ t(
|
|
18
18
|
r,
|
|
19
19
|
{
|
|
20
20
|
variant: "default",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),k=require("./register-chai-top-bar-DyW9GPzV.cjs"),N=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),k=require("./register-chai-top-bar-DyW9GPzV.cjs"),N=require("./index-P-2SvZA9.cjs"),Y=require("./slug-input-DHVDl_Dv.cjs"),g=require("./index-B3Ozovj5.cjs"),j=require("lodash-es"),ds=require("lucide-react"),v=require("react"),U=require("react-i18next"),Z=({edit:c,lang:h,languages:a,name:u,setLang:t,setName:i,primaryPageObject:o})=>{const{t:s}=U.useTranslation();return e.jsxs("div",{className:"space-y-1",children:[e.jsx(N.Label,{htmlFor:"lang",children:s("Language")}),e.jsxs("select",{value:c?"":h,disabled:c||!a.length,onChange:l=>{const x=l.target.value;t(x),!c&&(j.startsWith(u,o==null?void 0:o.name)||u.length===0)&&i(`${o==null?void 0:o.name} - ${g.LANGUAGES[x]}`)},className:"col-span-3 flex h-9 w-full rounded-md border border-border bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",children:[e.jsx("option",{value:"",disabled:!0,children:c?g.LANGUAGES[h]||h:a.length?s("Choose language"):s("All available language page is created.")}),a.map(l=>e.jsx("option",{value:l,children:g.LANGUAGES[l]||l},l))]})]})},_=({lang:c,name:h,setName:a,parentHasSelectedLanguagePage:u})=>{const{t}=U.useTranslation();return e.jsxs("div",{className:"space-y-1",children:[e.jsx(N.Label,{htmlFor:"name",children:t("Page Name")}),e.jsx(k.Input,{id:"name",value:c?h:"",onChange:i=>a(i.target.value),required:!0,placeholder:t(c?"Enter page name":"Choose language to add slug"),disabled:!u||!c})]})},cs=({dynamic:c,isNonSlugPageType:h,isRootPage:a,lang:u,useLanguagePrefix:t,setUseLanguagePrefix:i,isHomePage:o,parentSlug:s,parentHasSelectedLanguagePage:l,slug:x,setSlug:d,setIsSlugValid:S,getSlug:f})=>{const{t:r}=U.useTranslation();return h?null:e.jsxs("div",{className:"space-y-1",children:[a&&u&&e.jsxs("div",{className:"flex items-center space-x-2 pb-1",children:[e.jsx("input",{type:"checkbox",id:"useLanguagePrefix",checked:t,onChange:A=>i(A.target.checked),className:"rounded border-gray-300"}),e.jsxs(N.Label,{htmlFor:"useLanguagePrefix",className:"text-sm font-normal leading-tight",children:["Add language code (",e.jsxs("span",{className:"font-mono text-gray-900",children:["/",u]}),") as slug prefix"]})]}),e.jsx(N.Label,{htmlFor:"slug",children:r("Slug")}),c?e.jsx(k.Alert,{variant:"default",className:"p-2 text-xs font-medium italic text-muted-foreground",children:r("This page will use dynamic slug as defined in primary page")}):e.jsx(Y.SlugInput,{disabled:!u||!l,value:x,onChange:d,placeholder:r(u?o&&t?"Leave empty for home page":"Enter page slug":"Choose language to add slug"),parentSlug:s,onValidationChange:S,fullSlug:f()})]})},H=({parentHasSelectedLanguagePage:c,name:h,lang:a,slug:u,edit:t,id:i,primaryPageObject:o,pages:s,isNonSlugPageType:l,isHomePage:x,useLanguagePrefix:d,isSlugValid:S,isPending:f})=>{const{t:r}=U.useTranslation(),A=f||!h||!a||s.some(m=>(t?m.id!==i:!0)&&m.parent===(o==null?void 0:o.id)&&m.lang===a)||!l&&!(x&&d)&&(!S||!u);return e.jsx(N.DialogFooter,{children:c?e.jsxs(e.Fragment,{children:[e.jsx(k.Button,{type:"submit",disabled:A&&!o.dynamic,children:f?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"loader mr-2"}),r(t?"Updating...":"Adding...")]}):r(t?"Update":"Add new language page")}),s.some(m=>(t?m.id!==i:!0)&&m.parent===(o==null?void 0:o.id)&&m.lang===a)&&e.jsx("p",{className:"mt-2 text-xs text-red-500",children:r("A page for this language already exists.")})]}):a&&e.jsx(k.Alert,{variant:"destructive",children:e.jsxs("p",{className:"mx-auto w-5/6 text-center",children:[r("You need to create the")," ",e.jsx("span",{className:"font-medium",children:g.LANGUAGES[a]})," ",r("page in the parent to add here.")]})})})},rs=({onSubmit:c,edit:h,lang:a,languages:u,name:t,setLang:i,setName:o,primaryPageObject:s,parentHasSelectedLanguagePage:l,id:x,pages:d,isNonSlugPageType:S,isHomePage:f,useLanguagePrefix:r,slug:A,isSlugValid:m,isPending:p})=>e.jsxs("form",{onSubmit:c,children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(Z,{edit:h,lang:a,languages:u,name:t,setLang:i,setName:o,primaryPageObject:s}),e.jsx(_,{lang:a,name:t,setName:o,parentHasSelectedLanguagePage:l})]}),e.jsx(H,{parentHasSelectedLanguagePage:l,name:t,lang:a,slug:A,edit:h,id:x,primaryPageObject:s,pages:d,isNonSlugPageType:S,isHomePage:f,useLanguagePrefix:r,isSlugValid:m,isPending:p})]}),hs=({loading:c,onSubmit:h,edit:a,lang:u,languages:t,name:i,setLang:o,setName:s,primaryPageObject:l,parentHasSelectedLanguagePage:x,isNonSlugPageType:d,isRootPage:S,useLanguagePrefix:f,setUseLanguagePrefix:r,isHomePage:A,parentSlug:m,slug:p,setSlug:C,isSlugValid:T,setIsSlugValid:I,getSlug:M,isPending:$,id:q,pages:L})=>c?e.jsx("div",{className:"flex h-80 items-center justify-center",children:e.jsx(ds.Loader,{className:"animate-spin"})}):d?e.jsx(rs,{onSubmit:h,edit:a,lang:u,languages:t,name:i,setLang:o,setName:s,primaryPageObject:l,parentHasSelectedLanguagePage:x,id:q,pages:L,isNonSlugPageType:d,isHomePage:A,useLanguagePrefix:f,slug:p,isSlugValid:T,isPending:$}):e.jsxs("form",{onSubmit:h,children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(Z,{edit:a,lang:u,languages:t,name:i,setLang:o,setName:s,primaryPageObject:l}),e.jsx(_,{lang:u,name:i,setName:s,parentHasSelectedLanguagePage:x}),e.jsx(cs,{dynamic:l==null?void 0:l.dynamic,isNonSlugPageType:d,isRootPage:S,lang:u,useLanguagePrefix:f,setUseLanguagePrefix:r,isHomePage:A,parentSlug:m,parentHasSelectedLanguagePage:x,slug:p,setSlug:C,isSlugValid:T,setIsSlugValid:I,getSlug:M})]}),e.jsx(H,{parentHasSelectedLanguagePage:x,name:i,lang:u,slug:p,edit:a,id:q,primaryPageObject:l,pages:L,isNonSlugPageType:d,isHomePage:A,useLanguagePrefix:f,isSlugValid:T,isPending:$})]}),xs=({id:c,isOpen:h,onClose:a,primaryPage:u,edit:t=!1,preselectedLang:i})=>{const{data:o=[]}=g.useWebsitePrimaryPages(),s=v.useMemo(()=>o.find(n=>n.id===u),[o,u]),[l,x]=v.useState(""),[d,S]=v.useState(""),[f,r]=v.useState(""),[A,m]=v.useState(!0),[p,C]=v.useState(!0),{mutate:T,isPending:I}=g.useCreatePage(),{mutate:M,isPending:$}=g.useUpdatePage(),q=I||$,{data:L,isFetching:b}=g.useWebsiteSetting(),z=g.useFallbackLang(),{data:w,isFetching:y}=g.useLanguagePages(u),{data:F=[],isFetching:P}=g.useLanguagePages(s==null?void 0:s.parent),{data:J=[],isFetching:O}=g.usePageTypes(),{setSelectedLang:ss}=N.useLanguages(),{t:B}=U.useTranslation(),[,es]=g.useSearchParams(),[,ns]=N.useSidebarActivePanel(),ts=b||y||P||O,G=v.useMemo(()=>j.filter(L==null?void 0:L.languages,n=>!j.find(w,{lang:n})),[L,w]),W=v.useMemo(()=>J.find(n=>n.key===(s==null?void 0:s.pageType)),[J,s==null?void 0:s.pageType]),K=!(W!=null&&W.hasSlug),V=(s==null?void 0:s.slug)==="/";v.useEffect(()=>{if(!t&&s&&i&&(S(i),x(`${s.name} - ${g.LANGUAGES[i]}`)),!t||!s)return;const n=w==null?void 0:w.find(is=>is.id===c);if(!n)return;x(n.name),S(n.lang);const E=n.slug||"",{initSlug:R,prefix:us}=Y.parseSlugForEdit(E,s);r(R),C(us)},[t,c,w,s,i]),v.useEffect(()=>{if(i)S(i);else if((G==null?void 0:G.length)===1&&!t){const n=G[0];if(!n||!g.LANGUAGES[n])return;S(n),(!l||l===(s==null?void 0:s.name))&&x(`${s==null?void 0:s.name} - ${g.LANGUAGES[n]}`)}},[i,G,t,l,s]);const{parentSlug:Q,isRootPage:D}=v.useMemo(()=>{if(V||!d)return{parentSlug:void 0,isRootPage:!(s!=null&&s.parent)};if(!(s!=null&&s.parent))return{parentSlug:p?`/${d}`:void 0,isRootPage:!0};const n=F==null?void 0:F.find(E=>E.lang===d);return{parentSlug:n==null?void 0:n.slug,isRootPage:!1}},[s==null?void 0:s.parent,F,p,d,V]),os=v.useMemo(()=>D?!0:!!(F!=null&&F.some(n=>(n==null?void 0:n.lang)===d)),[d,F,D]),X=()=>{let n="";return D?n=`/${p?[d,f].filter(Boolean).join("/"):f}`:n=`${Y.removeSlugExtension(Q)}/${f}`,n.replace(/\/{2,}/g,"/").replace(/\/$/,"")},ls=n=>{const E=new URLSearchParams(window.location.search);z&&n===z?E.delete("lang"):E.set("lang",n),es(E),window.dispatchEvent(new PopStateEvent("popstate"))},as=n=>{n.preventDefault();const E={name:l,lang:d,primaryPage:s==null?void 0:s.id,slug:K?"":X(),pageType:s==null?void 0:s.pageType,...t&&{id:c}},R=()=>{!t&&d&&(ss(d),ls(d)),ns("outline"),a()};t?M(E,{onSuccess:R}):T(E,{onSuccess:R})};return e.jsx(N.Dialog,{open:h,onOpenChange:a,children:h&&e.jsxs(N.DialogContent,{className:"text-slate-600 sm:max-w-[425px]",children:[e.jsxs(N.DialogHeader,{children:[e.jsx(N.DialogTitle,{children:B(t?"Edit language":"Add new language page")}),e.jsx(N.DialogDescription,{className:"font-light",children:B("Enter the details for the language")})]}),e.jsx(hs,{id:c,pages:o,loading:ts,onSubmit:as,edit:t,lang:d,languages:G,name:l,setLang:S,setName:x,primaryPageObject:s,parentHasSelectedLanguagePage:os,isNonSlugPageType:K,isRootPage:D,useLanguagePrefix:p,setUseLanguagePrefix:C,isHomePage:V,parentSlug:Q,slug:f,setSlug:r,isSlugValid:A,setIsSlugValid:m,getSlug:X,isPending:q})]})})};exports.default=xs;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as t, jsxs as g, Fragment as hn } from "react/jsx-runtime";
|
|
2
2
|
import { z as fn, D as H, B as gn } from "./register-chai-top-bar-D6GjnauV.js";
|
|
3
|
-
import { d as mn, n as xn, D as vn, e as pn, f as Sn, g as Nn, o as Fn, p as I, q as wn } from "./index-
|
|
4
|
-
import { p as An, r as Cn, S as Dn } from "./slug-input-
|
|
5
|
-
import { e as En, f as $n, g as Ln, h as kn, i as Tn, j as Z, k as Un, c as Bn, L as A } from "./index-
|
|
3
|
+
import { d as mn, n as xn, D as vn, e as pn, f as Sn, g as Nn, o as Fn, p as I, q as wn } from "./index-7OSd9ssH.js";
|
|
4
|
+
import { p as An, r as Cn, S as Dn } from "./slug-input-DcYoeQxL.js";
|
|
5
|
+
import { e as En, f as $n, g as Ln, h as kn, i as Tn, j as Z, k as Un, c as Bn, L as A } from "./index-B6QztICX.js";
|
|
6
6
|
import { filter as Rn, find as Wn, startsWith as In } from "lodash-es";
|
|
7
7
|
import { Loader as qn } from "lucide-react";
|
|
8
8
|
import { useMemo as $, useState as L, useEffect as _ } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("./index-P-2SvZA9.cjs"),c=require("react"),a=require("react-i18next"),u=c.lazy(()=>Promise.resolve().then(()=>require("./page-creator-DTpgqMLr.cjs"))),x=({addEditPage:n,setAddEditPage:r,closePanel:l})=>{const{t:o}=a.useTranslation(),t=!!(n!=null&&n.id),i=!!n;return e.jsx(s.Dialog,{open:i,onOpenChange:()=>r(void 0),children:i&&e.jsxs(s.DialogContent,{className:"sm:max-w-[425px]",children:[e.jsxs(s.DialogHeader,{children:[e.jsxs(s.DialogTitle,{children:[o(t?"Edit":"Add New")," "]}),e.jsx(s.DialogDescription,{children:o(t?"Update your page name":"Enter details to create a new page")})]}),e.jsx(c.Suspense,{fallback:e.jsx("div",{className:"min-h-40"}),children:e.jsx(u,{closePanel:l,addEditPage:n,close:()=>r(void 0)})})]})})};exports.default=x;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
-
import { D as t, e as c, f as m, g as p, o as h } from "./index-
|
|
2
|
+
import { D as t, e as c, f as m, g as p, o as h } from "./index-7OSd9ssH.js";
|
|
3
3
|
import { Suspense as f, lazy as D } from "react";
|
|
4
4
|
import { useTranslation as u } from "react-i18next";
|
|
5
|
-
const x = D(() => import("./page-creator-
|
|
5
|
+
const x = D(() => import("./page-creator-DsoCu0o8.js")), C = ({
|
|
6
6
|
addEditPage: o,
|
|
7
7
|
setAddEditPage: s,
|
|
8
8
|
closePanel: l
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsxs as h, Fragment as k, jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { B as y } from "./register-chai-top-bar-D6GjnauV.js";
|
|
3
|
-
import { d as A } from "./index-
|
|
4
|
-
import {
|
|
3
|
+
import { d as A } from "./index-7OSd9ssH.js";
|
|
4
|
+
import { s as B, c as F } from "./index-B6QztICX.js";
|
|
5
5
|
import { Plus as z } from "lucide-react";
|
|
6
6
|
import { useState as l, useEffect as I, Suspense as D, lazy as x } from "react";
|
|
7
7
|
import { useTranslation as R } from "react-i18next";
|
|
8
8
|
import { toast as E } from "sonner";
|
|
9
9
|
import { g as G } from "./models-D95ZYr_x.js";
|
|
10
|
-
const O = x(() => import("./ai-panel-default-lang-
|
|
10
|
+
const O = x(() => import("./ai-panel-default-lang-V2HKlFDJ.js")), T = x(() => import("./ai-panel-other-lang-BACuqAOo.js")), Z = () => {
|
|
11
11
|
const { t: r } = R(), [b, a] = l(""), [e, s] = l([]), [i, c] = l(!1), [f, u] = l(null), [w, d] = l(null), [C, L] = l(G().id), { selectedLang: m, fallbackLang: N } = A(), P = B(), [S] = F(), v = S.get("page"), M = (e == null ? void 0 : e.filter((t) => t.role === "user").length) >= 4, j = (e == null ? void 0 : e.filter((t) => t.role === "user").length) >= 10;
|
|
12
12
|
I(() => {
|
|
13
13
|
s([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),L=require("./register-chai-top-bar-DyW9GPzV.cjs"),N=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),L=require("./register-chai-top-bar-DyW9GPzV.cjs"),N=require("./index-P-2SvZA9.cjs"),j=require("./index-B3Ozovj5.cjs"),M=require("lucide-react"),s=require("react"),k=require("react-i18next"),A=require("sonner"),B=require("./models-5gOsRC56.cjs"),R=s.lazy(()=>Promise.resolve().then(()=>require("./ai-panel-default-lang-DCkOcBIN.cjs"))),z=s.lazy(()=>Promise.resolve().then(()=>require("./ai-panel-other-lang-Ccap1QP9.cjs"))),F=()=>{const{t:o}=k.useTranslation(),[m,a]=s.useState(""),[t,l]=s.useState([]),[c,i]=s.useState(!1),[u,d]=s.useState(null),[S,f]=s.useState(null),[p,b]=s.useState(B.getDefaultModel().id),{selectedLang:h,fallbackLang:q}=N.useLanguages(),P=j.useBuilderFetch(),[v]=j.useSearchParams(),w=v.get("page"),C=(t==null?void 0:t.filter(n=>n.role==="user").length)>=4,y=(t==null?void 0:t.filter(n=>n.role==="user").length)>=10;s.useEffect(()=>{l([])},[h,w]);const g=()=>{l([]),a(""),f(null),d(null),i(!1)},x={t:o,fetch:P,input:m,messages:t,setInput:a,isLoading:c,handleStop:()=>{u&&(u.abort(),d(null)),i(!1),a(""),f(null),l(n=>{const r=n[n.length-1];return r&&r.role==="assistant"&&r.isReasoning&&r.isStreaming?n.slice(0,-1):n}),A.toast.info(o("Generation stopped"))},handleReset:g,setMessages:l,setIsLoading:i,currentBlock:S,fallbackLang:q,abortController:u,setCurrentBlock:f,setAbortController:d,forceNewConversation:y,suggestNewConversation:C,selectedModel:p,onModelChange:b};return e.jsxs(e.Fragment,{children:[c&&e.jsx("div",{className:"fixed inset-0 left-0 top-0 z-40 flex h-screen w-screen flex-col items-center justify-center bg-transparent"}),e.jsxs("div",{className:"flex h-full w-full flex-col",children:[e.jsxs("div",{className:"flex w-full items-center justify-between",children:[e.jsx("p",{className:"text-xs text-gray-500",children:o("Your conversation will not be saved")}),(t==null?void 0:t.length)>0&&e.jsx(L.Button,{variant:"outline",size:"icon",onClick:g,className:"h-6 w-6",disabled:c,children:e.jsx(M.Plus,{})})]}),e.jsx(s.Suspense,{fallback:e.jsx("div",{className:"flex h-full w-full items-center justify-center text-xs",children:"Loading AI Panel"}),children:h?e.jsx(z,{...x,selectedLang:h}):e.jsx(R,{...x})})]})]})};exports.default=F;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),S=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),S=require("./index-P-2SvZA9.cjs"),p=require("./selected-block-display-Cz7nEg_I.cjs"),P=require("lucide-react"),j=require("react"),W=require("sonner"),F=require("./models-5gOsRC56.cjs"),L=require("./apply-binding-BuwI_Uf5.cjs"),O=require("@tanstack/react-query"),$=()=>{const{addPredefinedBlock:k}=S.useAddBlock(),N=S.useReplaceBlock(),y=S.useRemoveBlocks(),T=O.useQueryClient(),w=async(r,e)=>{if(!e)return;const s=L.getBlocksFromHTML(e);await k(s,r.parentId,r.position)},B=async(r,e)=>{if(!r.blockId||!e)return;const s=L.getBlocksFromHTML(e);await N(r.blockId,s)},I=async r=>{!r.ids||r.ids.length===0||await y(r.ids)};let d=null;const E=(r,e)=>{const s=document.getElementById("canvas-iframe");if(!s)return null;const u=s==null?void 0:s.contentDocument;if(!u)return null;u.querySelectorAll("[data-stream-canvas]").forEach(n=>n.remove());let o=null;if(r&&r!=="undefined"&&(o=u.querySelector(`[data-block-id="${r}"]`)),o||(o=u.body),!o)return null;if(d=u.createElement("div"),d.setAttribute("data-stream-canvas","true"),e!==void 0&&e>=0&&o.children){const n=Math.min(e,o.children.length);n<o.children.length?o.insertBefore(d,o.children[n]):o.appendChild(d)}else o.appendChild(d);return d},H=r=>{var o;const e=document.getElementById("canvas-iframe");if(!e)return null;const s=e==null?void 0:e.contentDocument;if(!s)return null;s.querySelectorAll("[data-stream-canvas]").forEach(n=>n.remove());const f=s.querySelector(`[data-block-id="${r}"]`);return f?(d=s.createElement("div"),d.setAttribute("data-stream-canvas","true"),(o=f.parentNode)==null||o.insertBefore(d,f.nextSibling),f.style.display="none",d):null},M=r=>{const e=document.getElementById("canvas-iframe");(e==null?void 0:e.contentWindow)&&r.scrollIntoView({behavior:"smooth",block:"end"})},v=(r,e,s)=>{const u=E(e,s);u&&(u.innerHTML=r,M(u))},x=(r,e)=>{const s=H(e);s&&(s.innerHTML=r,M(s))},D=r=>{const e=r.match(/^--ACTION=(.+)--$/);if(!e)return null;let u=e[1].replace(/--/g,"").split("|");const o={type:u[0]};return u.forEach(n=>{const t=n.trim();if(t.startsWith("PARENT=")){const A=t.substring(7);o.parentId=A==="undefined"?void 0:A}else t.startsWith("POS=")?o.position=parseInt(t.substring(4)):t.startsWith("ID=")?o.blockId=t.substring(3):t.startsWith("IDS=")&&(o.ids=t.substring(4).split(",").map(A=>A.trim()))}),o};return j.useCallback(async(r,e)=>{const s=new TextDecoder;let u="",f="",o=!1,n=null;const t={isInAction:!1,currentAction:null,htmlBuffer:"",isCapturingHtml:!1},A=async m=>{const i=m.trim();if(i==="--START--"){o=!0;return}if(o){if(i==="--END--"){t.currentAction&&(t.htmlBuffer||t.currentAction.type==="REMOVE")&&await C(t.currentAction,t.htmlBuffer),d&&(d.remove(),d=null);return}if(i.startsWith("--THINKING=")){const c=i.substring(11);e(l=>{const h=[...l],g=h[h.length-1];if(g&&g.role==="assistant"&&g.isReasoning)g.content=c,g.isStreaming=!1;else{const b={id:Date.now().toString(),role:"assistant",content:c,isReasoning:!0,isStreaming:!1};h.push(b)}return h});return}if(i.startsWith("--TASK=")){const c=i.substring(7),l=`task-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,h={id:l,role:"assistant",content:c.replace(/--$/,""),isTask:!0,isTaskLoading:!0,isTaskCompleted:!1};n=l,e(g=>[...g,h]);return}if(i.startsWith("--MSG=")){const c=i.substring(6),l={id:Date.now().toString(),role:"assistant",content:c.replace(/--$/g,""),isReasoning:!1,isStreaming:!1};e(h=>[...h,l]);return}if(i.startsWith("--ACTION=")){t.currentAction&&(t.htmlBuffer||t.currentAction.type==="REMOVE")&&await C(t.currentAction,t.htmlBuffer),t.currentAction=D(i),t.htmlBuffer="",t.isInAction=!0;return}if(i==="--ENDACTION--"){t.currentAction&&(t.htmlBuffer||t.currentAction.type==="REMOVE")&&await C(t.currentAction,t.htmlBuffer),n&&(e(c=>c.map(l=>l.isTask?{...l,isTaskCompleted:!0}:l)),n=null),t.currentAction=null,t.htmlBuffer="",t.isInAction=!1;return}if(i==="--HTML--"){t.isCapturingHtml=!0;return}if(i==="--ENDHTML--"){t.isCapturingHtml=!1;return}if(i.startsWith("--HTML--")&&i.includes("--ENDHTML--")){const c=i.match(/^--HTML--(.+?)--ENDHTML--$/);if(c&&t.currentAction){const l=c[1];t.htmlBuffer+=l,t.currentAction.type==="ADD"?v(t.htmlBuffer,t.currentAction.parentId,t.currentAction.position):t.currentAction.type==="EDIT"&&t.currentAction.blockId&&x(t.htmlBuffer,t.currentAction.blockId)}return}t.isCapturingHtml&&t.currentAction&&(t.htmlBuffer+=m+`
|
|
2
2
|
`,t.currentAction.type==="ADD"?v(t.htmlBuffer,t.currentAction.parentId,t.currentAction.position):t.currentAction.type==="EDIT"&&t.currentAction.blockId&&x(t.htmlBuffer,t.currentAction.blockId))}},C=async(m,i)=>{try{switch(m.type){case"ADD":await w(m,i);break;case"EDIT":await B(m,i);break;case"REMOVE":await I(m);break}e(c=>c.filter(l=>!l.isTask))}catch(c){console.log(c)}};try{for(;;){const{done:m,value:i}=await r.read();if(m)break;const c=s.decode(i,{stream:!0});u+=c,f+=c;const l=f.split(`
|
|
3
|
-
`);f=l.pop()||"";for(const h of l)await A(h)}f&&await A(f),T.invalidateQueries({queryKey:["AI_USAGE"]})}catch(m){console.log(m)}},[y])},V=j.lazy(()=>Promise.resolve().then(()=>require("./ai-prompt-input-
|
|
3
|
+
`);f=l.pop()||"";for(const h of l)await A(h)}f&&await A(f),T.invalidateQueries({queryKey:["AI_USAGE"]})}catch(m){console.log(m)}},[y])},V=j.lazy(()=>Promise.resolve().then(()=>require("./ai-prompt-input-BuP52voq.cjs"))),K=({t:k,fetch:N,input:y,messages:T,setInput:w,isLoading:B,setMessages:I,handleStop:d,setIsLoading:E,currentBlock:H,fallbackLang:M,setCurrentBlock:v,setAbortController:x,selectedModel:D=F.getDefaultModel().id,onModelChange:r})=>{const e=S.useSelectedBlock(),[,s]=S.useSelectedBlockIds(),u=S.useBlocksHtmlForAi(),f=$(),o=async(n,t,A,C)=>{var h;if(!n||B)return;v(e);const m=u(e?{blockId:e._id,additionalCoreBlocks:["Icon"]}:{additionalCoreBlocks:["Icon"]});if(e&&!m){W.toast.error(k("Something went wrong. Please try again."));return}const i={id:Date.now().toString(),role:"user",content:p.getUserPrompt({language:M,userInput:t||n,currentHtml:m}),userMessage:n},c={id:(Date.now()+1).toString(),role:"assistant",content:"",isReasoning:!0,isStreaming:!0};I(g=>[...g,i,c]),E(!0);const l=new AbortController;x(l);try{const g={messages:[i].map(q=>({role:q.role,content:q.content})),model:C||D};A&&(g.image=A);const b=await N({body:{action:"ASK_AI",data:g},streamResponse:!0});if(!b.ok)throw new Error(k("Failed to get AI response"));const R=(h=b.body)==null?void 0:h.getReader();if(!R)throw new Error(k("Response body is not readable"));await f(R,I)}catch(g){if(g.name!=="AbortError"){const b={id:(Date.now()+1).toString(),role:"assistant",content:k("Sorry, I encountered an error. Please try again.")};I(R=>[...R,b])}}finally{w(""),E(!1),v(null),x(null)}};return a.jsxs(a.Fragment,{children:[a.jsxs(p.Conversation,{className:"no-scrollbar",children:[a.jsxs(p.ConversationContent,{className:"gap-2 px-0",children:[T.length===0&&a.jsx(p.ConversationEmptyState,{icon:a.jsx(P.Bot,{size:48,className:"text-gray-300"}),title:"Start a conversation",description:k("Start a conversation with the AI assistant to add/edit current page")}),T.map(n=>n.role!=="system"&&a.jsx(j.Fragment,{children:n.isReasoning?a.jsxs(p.Reasoning,{isStreaming:n.isStreaming,defaultOpen:!0,children:[a.jsx(p.ReasoningTrigger,{className:"text-xs [&_p]:text-muted-foreground"}),a.jsx(p.ReasoningContent,{className:"p-0 text-xs",children:n.content})]}):n.isTask&&!n.isTaskCompleted?a.jsx(p.TaskMessage,{content:n.content,isLoading:n.isTaskLoading}):a.jsx(p.Message,{from:n.role,children:a.jsx(p.MessageContent,{className:"p-0",children:n.role==="assistant"?a.jsx(p.MessageResponse,{className:"p-0 text-xs",children:n.content}):a.jsx("div",{className:"p-0 text-xs",children:n.userMessage||n.content})})})},n.id))]}),a.jsx(p.ConversationScrollButton,{})]}),a.jsxs("div",{className:"border-gray-200 pb-2",children:[a.jsx(p.SelectedBlockDisplay,{onRemove:()=>s([]),isLoading:B}),a.jsx(j.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:a.jsx(V,{input:y,setInput:w,onSend:o,onStop:d,isLoading:B,selectedLang:"",currentBlock:e||H,disabled:(y==null?void 0:y.length)===0,selectedModel:D,onModelChange:r})})]})]})};exports.default=K;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsxs as C, Fragment as W, jsx as d } from "react/jsx-runtime";
|
|
2
|
-
import { ah as F, ai as P, aj as O, R as $, a as q, ak as V } from "./index-
|
|
3
|
-
import { C as j, a as K, b as _, R as G, c as z, d as Q, T as U, M as J, e as X, f as Y, h as Z, S as tt, i as et } from "./selected-block-display-
|
|
2
|
+
import { ah as F, ai as P, aj as O, R as $, a as q, ak as V } from "./index-7OSd9ssH.js";
|
|
3
|
+
import { C as j, a as K, b as _, R as G, c as z, d as Q, T as U, M as J, e as X, f as Y, h as Z, S as tt, i as et } from "./selected-block-display-UVPjfycv.js";
|
|
4
4
|
import { Bot as nt } from "lucide-react";
|
|
5
5
|
import { useCallback as rt, Fragment as st, Suspense as ot, lazy as at } from "react";
|
|
6
6
|
import { toast as it } from "sonner";
|
|
7
7
|
import { g as ct } from "./models-D95ZYr_x.js";
|
|
8
|
-
import { g as L } from "./apply-binding-
|
|
8
|
+
import { g as L } from "./apply-binding-RQRSIe56.js";
|
|
9
9
|
import { useQueryClient as lt } from "@tanstack/react-query";
|
|
10
10
|
const ut = () => {
|
|
11
11
|
const { addPredefinedBlock: A } = F(), x = P(), k = O(), w = lt(), E = async (r, e) => {
|
|
@@ -199,7 +199,7 @@ const ut = () => {
|
|
|
199
199
|
},
|
|
200
200
|
[k]
|
|
201
201
|
);
|
|
202
|
-
}, dt = at(() => import("./ai-prompt-input-
|
|
202
|
+
}, dt = at(() => import("./ai-prompt-input-CrRc0Z7y.js")), It = ({
|
|
203
203
|
t: A,
|
|
204
204
|
fetch: x,
|
|
205
205
|
input: k,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsxs as c, Fragment as $, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { R as G, a as H, U as Q, V as X } from "./index-
|
|
3
|
-
import { C as Y, a as Z, b as L, R as ee, c as te, d as ne, T as se, M as oe, e as ae, f as re, S as ie, g as ce } from "./selected-block-display-
|
|
2
|
+
import { R as G, a as H, U as Q, V as X } from "./index-7OSd9ssH.js";
|
|
3
|
+
import { C as Y, a as Z, b as L, R as ee, c as te, d as ne, T as se, M as oe, e as ae, f as re, S as ie, g as ce } from "./selected-block-display-UVPjfycv.js";
|
|
4
4
|
import { Bot as le } from "lucide-react";
|
|
5
5
|
import { useRef as de, useEffect as ue, Suspense as B, lazy as v, Fragment as he } from "react";
|
|
6
6
|
import { useTranslation as me } from "react-i18next";
|
|
7
7
|
import { g as ge } from "./models-D95ZYr_x.js";
|
|
8
|
-
const fe = v(() => import("./ai-translation-prompt-
|
|
8
|
+
const fe = v(() => import("./ai-translation-prompt-CV3Pphg9.js")), pe = v(() => import("./ai-prompt-input-CrRc0Z7y.js")), be = ({
|
|
9
9
|
fetch: A,
|
|
10
10
|
input: o,
|
|
11
11
|
messages: l,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("./index-P-2SvZA9.cjs"),s=require("./selected-block-display-Cz7nEg_I.cjs"),G=require("lucide-react"),o=require("react"),H=require("react-i18next"),Q=require("./models-5gOsRC56.cjs"),X=o.lazy(()=>Promise.resolve().then(()=>require("./ai-translation-prompt-BGdITGTs.cjs"))),Y=o.lazy(()=>Promise.resolve().then(()=>require("./ai-prompt-input-BuP52voq.cjs"))),Z=({fetch:v,input:a,messages:u,setInput:j,isLoading:c,handleStop:q,setMessages:y,setIsLoading:h,selectedLang:i,currentBlock:A,fallbackLang:P,abortController:x,setAbortController:E,setCurrentBlock:k,selectedModel:S=Q.getDefaultModel().id,onModelChange:M})=>{const{t:n}=H.useTranslation(),O=o.useRef(null),l=d.useSelectedBlock(),[,D]=d.useSelectedBlockIds(),T=d.useI18nBlocks(),I=d.useStreamMultipleBlocksProps(),C=()=>{var t;(t=O.current)==null||t.scrollIntoView({behavior:"smooth"})};o.useEffect(()=>{C()},[u,c]);const f=async(t,m,F)=>{var b;l&&k(l);const p=(t==null?void 0:t.toLowerCase())==="translate",R={id:Date.now().toString(),role:"user",content:s.getTranslationUserPrompt({fallbackLang:P,userInput:m||t,language:i,blocks:p?T():T(i)}),userMessage:m||t||n("Translate the content")},_={id:(Date.now()+1).toString(),role:"assistant",content:"Thinking...",isReasoning:!0,isStreaming:!0};h(!0);const z=new AbortController;E(z),y(w=>[...w,R,_]),h(!0);try{const N=await v({body:{action:"ASK_AI",data:{messages:[R],initiator:p?"TRANSLATE_CONTENT":"UPDATE_CONTENT",model:F||S}},streamResponse:!0});if(!N.ok)throw new Error(n("Failed to get AI response"));const B=(b=N.body)==null?void 0:b.getReader(),U=new TextDecoder;let r="";if(!B)throw new Error(n("Response body is not readable"));for(;;){const{done:K,value:V}=await B.read();if(K)break;const W=U.decode(V,{stream:!0});r+=W,y(g=>(g[g.length-1].content=r,[...g]))}const J=JSON.parse(r==null?void 0:r.replace("```json","").replace("```",""));I(J)}catch{x==null||x.abort()}finally{h(!1),j(""),k(null)}};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx(o.Suspense,{fallback:e.jsx("div",{children:n("Loading...")}),children:e.jsx(X,{isLoading:c,selectedBlock:l,selectedLang:i,onClick:f})})}),e.jsx(s.Conversation,{children:e.jsxs(s.ConversationContent,{className:"gap-4 px-0",children:[u.length===0&&e.jsx(s.ConversationEmptyState,{icon:e.jsx(G.Bot,{size:48,className:"text-gray-300"}),title:n("Start a conversation with the AI assistant to translate/edit your content"),description:n("Only content can be edited in secondary languages. To edit layout, styles and more, switch to the default language.")}),u.map(t=>t.role!=="system"&&e.jsx(o.Fragment,{children:t.isReasoning?e.jsxs(s.Reasoning,{isStreaming:t.isStreaming,defaultOpen:!0,children:[e.jsx(s.ReasoningTrigger,{className:"text-xs [&_p]:text-muted-foreground"}),e.jsx(s.ReasoningContent,{className:"p-0 text-xs",children:t.content})]}):t.isTask?e.jsx(s.TaskMessage,{content:t.content,isLoading:t.isTaskLoading}):e.jsx(s.Message,{from:t.role,children:e.jsx(s.MessageContent,{className:"p-0",children:t.role==="assistant"?e.jsx(s.MessageResponse,{className:"p-0 text-xs",children:t.content}):e.jsx("div",{className:"p-0 text-xs",children:t.userMessage||t.content})})})},t.id))]})}),e.jsxs("div",{className:"border-gray-200 pb-2",children:[e.jsx(s.SelectedBlockDisplay,{onRemove:()=>D([]),isLoading:c}),e.jsx(o.Suspense,{fallback:e.jsx("div",{children:n("Loading...")}),children:e.jsx(Y,{input:a,setInput:j,onSend:f,onStop:q,isLoading:c,selectedLang:i,currentBlock:l||A,disabled:(a==null?void 0:a.length)===0,selectedModel:S,onModelChange:M})})]})]})};exports.default=Z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),g=require("./register-chai-top-bar-DyW9GPzV.cjs"),N=require("./index-W4Ur56bi.cjs"),W=require("class-variance-authority"),y=require("lucide-react"),te=require("nanoid"),c=require("react"),se=require("react-i18next"),R=require("./models-5gOsRC56.cjs");function ne({className:t,...s}){return e.jsx("div",{"data-slot":"input-group",role:"group",className:g.cn("group/input-group shadow-xs relative flex w-full items-center rounded-md border border-input outline-none transition-[color,box-shadow] dark:bg-input/30","h-9 has-[>textarea]:h-auto","has-[>[data-align=inline-start]]:[&>input]:pl-2","has-[>[data-align=inline-end]]:[&>input]:pr-2","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3","has-[[data-slot=input-group-control]:focus-visible]:ring-1 has-[[data-slot=input-group-control]:focus-visible]:ring-ring","has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",t),...s})}const re=W.cva("text-muted-foreground flex h-auto cursor-text select-none items-center justify-center gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",{variants:{align:{"inline-start":"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]","inline-end":"order-last pr-3 has-[>button]:mr-[-0.4rem] has-[>kbd]:mr-[-0.35rem]","block-start":"[.border-b]:pb-3 order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5","block-end":"[.border-t]:pt-3 order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5"}},defaultVariants:{align:"inline-start"}});function H({className:t,align:s="inline-start",...o}){return e.jsx("div",{role:"group","data-slot":"input-group-addon","data-align":s,className:g.cn(re({align:s}),t),onClick:l=>{var i,m;l.target.closest("button")||(m=(i=l.currentTarget.parentElement)==null?void 0:i.querySelector("input"))==null||m.focus()},...o})}const ae=W.cva("flex items-center gap-2 text-sm shadow-none",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>svg]:px-2 [&>svg:not([class*='size-'])]:size-3.5",sm:"h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function K({className:t,type:s="button",variant:o="ghost",size:l="xs",...i}){return e.jsx(g.Button,{type:s,"data-size":l,variant:o,className:g.cn(ae({size:l}),t),...i})}function oe({className:t,...s}){return e.jsx(N.Textarea,{"data-slot":"input-group-control",className:g.cn("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",t),...s})}const ie=c.createContext(null),ce=c.createContext(null),X=()=>c.useContext(ie),le=()=>c.useContext(ce),$=c.createContext(null),q=()=>{const t=le(),s=c.useContext($),o=t??s;if(!o)throw new Error("usePromptInputAttachments must be used within a PromptInput or PromptInputProvider");return o};function ue({data:t,className:s,...o}){var h;const l=q(),i=t.filename||"",d=((h=t.mediaType)!=null&&h.startsWith("image/")&&t.url?"image":"file")==="image",v=i||(d?"Image":"Attachment");return e.jsxs(Ie,{children:[e.jsx(N.HoverCardTrigger,{asChild:!0,children:e.jsxs("div",{className:g.cn("group relative flex h-8 cursor-default select-none items-center gap-1.5 rounded-md border border-border px-1.5 text-sm font-medium transition-all hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",s),...o,children:[e.jsxs("div",{className:"relative size-5 shrink-0",children:[e.jsx("div",{className:"absolute inset-0 flex size-5 items-center justify-center overflow-hidden rounded bg-background transition-opacity group-hover:opacity-0",children:d?e.jsx("img",{alt:i||"attachment",className:"size-5 object-cover",height:20,src:t.url,width:20}):e.jsx("div",{className:"flex size-5 items-center justify-center text-muted-foreground",children:e.jsx(y.PaperclipIcon,{className:"size-3"})})}),e.jsxs(g.Button,{"aria-label":"Remove attachment",className:"absolute inset-0 size-5 cursor-pointer rounded p-0 opacity-0 transition-opacity group-hover:pointer-events-auto group-hover:opacity-100 [&>svg]:size-2.5",onClick:S=>{S.stopPropagation(),l.remove(t.id)},type:"button",variant:"ghost",children:[e.jsx(y.XIcon,{}),e.jsx("span",{className:"sr-only",children:"Remove"})]})]}),e.jsx("span",{className:"flex-1 truncate",children:v})]},t.id)}),e.jsx(ye,{className:"w-auto p-2",children:e.jsxs("div",{className:"w-auto space-y-3",children:[d&&e.jsx("div",{className:"flex max-h-96 w-96 items-center justify-center overflow-hidden rounded-md border",children:e.jsx("img",{alt:i||"attachment preview",className:"max-h-full max-w-full object-contain",height:384,src:t.url,width:448})}),e.jsx("div",{className:"flex items-center gap-2.5",children:e.jsxs("div",{className:"min-w-0 flex-1 space-y-1 px-0.5",children:[e.jsx("h4",{className:"truncate text-sm font-semibold leading-none",children:i||(d?"Image":"Attachment")}),t.mediaType&&e.jsx("p",{className:"truncate font-mono text-xs text-muted-foreground",children:t.mediaType})]})})]})})]})}function de({children:t,className:s,...o}){const l=q();return l.files.length?e.jsx("div",{className:g.cn("flex flex-wrap items-center gap-2 p-3",s),...o,children:l.files.map(i=>e.jsx(c.Fragment,{children:t(i)},i.id))}):null}const pe=({label:t="Add photos or files",...s})=>{const o=q();return e.jsxs(N.DropdownMenuItem,{...s,onSelect:l=>{l.preventDefault(),o.openFileDialog()},children:[e.jsx(y.ImageIcon,{className:"mr-2 size-4"})," ",t]})},me=({className:t,accept:s,multiple:o,globalDrop:l,syncHiddenInput:i,maxFiles:m,maxFileSize:d,onError:v,onSubmit:h,children:S,...P})=>{const n=X(),a=!!n,p=c.useRef(null),D=c.useRef(null),I=c.useRef(null);c.useEffect(()=>{var j;const r=(j=D.current)==null?void 0:j.closest("form");r instanceof HTMLFormElement&&(I.current=r)},[]);const[k,z]=c.useState([]),x=a?n.attachments.files:k,C=c.useCallback(()=>{var r;(r=p.current)==null||r.click()},[]),M=c.useCallback(r=>!s||s.trim()===""?!0:s.includes("image/*")?r.type.startsWith("image/"):!0,[s]),U=c.useCallback(r=>{const j=Array.from(r),f=j.filter(w=>M(w));if(j.length&&f.length===0){v==null||v({code:"accept",message:"No files match the accepted types."});return}const u=w=>d?w.size<=d:!0,b=f.filter(u);if(f.length>0&&b.length===0){v==null||v({code:"max_file_size",message:"All files exceed the maximum size."});return}z(w=>{const A=typeof m=="number"?Math.max(0,m-w.length):void 0,ee=typeof A=="number"?b.slice(0,A):b;typeof A=="number"&&b.length>A&&(v==null||v({code:"max_files",message:"Too many files. Some were not added."}));const V=[];for(const E of ee)V.push({id:te.nanoid(),type:"file",url:URL.createObjectURL(E),mediaType:E.type,filename:E.name});return w.concat(V)})},[M,m,d,v]),T=a?r=>n.attachments.add(r):U,L=a?r=>n.attachments.remove(r):r=>z(j=>{const f=j.find(u=>u.id===r);return f!=null&&f.url&&URL.revokeObjectURL(f.url),j.filter(u=>u.id!==r)}),O=a?()=>n.attachments.clear():()=>z(r=>{for(const j of r)j.url&&URL.revokeObjectURL(j.url);return[]}),B=a?()=>n.attachments.openFileDialog():C;c.useEffect(()=>{a&&n.__registerFileInput(p,()=>{var r;return(r=p.current)==null?void 0:r.click()})},[a,n]),c.useEffect(()=>{i&&p.current&&x.length===0&&(p.current.value="")},[x,i]),c.useEffect(()=>{const r=I.current;if(!r)return;const j=u=>{var b,w;(w=(b=u.dataTransfer)==null?void 0:b.types)!=null&&w.includes("Files")&&u.preventDefault()},f=u=>{var b,w,A;(w=(b=u.dataTransfer)==null?void 0:b.types)!=null&&w.includes("Files")&&u.preventDefault(),(A=u.dataTransfer)!=null&&A.files&&u.dataTransfer.files.length>0&&T(u.dataTransfer.files)};return r.addEventListener("dragover",j),r.addEventListener("drop",f),()=>{r.removeEventListener("dragover",j),r.removeEventListener("drop",f)}},[T]),c.useEffect(()=>{if(!l)return;const r=f=>{var u,b;(b=(u=f.dataTransfer)==null?void 0:u.types)!=null&&b.includes("Files")&&f.preventDefault()},j=f=>{var u,b,w;(b=(u=f.dataTransfer)==null?void 0:u.types)!=null&&b.includes("Files")&&f.preventDefault(),(w=f.dataTransfer)!=null&&w.files&&f.dataTransfer.files.length>0&&T(f.dataTransfer.files)};return document.addEventListener("dragover",r),document.addEventListener("drop",j),()=>{document.removeEventListener("dragover",r),document.removeEventListener("drop",j)}},[T,l]),c.useEffect(()=>()=>{if(!a)for(const r of x)r.url&&URL.revokeObjectURL(r.url)},[a,x]);const Y=r=>{r.currentTarget.files&&T(r.currentTarget.files)},J=async r=>{const f=await(await fetch(r)).blob();return new Promise((u,b)=>{const w=new FileReader;w.onloadend=()=>u(w.result),w.onerror=b,w.readAsDataURL(f)})},Q=c.useMemo(()=>({files:x.map(r=>({...r,id:r.id})),add:T,remove:L,clear:O,openFileDialog:B,fileInputRef:p}),[x,T,L,O,B]),Z=r=>{r.preventDefault();const j=r.currentTarget,f=a?n.textInput.value:new FormData(j).get("message")||"";a||j.reset(),Promise.all(x.map(async({...u})=>u.url&&u.url.startsWith("blob:")?{...u,url:await J(u.url)}:u)).then(u=>{try{const b=h({text:f,files:u},r);b instanceof Promise?b.then(()=>{O(),a&&n.textInput.clear()}).catch(()=>{}):(O(),a&&n.textInput.clear())}catch{}})},G=e.jsxs(e.Fragment,{children:[e.jsx("span",{"aria-hidden":"true",className:"hidden",ref:D}),e.jsx("input",{accept:s,"aria-label":"Upload files",className:"hidden",multiple:o,onChange:Y,ref:p,title:"Upload files",type:"file"}),e.jsx("form",{className:g.cn("w-full",t),onSubmit:Z,...P,children:e.jsx(ne,{className:"overflow-hidden",children:S})})]});return a?G:e.jsx($.Provider,{value:Q,children:G})},fe=({onChange:t,className:s,placeholder:o="What would you like to know?",...l})=>{const i=X(),m=q(),[d,v]=c.useState(!1),h=n=>{if(n.key==="Enter"){if(d||n.nativeEvent.isComposing||n.shiftKey)return;n.preventDefault();const a=n.currentTarget.form,p=a==null?void 0:a.querySelector('button[type="submit"]');if(p!=null&&p.disabled)return;a==null||a.requestSubmit()}if(n.key==="Backspace"&&n.currentTarget.value===""&&m.files.length>0){n.preventDefault();const a=m.files.at(-1);a&&m.remove(a.id)}},S=n=>{var D;const a=(D=n.clipboardData)==null?void 0:D.items;if(!a)return;const p=[];for(const I of a)if(I.kind==="file"){const k=I.getAsFile();k&&p.push(k)}p.length>0&&(n.preventDefault(),m.add(p))},P=i?{value:i.textInput.value,onChange:n=>{i.textInput.setInput(n.currentTarget.value),t==null||t(n)}}:{onChange:t};return e.jsx(oe,{className:g.cn("field-sizing-content max-h-48 min-h-16",s),name:"message",onCompositionEnd:()=>v(!1),onCompositionStart:()=>v(!0),onKeyDown:h,onPaste:S,placeholder:o,...l,...P})},he=({className:t,...s})=>e.jsx(H,{align:"block-end",className:g.cn("order-first flex-wrap gap-1",t),...s}),xe=({className:t,...s})=>e.jsx(H,{align:"block-end",className:g.cn("justify-between gap-1",t),...s}),ge=({className:t,...s})=>e.jsx("div",{className:g.cn("flex items-center gap-1",t),...s}),F=({variant:t="ghost",className:s,size:o,...l})=>{const i=o??(c.Children.count(l.children)>1?"sm":"icon-sm");return e.jsx(K,{className:g.cn(s),size:i,type:"button",variant:t,...l})},ve=t=>e.jsx(N.DropdownMenu,{...t}),je=({className:t,children:s,...o})=>e.jsx(N.DropdownMenuTrigger,{asChild:!0,children:e.jsx(F,{className:t,...o,children:s??e.jsx(y.PlusIcon,{className:"size-4"})})}),be=({className:t,...s})=>e.jsx(N.DropdownMenuContent,{align:"start",className:g.cn(t),...s}),we=({className:t,variant:s="default",size:o="icon-sm",status:l,children:i,...m})=>{let d=e.jsx(y.CornerDownLeftIcon,{className:"size-4"});return l==="submitted"?d=e.jsx(y.Loader2Icon,{className:"size-4 animate-spin"}):l==="streaming"?d=e.jsx(y.SquareIcon,{className:"size-4"}):l==="error"&&(d=e.jsx(y.XIcon,{className:"size-4"})),e.jsx(K,{"aria-label":"Submit",className:g.cn(t),size:o,type:"submit",variant:s,...m,children:i??d})},Ne=({className:t,textareaRef:s,onTranscriptionChange:o,...l})=>{const[i,m]=c.useState(!1),[d,v]=c.useState(null),h=c.useRef(null);c.useEffect(()=>{if(typeof window<"u"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)){const P=window.SpeechRecognition||window.webkitSpeechRecognition,n=new P;n.continuous=!0,n.interimResults=!0,n.lang="en-US",n.onstart=()=>{m(!0)},n.onend=()=>{m(!1)},n.onresult=a=>{var D;let p="";for(let I=a.resultIndex;I<a.results.length;I++){const k=a.results[I];k.isFinal&&(p+=((D=k[0])==null?void 0:D.transcript)??"")}if(p&&(s!=null&&s.current)){const I=s.current,k=I.value,z=k+(k?" ":"")+p;I.value=z,I.dispatchEvent(new Event("input",{bubbles:!0})),o==null||o(z)}},n.onerror=a=>{console.error("Speech recognition error:",a.error),m(!1)},h.current=n,c.startTransition(()=>v(n))}return()=>{h.current&&h.current.stop()}},[s,o]);const S=c.useCallback(()=>{d&&(i?d.stop():d.start())},[d,i]);return e.jsx(F,{className:g.cn("relative transition-all duration-200",i&&"animate-pulse bg-accent text-accent-foreground",t),disabled:!d,onClick:S,...l,children:e.jsx(y.MicIcon,{className:"size-4"})})},Ie=({openDelay:t=0,closeDelay:s=0,...o})=>e.jsx(N.HoverCard,{closeDelay:s,openDelay:t,...o}),ye=({align:t="start",...s})=>e.jsx(N.HoverCardContent,{align:t,...s}),Se=t=>e.jsx(N.Dialog,{...t}),ke=t=>e.jsx(N.DialogTrigger,{...t}),De=({className:t,children:s,title:o="Model Selector",...l})=>e.jsxs(N.DialogContent,{className:g.cn("p-0",t),...l,children:[e.jsx(N.DialogTitle,{className:"sr-only",children:o}),e.jsx(N.Command,{className:"**:data-[slot=command-input-wrapper]:h-auto",children:s})]}),Pe=({className:t,...s})=>e.jsx(N.CommandInput,{className:g.cn("h-auto py-3.5",t),...s}),Te=t=>e.jsx(N.CommandList,{...t}),ze=t=>e.jsx(N.CommandGroup,{...t}),Ce=t=>e.jsx(N.CommandItem,{...t}),Ae=({provider:t,className:s,...o})=>e.jsx("img",{...o,alt:`${t} logo`,className:g.cn("size-3 dark:invert",s),height:12,src:`https://models.dev/logos/${t}.svg`,width:12}),Le=({className:t,...s})=>e.jsx("span",{className:g.cn("flex-1 truncate text-left",t),...s}),Re=({selectedModel:t,onModelChange:s,disabled:o=!1})=>{const[l,i]=c.useState(!1),[m,d]=c.useState(""),v=R.getModelById(t)||R.getDefaultModel(),S=R.AI_MODELS.filter(n=>n.name.toLowerCase().includes(m.toLowerCase())||n.provider.toLowerCase().includes(m.toLowerCase())).reduce((n,a)=>(n[a.provider]||(n[a.provider]=[]),n[a.provider].push(a),n),{}),P=n=>{s(n),i(!1),d("")};return e.jsxs(Se,{open:l,onOpenChange:i,children:[e.jsx(ke,{asChild:!0,children:e.jsxs(g.Button,{variant:"outline",size:"sm",disabled:o,className:"h-8 gap-1 px-2 text-xs",children:[e.jsx(y.Cpu,{size:14}),e.jsx("span",{className:"max-w-20 truncate",children:v.name})]})}),e.jsxs(De,{className:"w-96 p-0",children:[e.jsx(Pe,{placeholder:"Search models...",value:m,onValueChange:d}),e.jsx(Te,{children:Object.entries(S).map(([n,a])=>e.jsx(ze,{heading:n.charAt(0).toUpperCase()+n.slice(1),children:a.map(p=>e.jsxs(Ce,{value:p.id,onSelect:()=>P(p.id),className:"flex cursor-pointer items-center gap-2 p-2",children:[e.jsx(Ae,{provider:p.provider}),e.jsxs("div",{className:"flex flex-1 flex-col",children:[e.jsx(Le,{children:p.name}),e.jsx("span",{className:"text-xs text-muted-foreground",children:p.description})]}),t===p.id&&e.jsx("div",{className:"h-2 w-2 rounded-full bg-blue-500"})]},p.id))},n))})]})]})},_="chai-ai-selected-model",Me=({input:t,setInput:s,onSend:o,onStop:l,isLoading:i,disabled:m,selectedLang:d,selectedModel:v=R.getDefaultModel().id,onModelChange:h})=>{const{t:S}=se.useTranslation(),[P,n]=c.useState(v),[a,p]=c.useState(null),D=c.useRef(null),[I,k]=c.useState(!1);c.useEffect(()=>{if(!d){const x=localStorage.getItem(_);if(x)n(x),h==null||h(x);else{const C=R.getDefaultModel().id;n(C),h==null||h(C)}}},[d,h]);const z=x=>{var U;const C=x.files.find(T=>{var L;return(L=T.mediaType)==null?void 0:L.startsWith("image/")}),M=(C==null?void 0:C.url)||a;o((U=x.text)==null?void 0:U.trim(),void 0,M,P),p(null)};return e.jsx("div",{className:"relative",children:e.jsx("div",{className:"border-gray-20 rounded-lg border",children:e.jsxs(me,{onSubmit:z,accept:"image/*",className:"flex h-auto w-full flex-col",children:[e.jsx(he,{className:"p-0",children:e.jsx(de,{className:"pb-0",children:x=>e.jsx(ue,{className:"text-xs",data:x})})}),e.jsx(fe,{ref:D,value:t,onChange:x=>s(x.target.value),placeholder:S(d?"Ask to update content":"Ask me anything..."),disabled:i,className:"max-h-[200px] min-h-[60px] w-full",rows:3}),e.jsxs(xe,{children:[d?e.jsx("div",{}):e.jsxs(ge,{children:[e.jsxs(ve,{children:[e.jsx(je,{disabled:i,children:e.jsx(y.Paperclip,{size:16})}),e.jsx(be,{children:e.jsx(pe,{})})]}),e.jsx(Ne,{textareaRef:D,onTranscriptionChange:s,disabled:i}),e.jsx(Re,{selectedModel:P,onModelChange:x=>{n(x),h==null||h(x),localStorage.setItem(_,x)},disabled:i}),e.jsxs(F,{className:"hidden",size:"sm",onClick:()=>k(!I),variant:I?"default":"ghost",children:[e.jsx(y.GlobeIcon,{size:16}),e.jsx("span",{children:"Search"})]})]}),i?e.jsx("button",{onClick:l,className:"z-50 flex items-center gap-x-1 rounded-md bg-red-500 p-1.5 text-white transition-colors hover:bg-red-600",title:S("Stop generation"),children:e.jsx(y.Square,{size:16})}):e.jsx(we,{disabled:!t.trim()||m,children:e.jsx(y.Send,{size:16})})]})]})})})};exports.default=Me;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),g=require("./register-chai-top-bar-DyW9GPzV.cjs"),N=require("./index-P-2SvZA9.cjs"),W=require("class-variance-authority"),y=require("lucide-react"),te=require("nanoid"),c=require("react"),se=require("react-i18next"),R=require("./models-5gOsRC56.cjs");function ne({className:t,...s}){return e.jsx("div",{"data-slot":"input-group",role:"group",className:g.cn("group/input-group shadow-xs relative flex w-full items-center rounded-md border border-input outline-none transition-[color,box-shadow] dark:bg-input/30","h-9 has-[>textarea]:h-auto","has-[>[data-align=inline-start]]:[&>input]:pl-2","has-[>[data-align=inline-end]]:[&>input]:pr-2","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3","has-[[data-slot=input-group-control]:focus-visible]:ring-1 has-[[data-slot=input-group-control]:focus-visible]:ring-ring","has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",t),...s})}const re=W.cva("text-muted-foreground flex h-auto cursor-text select-none items-center justify-center gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",{variants:{align:{"inline-start":"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]","inline-end":"order-last pr-3 has-[>button]:mr-[-0.4rem] has-[>kbd]:mr-[-0.35rem]","block-start":"[.border-b]:pb-3 order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5","block-end":"[.border-t]:pt-3 order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5"}},defaultVariants:{align:"inline-start"}});function H({className:t,align:s="inline-start",...o}){return e.jsx("div",{role:"group","data-slot":"input-group-addon","data-align":s,className:g.cn(re({align:s}),t),onClick:l=>{var i,m;l.target.closest("button")||(m=(i=l.currentTarget.parentElement)==null?void 0:i.querySelector("input"))==null||m.focus()},...o})}const ae=W.cva("flex items-center gap-2 text-sm shadow-none",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>svg]:px-2 [&>svg:not([class*='size-'])]:size-3.5",sm:"h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function K({className:t,type:s="button",variant:o="ghost",size:l="xs",...i}){return e.jsx(g.Button,{type:s,"data-size":l,variant:o,className:g.cn(ae({size:l}),t),...i})}function oe({className:t,...s}){return e.jsx(N.Textarea,{"data-slot":"input-group-control",className:g.cn("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",t),...s})}const ie=c.createContext(null),ce=c.createContext(null),X=()=>c.useContext(ie),le=()=>c.useContext(ce),$=c.createContext(null),q=()=>{const t=le(),s=c.useContext($),o=t??s;if(!o)throw new Error("usePromptInputAttachments must be used within a PromptInput or PromptInputProvider");return o};function ue({data:t,className:s,...o}){var h;const l=q(),i=t.filename||"",d=((h=t.mediaType)!=null&&h.startsWith("image/")&&t.url?"image":"file")==="image",v=i||(d?"Image":"Attachment");return e.jsxs(Ie,{children:[e.jsx(N.HoverCardTrigger,{asChild:!0,children:e.jsxs("div",{className:g.cn("group relative flex h-8 cursor-default select-none items-center gap-1.5 rounded-md border border-border px-1.5 text-sm font-medium transition-all hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",s),...o,children:[e.jsxs("div",{className:"relative size-5 shrink-0",children:[e.jsx("div",{className:"absolute inset-0 flex size-5 items-center justify-center overflow-hidden rounded bg-background transition-opacity group-hover:opacity-0",children:d?e.jsx("img",{alt:i||"attachment",className:"size-5 object-cover",height:20,src:t.url,width:20}):e.jsx("div",{className:"flex size-5 items-center justify-center text-muted-foreground",children:e.jsx(y.PaperclipIcon,{className:"size-3"})})}),e.jsxs(g.Button,{"aria-label":"Remove attachment",className:"absolute inset-0 size-5 cursor-pointer rounded p-0 opacity-0 transition-opacity group-hover:pointer-events-auto group-hover:opacity-100 [&>svg]:size-2.5",onClick:S=>{S.stopPropagation(),l.remove(t.id)},type:"button",variant:"ghost",children:[e.jsx(y.XIcon,{}),e.jsx("span",{className:"sr-only",children:"Remove"})]})]}),e.jsx("span",{className:"flex-1 truncate",children:v})]},t.id)}),e.jsx(ye,{className:"w-auto p-2",children:e.jsxs("div",{className:"w-auto space-y-3",children:[d&&e.jsx("div",{className:"flex max-h-96 w-96 items-center justify-center overflow-hidden rounded-md border",children:e.jsx("img",{alt:i||"attachment preview",className:"max-h-full max-w-full object-contain",height:384,src:t.url,width:448})}),e.jsx("div",{className:"flex items-center gap-2.5",children:e.jsxs("div",{className:"min-w-0 flex-1 space-y-1 px-0.5",children:[e.jsx("h4",{className:"truncate text-sm font-semibold leading-none",children:i||(d?"Image":"Attachment")}),t.mediaType&&e.jsx("p",{className:"truncate font-mono text-xs text-muted-foreground",children:t.mediaType})]})})]})})]})}function de({children:t,className:s,...o}){const l=q();return l.files.length?e.jsx("div",{className:g.cn("flex flex-wrap items-center gap-2 p-3",s),...o,children:l.files.map(i=>e.jsx(c.Fragment,{children:t(i)},i.id))}):null}const pe=({label:t="Add photos or files",...s})=>{const o=q();return e.jsxs(N.DropdownMenuItem,{...s,onSelect:l=>{l.preventDefault(),o.openFileDialog()},children:[e.jsx(y.ImageIcon,{className:"mr-2 size-4"})," ",t]})},me=({className:t,accept:s,multiple:o,globalDrop:l,syncHiddenInput:i,maxFiles:m,maxFileSize:d,onError:v,onSubmit:h,children:S,...P})=>{const n=X(),a=!!n,p=c.useRef(null),D=c.useRef(null),I=c.useRef(null);c.useEffect(()=>{var j;const r=(j=D.current)==null?void 0:j.closest("form");r instanceof HTMLFormElement&&(I.current=r)},[]);const[k,z]=c.useState([]),x=a?n.attachments.files:k,C=c.useCallback(()=>{var r;(r=p.current)==null||r.click()},[]),M=c.useCallback(r=>!s||s.trim()===""?!0:s.includes("image/*")?r.type.startsWith("image/"):!0,[s]),U=c.useCallback(r=>{const j=Array.from(r),f=j.filter(w=>M(w));if(j.length&&f.length===0){v==null||v({code:"accept",message:"No files match the accepted types."});return}const u=w=>d?w.size<=d:!0,b=f.filter(u);if(f.length>0&&b.length===0){v==null||v({code:"max_file_size",message:"All files exceed the maximum size."});return}z(w=>{const A=typeof m=="number"?Math.max(0,m-w.length):void 0,ee=typeof A=="number"?b.slice(0,A):b;typeof A=="number"&&b.length>A&&(v==null||v({code:"max_files",message:"Too many files. Some were not added."}));const V=[];for(const E of ee)V.push({id:te.nanoid(),type:"file",url:URL.createObjectURL(E),mediaType:E.type,filename:E.name});return w.concat(V)})},[M,m,d,v]),T=a?r=>n.attachments.add(r):U,L=a?r=>n.attachments.remove(r):r=>z(j=>{const f=j.find(u=>u.id===r);return f!=null&&f.url&&URL.revokeObjectURL(f.url),j.filter(u=>u.id!==r)}),O=a?()=>n.attachments.clear():()=>z(r=>{for(const j of r)j.url&&URL.revokeObjectURL(j.url);return[]}),B=a?()=>n.attachments.openFileDialog():C;c.useEffect(()=>{a&&n.__registerFileInput(p,()=>{var r;return(r=p.current)==null?void 0:r.click()})},[a,n]),c.useEffect(()=>{i&&p.current&&x.length===0&&(p.current.value="")},[x,i]),c.useEffect(()=>{const r=I.current;if(!r)return;const j=u=>{var b,w;(w=(b=u.dataTransfer)==null?void 0:b.types)!=null&&w.includes("Files")&&u.preventDefault()},f=u=>{var b,w,A;(w=(b=u.dataTransfer)==null?void 0:b.types)!=null&&w.includes("Files")&&u.preventDefault(),(A=u.dataTransfer)!=null&&A.files&&u.dataTransfer.files.length>0&&T(u.dataTransfer.files)};return r.addEventListener("dragover",j),r.addEventListener("drop",f),()=>{r.removeEventListener("dragover",j),r.removeEventListener("drop",f)}},[T]),c.useEffect(()=>{if(!l)return;const r=f=>{var u,b;(b=(u=f.dataTransfer)==null?void 0:u.types)!=null&&b.includes("Files")&&f.preventDefault()},j=f=>{var u,b,w;(b=(u=f.dataTransfer)==null?void 0:u.types)!=null&&b.includes("Files")&&f.preventDefault(),(w=f.dataTransfer)!=null&&w.files&&f.dataTransfer.files.length>0&&T(f.dataTransfer.files)};return document.addEventListener("dragover",r),document.addEventListener("drop",j),()=>{document.removeEventListener("dragover",r),document.removeEventListener("drop",j)}},[T,l]),c.useEffect(()=>()=>{if(!a)for(const r of x)r.url&&URL.revokeObjectURL(r.url)},[a,x]);const Y=r=>{r.currentTarget.files&&T(r.currentTarget.files)},J=async r=>{const f=await(await fetch(r)).blob();return new Promise((u,b)=>{const w=new FileReader;w.onloadend=()=>u(w.result),w.onerror=b,w.readAsDataURL(f)})},Q=c.useMemo(()=>({files:x.map(r=>({...r,id:r.id})),add:T,remove:L,clear:O,openFileDialog:B,fileInputRef:p}),[x,T,L,O,B]),Z=r=>{r.preventDefault();const j=r.currentTarget,f=a?n.textInput.value:new FormData(j).get("message")||"";a||j.reset(),Promise.all(x.map(async({...u})=>u.url&&u.url.startsWith("blob:")?{...u,url:await J(u.url)}:u)).then(u=>{try{const b=h({text:f,files:u},r);b instanceof Promise?b.then(()=>{O(),a&&n.textInput.clear()}).catch(()=>{}):(O(),a&&n.textInput.clear())}catch{}})},G=e.jsxs(e.Fragment,{children:[e.jsx("span",{"aria-hidden":"true",className:"hidden",ref:D}),e.jsx("input",{accept:s,"aria-label":"Upload files",className:"hidden",multiple:o,onChange:Y,ref:p,title:"Upload files",type:"file"}),e.jsx("form",{className:g.cn("w-full",t),onSubmit:Z,...P,children:e.jsx(ne,{className:"overflow-hidden",children:S})})]});return a?G:e.jsx($.Provider,{value:Q,children:G})},fe=({onChange:t,className:s,placeholder:o="What would you like to know?",...l})=>{const i=X(),m=q(),[d,v]=c.useState(!1),h=n=>{if(n.key==="Enter"){if(d||n.nativeEvent.isComposing||n.shiftKey)return;n.preventDefault();const a=n.currentTarget.form,p=a==null?void 0:a.querySelector('button[type="submit"]');if(p!=null&&p.disabled)return;a==null||a.requestSubmit()}if(n.key==="Backspace"&&n.currentTarget.value===""&&m.files.length>0){n.preventDefault();const a=m.files.at(-1);a&&m.remove(a.id)}},S=n=>{var D;const a=(D=n.clipboardData)==null?void 0:D.items;if(!a)return;const p=[];for(const I of a)if(I.kind==="file"){const k=I.getAsFile();k&&p.push(k)}p.length>0&&(n.preventDefault(),m.add(p))},P=i?{value:i.textInput.value,onChange:n=>{i.textInput.setInput(n.currentTarget.value),t==null||t(n)}}:{onChange:t};return e.jsx(oe,{className:g.cn("field-sizing-content max-h-48 min-h-16",s),name:"message",onCompositionEnd:()=>v(!1),onCompositionStart:()=>v(!0),onKeyDown:h,onPaste:S,placeholder:o,...l,...P})},he=({className:t,...s})=>e.jsx(H,{align:"block-end",className:g.cn("order-first flex-wrap gap-1",t),...s}),xe=({className:t,...s})=>e.jsx(H,{align:"block-end",className:g.cn("justify-between gap-1",t),...s}),ge=({className:t,...s})=>e.jsx("div",{className:g.cn("flex items-center gap-1",t),...s}),F=({variant:t="ghost",className:s,size:o,...l})=>{const i=o??(c.Children.count(l.children)>1?"sm":"icon-sm");return e.jsx(K,{className:g.cn(s),size:i,type:"button",variant:t,...l})},ve=t=>e.jsx(N.DropdownMenu,{...t}),je=({className:t,children:s,...o})=>e.jsx(N.DropdownMenuTrigger,{asChild:!0,children:e.jsx(F,{className:t,...o,children:s??e.jsx(y.PlusIcon,{className:"size-4"})})}),be=({className:t,...s})=>e.jsx(N.DropdownMenuContent,{align:"start",className:g.cn(t),...s}),we=({className:t,variant:s="default",size:o="icon-sm",status:l,children:i,...m})=>{let d=e.jsx(y.CornerDownLeftIcon,{className:"size-4"});return l==="submitted"?d=e.jsx(y.Loader2Icon,{className:"size-4 animate-spin"}):l==="streaming"?d=e.jsx(y.SquareIcon,{className:"size-4"}):l==="error"&&(d=e.jsx(y.XIcon,{className:"size-4"})),e.jsx(K,{"aria-label":"Submit",className:g.cn(t),size:o,type:"submit",variant:s,...m,children:i??d})},Ne=({className:t,textareaRef:s,onTranscriptionChange:o,...l})=>{const[i,m]=c.useState(!1),[d,v]=c.useState(null),h=c.useRef(null);c.useEffect(()=>{if(typeof window<"u"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)){const P=window.SpeechRecognition||window.webkitSpeechRecognition,n=new P;n.continuous=!0,n.interimResults=!0,n.lang="en-US",n.onstart=()=>{m(!0)},n.onend=()=>{m(!1)},n.onresult=a=>{var D;let p="";for(let I=a.resultIndex;I<a.results.length;I++){const k=a.results[I];k.isFinal&&(p+=((D=k[0])==null?void 0:D.transcript)??"")}if(p&&(s!=null&&s.current)){const I=s.current,k=I.value,z=k+(k?" ":"")+p;I.value=z,I.dispatchEvent(new Event("input",{bubbles:!0})),o==null||o(z)}},n.onerror=a=>{console.error("Speech recognition error:",a.error),m(!1)},h.current=n,c.startTransition(()=>v(n))}return()=>{h.current&&h.current.stop()}},[s,o]);const S=c.useCallback(()=>{d&&(i?d.stop():d.start())},[d,i]);return e.jsx(F,{className:g.cn("relative transition-all duration-200",i&&"animate-pulse bg-accent text-accent-foreground",t),disabled:!d,onClick:S,...l,children:e.jsx(y.MicIcon,{className:"size-4"})})},Ie=({openDelay:t=0,closeDelay:s=0,...o})=>e.jsx(N.HoverCard,{closeDelay:s,openDelay:t,...o}),ye=({align:t="start",...s})=>e.jsx(N.HoverCardContent,{align:t,...s}),Se=t=>e.jsx(N.Dialog,{...t}),ke=t=>e.jsx(N.DialogTrigger,{...t}),De=({className:t,children:s,title:o="Model Selector",...l})=>e.jsxs(N.DialogContent,{className:g.cn("p-0",t),...l,children:[e.jsx(N.DialogTitle,{className:"sr-only",children:o}),e.jsx(N.Command,{className:"**:data-[slot=command-input-wrapper]:h-auto",children:s})]}),Pe=({className:t,...s})=>e.jsx(N.CommandInput,{className:g.cn("h-auto py-3.5",t),...s}),Te=t=>e.jsx(N.CommandList,{...t}),ze=t=>e.jsx(N.CommandGroup,{...t}),Ce=t=>e.jsx(N.CommandItem,{...t}),Ae=({provider:t,className:s,...o})=>e.jsx("img",{...o,alt:`${t} logo`,className:g.cn("size-3 dark:invert",s),height:12,src:`https://models.dev/logos/${t}.svg`,width:12}),Le=({className:t,...s})=>e.jsx("span",{className:g.cn("flex-1 truncate text-left",t),...s}),Re=({selectedModel:t,onModelChange:s,disabled:o=!1})=>{const[l,i]=c.useState(!1),[m,d]=c.useState(""),v=R.getModelById(t)||R.getDefaultModel(),S=R.AI_MODELS.filter(n=>n.name.toLowerCase().includes(m.toLowerCase())||n.provider.toLowerCase().includes(m.toLowerCase())).reduce((n,a)=>(n[a.provider]||(n[a.provider]=[]),n[a.provider].push(a),n),{}),P=n=>{s(n),i(!1),d("")};return e.jsxs(Se,{open:l,onOpenChange:i,children:[e.jsx(ke,{asChild:!0,children:e.jsxs(g.Button,{variant:"outline",size:"sm",disabled:o,className:"h-8 gap-1 px-2 text-xs",children:[e.jsx(y.Cpu,{size:14}),e.jsx("span",{className:"max-w-20 truncate",children:v.name})]})}),e.jsxs(De,{className:"w-96 p-0",children:[e.jsx(Pe,{placeholder:"Search models...",value:m,onValueChange:d}),e.jsx(Te,{children:Object.entries(S).map(([n,a])=>e.jsx(ze,{heading:n.charAt(0).toUpperCase()+n.slice(1),children:a.map(p=>e.jsxs(Ce,{value:p.id,onSelect:()=>P(p.id),className:"flex cursor-pointer items-center gap-2 p-2",children:[e.jsx(Ae,{provider:p.provider}),e.jsxs("div",{className:"flex flex-1 flex-col",children:[e.jsx(Le,{children:p.name}),e.jsx("span",{className:"text-xs text-muted-foreground",children:p.description})]}),t===p.id&&e.jsx("div",{className:"h-2 w-2 rounded-full bg-blue-500"})]},p.id))},n))})]})]})},_="chai-ai-selected-model",Me=({input:t,setInput:s,onSend:o,onStop:l,isLoading:i,disabled:m,selectedLang:d,selectedModel:v=R.getDefaultModel().id,onModelChange:h})=>{const{t:S}=se.useTranslation(),[P,n]=c.useState(v),[a,p]=c.useState(null),D=c.useRef(null),[I,k]=c.useState(!1);c.useEffect(()=>{if(!d){const x=localStorage.getItem(_);if(x)n(x),h==null||h(x);else{const C=R.getDefaultModel().id;n(C),h==null||h(C)}}},[d,h]);const z=x=>{var U;const C=x.files.find(T=>{var L;return(L=T.mediaType)==null?void 0:L.startsWith("image/")}),M=(C==null?void 0:C.url)||a;o((U=x.text)==null?void 0:U.trim(),void 0,M,P),p(null)};return e.jsx("div",{className:"relative",children:e.jsx("div",{className:"border-gray-20 rounded-lg border",children:e.jsxs(me,{onSubmit:z,accept:"image/*",className:"flex h-auto w-full flex-col",children:[e.jsx(he,{className:"p-0",children:e.jsx(de,{className:"pb-0",children:x=>e.jsx(ue,{className:"text-xs",data:x})})}),e.jsx(fe,{ref:D,value:t,onChange:x=>s(x.target.value),placeholder:S(d?"Ask to update content":"Ask me anything..."),disabled:i,className:"max-h-[200px] min-h-[60px] w-full",rows:3}),e.jsxs(xe,{children:[d?e.jsx("div",{}):e.jsxs(ge,{children:[e.jsxs(ve,{children:[e.jsx(je,{disabled:i,children:e.jsx(y.Paperclip,{size:16})}),e.jsx(be,{children:e.jsx(pe,{})})]}),e.jsx(Ne,{textareaRef:D,onTranscriptionChange:s,disabled:i}),e.jsx(Re,{selectedModel:P,onModelChange:x=>{n(x),h==null||h(x),localStorage.setItem(_,x)},disabled:i}),e.jsxs(F,{className:"hidden",size:"sm",onClick:()=>k(!I),variant:I?"default":"ghost",children:[e.jsx(y.GlobeIcon,{size:16}),e.jsx("span",{children:"Search"})]})]}),i?e.jsx("button",{onClick:l,className:"z-50 flex items-center gap-x-1 rounded-md bg-red-500 p-1.5 text-white transition-colors hover:bg-red-600",title:S("Stop generation"),children:e.jsx(y.Square,{size:16})}):e.jsx(we,{disabled:!t.trim()||m,children:e.jsx(y.Send,{size:16})})]})]})})})};exports.default=Me;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as e, jsxs as w, Fragment as ie } from "react/jsx-runtime";
|
|
2
2
|
import { E as N, B as _ } from "./register-chai-top-bar-D6GjnauV.js";
|
|
3
|
-
import { T as le, aB as ce, r as ue, s as de, t as pe, v as me, aC as fe, aD as he, D as ge, aE as ve, e as be, g as xe, C as we, i as Ne, j as Ie, l as ye, m as Se } from "./index-
|
|
3
|
+
import { T as le, aB as ce, r as ue, s as de, t as pe, v as me, aC as fe, aD as he, D as ge, aE as ve, e as be, g as xe, C as we, i as Ne, j as Ie, l as ye, m as Se } from "./index-7OSd9ssH.js";
|
|
4
4
|
import { cva as Y } from "class-variance-authority";
|
|
5
5
|
import { PaperclipIcon as ke, XIcon as J, PlusIcon as De, ImageIcon as ze, MicIcon as Pe, CornerDownLeftIcon as Te, Loader2Icon as Ae, SquareIcon as Ce, Cpu as Le, Paperclip as Re, GlobeIcon as Me, Square as je, Send as Ue } from "lucide-react";
|
|
6
6
|
import { nanoid as Oe } from "nanoid";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("./register-chai-top-bar-DyW9GPzV.cjs"),i=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("./register-chai-top-bar-DyW9GPzV.cjs"),i=require("./index-B3Ozovj5.cjs"),c=require("lucide-react"),o=require("react-i18next"),x=({selectedLang:s,isLoading:n,selectedBlock:a,onClick:l})=>{const{t}=o.useTranslation();return e.jsx("div",{className:"flex flex-col gap-2",children:e.jsx("div",{className:`flex flex-col gap-2 ${n?"pointer-events-none opacity-50":""}`,children:a?e.jsx(r.Button,{variant:"outline",className:"h-auto",onClick:()=>l("TRANSLATE"),children:e.jsxs("div",{className:"flex flex-col",children:[e.jsx("p",{className:"text-left text-xs font-thin",children:t("Quick Action:")}),e.jsxs("span",{className:"flex items-center gap-x-2 text-sm font-medium",children:[t("Translate Content")," ",t("to")," ",i.LANGUAGES[s]," ",e.jsx(c.ArrowRight,{className:"h-4 w-4"})]})]})}):null})})};exports.default=x;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t, jsxs as a } from "react/jsx-runtime";
|
|
2
2
|
import { B as r } from "./register-chai-top-bar-D6GjnauV.js";
|
|
3
|
-
import { L as i } from "./index-
|
|
3
|
+
import { L as i } from "./index-B6QztICX.js";
|
|
4
4
|
import { ArrowRight as c } from "lucide-react";
|
|
5
5
|
import { useTranslation as m } from "react-i18next";
|
|
6
6
|
const u = ({
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
"use strict";var ot=Object.defineProperty;var ct=(t,s,e)=>s in t?ot(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e;var _=(t,s,e)=>ct(t,typeof s!="symbol"?s+"":s,e);const k=require("./STRINGS-FNnfjF5H.cjs"),N=require("./common-functions-B3a4xKt_.cjs"),a=require("lodash-es"),$=require("himalaya"),z=require("./core-czmLeR0h.cjs"),ut=require("tailwind-merge"),X=t=>{if(t=t.replace(k.STYLES_KEY,""),!t)return{baseClasses:"",classes:""};const s=t.split(/,(?![^\[]*\])/);if(s.length===1)return{baseClasses:"",classes:s[0].trim()};const[e,...n]=s;return{baseClasses:e.trim(),classes:n.join(",").trim().replace(/ +(?= )/g,"")}};function pt(t,s,e){const n=a.get(e,"i18nProps",[]);if(a.isEmpty(s)||a.isEmpty(n))return t;const i=a.cloneDeep(t);return a.forEach(a.keys(i),r=>{if(a.includes(n,r)&&!a.isEmpty(s)){const o=a.get(i,r),l=a.get(i,`${r}-${s}`,"");a.isString(o)?i[r]=a.isString(l)&&!a.isEmpty(l.trim())&&l.trimStart()||o:i[r]=a.isEmpty(l)?o:l}}),i}const Z=(t,s)=>{const{baseClasses:e,classes:n}=X(t),r=n.split(" ").filter(l=>l.startsWith(k.DESIGN_TOKEN_PREFIX)).map(l=>{var p;return(p=s[l])==null?void 0:p.value}),o=n.split(" ").filter(l=>!l.startsWith(k.DESIGN_TOKEN_PREFIX)).join(" ");return ut.twMerge.apply(null,[e,...r,o])};function dt(t,s){return a.get(t,`${s}_attrs`,{})}function ht(t,s=!0,e={}){const n={};return Object.keys(t).forEach(i=>{if(a.isString(t[i])&&t[i].startsWith(k.STYLES_KEY)){const r=Z(t[i],e),o=dt(t,i);n[i]={...!a.isEmpty(r)&&{className:r},...o,...s?{"data-style-prop":i,"data-block-parent":t._id,"data-style-id":`${i}-${t._id}`}:{}}}}),n}const gt=a.memoize(t=>{const s=z.getRegisteredChaiBlock(t),e=a.get(s,"schema.properties",{});return Object.fromEntries(Object.entries(e).filter(([,n])=>a.get(n,"runtime",!1)))}),yt=(t,s)=>{if(!a.isArray(t))return t;let e=t,n;return typeof s.limit=="number"&&s.limit>0&&(n=s.limit),n!==void 0&&(e=e.slice(0,n)),e},ft=(t,s)=>{const e=a.cloneDeep(t);return a.forEach(a.keys(e),n=>{if(a.isString(e[n])&&!a.startsWith(n,"_")){let i=e[n];n==="repeaterItems"&&(e.repeaterItemsBinding=i);const r=/\{\{(.*?)\}\}/g,o=i.match(r);o&&o.forEach(l=>{let p=l.slice(2,-2);const c=a.get(s,p,l);i=a.isArray(c)?c:i.replace(l,c)}),e[n]=i}}),e},mt=t=>{const s=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,e=/(?:https?:\/\/)?(?:www\.)?(player)?.vimeo\.com/;return s.test(t)||e.test(t)},_t=t=>{if(a.isEmpty(t))return t;const s=/<video[^>]+src=['"]([^'">]+)['"]/,e=/<iframe[^>]+src=['"]([^'">]+)['"]/,n=t.match(s),i=t.match(e),r=n?n[1]:i?i[1]:null,o=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,l=/(?:https?:\/\/)?(?:www\.)?player.vimeo\.com/;return r&&(o.test(r)||l.test(r))?r:t},J=["chai-name","data-chai-name"],xt={img:{alt:"alt",width:"width",height:"height",src:"image"},video:{src:"url",autoplay:"controls.autoPlay",muted:"controls.muted",loop:"controls.loop",controls:"controls.widgets"},a:{href:"link.href",target:"link.target",type:""},input:{placeholder:"placeholder",required:"required",type:"inputType",name:"fieldName"},textarea:{placeholder:"placeholder",required:"required",type:"inputType",name:"fieldName"},select:{placeholder:"placeholder",required:"required",multiple:"multiple",name:"fieldName"},form:{action:"action"}},bt=(t,s)=>{var e;return((e=t.children)==null?void 0:e.length)===1&&a.includes(["Heading","Paragraph","Span","ListItem","Button","Label","TableCell","Link","RichText"],s._type)},A=t=>t.map(s=>s.type==="text"?a.get(s,"content",""):a.isEmpty(s.children)?"":A(s.children||[])).join(""),D=t=>t===null?"":t,Q=t=>{const s=a.compact(a.map(t.split(/\s+/),a.trim)),e=a.find(s,l=>/^w-/.test(l)),n=a.find(s,l=>/^h-/.test(l));if(!n||!e)return{height:"",width:""};const i=l=>{if(!l)return;const p=l.match(/^[wh]-(?:\[(.*?)\]|(.+))$/);if(!p)return;if(p[1])return p[1];const c=p[2];return/^\d+(\.\d+)?$/.test(c)?`${Number(c)*4}px`:c==="auto"||a.includes(c,"%")?c:"16px"},r=i(e),o=i(n);return{width:a.includes(r,"px")?r:"16px",height:a.includes(o,"px")?o:"16px"}},G=t=>{if(t.tagName==="svg")return{};const s={},e=xt[t.tagName||""]||{},n=t.attributes||[];return a.forEach(n,({key:i,value:r})=>{var o;if(!a.includes(J,i))if(i==="bid"&&(s._bid=D(r)),e[i]){if(t.tagName==="img"&&i==="src"&&!r.startsWith("http")){const l=a.find(t.attributes,{key:"width"}),p=a.find(t.attributes,{key:"height"});l&&p?r=`https://picsum.photos/${l==null?void 0:l.value}x${p==null?void 0:p.value}`:r="https://picsum.photos/150x150"}else if(t.tagName==="a"){const l=a.find(t.attributes,{key:"href"});l&&typeof(l==null?void 0:l.value)=="string"&&((o=l==null?void 0:l.value)!=null&&o.startsWith("pageType:"))&&a.set(s,"link.type","pageType")}a.set(s,e[i],D(r))}else a.includes(["style","class","srcset","bid"],i)||(s.styles_attrs=s.styles_attrs||{},a.startsWith(i,"@")&&(i=i.replace("@","x-on:")),s.styles_attrs[`${i}`]=D(r))}),delete s.class,s},kt=(t,s="styles")=>{if(!t.attributes)return{[s]:`${k.STYLES_KEY},`};const e=a.find(t.attributes,{key:"class"});if(e){const n=e.value;return{[s]:`${k.STYLES_KEY},${n}`}}return{[s]:`${k.STYLES_KEY},`}},Tt=t=>{const s=a.get(t,"attributes",[]),e=s.find(c=>c.key==="data-chai-richtext"||c.key==="chai-richtext"),n=s.find(c=>c.key==="data-chai-lightbox"||c.key==="chai-lightbox"),i=s.find(c=>c.key==="data-chai-dropdown"||c.key==="chai-dropdown"),r=s.find(c=>c.key==="data-chai-dropdown-button"||c.key==="chai-dropdown-button"),o=s.find(c=>c.key==="data-chai-dropdown-content"||c.key==="chai-dropdown-content"),l=s.find(c=>c.key==="class"),p=l&&l.value.split(/\s+/).includes("rte");if(i)return{_type:"Dropdown"};if(r)return{_type:"DropdownButton"};if(o)return{_type:"DropdownContent"};if(e||p)return{_type:"Paragraph"};if(n)return{_type:"LightBoxLink"};switch(t.tagName){case"img":return{_type:"Image"};case"input":return{_type:"Input",showLabel:!1};case"hr":return{_type:"Divider"};case"br":return{_type:"LineBreak"};case"textarea":return{_type:"TextArea",showLabel:!1};case"audio":return{_type:"Audio"};case"canvas":return{_type:"Canvas"};case"video":case"iframe":return{_type:"CustomHTML"};case"svg":return{_type:"Icon"};case"select":return{_type:"Select",options:[]};case"option":return{_type:"Option"};case"ul":case"ol":case"dl":return{_type:"List",tag:t.tagName,_listType:t.tagName==="ol"?"list-decimal":"list-none"};case"li":case"dt":return{_type:"ListItem",tag:t.tagName};case"span":case"figcaption":case"legend":return{_type:"Span",tag:t.tagName};case"p":return{_type:"Paragraph",content:""};case"a":return{_type:"Link"};case"form":return{_type:"Form"};case"label":return{_type:"Label"};case"button":return{_type:"Button"};case"code":return{_type:"Box",_name:"Code"};case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return{_type:"Heading",tag:t.tagName};case"table":return{_type:"Table"};case"tr":return{_type:"TableRow"};case"td":case"th":return{_type:"TableCell",tag:t.tagName};case"thead":return{_type:"TableHead"};case"tbody":return{_type:"TableBody"};case"tfoot":return{_type:"TableFooter"};default:{const c=a.get(t,"children",[]).length>0?"Box":"EmptyBox";return{_type:c,tag:t.tagName,_name:c=="EmptyBox"||t.tagName==="div"?c:a.capitalize(t.tagName)}}}},P=(t,s=null)=>a.flatMapDeep(t,e=>{var w,x,S,T,v,Y,M,q,H,O;if(e.type==="comment")return[];let n={_id:N.generateUUID()};if(s&&(n._parent=s.block._id),e.type==="text")return a.isEmpty(a.get(e,"content",""))?[]:s&&bt(s.node,s.block)?(a.set(s,"block.content",a.get(e,"content","")),[]):{...n,_type:"Text",content:a.get(e,"content","")};if(a.startsWith(e.tagName,"chai-")){const u=e.attributes||[],d=a.find(u,{key:"chai-type"}),g=(d==null?void 0:d.value)||a.startCase(a.camelCase(e.tagName||"")).replace(/ /g,"").replace(/\s+/g,"");n._type=g,a.forEach(u,({key:b,value:V})=>{if(b==="about-this-component"||b==="chai-type"||b==="can-move"||b==="can-delete")return;if(b==="id"){n._id=V;return}const lt=a.startsWith(b,"_")?b:a.camelCase(b);let B=D(V);typeof B=="string"&&a.startsWith(B,"#styles:")&&(B=B.replace("#styles:","#styles:,")),n[lt]=B});const m=P(e.children||[],{block:n,node:e});return[n,...m]}const i=a.get(e,"attributes",[]),r=e.tagName==="p"||i.find(u=>u.key==="data-chai-richtext"||u.key==="chai-richtext"),o=i.find(u=>u.key==="class"),l=o&&o.value.split(/\s+/).includes("rte"),p=i.find(u=>u.key==="data-chai-lightbox"||u.key==="chai-lightbox"),c=i.find(u=>u.key==="data-chai-dropdown"||u.key==="chai-dropdown"),f=i.find(u=>u.key==="data-chai-dropdown-button"||u.key==="chai-dropdown-button"),h=i.find(u=>u.key==="data-chai-dropdown-content"||u.key==="chai-dropdown-content");if(n={...n,...Tt(e),...G(e),...kt(e)},e.attributes){const u=e.attributes.find(d=>a.includes(J,d.key));u&&(n._name=u.value)}if(r||l)return n.content=`<p>${$.stringify(e.children||[])}</p>`,a.has(n,"styles_attrs.data-chai-richtext")&&delete n.styles_attrs["data-chai-richtext"],a.has(n,"styles_attrs.chai-richtext")&&delete n.styles_attrs["chai-richtext"],[n];if(p){const u=["data-chai-lightbox","chai-lightbox","data-vbtype","data-autoplay","data-maxwidth","data-overlay","data-gall","href"];n={...n,href:((w=i.find(d=>d.key==="href"))==null?void 0:w.value)||"",hrefType:((x=i.find(d=>d.key==="data-vbtype"))==null?void 0:x.value)||"video",autoplay:((S=i.find(d=>d.key==="data-autoplay"))==null?void 0:S.value)==="true"?"true":"false",maxWidth:((v=(T=i.find(d=>d.key==="data-maxwidth"))==null?void 0:T.value)==null?void 0:v.replace("px",""))||"",backdropColor:((Y=i.find(d=>d.key==="data-overlay"))==null?void 0:Y.value)||"",galleryName:((M=i.find(d=>d.key==="data-gall"))==null?void 0:M.value)||""},a.forEach(u,d=>{a.has(n,`styles_attrs.${d}`)&&delete n.styles_attrs[d]})}if(c&&(delete n.styles_attrs,n.showDropdown=!1),h&&delete n.styles_attrs,f){delete n.styles_attrs;const u=a.filter(e.children||[],g=>(g==null?void 0:g.tagName)!=="span");n.content=A(u);const d=a.find(e.children||[],g=>(g==null?void 0:g.tagName)==="span"&&a.some(g.children||[],m=>(m==null?void 0:m.tagName)==="svg"));if(d){const g=a.find(d.children||[],m=>(m==null?void 0:m.tagName)==="svg");if(g){n.icon=$.stringify([g]);const{height:m,width:b}=St(g,"16px","16px");n.iconHeight=m,n.iconWidth=b}}return[n]}if(n._type==="Input"){const u=n.inputType||"text";u==="checkbox"?a.set(n,"_type","Checkbox"):u==="radio"&&a.set(n,"_type","Radio")}else if(e.tagName==="video"||e.tagName==="iframe"){const u=$.stringify([e]);return mt(u)&&(a.set(n,"_type","Video"),a.set(n,"url",_t(u)),a.set(n,"styles",`${k.STYLES_KEY},`),a.set(n,"controls",{autoPlay:!1,muted:!0,loop:!1,controls:!1})),n.content=u,[n]}else if(e.tagName==="svg"){const u=a.get(a.find(e.attributes,{key:"class"}),"value",""),{height:d,width:g}=Q(u);if(d&&g)n.styles=`${k.STYLES_KEY}, ${N.cn(`w-${g} h-${d}`,u)}`.trim(),n.height=d==null?void 0:d.replace("px",""),n.width=g==null?void 0:g.replace("px","");else{const m=(q=a.find(e.attributes,{key:"height"}))==null?void 0:q.value,b=(H=a.find(e.attributes,{key:"width"}))==null?void 0:H.value;m&&b?(n.styles=`${k.STYLES_KEY}, ${N.cn(`w-[${b}px] h-[${m}px]`,u)}`.trim(),n.height=m,n.width=b):n.styles=`${k.STYLES_KEY}, ${N.cn("w-full h-full",u)}`.trim()}return e.attributes=a.filter(e.attributes,m=>!a.includes(["style","width","height","class"],m.key)),n.icon=$.stringify([e]),[n]}else if(e.tagName=="option"&&s&&((O=s.block)==null?void 0:O._type)==="Select")return s.block.options.push({label:A(e.children||[]),...G(e)}),[];const y=P(e.children||[],{block:n,node:e});return[n,...y]}),St=(t,s,e)=>{var p,c;const n=a.get(t,"attributes",[]),{height:i,width:r}=Q(a.get(a.find(n,{key:"class"}),"value",""));if(i&&r)return{height:`[${i}px]`,width:`[${r}px]`};const o=(p=a.find(n,{key:"height"}))==null?void 0:p.value,l=(c=a.find(n,{key:"width"}))==null?void 0:c.value;return{height:o?`[${o}px]`:e,width:l?`[${l}px]`:s}},wt=t=>{t=t.replace(/(\w+)=\\?"(.*?)\\?"/g,(n,i,r)=>{let o=r.replace(/\\"/g,'"');return o=o.replace(/{([^}]+)}/g,l=>l.replace(/"/g,'\\"')),`${i}="${o.replace(/\\"/g,'"')}"`}),t=t.replace(/\\n/g," ").replace(/\\\\/g,"").replace(/\\([/<>])/g,"$1").replace(/\\./g,"").replace(/[\n\r\t\f\v]/g," "),t=t.replace(/\$name="[^"]*"/g,"");const s=t.match(/<body[^>]*>[\s\S]*?<\/body>/);return(s&&s.length>0?s[0].replace(/<body/,"<div").replace(/<\/body>/,"</div>"):t).replace(/\s+/g," ").replaceAll("> <","><").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").trim()},vt=(t,s)=>a.find(t,{_id:s}),Bt=(t,s)=>a.isEmpty(s)?t.map(e=>(a.unset(e,"_bid"),e)):a.map(t,e=>{const n=a.isEmpty(e._bid)?void 0:vt(s,e._bid);if(n){n._type==="Icon"&&a.get(e,"icon","").match(/chai-default-svg/)&&delete e.icon;const i={...n,...e};return a.unset(i,"_bid"),i}return a.unset(e,"_bid"),e}),Et=t=>{const s=$.parse(wt(t));if(a.isEmpty(t))return[];const e=a.flatten(P(s));return z.syncBlocksWithDefaultProps(e)},$t=(t,s)=>t.map(e=>{const n=a.keys(e).filter(i=>a.isString(e[i])&&e[i].startsWith(k.STYLES_KEY));return a.each(n,i=>{e[i]=`${k.STYLES_KEY},${Z(e[i],s)}`}),e}),Nt=t=>{const s=a.last(t);return t.map(e=>{const n=Object.keys(e);for(let i=0;i<n.length;i++)if(a.isString(e[n[i]])&&a.startsWith(n[i],"content")){const r=e===s?"":" ";e[n[i]]=`${e[n[i]].trim()}${r}`}return e})};var j=class extends Error{constructor(t){super(t),this.name="Eta Error"}},tt=class extends j{constructor(t){super(t),this.name="EtaParser Error"}},It=class extends j{constructor(t){super(t),this.name="EtaRuntime Error"}},Ct=class extends j{constructor(t){super(t),this.name="EtaNameResolution Error"}};function E(t,s,e){let n=s.slice(0,e).split(/\n/),i=n.length,r=n[i-1].length+1;throw t+=" at line "+i+" col "+r+`:
|
|
1
|
+
"use strict";var ut=Object.defineProperty;var pt=(t,s,e)=>s in t?ut(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e;var _=(t,s,e)=>pt(t,typeof s!="symbol"?s+"":s,e);const k=require("./STRINGS-FNnfjF5H.cjs"),N=require("./common-functions-B3a4xKt_.cjs"),a=require("lodash-es"),$=require("himalaya"),z=require("./core-czmLeR0h.cjs"),dt=require("tailwind-merge"),X=t=>{if(t=t.replace(k.STYLES_KEY,""),!t)return{baseClasses:"",classes:""};const s=t.split(/,(?![^\[]*\])/);if(s.length===1)return{baseClasses:"",classes:s[0].trim()};const[e,...n]=s;return{baseClasses:e.trim(),classes:n.join(",").trim().replace(/ +(?= )/g,"")}};function ht(t,s,e){const n=a.get(e,"i18nProps",[]);if(a.isEmpty(s)||a.isEmpty(n))return t;const i=a.cloneDeep(t);return a.forEach(a.keys(i),r=>{if(a.includes(n,r)&&!a.isEmpty(s)){const o=a.get(i,r),l=a.get(i,`${r}-${s}`,"");a.isString(o)?i[r]=a.isString(l)&&!a.isEmpty(l.trim())&&l.trimStart()||o:i[r]=a.isEmpty(l)?o:l}}),i}const Z=(t,s)=>{const{baseClasses:e,classes:n}=X(t),r=n.split(" ").filter(l=>l.startsWith(k.DESIGN_TOKEN_PREFIX)).map(l=>{var p;return(p=s[l])==null?void 0:p.value}),o=n.split(" ").filter(l=>!l.startsWith(k.DESIGN_TOKEN_PREFIX)).join(" ");return dt.twMerge.apply(null,[e,...r,o])};function gt(t,s){return a.get(t,`${s}_attrs`,{})}function yt(t,s=!0,e={}){const n={};return Object.keys(t).forEach(i=>{if(a.isString(t[i])&&t[i].startsWith(k.STYLES_KEY)){const r=Z(t[i],e),o=gt(t,i);n[i]={...!a.isEmpty(r)&&{className:r},...o,...s?{"data-style-prop":i,"data-block-parent":t._id,"data-style-id":`${i}-${t._id}`}:{}}}}),n}const ft=a.memoize(t=>{const s=z.getRegisteredChaiBlock(t),e=a.get(s,"schema.properties",{});return Object.fromEntries(Object.entries(e).filter(([,n])=>a.get(n,"runtime",!1)))}),mt=(t,s)=>{if(!a.isArray(t))return t;let e=t,n;return typeof s.limit=="number"&&s.limit>0&&(n=s.limit),n!==void 0&&(e=e.slice(0,n)),e},_t=(t,s)=>{const e=a.cloneDeep(t);return a.forEach(a.keys(e),n=>{if(a.isString(e[n])&&!a.startsWith(n,"_")){let i=e[n];n==="repeaterItems"&&(e.repeaterItemsBinding=i);const r=/\{\{(.*?)\}\}/g,o=i.match(r);o&&o.forEach(l=>{let p=l.slice(2,-2);const c=a.get(s,p,l);i=a.isArray(c)?c:i.replace(l,c)}),e[n]=i}}),e},xt=t=>{const s=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,e=/(?:https?:\/\/)?(?:www\.)?(player)?.vimeo\.com/;return s.test(t)||e.test(t)},bt=t=>{if(a.isEmpty(t))return t;const s=/<video[^>]+src=['"]([^'">]+)['"]/,e=/<iframe[^>]+src=['"]([^'">]+)['"]/,n=t.match(s),i=t.match(e),r=n?n[1]:i?i[1]:null,o=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,l=/(?:https?:\/\/)?(?:www\.)?player.vimeo\.com/;return r&&(o.test(r)||l.test(r))?r:t},J=["chai-name","data-chai-name"],kt={img:{alt:"alt",width:"width",height:"height",src:"image"},video:{src:"url",autoplay:"controls.autoPlay",muted:"controls.muted",loop:"controls.loop",controls:"controls.widgets"},a:{href:"link.href",target:"link.target",type:""},input:{placeholder:"placeholder",required:"required",type:"inputType",name:"fieldName"},textarea:{placeholder:"placeholder",required:"required",type:"inputType",name:"fieldName"},select:{placeholder:"placeholder",required:"required",multiple:"multiple",name:"fieldName"},form:{action:"action"}},Tt=(t,s)=>{var e;return((e=t.children)==null?void 0:e.length)===1&&a.includes(["Heading","Paragraph","Span","ListItem","Button","Label","TableCell","Link","RichText"],s._type)},A=t=>t.map(s=>s.type==="text"?a.get(s,"content",""):a.isEmpty(s.children)?"":A(s.children||[])).join(""),D=t=>t===null?"":t,Q=t=>{const s=a.compact(a.map(t.split(/\s+/),a.trim)),e=a.find(s,l=>/^w-/.test(l)),n=a.find(s,l=>/^h-/.test(l));if(!n||!e)return{height:"",width:""};const i=l=>{if(!l)return;const p=l.match(/^[wh]-(?:\[(.*?)\]|(.+))$/);if(!p)return;if(p[1])return p[1];const c=p[2];return/^\d+(\.\d+)?$/.test(c)?`${Number(c)*4}px`:c==="auto"||a.includes(c,"%")?c:"16px"},r=i(e),o=i(n);return{width:a.includes(r,"px")?r:"16px",height:a.includes(o,"px")?o:"16px"}},G=t=>{if(t.tagName==="svg")return{};const s={},e=kt[t.tagName||""]||{},n=t.attributes||[];return a.forEach(n,({key:i,value:r})=>{var o;if(!a.includes(J,i))if(i==="bid"&&(s._bid=D(r)),e[i]){if(t.tagName==="img"&&i==="src"&&!r.startsWith("http")){const l=a.find(t.attributes,{key:"width"}),p=a.find(t.attributes,{key:"height"});l&&p?r=`https://picsum.photos/${l==null?void 0:l.value}x${p==null?void 0:p.value}`:r="https://picsum.photos/150x150"}else if(t.tagName==="a"){const l=a.find(t.attributes,{key:"href"});l&&typeof(l==null?void 0:l.value)=="string"&&((o=l==null?void 0:l.value)!=null&&o.startsWith("pageType:"))&&a.set(s,"link.type","pageType")}a.set(s,e[i],D(r))}else a.includes(["style","class","srcset","bid"],i)||(s.styles_attrs=s.styles_attrs||{},a.startsWith(i,"@")&&(i=i.replace("@","x-on:")),s.styles_attrs[`${i}`]=D(r))}),delete s.class,s},St=(t,s="styles")=>{if(!t.attributes)return{[s]:`${k.STYLES_KEY},`};const e=a.find(t.attributes,{key:"class"});if(e){const n=e.value;return{[s]:`${k.STYLES_KEY},${n}`}}return{[s]:`${k.STYLES_KEY},`}},vt=t=>{const s=a.get(t,"attributes",[]),e=s.find(c=>c.key==="data-chai-richtext"||c.key==="chai-richtext"),n=s.find(c=>c.key==="data-chai-lightbox"||c.key==="chai-lightbox"),i=s.find(c=>c.key==="data-chai-dropdown"||c.key==="chai-dropdown"),r=s.find(c=>c.key==="data-chai-dropdown-button"||c.key==="chai-dropdown-button"),o=s.find(c=>c.key==="data-chai-dropdown-content"||c.key==="chai-dropdown-content"),l=s.find(c=>c.key==="class"),p=l&&l.value.split(/\s+/).includes("rte");if(i)return{_type:"Dropdown"};if(r)return{_type:"DropdownButton"};if(o)return{_type:"DropdownContent"};if(e||p)return{_type:"Paragraph"};if(n)return{_type:"LightBoxLink"};switch(t.tagName){case"img":return{_type:"Image"};case"input":return{_type:"Input",showLabel:!1};case"hr":return{_type:"Divider"};case"br":return{_type:"LineBreak"};case"textarea":return{_type:"TextArea",showLabel:!1};case"audio":return{_type:"Audio"};case"canvas":return{_type:"Canvas"};case"video":case"iframe":return{_type:"CustomHTML"};case"svg":return{_type:"Icon"};case"select":return{_type:"Select",options:[]};case"option":return{_type:"Option"};case"ul":case"ol":case"dl":return{_type:"List",tag:t.tagName,_listType:t.tagName==="ol"?"list-decimal":"list-none"};case"li":case"dt":return{_type:"ListItem",tag:t.tagName};case"span":case"figcaption":case"legend":return{_type:"Span",tag:t.tagName};case"p":return{_type:"Paragraph",content:""};case"a":return{_type:"Link"};case"form":return{_type:"Form"};case"label":return{_type:"Label"};case"button":return{_type:"Button"};case"code":return{_type:"Box",_name:"Code"};case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return{_type:"Heading",tag:t.tagName};case"table":return{_type:"Table"};case"tr":return{_type:"TableRow"};case"td":case"th":return{_type:"TableCell",tag:t.tagName};case"thead":return{_type:"TableHead"};case"tbody":return{_type:"TableBody"};case"tfoot":return{_type:"TableFooter"};default:{const c=a.get(t,"children",[]).length>0?"Box":"EmptyBox";return{_type:c,tag:t.tagName,_name:c=="EmptyBox"||t.tagName==="div"?c:a.capitalize(t.tagName)}}}},P=(t,s=null)=>a.flatMapDeep(t,e=>{var v,x,S,T,w,Y,M,q,H,O;if(e.type==="comment")return[];let n={_id:N.generateUUID()};if(s&&(n._parent=s.block._id),e.type==="text")return a.isEmpty(a.get(e,"content",""))?[]:s&&Tt(s.node,s.block)?(a.set(s,"block.content",a.get(e,"content","")),[]):{...n,_type:"Text",content:a.get(e,"content","")};if(a.startsWith(e.tagName,"chai-")){const u=e.attributes||[],d=a.find(u,{key:"chai-type"}),g=(d==null?void 0:d.value)||a.startCase(a.camelCase(e.tagName||"")).replace(/ /g,"").replace(/\s+/g,"");n._type=g,a.forEach(u,({key:b,value:V})=>{if(b==="about-this-component"||b==="chai-type"||b==="can-move"||b==="can-delete")return;if(b==="id"){n._id=V;return}const ct=a.startsWith(b,"_")?b:a.camelCase(b);let B=D(V);typeof B=="string"&&a.startsWith(B,"#styles:")&&(B=B.replace("#styles:","#styles:,")),n[ct]=B});const m=P(e.children||[],{block:n,node:e});return[n,...m]}const i=a.get(e,"attributes",[]),r=e.tagName==="p"||i.find(u=>u.key==="data-chai-richtext"||u.key==="chai-richtext"),o=i.find(u=>u.key==="class"),l=o&&o.value.split(/\s+/).includes("rte"),p=i.find(u=>u.key==="data-chai-lightbox"||u.key==="chai-lightbox"),c=i.find(u=>u.key==="data-chai-dropdown"||u.key==="chai-dropdown"),f=i.find(u=>u.key==="data-chai-dropdown-button"||u.key==="chai-dropdown-button"),h=i.find(u=>u.key==="data-chai-dropdown-content"||u.key==="chai-dropdown-content");if(n={...n,...vt(e),...G(e),...St(e)},e.attributes){const u=e.attributes.find(d=>a.includes(J,d.key));u&&(n._name=u.value)}if(r||l)return n.content=`<p>${$.stringify(e.children||[])}</p>`,a.has(n,"styles_attrs.data-chai-richtext")&&delete n.styles_attrs["data-chai-richtext"],a.has(n,"styles_attrs.chai-richtext")&&delete n.styles_attrs["chai-richtext"],[n];if(p){const u=["data-chai-lightbox","chai-lightbox","data-vbtype","data-autoplay","data-maxwidth","data-overlay","data-gall","href"];n={...n,href:((v=i.find(d=>d.key==="href"))==null?void 0:v.value)||"",hrefType:((x=i.find(d=>d.key==="data-vbtype"))==null?void 0:x.value)||"video",autoplay:((S=i.find(d=>d.key==="data-autoplay"))==null?void 0:S.value)==="true"?"true":"false",maxWidth:((w=(T=i.find(d=>d.key==="data-maxwidth"))==null?void 0:T.value)==null?void 0:w.replace("px",""))||"",backdropColor:((Y=i.find(d=>d.key==="data-overlay"))==null?void 0:Y.value)||"",galleryName:((M=i.find(d=>d.key==="data-gall"))==null?void 0:M.value)||""},a.forEach(u,d=>{a.has(n,`styles_attrs.${d}`)&&delete n.styles_attrs[d]})}if(c&&(delete n.styles_attrs,n.showDropdown=!1),h&&delete n.styles_attrs,f){delete n.styles_attrs;const u=a.filter(e.children||[],g=>(g==null?void 0:g.tagName)!=="span");n.content=A(u);const d=a.find(e.children||[],g=>(g==null?void 0:g.tagName)==="span"&&a.some(g.children||[],m=>(m==null?void 0:m.tagName)==="svg"));if(d){const g=a.find(d.children||[],m=>(m==null?void 0:m.tagName)==="svg");if(g){n.icon=$.stringify([g]);const{height:m,width:b}=wt(g,"16px","16px");n.iconHeight=m,n.iconWidth=b}}return[n]}if(n._type==="Input"){const u=n.inputType||"text";u==="checkbox"?a.set(n,"_type","Checkbox"):u==="radio"&&a.set(n,"_type","Radio")}else if(e.tagName==="video"||e.tagName==="iframe"){const u=$.stringify([e]);return xt(u)&&(a.set(n,"_type","Video"),a.set(n,"url",bt(u)),a.set(n,"styles",`${k.STYLES_KEY},`),a.set(n,"controls",{autoPlay:!1,muted:!0,loop:!1,controls:!1})),n.content=u,[n]}else if(e.tagName==="svg"){const u=a.get(a.find(e.attributes,{key:"class"}),"value",""),{height:d,width:g}=Q(u);if(d&&g)n.styles=`${k.STYLES_KEY}, ${N.cn(`w-${g} h-${d}`,u)}`.trim(),n.height=d==null?void 0:d.replace("px",""),n.width=g==null?void 0:g.replace("px","");else{const m=(q=a.find(e.attributes,{key:"height"}))==null?void 0:q.value,b=(H=a.find(e.attributes,{key:"width"}))==null?void 0:H.value;m&&b?(n.styles=`${k.STYLES_KEY}, ${N.cn(`w-[${b}px] h-[${m}px]`,u)}`.trim(),n.height=m,n.width=b):n.styles=`${k.STYLES_KEY}, ${N.cn("w-full h-full",u)}`.trim()}return e.attributes=a.filter(e.attributes,m=>!a.includes(["style","width","height","class"],m.key)),n.icon=$.stringify([e]),[n]}else if(e.tagName=="option"&&s&&((O=s.block)==null?void 0:O._type)==="Select")return s.block.options.push({label:A(e.children||[]),...G(e)}),[];const y=P(e.children||[],{block:n,node:e});return[n,...y]}),wt=(t,s,e)=>{var p,c;const n=a.get(t,"attributes",[]),{height:i,width:r}=Q(a.get(a.find(n,{key:"class"}),"value",""));if(i&&r)return{height:`[${i}px]`,width:`[${r}px]`};const o=(p=a.find(n,{key:"height"}))==null?void 0:p.value,l=(c=a.find(n,{key:"width"}))==null?void 0:c.value;return{height:o?`[${o}px]`:e,width:l?`[${l}px]`:s}},Bt=t=>{t=t.replace(/(\w+)=\\?"(.*?)\\?"/g,(n,i,r)=>{let o=r.replace(/\\"/g,'"');return o=o.replace(/{([^}]+)}/g,l=>l.replace(/"/g,'\\"')),`${i}="${o.replace(/\\"/g,'"')}"`}),t=t.replace(/\\n/g," ").replace(/\\\\/g,"").replace(/\\([/<>])/g,"$1").replace(/\\./g,"").replace(/[\n\r\t\f\v]/g," "),t=t.replace(/\$name="[^"]*"/g,"");const s=t.match(/<body[^>]*>[\s\S]*?<\/body>/);return(s&&s.length>0?s[0].replace(/<body/,"<div").replace(/<\/body>/,"</div>"):t).replace(/\s+/g," ").replaceAll("> <","><").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").trim()},Et=(t,s)=>a.find(t,{_id:s}),$t=(t,s)=>a.isEmpty(s)?t.map(e=>(a.unset(e,"_bid"),e)):a.map(t,e=>{const n=a.isEmpty(e._bid)?void 0:Et(s,e._bid);if(n){n._type==="Icon"&&a.get(e,"icon","").match(/chai-default-svg/)&&delete e.icon;const i={...n,...e};return a.unset(i,"_bid"),i}return a.unset(e,"_bid"),e}),Nt=t=>{const s=$.parse(Bt(t));if(a.isEmpty(t))return[];const e=a.flatten(P(s));return z.syncBlocksWithDefaultProps(e)},It=(t,s)=>t.map(e=>{const n=a.keys(e).filter(i=>a.isString(e[i])&&e[i].startsWith(k.STYLES_KEY));return a.each(n,i=>{e[i]=`${k.STYLES_KEY},${Z(e[i],s)}`}),e}),Ct=t=>{const s=a.last(t);return t.map(e=>{const n=Object.keys(e);for(let i=0;i<n.length;i++)if(a.isString(e[n[i]])&&a.startsWith(n[i],"content")){const r=e===s?"":" ";e[n[i]]=`${e[n[i]].trim()}${r}`}return e})};var j=class extends Error{constructor(t){super(t),this.name="Eta Error"}},tt=class extends j{constructor(t){super(t),this.name="EtaParser Error"}},Lt=class extends j{constructor(t){super(t),this.name="EtaRuntime Error"}},Wt=class extends j{constructor(t){super(t),this.name="EtaNameResolution Error"}};function E(t,s,e){let n=s.slice(0,e).split(/\n/),i=n.length,r=n[i-1].length+1;throw t+=" at line "+i+" col "+r+`:
|
|
2
2
|
|
|
3
3
|
`+s.split(/\n/)[i-1]+`
|
|
4
|
-
`+Array(r).join(" ")+"^",new tt(t)}function
|
|
4
|
+
`+Array(r).join(" ")+"^",new tt(t)}function Dt(t,s,e,n){let i=s.split(`
|
|
5
5
|
`),r=Math.max(e-3,0),o=Math.min(i.length,e+3),l=n,p=i.slice(r,o).map((f,h)=>{let y=h+r+1;return(y===e?" >> ":" ")+y+"| "+f}).join(`
|
|
6
|
-
`),c=new
|
|
6
|
+
`),c=new Lt((l?l+":"+e+`
|
|
7
7
|
`:"line "+e+`
|
|
8
8
|
`)+p+`
|
|
9
9
|
|
|
10
|
-
`+t.message);throw c.name=t.name,c.cause=t,c}const
|
|
10
|
+
`+t.message);throw c.name=t.name,c.cause=t,c}const At=(async()=>{}).constructor;function Pt(t,s){let e=this.config,n=s!=null&&s.async?At:Function;try{return new n(e.varName,"options",this.compileToString.call(this,t,s))}catch(i){throw i instanceof SyntaxError?new tt(`Bad template syntax
|
|
11
11
|
|
|
12
12
|
`+i.message+`
|
|
13
13
|
`+Array(i.message.length+1).join("=")+`
|
|
14
14
|
`+this.compileToString.call(this,t,s)+`
|
|
15
|
-
`):i}}function
|
|
15
|
+
`):i}}function Ft(t,s){let e=this.config,n=s==null?void 0:s.async,i=this.compileBody,r=this.parse.call(this,t),o=`${e.functionHeader}
|
|
16
16
|
let include = (__eta_t, __eta_d) => this.render(__eta_t, {...${e.varName}, ...(__eta_d ?? {})}, options);
|
|
17
17
|
let includeAsync = (__eta_t, __eta_d) => this.renderAsync(__eta_t, {...${e.varName}, ...(__eta_d ?? {})}, options);
|
|
18
18
|
|
|
@@ -31,11 +31,11 @@ if (__eta.layout) {
|
|
|
31
31
|
}
|
|
32
32
|
${e.useWith?"}":""}${e.debug?"} catch (e) { this.RuntimeErr(e, __eta.templateStr, __eta.line, options.filepath) }":""}
|
|
33
33
|
return __eta.res;
|
|
34
|
-
`;if(e.plugins)for(let l=0;l<e.plugins.length;l++){let p=e.plugins[l];p.processFnString&&(o=p.processFnString(o,e))}return o}function
|
|
34
|
+
`;if(e.plugins)for(let l=0;l<e.plugins.length;l++){let p=e.plugins[l];p.processFnString&&(o=p.processFnString(o,e))}return o}function Rt(t){let s=this.config,e=0,n=t.length,i="";for(;e<n;e++){let r=t[e];if(typeof r=="string")i+="__eta.res+='"+r+`';
|
|
35
35
|
`;else{let o=r.t,l=r.val||"";s.debug&&(i+="__eta.line="+r.lineNo+`
|
|
36
36
|
`),o==="r"?(s.autoFilter&&(l="__eta.f("+l+")"),i+="__eta.res+="+l+`;
|
|
37
37
|
`):o==="i"?(s.autoFilter&&(l="__eta.f("+l+")"),s.autoEscape&&(l="__eta.e("+l+")"),i+="__eta.res+="+l+`;
|
|
38
38
|
`):o==="e"&&(i+=l+`
|
|
39
|
-
`)}}return i}function
|
|
40
|
-
`).length}function
|
|
41
|
-
`).replace(/^\s+|\s+$/gm,"")),I.lastIndex=0,C.lastIndex=0,L.lastIndex=0;function o(h,y){h&&(h=
|
|
39
|
+
`)}}return i}function jt(t,s,e,n){let i,r;return Array.isArray(s.autoTrim)?(i=s.autoTrim[1],r=s.autoTrim[0]):i=r=s.autoTrim,(e||e===!1)&&(i=e),(n||n===!1)&&(r=n),!r&&!i?t:i==="slurp"&&r==="slurp"?t.trim():(i==="_"||i==="slurp"?t=t.trimStart():(i==="-"||i==="nl")&&(t=t.replace(/^(?:\r\n|\n|\r)/,"")),r==="_"||r==="slurp"?t=t.trimEnd():(r==="-"||r==="nl")&&(t=t.replace(/(?:\r\n|\n|\r)$/,"")),t)}const Yt={"&":"&","<":"<",">":">",'"':""","'":"'"};function Mt(t){return Yt[t]}function qt(t){let s=String(t);return/[&<>"']/.test(s)?s.replace(/[&<>"']/g,Mt):s}const K={autoEscape:!0,autoFilter:!1,autoTrim:[!1,"nl"],cache:!1,cacheFilepaths:!0,debug:!1,escapeFunction:qt,filterFunction:t=>String(t),outputFunctionName:"output",functionHeader:"",parse:{exec:"",interpolate:"=",raw:"~"},plugins:[],rmWhitespace:!1,tags:["<%","%>"],useWith:!1,varName:"it",defaultExtension:".eta"},I=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,C=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,L=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g;function W(t){return t.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}function Ht(t,s){return t.slice(0,s).split(`
|
|
40
|
+
`).length}function Ot(t){let s=this.config,e=[],n=!1,i=0,r=s.parse;if(s.plugins)for(let h=0;h<s.plugins.length;h++){let y=s.plugins[h];y.processTemplate&&(t=y.processTemplate(t,s))}s.rmWhitespace&&(t=t.replace(/[\r\n]+/g,`
|
|
41
|
+
`).replace(/^\s+|\s+$/gm,"")),I.lastIndex=0,C.lastIndex=0,L.lastIndex=0;function o(h,y){h&&(h=jt(h,s,n,y),h&&(h=h.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),e.push(h)))}let l=[r.exec,r.interpolate,r.raw].reduce((h,y)=>h&&y?h+"|"+W(y):y?W(y):h,""),p=RegExp(W(s.tags[0])+"(-|_)?\\s*("+l+")?\\s*","g"),c=RegExp("'|\"|`|\\/\\*|(\\s*(-|_)?"+W(s.tags[1])+")","g"),f;for(;f=p.exec(t);){let h=t.slice(i,f.index);i=f[0].length+f.index;let y=f[1],v=f[2]||"";o(h,y),c.lastIndex=i;let x,S=!1;for(;x=c.exec(t);)if(x[1]){let T=t.slice(i,x.index);p.lastIndex=i=c.lastIndex,n=x[2],S={t:v===r.exec?"e":v===r.raw?"r":v===r.interpolate?"i":"",val:T};break}else{let T=x[0];if(T==="/*"){let w=t.indexOf("*/",c.lastIndex);w===-1&&E("unclosed comment",t,x.index),c.lastIndex=w}else T==="'"?(C.lastIndex=x.index,C.exec(t)?c.lastIndex=C.lastIndex:E("unclosed string",t,x.index)):T==='"'?(L.lastIndex=x.index,L.exec(t)?c.lastIndex=L.lastIndex:E("unclosed string",t,x.index)):T==="`"&&(I.lastIndex=x.index,I.exec(t)?c.lastIndex=I.lastIndex:E("unclosed string",t,x.index))}S?(s.debug&&(S.lineNo=Ht(t,f.index)),e.push(S)):E("unclosed tag",t,f.index)}if(o(t.slice(i,t.length),!1),s.plugins)for(let h=0;h<s.plugins.length;h++){let y=s.plugins[h];y.processAST&&(e=y.processAST(e,s))}return e}function et(t,s){let e=s!=null&&s.async?this.templatesAsync:this.templatesSync;if(this.resolvePath&&this.readFile&&!t.startsWith("@")){let n=s.filepath,i=e.get(n);if(this.config.cache&&i)return i;{let r=this.readFile(n),o=this.compile(r,s);return this.config.cache&&e.define(n,o),o}}else{let n=e.get(t);if(n)return n;throw new Wt(`Failed to get template '${t}'`)}}function st(t,s,e){let n,i={...e,async:!1};return typeof t=="string"?(this.resolvePath&&this.readFile&&!t.startsWith("@")&&(i.filepath=this.resolvePath(t,i)),n=et.call(this,t,i)):n=t,n.call(this,s,i)}function nt(t,s,e){let n,i={...e,async:!0};typeof t=="string"?(this.resolvePath&&this.readFile&&!t.startsWith("@")&&(i.filepath=this.resolvePath(t,i)),n=et.call(this,t,i)):n=t;let r=n.call(this,s,i);return Promise.resolve(r)}function Vt(t,s){let e=this.compile(t,{async:!1});return st.call(this,e,s)}function Gt(t,s){let e=this.compile(t,{async:!0});return nt.call(this,e,s)}var U=class{constructor(t){this.cache=t}define(t,s){this.cache[t]=s}get(t){return this.cache[t]}remove(t){delete this.cache[t]}reset(){this.cache={}}load(t){this.cache={...this.cache,...t}}},Kt=class{constructor(t){_(this,"config");_(this,"RuntimeErr",Dt);_(this,"compile",Pt);_(this,"compileToString",Ft);_(this,"compileBody",Rt);_(this,"parse",Ot);_(this,"render",st);_(this,"renderAsync",nt);_(this,"renderString",Vt);_(this,"renderStringAsync",Gt);_(this,"filepathCache",{});_(this,"templatesSync",new U({}));_(this,"templatesAsync",new U({}));_(this,"resolvePath",null);_(this,"readFile",null);t?this.config={...K,...t}:this.config={...K}}configure(t){this.config={...this.config,...t}}withConfig(t){return{...this,config:{...this.config,...t}}}loadTemplate(t,s,e){if(typeof s=="string")(e!=null&&e.async?this.templatesAsync:this.templatesSync).define(t,this.compile(s,e));else{let n=this.templatesSync;(s.constructor.name==="AsyncFunction"||e!=null&&e.async)&&(n=this.templatesAsync),n.define(t,s)}}},at=class extends Kt{};const F=/\{\{(.*?)\}\}/g,rt=/^[\w$][\w$.]*$/,Ut=new at({tags:["{{","}}"],autoEscape:!0,autoTrim:!1,useWith:!0,parse:{interpolate:"",exec:"~",raw:"~"},functionHeader:'const safeGet = (obj, path) => { const parts = path.split("."); let val = obj; for (const p of parts) { if (val == null) return undefined; val = val[p]; } return val; };'}),lt=(t,s,e)=>{const n=e.slice(2,-2).trim();return s!==-1&&a.startsWith(t,"$index.")?`${n}.${s}.${t.slice(7)}`:s!==-1&&a.startsWith(t,"$index")?`${n}.${s}`:t},zt=(t,s,e)=>{if(s===-1||!e)return t;const n=e.slice(2,-2).trim();return t.replace(/\$index\./g,`safeGet(it, "${n}.${s}").`).replace(/\$index/g,`safeGet(it, "${n}.${s}")`)},Xt=(t,s,e)=>t.replace(F,(n,i)=>{const r=i.trim();return r?rt.test(r)?`{{safeGet(it, "${lt(r,s,e)}") ?? ""}}`:`{{${zt(r,s,e)}}}`:'{{""}}'}),Zt=(t,s,e,n)=>{try{return Ut.renderString(Xt(t,e,n),s)}catch{return""}},ot=(t,s,e,n,i)=>{F.lastIndex=0;const r=t.match(F);if(!r)return t;const o=i==="image"||i==="mobileImage";for(const l of r){const p=l.slice(2,-2).trim();if(!rt.test(p))continue;const c=lt(p,e,n),f=a.get(s,c);if(a.isArray(f)||o&&f!==void 0)return f}return Zt(t,s,e,n)},Jt=(t,s)=>ot(t,s,-1,""),R=(t,s,{index:e,key:n},i)=>{if(a.isString(t))return ot(t,s,e,n,i);if(a.isArray(t))return t.map(r=>R(r,s,{index:e,key:n},i));if(t&&typeof t=="object"){const r={};return a.forEach(a.keys(t),o=>{!a.startsWith(o,"_")&&o!=="$repeaterItemsKey"?r[o]=R(t[o],s,{index:e,key:n},o):r[o]=t[o]}),r}return t},Qt=(t,s,{index:e,key:n})=>{let i=a.cloneDeep(t);return i.repeaterItems&&(i.$repeaterItemsKey=i.repeaterItems,a.startsWith(i.repeaterItems,`{{${k.COLLECTION_PREFIX}`)&&(i.$repeaterItemsKey=i.repeaterItems=`${i.repeaterItems.replace("}}",`/${i._id}}}`)}`),!a.isEmpty(i.repeaterItems)&&i.pagination&&(i.repeaterTotalItems=`${i.repeaterItems.replace("}}",`/${i._id}/totalItems}}`)}`)),R(i,s,{index:e,key:n})};exports.adjustSpacingInContentBlocks=Ct;exports.applyBindingToBlockProps=Qt;exports.applyChaiDataBinding=_t;exports.applyDesignTokens=It;exports.applyLanguage=ht;exports.applyLimit=mt;exports.getBlockRuntimeProps=ft;exports.getBlockTagAttributes=yt;exports.getBlocksFromHTML=Nt;exports.getSplitChaiClasses=X;exports.k=at;exports.mergeBlocksWithExisting=$t;exports.resolveBinding=Jt;
|