@chaibuilder/pages 0.14.3 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{2AITGKQY-DWDDkd18.cjs → 2AITGKQY-CpxlNmec.cjs} +1 -1
- package/dist/{2AITGKQY-DtQPkxBe.js → 2AITGKQY-gEvxLMa5.js} +2 -2
- package/dist/{NCMVHL6D-CksZXXOw.js → NCMVHL6D-DpycZ17L.js} +4 -4
- package/dist/{NCMVHL6D-6CkVnw0a.cjs → NCMVHL6D-sV6MElOb.cjs} +1 -1
- package/dist/{ZDWCUMSJ-DoM-AA0C.cjs → ZDWCUMSJ-BPT9OZay.cjs} +1 -1
- package/dist/{ZDWCUMSJ-BXQ01VPt.js → ZDWCUMSJ-BbzwbqTE.js} +1 -1
- package/dist/{add-new-language-page-BA73lQnm.cjs → add-new-language-page-B4_z4O8a.cjs} +1 -1
- package/dist/{add-new-language-page-D8iXtyLA.js → add-new-language-page-C8LIaHl6.js} +2 -2
- package/dist/{add-new-page-EOMgMSeq.cjs → add-new-page-CQRr6Z8g.cjs} +1 -1
- package/dist/{add-new-page-DESlqvED.js → add-new-page-JY6dRnC4.js} +1 -1
- package/dist/{delete-page-BP1Df8QL.js → delete-page-Dfa2vyQB.js} +1 -1
- package/dist/{delete-page-ZvnuEow6.cjs → delete-page-z88W-Ikh.cjs} +1 -1
- package/dist/{digital-asset-manager-BxWb1j_y.cjs → digital-asset-manager-Zh-mlMF5.cjs} +1 -1
- package/dist/{digital-asset-manager-Bb81T3mS.js → digital-asset-manager-hqMwBWhb.js} +146 -146
- package/dist/{duplicate-page-B1j0H7gP.js → duplicate-page-B0urG1pP.js} +8 -8
- package/dist/{duplicate-page-W5xbmPSC.cjs → duplicate-page-Welcro7Y.cjs} +1 -1
- package/dist/{dynamic-page-selector-Crjyco6l.js → dynamic-page-selector-CyhZ0SRO.js} +1 -1
- package/dist/{dynamic-page-selector-BZKJmSx5.cjs → dynamic-page-selector-Dn_j_r-h.cjs} +1 -1
- package/dist/index-BSEA_u0X.js +4854 -0
- package/dist/index-MlpQJHWW.cjs +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +10 -14
- package/dist/index.js +17 -18
- package/dist/{json-diff-viewer-DRkE-x_z.cjs → json-diff-viewer-BIJ4iNWb.cjs} +1 -1
- package/dist/{json-diff-viewer-BGGSLqtx.js → json-diff-viewer-DVlb4YWD.js} +6 -6
- package/dist/{lang-panel-B3tr2uhr.js → lang-panel-D0IN38gF.js} +29 -29
- package/dist/{lang-panel-9T8dIx2p.cjs → lang-panel-l6Teik-4.cjs} +1 -1
- package/dist/{mark-as-template-L9cHzL84.js → mark-as-template-B22EANHN.js} +1 -1
- package/dist/{mark-as-template-DPVPRgbi.cjs → mark-as-template-DBPJ1gIK.cjs} +1 -1
- package/dist/{no-language-page-content-Cy_D-3jE.cjs → no-language-page-content-BUHXqSKG.cjs} +1 -1
- package/dist/{no-language-page-content-DP7gmy0s.js → no-language-page-content-DNNu8wd0.js} +1 -1
- package/dist/{page-creator-Ctn5ixJE.js → page-creator-BPgx7zdJ.js} +2 -2
- package/dist/{page-creator-DDaI1HYj.cjs → page-creator-DbN3Nvq6.cjs} +1 -1
- package/dist/{page-lock-request-BKrxnEtQ.cjs → page-lock-request-BFkpw5VN.cjs} +1 -1
- package/dist/{page-lock-request-CjJFJKL2.js → page-lock-request-Br9S1AsA.js} +1 -1
- package/dist/{page-locked-by-dialog-b25_rn2m.cjs → page-locked-by-dialog-2h8cv1tO.cjs} +1 -1
- package/dist/{page-locked-by-dialog-DmsSmAY2.js → page-locked-by-dialog-DyLcMu33.js} +1 -1
- package/dist/{page-manager-new-EsIg6iQn.js → page-manager-new-B2oBm4pU.js} +28 -28
- package/dist/{page-manager-new-DiZVY7Me.cjs → page-manager-new-CAj6WV-C.cjs} +1 -1
- package/dist/{page-manager-search-and-filter-CgY2qiXU.cjs → page-manager-search-and-filter-CWMXLTqE.cjs} +1 -1
- package/dist/{page-manager-search-and-filter-Bt4T_dnB.js → page-manager-search-and-filter-WQYVXUAt.js} +2 -2
- package/dist/{page-revisions-content-DtI8CmtR.cjs → page-revisions-content-AMH8AxBU.cjs} +1 -1
- package/dist/{page-revisions-content-CsT6aF2I.js → page-revisions-content-DM-ngq3R.js} +7 -7
- package/dist/{publish-pages-content-KAuhOPv0.js → publish-pages-content-Dast4sG6.js} +12 -12
- package/dist/{publish-pages-content-DpC7RcTw.cjs → publish-pages-content-Dkv0Lok8.cjs} +1 -1
- package/dist/{save-to-lib-CeWaSQdB.js → save-to-lib-B5k0MVbW.js} +23 -23
- package/dist/{save-to-lib-BGpWGHJo.cjs → save-to-lib-DWtmtrUj.cjs} +1 -1
- package/dist/{seo-panel-Dhhpe_7z.js → seo-panel-D75jQH_j.js} +1 -1
- package/dist/{seo-panel-JDQ_7bOx.cjs → seo-panel-dBvEEfi9.cjs} +1 -1
- package/dist/{shared-json-ld-BYbdMttx.cjs → shared-json-ld-BvWyXBz_.cjs} +1 -1
- package/dist/{shared-json-ld-BliIbNv9.js → shared-json-ld-ZtwsYt9H.js} +1 -1
- package/dist/{slug-input-hJdU8DaF.js → slug-input-BEegJ8bv.js} +1 -1
- package/dist/{slug-input-QxBMijHP.cjs → slug-input-BITq28nI.cjs} +1 -1
- package/dist/{theme-panel-footer-BZnPvTkM.cjs → theme-panel-footer-DcASH9l1.cjs} +1 -1
- package/dist/{theme-panel-footer-D2B7iYW2.js → theme-panel-footer-zLXS6SHh.js} +1 -1
- package/dist/{unmark-as-template-Byn2RRAp.cjs → unmark-as-template-ChmjL4-w.cjs} +1 -1
- package/dist/{unmark-as-template-Dcpkj7EZ.js → unmark-as-template-DXFRY_pc.js} +1 -1
- package/dist/{unpublish-page-5Fi1wKXb.cjs → unpublish-page-BxN0deJK.cjs} +1 -1
- package/dist/{unpublish-page-CPLlsfm4.js → unpublish-page-DMteaCpR.js} +1 -1
- package/dist/use-page-expand-manager-2KjeYfVS.cjs +1 -0
- package/dist/use-page-expand-manager-D6T75I11.js +184 -0
- package/dist/{web-preview-YuuoRaZn.js → web-preview-BDTdFQ2h.js} +1 -1
- package/dist/{web-preview-CVvxe5Ll.cjs → web-preview-DM11qhOe.cjs} +1 -1
- package/package.json +2 -2
- package/dist/index-DFvsMFVH.js +0 -5160
- package/dist/index-Qnh8Lkr0.cjs +0 -5
- package/dist/use-page-expand-manager-DkyBiNpx.js +0 -85
- package/dist/use-page-expand-manager-To-SsGy3.cjs +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { aj as b, ak as C, A, ar as T } from "./index-BSEA_u0X.js";
|
|
3
3
|
import { useQueryClient as w, useMutation as F } from "@tanstack/react-query";
|
|
4
4
|
import { toast as S } from "sonner";
|
|
5
|
-
import { Dialog as _, DialogContent as
|
|
5
|
+
import { Dialog as _, DialogContent as j, DialogHeader as q, DialogTitle as G, DialogDescription as L, Label as v, Input as U, Alert as $, Button as D } from "@chaibuilder/sdk/ui";
|
|
6
6
|
import { isEmpty as O, initial as k } from "lodash-es";
|
|
7
7
|
import { AlertCircle as B } from "lucide-react";
|
|
8
8
|
import { useState as p } from "react";
|
|
9
|
-
import { S as M } from "./slug-input-
|
|
9
|
+
import { S as M } from "./slug-input-BEegJ8bv.js";
|
|
10
10
|
const Q = () => {
|
|
11
11
|
const t = b(), r = w(), g = C();
|
|
12
12
|
return F({
|
|
@@ -60,10 +60,10 @@ const Q = () => {
|
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
62
|
};
|
|
63
|
-
return /* @__PURE__ */ e(_, { open: !!t, onOpenChange: r, children: /* @__PURE__ */ s(
|
|
64
|
-
/* @__PURE__ */ s(
|
|
65
|
-
/* @__PURE__ */ e(
|
|
66
|
-
/* @__PURE__ */ e(
|
|
63
|
+
return /* @__PURE__ */ e(_, { open: !!t, onOpenChange: r, children: /* @__PURE__ */ s(j, { className: "sm:max-w-[425px]", children: [
|
|
64
|
+
/* @__PURE__ */ s(q, { children: [
|
|
65
|
+
/* @__PURE__ */ e(G, { children: "Duplicate Page" }),
|
|
66
|
+
/* @__PURE__ */ e(L, { children: "Create a copy of the page with a new name and slug" })
|
|
67
67
|
] }),
|
|
68
68
|
/* @__PURE__ */ s("div", { className: "mb-4 rounded-md bg-gray-50 p-3", children: [
|
|
69
69
|
/* @__PURE__ */ e("h3", { className: "mb-1 text-sm font-medium", children: "Duplicating:" }),
|
|
@@ -88,7 +88,7 @@ const Q = () => {
|
|
|
88
88
|
/* @__PURE__ */ s("form", { onSubmit: E, className: "space-y-4", children: [
|
|
89
89
|
/* @__PURE__ */ s("div", { className: "space-y-2", children: [
|
|
90
90
|
/* @__PURE__ */ e(v, { htmlFor: "name", className: "text-sm", children: "Name" }),
|
|
91
|
-
/* @__PURE__ */ e(
|
|
91
|
+
/* @__PURE__ */ e(U, { id: "name", value: m, onChange: (l) => P(l.target.value), required: !0 })
|
|
92
92
|
] }),
|
|
93
93
|
!i && /* @__PURE__ */ s("div", { className: "space-y-2", children: [
|
|
94
94
|
/* @__PURE__ */ e(v, { htmlFor: "slug", className: "text-sm", children: "Slug" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("./index-MlpQJHWW.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-BITq28nI.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;
|
|
@@ -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-
|
|
7
|
+
import { k as y } from "./index-BSEA_u0X.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-
|
|
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-MlpQJHWW.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;
|