@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.
Files changed (136) hide show
  1. package/README.md +73 -50
  2. package/dist/{2SSKDMRQ-BIryEtW-.cjs → 2SSKDMRQ-DHv4u_0i.cjs} +1 -1
  3. package/dist/{2SSKDMRQ-trME0kvt.js → 2SSKDMRQ-DewwiCoQ.js} +2 -2
  4. package/dist/{AP7HFJJL-CAGB9iMp.js → AP7HFJJL-ComnZw7J.js} +1 -1
  5. package/dist/{AP7HFJJL-5ZR38Hyh.cjs → AP7HFJJL-cz754qhG.cjs} +1 -1
  6. package/dist/{IconPicker-Mu75ni5T.js → IconPicker-2H9IGKMS.js} +2 -2
  7. package/dist/{IconPicker-CQ-BgNNU.cjs → IconPicker-U0Z2dWeR.cjs} +1 -1
  8. package/dist/{WDYDFRGG-n8sBZVFG.cjs → WDYDFRGG-BfRX3M58.cjs} +1 -1
  9. package/dist/{WDYDFRGG-Cd4hRWj-.js → WDYDFRGG-vy7nMYD4.js} +2 -2
  10. package/dist/{actions-registery-JdxhXhT6.cjs → actions-registery-CtQSSexG.cjs} +31 -31
  11. package/dist/{actions-registery-y_ENc8zj.js → actions-registery-DqrFhSMp.js} +2414 -2418
  12. package/dist/actions.cjs +1 -1
  13. package/dist/actions.d.ts +0 -34
  14. package/dist/actions.js +3 -3
  15. package/dist/{active-in-another-tab-Cb6tnX9u.js → active-in-another-tab-5hn17Jeq.js} +3 -3
  16. package/dist/{active-in-another-tab-CZLV-uAW.cjs → active-in-another-tab-ijahI5qu.cjs} +1 -1
  17. package/dist/{add-new-language-page-BKcBaqZu.js → add-new-language-page-DmOyPy0u.js} +4 -4
  18. package/dist/{add-new-language-page-C3UzNV7W.cjs → add-new-language-page-vmNKNx-e.cjs} +1 -1
  19. package/dist/{add-new-page-pH3PwqJe.js → add-new-page-NHScAQn8.js} +2 -2
  20. package/dist/{add-new-page-mULv9r3z.cjs → add-new-page-XDuCkOyb.cjs} +1 -1
  21. package/dist/{ai-panel-content-BPgRdgye.cjs → ai-panel-content-BDqW16AW.cjs} +1 -1
  22. package/dist/{ai-panel-content-CNxN84pv.js → ai-panel-content-CHJ0JcQI.js} +4 -4
  23. package/dist/{ai-panel-default-lang-CYcHjk8U.js → ai-panel-default-lang-BIomgsN0.js} +4 -4
  24. package/dist/{ai-panel-default-lang-DhTPtPgD.cjs → ai-panel-default-lang-HeYWpbMu.cjs} +2 -2
  25. package/dist/{ai-panel-other-lang-CGNU3-FI.cjs → ai-panel-other-lang-BMelEs3p.cjs} +1 -1
  26. package/dist/{ai-panel-other-lang-D8Ofvj8F.js → ai-panel-other-lang-CbAgG-qX.js} +3 -3
  27. package/dist/{ai-prompt-input-Ceuy5bs3.js → ai-prompt-input-BH8LOVT4.js} +2 -2
  28. package/dist/{ai-prompt-input-CUutJjlf.cjs → ai-prompt-input-C_GG6nwq.cjs} +1 -1
  29. package/dist/{ai-translation-prompt-CoCPLEed.cjs → ai-translation-prompt-CkHaFv5I.cjs} +1 -1
  30. package/dist/{ai-translation-prompt-BiepZRcN.js → ai-translation-prompt-DxsNw8YR.js} +2 -2
  31. package/dist/{code-display-DloSPyPr.cjs → code-display-9Onx6RCq.cjs} +1 -1
  32. package/dist/{code-display-Ck81Id9K.js → code-display-oa1j0ri7.js} +1 -1
  33. package/dist/{code-editor-Z14ByBIv.js → code-editor-CGBAc-A6.js} +1 -1
  34. package/dist/{code-editor-C1ewJzDJ.cjs → code-editor-GV8ibQ4h.cjs} +1 -1
  35. package/dist/{continue-editing-in-this-client-k9Ab5E63.cjs → continue-editing-in-this-client-DKHP0pq8.cjs} +1 -1
  36. package/dist/{continue-editing-in-this-client-Byi6ER3L.js → continue-editing-in-this-client-Da8ab_9d.js} +3 -3
  37. package/dist/core.cjs +1 -1
  38. package/dist/core.d.ts +1 -90
  39. package/dist/core.js +22 -34
  40. package/dist/css-import-modal-B4j26_cO.cjs +13 -0
  41. package/dist/{css-import-modal-De7Kvg5C.js → css-import-modal-CcZVLsF9.js} +5 -4
  42. package/dist/{delete-design-token-C6s-ESB_.cjs → delete-design-token-3-WwqXMO.cjs} +1 -1
  43. package/dist/{delete-design-token-B97CnFDU.js → delete-design-token-DzINIVtO.js} +1 -1
  44. package/dist/{delete-page-Djn97HiP.cjs → delete-page-B7ODELqM.cjs} +1 -1
  45. package/dist/{delete-page-Dnf97ZHP.js → delete-page-DwZDMwfI.js} +3 -3
  46. package/dist/{design-token-usage-B-SykAjD.js → design-token-usage-DQf180Lg.js} +2 -2
  47. package/dist/{design-token-usage-OTd93kS8.cjs → design-token-usage-Dy08kcIc.cjs} +1 -1
  48. package/dist/{digital-asset-manager-DHYRXaaq.cjs → digital-asset-manager-C7subULa.cjs} +1 -1
  49. package/dist/{digital-asset-manager-b8gDuLnI.js → digital-asset-manager-CDy9kHZO.js} +4 -4
  50. package/dist/{duplicate-page-C4Ovp8Ff.cjs → duplicate-page-CWQ9aMd9.cjs} +1 -1
  51. package/dist/{duplicate-page-Bdtpl7_R.js → duplicate-page-DTnSztlr.js} +4 -4
  52. package/dist/{dynamic-page-selector-B8DdnfrF.cjs → dynamic-page-selector-DJuxLcsM.cjs} +1 -1
  53. package/dist/{dynamic-page-selector-BVnIM1Rq.js → dynamic-page-selector-DYW3ov_u.js} +3 -3
  54. package/dist/{image-editor-C2zOHeKv.cjs → image-editor-C4H3AkZK.cjs} +1 -1
  55. package/dist/{image-editor-cckqPmk5.js → image-editor-DLeSST0K.js} +1 -1
  56. package/dist/{index-CAhEmHYP.js → index-BK0xWO1z.js} +5212 -5680
  57. package/dist/index-BRJCj7c_.cjs +5 -0
  58. package/dist/index-Bm8iS2OH.cjs +160 -0
  59. package/dist/{index-Bn0fFN58.js → index-D5d4QDq7.js} +520 -511
  60. package/dist/{json-diff-viewer-DNizzMnu.js → json-diff-viewer-BYHieVod.js} +3 -3
  61. package/dist/{json-diff-viewer-D9DVIBz4.cjs → json-diff-viewer-g6SY62bl.cjs} +1 -1
  62. package/dist/{lang-panel-DL_BtSRD.js → lang-panel-BG1GMn-1.js} +4 -4
  63. package/dist/{lang-panel-C1dbn163.cjs → lang-panel-Dm1eOO2J.cjs} +1 -1
  64. package/dist/{manage-design-tokens-xxMO_RYg.js → manage-design-tokens-BdWQUHhw.js} +3 -3
  65. package/dist/{manage-design-tokens-CXjYkarE.cjs → manage-design-tokens-XWs_B6jo.cjs} +1 -1
  66. package/dist/{mark-as-template-Ba2bmVd9.js → mark-as-template-D2XxagVO.js} +3 -3
  67. package/dist/{mark-as-template-DF1KIMr0.cjs → mark-as-template-DUFnfVM3.cjs} +1 -1
  68. package/dist/{nested-path-selector-content-Cuk7NB-u.cjs → nested-path-selector-content-CQOx2L9C.cjs} +1 -1
  69. package/dist/{nested-path-selector-content-Br1IWhK5.js → nested-path-selector-content-Wd6-Eql0.js} +2 -2
  70. package/dist/{no-language-page-content-9B2Fm-on.js → no-language-page-content-BOv6TZIk.js} +3 -3
  71. package/dist/{no-language-page-content-CxTp-LIM.cjs → no-language-page-content-C11uF6hs.cjs} +1 -1
  72. package/dist/{no-language-page-dialog-DynACvgV.cjs → no-language-page-dialog-CY5XhXsC.cjs} +1 -1
  73. package/dist/{no-language-page-dialog-CPlKMyb8.js → no-language-page-dialog-DIXyKRJq.js} +2 -2
  74. package/dist/{page-creator-BtyJz2sx.js → page-creator-WX9lMrJY.js} +4 -4
  75. package/dist/{page-creator-Cbfv9N0P.cjs → page-creator-zSUFF4eT.cjs} +1 -1
  76. package/dist/{page-lock-CzsxrmN5.js → page-lock-D9miLZjm.js} +2 -2
  77. package/dist/{page-lock-fRos9wRU.cjs → page-lock-DGhR_url.cjs} +1 -1
  78. package/dist/{page-locked-dialog-D2q9qkPk.js → page-locked-dialog-CNCUCcvH.js} +3 -3
  79. package/dist/{page-locked-dialog-D57d2gvn.cjs → page-locked-dialog-DTLnbfuP.cjs} +1 -1
  80. package/dist/{page-manager-new-D6DVIx2S.js → page-manager-new-BFFOLh-l.js} +4 -4
  81. package/dist/{page-manager-new-aE198gKS.cjs → page-manager-new-Dd2c-Q_O.cjs} +1 -1
  82. package/dist/{page-manager-search-and-filter-DGQEgKzy.cjs → page-manager-search-and-filter-BKdQUJ2W.cjs} +1 -1
  83. package/dist/{page-manager-search-and-filter-CuZkQaZg.js → page-manager-search-and-filter-C1IWF_4d.js} +3 -3
  84. package/dist/page-revisions-content-D0cflnj1.cjs +1 -0
  85. package/dist/{page-revisions-content-5rbicFbD.js → page-revisions-content-DHapiLck.js} +75 -67
  86. package/dist/pages.cjs +1 -1
  87. package/dist/pages.d.ts +2 -1
  88. package/dist/pages.js +1 -1
  89. package/dist/{publish-pages-content-WeGk-YLC.js → publish-pages-content-Bd2zJHtK.js} +4 -4
  90. package/dist/{publish-pages-content-DBb8M3TG.cjs → publish-pages-content-BqLcnKry.cjs} +1 -1
  91. package/dist/{register-chai-top-bar-ESJHs5s-.js → register-chai-top-bar-CX_JkRJn.js} +78 -78
  92. package/dist/register-chai-top-bar-DWTuRU53.cjs +1 -0
  93. package/dist/render.d.ts +2 -1
  94. package/dist/{rte-widget-modal-DBoPRXq-.cjs → rte-widget-modal-DiB5BjH1.cjs} +1 -1
  95. package/dist/{rte-widget-modal-J-_AytmK.js → rte-widget-modal-RS8PMKOn.js} +7 -7
  96. package/dist/runtime-client.cjs +1 -0
  97. package/dist/runtime-client.d.ts +158 -0
  98. package/dist/runtime-client.js +32 -0
  99. package/dist/runtime.cjs +1 -1
  100. package/dist/runtime.d.ts +1 -163
  101. package/dist/runtime.js +71 -72
  102. package/dist/{save-to-lib-CQQxoovF.js → save-to-lib--6ZXHEbC.js} +3 -3
  103. package/dist/{save-to-lib-0ysmXVbI.cjs → save-to-lib-BXJvaC1N.cjs} +1 -1
  104. package/dist/{selected-block-display-BWupQFoQ.cjs → selected-block-display-BfpJda4h.cjs} +1 -1
  105. package/dist/{selected-block-display-CgoXS8Hr.js → selected-block-display-CUnCqXQw.js} +3 -3
  106. package/dist/{seo-panel-B798Myp_.js → seo-panel-Bs-FcY1A.js} +3 -3
  107. package/dist/{seo-panel-BkFbXIL0.cjs → seo-panel-CQITMfZ6.cjs} +1 -1
  108. package/dist/{shared-json-ld-Clg_UEhd.js → shared-json-ld-7EujD341.js} +3 -3
  109. package/dist/{shared-json-ld-Cn3MCW6I.cjs → shared-json-ld-DDXXi-Mj.cjs} +1 -1
  110. package/dist/{slug-input-BHyD8cxk.cjs → slug-input-CsVJAr7r.cjs} +1 -1
  111. package/dist/{slug-input-hX5VaZpj.js → slug-input-DoEIq5rs.js} +2 -2
  112. package/dist/supabase-actions.cjs +1 -1
  113. package/dist/supabase-actions.d.ts +5 -0
  114. package/dist/supabase-actions.js +1 -1
  115. package/dist/{take-over-request-s1L5Yofb.js → take-over-request-C14kJ356.js} +3 -3
  116. package/dist/{take-over-request-Dzczo20q.cjs → take-over-request-D5Oo3MPo.cjs} +1 -1
  117. package/dist/{theme-panel-footer-sK6bYhEb.js → theme-panel-footer-Dvknelm8.js} +3 -3
  118. package/dist/{theme-panel-footer-NTNCL0SW.cjs → theme-panel-footer-Eeibz2JA.cjs} +1 -1
  119. package/dist/{translation-warning-modal-BfM4HGck.cjs → translation-warning-modal-CPzdHzqq.cjs} +1 -1
  120. package/dist/{translation-warning-modal-Jadkcver.js → translation-warning-modal-YlzP2XoO.js} +2 -2
  121. package/dist/{unmark-as-template-CqkHI3gR.cjs → unmark-as-template-BGDwuCnv.cjs} +1 -1
  122. package/dist/{unmark-as-template-D5b775eR.js → unmark-as-template-CPJvQk7L.js} +3 -3
  123. package/dist/{unpublish-page-BT5bCfs6.cjs → unpublish-page-BMowW5wT.cjs} +1 -1
  124. package/dist/{unpublish-page-DLLLgY43.js → unpublish-page-DlFHLlmI.js} +3 -3
  125. package/dist/web-blocks.cjs +1 -1
  126. package/dist/web-blocks.js +43 -43
  127. package/dist/{web-preview-C_yFwxEe.js → web-preview-BUnv3jIc.js} +2 -2
  128. package/dist/{web-preview-DU1MgppY.cjs → web-preview-D8GQHCjs.cjs} +1 -1
  129. package/package.json +29 -30
  130. package/dist/css-import-modal--bSJR-_y.cjs +0 -13
  131. package/dist/index-B-rSiAp_.cjs +0 -1
  132. package/dist/index-B0e71wJ1.cjs +0 -160
  133. package/dist/index-DKuwxj1x.cjs +0 -5
  134. package/dist/index-Dxfyt4d4.js +0 -39
  135. package/dist/page-revisions-content-CefqOvKX.cjs +0 -1
  136. 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-BqwKw4uy.cjs"),f=require("./index-B0e71wJ1.cjs"),r=require("./index-DKuwxj1x.cjs"),U=require("./page-manager-search-and-filter-DGQEgKzy.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;
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
- ), y = {}, me = (e, t) => {
38
- E(y, e) && console.warn(`Add block tab with id ${e} already registered`), N(y, e, { id: e, ...t });
39
- }, pe = () => i(() => w(y), []), f = {}, W = (e, t) => {
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
- W(t, r);
97
+ q(t, r);
48
98
  });
49
- }, ve = () => f, _ = U("chai-feature-flags", []), q = (e) => {
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 }) => q(e) ? t : null;
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), J = S(
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
- ), B = o.forwardRef(({ className: e, variant: t, ...r }, a) => /* @__PURE__ */ s("div", { ref: a, role: "alert", className: l(J({ variant: t }), e), ...r }));
75
- B.displayName = "Alert";
76
- const K = o.forwardRef(
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
- K.displayName = "AlertTitle";
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, type: t, ...r }, a) => /* @__PURE__ */ s(
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 = "Input";
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(B, { variant: "destructive", children: [
150
+ F && /* @__PURE__ */ g(L, { variant: "destructive", children: [
151
151
  /* @__PURE__ */ s(z, { className: "h-4 w-4" }),
152
- /* @__PURE__ */ s(L, { children: F })
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
- I,
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(C, { variant: "outline", onClick: e, children: d("Cancel") }),
165
+ /* @__PURE__ */ s(y, { variant: "outline", onClick: e, children: d("Cancel") }),
166
166
  /* @__PURE__ */ s(
167
- C,
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
- y as A,
203
- C as B,
202
+ C as A,
203
+ y as B,
204
204
  m as C,
205
- B as D,
205
+ L as D,
206
206
  l as E,
207
- L as F,
208
- X as G,
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
- W as e,
215
+ q as e,
216
216
  he as f,
217
217
  ve as g,
218
- q as h,
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
- I as z
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"),p=require("./register-chai-top-bar-BqwKw4uy.cjs"),s=require("./index-B0e71wJ1.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
+ "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 { B as D } from "./register-chai-top-bar-ESJHs5s-.js";
3
- import { g as N, D as S, d as j, e as v, f as w, N as B } from "./index-CAhEmHYP.js";
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 = N(), u = (c) => {
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(S, { open: f, onOpenChange: (c) => !c && r(), children: /* @__PURE__ */ l(j, { className: "max-h-[90vh] overflow-y-auto sm:max-w-[800px]", children: [
26
- /* @__PURE__ */ e(v, { children: /* @__PURE__ */ l(w, { className: "flex items-center justify-between pr-8", children: [
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(B, { data: a, onSelect: u }) })
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(D, { onClick: r, children: "Done" }) })
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 a=require("./index-B-rSiAp_.cjs"),e=require("./register-chai-top-bar-BqwKw4uy.cjs"),t=require("./register-partial-type-ig9fUWIJ.cjs"),i=require("./fonts-B-Xt29pe.cjs"),r=require("./core-Y0lXLwkq.cjs"),o=r.setChaiServerBlockDataProvider;exports.StylesProp=a.StylesProp;exports.builderProp=a.builderProp;exports.defaultChaiStyles=a.defaultChaiStyles;exports.registerChaiBlockSchema=a.registerChaiBlockSchema;exports.runtimeProp=a.runtimeProp;exports.stylesProp=a.stylesProp;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;Object.defineProperty(exports,"CHAI_GLOBAL_DATA_PROVIDER",{enumerable:!0,get:()=>t.CHAI_GLOBAL_DATA_PROVIDER});exports.COLLECTIONS=t.COLLECTIONS;exports.PAGE_TYPES=t.PAGE_TYPES;exports.getChaiCollection=t.getChaiCollection;exports.getChaiCollections=t.getChaiCollections;exports.getChaiGlobalData=t.getChaiGlobalData;exports.getChaiPageType=t.getChaiPageType;exports.getChaiPageTypes=t.getChaiPageTypes;exports.registerChaiCollection=t.registerChaiCollection;exports.registerChaiGlobalDataProvider=t.registerChaiGlobalDataProvider;exports.registerChaiPageType=t.registerChaiPageType;exports.registerChaiPartialType=t.registerChaiPartialType;exports.getAllRegisteredFonts=i.getAllRegisteredFonts;exports.getRegisteredFont=i.getRegisteredFont;exports.registerChaiFont=i.registerChaiFont;exports.useRegisteredFonts=i.useRegisteredFonts;exports.closestBlockProp=r.closestBlockProp;exports.getAIBlockProps=r.getAIBlockProps;exports.getBlockFormSchemas=r.getBlockFormSchemas;exports.getDefaultBlockProps=r.getDefaultBlockProps;exports.getI18nBlockProps=r.getI18nBlockProps;exports.getRegisteredChaiBlock=r.getRegisteredChaiBlock;exports.registerChaiBlock=r.registerChaiBlock;exports.registerChaiServerBlock=r.registerChaiServerBlock;exports.setChaiBlockComponent=r.setChaiBlockComponent;exports.setChaiServerBlockDataProvider=r.setChaiServerBlockDataProvider;exports.syncBlocksWithDefaults=r.syncBlocksWithDefaults;exports.useRegisteredChaiBlock=r.useRegisteredChaiBlock;exports.useRegisteredChaiBlocks=r.useRegisteredChaiBlocks;exports.setChaiBlockDataProvider=o;
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;