@chaibuilder/pages 0.13.4 → 0.14.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-DpAgk_u8.cjs → 2AITGKQY-BLi5HVHf.cjs} +1 -1
- package/dist/{2AITGKQY-Dx_Cte-P.js → 2AITGKQY-iyhQ7kgG.js} +5 -5
- package/dist/{NCMVHL6D-B6lv7Umq.cjs → NCMVHL6D-CKYg8-AM.cjs} +1 -1
- package/dist/{NCMVHL6D-CT2qHOTS.js → NCMVHL6D-PLvSyK5P.js} +2 -2
- package/dist/{ZDWCUMSJ-C1vrgsti.cjs → ZDWCUMSJ-BJZ_Yi-4.cjs} +1 -1
- package/dist/{ZDWCUMSJ-W9xywtZH.js → ZDWCUMSJ-CuLkdxY-.js} +1 -1
- package/dist/add-new-language-page--ah9yzN3.cjs +1 -0
- package/dist/add-new-language-page-WM_Ve2vH.js +390 -0
- package/dist/add-new-page-Bs_NXM9x.js +30 -0
- package/dist/add-new-page-CnUo6xzd.cjs +1 -0
- package/dist/confetti.module-BuUnQuWk.cjs +2 -0
- package/dist/confetti.module-DCmCkDyV.js +409 -0
- package/dist/delete-page-Cf88UkqJ.cjs +1 -0
- package/dist/delete-page-D8xhYESu.js +38 -0
- package/dist/digital-asset-manager-BAFTqxsM.js +976 -0
- package/dist/digital-asset-manager-D_lcprwY.cjs +1 -0
- package/dist/duplicate-page-BX1gOez-.cjs +1 -0
- package/dist/duplicate-page-CqXTGmWt.js +120 -0
- package/dist/dynamic-page-selector-0TiUnfUg.js +86 -0
- package/dist/dynamic-page-selector-9JIQrcq5.cjs +1 -0
- package/dist/get-seo-defaults-9zHebckY.js +65 -0
- package/dist/get-seo-defaults-Cw7vFt-B.cjs +1 -0
- package/dist/image-compression-DZ9WMmyn.cjs +1 -0
- package/dist/image-compression-DsZ1oqpb.js +37 -0
- package/dist/index-D7kegQ3M.js +5153 -0
- package/dist/index-LU0FTfeN.cjs +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +4 -22
- package/dist/index.js +20 -21
- package/dist/json-diff-viewer-Be-PVOZN.cjs +8 -0
- package/dist/json-diff-viewer-C2GK_BDh.js +258 -0
- package/dist/lang-panel-CPFS1ssC.js +218 -0
- package/dist/lang-panel-CePltxo2.cjs +1 -0
- package/dist/mark-as-template-DeB23sWR.cjs +1 -0
- package/dist/mark-as-template-jdwcgRIB.js +146 -0
- package/dist/nested-path-selector-content-D_iF9Sm3.cjs +1 -0
- package/dist/nested-path-selector-content-DvIL_EoN.js +87 -0
- package/dist/no-language-page-content-DUM4KxWu.js +35 -0
- package/dist/no-language-page-content-Dsm2H3pc.cjs +1 -0
- package/dist/page-creator-BjuYmKfc.js +796 -0
- package/dist/page-creator-DG0LwvL1.cjs +1 -0
- package/dist/page-lock-request-B9WPmFcd.cjs +1 -0
- package/dist/page-lock-request-BceB1S-X.js +64 -0
- package/dist/page-locked-by-dialog-2MULM3jh.cjs +1 -0
- package/dist/page-locked-by-dialog-BEWfFLSc.js +63 -0
- package/dist/page-manager-new-BONZN4c5.cjs +1 -0
- package/dist/page-manager-new-DV6A9WFv.js +354 -0
- package/dist/page-manager-search-and-filter-3h4URMP_.cjs +1 -0
- package/dist/page-manager-search-and-filter-DIiowi9F.js +197 -0
- package/dist/page-revisions-content-BIxeZeND.js +446 -0
- package/dist/page-revisions-content-CQbt25XX.cjs +1 -0
- package/dist/publish-pages-content-CdKHrfys.js +178 -0
- package/dist/publish-pages-content-im9dPOBM.cjs +1 -0
- package/dist/save-to-lib-DGII9CEP.js +476 -0
- package/dist/save-to-lib-DOh-850u.cjs +1 -0
- package/dist/seo-panel-2VdpoGSg.cjs +1 -0
- package/dist/seo-panel-Bxo4f-a_.js +667 -0
- package/dist/shared-json-ld-C1OewNgp.cjs +1 -0
- package/dist/shared-json-ld-gbnBFljN.js +337 -0
- package/dist/slug-input-BmcGmc_i.js +87 -0
- package/dist/slug-input-CfuQV97Z.cjs +1 -0
- package/dist/theme-panel-footer-D3SwHqGR.js +25 -0
- package/dist/theme-panel-footer-FrY4U8zn.cjs +1 -0
- package/dist/translation-warning-modal-DalBhNQy.js +26 -0
- package/dist/translation-warning-modal-Kctu12rQ.cjs +1 -0
- package/dist/unmark-as-template-CihtTMOb.cjs +1 -0
- package/dist/unmark-as-template-UwmCCn0u.js +38 -0
- package/dist/unpublish-page-CNwIU6AS.js +26 -0
- package/dist/unpublish-page-DzLtZcNw.cjs +1 -0
- package/dist/use-page-expand-manager-B7JtHdg5.cjs +1 -0
- package/dist/use-page-expand-manager-BCFQnVkT.js +85 -0
- package/package.json +1 -1
- package/dist/index-C4j31Yhz.js +0 -11471
- package/dist/index-DnjETHks.cjs +0 -6
- package/dist/page-revisions-content-Gx-Qf_91.cjs +0 -8
- package/dist/page-revisions-content-_-Nd4U11.js +0 -712
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),d=require("lucide-react"),v=require("react"),s=require("@chaibuilder/sdk/ui");function p(c){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const r in c)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(c,r);Object.defineProperty(l,r,i.get?i:{enumerable:!0,get:()=>c[r]})}}return l.default=c,Object.freeze(l)}const o=p(v);function C({data:c,onSelect:l,dataType:r="value",open:i,setOpen:m}){const[u,f]=o.useState([]),[h,j]=o.useState(c);o.useEffect(()=>{i||f([]),j(c)},[c,i]);const b=e=>Array.isArray(e)?"array":typeof e=="object"&&e!==null?"object":"value",y=o.useCallback(e=>{const n=a=>r==="value"?a==="value"||a==="object":r==="array"?a==="array":a===r;e.type==="object"?(f(a=>[...a,e.key]),j(e.value)):n(e.type)&&(l([...u,e.key].join(".")),m(!1))},[r,l,u,m]),x=o.useCallback(()=>{if(u.length>0){const e=u.slice(0,-1);f(e),j(e.reduce((n,a)=>n[a],c))}},[u,c]),g=o.useMemo(()=>Object.entries(h).map(([e,n])=>({key:e,value:n,type:b(n)})).filter(e=>r==="value"?e.type==="value"||e.type==="object":r==="array"?e.type==="array"||e.type==="object":r==="object"?e.type==="object":!0),[h,r]);return t.jsx(s.PopoverContent,{className:"z-[9999] w-[200px] p-0",children:t.jsxs(s.Command,{children:[t.jsx(s.CommandInput,{className:"border-none",placeholder:"Search..."}),t.jsxs(s.CommandList,{onWheel:e=>{try{e.preventDefault();const n=e.currentTarget;n.scrollTop+=e.deltaY}catch{e.preventDefault()}},children:[t.jsx(s.CommandEmpty,{children:"No option found."}),t.jsxs(s.CommandGroup,{children:[u.length>0&&t.jsxs(s.CommandItem,{onSelect:x,className:"flex items-center text-sm",children:[t.jsx(d.ChevronLeft,{className:"mr-2 h-4 w-4"}),"Back"]}),g.map(e=>t.jsxs(s.CommandItem,{onSelect:()=>y(e),className:"flex items-center justify-between",children:[t.jsx("span",{children:e.key}),t.jsxs("div",{className:"flex items-center gap-2",children:[r==="object"&&e.type==="object"&&t.jsx(s.Button,{size:"sm",variant:"ghost",className:"h-6 px-2 hover:bg-primary hover:text-primary-foreground",onClick:n=>{n.stopPropagation(),l([...u,e.key].join(".")),m(!1)},children:"Select"}),(e.type==="object"||e.type==="array")&&t.jsx("div",{className:"cursor-pointer rounded p-1 hover:bg-muted",children:t.jsx(d.ChevronRight,{className:"h-4 w-4 opacity-50"})})]})]},e.key))]})]})]})})}exports.default=C;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { jsx as n, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronLeft as p, ChevronRight as g } from "lucide-react";
|
|
3
|
+
import * as l from "react";
|
|
4
|
+
import { PopoverContent as N, Command as k, CommandInput as x, CommandList as S, CommandEmpty as P, CommandGroup as w, CommandItem as d, Button as D } from "@chaibuilder/sdk/ui";
|
|
5
|
+
function E({
|
|
6
|
+
data: o,
|
|
7
|
+
onSelect: u,
|
|
8
|
+
dataType: t = "value",
|
|
9
|
+
open: f,
|
|
10
|
+
setOpen: m
|
|
11
|
+
}) {
|
|
12
|
+
const [a, i] = l.useState([]), [y, h] = l.useState(o);
|
|
13
|
+
l.useEffect(() => {
|
|
14
|
+
f || i([]), h(o);
|
|
15
|
+
}, [o, f]);
|
|
16
|
+
const b = (e) => Array.isArray(e) ? "array" : typeof e == "object" && e !== null ? "object" : "value", j = l.useCallback(
|
|
17
|
+
(e) => {
|
|
18
|
+
const r = (c) => t === "value" ? c === "value" || c === "object" : t === "array" ? c === "array" : c === t;
|
|
19
|
+
e.type === "object" ? (i((c) => [...c, e.key]), h(e.value)) : r(e.type) && (u([...a, e.key].join(".")), m(!1));
|
|
20
|
+
},
|
|
21
|
+
[t, u, a, m]
|
|
22
|
+
), v = l.useCallback(() => {
|
|
23
|
+
if (a.length > 0) {
|
|
24
|
+
const e = a.slice(0, -1);
|
|
25
|
+
i(e), h(e.reduce((r, c) => r[c], o));
|
|
26
|
+
}
|
|
27
|
+
}, [a, o]), C = l.useMemo(() => Object.entries(y).map(([e, r]) => ({
|
|
28
|
+
key: e,
|
|
29
|
+
value: r,
|
|
30
|
+
type: b(r)
|
|
31
|
+
})).filter((e) => t === "value" ? e.type === "value" || e.type === "object" : t === "array" ? e.type === "array" || e.type === "object" : t === "object" ? e.type === "object" : !0), [y, t]);
|
|
32
|
+
return /* @__PURE__ */ n(N, { className: "z-[9999] w-[200px] p-0", children: /* @__PURE__ */ s(k, { children: [
|
|
33
|
+
/* @__PURE__ */ n(x, { className: "border-none", placeholder: "Search..." }),
|
|
34
|
+
/* @__PURE__ */ s(
|
|
35
|
+
S,
|
|
36
|
+
{
|
|
37
|
+
onWheel: (e) => {
|
|
38
|
+
try {
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
const r = e.currentTarget;
|
|
41
|
+
r.scrollTop += e.deltaY;
|
|
42
|
+
} catch {
|
|
43
|
+
e.preventDefault();
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ n(P, { children: "No option found." }),
|
|
48
|
+
/* @__PURE__ */ s(w, { children: [
|
|
49
|
+
a.length > 0 && /* @__PURE__ */ s(d, { onSelect: v, className: "flex items-center text-sm", children: [
|
|
50
|
+
/* @__PURE__ */ n(p, { className: "mr-2 h-4 w-4" }),
|
|
51
|
+
"Back"
|
|
52
|
+
] }),
|
|
53
|
+
C.map((e) => /* @__PURE__ */ s(
|
|
54
|
+
d,
|
|
55
|
+
{
|
|
56
|
+
onSelect: () => j(e),
|
|
57
|
+
className: "flex items-center justify-between",
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ n("span", { children: e.key }),
|
|
60
|
+
/* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
|
|
61
|
+
t === "object" && e.type === "object" && /* @__PURE__ */ n(
|
|
62
|
+
D,
|
|
63
|
+
{
|
|
64
|
+
size: "sm",
|
|
65
|
+
variant: "ghost",
|
|
66
|
+
className: "h-6 px-2 hover:bg-primary hover:text-primary-foreground",
|
|
67
|
+
onClick: (r) => {
|
|
68
|
+
r.stopPropagation(), u([...a, e.key].join(".")), m(!1);
|
|
69
|
+
},
|
|
70
|
+
children: "Select"
|
|
71
|
+
}
|
|
72
|
+
),
|
|
73
|
+
(e.type === "object" || e.type === "array") && /* @__PURE__ */ n("div", { className: "cursor-pointer rounded p-1 hover:bg-muted", children: /* @__PURE__ */ n(g, { className: "h-4 w-4 opacity-50" }) })
|
|
74
|
+
] })
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
e.key
|
|
78
|
+
))
|
|
79
|
+
] })
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
] }) });
|
|
84
|
+
}
|
|
85
|
+
export {
|
|
86
|
+
E as default
|
|
87
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as a, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { i as m, j as h, L as u, B as w } from "./index-D7kegQ3M.js";
|
|
3
|
+
import { useLanguages as p } from "@chaibuilder/sdk";
|
|
4
|
+
import { Card as f, CardHeader as P, CardTitle as C, CardContent as S, CardFooter as L, Button as x } from "@chaibuilder/sdk/ui";
|
|
5
|
+
import { get as N } from "lodash-es";
|
|
6
|
+
import { LockIcon as v } from "lucide-react";
|
|
7
|
+
const k = () => {
|
|
8
|
+
const [o, c] = m(), r = o.get("lang"), l = h(r), { setSelectedLang: i } = p(), g = () => {
|
|
9
|
+
const t = new URLSearchParams(window.location.search);
|
|
10
|
+
t.delete("lang");
|
|
11
|
+
const s = t.toString(), d = `${window.location.pathname}${s ? `?${s}` : ""}`;
|
|
12
|
+
window.history.pushState({}, "", d), c(t), i(""), window.dispatchEvent(new PopStateEvent("popstate"));
|
|
13
|
+
};
|
|
14
|
+
if (l) return null;
|
|
15
|
+
const e = N(u, r);
|
|
16
|
+
return /* @__PURE__ */ a(w, { children: /* @__PURE__ */ n(f, { className: "mx-auto w-full max-w-md", children: [
|
|
17
|
+
/* @__PURE__ */ a(P, { className: "space-y-1", children: /* @__PURE__ */ n(C, { className: "flex items-center gap-2 text-2xl", children: [
|
|
18
|
+
/* @__PURE__ */ a(v, { className: "h-6 w-6 text-yellow-500" }),
|
|
19
|
+
'Page missing for "',
|
|
20
|
+
e,
|
|
21
|
+
'" language.'
|
|
22
|
+
] }) }),
|
|
23
|
+
/* @__PURE__ */ a(S, { className: "grid gap-4", children: /* @__PURE__ */ n("div", { children: [
|
|
24
|
+
'Page is not available in the "',
|
|
25
|
+
e,
|
|
26
|
+
'" language. Either create the page in the "',
|
|
27
|
+
e,
|
|
28
|
+
'" language or switch to the base language.'
|
|
29
|
+
] }) }),
|
|
30
|
+
/* @__PURE__ */ a(L, { children: /* @__PURE__ */ a(x, { onClick: g, className: "w-full", variant: "destructive", children: "Switch to default language" }) })
|
|
31
|
+
] }) });
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
k as default
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("./index-LU0FTfeN.cjs"),h=require("@chaibuilder/sdk"),a=require("@chaibuilder/sdk/ui"),m=require("lodash-es"),w=require("lucide-react"),x=()=>{const[o,i]=t.useSearchParams(),r=o.get("lang"),l=t.useIsLanguagePageCreated(r),{setSelectedLang:g}=h.useLanguages(),u=()=>{const s=new URLSearchParams(window.location.search);s.delete("lang");const c=s.toString(),d=`${window.location.pathname}${c?`?${c}`:""}`;window.history.pushState({},"",d),i(s),g(""),window.dispatchEvent(new PopStateEvent("popstate"))};if(l)return null;const n=m.get(t.LANGUAGES,r);return e.jsx(t.BlurContainer,{children:e.jsxs(a.Card,{className:"mx-auto w-full max-w-md",children:[e.jsx(a.CardHeader,{className:"space-y-1",children:e.jsxs(a.CardTitle,{className:"flex items-center gap-2 text-2xl",children:[e.jsx(w.LockIcon,{className:"h-6 w-6 text-yellow-500"}),'Page missing for "',n,'" language.']})}),e.jsx(a.CardContent,{className:"grid gap-4",children:e.jsxs("div",{children:['Page is not available in the "',n,'" language. Either create the page in the "',n,'" language or switch to the base language.']})}),e.jsx(a.CardFooter,{children:e.jsx(a.Button,{onClick:u,className:"w-full",variant:"destructive",children:"Switch to default language"})})]})})};exports.default=x;
|