@chaibuilder/sdk 4.0.0-beta.6 → 4.0.0-beta.8
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/README.md +73 -50
- package/dist/{2SSKDMRQ-BIryEtW-.cjs → 2SSKDMRQ-DHv4u_0i.cjs} +1 -1
- package/dist/{2SSKDMRQ-trME0kvt.js → 2SSKDMRQ-DewwiCoQ.js} +2 -2
- package/dist/{AP7HFJJL-CAGB9iMp.js → AP7HFJJL-ComnZw7J.js} +1 -1
- package/dist/{AP7HFJJL-5ZR38Hyh.cjs → AP7HFJJL-cz754qhG.cjs} +1 -1
- package/dist/{IconPicker-Mu75ni5T.js → IconPicker-2H9IGKMS.js} +2 -2
- package/dist/{IconPicker-CQ-BgNNU.cjs → IconPicker-U0Z2dWeR.cjs} +1 -1
- package/dist/{WDYDFRGG-n8sBZVFG.cjs → WDYDFRGG-BfRX3M58.cjs} +1 -1
- package/dist/{WDYDFRGG-Cd4hRWj-.js → WDYDFRGG-vy7nMYD4.js} +2 -2
- package/dist/{actions-registery-JdxhXhT6.cjs → actions-registery-CtQSSexG.cjs} +31 -31
- package/dist/{actions-registery-y_ENc8zj.js → actions-registery-DqrFhSMp.js} +2414 -2418
- package/dist/actions.cjs +1 -1
- package/dist/actions.d.ts +0 -34
- package/dist/actions.js +3 -3
- package/dist/{active-in-another-tab-Cb6tnX9u.js → active-in-another-tab-5hn17Jeq.js} +3 -3
- package/dist/{active-in-another-tab-CZLV-uAW.cjs → active-in-another-tab-ijahI5qu.cjs} +1 -1
- package/dist/{add-new-language-page-BKcBaqZu.js → add-new-language-page-DmOyPy0u.js} +4 -4
- package/dist/{add-new-language-page-C3UzNV7W.cjs → add-new-language-page-vmNKNx-e.cjs} +1 -1
- package/dist/{add-new-page-pH3PwqJe.js → add-new-page-NHScAQn8.js} +2 -2
- package/dist/{add-new-page-mULv9r3z.cjs → add-new-page-XDuCkOyb.cjs} +1 -1
- package/dist/{ai-panel-content-BPgRdgye.cjs → ai-panel-content-BDqW16AW.cjs} +1 -1
- package/dist/{ai-panel-content-CNxN84pv.js → ai-panel-content-CHJ0JcQI.js} +4 -4
- package/dist/{ai-panel-default-lang-CYcHjk8U.js → ai-panel-default-lang-BIomgsN0.js} +4 -4
- package/dist/{ai-panel-default-lang-DhTPtPgD.cjs → ai-panel-default-lang-HeYWpbMu.cjs} +2 -2
- package/dist/{ai-panel-other-lang-CGNU3-FI.cjs → ai-panel-other-lang-BMelEs3p.cjs} +1 -1
- package/dist/{ai-panel-other-lang-D8Ofvj8F.js → ai-panel-other-lang-CbAgG-qX.js} +3 -3
- package/dist/{ai-prompt-input-Ceuy5bs3.js → ai-prompt-input-BH8LOVT4.js} +2 -2
- package/dist/{ai-prompt-input-CUutJjlf.cjs → ai-prompt-input-C_GG6nwq.cjs} +1 -1
- package/dist/{ai-translation-prompt-CoCPLEed.cjs → ai-translation-prompt-CkHaFv5I.cjs} +1 -1
- package/dist/{ai-translation-prompt-BiepZRcN.js → ai-translation-prompt-DxsNw8YR.js} +2 -2
- package/dist/{code-display-DloSPyPr.cjs → code-display-9Onx6RCq.cjs} +1 -1
- package/dist/{code-display-Ck81Id9K.js → code-display-oa1j0ri7.js} +1 -1
- package/dist/{code-editor-Z14ByBIv.js → code-editor-CGBAc-A6.js} +1 -1
- package/dist/{code-editor-C1ewJzDJ.cjs → code-editor-GV8ibQ4h.cjs} +1 -1
- package/dist/{continue-editing-in-this-client-k9Ab5E63.cjs → continue-editing-in-this-client-DKHP0pq8.cjs} +1 -1
- package/dist/{continue-editing-in-this-client-Byi6ER3L.js → continue-editing-in-this-client-Da8ab_9d.js} +3 -3
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +1 -90
- package/dist/core.js +22 -34
- package/dist/css-import-modal-B4j26_cO.cjs +13 -0
- package/dist/{css-import-modal-De7Kvg5C.js → css-import-modal-CcZVLsF9.js} +5 -4
- package/dist/{delete-design-token-C6s-ESB_.cjs → delete-design-token-3-WwqXMO.cjs} +1 -1
- package/dist/{delete-design-token-B97CnFDU.js → delete-design-token-DzINIVtO.js} +1 -1
- package/dist/{delete-page-Djn97HiP.cjs → delete-page-B7ODELqM.cjs} +1 -1
- package/dist/{delete-page-Dnf97ZHP.js → delete-page-DwZDMwfI.js} +3 -3
- package/dist/{design-token-usage-B-SykAjD.js → design-token-usage-DQf180Lg.js} +2 -2
- package/dist/{design-token-usage-OTd93kS8.cjs → design-token-usage-Dy08kcIc.cjs} +1 -1
- package/dist/{digital-asset-manager-DHYRXaaq.cjs → digital-asset-manager-C7subULa.cjs} +1 -1
- package/dist/{digital-asset-manager-b8gDuLnI.js → digital-asset-manager-CDy9kHZO.js} +4 -4
- package/dist/{duplicate-page-C4Ovp8Ff.cjs → duplicate-page-CWQ9aMd9.cjs} +1 -1
- package/dist/{duplicate-page-Bdtpl7_R.js → duplicate-page-DTnSztlr.js} +4 -4
- package/dist/{dynamic-page-selector-B8DdnfrF.cjs → dynamic-page-selector-DJuxLcsM.cjs} +1 -1
- package/dist/{dynamic-page-selector-BVnIM1Rq.js → dynamic-page-selector-DYW3ov_u.js} +3 -3
- package/dist/{image-editor-C2zOHeKv.cjs → image-editor-C4H3AkZK.cjs} +1 -1
- package/dist/{image-editor-cckqPmk5.js → image-editor-DLeSST0K.js} +1 -1
- package/dist/{index-CAhEmHYP.js → index-BK0xWO1z.js} +5212 -5680
- package/dist/index-BRJCj7c_.cjs +5 -0
- package/dist/index-Bm8iS2OH.cjs +160 -0
- package/dist/{index-Bn0fFN58.js → index-D5d4QDq7.js} +520 -511
- package/dist/{json-diff-viewer-DNizzMnu.js → json-diff-viewer-BYHieVod.js} +3 -3
- package/dist/{json-diff-viewer-D9DVIBz4.cjs → json-diff-viewer-g6SY62bl.cjs} +1 -1
- package/dist/{lang-panel-DL_BtSRD.js → lang-panel-BG1GMn-1.js} +4 -4
- package/dist/{lang-panel-C1dbn163.cjs → lang-panel-Dm1eOO2J.cjs} +1 -1
- package/dist/{manage-design-tokens-xxMO_RYg.js → manage-design-tokens-BdWQUHhw.js} +3 -3
- package/dist/{manage-design-tokens-CXjYkarE.cjs → manage-design-tokens-XWs_B6jo.cjs} +1 -1
- package/dist/{mark-as-template-Ba2bmVd9.js → mark-as-template-D2XxagVO.js} +3 -3
- package/dist/{mark-as-template-DF1KIMr0.cjs → mark-as-template-DUFnfVM3.cjs} +1 -1
- package/dist/{nested-path-selector-content-Cuk7NB-u.cjs → nested-path-selector-content-CQOx2L9C.cjs} +1 -1
- package/dist/{nested-path-selector-content-Br1IWhK5.js → nested-path-selector-content-Wd6-Eql0.js} +2 -2
- package/dist/{no-language-page-content-9B2Fm-on.js → no-language-page-content-BOv6TZIk.js} +3 -3
- package/dist/{no-language-page-content-CxTp-LIM.cjs → no-language-page-content-C11uF6hs.cjs} +1 -1
- package/dist/{no-language-page-dialog-DynACvgV.cjs → no-language-page-dialog-CY5XhXsC.cjs} +1 -1
- package/dist/{no-language-page-dialog-CPlKMyb8.js → no-language-page-dialog-DIXyKRJq.js} +2 -2
- package/dist/{page-creator-BtyJz2sx.js → page-creator-WX9lMrJY.js} +4 -4
- package/dist/{page-creator-Cbfv9N0P.cjs → page-creator-zSUFF4eT.cjs} +1 -1
- package/dist/{page-lock-CzsxrmN5.js → page-lock-D9miLZjm.js} +2 -2
- package/dist/{page-lock-fRos9wRU.cjs → page-lock-DGhR_url.cjs} +1 -1
- package/dist/{page-locked-dialog-D2q9qkPk.js → page-locked-dialog-CNCUCcvH.js} +3 -3
- package/dist/{page-locked-dialog-D57d2gvn.cjs → page-locked-dialog-DTLnbfuP.cjs} +1 -1
- package/dist/{page-manager-new-D6DVIx2S.js → page-manager-new-BFFOLh-l.js} +4 -4
- package/dist/{page-manager-new-aE198gKS.cjs → page-manager-new-Dd2c-Q_O.cjs} +1 -1
- package/dist/{page-manager-search-and-filter-DGQEgKzy.cjs → page-manager-search-and-filter-BKdQUJ2W.cjs} +1 -1
- package/dist/{page-manager-search-and-filter-CuZkQaZg.js → page-manager-search-and-filter-C1IWF_4d.js} +3 -3
- package/dist/page-revisions-content-D0cflnj1.cjs +1 -0
- package/dist/{page-revisions-content-5rbicFbD.js → page-revisions-content-DHapiLck.js} +75 -67
- package/dist/pages.cjs +1 -1
- package/dist/pages.d.ts +2 -1
- package/dist/pages.js +1 -1
- package/dist/{publish-pages-content-WeGk-YLC.js → publish-pages-content-Bd2zJHtK.js} +4 -4
- package/dist/{publish-pages-content-DBb8M3TG.cjs → publish-pages-content-BqLcnKry.cjs} +1 -1
- package/dist/{register-chai-top-bar-ESJHs5s-.js → register-chai-top-bar-CX_JkRJn.js} +78 -78
- package/dist/register-chai-top-bar-DWTuRU53.cjs +1 -0
- package/dist/render.d.ts +2 -1
- package/dist/{rte-widget-modal-DBoPRXq-.cjs → rte-widget-modal-DiB5BjH1.cjs} +1 -1
- package/dist/{rte-widget-modal-J-_AytmK.js → rte-widget-modal-RS8PMKOn.js} +7 -7
- package/dist/runtime-client.cjs +1 -0
- package/dist/runtime-client.d.ts +158 -0
- package/dist/runtime-client.js +32 -0
- package/dist/runtime.cjs +1 -1
- package/dist/runtime.d.ts +1 -163
- package/dist/runtime.js +71 -72
- package/dist/{save-to-lib-CQQxoovF.js → save-to-lib--6ZXHEbC.js} +3 -3
- package/dist/{save-to-lib-0ysmXVbI.cjs → save-to-lib-BXJvaC1N.cjs} +1 -1
- package/dist/{selected-block-display-BWupQFoQ.cjs → selected-block-display-BfpJda4h.cjs} +1 -1
- package/dist/{selected-block-display-CgoXS8Hr.js → selected-block-display-CUnCqXQw.js} +3 -3
- package/dist/{seo-panel-B798Myp_.js → seo-panel-Bs-FcY1A.js} +3 -3
- package/dist/{seo-panel-BkFbXIL0.cjs → seo-panel-CQITMfZ6.cjs} +1 -1
- package/dist/{shared-json-ld-Clg_UEhd.js → shared-json-ld-7EujD341.js} +3 -3
- package/dist/{shared-json-ld-Cn3MCW6I.cjs → shared-json-ld-DDXXi-Mj.cjs} +1 -1
- package/dist/{slug-input-BHyD8cxk.cjs → slug-input-CsVJAr7r.cjs} +1 -1
- package/dist/{slug-input-hX5VaZpj.js → slug-input-DoEIq5rs.js} +2 -2
- package/dist/supabase-actions.cjs +1 -1
- package/dist/supabase-actions.d.ts +5 -0
- package/dist/supabase-actions.js +1 -1
- package/dist/{take-over-request-s1L5Yofb.js → take-over-request-C14kJ356.js} +3 -3
- package/dist/{take-over-request-Dzczo20q.cjs → take-over-request-D5Oo3MPo.cjs} +1 -1
- package/dist/{theme-panel-footer-sK6bYhEb.js → theme-panel-footer-Dvknelm8.js} +3 -3
- package/dist/{theme-panel-footer-NTNCL0SW.cjs → theme-panel-footer-Eeibz2JA.cjs} +1 -1
- package/dist/{translation-warning-modal-BfM4HGck.cjs → translation-warning-modal-CPzdHzqq.cjs} +1 -1
- package/dist/{translation-warning-modal-Jadkcver.js → translation-warning-modal-YlzP2XoO.js} +2 -2
- package/dist/{unmark-as-template-CqkHI3gR.cjs → unmark-as-template-BGDwuCnv.cjs} +1 -1
- package/dist/{unmark-as-template-D5b775eR.js → unmark-as-template-CPJvQk7L.js} +3 -3
- package/dist/{unpublish-page-BT5bCfs6.cjs → unpublish-page-BMowW5wT.cjs} +1 -1
- package/dist/{unpublish-page-DLLLgY43.js → unpublish-page-DlFHLlmI.js} +3 -3
- package/dist/web-blocks.cjs +1 -1
- package/dist/web-blocks.js +43 -43
- package/dist/{web-preview-C_yFwxEe.js → web-preview-BUnv3jIc.js} +2 -2
- package/dist/{web-preview-DU1MgppY.cjs → web-preview-D8GQHCjs.cjs} +1 -1
- package/package.json +29 -30
- package/dist/css-import-modal--bSJR-_y.cjs +0 -13
- package/dist/index-B-rSiAp_.cjs +0 -1
- package/dist/index-B0e71wJ1.cjs +0 -160
- package/dist/index-DKuwxj1x.cjs +0 -5
- package/dist/index-Dxfyt4d4.js +0 -39
- package/dist/page-revisions-content-CefqOvKX.cjs +0 -1
- package/dist/register-chai-top-bar-BqwKw4uy.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),q=require("./register-chai-top-bar-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),q=require("./register-chai-top-bar-DWTuRU53.cjs"),f=require("./index-Bm8iS2OH.cjs"),r=require("./index-BRJCj7c_.cjs"),U=require("./page-manager-search-and-filter-BKdQUJ2W.cjs"),F=require("@tanstack/react-query"),t=require("lodash-es"),b=require("lucide-react"),a=require("react"),M=()=>{const l=r.useApiUrl(),d=r.useFetch();return F.useQuery({queryKey:[r.ACTIONS.GET_CHANGES],queryFn:async()=>d(l,{action:r.ACTIONS.GET_CHANGES})})},G=({page:l,selectedPages:d,handleCheckboxChange:N,getPageType:y,hasSlug:h,currentOwnerId:c})=>{const x=r.useUserId(),{data:u}=r.useChaiUserInfo(c),o=c===x?null:u==null?void 0:u.name;return e.jsxs("tr",{className:"group relative border-b last:border-b-0 hover:bg-gray-50",children:[e.jsxs("td",{scope:"row",className:`flex items-center gap-x-1 whitespace-nowrap px-6 py-2 text-gray-900 dark:text-white ${o?"opacity-50":""}`,children:[o?e.jsx(b.Lock,{className:"h-4 w-4 fill-red-200 text-red-500"}):e.jsx("input",{checked:t.includes(d,l==null?void 0:l.id),onClick:p=>{p.stopPropagation(),N(l==null?void 0:l.id)},type:"checkbox",className:"cursor-pointer rounded focus:outline-none focus:ring-0"})," ",h(l.pageType)?e.jsx(b.File,{className:"h-4 w-4"}):e.jsx(b.GlobeIcon,{className:"h-4 w-4"}),e.jsx(r.Tooltip,{content:l.name,side:"top",showTooltip:l.name.length>25,children:e.jsx("span",{className:"max-w-[200px] truncate font-medium text-black",children:l.name})}),l.slug&&e.jsx(r.Tooltip,{content:l.slug,side:"top",showTooltip:l.slug.length>25,children:e.jsx("span",{className:"max-w-[200px] truncate font-mono text-xs text-muted-foreground",children:l.slug})})]}),e.jsx("td",{className:"px-2",children:y(l==null?void 0:l.pageType)}),e.jsx("td",{className:"px-4 text-right",children:t.first(l.changes)||""}),e.jsx(e.Fragment,{children:o&&e.jsxs("button",{className:"absolute right-0 top-0 flex h-full items-center gap-x-1 rounded bg-red-50 px-2 py-0.5 text-xs font-light text-red-500 opacity-0 group-hover:opacity-100",children:[e.jsx(b.Edit,{size:12,className:"stroke-[3]"})," ",e.jsx("span",{className:"font-medium",children:o})," is editing this page"]})})]},l==null?void 0:l.id)},O=({onClose:l=()=>{},isPending:d,publishPage:N})=>{const y=r.useUserId(),{pageToUser:h}=r.usePageToUser(),[c,x]=a.useState([]),u=r.useFallbackLang(),[o,p]=a.useState(u),{data:T,isFetching:C}=M(),{data:m}=r.usePageTypes(),k=a.useCallback(s=>{var n;return(n=t.find(m,{key:s}))==null?void 0:n.hasSlug},[m]),j=a.useMemo(()=>t.filter(m,s=>!k(s.key)).map(s=>s.key),[k,m]),P=t.uniq(t.map(T,"lang")).filter(Boolean),i=a.useMemo(()=>t.filter(T,s=>s.pageType==="theme"?!1:o===u?s.lang===o||s.lang==="":s.lang===o),[T,o,u]),w=a.useMemo(()=>t.filter(i,s=>!j.includes(s.pageType)),[i,j]),S=a.useMemo(()=>t.filter(i,s=>j.includes(s.pageType)),[i,j]);a.useEffect(()=>{const s=t.map(t.filter(i,{online:!0}),"id");a.startTransition(()=>x(s))},[i]),a.useEffect(()=>{const s=t.filter(t.keys(h),n=>t.get(h,[n,"userId"])!==y);a.startTransition(()=>x(n=>t.filter(n,g=>!t.includes(s,g))))},[h,y]);const v=c.length===(i==null?void 0:i.length),E=s=>{x(n=>t.includes(n,s)?t.filter(n,g=>g!==s):t.concat(n,s))},B=()=>{x(v?[]:t.map(i,"id"))},I=()=>{N({ids:t.uniq(c)},{onSuccess:()=>{l(),r.throwConfetti("CENTER_CENTER"),p(u)}})},A=s=>{if(s==="theme")return"Theme";const n=t.find(m,{key:s});return n?n==null?void 0:n.name:s},L=a.useMemo(()=>{const s=[{label:"Updated",top:"pt-2"},...t.orderBy(t.filter(w,{online:!0}),"pageType"),...t.orderBy(t.filter(S,{online:!0}),"pageType")].filter(g=>g.pageType!=="theme"),n=[{label:"Offline",top:"pt-6"},...t.orderBy(t.filter(w,{online:!1}),"pageType"),...t.orderBy(t.filter(S,{online:!1}),"pageType")];return[...s,...n]},[w,S]);return e.jsxs(f.DialogContent,{className:"flex max-h-[80%] max-w-4xl flex-col",children:[e.jsxs(f.DialogHeader,{children:[e.jsx(f.DialogTitle,{children:"Publish changes"}),e.jsx(f.DialogDescription,{className:"text-xs",children:"Select the pages you want to publish. Click publish when you're done."})]}),P.length>0&&e.jsx("div",{className:"my-[2px] mt-0",children:e.jsx(U.LanguageSelector,{languages:[u,...P],selectedLanguage:o,setSelectedLanguage:p})}),e.jsx("div",{className:"no-scrollbar relative -mx-4 -mt-4 h-full max-h-full overflow-y-auto",children:C?e.jsxs("div",{className:"space-y-2 px-1",children:[e.jsx("div",{className:"mt-2 h-6 w-full animate-pulse rounded bg-gray-200"}),e.jsx("div",{className:"h-6 w-full animate-pulse rounded bg-gray-200"}),e.jsx("div",{className:"h-6 w-full animate-pulse rounded bg-gray-200"}),e.jsx("div",{className:"h-6 w-full animate-pulse rounded bg-gray-200"})]}):e.jsxs("table",{className:"w-full text-left text-xs text-gray-500 dark:text-gray-400 rtl:text-right",children:[e.jsx("thead",{className:"sticky top-0 z-10 border-b bg-gray-50 text-gray-700 dark:bg-gray-700 dark:text-gray-400",children:e.jsxs("tr",{children:[e.jsxs("th",{scope:"col",className:"w-[1 50px] flex items-center gap-x-2 px-6 py-3",children:[e.jsx("input",{checked:v,onClick:s=>{s.stopPropagation(),B()},type:"checkbox",className:"mt-1 cursor-pointer rounded focus:outline-none focus:ring-0"}),"Name"]}),e.jsx("th",{scope:"col",className:"w-[150px] px-2 py-3",children:"Type"}),e.jsx("th",{scope:"col",className:"w-[150px] px-4 py-3 text-right",children:"Status"})]})}),e.jsx("tbody",{children:t.map(L,s=>s.label?e.jsx("tr",{children:e.jsxs("td",{colSpan:3,className:`relative px-6 py-2 text-xs font-medium text-gray-800 ${s.top}`,children:[e.jsx("div",{className:"absolute inset-0 left-6 flex items-center",children:e.jsx("div",{className:"order-gray-300 w-full"})}),e.jsx("div",{className:"relative flex justify-start",children:e.jsx("span",{className:"bg-gray-50 pr-2",children:s.label})})]})},"separator"):e.jsx(G,{page:s,selectedPages:c,handleCheckboxChange:E,getPageType:A,hasSlug:k,currentOwnerId:t.get(h,[(s==null?void 0:s.primaryPage)||(s==null?void 0:s.id),"userId"])}))})]})}),e.jsxs(f.DialogFooter,{className:"mt-10 flex items-center justify-center",children:[c.length>0&&e.jsxs("span",{className:"text-center text-sm text-muted-foreground",children:[c.length," Page",c.length!==1?"s":""," Selected"]}),e.jsx(q.Button,{disabled:d,variant:"outline",onClick:l,children:"Cancel"}),e.jsx(q.Button,{disabled:d||C||t.isEmpty(c),onClick:I,children:d?"Publishing...":"Publish Selected"})]})]})};exports.default=O;
|
|
@@ -13,6 +13,56 @@ import { useTranslation as G } from "react-i18next";
|
|
|
13
13
|
function l(...e) {
|
|
14
14
|
return H(j(e));
|
|
15
15
|
}
|
|
16
|
+
const _ = o.forwardRef(
|
|
17
|
+
({ className: e, type: t, ...r }, a) => /* @__PURE__ */ s(
|
|
18
|
+
"input",
|
|
19
|
+
{
|
|
20
|
+
type: t,
|
|
21
|
+
className: l(
|
|
22
|
+
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
23
|
+
e
|
|
24
|
+
),
|
|
25
|
+
ref: a,
|
|
26
|
+
...r
|
|
27
|
+
}
|
|
28
|
+
)
|
|
29
|
+
);
|
|
30
|
+
_.displayName = "Input";
|
|
31
|
+
const W = S(
|
|
32
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
33
|
+
{
|
|
34
|
+
variants: {
|
|
35
|
+
variant: {
|
|
36
|
+
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
37
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
38
|
+
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
39
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
40
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
41
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
42
|
+
},
|
|
43
|
+
size: {
|
|
44
|
+
default: "h-9 px-4 py-2",
|
|
45
|
+
sm: "h-8 rounded-md px-3 text-xs",
|
|
46
|
+
lg: "h-10 rounded-md px-8",
|
|
47
|
+
icon: "h-9 w-9"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
defaultVariants: {
|
|
51
|
+
variant: "default",
|
|
52
|
+
size: "default"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
), y = o.forwardRef(
|
|
56
|
+
({ className: e, variant: t, size: r, asChild: a = !1, ...n }, h) => /* @__PURE__ */ s(
|
|
57
|
+
a ? $ : "button",
|
|
58
|
+
{
|
|
59
|
+
className: l(W({ variant: t, size: r, className: e })),
|
|
60
|
+
ref: h,
|
|
61
|
+
...n
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
);
|
|
65
|
+
y.displayName = "Button";
|
|
16
66
|
const p = {}, de = (e, t) => {
|
|
17
67
|
p[e] = {
|
|
18
68
|
id: e,
|
|
@@ -34,9 +84,9 @@ const p = {}, de = (e, t) => {
|
|
|
34
84
|
}, fe = (e) => Object.values(p).filter((t) => t.type === e).reduce(
|
|
35
85
|
(t, r) => (t[r.id] = r.component, t),
|
|
36
86
|
{}
|
|
37
|
-
),
|
|
38
|
-
E(
|
|
39
|
-
}, pe = () => i(() => w(
|
|
87
|
+
), C = {}, me = (e, t) => {
|
|
88
|
+
E(C, e) && console.warn(`Add block tab with id ${e} already registered`), N(C, e, { id: e, ...t });
|
|
89
|
+
}, pe = () => i(() => w(C), []), f = {}, q = (e, t) => {
|
|
40
90
|
if (f[e])
|
|
41
91
|
throw new Error(`Flag ${e} already exists`);
|
|
42
92
|
f[e] = { key: e, value: !1, ...t };
|
|
@@ -44,21 +94,21 @@ const p = {}, de = (e, t) => {
|
|
|
44
94
|
Object.entries(e).forEach(([t, r]) => {
|
|
45
95
|
if (f[t])
|
|
46
96
|
throw new Error(`Flag ${t} already exists`);
|
|
47
|
-
|
|
97
|
+
q(t, r);
|
|
48
98
|
});
|
|
49
|
-
}, ve = () => f,
|
|
50
|
-
const [t] = R(
|
|
99
|
+
}, ve = () => f, B = U("chai-feature-flags", []), J = (e) => {
|
|
100
|
+
const [t] = R(B);
|
|
51
101
|
return t.includes(e);
|
|
52
102
|
}, be = (e) => {
|
|
53
|
-
const [t, r] = R(
|
|
103
|
+
const [t, r] = R(B);
|
|
54
104
|
return () => {
|
|
55
105
|
t.includes(e) ? r(t.filter((n) => n !== e)) : r([...t, e]);
|
|
56
106
|
};
|
|
57
|
-
}, xe = ({ flagKey: e, children: t }) =>
|
|
107
|
+
}, xe = ({ flagKey: e, children: t }) => J(e) ? t : null;
|
|
58
108
|
let A = {};
|
|
59
109
|
const ye = (e, t) => {
|
|
60
110
|
A[e] = { ...t, id: e };
|
|
61
|
-
}, Ce = (e) => A[e], we = () => w(A),
|
|
111
|
+
}, Ce = (e) => A[e], we = () => w(A), K = S(
|
|
62
112
|
"relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
|
|
63
113
|
{
|
|
64
114
|
variants: {
|
|
@@ -71,66 +121,16 @@ const ye = (e, t) => {
|
|
|
71
121
|
variant: "default"
|
|
72
122
|
}
|
|
73
123
|
}
|
|
74
|
-
),
|
|
75
|
-
|
|
76
|
-
const
|
|
124
|
+
), L = o.forwardRef(({ className: e, variant: t, ...r }, a) => /* @__PURE__ */ s("div", { ref: a, role: "alert", className: l(K({ variant: t }), e), ...r }));
|
|
125
|
+
L.displayName = "Alert";
|
|
126
|
+
const X = o.forwardRef(
|
|
77
127
|
({ className: e, ...t }, r) => /* @__PURE__ */ s("h5", { ref: r, className: l("mb-1 font-medium leading-none tracking-tight", e), ...t })
|
|
78
128
|
);
|
|
79
|
-
|
|
80
|
-
const L = o.forwardRef(
|
|
81
|
-
({ className: e, ...t }, r) => /* @__PURE__ */ s("div", { ref: r, className: l("text-sm [&_p]:leading-relaxed", e), ...t })
|
|
82
|
-
);
|
|
83
|
-
L.displayName = "AlertDescription";
|
|
84
|
-
const X = S(
|
|
85
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
86
|
-
{
|
|
87
|
-
variants: {
|
|
88
|
-
variant: {
|
|
89
|
-
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
90
|
-
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
91
|
-
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
92
|
-
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
93
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
94
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
95
|
-
},
|
|
96
|
-
size: {
|
|
97
|
-
default: "h-9 px-4 py-2",
|
|
98
|
-
sm: "h-8 rounded-md px-3 text-xs",
|
|
99
|
-
lg: "h-10 rounded-md px-8",
|
|
100
|
-
icon: "h-9 w-9"
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
defaultVariants: {
|
|
104
|
-
variant: "default",
|
|
105
|
-
size: "default"
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
), C = o.forwardRef(
|
|
109
|
-
({ className: e, variant: t, size: r, asChild: a = !1, ...n }, h) => /* @__PURE__ */ s(
|
|
110
|
-
a ? $ : "button",
|
|
111
|
-
{
|
|
112
|
-
className: l(X({ variant: t, size: r, className: e })),
|
|
113
|
-
ref: h,
|
|
114
|
-
...n
|
|
115
|
-
}
|
|
116
|
-
)
|
|
117
|
-
);
|
|
118
|
-
C.displayName = "Button";
|
|
129
|
+
X.displayName = "AlertTitle";
|
|
119
130
|
const I = o.forwardRef(
|
|
120
|
-
({ className: e,
|
|
121
|
-
"input",
|
|
122
|
-
{
|
|
123
|
-
type: t,
|
|
124
|
-
className: l(
|
|
125
|
-
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
126
|
-
e
|
|
127
|
-
),
|
|
128
|
-
ref: a,
|
|
129
|
-
...r
|
|
130
|
-
}
|
|
131
|
-
)
|
|
131
|
+
({ className: e, ...t }, r) => /* @__PURE__ */ s("div", { ref: r, className: l("text-sm [&_p]:leading-relaxed", e), ...t })
|
|
132
132
|
);
|
|
133
|
-
I.displayName = "
|
|
133
|
+
I.displayName = "AlertDescription";
|
|
134
134
|
const Y = ({ close: e, onSelect: t, mode: r = "image" }) => {
|
|
135
135
|
const [a, n] = u(""), [h, v] = u(!1), [P, b] = u(!1), [F, c] = u(null), D = async (x) => {
|
|
136
136
|
if (!x.trim()) {
|
|
@@ -147,13 +147,13 @@ const Y = ({ close: e, onSelect: t, mode: r = "image" }) => {
|
|
|
147
147
|
}, { t: d } = G();
|
|
148
148
|
return /* @__PURE__ */ g("div", { className: "flex w-96 flex-col gap-4 p-4", children: [
|
|
149
149
|
/* @__PURE__ */ s("h2", { className: "text-xl font-semibold", children: d(`${r.charAt(0).toUpperCase() + r.slice(1)} Manager`) }),
|
|
150
|
-
F && /* @__PURE__ */ g(
|
|
150
|
+
F && /* @__PURE__ */ g(L, { variant: "destructive", children: [
|
|
151
151
|
/* @__PURE__ */ s(z, { className: "h-4 w-4" }),
|
|
152
|
-
/* @__PURE__ */ s(
|
|
152
|
+
/* @__PURE__ */ s(I, { children: F })
|
|
153
153
|
] }),
|
|
154
154
|
/* @__PURE__ */ g("div", { className: "flex flex-col gap-4", children: [
|
|
155
155
|
/* @__PURE__ */ s(
|
|
156
|
-
|
|
156
|
+
_,
|
|
157
157
|
{
|
|
158
158
|
placeholder: d(`Enter ${r} URL`),
|
|
159
159
|
value: a,
|
|
@@ -162,9 +162,9 @@ const Y = ({ close: e, onSelect: t, mode: r = "image" }) => {
|
|
|
162
162
|
}
|
|
163
163
|
),
|
|
164
164
|
/* @__PURE__ */ g("div", { className: "flex justify-end gap-2", children: [
|
|
165
|
-
/* @__PURE__ */ s(
|
|
165
|
+
/* @__PURE__ */ s(y, { variant: "outline", onClick: e, children: d("Cancel") }),
|
|
166
166
|
/* @__PURE__ */ s(
|
|
167
|
-
|
|
167
|
+
y,
|
|
168
168
|
{
|
|
169
169
|
onClick: () => t({ id: "dam-id", url: a, width: 600, height: 400, description: "This is image description" }),
|
|
170
170
|
disabled: !P || h,
|
|
@@ -199,23 +199,23 @@ const Ne = (e) => {
|
|
|
199
199
|
O.component = e;
|
|
200
200
|
}, Ie = () => i(() => O.component, []);
|
|
201
201
|
export {
|
|
202
|
-
|
|
203
|
-
|
|
202
|
+
C as A,
|
|
203
|
+
y as B,
|
|
204
204
|
m as C,
|
|
205
|
-
|
|
205
|
+
L as D,
|
|
206
206
|
l as E,
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
I as F,
|
|
208
|
+
W as G,
|
|
209
209
|
xe as I,
|
|
210
210
|
p as R,
|
|
211
211
|
ue as a,
|
|
212
212
|
ge as b,
|
|
213
213
|
me as c,
|
|
214
214
|
pe as d,
|
|
215
|
-
|
|
215
|
+
q as e,
|
|
216
216
|
he as f,
|
|
217
217
|
ve as g,
|
|
218
|
-
|
|
218
|
+
J as h,
|
|
219
219
|
be as i,
|
|
220
220
|
ye as j,
|
|
221
221
|
Ce as k,
|
|
@@ -233,5 +233,5 @@ export {
|
|
|
233
233
|
Be as w,
|
|
234
234
|
Le as x,
|
|
235
235
|
Ie as y,
|
|
236
|
-
|
|
236
|
+
_ as z
|
|
237
237
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const i=require("lodash-es"),n=require("react"),B=require("jotai"),P=require("jotai/utils"),s=require("react/jsx-runtime"),L=require("class-variance-authority"),D=require("clsx"),q=require("tailwind-merge"),H=require("@radix-ui/react-slot"),V=require("@radix-ui/react-icons"),U=require("react-i18next");function $(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const u=$(n);function o(...e){return q.twMerge(D.clsx(e))}const y=u.forwardRef(({className:e,type:t,...r},a)=>s.jsx("input",{type:t,className:o("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:a,...r}));y.displayName="Input";const M=L.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),p=u.forwardRef(({className:e,variant:t,size:r,asChild:a=!1,...l},b)=>{const g=a?H.Slot:"button";return s.jsx(g,{className:o(M({variant:t,size:r,className:e})),ref:b,...l})});p.displayName="Button";const d={},z=(e,t)=>{d[e]={id:e,component:t,type:"widget"}},G=(e,t)=>{d[e]={id:e,component:t,type:"field"}},W=(e,t)=>{d[e]={id:e,component:t,type:"template"}},J=e=>Object.values(d).filter(t=>t.type===e).reduce((t,r)=>(t[r.id]=r.component,t),{}),m={},K=(e,t)=>{i.has(m,e)&&console.warn(`Add block tab with id ${e} already registered`),i.set(m,e,{id:e,...t})},X=()=>n.useMemo(()=>i.values(m),[]),v={},_=(e,t)=>{if(v[e])throw new Error(`Flag ${e} already exists`);v[e]={key:e,value:!1,...t}},Y=e=>{Object.entries(e).forEach(([t,r])=>{if(v[t])throw new Error(`Flag ${t} already exists`);_(t,r)})},Q=()=>v,j=P.atomWithStorage("chai-feature-flags",[]),E=e=>{const[t]=B.useAtom(j);return t.includes(e)},Z=e=>{const[t,r]=B.useAtom(j);return()=>{t.includes(e)?r(t.filter(l=>l!==e)):r([...t,e])}},ee=({flagKey:e,children:t})=>E(e)?t:null;let S={};const te=(e,t)=>{S[e]={...t,id:e}},re=e=>S[e],se=()=>i.values(S),ae=L.cva("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),T=u.forwardRef(({className:e,variant:t,...r},a)=>s.jsx("div",{ref:a,role:"alert",className:o(ae({variant:t}),e),...r}));T.displayName="Alert";const ne=u.forwardRef(({className:e,...t},r)=>s.jsx("h5",{ref:r,className:o("mb-1 font-medium leading-none tracking-tight",e),...t}));ne.displayName="AlertTitle";const A=u.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:o("text-sm [&_p]:leading-relaxed",e),...t}));A.displayName="AlertDescription";const ie=({close:e,onSelect:t,mode:r="image"})=>{const[a,l]=n.useState(""),[b,g]=n.useState(!1),[k,x]=n.useState(!1),[w,f]=n.useState(null),O=async C=>{if(!C.trim()){x(!1),f("Please enter a URL");return}try{g(!0),f(null),x(!0),f(null)}catch{x(!1),f("Error validating URL")}finally{g(!1)}},{t:h}=U.useTranslation();return s.jsxs("div",{className:"flex w-96 flex-col gap-4 p-4",children:[s.jsx("h2",{className:"text-xl font-semibold",children:h(`${r.charAt(0).toUpperCase()+r.slice(1)} Manager`)}),w&&s.jsxs(T,{variant:"destructive",children:[s.jsx(V.ExclamationTriangleIcon,{className:"h-4 w-4"}),s.jsx(A,{children:w})]}),s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsx(y,{placeholder:h(`Enter ${r} URL`),value:a,onChange:C=>l(C.target.value),onKeyUp:()=>O(a)}),s.jsxs("div",{className:"flex justify-end gap-2",children:[s.jsx(p,{variant:"outline",onClick:e,children:h("Cancel")}),s.jsx(p,{onClick:()=>t({id:"dam-id",url:a,width:600,height:400,description:"This is image description"}),disabled:!k||b,children:h("Insert")})]})]})]})},I={component:ie},oe=e=>{I.component=e},le=()=>n.useMemo(()=>I.component,[]);let N=async e=>e;const ce=e=>{N=e},ue=async e=>await N(e);let F=null;const de=e=>{F=e},ge=()=>n.useMemo(()=>F,[]),fe=()=>{F=null},c={},he=(e,t)=>{i.has(c,e)&&console.warn(`Panel ${e} already registered. Overriding...`),i.set(c,e,{id:e,...t})},pe=e=>n.useMemo(()=>i.filter(i.values(c),t=>t.position===e),[e,c]),me=()=>s.jsx("div",{}),R={component:me},ve=e=>{R.component=e},be=()=>n.useMemo(()=>R.component,[]);exports.ADD_BLOCK_TABS=m;exports.Alert=T;exports.AlertDescription=A;exports.Button=p;exports.CHAI_BUILDER_PANELS=c;exports.IfChaiFeatureFlag=ee;exports.Input=y;exports.RJSF_EXTENSIONS=d;exports.buttonVariants=M;exports.cn=o;exports.getChaiLibrary=re;exports.getPreImportHTML=ue;exports.registerBlockSettingField=G;exports.registerBlockSettingTemplate=W;exports.registerBlockSettingWidget=z;exports.registerChaiAddBlockTab=K;exports.registerChaiFeatureFlag=_;exports.registerChaiFeatureFlags=Y;exports.registerChaiLibrary=te;exports.registerChaiMediaManager=oe;exports.registerChaiPreImportHTMLHook=ce;exports.registerChaiSaveToLibrary=de;exports.registerChaiSidebarPanel=he;exports.registerChaiTopBar=ve;exports.resetSaveToLibrary=fe;exports.useBlockSettingComponents=J;exports.useChaiAddBlockTabs=X;exports.useChaiFeatureFlag=E;exports.useChaiFeatureFlags=Q;exports.useChaiLibraries=se;exports.useChaiSidebarPanels=pe;exports.useMediaManagerComponent=le;exports.useSaveToLibraryComponent=ge;exports.useToggleChaiFeatureFlag=Z;exports.useTopBarComponent=be;
|
package/dist/render.d.ts
CHANGED
|
@@ -10,8 +10,9 @@ declare type ChaiBlock<T = Record<string, any>> = {
|
|
|
10
10
|
_id: string;
|
|
11
11
|
_name?: string;
|
|
12
12
|
_parent?: string | null | undefined;
|
|
13
|
-
_type: string;
|
|
14
13
|
_libBlock?: string;
|
|
14
|
+
_type: string;
|
|
15
|
+
partialBlockId?: string;
|
|
15
16
|
} & T;
|
|
16
17
|
|
|
17
18
|
declare type ChaiFontViaUrl = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("./index-Bm8iS2OH.cjs"),p=require("./register-chai-top-bar-DWTuRU53.cjs"),S=({isOpen:m,onClose:r,editor:t,rteElement:f})=>{const a=s.usePageExternalData(),u=o=>{if(!t)return;const i=`{{${o}}}`;t.commands.focus();const{from:j,to:g}=t.state.selection;if(j!==g)t.chain().deleteSelection().insertContent(i).run();else{const{state:c}=t,n=c.selection.from,x=c.doc.textBetween(Math.max(0,n-1),n),l=c.doc.textBetween(n,Math.min(n+1,c.doc.content.size));let d="";n>0&&x!==" "&&!/[.,!?;:]/.test(x)&&(d=" ");let h="";l&&l!==" "&&!/[.,!?;:]/.test(l)&&(h=" "),t.chain().insertContent(d+i+h).run()}};return e.jsx(s.Dialog,{open:m,onOpenChange:o=>!o&&r(),children:e.jsxs(s.DialogContent,{className:"max-h-[90vh] overflow-y-auto sm:max-w-[800px]",children:[e.jsx(s.DialogHeader,{children:e.jsxs(s.DialogTitle,{className:"flex items-center justify-between pr-8",children:[e.jsx("span",{children:"Rich Text Editor"}),a&&Object.keys(a).length>0&&e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:"mr-2 text-sm text-muted-foreground",children:"Add field:"}),e.jsx("div",{className:"rte-path-selector",children:e.jsx(s.NestedPathSelector,{data:a,onSelect:u})})]})]})}),f,e.jsx("div",{className:"mt-4 flex justify-end",children:e.jsx(p.Button,{onClick:r,children:"Done"})})]})})};exports.default=S;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as e, jsxs as l } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { g as D, D as N, d as S, e as j, f as v, N as w } from "./index-BK0xWO1z.js";
|
|
3
|
+
import { B } from "./register-chai-top-bar-CX_JkRJn.js";
|
|
4
4
|
const M = ({
|
|
5
5
|
isOpen: f,
|
|
6
6
|
onClose: r,
|
|
7
7
|
editor: t,
|
|
8
8
|
rteElement: x
|
|
9
9
|
}) => {
|
|
10
|
-
const a =
|
|
10
|
+
const a = D(), u = (c) => {
|
|
11
11
|
if (!t) return;
|
|
12
12
|
const i = `{{${c}}}`;
|
|
13
13
|
t.commands.focus();
|
|
@@ -22,16 +22,16 @@ const M = ({
|
|
|
22
22
|
o && o !== " " && !/[.,!?;:]/.test(o) && (h = " "), t.chain().insertContent(m + i + h).run();
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
return /* @__PURE__ */ e(
|
|
26
|
-
/* @__PURE__ */ e(
|
|
25
|
+
return /* @__PURE__ */ e(N, { open: f, onOpenChange: (c) => !c && r(), children: /* @__PURE__ */ l(S, { className: "max-h-[90vh] overflow-y-auto sm:max-w-[800px]", children: [
|
|
26
|
+
/* @__PURE__ */ e(j, { children: /* @__PURE__ */ l(v, { className: "flex items-center justify-between pr-8", children: [
|
|
27
27
|
/* @__PURE__ */ e("span", { children: "Rich Text Editor" }),
|
|
28
28
|
a && Object.keys(a).length > 0 && /* @__PURE__ */ l("div", { className: "flex items-center", children: [
|
|
29
29
|
/* @__PURE__ */ e("span", { className: "mr-2 text-sm text-muted-foreground", children: "Add field:" }),
|
|
30
|
-
/* @__PURE__ */ e("div", { className: "rte-path-selector", children: /* @__PURE__ */ e(
|
|
30
|
+
/* @__PURE__ */ e("div", { className: "rte-path-selector", children: /* @__PURE__ */ e(w, { data: a, onSelect: u }) })
|
|
31
31
|
] })
|
|
32
32
|
] }) }),
|
|
33
33
|
x,
|
|
34
|
-
/* @__PURE__ */ e("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ e(
|
|
34
|
+
/* @__PURE__ */ e("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ e(B, { onClick: r, children: "Done" }) })
|
|
35
35
|
] }) });
|
|
36
36
|
};
|
|
37
37
|
export {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./register-chai-top-bar-DWTuRU53.cjs");exports.ADD_BLOCK_TABS=e.ADD_BLOCK_TABS;exports.CHAI_BUILDER_PANELS=e.CHAI_BUILDER_PANELS;exports.IfChaiFeatureFlag=e.IfChaiFeatureFlag;exports.RJSF_EXTENSIONS=e.RJSF_EXTENSIONS;exports.getChaiLibrary=e.getChaiLibrary;exports.getPreImportHTML=e.getPreImportHTML;exports.registerBlockSettingField=e.registerBlockSettingField;exports.registerBlockSettingTemplate=e.registerBlockSettingTemplate;exports.registerBlockSettingWidget=e.registerBlockSettingWidget;exports.registerChaiAddBlockTab=e.registerChaiAddBlockTab;exports.registerChaiFeatureFlag=e.registerChaiFeatureFlag;exports.registerChaiFeatureFlags=e.registerChaiFeatureFlags;exports.registerChaiLibrary=e.registerChaiLibrary;exports.registerChaiMediaManager=e.registerChaiMediaManager;exports.registerChaiPreImportHTMLHook=e.registerChaiPreImportHTMLHook;exports.registerChaiSaveToLibrary=e.registerChaiSaveToLibrary;exports.registerChaiSidebarPanel=e.registerChaiSidebarPanel;exports.registerChaiTopBar=e.registerChaiTopBar;exports.resetSaveToLibrary=e.resetSaveToLibrary;exports.useBlockSettingComponents=e.useBlockSettingComponents;exports.useChaiAddBlockTabs=e.useChaiAddBlockTabs;exports.useChaiFeatureFlag=e.useChaiFeatureFlag;exports.useChaiFeatureFlags=e.useChaiFeatureFlags;exports.useChaiLibraries=e.useChaiLibraries;exports.useChaiSidebarPanels=e.useChaiSidebarPanels;exports.useMediaManagerComponent=e.useMediaManagerComponent;exports.useSaveToLibraryComponent=e.useSaveToLibraryComponent;exports.useToggleChaiFeatureFlag=e.useToggleChaiFeatureFlag;exports.useTopBarComponent=e.useTopBarComponent;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { ComponentType } from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare const ADD_BLOCK_TABS: Record<string, AddBlockTab>;
|
|
5
|
+
|
|
6
|
+
export declare type AddBlockTab = {
|
|
7
|
+
id: string;
|
|
8
|
+
tab: React.ComponentType;
|
|
9
|
+
tabContent: React.ComponentType;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export declare const CHAI_BUILDER_PANELS: Record<string, ChaiSidebarPanel>;
|
|
13
|
+
|
|
14
|
+
declare type ChaiAsset = {
|
|
15
|
+
url: string;
|
|
16
|
+
id?: string;
|
|
17
|
+
thumbnailUrl?: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
width?: number;
|
|
20
|
+
height?: number;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
declare type ChaiBlock<T = Record<string, any>> = {
|
|
24
|
+
_id: string;
|
|
25
|
+
_name?: string;
|
|
26
|
+
_parent?: string | null | undefined;
|
|
27
|
+
_libBlock?: string;
|
|
28
|
+
_type: string;
|
|
29
|
+
partialBlockId?: string;
|
|
30
|
+
} & T;
|
|
31
|
+
|
|
32
|
+
declare type ChaiFlagOptions = {
|
|
33
|
+
key: string;
|
|
34
|
+
value?: any;
|
|
35
|
+
description?: string;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
declare type ChaiLibrary<T = Record<string, any>> = {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
blocks?: ChaiLibraryBlock[];
|
|
42
|
+
description?: string;
|
|
43
|
+
} & T;
|
|
44
|
+
|
|
45
|
+
declare type ChaiLibraryBlock<T = Record<string, any>> = {
|
|
46
|
+
id: string;
|
|
47
|
+
group: string;
|
|
48
|
+
name: string;
|
|
49
|
+
preview?: string;
|
|
50
|
+
tags?: string[];
|
|
51
|
+
description?: string;
|
|
52
|
+
} & T;
|
|
53
|
+
|
|
54
|
+
declare type ChaiLibraryConfig<T> = {
|
|
55
|
+
id: string;
|
|
56
|
+
name: string;
|
|
57
|
+
description: string;
|
|
58
|
+
getBlocksList: (library: ChaiLibrary) => Promise<ChaiLibraryBlock<T>[]>;
|
|
59
|
+
getBlock: ({ library, block, }: {
|
|
60
|
+
library: ChaiLibrary;
|
|
61
|
+
block: ChaiLibraryBlock<T>;
|
|
62
|
+
}) => Promise<HTMLString | ChaiBlock[]>;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export declare interface ChaiSidebarPanel {
|
|
66
|
+
id: string;
|
|
67
|
+
position: "top" | "bottom";
|
|
68
|
+
view?: "standard" | "modal" | "overlay" | "drawer";
|
|
69
|
+
button: React.ComponentType<{
|
|
70
|
+
isActive: boolean;
|
|
71
|
+
show: () => void;
|
|
72
|
+
panelId: string;
|
|
73
|
+
position: "top" | "bottom";
|
|
74
|
+
}>;
|
|
75
|
+
label: string;
|
|
76
|
+
panel?: ComponentType;
|
|
77
|
+
width?: number;
|
|
78
|
+
isInternal?: boolean;
|
|
79
|
+
icon?: React.ReactNode;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export declare const getChaiLibrary: (id: string) => ChaiLibraryConfig<any>;
|
|
83
|
+
|
|
84
|
+
export declare const getPreImportHTML: (code: string) => Promise<string>;
|
|
85
|
+
|
|
86
|
+
declare type HTMLString = string;
|
|
87
|
+
|
|
88
|
+
export declare const IfChaiFeatureFlag: ({ flagKey, children }: {
|
|
89
|
+
flagKey: string;
|
|
90
|
+
children: React.ReactNode;
|
|
91
|
+
}) => ReactNode;
|
|
92
|
+
|
|
93
|
+
export declare type MediaManagerProps = {
|
|
94
|
+
assetId?: string;
|
|
95
|
+
close: () => void;
|
|
96
|
+
onSelect: (assets: ChaiAsset | ChaiAsset[]) => void;
|
|
97
|
+
mode?: "image" | "video" | "audio";
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export declare const registerBlockSettingField: (id: string, component: React.ComponentType<any>) => void;
|
|
101
|
+
|
|
102
|
+
export declare const registerBlockSettingTemplate: (id: string, component: React.ComponentType<any>) => void;
|
|
103
|
+
|
|
104
|
+
export declare const registerBlockSettingWidget: (id: string, component: React.ComponentType<any>) => void;
|
|
105
|
+
|
|
106
|
+
export declare const registerChaiAddBlockTab: (id: string, tab: Omit<AddBlockTab, "id">) => void;
|
|
107
|
+
|
|
108
|
+
export declare const registerChaiFeatureFlag: (key: string, flagOptions: Omit<ChaiFlagOptions, "key">) => void;
|
|
109
|
+
|
|
110
|
+
export declare const registerChaiFeatureFlags: (flags: Record<string, Omit<ChaiFlagOptions, "key">>) => void;
|
|
111
|
+
|
|
112
|
+
export declare const registerChaiLibrary: <T extends Record<string, any> = Record<string, any>>(id: string, library: Omit<ChaiLibraryConfig<T>, "id">) => void;
|
|
113
|
+
|
|
114
|
+
export declare const registerChaiMediaManager: (component: React.ComponentType<MediaManagerProps>) => void;
|
|
115
|
+
|
|
116
|
+
export declare const registerChaiPreImportHTMLHook: (fn: (code: string) => Promise<string>) => void;
|
|
117
|
+
|
|
118
|
+
export declare const registerChaiSaveToLibrary: (component: ComponentType<SaveToLibraryProps>) => void;
|
|
119
|
+
|
|
120
|
+
export declare const registerChaiSidebarPanel: (panelId: string, panelOptions: Omit<ChaiSidebarPanel, "id">) => void;
|
|
121
|
+
|
|
122
|
+
export declare const registerChaiTopBar: (component: React.ComponentType) => void;
|
|
123
|
+
|
|
124
|
+
export declare const resetSaveToLibrary: () => void;
|
|
125
|
+
|
|
126
|
+
export declare const RJSF_EXTENSIONS: Record<string, {
|
|
127
|
+
id: string;
|
|
128
|
+
component: React.ComponentType<any>;
|
|
129
|
+
type: string;
|
|
130
|
+
}>;
|
|
131
|
+
|
|
132
|
+
export declare type SaveToLibraryProps = {
|
|
133
|
+
blockId: string;
|
|
134
|
+
blocks: ChaiBlock[];
|
|
135
|
+
close: () => void;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
export declare const useBlockSettingComponents: (type: "widget" | "field" | "template") => Record<string, React.ComponentType<any>>;
|
|
139
|
+
|
|
140
|
+
export declare const useChaiAddBlockTabs: () => AddBlockTab[];
|
|
141
|
+
|
|
142
|
+
export declare const useChaiFeatureFlag: (flagKey: string) => boolean;
|
|
143
|
+
|
|
144
|
+
export declare const useChaiFeatureFlags: () => Record<string, ChaiFlagOptions>;
|
|
145
|
+
|
|
146
|
+
export declare const useChaiLibraries: () => ChaiLibraryConfig<any>[];
|
|
147
|
+
|
|
148
|
+
export declare const useChaiSidebarPanels: (position: "top" | "bottom") => ChaiSidebarPanel[];
|
|
149
|
+
|
|
150
|
+
export declare const useMediaManagerComponent: () => ComponentType<MediaManagerProps>;
|
|
151
|
+
|
|
152
|
+
export declare const useSaveToLibraryComponent: () => ComponentType<SaveToLibraryProps> | null;
|
|
153
|
+
|
|
154
|
+
export declare const useToggleChaiFeatureFlag: (flagKey: string) => () => void;
|
|
155
|
+
|
|
156
|
+
export declare const useTopBarComponent: () => ComponentType< {}>;
|
|
157
|
+
|
|
158
|
+
export { }
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { A as s, C as r, I as i, R as t, k as g, o, a as C, b as h, r as l, c as n, e as u, f as F, j as S, m as T, p as b, q as d, v as p, x as B, t as L, u as m, d as k, h as c, g as A, l as I, w as y, n as M, s as P, i as _, y as v } from "./register-chai-top-bar-CX_JkRJn.js";
|
|
2
|
+
export {
|
|
3
|
+
s as ADD_BLOCK_TABS,
|
|
4
|
+
r as CHAI_BUILDER_PANELS,
|
|
5
|
+
i as IfChaiFeatureFlag,
|
|
6
|
+
t as RJSF_EXTENSIONS,
|
|
7
|
+
g as getChaiLibrary,
|
|
8
|
+
o as getPreImportHTML,
|
|
9
|
+
C as registerBlockSettingField,
|
|
10
|
+
h as registerBlockSettingTemplate,
|
|
11
|
+
l as registerBlockSettingWidget,
|
|
12
|
+
n as registerChaiAddBlockTab,
|
|
13
|
+
u as registerChaiFeatureFlag,
|
|
14
|
+
F as registerChaiFeatureFlags,
|
|
15
|
+
S as registerChaiLibrary,
|
|
16
|
+
T as registerChaiMediaManager,
|
|
17
|
+
b as registerChaiPreImportHTMLHook,
|
|
18
|
+
d as registerChaiSaveToLibrary,
|
|
19
|
+
p as registerChaiSidebarPanel,
|
|
20
|
+
B as registerChaiTopBar,
|
|
21
|
+
L as resetSaveToLibrary,
|
|
22
|
+
m as useBlockSettingComponents,
|
|
23
|
+
k as useChaiAddBlockTabs,
|
|
24
|
+
c as useChaiFeatureFlag,
|
|
25
|
+
A as useChaiFeatureFlags,
|
|
26
|
+
I as useChaiLibraries,
|
|
27
|
+
y as useChaiSidebarPanels,
|
|
28
|
+
M as useMediaManagerComponent,
|
|
29
|
+
P as useSaveToLibraryComponent,
|
|
30
|
+
_ as useToggleChaiFeatureFlag,
|
|
31
|
+
v as useTopBarComponent
|
|
32
|
+
};
|
package/dist/runtime.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("lodash-es"),r=require("./register-partial-type-ig9fUWIJ.cjs"),t=require("./core-Y0lXLwkq.cjs"),s=require("./fonts-B-Xt29pe.cjs"),C=t.setChaiServerBlockDataProvider,l="#styles:",p=e=>{const n=["_type","_id","_parent","_bindings","_name"],g=["$loading","blockProps","inBuilder","lang","draft","pageProps","pageData","children"],o=i.keys(e.properties);if(i.intersection(o,n).length>0)throw new Error(`Reserved props are not allowed: ${i.intersection(o,n).join(", ")}`);if(i.intersection(o,g).length>0)throw new Error(`Runtime props are not allowed in schema: ${i.intersection(o,g).join(", ")}`);const a=i.get(e,"properties",{}),c={};return i.each(a,(h,u)=>{i.isEmpty(h.ui)||(c[u]={...h.ui},delete a[u].ui)}),{schema:i.isEmpty(a)?{}:{...i.omit(e,["ui"])},uiSchema:{...i.get(e,"ui",{}),...c}}},d=(e="")=>({type:"string",styles:!0,default:`${l},${e}`,ui:{"ui:widget":"hidden"}}),P=(e="")=>({type:"string",styles:!0,default:`${l},${e}`,ui:{"ui:widget":"hidden"}}),B=e=>(console.warn("runtimeProp is deprecated, use builderProp instead"),{runtime:!0,...e}),k=e=>({builderProp:!0,...e}),y=e=>`${l},${e}`;Object.defineProperty(exports,"CHAI_GLOBAL_DATA_PROVIDER",{enumerable:!0,get:()=>r.CHAI_GLOBAL_DATA_PROVIDER});exports.COLLECTIONS=r.COLLECTIONS;exports.PAGE_TYPES=r.PAGE_TYPES;exports.getChaiCollection=r.getChaiCollection;exports.getChaiCollections=r.getChaiCollections;exports.getChaiGlobalData=r.getChaiGlobalData;exports.getChaiPageType=r.getChaiPageType;exports.getChaiPageTypes=r.getChaiPageTypes;exports.registerChaiCollection=r.registerChaiCollection;exports.registerChaiGlobalDataProvider=r.registerChaiGlobalDataProvider;exports.registerChaiPageType=r.registerChaiPageType;exports.registerChaiPartialType=r.registerChaiPartialType;exports.closestBlockProp=t.closestBlockProp;exports.getAIBlockProps=t.getAIBlockProps;exports.getBlockFormSchemas=t.getBlockFormSchemas;exports.getDefaultBlockProps=t.getDefaultBlockProps;exports.getI18nBlockProps=t.getI18nBlockProps;exports.getRegisteredChaiBlock=t.getRegisteredChaiBlock;exports.registerChaiBlock=t.registerChaiBlock;exports.registerChaiServerBlock=t.registerChaiServerBlock;exports.setChaiBlockComponent=t.setChaiBlockComponent;exports.setChaiServerBlockDataProvider=t.setChaiServerBlockDataProvider;exports.syncBlocksWithDefaults=t.syncBlocksWithDefaults;exports.useRegisteredChaiBlock=t.useRegisteredChaiBlock;exports.useRegisteredChaiBlocks=t.useRegisteredChaiBlocks;exports.getAllRegisteredFonts=s.getAllRegisteredFonts;exports.getRegisteredFont=s.getRegisteredFont;exports.registerChaiFont=s.registerChaiFont;exports.useRegisteredFonts=s.useRegisteredFonts;exports.StylesProp=d;exports.builderProp=k;exports.defaultChaiStyles=y;exports.registerChaiBlockSchema=p;exports.runtimeProp=B;exports.setChaiBlockDataProvider=C;exports.stylesProp=P;
|