@chaibuilder/sdk 1.2.39 → 1.2.40
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/{AddBlocks-2_dpKDpp.js → AddBlocks-Q--k4QYI.js} +1 -1
- package/dist/{AddBlocks-p4Hrxjdf.cjs → AddBlocks-a20tIXfX.cjs} +1 -1
- package/dist/{CanvasArea-sbec3R-f.cjs → CanvasArea-QQn0aXpj.cjs} +1 -1
- package/dist/{CanvasArea-iN0LxF74.js → CanvasArea-ahsds4rc.js} +2 -2
- package/dist/{ChaiBuilderEditor-qxbkVVLu.cjs → ChaiBuilderEditor-hcoLrtq8.cjs} +10 -10
- package/dist/{ChaiBuilderEditor-JnZFji5_.js → ChaiBuilderEditor-wfEkvtJ0.js} +291 -296
- package/dist/{CurrentPage-Lr3ztuMx.js → CurrentPage-f_5eIFbX.js} +2 -2
- package/dist/{CurrentPage-m7_GkZ8a.cjs → CurrentPage-zo2GKFUx.cjs} +1 -1
- package/dist/{ListTree-uJFhqUk9.js → ListTree-3riQsfip.js} +1 -1
- package/dist/{ListTree-piETqoz9.cjs → ListTree-FWHoDfbO.cjs} +1 -1
- package/dist/{PagesPanel-lShO3SmJ.cjs → PagesPanel-0Wi0ezNZ.cjs} +1 -1
- package/dist/{PagesPanel-R8FWg5Xg.js → PagesPanel-3KIZEXOS.js} +3 -3
- package/dist/{ProjectPanel-2dX4bM5q.js → ProjectPanel-0W6XTu0Y.js} +3 -3
- package/dist/{ProjectPanel-_4546hym.cjs → ProjectPanel-fEYrObPB.cjs} +1 -1
- package/dist/{Settings-J785mqWv.js → Settings-ifUbqcam.js} +2 -2
- package/dist/{Settings-e2AZkjqY.cjs → Settings-kDwumlBm.cjs} +1 -1
- package/dist/{SidePanels-cN9er64h.js → SidePanels-0P4IaIVn.js} +135 -135
- package/dist/SidePanels-JIuL8NLu.cjs +1 -0
- package/dist/{ThemeConfiguration-m_jkR2zi.js → ThemeConfiguration-7Hef-UKR.js} +1 -1
- package/dist/{ThemeConfiguration-nler1cz3.cjs → ThemeConfiguration-CcUA1_9A.cjs} +1 -1
- package/dist/{Topbar-gaBycI3a.js → Topbar-0hOp8tE7.js} +1 -1
- package/dist/{Topbar-DmIPkF8D.cjs → Topbar-Wte9Jbw7.cjs} +1 -1
- package/dist/UILibrariesPanel-qgwFZYvn.js +145 -0
- package/dist/UILibrariesPanel-vXOD3qRz.cjs +1 -0
- package/dist/{UnsplashImages-mC2ewX9D.cjs → UnsplashImages-Cfq1lKeC.cjs} +1 -1
- package/dist/{UnsplashImages-6HmGnetM.js → UnsplashImages-qUDa1vAS.js} +1 -1
- package/dist/{UploadImages-qRW8zhKj.js → UploadImages-Xh-lPuZy.js} +1 -1
- package/dist/{UploadImages-fo9ufcCE.cjs → UploadImages-Zle03BGi.cjs} +1 -1
- package/dist/{add-page-modal-mP9aTfG9.cjs → add-page-modal-0jmyeD0x.cjs} +1 -1
- package/dist/{add-page-modal-0OuVNgx3.js → add-page-modal-ued8fkUY.js} +3 -3
- package/dist/{confirm-alert-Mv-Iofef.js → confirm-alert-4kucBgrO.js} +1 -1
- package/dist/{confirm-alert-3cDnni4v.cjs → confirm-alert-rucvO9GC.cjs} +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +19 -3
- package/dist/core.js +1 -1
- package/dist/{delete-page-modal-PTwcrTET.cjs → delete-page-modal-Eym3aZzC.cjs} +1 -1
- package/dist/{delete-page-modal-BVz9nreM.js → delete-page-modal-kxeOpfNd.js} +2 -2
- package/dist/email.cjs +1 -1
- package/dist/email.d.ts +19 -3
- package/dist/email.js +1 -1
- package/dist/{form-e8l4xtI9.js → form-2Veryr30.js} +1 -1
- package/dist/{form-o7e6NNTk.cjs → form-pdF1XhvW.cjs} +1 -1
- package/dist/{index-CdnwVCXv.js → index-OdzdznTv.js} +2 -2
- package/dist/{index--XTVdy1h.cjs → index-SQ1sNajH.cjs} +1 -1
- package/dist/{page-viewer-OopsJHBE.js → page-viewer-6qv40Sm2.js} +3 -3
- package/dist/{page-viewer-cjvx3lg7.cjs → page-viewer-qr3NscoT.cjs} +1 -1
- package/dist/{project-general-setting-n8KKf8qD.js → project-general-setting-GVzAsfrk.js} +3 -3
- package/dist/{project-general-setting-3sdmeYrS.cjs → project-general-setting-fm1YfS_2.cjs} +1 -1
- package/dist/{project-seo-setting-E554FQ3V.cjs → project-seo-setting-06jt9oDD.cjs} +1 -1
- package/dist/{project-seo-setting-pu3qUSE0.js → project-seo-setting-iPqsGKuc.js} +2 -2
- package/dist/{single-page-detail-hcTkta3X.js → single-page-detail-GVtRl8Pt.js} +4 -4
- package/dist/{single-page-detail-KdxEu4WS.cjs → single-page-detail-KQVwWJ-J.cjs} +1 -1
- package/dist/studio.cjs +1 -1
- package/dist/studio.d.ts +19 -3
- package/dist/studio.js +2 -2
- package/dist/ui.cjs +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +1 -1
- package/dist/{useCanvasSettings-6lwRwexD.js → useCanvasSettings-E5uIyvUR.js} +1 -1
- package/dist/{useCanvasSettings-oERGzYXb.cjs → useCanvasSettings-yYU51FJ3.cjs} +1 -1
- package/package.json +1 -1
- package/dist/SidePanels-Vfw9Ir6p.cjs +0 -1
- package/dist/UILibrariesPanel-Igx0R4zc.js +0 -138
- package/dist/UILibrariesPanel-N144UO0E.cjs +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { j as e } from "./jsx-runtime-WbnYoNE9.js";
|
|
2
|
-
import { V as h, a6 as f, a7 as j, a8 as y, a9 as v, aa as P } from "./ChaiBuilderEditor-
|
|
2
|
+
import { V as h, a6 as f, a7 as j, a8 as y, a9 as v, aa as P } from "./ChaiBuilderEditor-wfEkvtJ0.js";
|
|
3
3
|
import { sortBy as b, filter as w, get as C, isEmpty as m, find as n, capitalize as N, map as S } from "lodash-es";
|
|
4
4
|
import { toast as k } from "sonner";
|
|
5
5
|
import { useEffect as p } from "react";
|
|
6
|
-
import { a as B, u as E, c as T, d as V } from "./index-
|
|
6
|
+
import { a as B, u as E, c as T, d as V } from "./index-OdzdznTv.js";
|
|
7
7
|
import { BriefcaseIcon as I } from "lucide-react";
|
|
8
8
|
import { useTranslation as L } from "react-i18next";
|
|
9
9
|
import "./_commonjsHelpers-UyOWmZb0.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),s=require("./ChaiBuilderEditor-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),s=require("./ChaiBuilderEditor-hcoLrtq8.cjs"),i=require("lodash-es"),j=require("sonner"),l=require("react"),o=require("./index-SQ1sNajH.cjs"),p=require("lucide-react"),f=require("react-i18next");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("clsx");require("react-dom");require("@radix-ui/react-scroll-area");require("@floating-ui/react-dom");require("jotai");require("i18next");require("flagged");require("./STRINGS-gPz7CUOk.cjs");require("./Functions-N3yhPYKY.cjs");require("tailwind-merge");require("@chaibuilder/runtime");require("@react-hookz/web");require("./MODIFIERS-YPHRtwrM.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-Zc8hpE7f.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-quill");require("react-hotkeys-hook");require("./core.cjs");require("./html-to-json-VPWiWWGH.cjs");require("himalaya");const E=()=>{const{data:t}=o.useProject(),{data:u,isLoading:x}=o.usePages(),{saveState:d}=s.useSavePage(),m=o.useChangePage(),{t:q}=f.useTranslation(),[n,a]=o.useCurrentPage(),c=i.sortBy(i.filter(u,{type:"STATIC"}),r=>i.get(r,"uuid")===(t==null?void 0:t.homepage)?0:1);l.useEffect(()=>{!i.isEmpty(u)&&t.homepage&&!i.find(u,{uuid:n})&&a(t.homepage)},[n,u,t,a]),l.useEffect(()=>()=>a(null),[a]);const g=r=>{if(d!=="SAVED")j.toast.error(q("You have unsaved changes. Please save before changing the page."));else{const h=i.find(c,{uuid:r});m(h)}};return x||i.isEmpty(n)?null:e.jsxRuntimeExports.jsx("nav",{className:"flex rounded-lg border border-gray-200 bg-gray-50 px-3 py-1 pr-0 text-gray-700 dark:border-gray-700 dark:bg-gray-800","aria-label":"Breadcrumb",children:e.jsxRuntimeExports.jsxs("ol",{className:"inline-flex items-center space-x-1 md:space-x-3",children:[e.jsxRuntimeExports.jsx("li",{className:"inline-flex items-center",children:e.jsxRuntimeExports.jsxs("div",{className:"inline-flex items-center text-sm font-medium text-gray-500 dark:text-gray-400",children:[e.jsxRuntimeExports.jsx(p.BriefcaseIcon,{className:"mr-2 h-4 w-4"}),i.capitalize(t.name)]})}),e.jsxRuntimeExports.jsx("li",{"aria-current":"page",children:e.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx("svg",{className:"mx-1 h-3 w-3 text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 6 10",children:e.jsxRuntimeExports.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m1 9 4-4-4-4"})}),e.jsxRuntimeExports.jsxs(s.Select,{value:n||"",onValueChange:g,children:[e.jsxRuntimeExports.jsx(s.SelectTrigger,{className:"h-max border-0 py-0 text-sm font-medium text-gray-600 shadow-none outline-none ring-0 focus:ring-0 dark:text-gray-400",children:e.jsxRuntimeExports.jsx(s.SelectValue,{placeholder:"Page"})}),e.jsxRuntimeExports.jsx(s.SelectContent,{className:"z-[999]",children:i.map(c,r=>e.jsxRuntimeExports.jsx(s.SelectItem,{value:r.uuid,children:r==null?void 0:r.name},r.uuid))})]})]})})]})})};exports.default=E;
|
|
@@ -3,7 +3,7 @@ import React__default, { memo, useMemo, useCallback, useEffect, useRef } from "r
|
|
|
3
3
|
import { useAtom } from "jotai";
|
|
4
4
|
import { useDebouncedCallback } from "@react-hookz/web";
|
|
5
5
|
import { Tree } from "react-arborist";
|
|
6
|
-
import { i as useBlocksStore, L as useSelectedBlockIds, H as useRemoveBlocks, M as useSelectedBlock, bp as ContextMenuItem, aJ as canDeleteBlock, w as useDuplicateBlocks, bq as ContextMenuContent, aI as canDuplicateBlock, br as ContextMenu, bs as ContextMenuTrigger, h as useBuilderProp, z as useHighlightBlockId, bt as canAcceptChildBlock, ac as Tooltip, ad as TooltipTrigger, ae as TooltipContent, bu as treeDSBlocks, Q as useUpdateBlocksProps, Y as useSelectedStylingBlocks, aB as useBlocksStoreUndoableActions, aF as treeRefAtom } from "./ChaiBuilderEditor-
|
|
6
|
+
import { i as useBlocksStore, L as useSelectedBlockIds, H as useRemoveBlocks, M as useSelectedBlock, bp as ContextMenuItem, aJ as canDeleteBlock, w as useDuplicateBlocks, bq as ContextMenuContent, aI as canDuplicateBlock, br as ContextMenu, bs as ContextMenuTrigger, h as useBuilderProp, z as useHighlightBlockId, bt as canAcceptChildBlock, ac as Tooltip, ad as TooltipTrigger, ae as TooltipContent, bu as treeDSBlocks, Q as useUpdateBlocksProps, Y as useSelectedStylingBlocks, aB as useBlocksStoreUndoableActions, aF as treeRefAtom } from "./ChaiBuilderEditor-wfEkvtJ0.js";
|
|
7
7
|
import { c as cn } from "./Functions-7jnEwJyw.js";
|
|
8
8
|
import { BoxModelIcon, BoxIcon, DragHandleHorizontalIcon, ViewHorizontalIcon, BorderAllIcon, BorderTopIcon, TableIcon, DropdownMenuIcon, RadiobuttonIcon, InputIcon, ButtonIcon, CheckboxIcon, GroupIcon, SpaceBetweenVerticallyIcon, ColumnsIcon, RowsIcon, TextIcon, SketchLogoIcon, DividerHorizontalIcon, CodeIcon, CursorTextIcon, VideoIcon, Link1Icon, HeadingIcon, ImageIcon, TrashIcon, CopyIcon, TriangleRightIcon } from "@radix-ui/react-icons";
|
|
9
9
|
import { DatabaseIcon } from "lucide-react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const jsxRuntime=require("./jsx-runtime-Z_BpKhVy.cjs"),React=require("react"),jotai=require("jotai"),web=require("@react-hookz/web"),reactArborist=require("react-arborist"),ui=require("./ChaiBuilderEditor-qxbkVVLu.cjs"),Functions=require("./Functions-N3yhPYKY.cjs"),reactIcons=require("@radix-ui/react-icons"),lucideReact=require("lucide-react"),lodashEs=require("lodash-es");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("clsx");require("react-dom");require("@radix-ui/react-scroll-area");require("@floating-ui/react-dom");require("i18next");require("react-i18next");require("flagged");require("./STRINGS-gPz7CUOk.cjs");require("@chaibuilder/runtime");require("./MODIFIERS-YPHRtwrM.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-Zc8hpE7f.cjs");require("tailwind-merge");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-quill");require("react-hotkeys-hook");const TypeIcon=t=>{switch(t.type){case"Image":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ImageIcon,{});case"Heading":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.HeadingIcon,{});case"Text":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TextIcon,{});case"Link":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.Link1Icon,{});case"Video":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.VideoIcon,{});case"RichText":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.CursorTextIcon,{});case"Button":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ButtonIcon,{});case"CustomHTML":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.CodeIcon,{});case"Divider":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.DividerHorizontalIcon,{});case"Icon":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.SketchLogoIcon,{});case"List":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.RowsIcon,{});case"Paragraph":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TextIcon,{});case"Row":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.RowsIcon,{});case"ListItem":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ColumnsIcon,{});case"LineBreak":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.SpaceBetweenVerticallyIcon,{});case"Form":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.GroupIcon,{});case"Checkbox":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.CheckboxIcon,{});case"FormButton":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ButtonIcon,{});case"Input":case"TextArea":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.InputIcon,{});case"Radio":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.RadiobuttonIcon,{});case"Select":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.DropdownMenuIcon,{});case"Table":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TableIcon,{});case"TableHead":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.BorderTopIcon,{});case"TableBody":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.BorderAllIcon,{});case"TableRow":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ViewHorizontalIcon,{});case"TableCell":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.DragHandleHorizontalIcon,{});case"DataProvider":return jsxRuntime.jsxRuntimeExports.jsx(lucideReact.DatabaseIcon,{size:16});case"Box":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.BoxIcon,{});default:return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.BoxModelIcon,{})}},placeholderStyle={display:"flex",alignItems:"center",zIndex:1},DefaultCursor=React.memo(function({top:r,left:n}){const o={position:"absolute",pointerEvents:"none",top:r+"px",left:n+"px",right:0};return jsxRuntime.jsxRuntimeExports.jsx("div",{style:{...placeholderStyle,...o},children:jsxRuntime.jsxRuntimeExports.jsx("div",{className:"h-0.5 flex-1 rounded-[1px] bg-green-500"})})}),Overlay=React.memo(function({children:r,isDragging:n}){return n?jsxRuntime.jsxRuntimeExports.jsx("div",{className:"pointer-events-none fixed left-0 top-0 z-[100] h-full w-full",children:r}):null}),DefaultDragPreview=React.memo(({id:t,isDragging:r,mouse:n})=>{const[o]=ui.useBlocksStore(),i=React.useMemo(()=>o.find(x=>x._id===t),[o,t]),a=React.useMemo(()=>({transform:`translate(${(n==null?void 0:n.x)-10}px, ${(n==null?void 0:n.y)-10}px)`}),[n]);return n?jsxRuntime.jsxRuntimeExports.jsx("div",{children:jsxRuntime.jsxRuntimeExports.jsx(Overlay,{isDragging:r,children:jsxRuntime.jsxRuntimeExports.jsx("div",{className:"pointer-events-none absolute z-50 rounded border border-gray-200 bg-gray-100/80 font-semibold text-blue-600 shadow-md dark:border-gray-700 dark:bg-gray-800",style:a,children:jsxRuntime.jsxRuntimeExports.jsxs("button",{type:"button",className:"flex !cursor-grab items-center p-0.5","aria-label":`Type: ${i==null?void 0:i._type}`,children:[jsxRuntime.jsxRuntimeExports.jsx("div",{className:"-mt-0.5 h-3 w-3",children:jsxRuntime.jsxRuntimeExports.jsx(TypeIcon,{type:i==null?void 0:i._type})}),jsxRuntime.jsxRuntimeExports.jsx("div",{className:"ml-2 truncate text-[11px]",children:(i==null?void 0:i._name)||(i==null?void 0:i._type)})]})})})}):jsxRuntime.jsxRuntimeExports.jsx("div",{className:"hidden"})}),RemoveBlocks=()=>{const[t]=ui.useSelectedBlockIds(),r=ui.useRemoveBlocks(),n=ui.useSelectedBlock();return jsxRuntime.jsxRuntimeExports.jsxs(ui.ContextMenuItem,{disabled:!ui.canDeleteBlock(n==null?void 0:n._type),className:"flex items-center gap-x-4 text-xs",onClick:()=>r(t),children:[jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TrashIcon,{})," Remove"]})},BlockContextMenuContent=()=>{const[t]=ui.useSelectedBlockIds(),r=ui.useDuplicateBlocks(),n=ui.useSelectedBlock(),o=React.useCallback(()=>{r(t)},[t,r]);return jsxRuntime.jsxRuntimeExports.jsxs(ui.ContextMenuContent,{className:"text-xs",children:[jsxRuntime.jsxRuntimeExports.jsxs(ui.ContextMenuItem,{disabled:!ui.canDuplicateBlock(n==null?void 0:n._type),className:"flex items-center gap-x-4 text-xs",onClick:o,children:[jsxRuntime.jsxRuntimeExports.jsx(reactIcons.CopyIcon,{})," Duplicate"]}),jsxRuntime.jsxRuntimeExports.jsx(RemoveBlocks,{})]})},BlockContextMenu=({children:t})=>jsxRuntime.jsxRuntimeExports.jsx(jsxRuntime.jsxRuntimeExports.Fragment,{children:jsxRuntime.jsxRuntimeExports.jsxs(ui.ContextMenu,{children:[jsxRuntime.jsxRuntimeExports.jsx(ui.ContextMenuTrigger,{children:t}),jsxRuntime.jsxRuntimeExports.jsx(BlockContextMenuContent,{})]})}),defaultShortcuts=[{key:"ArrowDown",command:"selectNext"},{key:"ArrowUp",command:"selectPrev"},{key:"ArrowLeft",command:"selectParent",when:"isLeaf || isClosed"},{key:"ArrowLeft",command:"close",when:"isOpen"},{key:"ArrowRight",command:"open",when:"isClosed"},{key:"ArrowRight",command:"selectNext",when:"isOpen"},{key:"Home",command:"selectFirst"},{key:"End",command:"selectLast"}];function selectFirst(t){t.firstNode&&t.select(t.firstNode.id)}function selectLast(t){t.lastNode&&t.select(t.lastNode.id)}function selectNext(t){const r=t.selectedNodes[0].next||t.firstNode;t.select(r.id)}function selectPrev(t){const r=t.selectedNodes[0].prev||t.lastNode;t.select(r.id)}const selectParent=(t,r)=>{var o;const n=((o=t.selectedIds[0])==null?void 0:o.parent)||null;n&&r&&t.select(n.id)},open=(t,r)=>{const n=t.selectedNodes[0];n.isInternal&&r&&n.open()},close=(t,r)=>{const n=t.selectedNodes[0];n.isInternal&&r&&n.close()},Node=React.memo(({node:t,style:r,dragHandle:n})=>{const o=ui.useBuilderProp("outlineMenuItems",[]),[,i]=ui.useHighlightBlockId(),a=t.children.length>0,{id:x,data:c,isSelected:m,willReceiveDrop:l,isDragging:d,isEditing:j,handleClick:p}=t,R=web.useDebouncedCallback(u=>i(u),[],300),f=u=>{u.stopPropagation(),t.toggle()},h=u=>{u.stopPropagation(),t.isOpen||t.toggle(),p(u)};return React.useEffect(()=>{const u=setTimeout(()=>{l&&!t.isOpen&&t.toggle()},500);return()=>clearTimeout(u)},[l,t]),jsxRuntime.jsxRuntimeExports.jsx(BlockContextMenu,{id:x,children:jsxRuntime.jsxRuntimeExports.jsxs("div",{onClick:h,onMouseEnter:()=>R(x),style:r,"data-node-id":x,ref:n,className:Functions.cn("group flex !h-fit w-full items-center justify-between space-x-px py-px outline-none",m?"bg-blue-500 text-white":"text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-800",l&&ui.canAcceptChildBlock(c._type,"Icon")?"bg-green-200":"",d&&"opacity-20"),children:[jsxRuntime.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsxRuntimeExports.jsx("div",{className:`flex h-4 w-4 rotate-0 transform cursor-pointer items-center justify-center text-xs transition-transform duration-100 ${t.isOpen?"rotate-90":""}`,children:a&&jsxRuntime.jsxRuntimeExports.jsx("button",{onClick:f,type:"button",children:jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TriangleRightIcon,{})})}),jsxRuntime.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsxRuntimeExports.jsx("div",{className:"-mt-0.5 h-3 w-3",children:jsxRuntime.jsxRuntimeExports.jsx(TypeIcon,{type:c==null?void 0:c._type})}),j?jsxRuntime.jsxRuntimeExports.jsx(Input,{node:t}):jsxRuntime.jsxRuntimeExports.jsx("div",{className:"ml-2 truncate text-[11px]",onDoubleClick:u=>{u.stopPropagation(),t.edit(),t.deselect()},children:(c==null?void 0:c._name)||(c==null?void 0:c._type.split("/").pop())})]})]}),jsxRuntime.jsxRuntimeExports.jsx("div",{className:"invisible flex items-center space-x-1 pr-2 group-hover:visible",children:o.map(u=>jsxRuntime.jsxRuntimeExports.jsxs(ui.Tooltip,{children:[jsxRuntime.jsxRuntimeExports.jsx(ui.TooltipTrigger,{className:"cursor-pointer rounded bg-transparent hover:bg-white hover:text-blue-500",asChild:!0,children:React.createElement(u.item,{blockId:x})}),jsxRuntime.jsxRuntimeExports.jsx(ui.TooltipContent,{className:"z-[9999]",children:u.tooltip})]}))})]})})}),Input=({node:t})=>{var r,n;return jsxRuntime.jsxRuntimeExports.jsx("input",{autoFocus:!0,className:"ml-2 w-full rounded-sm border border-black/30 bg-transparent px-1 text-[11px] outline-none",type:"text",defaultValue:((r=t.data)==null?void 0:r._name)||((n=t.data)==null?void 0:n._type),onFocus:o=>o.currentTarget.select(),onBlur:o=>t.submit(o.currentTarget.value),onKeyDown:o=>{o.key==="Enter"&&t.submit(o.currentTarget.value)}})},useCanMove=()=>{const[t]=ui.useBlocksStore();return(r,n)=>{var a;const o=(a=lodashEs.find(t,{_id:n}))==null?void 0:a._type,i=lodashEs.first(r.map(x=>{var c;return(c=lodashEs.find(t,{_id:x}))==null?void 0:c._type}));return ui.canAcceptChildBlock(o,i)}},ListTree=()=>{const[treeData]=jotai.useAtom(ui.treeDSBlocks),[ids,setIds]=ui.useSelectedBlockIds(),updateBlockProps=ui.useUpdateBlocksProps(),[,setStyleBlocks]=ui.useSelectedStylingBlocks(),{moveBlocks}=ui.useBlocksStoreUndoableActions(),canMove=useCanMove(),treeRef=React.useRef(null),[,setTreeRef]=jotai.useAtom(ui.treeRefAtom),clearSelection=()=>{setIds([]),setStyleBlocks([])};React.useEffect(()=>{setTreeRef(treeRef.current)},[treeRef.current]);const onRename=({id:t,name:r,node:n})=>{updateBlockProps([t],{_name:r},n.data._name)},onMove=({dragIds:t,parentId:r,index:n})=>{canMove(t,r)&&moveBlocks(t,r,n)},onSelect=t=>{if(t.length===0)return;const r=t[0]?t[0].id:"";setStyleBlocks([]),setIds([r])},onContextMenu=t=>{var o;t.preventDefault();const r=t.target,n=r.getAttribute("data-node-id")||((o=r.closest("[data-node-id]"))==null?void 0:o.getAttribute("data-node-id"));n&&(setStyleBlocks([]),setIds([n]))},debouncedDisableDrop=web.useDebouncedCallback(({parentNode:t,dragNodes:r})=>{var n;return!ui.canAcceptChildBlock(t==null?void 0:t.data._type,(n=r[0])==null?void 0:n.data._type)},[],300),handleKeyDown=e=>{if(!treeRef.current)return;const tree=treeRef.current,selectedNode=tree.selectedNodes[0];if(!selectedNode)return;setIds[selectedNode.id],setStyleBlocks([]);const isLeaf=!selectedNode.isInternal,isClosed=!selectedNode.isOpen,isOpen=selectedNode.isOpen,shortcut=defaultShortcuts.find(s=>s.key===e.key&&(!s.when||eval(s.when)));if(shortcut)switch(e.preventDefault(),shortcut.command){case"selectNext":selectNext(tree);break;case"selectPrev":selectPrev(tree);break;case"selectParent":selectParent(tree,isLeaf||isClosed);break;case"close":close(tree,isOpen);break;case"open":open(tree,isClosed);break;case"selectFirst":selectFirst(tree);break;case"selectLast":selectLast(tree);break;default:break}};return jsxRuntime.jsxRuntimeExports.jsx("div",{className:Functions.cn("-mx-1 -mt-1 flex h-full select-none flex-col space-y-1"),onClick:()=>clearSelection(),children:jsxRuntime.jsxRuntimeExports.jsx("div",{id:"outline-view",className:"no-scrollbar h-full overflow-y-auto p-1 px-2 text-xs",onKeyDown:t=>{treeRef.current.isEditing||handleKeyDown(t)},children:jsxRuntime.jsxRuntimeExports.jsx(reactArborist.Tree,{ref:treeRef,height:800,className:"no-scrollbar !h-full max-w-full !overflow-y-auto !overflow-x-hidden",selection:ids[0]||"",onRename,openByDefault:!1,onMove,rowHeight:20,data:treeData,renderCursor:DefaultCursor,onSelect,childrenAccessor:t=>t.children,width:"100%",renderDragPreview:DefaultDragPreview,indent:10,onContextMenu,disableDrop:debouncedDisableDrop,idAccessor:"_id",children:Node})})})};exports.default=ListTree;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const jsxRuntime=require("./jsx-runtime-Z_BpKhVy.cjs"),React=require("react"),jotai=require("jotai"),web=require("@react-hookz/web"),reactArborist=require("react-arborist"),ui=require("./ChaiBuilderEditor-hcoLrtq8.cjs"),Functions=require("./Functions-N3yhPYKY.cjs"),reactIcons=require("@radix-ui/react-icons"),lucideReact=require("lucide-react"),lodashEs=require("lodash-es");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("clsx");require("react-dom");require("@radix-ui/react-scroll-area");require("@floating-ui/react-dom");require("i18next");require("react-i18next");require("flagged");require("./STRINGS-gPz7CUOk.cjs");require("@chaibuilder/runtime");require("./MODIFIERS-YPHRtwrM.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-Zc8hpE7f.cjs");require("tailwind-merge");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-quill");require("react-hotkeys-hook");const TypeIcon=t=>{switch(t.type){case"Image":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ImageIcon,{});case"Heading":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.HeadingIcon,{});case"Text":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TextIcon,{});case"Link":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.Link1Icon,{});case"Video":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.VideoIcon,{});case"RichText":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.CursorTextIcon,{});case"Button":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ButtonIcon,{});case"CustomHTML":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.CodeIcon,{});case"Divider":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.DividerHorizontalIcon,{});case"Icon":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.SketchLogoIcon,{});case"List":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.RowsIcon,{});case"Paragraph":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TextIcon,{});case"Row":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.RowsIcon,{});case"ListItem":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ColumnsIcon,{});case"LineBreak":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.SpaceBetweenVerticallyIcon,{});case"Form":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.GroupIcon,{});case"Checkbox":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.CheckboxIcon,{});case"FormButton":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ButtonIcon,{});case"Input":case"TextArea":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.InputIcon,{});case"Radio":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.RadiobuttonIcon,{});case"Select":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.DropdownMenuIcon,{});case"Table":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TableIcon,{});case"TableHead":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.BorderTopIcon,{});case"TableBody":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.BorderAllIcon,{});case"TableRow":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.ViewHorizontalIcon,{});case"TableCell":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.DragHandleHorizontalIcon,{});case"DataProvider":return jsxRuntime.jsxRuntimeExports.jsx(lucideReact.DatabaseIcon,{size:16});case"Box":return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.BoxIcon,{});default:return jsxRuntime.jsxRuntimeExports.jsx(reactIcons.BoxModelIcon,{})}},placeholderStyle={display:"flex",alignItems:"center",zIndex:1},DefaultCursor=React.memo(function({top:r,left:n}){const o={position:"absolute",pointerEvents:"none",top:r+"px",left:n+"px",right:0};return jsxRuntime.jsxRuntimeExports.jsx("div",{style:{...placeholderStyle,...o},children:jsxRuntime.jsxRuntimeExports.jsx("div",{className:"h-0.5 flex-1 rounded-[1px] bg-green-500"})})}),Overlay=React.memo(function({children:r,isDragging:n}){return n?jsxRuntime.jsxRuntimeExports.jsx("div",{className:"pointer-events-none fixed left-0 top-0 z-[100] h-full w-full",children:r}):null}),DefaultDragPreview=React.memo(({id:t,isDragging:r,mouse:n})=>{const[o]=ui.useBlocksStore(),i=React.useMemo(()=>o.find(x=>x._id===t),[o,t]),a=React.useMemo(()=>({transform:`translate(${(n==null?void 0:n.x)-10}px, ${(n==null?void 0:n.y)-10}px)`}),[n]);return n?jsxRuntime.jsxRuntimeExports.jsx("div",{children:jsxRuntime.jsxRuntimeExports.jsx(Overlay,{isDragging:r,children:jsxRuntime.jsxRuntimeExports.jsx("div",{className:"pointer-events-none absolute z-50 rounded border border-gray-200 bg-gray-100/80 font-semibold text-blue-600 shadow-md dark:border-gray-700 dark:bg-gray-800",style:a,children:jsxRuntime.jsxRuntimeExports.jsxs("button",{type:"button",className:"flex !cursor-grab items-center p-0.5","aria-label":`Type: ${i==null?void 0:i._type}`,children:[jsxRuntime.jsxRuntimeExports.jsx("div",{className:"-mt-0.5 h-3 w-3",children:jsxRuntime.jsxRuntimeExports.jsx(TypeIcon,{type:i==null?void 0:i._type})}),jsxRuntime.jsxRuntimeExports.jsx("div",{className:"ml-2 truncate text-[11px]",children:(i==null?void 0:i._name)||(i==null?void 0:i._type)})]})})})}):jsxRuntime.jsxRuntimeExports.jsx("div",{className:"hidden"})}),RemoveBlocks=()=>{const[t]=ui.useSelectedBlockIds(),r=ui.useRemoveBlocks(),n=ui.useSelectedBlock();return jsxRuntime.jsxRuntimeExports.jsxs(ui.ContextMenuItem,{disabled:!ui.canDeleteBlock(n==null?void 0:n._type),className:"flex items-center gap-x-4 text-xs",onClick:()=>r(t),children:[jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TrashIcon,{})," Remove"]})},BlockContextMenuContent=()=>{const[t]=ui.useSelectedBlockIds(),r=ui.useDuplicateBlocks(),n=ui.useSelectedBlock(),o=React.useCallback(()=>{r(t)},[t,r]);return jsxRuntime.jsxRuntimeExports.jsxs(ui.ContextMenuContent,{className:"text-xs",children:[jsxRuntime.jsxRuntimeExports.jsxs(ui.ContextMenuItem,{disabled:!ui.canDuplicateBlock(n==null?void 0:n._type),className:"flex items-center gap-x-4 text-xs",onClick:o,children:[jsxRuntime.jsxRuntimeExports.jsx(reactIcons.CopyIcon,{})," Duplicate"]}),jsxRuntime.jsxRuntimeExports.jsx(RemoveBlocks,{})]})},BlockContextMenu=({children:t})=>jsxRuntime.jsxRuntimeExports.jsx(jsxRuntime.jsxRuntimeExports.Fragment,{children:jsxRuntime.jsxRuntimeExports.jsxs(ui.ContextMenu,{children:[jsxRuntime.jsxRuntimeExports.jsx(ui.ContextMenuTrigger,{children:t}),jsxRuntime.jsxRuntimeExports.jsx(BlockContextMenuContent,{})]})}),defaultShortcuts=[{key:"ArrowDown",command:"selectNext"},{key:"ArrowUp",command:"selectPrev"},{key:"ArrowLeft",command:"selectParent",when:"isLeaf || isClosed"},{key:"ArrowLeft",command:"close",when:"isOpen"},{key:"ArrowRight",command:"open",when:"isClosed"},{key:"ArrowRight",command:"selectNext",when:"isOpen"},{key:"Home",command:"selectFirst"},{key:"End",command:"selectLast"}];function selectFirst(t){t.firstNode&&t.select(t.firstNode.id)}function selectLast(t){t.lastNode&&t.select(t.lastNode.id)}function selectNext(t){const r=t.selectedNodes[0].next||t.firstNode;t.select(r.id)}function selectPrev(t){const r=t.selectedNodes[0].prev||t.lastNode;t.select(r.id)}const selectParent=(t,r)=>{var o;const n=((o=t.selectedIds[0])==null?void 0:o.parent)||null;n&&r&&t.select(n.id)},open=(t,r)=>{const n=t.selectedNodes[0];n.isInternal&&r&&n.open()},close=(t,r)=>{const n=t.selectedNodes[0];n.isInternal&&r&&n.close()},Node=React.memo(({node:t,style:r,dragHandle:n})=>{const o=ui.useBuilderProp("outlineMenuItems",[]),[,i]=ui.useHighlightBlockId(),a=t.children.length>0,{id:x,data:c,isSelected:m,willReceiveDrop:l,isDragging:d,isEditing:j,handleClick:p}=t,R=web.useDebouncedCallback(u=>i(u),[],300),f=u=>{u.stopPropagation(),t.toggle()},h=u=>{u.stopPropagation(),t.isOpen||t.toggle(),p(u)};return React.useEffect(()=>{const u=setTimeout(()=>{l&&!t.isOpen&&t.toggle()},500);return()=>clearTimeout(u)},[l,t]),jsxRuntime.jsxRuntimeExports.jsx(BlockContextMenu,{id:x,children:jsxRuntime.jsxRuntimeExports.jsxs("div",{onClick:h,onMouseEnter:()=>R(x),style:r,"data-node-id":x,ref:n,className:Functions.cn("group flex !h-fit w-full items-center justify-between space-x-px py-px outline-none",m?"bg-blue-500 text-white":"text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-800",l&&ui.canAcceptChildBlock(c._type,"Icon")?"bg-green-200":"",d&&"opacity-20"),children:[jsxRuntime.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsxRuntimeExports.jsx("div",{className:`flex h-4 w-4 rotate-0 transform cursor-pointer items-center justify-center text-xs transition-transform duration-100 ${t.isOpen?"rotate-90":""}`,children:a&&jsxRuntime.jsxRuntimeExports.jsx("button",{onClick:f,type:"button",children:jsxRuntime.jsxRuntimeExports.jsx(reactIcons.TriangleRightIcon,{})})}),jsxRuntime.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsxRuntimeExports.jsx("div",{className:"-mt-0.5 h-3 w-3",children:jsxRuntime.jsxRuntimeExports.jsx(TypeIcon,{type:c==null?void 0:c._type})}),j?jsxRuntime.jsxRuntimeExports.jsx(Input,{node:t}):jsxRuntime.jsxRuntimeExports.jsx("div",{className:"ml-2 truncate text-[11px]",onDoubleClick:u=>{u.stopPropagation(),t.edit(),t.deselect()},children:(c==null?void 0:c._name)||(c==null?void 0:c._type.split("/").pop())})]})]}),jsxRuntime.jsxRuntimeExports.jsx("div",{className:"invisible flex items-center space-x-1 pr-2 group-hover:visible",children:o.map(u=>jsxRuntime.jsxRuntimeExports.jsxs(ui.Tooltip,{children:[jsxRuntime.jsxRuntimeExports.jsx(ui.TooltipTrigger,{className:"cursor-pointer rounded bg-transparent hover:bg-white hover:text-blue-500",asChild:!0,children:React.createElement(u.item,{blockId:x})}),jsxRuntime.jsxRuntimeExports.jsx(ui.TooltipContent,{className:"z-[9999]",children:u.tooltip})]}))})]})})}),Input=({node:t})=>{var r,n;return jsxRuntime.jsxRuntimeExports.jsx("input",{autoFocus:!0,className:"ml-2 w-full rounded-sm border border-black/30 bg-transparent px-1 text-[11px] outline-none",type:"text",defaultValue:((r=t.data)==null?void 0:r._name)||((n=t.data)==null?void 0:n._type),onFocus:o=>o.currentTarget.select(),onBlur:o=>t.submit(o.currentTarget.value),onKeyDown:o=>{o.key==="Enter"&&t.submit(o.currentTarget.value)}})},useCanMove=()=>{const[t]=ui.useBlocksStore();return(r,n)=>{var a;const o=(a=lodashEs.find(t,{_id:n}))==null?void 0:a._type,i=lodashEs.first(r.map(x=>{var c;return(c=lodashEs.find(t,{_id:x}))==null?void 0:c._type}));return ui.canAcceptChildBlock(o,i)}},ListTree=()=>{const[treeData]=jotai.useAtom(ui.treeDSBlocks),[ids,setIds]=ui.useSelectedBlockIds(),updateBlockProps=ui.useUpdateBlocksProps(),[,setStyleBlocks]=ui.useSelectedStylingBlocks(),{moveBlocks}=ui.useBlocksStoreUndoableActions(),canMove=useCanMove(),treeRef=React.useRef(null),[,setTreeRef]=jotai.useAtom(ui.treeRefAtom),clearSelection=()=>{setIds([]),setStyleBlocks([])};React.useEffect(()=>{setTreeRef(treeRef.current)},[treeRef.current]);const onRename=({id:t,name:r,node:n})=>{updateBlockProps([t],{_name:r},n.data._name)},onMove=({dragIds:t,parentId:r,index:n})=>{canMove(t,r)&&moveBlocks(t,r,n)},onSelect=t=>{if(t.length===0)return;const r=t[0]?t[0].id:"";setStyleBlocks([]),setIds([r])},onContextMenu=t=>{var o;t.preventDefault();const r=t.target,n=r.getAttribute("data-node-id")||((o=r.closest("[data-node-id]"))==null?void 0:o.getAttribute("data-node-id"));n&&(setStyleBlocks([]),setIds([n]))},debouncedDisableDrop=web.useDebouncedCallback(({parentNode:t,dragNodes:r})=>{var n;return!ui.canAcceptChildBlock(t==null?void 0:t.data._type,(n=r[0])==null?void 0:n.data._type)},[],300),handleKeyDown=e=>{if(!treeRef.current)return;const tree=treeRef.current,selectedNode=tree.selectedNodes[0];if(!selectedNode)return;setIds[selectedNode.id],setStyleBlocks([]);const isLeaf=!selectedNode.isInternal,isClosed=!selectedNode.isOpen,isOpen=selectedNode.isOpen,shortcut=defaultShortcuts.find(s=>s.key===e.key&&(!s.when||eval(s.when)));if(shortcut)switch(e.preventDefault(),shortcut.command){case"selectNext":selectNext(tree);break;case"selectPrev":selectPrev(tree);break;case"selectParent":selectParent(tree,isLeaf||isClosed);break;case"close":close(tree,isOpen);break;case"open":open(tree,isClosed);break;case"selectFirst":selectFirst(tree);break;case"selectLast":selectLast(tree);break;default:break}};return jsxRuntime.jsxRuntimeExports.jsx("div",{className:Functions.cn("-mx-1 -mt-1 flex h-full select-none flex-col space-y-1"),onClick:()=>clearSelection(),children:jsxRuntime.jsxRuntimeExports.jsx("div",{id:"outline-view",className:"no-scrollbar h-full overflow-y-auto p-1 px-2 text-xs",onKeyDown:t=>{treeRef.current.isEditing||handleKeyDown(t)},children:jsxRuntime.jsxRuntimeExports.jsx(reactArborist.Tree,{ref:treeRef,height:800,className:"no-scrollbar !h-full max-w-full !overflow-y-auto !overflow-x-hidden",selection:ids[0]||"",onRename,openByDefault:!1,onMove,rowHeight:20,data:treeData,renderCursor:DefaultCursor,onSelect,childrenAccessor:t=>t.children,width:"100%",renderDragPreview:DefaultDragPreview,indent:10,onContextMenu,disableDrop:debouncedDisableDrop,idAccessor:"_id",children:Node})})})};exports.default=ListTree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),u=require("react"),i=require("lodash-es"),s=require("./index
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),u=require("react"),i=require("lodash-es"),s=require("./index-SQ1sNajH.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("./core.cjs");require("./ChaiBuilderEditor-hcoLrtq8.cjs");require("clsx");require("react-dom");require("@radix-ui/react-scroll-area");require("@floating-ui/react-dom");require("jotai");require("i18next");require("react-i18next");require("flagged");require("./STRINGS-gPz7CUOk.cjs");require("./Functions-N3yhPYKY.cjs");require("tailwind-merge");require("@chaibuilder/runtime");require("@react-hookz/web");require("./MODIFIERS-YPHRtwrM.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-Zc8hpE7f.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-quill");require("react-hotkeys-hook");require("lucide-react");require("sonner");require("./html-to-json-VPWiWWGH.cjs");require("himalaya");const a=u.lazy(()=>Promise.resolve().then(()=>require("./add-page-modal-0jmyeD0x.cjs"))),x=u.lazy(()=>Promise.resolve().then(()=>require("./page-viewer-qr3NscoT.cjs"))),d=()=>{const{data:t=[],isLoading:q}=s.usePages(),{data:r}=s.useProject(),n=i.sortBy(i.filter(t,{type:"STATIC"}),o=>i.get(o,"uuid")===(r==null?void 0:r.homepage)?0:1);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-between rounded-md bg-background/30 p-1",children:[e.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Pages"}),e.jsxRuntimeExports.jsx(u.Suspense,{fallback:e.jsxRuntimeExports.jsx("div",{className:"text-sm text-blue-500 underline",children:"+ New Page"}),children:e.jsxRuntimeExports.jsx(a,{})})]}),e.jsxRuntimeExports.jsx("hr",{className:"-mx-1"}),e.jsxRuntimeExports.jsx("div",{className:"-mx-1 divide-y-2",children:e.jsxRuntimeExports.jsx(x,{isLoading:q,pages:n})})]})};exports.default=d;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { j as t } from "./jsx-runtime-WbnYoNE9.js";
|
|
2
2
|
import i, { Suspense as s } from "react";
|
|
3
3
|
import { sortBy as a, filter as d, get as n } from "lodash-es";
|
|
4
|
-
import { u as l, a as c } from "./index-
|
|
4
|
+
import { u as l, a as c } from "./index-OdzdznTv.js";
|
|
5
5
|
import "./_commonjsHelpers-UyOWmZb0.js";
|
|
6
6
|
import "./core.js";
|
|
7
|
-
import "./ChaiBuilderEditor-
|
|
7
|
+
import "./ChaiBuilderEditor-wfEkvtJ0.js";
|
|
8
8
|
import "clsx";
|
|
9
9
|
import "react-dom";
|
|
10
10
|
import "@radix-ui/react-scroll-area";
|
|
@@ -47,7 +47,7 @@ import "lucide-react";
|
|
|
47
47
|
import "sonner";
|
|
48
48
|
import "./html-to-json-Z6R2o_fA.js";
|
|
49
49
|
import "himalaya";
|
|
50
|
-
const x = i.lazy(() => import("./add-page-modal-
|
|
50
|
+
const x = i.lazy(() => import("./add-page-modal-ued8fkUY.js")), u = i.lazy(() => import("./page-viewer-6qv40Sm2.js")), nt = () => {
|
|
51
51
|
const { data: o = [], isLoading: m } = l(), { data: r } = c(), p = a(d(o, { type: "STATIC" }), (e) => n(e, "uuid") === (r == null ? void 0 : r.homepage) ? 0 : 1);
|
|
52
52
|
return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
53
53
|
/* @__PURE__ */ t.jsxs("div", { className: "flex items-center justify-between rounded-md bg-background/30 p-1", children: [
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as t } from "./jsx-runtime-WbnYoNE9.js";
|
|
2
2
|
import m, { useRef as x, useEffect as a, Suspense as p } from "react";
|
|
3
3
|
import { isEqual as b, isEmpty as j } from "lodash-es";
|
|
4
|
-
import { b3 as f, b4 as n, b5 as l, b6 as c } from "./ChaiBuilderEditor-
|
|
5
|
-
import { b as h, a as g } from "./index-
|
|
4
|
+
import { b3 as f, b4 as n, b5 as l, b6 as c } from "./ChaiBuilderEditor-wfEkvtJ0.js";
|
|
5
|
+
import { b as h, a as g } from "./index-OdzdznTv.js";
|
|
6
6
|
import "./_commonjsHelpers-UyOWmZb0.js";
|
|
7
7
|
import "clsx";
|
|
8
8
|
import "react-dom";
|
|
@@ -47,7 +47,7 @@ import "./core.js";
|
|
|
47
47
|
import "sonner";
|
|
48
48
|
import "./html-to-json-Z6R2o_fA.js";
|
|
49
49
|
import "himalaya";
|
|
50
|
-
const N = m.lazy(() => import("./project-general-setting-
|
|
50
|
+
const N = m.lazy(() => import("./project-general-setting-GVzAsfrk.js")), S = m.lazy(() => import("./project-seo-setting-iPqsGKuc.js")), d = /* @__PURE__ */ t.jsx("div", { className: "px-3", children: /* @__PURE__ */ t.jsx("div", { className: "h-52 w-full animate-pulse rounded-md bg-gray-100" }) }), u = (e) => e && j(e.seoData) ? {
|
|
51
51
|
...e,
|
|
52
52
|
seoData: { title: "", description: "", image: "" }
|
|
53
53
|
} : e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),r=require("react"),x=require("lodash-es"),s=require("./ChaiBuilderEditor-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),r=require("react"),x=require("lodash-es"),s=require("./ChaiBuilderEditor-hcoLrtq8.cjs"),a=require("./index-SQ1sNajH.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("clsx");require("react-dom");require("@radix-ui/react-scroll-area");require("@floating-ui/react-dom");require("jotai");require("i18next");require("react-i18next");require("flagged");require("./STRINGS-gPz7CUOk.cjs");require("./Functions-N3yhPYKY.cjs");require("tailwind-merge");require("@chaibuilder/runtime");require("@react-hookz/web");require("./MODIFIERS-YPHRtwrM.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-Zc8hpE7f.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-quill");require("react-hotkeys-hook");require("lucide-react");require("./core.cjs");require("sonner");require("./html-to-json-VPWiWWGH.cjs");require("himalaya");const d=r.lazy(()=>Promise.resolve().then(()=>require("./project-general-setting-fm1YfS_2.cjs"))),m=r.lazy(()=>Promise.resolve().then(()=>require("./project-seo-setting-06jt9oDD.cjs"))),c=e.jsxRuntimeExports.jsx("div",{className:"px-3",children:e.jsxRuntimeExports.jsx("div",{className:"h-52 w-full animate-pulse rounded-md bg-gray-100"})}),l=t=>t&&x.isEmpty(t.seoData)?{...t,seoData:{title:"",description:"",image:""}}:t;function q(){const t=a.useUpdateProject(),{data:n}=a.useProject(),[i,o]=r.useState(l(n||{})),u=r.useRef(i);return r.useEffect(()=>()=>{x.isEqual(n,u.current)||t.mutate(u.current,{onSuccess:()=>o(u.current)})},[u]),r.useEffect(()=>{u.current=i},[i]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:"flex items-center justify-between rounded-md bg-background/30 p-1",children:e.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Website Settings"})}),e.jsxRuntimeExports.jsx("hr",{className:"-mx-1"}),e.jsxRuntimeExports.jsx("div",{className:"-mx-1",children:e.jsxRuntimeExports.jsxs(s.Accordion,{type:"single",className:"w-full",defaultValue:"GENERAL",children:[e.jsxRuntimeExports.jsxs(s.AccordionItem,{value:"GENERAL",className:"border-b-2 border-slate-100 dark:border-slate-800",children:[e.jsxRuntimeExports.jsx(s.AccordionTrigger,{className:"bg-slate-200 px-2.5 py-1.5 font-medium hover:bg-slate-100 hover:no-underline dark:bg-slate-900 dark:hover:bg-slate-800",children:"General Settings"}),e.jsxRuntimeExports.jsx(s.AccordionContent,{className:"px-2 pt-4 text-sm",children:e.jsxRuntimeExports.jsx(r.Suspense,{fallback:c,children:e.jsxRuntimeExports.jsx(d,{_projectData:i,seany:o})})})]}),e.jsxRuntimeExports.jsxs(s.AccordionItem,{value:"SEO",className:"border-b-2 border-slate-100 dark:border-slate-800",children:[e.jsxRuntimeExports.jsx(s.AccordionTrigger,{className:"bg-slate-200 px-2.5 py-1.5 font-medium hover:bg-slate-100 hover:no-underline dark:bg-slate-900 dark:hover:bg-slate-800",children:"SEO Settings"}),e.jsxRuntimeExports.jsx(s.AccordionContent,{className:"px-1 pt-4 text-sm",children:e.jsxRuntimeExports.jsx(r.Suspense,{fallback:c,children:e.jsxRuntimeExports.jsx(m,{_projectData:i,seany:o})})})]})]})})]})}exports.default=q;
|
|
@@ -5,14 +5,14 @@ import { useThrottledCallback as ue } from "@react-hookz/web";
|
|
|
5
5
|
import { forEach as Re, isArray as xe, omit as vt, truncate as jt, includes as F, get as g, first as oe, split as wt, startCase as Y, toLower as le, isEmpty as b, map as C, find as Ge, last as Ct, filter as ve, set as qe, debounce as kt, keys as je, cloneDeep as Nt, each as _t, capitalize as we, reject as St, nth as $e, startsWith as W, isNumber as Tt, parseInt as Rt, isNaN as Je, findLast as Vt, flatten as J, intersection as Qe, has as ce, kebabCase as Ht, isNull as Dt } from "lodash-es";
|
|
6
6
|
import { useTranslation as X } from "react-i18next";
|
|
7
7
|
import { CopyIcon as Bt, PlusIcon as Ve, Cross2Icon as et, EyeOpenIcon as Pt, EyeClosedIcon as Ae, BorderAllIcon as O, WidthIcon as T, HeightIcon as R, ArrowUpIcon as ee, ArrowRightIcon as te, ArrowDownIcon as re, ArrowLeftIcon as se, ArrowTopLeftIcon as It, ArrowTopRightIcon as $t, ArrowBottomRightIcon as At, ArrowBottomLeftIcon as Mt, AlignLeftIcon as Lt, AlignCenterHorizontallyIcon as Et, AlignRightIcon as Ot, StretchHorizontallyIcon as Ft, FontItalicIcon as Yt, UnderlineIcon as zt, OverlineIcon as Xt, LetterCaseUppercaseIcon as Zt, Cross1Icon as Wt, InfoCircledIcon as He, MinusIcon as Ut, BoxIcon as tt, RowSpacingIcon as Kt, TriangleDownIcon as Gt, CrossCircledIcon as qt, CaretDownIcon as Jt, MixerHorizontalIcon as rt } from "@radix-ui/react-icons";
|
|
8
|
-
import { a2 as st, aO as Qt, aP as er, B as G, aQ as tr, aR as rr, aS as sr, aT as lr, aU as ar, aV as or, aW as nr, M as q, aK as lt, $ as ir, a0 as dr, a1 as cr, aX as pr, Z as ur, ab as xr, _ as gr, ac as $, ad as A, ae as M, aY as hr, aZ as yr, a_ as mr, a$ as br, b0 as fr, b1 as vr, b2 as jr, R as at, Q as ot, h as wr, b3 as nt, b4 as Ce, b5 as ke, b6 as Ne, Y as ge, n as De, I as it, L as dt, b7 as ct, aq as pt, b8 as _e, j as Cr, b9 as kr, J as he, v as Nr, P as ut, o as Me, av as _r, aw as Sr, ax as Tr, ba as Be, ay as Le, az as Ee, bb as Oe, bc as Fe, bd as Ye, S as Rr, be as Vr, a6 as Hr, a7 as Dr, a8 as Br, a9 as Pr, aa as V, ai as Ir, aj as $r, ak as me, al as be } from "./ChaiBuilderEditor-
|
|
8
|
+
import { a2 as st, aO as Qt, aP as er, B as G, aQ as tr, aR as rr, aS as sr, aT as lr, aU as ar, aV as or, aW as nr, M as q, aK as lt, $ as ir, a0 as dr, a1 as cr, aX as pr, Z as ur, ab as xr, _ as gr, ac as $, ad as A, ae as M, aY as hr, aZ as yr, a_ as mr, a$ as br, b0 as fr, b1 as vr, b2 as jr, R as at, Q as ot, h as wr, b3 as nt, b4 as Ce, b5 as ke, b6 as Ne, Y as ge, n as De, I as it, L as dt, b7 as ct, aq as pt, b8 as _e, j as Cr, b9 as kr, J as he, v as Nr, P as ut, o as Me, av as _r, aw as Sr, ax as Tr, ba as Be, ay as Le, az as Ee, bb as Oe, bc as Fe, bd as Ye, S as Rr, be as Vr, a6 as Hr, a7 as Dr, a8 as Br, a9 as Pr, aa as V, ai as Ir, aj as $r, ak as me, al as be } from "./ChaiBuilderEditor-wfEkvtJ0.js";
|
|
9
9
|
import { l as Ar } from "./controls-VTdJhdSz.js";
|
|
10
10
|
import { Check as Mr, EditIcon as Lr, TrashIcon as Er, BrushIcon as Or, DeleteIcon as Fr } from "lucide-react";
|
|
11
11
|
import { getBlockComponent as Pe, getChaiDataProviders as Yr, useGlobalStylingPresets as zr } from "@chaibuilder/runtime";
|
|
12
12
|
import { J as Xr, a as Zr, d as Wr } from "./index-e0c8PmRQ.js";
|
|
13
13
|
import Ur from "@rjsf/core";
|
|
14
14
|
import Kr from "@rjsf/validator-ajv8";
|
|
15
|
-
import { u as Gr } from "./useCanvasSettings-
|
|
15
|
+
import { u as Gr } from "./useCanvasSettings-E5uIyvUR.js";
|
|
16
16
|
import qr from "react-autosuggest";
|
|
17
17
|
import Jr from "fuse.js";
|
|
18
18
|
import { A as Qr, C as ye, g as es } from "./Class-6Hz2KzYb.js";
|