@chaibuilder/pages 0.15.1 → 0.15.2

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 (69) hide show
  1. package/dist/{2AITGKQY-GcbF_G3s.cjs → 2AITGKQY-C2afI3G9.cjs} +1 -1
  2. package/dist/{2AITGKQY-a-BJOrVj.js → 2AITGKQY-CpTgZa1B.js} +2 -2
  3. package/dist/{NCMVHL6D-fz7uxKMS.cjs → NCMVHL6D-BdBKMEGN.cjs} +1 -1
  4. package/dist/{NCMVHL6D-CCFQEIik.js → NCMVHL6D-fVqsZOVq.js} +2 -2
  5. package/dist/{ZDWCUMSJ-B87y4E-s.js → ZDWCUMSJ-CTb4F48A.js} +1 -1
  6. package/dist/{ZDWCUMSJ-D40Aht5l.cjs → ZDWCUMSJ-DHGlUoWR.cjs} +1 -1
  7. package/dist/{add-new-language-page-Dyh26P7i.cjs → add-new-language-page-CY2hL7A-.cjs} +1 -1
  8. package/dist/{add-new-language-page-CxNpkd0L.js → add-new-language-page-DY0789ha.js} +2 -2
  9. package/dist/{add-new-page-DGQqN1GO.js → add-new-page-C6fGkJF9.js} +1 -1
  10. package/dist/{add-new-page-jWn3_pZ4.cjs → add-new-page-DnVeU4g6.cjs} +1 -1
  11. package/dist/{delete-page-Bxl1t_Ue.cjs → delete-page-DZi2DCAb.cjs} +1 -1
  12. package/dist/{delete-page-WnsCggnJ.js → delete-page-hLDHKzbl.js} +1 -1
  13. package/dist/digital-asset-manager-Cj5r9niq.cjs +1 -0
  14. package/dist/digital-asset-manager-CpoNKOFK.js +1001 -0
  15. package/dist/{duplicate-page-CDtfdgyJ.cjs → duplicate-page-CTH0REkv.cjs} +1 -1
  16. package/dist/{duplicate-page-DOloolXy.js → duplicate-page-sdO4hRfo.js} +2 -2
  17. package/dist/{dynamic-page-selector-B-8TUdTG.js → dynamic-page-selector-EfxbLRp-.js} +1 -1
  18. package/dist/{dynamic-page-selector-CcYIfKlO.cjs → dynamic-page-selector-Ki3lEtRJ.cjs} +1 -1
  19. package/dist/image-editor-CRJ0cNde.cjs +1 -0
  20. package/dist/image-editor-DR1FYokM.js +111 -0
  21. package/dist/{index-CguzNa4U.js → index-CdUDr4JM.js} +15 -15
  22. package/dist/{index-CffopOpP.cjs → index-vjYir4bk.cjs} +2 -2
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/{json-diff-viewer-CxFGgqa_.js → json-diff-viewer-BQSgrzoZ.js} +1 -1
  26. package/dist/{json-diff-viewer-DcR1gbkd.cjs → json-diff-viewer-DthVeQzc.cjs} +1 -1
  27. package/dist/{lang-panel-Bi427DLp.js → lang-panel-DJGvZmRK.js} +2 -2
  28. package/dist/{lang-panel-XonHaLBn.cjs → lang-panel-DTDqVZGv.cjs} +1 -1
  29. package/dist/{mark-as-template-BtI1QfuI.cjs → mark-as-template-BNbkAkrD.cjs} +1 -1
  30. package/dist/{mark-as-template-CS68JVP8.js → mark-as-template-C3669ENB.js} +1 -1
  31. package/dist/{no-language-page-content-C5t9cDI4.js → no-language-page-content-DMdFjwWT.js} +1 -1
  32. package/dist/{no-language-page-content-DMqw1cTK.cjs → no-language-page-content-DY-A9YbI.cjs} +1 -1
  33. package/dist/{page-creator-BY2w99Ez.js → page-creator-B_X6PI1J.js} +2 -2
  34. package/dist/{page-creator-BkKT_Xy1.cjs → page-creator-BcoyQ5mT.cjs} +1 -1
  35. package/dist/{page-lock-request-CIRTswpw.cjs → page-lock-request-Cl0GyiJp.cjs} +1 -1
  36. package/dist/{page-lock-request-Z1sTGi6N.js → page-lock-request-DJVlDGsX.js} +1 -1
  37. package/dist/{page-locked-by-dialog-DpBpQ0oI.cjs → page-locked-by-dialog-CZvpeWVu.cjs} +1 -1
  38. package/dist/{page-locked-by-dialog-B2C1M_bK.js → page-locked-by-dialog-DY_jVajL.js} +1 -1
  39. package/dist/{page-manager-new-CSqFLJBd.js → page-manager-new-BKr1R3Yu.js} +2 -2
  40. package/dist/{page-manager-new-tWV46glN.cjs → page-manager-new-v2nHss3Q.cjs} +1 -1
  41. package/dist/{page-manager-search-and-filter-CwuukvKn.cjs → page-manager-search-and-filter-CibEmd6Z.cjs} +1 -1
  42. package/dist/{page-manager-search-and-filter-B9VZzJQd.js → page-manager-search-and-filter-DLrJ5bRM.js} +1 -1
  43. package/dist/{page-revisions-content-BWhJz0_7.cjs → page-revisions-content-Bv1b1HsS.cjs} +1 -1
  44. package/dist/{page-revisions-content-WoIu0uan.js → page-revisions-content-C4hAdUVX.js} +2 -2
  45. package/dist/{publish-pages-content-CkWvQGbm.js → publish-pages-content-B-8X8FzF.js} +2 -2
  46. package/dist/{publish-pages-content-BHDTLdGv.cjs → publish-pages-content-Krawy2bg.cjs} +1 -1
  47. package/dist/{save-to-lib-AkbnWUxR.js → save-to-lib-BV_uNHn3.js} +1 -1
  48. package/dist/{save-to-lib-C0ZfwiAE.cjs → save-to-lib-CiX1h4Po.cjs} +1 -1
  49. package/dist/{seo-panel-Gu3HZveQ.js → seo-panel-BHqhAOiz.js} +1 -1
  50. package/dist/{seo-panel-CiKkn5Jp.cjs → seo-panel-CpjeH5Yl.cjs} +1 -1
  51. package/dist/shared-json-ld-BfkvfAZY.js +650 -0
  52. package/dist/shared-json-ld-C-fV8erH.cjs +1 -0
  53. package/dist/{slug-input-BXNj3cZf.js → slug-input-Dz9A1ksl.js} +1 -1
  54. package/dist/{slug-input-B4w0Ihxn.cjs → slug-input-ssMiXYTG.cjs} +1 -1
  55. package/dist/{theme-panel-footer-68bQaQeh.js → theme-panel-footer-DZSU9bNX.js} +1 -1
  56. package/dist/{theme-panel-footer-DnZs9SzB.cjs → theme-panel-footer-Rmw520a9.cjs} +1 -1
  57. package/dist/{unmark-as-template-MpXMyb0Q.js → unmark-as-template-D8o31xMH.js} +1 -1
  58. package/dist/{unmark-as-template-DFxmzyx4.cjs → unmark-as-template-D_Td5Aeb.cjs} +1 -1
  59. package/dist/{unpublish-page-CCPyMoaC.cjs → unpublish-page-Bca-dVic.cjs} +1 -1
  60. package/dist/{unpublish-page-Bzouoco9.js → unpublish-page-D9XisIu8.js} +1 -1
  61. package/dist/{web-preview-B3-o8BoT.cjs → web-preview-BddtAY2w.cjs} +1 -1
  62. package/dist/{web-preview-D9PcexXy.js → web-preview-Dn1aCs5v.js} +1 -1
  63. package/package.json +1 -1
  64. package/dist/digital-asset-manager-ClyooOJY.js +0 -976
  65. package/dist/digital-asset-manager-DrXotZ_n.cjs +0 -1
  66. package/dist/image-editor-BWLJT1mr.cjs +0 -1
  67. package/dist/image-editor-CzFST20j.js +0 -104
  68. package/dist/shared-json-ld-BPaeG1gf.cjs +0 -1
  69. package/dist/shared-json-ld-CsyZjZdT.js +0 -557
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("./index-CffopOpP.cjs"),S=require("@tanstack/react-query"),N=require("sonner"),a=require("@chaibuilder/sdk/ui"),v=require("lodash-es"),E=require("lucide-react"),g=require("react"),q=require("./slug-input-B4w0Ihxn.cjs"),C=()=>{const t=p.useApiUrl(),r=S.useQueryClient(),h=p.useFetch();return S.useMutation({mutationFn:async({pageId:c,name:u,slug:o})=>{const s={pageId:c,name:u};return o&&(s.slug=o),await h(t,{action:"DUPLICATE_PAGE",data:s})},onSuccess:()=>{r.invalidateQueries({queryKey:[p.ACTIONS.GET_WEBSITE_PAGES]}),N.toast.success("Page duplicated successfully")},onError:c=>{N.toast.error("Failed to duplicate page",{description:c.message||"An error occurred while duplicating the page"})}})},A=({page:t,onClose:r,closePanel:h=()=>{}})=>{const{mutate:c,isPending:u}=C(),[o,s]=g.useState(null),[d,P]=g.useState(`${t.name} (Copy)`),D=p.useChangePage(),i=v.isEmpty(t.slug),[m,b]=g.useState(i?"":`${t.slug.split("/").pop()}-copy`),j=i?"":v.initial(t.slug.split("/")).join("/"),[f,x]=g.useState(!1),I=n=>{if(n.preventDefault(),!d.trim()){s("Name is required");return}if(!i&&!m.trim()){s("Slug is required");return}s(null),x(!0);const y={pageId:t.id,name:d};i||(y.slug=`${j}/${m}`),c(y,{onSuccess:l=>{x(!1),r(),D(l.id,h)},onError:l=>{x(!1),l.code==="SLUG_EXISTS"?s("A page with this slug already exists. Please choose a different slug."):l.code==="INVALID_SLUG"?s("The slug format is invalid. Please use only lowercase letters, numbers, and hyphens."):l.code==="PERMISSION_DENIED"?s("You don't have permission to duplicate this page."):s(l.message||"Failed to duplicate page. Please try again later.")}})};return e.jsx(a.Dialog,{open:!!t,onOpenChange:r,children:e.jsxs(a.DialogContent,{className:"sm:max-w-[425px]",children:[e.jsxs(a.DialogHeader,{children:[e.jsx(a.DialogTitle,{children:"Duplicate Page"}),e.jsx(a.DialogDescription,{children:"Create a copy of the page with a new name and slug"})]}),e.jsxs("div",{className:"mb-4 rounded-md bg-gray-50 p-3",children:[e.jsx("h3",{className:"mb-1 text-sm font-medium",children:"Duplicating:"}),e.jsxs("div",{className:"flex flex-col gap-1 text-sm text-gray-700",children:[e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:"Name:"})," ",t.name]}),!i&&e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:"Slug:"})," ",t.slug]}),e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:"Type:"})," ",t.pageType]})]})]}),e.jsxs("form",{onSubmit:I,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:"name",className:"text-sm",children:"Name"}),e.jsx(a.Input,{id:"name",value:d,onChange:n=>P(n.target.value),required:!0})]}),!i&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:"slug",className:"text-sm",children:"Slug"}),e.jsx(q.SlugInput,{value:m,onChange:n=>b(n),parentSlug:j,onValidationChange:n=>{s(n?null:"Invalid slug")}})]}),o&&e.jsxs(a.Alert,{variant:"destructive",className:"py-2",children:[e.jsx(E.AlertCircle,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:o})]}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(a.Button,{type:"button",variant:"outline",onClick:r,disabled:u,children:"Cancel"}),e.jsx(a.Button,{type:"submit",disabled:!d.trim()||!i&&!m.trim()||u||f,children:u||f?"Duplicating...":"Duplicate"})]})]})]})})};exports.default=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("./index-vjYir4bk.cjs"),S=require("@tanstack/react-query"),N=require("sonner"),a=require("@chaibuilder/sdk/ui"),v=require("lodash-es"),E=require("lucide-react"),g=require("react"),q=require("./slug-input-ssMiXYTG.cjs"),C=()=>{const t=p.useApiUrl(),r=S.useQueryClient(),h=p.useFetch();return S.useMutation({mutationFn:async({pageId:c,name:u,slug:o})=>{const s={pageId:c,name:u};return o&&(s.slug=o),await h(t,{action:"DUPLICATE_PAGE",data:s})},onSuccess:()=>{r.invalidateQueries({queryKey:[p.ACTIONS.GET_WEBSITE_PAGES]}),N.toast.success("Page duplicated successfully")},onError:c=>{N.toast.error("Failed to duplicate page",{description:c.message||"An error occurred while duplicating the page"})}})},A=({page:t,onClose:r,closePanel:h=()=>{}})=>{const{mutate:c,isPending:u}=C(),[o,s]=g.useState(null),[d,P]=g.useState(`${t.name} (Copy)`),D=p.useChangePage(),i=v.isEmpty(t.slug),[m,b]=g.useState(i?"":`${t.slug.split("/").pop()}-copy`),j=i?"":v.initial(t.slug.split("/")).join("/"),[f,x]=g.useState(!1),I=n=>{if(n.preventDefault(),!d.trim()){s("Name is required");return}if(!i&&!m.trim()){s("Slug is required");return}s(null),x(!0);const y={pageId:t.id,name:d};i||(y.slug=`${j}/${m}`),c(y,{onSuccess:l=>{x(!1),r(),D(l.id,h)},onError:l=>{x(!1),l.code==="SLUG_EXISTS"?s("A page with this slug already exists. Please choose a different slug."):l.code==="INVALID_SLUG"?s("The slug format is invalid. Please use only lowercase letters, numbers, and hyphens."):l.code==="PERMISSION_DENIED"?s("You don't have permission to duplicate this page."):s(l.message||"Failed to duplicate page. Please try again later.")}})};return e.jsx(a.Dialog,{open:!!t,onOpenChange:r,children:e.jsxs(a.DialogContent,{className:"sm:max-w-[425px]",children:[e.jsxs(a.DialogHeader,{children:[e.jsx(a.DialogTitle,{children:"Duplicate Page"}),e.jsx(a.DialogDescription,{children:"Create a copy of the page with a new name and slug"})]}),e.jsxs("div",{className:"mb-4 rounded-md bg-gray-50 p-3",children:[e.jsx("h3",{className:"mb-1 text-sm font-medium",children:"Duplicating:"}),e.jsxs("div",{className:"flex flex-col gap-1 text-sm text-gray-700",children:[e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:"Name:"})," ",t.name]}),!i&&e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:"Slug:"})," ",t.slug]}),e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:"Type:"})," ",t.pageType]})]})]}),e.jsxs("form",{onSubmit:I,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:"name",className:"text-sm",children:"Name"}),e.jsx(a.Input,{id:"name",value:d,onChange:n=>P(n.target.value),required:!0})]}),!i&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:"slug",className:"text-sm",children:"Slug"}),e.jsx(q.SlugInput,{value:m,onChange:n=>b(n),parentSlug:j,onValidationChange:n=>{s(n?null:"Invalid slug")}})]}),o&&e.jsxs(a.Alert,{variant:"destructive",className:"py-2",children:[e.jsx(E.AlertCircle,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:o})]}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(a.Button,{type:"button",variant:"outline",onClick:r,disabled:u,children:"Cancel"}),e.jsx(a.Button,{type:"submit",disabled:!d.trim()||!i&&!m.trim()||u||f,children:u||f?"Duplicating...":"Duplicate"})]})]})]})})};exports.default=A;
@@ -1,12 +1,12 @@
1
1
  import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
- import { al as b, am as C, A, an as T } from "./index-CguzNa4U.js";
2
+ import { al as b, am as C, A, an as T } from "./index-CdUDr4JM.js";
3
3
  import { useQueryClient as w, useMutation as F } from "@tanstack/react-query";
4
4
  import { toast as S } from "sonner";
5
5
  import { Dialog as _, DialogContent as q, DialogHeader as G, DialogTitle as L, DialogDescription as U, Label as v, Input as j, Alert as $, Button as D } from "@chaibuilder/sdk/ui";
6
6
  import { isEmpty as O, initial as B } from "lodash-es";
7
7
  import { AlertCircle as M } from "lucide-react";
8
8
  import { useState as p } from "react";
9
- import { S as Q } from "./slug-input-BXNj3cZf.js";
9
+ import { S as Q } from "./slug-input-Dz9A1ksl.js";
10
10
  const V = () => {
11
11
  const t = b(), r = w(), g = C();
12
12
  return F({
@@ -4,7 +4,7 @@ import { DropdownMenu as h, DropdownMenuTrigger as p, Button as m, DropdownMenuC
4
4
  import { get as v } from "lodash-es";
5
5
  import { ChevronDown as w } from "lucide-react";
6
6
  import { useRef as b, useEffect as N } from "react";
7
- import { k as y } from "./index-CguzNa4U.js";
7
+ import { k as y } from "./index-CdUDr4JM.js";
8
8
  const D = ({
9
9
  isDefaultLang: e,
10
10
  searchQuery: l,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),x=require("@chaibuilder/sdk"),a=require("@chaibuilder/sdk/ui"),h=require("lodash-es"),p=require("lucide-react"),d=require("react"),g=require("./index-CffopOpP.cjs"),f=({isDefaultLang:r,searchQuery:l,setSearchQuery:c})=>e.jsx(a.Input,{type:"text",autoFocus:!0,value:r?l:"",onChange:t=>c(t.target.value),placeholder:r?"Search pages...":"To search select default language",disabled:!r,onKeyDown:t=>t.stopPropagation()}),m=({dynamicPage:r,setDynamicPage:l,searchQuery:c,setSearchQuery:t,dynamicPages:n})=>{const{selectedLang:o,fallbackLang:i}=x.useLanguages(),u=(o==null?void 0:o.length)===0;return e.jsxs(a.DropdownMenu,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(a.Button,{variant:"ghost",className:"w-max focus:outline-none focus:ring-0 border-[0px] rounded-md py-1 text-sm h-max border border-gray-200 hover:bg-gray-100 pl-4",children:[r?h.get(r,"name"):"Select Page",e.jsx(p.ChevronDown,{className:"ml-2 h-4 w-4"})]})}),e.jsxs(a.DropdownMenuContent,{className:"w-96 divide-y shadow-xl p-0 max-h-[75vh]",children:[e.jsx("div",{className:"p-1.5 bg-gray-50/30",children:e.jsx(f,{isDefaultLang:u,searchQuery:c,setSearchQuery:t})}),(n==null?void 0:n.length)===0?e.jsx("div",{className:"h-24 text-xs flex items-center justify-center",children:"No pages found"}):n==null?void 0:n.map(s=>e.jsx(a.DropdownMenuItem,{onClick:()=>l(s),disabled:u?i!==s.lang:o!==s.lang,className:`flex flex-col justify-start cursor-pointer overflow-x-auto whitespace-nowrap no-scrollbar ${s.id===(r==null?void 0:r.id)?"bg-blue-50":"hover:bg-gray-50"}`,children:e.jsx("div",{className:"w-full text-xs whitespace-nowrap px-2 py-[2px]",children:e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx("span",{className:"font-medium",children:s.name}),e.jsx("span",{className:"font-mono font-medium text-gray-500 text-xs rounded-full px-2 py-[1px] border border-gray-300 truncate",children:s.slug})]})})},s.id))]})]})},j=()=>{const{dynamicPage:r,dynamicPages:l,allLangPages:c,selectedLang:t,searchQuery:n,updateDynamicPage:o,updateSearchQuery:i,onChangeLanguage:u}=g.useDynamicPageSelector(),s=d.useRef(void 0);return d.useEffect(()=>{s.current!==t&&r&&(u(),s.current=t)},[t,l]),e.jsx("div",{className:"relative",children:e.jsx(m,{dynamicPage:r,setDynamicPage:o,searchQuery:n,setSearchQuery:i,dynamicPages:c})})};exports.default=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),x=require("@chaibuilder/sdk"),a=require("@chaibuilder/sdk/ui"),h=require("lodash-es"),p=require("lucide-react"),d=require("react"),g=require("./index-vjYir4bk.cjs"),f=({isDefaultLang:r,searchQuery:l,setSearchQuery:c})=>e.jsx(a.Input,{type:"text",autoFocus:!0,value:r?l:"",onChange:t=>c(t.target.value),placeholder:r?"Search pages...":"To search select default language",disabled:!r,onKeyDown:t=>t.stopPropagation()}),m=({dynamicPage:r,setDynamicPage:l,searchQuery:c,setSearchQuery:t,dynamicPages:n})=>{const{selectedLang:o,fallbackLang:i}=x.useLanguages(),u=(o==null?void 0:o.length)===0;return e.jsxs(a.DropdownMenu,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(a.Button,{variant:"ghost",className:"w-max focus:outline-none focus:ring-0 border-[0px] rounded-md py-1 text-sm h-max border border-gray-200 hover:bg-gray-100 pl-4",children:[r?h.get(r,"name"):"Select Page",e.jsx(p.ChevronDown,{className:"ml-2 h-4 w-4"})]})}),e.jsxs(a.DropdownMenuContent,{className:"w-96 divide-y shadow-xl p-0 max-h-[75vh]",children:[e.jsx("div",{className:"p-1.5 bg-gray-50/30",children:e.jsx(f,{isDefaultLang:u,searchQuery:c,setSearchQuery:t})}),(n==null?void 0:n.length)===0?e.jsx("div",{className:"h-24 text-xs flex items-center justify-center",children:"No pages found"}):n==null?void 0:n.map(s=>e.jsx(a.DropdownMenuItem,{onClick:()=>l(s),disabled:u?i!==s.lang:o!==s.lang,className:`flex flex-col justify-start cursor-pointer overflow-x-auto whitespace-nowrap no-scrollbar ${s.id===(r==null?void 0:r.id)?"bg-blue-50":"hover:bg-gray-50"}`,children:e.jsx("div",{className:"w-full text-xs whitespace-nowrap px-2 py-[2px]",children:e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx("span",{className:"font-medium",children:s.name}),e.jsx("span",{className:"font-mono font-medium text-gray-500 text-xs rounded-full px-2 py-[1px] border border-gray-300 truncate",children:s.slug})]})})},s.id))]})]})},j=()=>{const{dynamicPage:r,dynamicPages:l,allLangPages:c,selectedLang:t,searchQuery:n,updateDynamicPage:o,updateSearchQuery:i,onChangeLanguage:u}=g.useDynamicPageSelector(),s=d.useRef(void 0);return d.useEffect(()=>{s.current!==t&&r&&(u(),s.current=t)},[t,l]),e.jsx("div",{className:"relative",children:e.jsx(m,{dynamicPage:r,setDynamicPage:o,searchQuery:n,setSearchQuery:i,dynamicPages:c})})};exports.default=j;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),I=require("@chaibuilder/sdk/ui"),C=require("lodash-es"),g=require("lucide-react"),o=require("react"),E=require("react-filerobot-image-editor"),b=o.memo(({imageUrl:n,onSave:d,onClose:i,defaultSavedImageName:h,isEditing:u=!1})=>{const[c,m]=o.useState(!0),[x,y]=o.useState(!1);o.useEffect(()=>{const e=new Image;return e.src=n,e.onload=()=>y(!0),()=>{e.onload=null}},[n]),o.useEffect(()=>{const e=t=>{t.key==="Escape"&&c&&(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation())};return document.addEventListener("keydown",e,!0),()=>{document.removeEventListener("keydown",e,!0)}},[]);const f=o.useMemo(()=>C.debounce(async(e,t=!1)=>{const a=e.imageBase64;await d(a,t),m(!1)},300),[d]),s=o.useCallback((e,t=!1)=>{f(e,t)},[f]),p=o.useCallback(()=>{m(!1),i()},[i]),r=o.useMemo(()=>({tabsIds:["Adjust","Annotate","Watermark","Finetune","Resize","Filters"],toolsIds:["Rotate"],defaultTabId:"Adjust",defaultToolId:"Rotate"}),[]),v=o.useMemo(()=>({colors:{primary:"#000000",secondary:"#000000",tertiary:"#000000"}}),[]),w=o.useMemo(()=>u?[{label:"Update this file",onClick:(e,t)=>t((...a)=>{s(a[0],!1)}),icon:g.Save},{label:"Save as new file",onClick:(e,t)=>t((...a)=>{s(a[0],!0)}),icon:g.Copy}]:[],[u,s]);return l.jsx(I.Dialog,{open:!0,onOpenChange:e=>!e&&p(),children:l.jsx(I.DialogContent,{id:"chai-image-editor-container",className:"max-w-[1232px] max-h-[1232px] w-[80vw] h-[80vh] space-y-4 flex flex-col p-0",children:c&&x&&l.jsx(E,{theme:v,source:n,onSave:s,onClose:p,Text:{text:"Add text here"},Rotate:{angle:90,componentType:"slider"},tabsIds:r.tabsIds,defaultTabId:r.defaultTabId,defaultToolId:r.defaultToolId,savingPixelRatio:2,previewPixelRatio:1,defaultSavedImageName:h,moreSaveOptions:w,useZoomPresetsMenu:!0,closeAfterSave:!0})})})});b.displayName="ImageEditor";exports.default=b;
@@ -0,0 +1,111 @@
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import { Dialog as C, DialogContent as E } from "@chaibuilder/sdk/ui";
3
+ import { debounce as T } from "lodash-es";
4
+ import { Save as k, Copy as S } from "lucide-react";
5
+ import { memo as R, useState as I, useEffect as g, useMemo as s, useCallback as h } from "react";
6
+ import A from "react-filerobot-image-editor";
7
+ const O = R(
8
+ ({ imageUrl: n, onSave: i, onClose: l, defaultSavedImageName: b, isEditing: m = !1 }) => {
9
+ const [c, u] = I(!0), [x, v] = I(!1);
10
+ g(() => {
11
+ const e = new Image();
12
+ return e.src = n, e.onload = () => v(!0), () => {
13
+ e.onload = null;
14
+ };
15
+ }, [n]), g(() => {
16
+ const e = (t) => {
17
+ t.key === "Escape" && c && (t.preventDefault(), t.stopPropagation(), t.stopImmediatePropagation());
18
+ };
19
+ return document.addEventListener("keydown", e, !0), () => {
20
+ document.removeEventListener("keydown", e, !0);
21
+ };
22
+ }, []);
23
+ const f = s(
24
+ () => T(async (e, t = !1) => {
25
+ const o = e.imageBase64;
26
+ await i(o, t), u(!1);
27
+ }, 300),
28
+ [i]
29
+ ), a = h(
30
+ (e, t = !1) => {
31
+ f(e, t);
32
+ },
33
+ [f]
34
+ ), p = h(() => {
35
+ u(!1), l();
36
+ }, [l]), r = s(
37
+ () => ({
38
+ tabsIds: [
39
+ "Adjust",
40
+ "Annotate",
41
+ "Watermark",
42
+ "Finetune",
43
+ "Resize",
44
+ "Filters"
45
+ ],
46
+ toolsIds: ["Rotate"],
47
+ defaultTabId: "Adjust",
48
+ defaultToolId: "Rotate"
49
+ }),
50
+ []
51
+ ), y = s(
52
+ () => ({
53
+ colors: {
54
+ primary: "#000000",
55
+ secondary: "#000000",
56
+ tertiary: "#000000"
57
+ }
58
+ }),
59
+ []
60
+ ), w = s(
61
+ () => m ? [
62
+ {
63
+ label: "Update this file",
64
+ onClick: (e, t) => t((...o) => {
65
+ a(o[0], !1);
66
+ }),
67
+ icon: k
68
+ },
69
+ {
70
+ label: "Save as new file",
71
+ onClick: (e, t) => t((...o) => {
72
+ a(o[0], !0);
73
+ }),
74
+ icon: S
75
+ }
76
+ ] : [],
77
+ [m, a]
78
+ );
79
+ return /* @__PURE__ */ d(C, { open: !0, onOpenChange: (e) => !e && p(), children: /* @__PURE__ */ d(
80
+ E,
81
+ {
82
+ id: "chai-image-editor-container",
83
+ className: "max-w-[1232px] max-h-[1232px] w-[80vw] h-[80vh] space-y-4 flex flex-col p-0",
84
+ children: c && x && /* @__PURE__ */ d(
85
+ A,
86
+ {
87
+ theme: y,
88
+ source: n,
89
+ onSave: a,
90
+ onClose: p,
91
+ Text: { text: "Add text here" },
92
+ Rotate: { angle: 90, componentType: "slider" },
93
+ tabsIds: r.tabsIds,
94
+ defaultTabId: r.defaultTabId,
95
+ defaultToolId: r.defaultToolId,
96
+ savingPixelRatio: 2,
97
+ previewPixelRatio: 1,
98
+ defaultSavedImageName: b,
99
+ moreSaveOptions: w,
100
+ useZoomPresetsMenu: !0,
101
+ closeAfterSave: !0
102
+ }
103
+ )
104
+ }
105
+ ) });
106
+ }
107
+ );
108
+ O.displayName = "ImageEditor";
109
+ export {
110
+ O as default
111
+ };
@@ -527,7 +527,7 @@ const Ja = ({ query: e, uuid: t }) => {
527
527
  rejectTakeOver: d,
528
528
  requestTakeOver: o
529
529
  };
530
- }, ci = K(() => import("./no-language-page-content-C5t9cDI4.js")), ui = K(() => import("./page-locked-by-dialog-B2C1M_bK.js")), sn = K(() => import("./page-lock-request-Z1sTGi6N.js")), di = ({ isFetchingPage: e }) => {
530
+ }, ci = K(() => import("./no-language-page-content-DMdFjwWT.js")), ui = K(() => import("./page-locked-by-dialog-DY_jVajL.js")), sn = K(() => import("./page-lock-request-DJVlDGsX.js")), di = ({ isFetchingPage: e }) => {
531
531
  const { pageLock: t, requestTakeOver: n } = li(), { currentEditor: s, lockingStatus: r, setLockingStatus: a, realtimePageLockEnabled: i } = Ie(), { data: o, isFetching: l } = si(s), [d] = le(), f = d.get("page"), [u] = Cn(), h = z(), E = $(() => {
532
532
  n();
533
533
  }, [n]);
@@ -788,7 +788,7 @@ const Ln = pe(null), Gn = () => {
788
788
  },
789
789
  placeholderData: (r) => r || {}
790
790
  });
791
- }, hi = K(() => import("./page-manager-new-CSqFLJBd.js")), vs = ({ children: e }) => {
791
+ }, hi = K(() => import("./page-manager-new-BKr1R3Yu.js")), vs = ({ children: e }) => {
792
792
  const [t, n] = le(), s = t.get("page"), { data: r, isFetching: a } = oe(), { data: i, isFetching: o } = ws(), [l, d] = q(!1), [f, u] = q(!0), { savePage: h } = ke(), E = !!s && !ge(r), A = j(() => {
793
793
  if (!i || o) return !1;
794
794
  const S = i.find((C) => C.slug === "/");
@@ -836,7 +836,7 @@ const Ln = pe(null), Gn = () => {
836
836
  }
837
837
  ) })
838
838
  ] });
839
- }, gi = K(() => import("./add-new-language-page-CxNpkd0L.js")), Ei = () => {
839
+ }, gi = K(() => import("./add-new-language-page-DY0789ha.js")), Ei = () => {
840
840
  const e = ae("topLeftCorner", null);
841
841
  return e ? /* @__PURE__ */ c("div", { className: "max-h-9 w-full overflow-hidden pr-2", children: xr.createElement(e, {}) }) : null;
842
842
  }, mi = ({
@@ -978,7 +978,7 @@ function Ai() {
978
978
  /* @__PURE__ */ c(Nt, { className: "h-8 w-8 rounded-full" })
979
979
  ] }, t)) });
980
980
  }
981
- const yi = W.lazy(() => import("./page-revisions-content-WoIu0uan.js"));
981
+ const yi = W.lazy(() => import("./page-revisions-content-C4hAdUVX.js"));
982
982
  function Ti() {
983
983
  const [e, t] = W.useState(!1);
984
984
  return /* @__PURE__ */ c(ms, { children: /* @__PURE__ */ g(Wt, { delayDuration: 0, children: [
@@ -1267,7 +1267,7 @@ const rn = ({
1267
1267
  R.error("Failed to change slug");
1268
1268
  }
1269
1269
  });
1270
- }, wi = K(() => import("./publish-pages-content-CkWvQGbm.js"));
1270
+ }, wi = K(() => import("./publish-pages-content-B-8X8FzF.js"));
1271
1271
  function vi({
1272
1272
  showModal: e = !1,
1273
1273
  onClose: t = () => console.log("Cancelled")
@@ -1348,7 +1348,7 @@ function Dn({
1348
1348
  /* @__PURE__ */ c(Yt, { side: n, sideOffset: 10, children: /* @__PURE__ */ c("p", { children: t }) })
1349
1349
  ] }) }) : e;
1350
1350
  }
1351
- const Ni = K(() => import("./unpublish-page-Bzouoco9.js")), Li = K(() => import("./translation-warning-modal-DalBhNQy.js")), Gi = () => {
1351
+ const Ni = K(() => import("./unpublish-page-D9XisIu8.js")), Li = K(() => import("./translation-warning-modal-DalBhNQy.js")), Gi = () => {
1352
1352
  const { selectedLang: e, fallbackLang: t } = Se(), n = ae("getPreviewUrl", async (u) => u), [s, r] = q(""), { data: a } = oe(), { data: i } = xe(), { data: o } = Ce(), l = j(
1353
1353
  () => {
1354
1354
  var u;
@@ -1644,7 +1644,7 @@ const Ri = ({
1644
1644
  ) })
1645
1645
  ] })
1646
1646
  ] });
1647
- }, Ui = K(() => import("./add-new-page-DGQqN1GO.js")), Bi = K(() => import("./delete-page-WnsCggnJ.js")), Mi = K(() => import("./duplicate-page-DOloolXy.js")), Fi = K(() => import("./mark-as-template-CS68JVP8.js")), qi = K(() => import("./unmark-as-template-MpXMyb0Q.js")), Ki = K(() => import("./unpublish-page-Bzouoco9.js")), Hi = () => {
1647
+ }, Ui = K(() => import("./add-new-page-C6fGkJF9.js")), Bi = K(() => import("./delete-page-hLDHKzbl.js")), Mi = K(() => import("./duplicate-page-sdO4hRfo.js")), Fi = K(() => import("./mark-as-template-C3669ENB.js")), qi = K(() => import("./unmark-as-template-D8o31xMH.js")), Ki = K(() => import("./unpublish-page-D9XisIu8.js")), Hi = () => {
1648
1648
  const [e, t] = q(null), [n, s] = q(null), [r, a] = q(null), [i, o] = q(null), [l, d] = q(null), [f, u] = q(null), { data: h, isFetching: E } = be(), { selectedLang: A, fallbackLang: y } = Se(), { data: T } = xe(), p = T == null ? void 0 : T.find((L) => L.lang === A), { isLocked: S } = Ie(), C = !(h != null && h.slug), [, U] = ne(Ln);
1649
1649
  if (!h) return null;
1650
1650
  const M = (L) => {
@@ -1725,7 +1725,7 @@ const Ri = ({
1725
1725
  ), Vi = ({ hasDynamicPage: e }) => /* @__PURE__ */ c(Is, { children: /* @__PURE__ */ g("div", { className: "flex min-w-[300px] max-w-[400px] flex-col items-center justify-center rounded-lg border bg-white p-4 shadow-lg", children: [
1726
1726
  /* @__PURE__ */ c("h1", { className: "text-lg font-medium", children: e ? "Select a page" : "No pages found" }),
1727
1727
  /* @__PURE__ */ c("p", { className: "pt-2 text-center text-sm font-light text-gray-600", children: e ? "Please select a page from the list in the top header. This will enable you to edit the page." : "Please add a new page" })
1728
- ] }) }), $i = K(() => import("./dynamic-page-selector-B-8TUdTG.js")), Qi = () => {
1728
+ ] }) }), $i = K(() => import("./dynamic-page-selector-EfxbLRp-.js")), Qi = () => {
1729
1729
  const { dynamicPage: e, allLangPages: t, isFetching: n } = Xa(), s = t.length > 0;
1730
1730
  return n ? null : /* @__PURE__ */ g("div", { className: "relative", children: [
1731
1731
  !e && /* @__PURE__ */ c(Vi, { hasDynamicPage: s }),
@@ -2070,7 +2070,7 @@ const Ri = ({
2070
2070
  [n, t]
2071
2071
  )
2072
2072
  };
2073
- }, ao = K(() => import("./lang-panel-Bi427DLp.js")), io = ({ isActive: e, show: t }) => {
2073
+ }, ao = K(() => import("./lang-panel-DJGvZmRK.js")), io = ({ isActive: e, show: t }) => {
2074
2074
  const { data: n } = Re();
2075
2075
  return !jt(n, "languages") || !H(n, "languages", []).length ? null : /* @__PURE__ */ c(B, { size: "sm", onClick: t, variant: e ? "default" : "ghost", children: /* @__PURE__ */ c(xa, { className: "h-4 w-4" }) });
2076
2076
  }, Ns = "lang", oo = {
@@ -2081,7 +2081,7 @@ const Ri = ({
2081
2081
  button: io,
2082
2082
  view: "modal",
2083
2083
  width: 400
2084
- }, lo = K(() => import("./seo-panel-Gu3HZveQ.js")), Ls = "seo", co = ({ isActive: e, show: t }) => {
2084
+ }, lo = K(() => import("./seo-panel-BHqhAOiz.js")), Ls = "seo", co = ({ isActive: e, show: t }) => {
2085
2085
  const { data: n } = oe(), s = _i(n == null ? void 0 : n.pageType);
2086
2086
  return !jt(s, "hasSlug") || !s.hasSlug ? null : /* @__PURE__ */ c(B, { size: "icon", className: "my-1 p-0", onClick: t, variant: e ? "default" : "ghost", children: /* @__PURE__ */ g(
2087
2087
  "svg",
@@ -3982,7 +3982,7 @@ var ru = (e, t = !1) => {
3982
3982
  const t = Ws(() => {
3983
3983
  const n = this, [s] = _(this, Ke), [r] = _(this, He), [a] = _(this, Ve), [i] = _(this, $e), [o] = _(this, yt), [l] = _(this, Fe);
3984
3984
  let d;
3985
- return _(this, Qe) ? d = _(this, Qe) : (d = Qs(() => import("./NCMVHL6D-CCFQEIik.js")), N(this, Qe, d)), hr(_(this, At), _(this, qe)), Vs(d, $s({
3985
+ return _(this, Qe) ? d = _(this, Qe) : (d = Qs(() => import("./NCMVHL6D-fVqsZOVq.js")), N(this, Qe, d)), hr(_(this, At), _(this, qe)), Vs(d, $s({
3986
3986
  get queryFlavor() {
3987
3987
  return _(n, mt);
3988
3988
  },
@@ -4081,7 +4081,7 @@ var ru = (e, t = !1) => {
4081
4081
  const t = Ws(() => {
4082
4082
  const n = this, [s] = _(this, ze), [r] = _(this, Ye), [a] = _(this, Je), [i] = _(this, Xe), [o] = _(this, vt), [l] = _(this, je), [d] = _(this, Ze);
4083
4083
  let f;
4084
- return _(this, et) ? f = _(this, et) : (f = Qs(() => import("./2AITGKQY-a-BJOrVj.js")), N(this, et, f)), hr(_(this, wt), _(this, We)), Vs(f, $s({
4084
+ return _(this, et) ? f = _(this, et) : (f = Qs(() => import("./2AITGKQY-CpTgZa1B.js")), N(this, et, f)), hr(_(this, wt), _(this, We)), Vs(f, $s({
4085
4085
  get queryFlavor() {
4086
4086
  return _(n, _t);
4087
4087
  },
@@ -4258,7 +4258,7 @@ const ql = pe(""), Kl = () => {
4258
4258
  },
4259
4259
  [e]
4260
4260
  );
4261
- }, jl = K(() => import("./digital-asset-manager-ClyooOJY.js")), Wl = K(() => import("./save-to-lib-AkbnWUxR.js")), zl = K(() => import("./theme-panel-footer-68bQaQeh.js")), Yl = K(() => import("./web-preview-D9PcexXy.js"));
4261
+ }, jl = K(() => import("./digital-asset-manager-CpoNKOFK.js")), Wl = K(() => import("./save-to-lib-BV_uNHn3.js")), zl = K(() => import("./theme-panel-footer-DZSU9bNX.js")), Yl = K(() => import("./web-preview-Dn1aCs5v.js"));
4262
4262
  Kl();
4263
4263
  $a();
4264
4264
  Vr(Wi);
@@ -4447,7 +4447,7 @@ const uu = () => {
4447
4447
  console.error("Failed to update metadata");
4448
4448
  }
4449
4449
  });
4450
- }, tc = K(() => import("./digital-asset-manager-ClyooOJY.js")), hu = ({
4450
+ }, tc = K(() => import("./digital-asset-manager-CpoNKOFK.js")), hu = ({
4451
4451
  assetId: e,
4452
4452
  assetUrl: t,
4453
4453
  onChange: n,
@@ -4590,7 +4590,7 @@ const uu = () => {
4590
4590
  n = n.replace(r[0], i);
4591
4591
  }
4592
4592
  return n;
4593
- }, ac = K(() => import("./shared-json-ld-CsyZjZdT.js")), gu = ({
4593
+ }, ac = K(() => import("./shared-json-ld-BfkvfAZY.js")), gu = ({
4594
4594
  value: e,
4595
4595
  onChange: t,
4596
4596
  disabled: n = !1,