@chaibuilder/sdk 4.0.0-beta.48 → 4.0.0-beta.49

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 (115) hide show
  1. package/dist/{2SSKDMRQ-DqwAKdGS.cjs → 2SSKDMRQ-CjvuNdPo.cjs} +1 -1
  2. package/dist/{2SSKDMRQ-CLLNh3td.js → 2SSKDMRQ-Dvf9zadl.js} +2 -2
  3. package/dist/{AP7HFJJL-BA2SSB20.cjs → AP7HFJJL-DYFttFoI.cjs} +1 -1
  4. package/dist/{AP7HFJJL-wgsmCJDJ.js → AP7HFJJL-q4dJdyFs.js} +1 -1
  5. package/dist/{IconPicker-DsT0ONLh.js → IconPicker-Bf163F7t.js} +1 -1
  6. package/dist/{IconPicker-BQy4V5jA.cjs → IconPicker-JWhYq2Gp.cjs} +1 -1
  7. package/dist/{WDYDFRGG-DyEYv-Y5.cjs → WDYDFRGG-BEksfGMC.cjs} +1 -1
  8. package/dist/{WDYDFRGG-EEb06kwn.js → WDYDFRGG-O9GIrtX0.js} +2 -2
  9. package/dist/{actions-registery-2natwC9b.cjs → actions-registery-BHbZHkE3.cjs} +10 -2
  10. package/dist/{actions-registery-wRY05tEE.js → actions-registery-gJb_wq2F.js} +24 -12
  11. package/dist/actions.cjs +1 -1
  12. package/dist/actions.d.ts +10 -3
  13. package/dist/actions.js +6 -4
  14. package/dist/{active-in-another-tab-DE2fn30l.js → active-in-another-tab-B4Ur0JP7.js} +2 -2
  15. package/dist/{active-in-another-tab-p0hkvIFc.cjs → active-in-another-tab-BPdx4lWh.cjs} +1 -1
  16. package/dist/{add-new-language-page-f2wam593.cjs → add-new-language-page-BfUp5Ua2.cjs} +1 -1
  17. package/dist/{add-new-language-page-CH7GtcqC.js → add-new-language-page-CRR93tLq.js} +3 -3
  18. package/dist/{add-new-page-CV7A1XJQ.cjs → add-new-page-B8NGK6WS.cjs} +1 -1
  19. package/dist/{add-new-page-8d0Nn-zI.js → add-new-page-Ppy5-y5j.js} +2 -2
  20. package/dist/{ai-panel-default-lang-Dcm4e1o8.js → ai-panel-default-lang-BXYQye3N.js} +6 -5
  21. package/dist/{ai-panel-default-lang-BJLeTdw3.cjs → ai-panel-default-lang-VhgmHFoQ.cjs} +3 -3
  22. package/dist/{ai-panel-other-lang-B48Y5C8z.js → ai-panel-other-lang-DaCf-cq4.js} +36 -35
  23. package/dist/ai-panel-other-lang-Ds0EXeUC.cjs +1 -0
  24. package/dist/{ai-prompt-input-DhVfzVhy.js → ai-prompt-input-7iWk72w5.js} +2 -2
  25. package/dist/{ai-prompt-input-C1yoNntS.cjs → ai-prompt-input-nZ5_Dm7X.cjs} +1 -1
  26. package/dist/{ai-translation-prompt-CUYVv2jG.js → ai-translation-prompt-1OUs1P7n.js} +1 -1
  27. package/dist/{ai-translation-prompt-mj26BpgQ.cjs → ai-translation-prompt-B16cK-1Q.cjs} +1 -1
  28. package/dist/{change-password-modal-DiEQWZez.js → change-password-modal-CdvJR1Ln.js} +2 -2
  29. package/dist/{change-password-modal-DFupkIGx.cjs → change-password-modal-D5eXjiYq.cjs} +1 -1
  30. package/dist/{code-editor-CazbxsDv.js → code-editor-CyLjDiEp.js} +1 -1
  31. package/dist/{code-editor-BiLiryYr.cjs → code-editor-SWbfFj1E.cjs} +1 -1
  32. package/dist/{continue-editing-in-this-client-CpKDDW6u.js → continue-editing-in-this-client-BrSvK-Ay.js} +2 -2
  33. package/dist/{continue-editing-in-this-client-C3NoncEN.cjs → continue-editing-in-this-client-Cmi-GkYZ.cjs} +1 -1
  34. package/dist/core.cjs +1 -1
  35. package/dist/core.js +1 -1
  36. package/dist/{css-import-modal-DFdZ471B.cjs → css-import-modal-Bdwgd05S.cjs} +1 -1
  37. package/dist/{css-import-modal-BOQr_e6S.js → css-import-modal-Be47CBJn.js} +1 -1
  38. package/dist/{delete-page-DIZhbU2t.js → delete-page-C99K2qzS.js} +2 -2
  39. package/dist/{delete-page-D8Vr-1aC.cjs → delete-page-DLohaU-U.cjs} +1 -1
  40. package/dist/{design-token-usage-Co5Lj1HN.js → design-token-usage-D1lWCJ3L.js} +1 -1
  41. package/dist/{design-token-usage-N5DLBdWf.cjs → design-token-usage-eY2wQ0l3.cjs} +1 -1
  42. package/dist/{digital-asset-manager-CObQa_0R.js → digital-asset-manager-BZMb6sC7.js} +3 -3
  43. package/dist/{digital-asset-manager-uXP27Dou.cjs → digital-asset-manager-Z5aJxkq0.cjs} +1 -1
  44. package/dist/{duplicate-page-xpV-pRVU.js → duplicate-page-CDc2X0eW.js} +3 -3
  45. package/dist/{duplicate-page-DomSAvnp.cjs → duplicate-page-D5Gtvqdv.cjs} +1 -1
  46. package/dist/{dynamic-page-selector-CYZv-SlK.cjs → dynamic-page-selector-DZHhX008.cjs} +1 -1
  47. package/dist/{dynamic-page-selector-Bl5kYPWG.js → dynamic-page-selector-DvNBXo6o.js} +2 -2
  48. package/dist/{image-editor-CDFnNWAz.js → image-editor-BBvvi9Vm.js} +1 -1
  49. package/dist/{image-editor-pOsT95KQ.cjs → image-editor-DwhTYkVR.cjs} +1 -1
  50. package/dist/{index-j-XsKW-V.cjs → index-BVwFJWDq.cjs} +3 -3
  51. package/dist/{index-DonDtb8f.cjs → index-DCJDQs1a.cjs} +8 -8
  52. package/dist/{index-Cyz_Iww4.js → index-LBTm1Jmk.js} +35 -26
  53. package/dist/{index-BbkBlCE2.js → index-OuHV9Ann.js} +7 -6
  54. package/dist/{json-diff-viewer-CoEViavL.cjs → json-diff-viewer-Cb1CmRqP.cjs} +1 -1
  55. package/dist/{json-diff-viewer-amjoEZ5K.js → json-diff-viewer-DG6qMOBS.js} +2 -2
  56. package/dist/{lang-panel-DPpIXFl4.js → lang-panel-B3USOxGq.js} +3 -3
  57. package/dist/{lang-panel-BzWstLZ-.cjs → lang-panel-DxoJ0v4y.cjs} +1 -1
  58. package/dist/{manage-design-tokens-BVfEFOrN.js → manage-design-tokens-6YGIctip.js} +2 -2
  59. package/dist/{manage-design-tokens-modal-m3D2luIa.cjs → manage-design-tokens-modal-BSSCXH8Y.cjs} +1 -1
  60. package/dist/{manage-design-tokens-modal-CBOw_Dg6.js → manage-design-tokens-modal-CzsnN49F.js} +2 -2
  61. package/dist/{manage-design-tokens-CIiwBv2v.cjs → manage-design-tokens-udLBvkHA.cjs} +1 -1
  62. package/dist/{mark-as-template-C2-S_aA2.cjs → mark-as-template-B9yLcasI.cjs} +1 -1
  63. package/dist/{mark-as-template-CQjchLk7.js → mark-as-template-CP_F9ZQ4.js} +2 -2
  64. package/dist/{nested-path-selector-content-BtsI3H0i.js → nested-path-selector-content-DmtCI3q9.js} +1 -1
  65. package/dist/{nested-path-selector-content-Dd3NzUE0.cjs → nested-path-selector-content-aTdu-o0e.cjs} +1 -1
  66. package/dist/{no-language-page-content-CggJC14_.cjs → no-language-page-content-C-MCdPXt.cjs} +1 -1
  67. package/dist/{no-language-page-content-BrDAjkdi.js → no-language-page-content-D8t5dfgh.js} +2 -2
  68. package/dist/{no-language-page-dialog-DSbcLM8f.js → no-language-page-dialog-C_fHI2zI.js} +2 -2
  69. package/dist/{no-language-page-dialog-Dkxdu99i.cjs → no-language-page-dialog-D4QIAHnE.cjs} +1 -1
  70. package/dist/{page-creator-DqKFL1sB.cjs → page-creator-Cz_ah-qE.cjs} +1 -1
  71. package/dist/{page-creator-CR-FbJ7C.js → page-creator-DKEkuGCO.js} +3 -3
  72. package/dist/{page-lock-CwzMBdD-.js → page-lock-CwZKJ4IE.js} +2 -2
  73. package/dist/{page-lock-D4Anxwpy.cjs → page-lock-DdCvtA-I.cjs} +1 -1
  74. package/dist/{page-locked-dialog-UrTgnXd6.cjs → page-locked-dialog-CrTDBoC4.cjs} +1 -1
  75. package/dist/{page-locked-dialog-Dv_unUwx.js → page-locked-dialog-DqLlooUz.js} +2 -2
  76. package/dist/{page-manager-new-DuqhyqMY.cjs → page-manager-new-ah6QYar2.cjs} +1 -1
  77. package/dist/{page-manager-new-DpCTazS0.js → page-manager-new-ttsrxdW9.js} +3 -3
  78. package/dist/{page-manager-search-and-filter-Yt0pjK_r.cjs → page-manager-search-and-filter-D7AupT6_.cjs} +1 -1
  79. package/dist/{page-manager-search-and-filter-B6F-ZvdQ.js → page-manager-search-and-filter-bsqZ6wnI.js} +2 -2
  80. package/dist/{page-revisions-content-C2VMkAt4.cjs → page-revisions-content-B6hsIla7.cjs} +1 -1
  81. package/dist/{page-revisions-content-CUPsMEVU.js → page-revisions-content-C5O8_Fms.js} +3 -3
  82. package/dist/pages.cjs +1 -1
  83. package/dist/pages.d.ts +16 -10
  84. package/dist/pages.js +1 -1
  85. package/dist/{publish-pages-content-BrjDksNY.cjs → publish-pages-content-BrajJUcP.cjs} +1 -1
  86. package/dist/{publish-pages-content-CK0ahL2t.js → publish-pages-content-KZVMHT6V.js} +3 -3
  87. package/dist/{rte-widget-modal-Dktetdg4.cjs → rte-widget-modal-CiTwsXTr.cjs} +1 -1
  88. package/dist/{rte-widget-modal-DgEF73WC.js → rte-widget-modal-IU8JzPuZ.js} +1 -1
  89. package/dist/{save-to-lib-Bs6-wr2u.js → save-to-lib-DMnv7ENo.js} +2 -2
  90. package/dist/{save-to-lib-CuVYPtm-.cjs → save-to-lib-Dc700Aop.cjs} +1 -1
  91. package/dist/{selected-block-display-BCcwnFzJ.cjs → selected-block-display-CAFEOrLV.cjs} +1 -1
  92. package/dist/{selected-block-display-D-lzXUfE.js → selected-block-display-CidmQ-wz.js} +2 -2
  93. package/dist/{seo-panel-By-TlhHK.js → seo-panel-Br8gxDxu.js} +155 -165
  94. package/dist/{seo-panel-DTqsu3I0.cjs → seo-panel-CMY-adM-.cjs} +2 -2
  95. package/dist/{shared-json-ld-C_vaAxgT.cjs → shared-json-ld-CMH-eRUq.cjs} +1 -1
  96. package/dist/{shared-json-ld-CMCwFEI0.js → shared-json-ld-uvMmwCYp.js} +2 -2
  97. package/dist/{slug-input-DCmvuN69.cjs → slug-input-CiHC5l3r.cjs} +1 -1
  98. package/dist/{slug-input-bhZSv9VS.js → slug-input-DLWTMTsO.js} +1 -1
  99. package/dist/supabase-actions.cjs +1 -1
  100. package/dist/supabase-actions.js +1 -1
  101. package/dist/{take-over-request-BGvKpN5m.cjs → take-over-request-IRLgF1dG.cjs} +1 -1
  102. package/dist/{take-over-request-f0dbfkLe.js → take-over-request-KdR1_h_K.js} +2 -2
  103. package/dist/{translation-warning-modal-_0YmCcU8.cjs → translation-warning-modal-CLZ9tC1F.cjs} +1 -1
  104. package/dist/{translation-warning-modal-D0-WNJnG.js → translation-warning-modal-CzNt6LDO.js} +1 -1
  105. package/dist/types.d.ts +6 -0
  106. package/dist/{unmark-as-template-WE3WJ-RJ.js → unmark-as-template-C5ovsEBP.js} +2 -2
  107. package/dist/{unmark-as-template-BE1BO8Z0.cjs → unmark-as-template-F7TdgWjI.cjs} +1 -1
  108. package/dist/{unpublish-page-B4A-GQEz.js → unpublish-page-0fR1o0b7.js} +2 -2
  109. package/dist/{unpublish-page-DrZnWLVM.cjs → unpublish-page-CUr8Xub6.cjs} +1 -1
  110. package/dist/{unpublished-partials-modal-CGK-4WJ3.js → unpublished-partials-modal-BhNAub_z.js} +1 -1
  111. package/dist/{unpublished-partials-modal-KFXm1fG4.cjs → unpublished-partials-modal-Cv5R9-hi.cjs} +1 -1
  112. package/dist/{web-preview-ClV1a6hl.cjs → web-preview-CuMYekVJ.cjs} +1 -1
  113. package/dist/{web-preview-BSmef-RL.js → web-preview-D9pXonAv.js} +1 -1
  114. package/package.json +1 -1
  115. package/dist/ai-panel-other-lang-Ch0RHXqZ.cjs +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";var Zc=Object.defineProperty;var Qc=(t,e,n)=>e in t?Zc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var vt=(t,e,n)=>Qc(t,typeof e!="symbol"?e+"":e,n);const a=require("react/jsx-runtime"),T=require("./register-chai-top-bar-DyW9GPzV.cjs"),d=require("lodash-es"),ed=require("@radix-ui/react-dropdown-menu"),v=require("@radix-ui/react-icons"),g=require("react"),K=require("./core-czmLeR0h.cjs"),N=require("jotai"),U=require("./STRINGS-FNnfjF5H.cjs"),Yo=require("@rjsf/utils"),pe=require("./common-functions-B3a4xKt_.cjs"),Oe=require("jotai/utils"),xe=require("@react-hookz/web"),td=require("tree-model"),nd=require("undo-manager"),z=require("react-i18next"),sd=require("@radix-ui/react-dialog"),se=require("./apply-binding-CBSjMYSk.cjs"),Ir=require("class-variance-authority"),rd=require("@radix-ui/react-tooltip"),$e=require("cmdk"),od=require("@radix-ui/react-popover"),ft=require("i18next"),ad=require("@tiptap/extension-text-style"),id=require("@tiptap/extension-highlight"),ld=require("@tiptap/extension-link"),cd=require("@tiptap/extension-placeholder"),dd=require("@tiptap/extension-text-align"),ud=require("@tiptap/extension-underline"),as=require("@tiptap/react"),pd=require("@tiptap/starter-kit"),Va=require("clsx"),Wa=require("tailwind-merge"),Qe=require("./plugin-DHpuZZXz.cjs"),fd=require("react-colorful"),fr=require("react-dom"),hd=require("@rjsf/core"),md=require("@rjsf/validator-ajv8"),gd=require("@radix-ui/react-switch"),xd=require("@radix-ui/react-accordion"),Ga=require("fuse.js"),bd=require("@radix-ui/react-hover-card"),yd=require("@radix-ui/react-label"),kd=require("react-autosuggest"),ue=require("sonner"),vd=require("@radix-ui/react-scroll-area"),wd=require("@radix-ui/react-tabs"),Cd=require("@radix-ui/react-select"),jd=require("@radix-ui/react-alert-dialog"),Sd=require("react-arborist"),Nd=require("@radix-ui/react-separator"),Ed=require("@radix-ui/react-slider"),Tr=require("./fonts-D5fTqvSS.cjs");require("nanoid");const Xo=require("himalaya");require("@mhsdesign/jit-browser-tailwindcss");const Ad=require("@tailwindcss/aspect-ratio"),_d=require("@tailwindcss/container-queries"),Id=require("@tailwindcss/forms"),Td=require("@tailwindcss/typography"),Je=require("react-hotkeys-hook"),Bd=require("./get-chai-builder-tailwind-config-7CxFxEYL.cjs"),Et=require("react-error-boundary"),Gn=require("framer-motion"),Ua=require("lucide-react"),Xs=require("@floating-ui/dom"),Jo=require("@floating-ui/react-dom"),Rd=require("react-wrap-balancer");function Re(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const ke=Re(ed),O=Re(g),ce=Re(sd),Jt=Re(rd),wn=Re(od),hr=Re(gd),Bt=Re(xd),ws=Re(bd),qa=Re(yd),At=Re(vd),Mt=Re(wd),ye=Re(Cd),Pe=Re(jd),Ka=Re(Nd),pn=Re(Ed);function Rt({className:t,...e}){return a.jsx("div",{className:T.cn("animate-pulse rounded-md bg-primary/10",t),...e})}const Br=({className:t="h-full w-full",onClick:e=d.noop})=>a.jsx("svg",{className:t,viewBox:"0 0 256 256",fill:"currentColor",onClick:e,children:a.jsx("path",{d:"m198.39 128.986-52.16-19.216-19.216-52.16a16 16 0 0 0-30.028 0L77.77 109.77l-52.16 19.216a16 16 0 0 0 0 30.028l52.16 19.216 19.216 52.16a16 16 0 0 0 30.028 0l19.216-52.16 52.16-19.216a16 16 0 0 0 0-30.028m-57.69 34.23a15.97 15.97 0 0 0-9.483 9.483l-19.22 52.152-19.214-52.15a15.97 15.97 0 0 0-9.482-9.484l-52.152-19.22 52.15-19.214a15.97 15.97 0 0 0 9.484-9.482l19.22-52.152 19.214 52.15a15.97 15.97 0 0 0 9.482 9.484l52.152 19.22ZM144 40a8 8 0 0 1 8-8h16V16a8 8 0 0 1 16 0v16h16a8 8 0 0 1 0 16h-16v16a8 8 0 0 1-16 0V48h-16a8 8 0 0 1-8-8m104 48a8 8 0 0 1-8 8h-8v8a8 8 0 0 1-16 0v-8h-8a8 8 0 0 1 0-16h8v-8a8 8 0 0 1 16 0v8h8a8 8 0 0 1 8 8"})}),mt=ke.Root,gt=ke.Trigger,Pd=O.forwardRef(({className:t,inset:e,children:n,...s},r)=>a.jsxs(ke.SubTrigger,{ref:r,className:T.cn("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e&&"pl-8",t),...s,children:[n,a.jsx(v.ChevronRightIcon,{className:"ml-auto h-4 w-4"})]}));Pd.displayName=ke.SubTrigger.displayName;const Ld=O.forwardRef(({className:t,...e},n)=>a.jsx(ke.SubContent,{ref:n,className:T.cn("z-50 min-w-[8rem] origin-[--radix-dropdown-menu-content-transform-origin] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...e}));Ld.displayName=ke.SubContent.displayName;const et=O.forwardRef(({className:t,sideOffset:e=4,...n},s)=>a.jsx(ke.Portal,{children:a.jsx(ke.Content,{ref:s,sideOffset:e,className:T.cn("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","origin-[--radix-dropdown-menu-content-transform-origin] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...n})}));et.displayName=ke.Content.displayName;const ge=O.forwardRef(({className:t,inset:e,...n},s)=>a.jsx(ke.Item,{ref:s,className:T.cn("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",e&&"pl-8",t),...n}));ge.displayName=ke.Item.displayName;const Ya=O.forwardRef(({className:t,children:e,checked:n,...s},r)=>a.jsxs(ke.CheckboxItem,{ref:r,className:T.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:n,...s,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(ke.ItemIndicator,{children:a.jsx(v.CheckIcon,{className:"h-4 w-4"})})}),e]}));Ya.displayName=ke.CheckboxItem.displayName;const Dd=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(ke.RadioItem,{ref:s,className:T.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(ke.ItemIndicator,{children:a.jsx(v.CircleIcon,{className:"h-2 w-2 fill-current"})})}),e]}));Dd.displayName=ke.RadioItem.displayName;const Rr=O.forwardRef(({className:t,inset:e,...n},s)=>a.jsx(ke.Label,{ref:s,className:T.cn("px-2 py-1.5 text-sm font-semibold",e&&"pl-8",t),...n}));Rr.displayName=ke.Label.displayName;const Pr=O.forwardRef(({className:t,...e},n)=>a.jsx(ke.Separator,{ref:n,className:T.cn("-mx-1 my-1 h-px bg-muted",t),...e}));Pr.displayName=ke.Separator.displayName;const Y={OPEN_ADD_BLOCK:"OPEN_ADD_BLOCK",CLOSE_ADD_BLOCK:"CLOSE_ADD_BLOCK",GOTO_BLOCK_SETTINGS:"GOTO_BLOCK_SETTINGS",OPEN_AI_PANEL:"OPEN_AI_PANEL",CLEAR_CANVAS_SELECTION:"CLEAR_CANVAS_SELECTION",CANVAS_BLOCK_SELECTED:"CANVAS_BLOCK_SELECTED",CANVAS_BLOCK_STYLE_SELECTED:"CANVAS_BLOCK_STYLE_SELECTED",OPEN_EXPORT_CODE:"OPEN_EXPORT_CODE"},tt=(t,e)=>{if(!t)return!0;const n=K.getRegisteredChaiBlock(t);return n&&n.canAcceptBlock?n.canAcceptBlock(e):!1},is=t=>{const e=K.getRegisteredChaiBlock(t);return e?d.has(e,"canAcceptBlock"):!1},Md=(t,e)=>{const n=K.getRegisteredChaiBlock(e);return n&&n.canBeNested?n.canBeNested(t):!0},Lr=t=>{const e=K.getRegisteredChaiBlock(t);return e&&e.canDuplicate?e.canDuplicate():!0},Dr=t=>{const e=K.getRegisteredChaiBlock(t);return e&&e.canDelete?e.canDelete():!0};class Od{constructor(){vt(this,"subscribers",new Map)}subscribe(e,n){return this.subscribers.has(e)||this.subscribers.set(e,new Set),this.subscribers.get(e).add(n),()=>{const s=this.subscribers.get(e);s&&(s.delete(n),s.size===0&&this.subscribers.delete(e))}}publish(e,n){const s=this.subscribers.get(e);s&&s.forEach(r=>r(n))}}const ae=new Od;function Xa(t,e,n){const s=d.filter(t,o=>o._parent===e),r=[];for(let o=0;o<s.length;o++)if(d.filter(t,{_parent:s[o]._id}).length>0){const i=pe.generateUUID();r.push({...s[o],oldId:s[o]._id,_id:i,_parent:n}),r.push(d.flatten(Xa(t,s[o]._id,i)))}else r.push({...s[o],oldId:s[o]._id,_id:pe.generateUUID(),_parent:n});return d.flatten(r)}function Mr(t){const e={};t.forEach(s=>{e[s._id]={...s,children:[]}});const n=[];return t.forEach(s=>{if(s._parent){const r=e[s._parent];r&&r.children.push(e[s._id])}else n.push(e[s._id])}),n}const mr=(t,e,n=null)=>{let s=d.find(t,{_id:e});s={...s,oldId:s._id,_id:pe.generateUUID()},n!==(s==null?void 0:s._parent)&&(s={...s,_parent:n});const r=[s];return d.filter(t,{_parent:e}).length>0&&r.push(d.flatten(Xa(t,e,s._id))),d.flatten(r)},Ne=N.atom([]);Ne.debugLabel="presentBlocksAtom";const Ja=N.atom(t=>{const e=t(Ne);return Mr([...e])});Ja.debugLabel="treeDSBlocks";const _n=Oe.splitAtom(Ne);_n.debugLabel="pageBlocksAtomsAtom";const $d=N.atom("");$d.debugLabel="builderActivePageAtom";const Fd=N.atom(-1);Fd.debugLabel="destinationDropIndexAtom";const Za=N.atom([]);Za.debugLabel="buildingBlocksAtom";const zd=N.atom(t=>{const e=t(Za);return d.filter(e,n=>d.has(n,"blockId"))});zd.debugLabel="globalBlocksAtom";const Qt=N.atom([]);Qt.debugLabel="structureErrorsAtom";const Or=N.atom(!0);Or.debugLabel="structureValidationValidAtom";const $r=N.atom(!1);$r.debugLabel="hasStructureErrorsAtom";const Fr=N.atom(!1);Fr.debugLabel="hasStructureWarningsAtom";const Qa=N.atom(t=>t(Qt).filter(n=>n.severity==="error").length);Qa.debugLabel="structureErrorCountAtom";const ei=N.atom(t=>t(Qt).filter(n=>n.severity==="warning").length);ei.debugLabel="structureWarningCountAtom";const ti=N.atom(t=>{const e=t(Qt),n={};return e.forEach(s=>{s.blockId&&(n[s.blockId]||(n[s.blockId]=[]),n[s.blockId].push(s))}),n});ti.debugLabel="structureErrorsByBlockAtom";const ze=N.getDefaultStore(),Hd=()=>ze.get(Ne),$=(t,e)=>{const n=N.useAtomValue(Gr);return g.useMemo(()=>d.get(n,t,e),[n,t,e])},ni=N.atom("");ni.debugLabel="selectedLanguageAtom";const Te=()=>{const t=$("languages",[]),e=$("fallbackLang","en"),[n,s]=N.useAtom(ni),r=o=>{s(e===o?"":o)};return{languages:t==null?void 0:t.filter(o=>o!==e),fallbackLang:e,selectedLang:n,setSelectedLang:r}},Cs=N.atom([]);Cs.debugLabel="selectedBlockIdsAtom";const zr=N.atom(t=>{const e=t(Ne),n=t(Cs);return d.map(d.filter(e,({_id:s})=>d.includes(n,s)),s=>({...s}))});zr.debugLabel="selectedBlocksAtom";const js=N.atom(t=>{const e=t(zr);if(e.length!==0&&e.length===1)return e[0]});js.debugLabel="selectedBlockAtom";const X=()=>N.useAtomValue(js),Vd=t=>d.get(t,"_parent",null),Wd=N.atom(t=>{const e=t(zr),n=d.map(e,Vd);return d.filter(t(Ne),s=>d.includes(n,s._id))});Wd.debugLabel="selectedBlocksParentsAtom";const si=N.atom(()=>!1);si.debugLabel="selectedBlockFlexChildAtom";const ri=N.atom(()=>!1);ri.debugLabel="selectedBlockGridChildAtom";const Hr=N.atom("");Hr.debugLabel="styleStateAtom";const oi=Oe.atomWithStorage("styleBreakpoint","xs");oi.debugLabel="styleBreakpointAtom";const Gd=()=>({flexChild:N.useAtomValue(si),gridChild:N.useAtomValue(ri)}),Ud=N.atom(t=>{const e=t(js),n=t(Ne);let s=e;const r=[e];do{const o=n.find(({_id:i})=>i===(s==null?void 0:s._parent));s=o,o&&r.push(o)}while(s!=null&&s._parent);return r}),qd=()=>d.compact(N.useAtomValue(Ud)),q=()=>{const[t,e]=N.useAtom(Cs),n=g.useCallback(s=>{e(r=>d.includes(r,s)?d.without(r,s):[...r,s])},[e]);return[t,e,n]},ai=(t,e,n)=>{const s=K.getRegisteredChaiBlock(d.get(n,"_type",""));if(!s)return t;const r={...t};return d.forEach(d.keys(t),o=>{if(d.includes(d.get(s,"i18nProps",[]),o)&&!d.isEmpty(e)){const i=`${o}-${e}`;d.set(r,i,t[o]),d.unset(r,o)}}),r},Ke=()=>{const{updateBlocks:t}=Ee(),{selectedLang:e}=Te(),n=X();return g.useCallback((s,r,o)=>{const i=ai(r,e,n);t(s,i,o)},[e,n,t])},Kd=()=>{const{updateMultipleBlocksProps:t}=Ee();return g.useCallback(e=>{t(e)},[t])},Yd=()=>{const{updateBlocksRuntime:t}=Ee();return g.useCallback(async(e,n,s=30)=>{const r=d.keys(d.omit(n,["_id"]));for(const o of r){const i=n[o];if(d.isString(i)){const l=d.chunk(i.split(""),12);let c="";t([e],{[o]:""});for(let u=0;u<l.length;u++)c+=l[u].join(""),t([e],{[o]:c}),await new Promise(p=>setTimeout(p,s))}}},[t])},ii=()=>{const{updateMultipleBlocksProps:t}=Ee(),e=Yd();return g.useCallback(async n=>{for(const s of n)await e(s._id,s);t(n)},[e,t])},Vr=()=>{const{updateBlocksRuntime:t}=Ee(),{selectedLang:e}=Te(),n=X();return g.useCallback((s,r)=>{const o=ai(r,e,n);t(s,o)},[e,n,t])},Wr=N.atom({});Wr.debugLabel="blockRepeaterDataAtom";const li=()=>N.useAtom(Wr),Xd=(t,e,n,s)=>{const[r,o]=g.useState({status:"idle",props:{},error:void 0}),i=Vr(),l=$("getBlockAsyncProps",async h=>({})),c=N.useSetAtom(Wr),u=JSON.stringify([t==null?void 0:t._id,...d.values(d.pick(t,n??[]))]),p=(t==null?void 0:t._type)==="Repeater"&&d.startsWith(t.repeaterItems,`{{${U.COLLECTION_PREFIX}`),f=(t==null?void 0:t._type)!=="Repeater"&&e==="live";return g.useEffect(()=>{if(e==="mock"){if(d.isFunction(s)){o(x=>({...x,status:"loading",props:{}}));const h=s({block:t});if(!Yo.isObject(h))throw new Error("mockDataProvider should return an object");o(x=>({...x,status:"loaded",props:h}))}return}e==="live"&&(!p&&!f||(o(h=>({...h,status:"loading",props:{}})),l({block:t}).then((h={})=>{p?(c(x=>({...x,[t._id]:{status:"loaded",props:d.get(h,"items",[]),repeaterItems:t.repeaterItems}})),o(x=>({...x,status:"loaded",props:{totalItems:d.get(h,"totalItems")}})),i([t._id],{totalItems:d.get(h,"totalItems")})):o(x=>({...x,status:"loaded",props:Yo.isObject(h)?h:{}}))}).catch(h=>{p?(c(x=>({...x,[t._id]:{status:"error",error:h,props:[]}})),o(x=>({...x,status:"error",error:h,props:{}}))):o(x=>({...x,status:"error",error:h,props:{}}))})))},[t==null?void 0:t._id,u,p,f,s,e]),{$loading:d.get(r,"status")==="loading",...t?d.get(r,"props",{}):{}}},Gr=N.atom(null);Gr.debugLabel="chaiBuilderPropsAtom";const Jd=N.atom({});Jd.debugLabel="chaiExternalDataAtom";const Zd=N.atom({});Zd.debugLabel="chaiRjsfFieldsAtom";const Qd=N.atom({});Qd.debugLabel="chaiRjsfWidgetsAtom";const eu=N.atom({});eu.debugLabel="chaiRjsfTemplatesAtom";const Ur=N.atom({});Ur.debugLabel="chaiPageExternalDataAtom";const en=N.atom({});en.debugLabel="chaiDesignTokensAtom";const Ot=()=>{const[t]=li(),e=g.useMemo(()=>{const s={};return Object.entries(t).forEach(([r,o])=>{o.status==="loaded"&&o.repeaterItems&&(s[o.repeaterItems.replace("}}",`/${r}`).replace("{{","")]=o.props)}),s},[t]);return{...N.useAtomValue(Ur),...e}},Ss=N.atom(0),ci=N.atom({isOpen:!1,blockId:null}),tu=[{name:"no-nested-div-in-p",description:"Prevents div elements from being nested inside paragraph elements",validate:(t,e)=>{const n=[],s=(r,o=!1)=>{r.forEach(i=>{const l=i._type==="Paragraph";i._type==="Box"&&o&&n.push({id:`div-in-paragraph-${i._id}`,message:"Box (div) cannot be nested inside Paragraph elements",severity:"error",blockId:i._id}),i.children&&i.children.length>0&&s(i.children,l)})};return s(e),n}},{name:"no-interactive-nesting",description:"Prevents interactive elements (links, buttons with href) from being nested inside other interactive elements",validate:(t,e)=>{const n=[],s=(o,i=!1,l=[])=>{o.forEach(c=>{const u=[...l,c._id],p=c._type==="Link",f=c._type==="Button"&&c.link&&c.link.href&&c.link.href.trim()!=="",m=p||f;if(m&&i){const h=p?"Link":"Button with href";n.push({id:`nested-interactive-tree-${c._id}`,message:`${h} cannot be nested inside another interactive element (link or button with href)`,severity:"error",blockId:c._id})}c.children&&c.children.length>0&&s(c.children,m,u)})},r=o=>{o.filter(l=>l._type==="Link"||l._type==="Button"&&l.link&&l.link.href&&l.link.href.trim()!=="").forEach(l=>{if(l._parent){const c=o.find(m=>m._id===l._parent),u=c&&c._type==="Link",p=c&&c._type==="Button"&&c.link&&c.link.href&&c.link.href.trim()!=="";if(u||p){const m=l._type==="Link"?"Link":"Button with href",h=u?"Link":"Button with href";n.push({id:`nested-interactive-parent-${l._id}`,message:`${m} cannot be nested inside ${h}`,severity:"error",blockId:l._id})}let f=c;for(;f&&f._parent;){const m=o.find(h=>h._id===f._parent);if(m){const h=m._type==="Link",x=m._type==="Button"&&m.link&&m.link.href&&m.link.href.trim()!=="";if(h||x){const b=l._type==="Link"?"Link":"Button with href",y=h?"Link":"Button with href";n.push({id:`nested-interactive-ancestor-${l._id}`,message:`${b} cannot be nested inside ${y}`,severity:"error",blockId:l._id});break}}f=m}}})};return s(e),r(t),n}},{name:"listitem-in-list",description:"Ensures ListItems are only inside List containers",validate:(t,e)=>{const n=[],s=(r,o=null)=>{r.forEach(i=>{i._type==="ListItem"&&o!=="List"&&n.push({id:`listitem-outside-list-${i._id}`,message:"List Item must be inside a List container",severity:"error",blockId:i._id}),i.children&&i.children.length>0&&s(i.children,i._type)})};return s(e),n}},{name:"table-cell-structure",description:"Validates proper table hierarchy (TableCell -> TableRow -> TableHead/Body -> Table)",validate:(t,e)=>{const n=[],s=(r,o=[])=>{r.forEach(i=>{const l=[...o,i._type];if(i._type==="TableCell"){const c=l.includes("TableRow"),u=l.includes("TableHead")||l.includes("TableBody"),p=l.includes("Table");(!c||!u||!p)&&n.push({id:`table-cell-structure-${i._id}`,message:"Table Cell must be inside a Table Row, which must be inside Table Head/Body, which must be inside a Table",severity:"error",blockId:i._id})}i._type==="TableRow"&&!l.slice(0,-1).includes("Table")&&n.push({id:`table-row-outside-table-${i._id}`,message:"Table Row must be inside a Table (Table Head or Table Body)",severity:"error",blockId:i._id}),(i._type==="TableHead"||i._type==="TableBody")&&!l.slice(0,-1).includes("Table")&&n.push({id:`table-section-outside-table-${i._id}`,message:"Table Head/Body must be inside a Table",severity:"error",blockId:i._id}),i.children&&i.children.length>0&&s(i.children,l)})};return s(e),n}},{name:"no-nested-buttons",description:"Prevents buttons from being nested inside other buttons",validate:(t,e)=>{const n=[],s=(r,o=!1)=>{r.forEach(i=>{const l=i._type==="Button";l&&o&&n.push({id:`nested-button-${i._id}`,message:"Button cannot be nested inside another button",severity:"error",blockId:i._id}),i.children&&i.children.length>0&&s(i.children,l)})};return s(e),n}},{name:"no-nested-paragraphs",description:"Prevents paragraph elements from being nested inside other paragraph elements at any level",validate:(t,e)=>{const n=[],s=(r,o=[])=>{r.forEach(i=>{const l=i._type==="Paragraph";if(l&&o.length>0&&n.push({id:`nested-paragraph-${i._id}`,message:"Paragraph cannot be nested inside another paragraph",severity:"error",blockId:i._id}),i.children&&i.children.length>0){const c=l?[...o,i._id]:o;s(i.children,c)}})};return s(e),n}},{name:"heading-structure",description:"Checks for proper heading hierarchy and warns about skipped levels",validate:(t,e)=>{const n=[],s=[],r=(o,i=[])=>{o.forEach(l=>{if(l._type==="Heading"){const c=l.tag||"h2",u=parseInt(c.replace("h",""))||2;s.push({level:u,blockId:l._id,path:[...i,l._id]})}l.children&&l.children.length>0&&r(l.children,[...i,l._id])})};r(e);for(let o=1;o<s.length;o++){const i=s[o],l=s[o-1];i.level>l.level+1&&n.push({id:`heading-level-skip-${i.blockId}`,message:`Heading level skipped: h${l.level} followed by h${i.level}. Consider using h${l.level+1}`,severity:"warning",blockId:i.blockId})}return n}}],nu=[{name:"image-alt-text",description:"Warns if images are missing alt text",validate:(t,e)=>{const n=[],s=r=>{r.forEach(o=>{o._type==="Image"&&!o.alt&&n.push({id:`image-missing-alt-${o._id}`,message:"Image should have alt text for accessibility",severity:"warning",blockId:o._id}),o.children&&o.children.length>0&&s(o.children)})};return s(e),n}},{name:"button-accessibility",description:"Ensures buttons have accessible labels",validate:(t,e)=>{const n=[],s=r=>{r.forEach(o=>{o._type==="Button"&&(o.content||o.children&&o.children.length>0||n.push({id:`button-no-label-${o._id}`,message:"Button should have accessible content (text or icon)",severity:"warning",blockId:o._id})),o.children&&o.children.length>0&&s(o.children)})};return s(e),n}}];class su{constructor(){vt(this,"rules",[...tu])}addRule(e){this.rules.push(e)}removeRule(e){const n=this.rules.findIndex(s=>s.name===e);return n>-1?(this.rules.splice(n,1),!0):!1}getRules(){return[...this.rules]}enableAccessibilityRules(){this.rules.push(...nu)}getRuleNames(){return this.rules.map(e=>e.name)}}const Js=new su,qr=(t={})=>{const e=$("flags.validateStructure",!0),n=N.useSetAtom(Qt),s=N.useSetAtom(Or),r=N.useSetAtom($r),o=N.useSetAtom(Fr),i=g.useCallback(c=>{const u=c;if(!e||!u||u.length===0)return;const p=Mr(u),f=[];let m=Js.getRules();t.enableAccessibilityRules&&(Js.enableAccessibilityRules(),m=Js.getRules()),t.customRules&&t.customRules.length>0&&m.push(...t.customRules),m.forEach(y=>{try{const k=y.validate(u,p);f.push(...k)}catch(k){console.error(`Error running structure rule "${y.name}":`,k)}});const h=f.filter(y=>y.severity==="error").length>0,x=f.filter(y=>y.severity==="warning").length>0,b=!h;n(f),s(b),r(h),o(x)},[e,t,n,s,r,o]);return xe.useDebouncedCallback(i,[e,t,n,s,r,o],1e3)},ru=["hover","focus","focus-within","focus-visible","active","visited","target","first","last","only","odd","even","first-of-type","last-of-type","only-of-type","empty","disabled","checked","indeterminate","default","required","valid","invalid","in-range","out-of-range","placeholder-shown","autofill","read-only","open","before","after","first-letter","first-line","marker","selection","file","placeholder","hs-collapse-open","hs-accordion-active"],gr={bodyFont:"Arial",headingFont:"Arial",roundedCorners:5,primaryColor:"#570df8",secondaryColor:"#f002b8",bodyBgDarkColor:"#031022",bodyBgLightColor:"#fcfcfc",bodyTextDarkColor:"#ffffff",bodyTextLightColor:"#000000"},ou=N.atom(gr);N.atom(null);const au=()=>{const[t,e]=N.useAtom(ou);return[d.isObject(t)?{...gr,...t}:gr,e]},iu=N.atom(null),lu=()=>({currentPage:N.useAtomValue(iu)}),cu=d.memoize(t=>{const e=K.getRegisteredChaiBlock(t),n=d.get(e,"schema.properties",{});return d.compact(Object.keys(n).map(s=>d.get(n[s],"builderProp",!1)||d.get(n[s],"runtime",!1)?s:null))}),du=()=>{const[t]=au(),{currentPage:e}=lu(),[n]=Z();return g.useCallback(()=>{const s=d.map(n,r=>d.omit(r,cu(r._type)));return{currentPage:e,blocks:s}},[t,e,n])},di=N.atom(!1),uu=()=>N.useAtom(di),We=()=>{const t=$("permissions",null);return{hasPermission:g.useCallback(n=>t?t.includes(n):!0,[t])}},Ns=N.atom({}),pu=N.atom({}),ui=t=>d.filter(t.map(e=>e._type==="PartialBlock"||e._type==="GlobalBlock"?d.get(e,"partialBlockId",d.get(e,"globalBlock","")):null),Boolean);function pi(t,e,n,s=new Set){if(t===e)return!0;if(s.has(e))return!1;s.add(e);const r=n[e]||[];for(const o of r)if(o===t||pi(t,o,n,s))return!0;return!1}function xr(t,e,n=new Set){if(n.has(t))return 0;n.add(t);const s=e[t]||[];return s.length===0?1:1+Math.max(...s.map(r=>xr(r,e,new Set(n))))}const ls=4,fu=()=>{const[t]=N.useAtom(Ns);return g.useMemo(()=>{const e={};return Object.entries(t).forEach(([n,s])=>{e[n]=s.dependencies}),e},[t])},fi=()=>{const t=$("pageId",""),e=fu();return g.useCallback(n=>{if(!t)return{canAdd:!0};if(t===n)return{canAdd:!1,reason:"Cannot add a partial inside itself"};if(pi(t,n,e))return{canAdd:!1,reason:"Adding this partial would create a circular reference"};const s=xr(t,e),r=xr(n,e);return Math.max(s,1+r)>ls?{canAdd:!1,reason:`Maximum nesting depth (${ls} levels) would be exceeded`}:{canAdd:!0}},[t,e])},hi=()=>{const[t,e]=g.useState(!1),[n,s]=g.useState(null),[r,o]=N.useAtom(pu),i=$("getPartialBlocks",async()=>({})),l=g.useCallback(async()=>{e(!0),s(null);try{const c=await i();o(c),e(!1)}catch(c){s(c instanceof Error?c.message:"Failed to fetch partial blocks"),e(!1)}},[i,o]);return g.useEffect(()=>{l()},[]),{data:r,isLoading:t,refetch:l,error:n}},Es=()=>{const[t,e]=N.useAtom(Ns),n=g.useCallback(r=>d.get(t,`${r}.blocks`,[]),[t]),s=g.useCallback(()=>e({}),[e]);return{getPartialBlocks:n,reset:s}},hu=()=>{const[t]=Z(),[e,n]=N.useAtom(Ns),s=$("getPartialBlockBlocks",async c=>[]),r=g.useRef(new Set),o=g.useMemo(()=>t.filter(c=>c._type==="PartialBlock"||c._type==="GlobalBlock").map(c=>d.get(c,"partialBlockId",d.get(c,"globalBlock",""))).filter(Boolean),[t]),i=g.useMemo(()=>{const c=[];return Object.values(e).forEach(u=>{u.status==="loaded"&&c.push(...u.dependencies)}),c},[e]),l=g.useMemo(()=>[...new Set([...o,...i])],[o,i]);g.useEffect(()=>{const c=l.filter(u=>{const p=e[u],f=r.current.has(u);return(!p||p.status==="idle")&&!f});c.length!==0&&(c.forEach(u=>r.current.add(u)),n(u=>{const p={};return c.forEach(f=>{p[f]={blocks:[],dependencies:[],status:"loading"}}),{...u,...p}}),Promise.all(c.map(async u=>{try{const p=await s(u),f=ui(p);n(m=>({...m,[u]:{blocks:p,dependencies:f,status:"loaded"}}))}catch(p){n(f=>({...f,[u]:{blocks:[],dependencies:[],status:"error",error:p instanceof Error?p.message:"Failed to fetch"}}))}finally{r.current.delete(u)}})))},[l,e,n,s])},As=N.atom("SAVED");As.debugLabel="builderSaveStateAtom";const mu=(t,e)=>e?t.some(n=>{if(!(n!=null&&n._type)||n._type==="PartialBlock")return!1;try{const s=K.getRegisteredChaiBlock(n._type);return s?(d.has(s,"i18nProps")?s.i18nProps??[]:[]).some(o=>{const i=`${o}-${e}`;return!n[i]||d.isEmpty(n[i])}):!1}catch(s){return console.warn(`Failed to get block definition for type: ${n._type}`,s),!1}}):!1,tn=()=>{const[t,e]=N.useAtom(As),n=$("onSave",async A=>{}),s=$("onSaveStateChange",d.noop),r=du(),{hasPermission:o}=We(),{selectedLang:i,fallbackLang:l}=Te(),[c]=uu(),u=N.useAtomValue(Ns),p=qr(),[,f]=N.useAtom(Ss),m=()=>{const A=r();return!i||i===l?!1:mu(A.blocks||[],i)},h=g.useCallback(A=>{const w=new Set,j=ui(A);for(;j.length>0;){const I=j.shift();if(w.has(I))continue;w.add(I);const S=u[I];(S==null?void 0:S.status)==="loaded"&&S.dependencies.length>0&&j.push(...S.dependencies)}return[...w]},[u]),x=g.useCallback(A=>{const w=JSON.stringify(A),j=/pageType:[^:]+:([a-f0-9-]{36})/gi,I=[];let S;for(;(S=j.exec(w))!==null;)S[1]&&I.push(S[1]);return d.compact([...new Set(I)])},[]),b=g.useCallback(A=>{const w=/dt#[^ "]+/g,j={};for(const I of A){const S=JSON.stringify(I);let E;for(;(E=w.exec(S))!==null;)if(E[0]){const _=E[0];j[_]||(j[_]={}),j[_][I._id]=I._name||I._type}}return j},[]),y=g.useCallback(A=>!A&&(!o("save_page")||!c)||!A&&t==="SAVED",[o,c,t]);return{savePage:xe.useThrottledCallback(async(A=!1,w=!1)=>{if(y(w))return;const j=r();return j!=null&&j.blocks&&p(j.blocks),e("SAVING"),s("SAVING"),f(0),await n({autoSave:A,blocks:j.blocks,needTranslations:m(),partialIds:h(j.blocks||[]),linkPageIds:x(j.blocks||[]),designTokens:b(j.blocks||[])}),setTimeout(()=>{e("SAVED"),s("SAVED")},100),!0},[y,r,e,f,n,s,c,p,h,x,b],3e3),savePageAsync:async(A=!1)=>{if(y(A))return;e("SAVING"),s("SAVING");const w=r();return f(0),await n({autoSave:!0,blocks:w.blocks,needTranslations:m(),partialIds:h(w.blocks||[]),linkPageIds:x(w.blocks||[]),designTokens:b(w.blocks||[])}),setTimeout(()=>{e("SAVED"),s("SAVED")},100),!0},saveState:t,setSaveState:e,needTranslations:m}},gu=()=>{const{savePage:t,saveState:e}=tn(),n=$("autoSave",!0),s=$("autoSaveActionsCount",10),[r]=N.useAtom(Ss);g.useEffect(()=>{n&&(e==="SAVED"||e==="SAVING"||r>=s&&t(!0))},[n,t,e,r,s])},mi=()=>{const[,t]=N.useAtom(Ss),{setSaveState:e}=tn();return g.useCallback(()=>{t(n=>n+1),e(n=>n!=="UNSAVED"?"UNSAVED":n)},[t,e])};function xu(t,e,n,s){const r=[...e];let o=[...t];if(n){const u=t.find(p=>p._id===n);if(u&&u.content!==void 0&&u.content!==""&&!t.some(f=>f._parent===n)){const m={_id:pe.generateUUID(),_parent:n,_type:"Text",content:u.content};Object.keys(u).forEach(h=>{h.startsWith("content-")&&(m[h]=u[h])}),r.unshift(m),o=o.map(h=>{if(h._id===n){const x={...h,content:""};return Object.keys(x).forEach(b=>{b.startsWith("content-")&&(x[b]="")}),x}return h})}}let i=o.filter(u=>!u._parent);n&&(i=o.filter(u=>u._parent===n));const l=s!==void 0&&!isNaN(s)&&s>-1?Math.min(s,i.length):i.length;let c=o.length;for(let u=0,p=0;u<o.length;u++)if(n!==void 0?o[u]._parent===n:!o[u]._parent){if(p===l){c=u;break}p++}return!n&&s!==void 0&&s>=i.length&&(c=o.length),[...o.slice(0,c),...r,...o.slice(c)]}function bu(t){return Mr(t)}function yu(t){let e=[];return t.walk(n=>(delete n.model.children,e.push(n.model),!0)),e}function Zo(t,e){return t.first(n=>n.model._id===e)||null}function ku(t,e,n,s){var u,p;const r=Zo(t,e),o=Zo(t,n);if(!r||!o)return!1;o.children||(o.model.children=[]);let i=(u=o==null?void 0:o.children)==null?void 0:u.findIndex(f=>f.model._id===e);r.drop(),i=Math.max(i,0);const c=(((p=r==null?void 0:r.model)==null?void 0:p._parent)||"root")===n&&i<=s?s-1:s;try{o.addChildAtIndex(r,c)}catch(f){return console.error("Error adding child to parent:",f),!1}return!0}function vu(t,e){if(!e||!e._parent)return t;const n=e._parent,s=t.find(o=>o._id===n);if(!s)return t;const r=t.filter(o=>o._parent===n);if(r.length===2){const o=r.find(i=>i._id!==e._id);if(o&&o._type==="Text"&&"content"in s)return t.map(l=>{if(l._id===n){const c={...l,content:o.content};return Object.keys(o).forEach(u=>{u.startsWith("content-")&&(c[u]=o[u])}),c}return l}).filter(l=>l._id!==o._id)}return t}function wu(t,e,n){if(!n||n==="root")return t;const s=t.find(r=>r._id===n);if(!s)return t;if(s.content!==void 0&&s.content!==""&&!t.some(o=>o._parent===n&&o._id!==e._id)){const i={_id:pe.generateUUID(),_parent:n,_type:"Text",content:s.content};Object.keys(s).forEach(u=>{u.startsWith("content-")&&(i[u]=s[u])});const l=t.map(u=>{if(u._id===n){const p={...u,content:""};return Object.keys(p).forEach(f=>{f.startsWith("content-")&&(p[f]="")}),p}return u}),c=l.findIndex(u=>u._id===e._id);return c!==-1?[...l.slice(0,c),i,...l.slice(c)]:[i,...l]}return t}function Cu(t,e,n,s){if(!e)return t;const r=t.find(u=>u._id===e);if(!r)return t;let o=vu(t,r);const i=n||"root",c=new td().parse({_id:"root",children:bu(o)});if(ku(c,e,i,s)){let u=yu(c);const p=u.find(f=>f._id===e);return p&&(p._parent=i==="root"?null:i),u.shift(),n&&(u=wu(u,r,n)),u}return o}const fn=new BroadcastChannel("chaibuilder"),gi=()=>{const t=$("pageId","chaibuilder_page");return{postMessage:xe.useDebouncedCallback(n=>fn.postMessage({...n,pageId:t}),[t],200)}},ju=()=>{const[,t]=Z(),e=$("pageId","chaibuilder_page"),{updateBlocksProps:n}=xi();g.useEffect(()=>(fn.onmessageerror=s=>{console.log("error",s)},fn.onmessage=s=>{s.data.type==="blocks-updated"&&s.data.pageId===e&&t(s.data.blocks),s.data.type==="blocks-props-updated"&&s.data.pageId===e&&n(s.data.blocks)},()=>{fn.onmessage=null,fn.onmessageerror=null}),[t,e])},Kr=(t,e)=>{let n=[...t],s=[];e.forEach(l=>{const c=n.find(f=>f._id===l);if(!c||!c._parent)return;const u=c._parent,p=n.filter(f=>f._parent===u);if(p.length===2){const f=p.find(m=>m._id!==l);if(f&&f._type==="Text"){const m=n.find(h=>h._id===u);m&&"content"in m&&(n=n.map(h=>{if(h._id===u){const x={...h,content:f.content};return Object.keys(f).forEach(b=>{b.startsWith("content-")&&(x[b]=f[b])}),x}return h}),s.push(f._id))}}});const r=[...e,...s],o=[],i=d.filter(n,l=>d.includes(r,l._id)||d.includes(r,l._parent)?(o.push(l._id),!1):!0);return d.isEmpty(o)?i:Kr(i,o)},_s=()=>{const[t]=Z(),[e,n]=q(),{setNewBlocks:s}=Ee(),{hasPermission:r}=We();return g.useCallback(o=>{var l;if(!r(Q.DELETE_BLOCK))return;const i=((l=d.find(t,{_id:o[0]}))==null?void 0:l._parent)||null;s(Kr(t,o)),setTimeout(()=>n(i?[i]:[]),200)},[t,n,e,r])},Su=N.atom(null,(t,e,{id:n,props:s})=>{const r=t(_n),o=d.find(r,i=>t(i)._id===n);return o?e(o,{...t(o),...s}):null}),Nu=()=>N.useSetAtom(Su),Eu=t=>Oe.useAtomCallback(g.useCallback((e,n,s)=>{const r=e(t);if(!r||!r.length)return console.warn("No blocks available in splitAtoms"),null;const o=d.find(r,i=>e(i)._id===(d.isString(s)?s:e(s)._id));return o||(console.warn(`Block with id ${s} not found`),null)},[t]),{store:ze}),xi=()=>{const[,t]=Z(),{postMessage:e}=gi(),n=Nu(),s=qr(),r=mi();return{setNewBlocks:o=>{t(o),e({type:"blocks-updated",blocks:o})},addBlocks:(o,i,l)=>{t(c=>{const u=xu(c,o,i,l);return e({type:"blocks-updated",blocks:u}),s(u),r(),u})},removeBlocks:o=>{t(i=>{const l=Kr(i,o);return e({type:"blocks-updated",blocks:l}),s(l),r(),l})},moveBlocks:(o,i,l)=>{t(c=>{let u=[...c];for(let p=0;p<o.length;p++)u=Cu(u,o[p],i,l);return d.each(o,p=>{const f=d.find(u,m=>m._id===p);f&&n({id:p,props:{_parent:f._parent||null}})}),e({type:"blocks-updated",blocks:u}),s(u),r(),u})},updateBlocksProps:o=>{o.forEach(i=>{const l=d.omit(i,"_id");n({id:i._id,props:l})}),e({type:"blocks-props-updated",blocks:o}),r()}}},qe=new nd;qe.setLimit(50);const Au=N.atom({canUndo:!1,canRedo:!1}),In=()=>{const[,t]=N.useAtom(As),[e,n]=N.useAtom(Au),s=$("onSaveStateChange",d.noop),r=g.useCallback(()=>{const u={canUndo:qe.hasUndo(),canRedo:qe.hasRedo()};n(u),t("UNSAVED"),s("UNSAVED")},[n,t,s]);g.useEffect(()=>(qe.setCallback(r),()=>{qe.setCallback(d.noop)}),[r]);const o=g.useCallback(u=>{qe.add(u),r()},[r]),i=g.useCallback(()=>{qe.undo(),r()},[r]),l=g.useCallback(()=>{qe.redo(),r()},[r]),c=g.useCallback(()=>{qe.clear(),n({canUndo:!1,canRedo:!1})},[n]);return g.useMemo(()=>({add:o,undo:i,redo:l,hasUndo:()=>e.canUndo,hasRedo:()=>e.canRedo,clear:c}),[o,i,l,e.canUndo,e.canRedo,c])},Z=()=>N.useAtom(Ne),Ee=()=>{const{add:t}=In(),{setNewBlocks:e,addBlocks:n,removeBlocks:s,moveBlocks:r,updateBlocksProps:o}=xi();return{moveBlocks:(h,x,b)=>{const y=ze.get(Ne),k=d.map(h,A=>{const j=y.find(E=>E._id===A)._parent||null,S=y.filter(E=>j?E._parent===j:!E._parent).map(E=>E._id).indexOf(A);return{_id:A,oldParent:j,oldPosition:S}}),C=k.find(({_id:A})=>A===h[0]);C&&C.oldParent===x&&C.oldPosition===b||(r(h,x??null,b),t({undo:()=>d.each(k,({_id:A,oldParent:w,oldPosition:j})=>{r([A],w??null,j)}),redo:()=>r(h,x??null,b)}))},addBlocks:(h,x,b)=>{n(h,x,b),t({undo:()=>s(d.map(h,"_id")),redo:()=>n(h,x,b)})},removeBlocks:h=>{var C;const x=ze.get(Ne),b=(C=d.first(h))==null?void 0:C._parent,k=x.filter(A=>b?A._parent===b:!A._parent).indexOf(d.first(h));s(d.map(h,"_id")),t({undo:()=>n(h,b??void 0,k),redo:()=>s(d.map(h,"_id"))})},updateBlocks:(h,x,b)=>{const y=ze.get(Ne);let k=[];if(b)k=d.map(h,C=>({_id:C,...b}));else{const C=d.keys(x);k=d.map(h,A=>{const w=y.find(I=>I._id===A),j={_id:A};return d.each(C,I=>j[I]=w[I]),j})}o(d.map(h,C=>({_id:C,...x}))),t({undo:()=>o(k),redo:()=>o(d.map(h,C=>({_id:C,...x})))})},updateBlocksRuntime:(h,x)=>{o(d.map(h,b=>({_id:b,...x})))},setNewBlocks:h=>{const x=ze.get(Ne);e(h),t({undo:()=>e(x),redo:()=>e(h)})},updateMultipleBlocksProps:h=>{const x=ze.get(Ne);let b=[];b=d.map(h,y=>{const k=d.keys(y),C=x.find(w=>w._id===y._id),A={};return d.each(k,w=>A[w]=C==null?void 0:C[w]),A}),o(h),t({undo:()=>o(b),redo:()=>o(h)})}}},_u=({block:t,children:e})=>{const{t:n}=z.useTranslation(),[s]=Z(),{hasPermission:r}=We(),o=d.get(t,"_id"),i=d.get(t,"_parent"),l=d.filter(s,f=>i?d.get(f,"_parent")===i:!d.get(f,"_parent")),c=is(d.get(t,"_type","")),u=d.findIndex(l,{_id:o}),p=f=>{if(f==="CHILD")ae.publish(Y.OPEN_ADD_BLOCK,t);else{const m={_id:i||"",position:l==null?void 0:l.length};f==="BEFORE"?m.position=Math.max(u,0):f==="AFTER"&&(m.position=u+1),ae.publish(Y.OPEN_ADD_BLOCK,m)}};return r(Q.ADD_BLOCK)?a.jsxs(mt,{children:[a.jsx(gt,{children:e}),a.jsxs(et,{className:"border border-blue-500 bg-primary text-white shadow-2xl",children:[c&&a.jsx(ge,{className:"cursor-pointer text-xs",onClick:()=>p("CHILD"),children:n("Add inside")}),a.jsx(ge,{className:"cursor-pointer text-xs",onClick:()=>p("BEFORE"),children:n("Add before")}),a.jsx(ge,{className:"cursor-pointer text-xs",onClick:()=>p("AFTER"),children:n("Add after")})]})]}):null},Is=N.atom(null),Tn=N.atom({isVisible:!1,isValid:!1,position:"inside",placeholderOrientation:"horizontal",isEmpty:!1,top:0,left:0,width:0,height:0});let qt=!1;const Yr=t=>{qt=t},Xr=N.atom(0),Iu=N.atom(!1);Iu.debugLabel="readOnlyModeAtom";const Tu=N.atom("online");Tu.debugLabel="networkModeAtom";N.atom("");const Bu=N.atom(!1);Bu.debugLabel="editLayerNameAtom";const Ru=N.atom("");Ru.debugLabel="activeLanguageAtom";const Pu=N.atom("");Pu.debugLabel="primaryLanguageAtom";const Ts=N.atom(null);Ts.debugLabel="canvasIframeAtom";const Lu=N.atom("outline");Lu.debugLabel="activePanelAtom";const bi=N.atom("");bi.debugLabel="showPredefinedBlockCategoryAtom";const Du=N.atom(!1);Du.debugLabel="draggingFlagAtom";const Jr=N.atom(null);Jr.debugLabel="treeRefAtom";const Mu=N.atom({});Mu.debugLabel="canvasSettingsAtom";const yi=N.atom(!1);yi.debugLabel="aiAssistantActiveAtom";const Ou=N.atom(!1);Ou.debugLabel="codeEditorOpenAtom";const $u=Oe.atomWithStorage("codeEditorHeight",500);$u.debugLabel="codeEditorHeightAtom";const Fu=N.atom([]);Fu.debugLabel="xShowBlocksAtom";const Zr=Oe.atomWithStorage("_selectedLibrary",null);Zr.debugLabel="selectedLibraryAtom";const Qr=N.atom(!0);Qr.debugLabel="dataBindingActiveAtom";const zu=Oe.atomWithStorage("chai-builder-theme",Qe.defaultThemeValues),nn=()=>N.useAtom(Ts);let oe=null,ot=null;function Hu(t,e){const n=t.getAttribute("data-block-name"),s=t.getAttribute("data-block-type"),r=n||s||"Container",o=e.createElement("div");return o.className="chai-drag-parent-label",o.textContent=r,o.className="absolute top-0 -left-0.5 -translate-x-0.5 -translate-y-full -mt-1 bg-green-500/95 text-white px-2 py-1 text-xs font-semibold font-sans leading-tight whitespace-nowrap shadow-lg z-[999999] pointer-events-none select-none",o}function Zs(){ot&&ot.parentNode&&(ot.parentNode.removeChild(ot),ot=null)}const eo=()=>{const[t]=nn(),e=g.useMemo(()=>{var r;return(t==null?void 0:t.contentDocument)||((r=t==null?void 0:t.contentWindow)==null?void 0:r.document)},[t]),n=g.useCallback(r=>{if(!e)return;let o=null;if(!r){oe&&(oe.style.outline="",oe.style.outlineOffset="",oe.style.backgroundColor="",oe.style.position="",oe=null),Zs();return}typeof r!="string"?o=r:o=e.querySelector(`[data-block-id="${r}"]`),!(o===oe&&ot&&ot.parentNode)&&(oe&&oe!==o&&(oe.style.outline="",oe.style.outlineOffset="",oe.style.backgroundColor="",oe.style.position=""),Zs(),o?(o.style.outline="2px dashed rgba(34, 197, 94, 1)",o.style.outlineOffset="2px",o.style.backgroundColor="rgba(34, 197, 94, 0.05)",window.getComputedStyle(o).position==="static"&&(o.style.position="relative"),ot=Hu(o,e),o.appendChild(ot),oe=o):oe=null)},[e]),s=g.useCallback(()=>{oe&&(oe.style.outline="",oe.style.outlineOffset="",oe.style.backgroundColor="",window.getComputedStyle(oe).position==="relative"&&oe.style.position==="relative"&&(oe.style.position=""),oe=null),Zs()},[]);return{highlightParent:n,clearParentHighlight:s,lastDragHighlighted:oe}},Vu=()=>{const[,t]=N.useAtom(Is),[,e]=N.useAtom(Tn),[n]=nn(),{clearParentHighlight:s}=eo(),[r,o]=N.useAtom(Xr),i=n==null?void 0:n.contentDocument;return g.useCallback(()=>{t(null),e({isVisible:!1,isValid:!1,position:"inside",placeholderOrientation:"horizontal",isEmpty:!1,top:0,left:0,width:0,height:0}),Wu(i),s(),i&&i.querySelectorAll("[data-dragging]").forEach(c=>{c.removeAttribute("data-dragging")}),Yr(!1),o(r+1)},[t,e,i,s,r,o])};function Wu(t){if(!t)return;t.querySelectorAll("[data-drop-target]").forEach(n=>n.removeAttribute("data-drop-target"))}function Pt(t,e=null){const n=window.getComputedStyle(t),s=e?window.getComputedStyle(e):null,r=n.display,o=s?s.display:null;if(r==="flex"||r==="inline-flex"){const i=n.flexDirection;return i==="column"||i==="column-reverse"?"vertical":"horizontal"}else if(r==="grid"){const i=n.gridAutoFlow,l=n.gridTemplateColumns;return i.includes("column")||l&&l!=="none"&&l!==""&&!l.includes("calc")&&l.split(" ").length<=1?"vertical":"horizontal"}else if(o==="inline-block"||o==="inline")return"horizontal";return"vertical"}const Gu=["Heading","Text","Image","Paragraph","Icon","Input","Radio","Checkbox","Select","CustomHTML","TextArea","Divider","Repeater","Video"];function Uu(t){try{return Gu.includes(t)}catch{return!1}}const Ze={MIN_EDGE_ZONE:10,MAX_EDGE_ZONE:30,EDGE_ZONE_PERCENTAGE:.2,GAP_THRESHOLD:8,MIN_SIZE_FOR_EDGE_ZONES:50,PARENT_EDGE_PROXIMITY:20};function Qo(t){try{if(t<Ze.MIN_SIZE_FOR_EDGE_ZONES)return 0;const e=t*Ze.EDGE_ZONE_PERCENTAGE;return Math.max(Ze.MIN_EDGE_ZONE,Math.min(Ze.MAX_EDGE_ZONE,e))}catch{return Ze.MIN_EDGE_ZONE}}function ht(t){try{const e=[],n=t.children;for(let s=0;s<n.length;s++){const r=n[s];r.hasAttribute("data-block-id")&&e.push(r)}return e}catch{return[]}}function Qn(t){try{return ht(t).length>0}catch{return!1}}function qu(t,e,n,s){try{const r=ht(t);if(r.length<2)return null;const o=Ju(r,e,n,s);if(o){const i=to(r,o,s);i.sort((l,c)=>{const u=l.getBoundingClientRect(),p=c.getBoundingClientRect();return s==="vertical"?u.top-p.top:u.left-p.left});for(let l=0;l<i.length-1;l++){const c=i[l],u=i[l+1],p=c.getBoundingClientRect(),f=u.getBoundingClientRect();if(s==="vertical"){const m=p.bottom,h=f.top,x=h-m,b=n>=m&&n<=h,y=e>=Math.min(p.left,f.left)&&e<=Math.max(p.right,f.right);if(b&&y&&x>=Ze.GAP_THRESHOLD)return{before:c,after:u}}else{const m=p.right,h=f.left,x=h-m,b=e>=m&&e<=h,y=n>=Math.min(p.top,f.top)&&n<=Math.max(p.bottom,f.bottom);if(b&&y&&x>=Ze.GAP_THRESHOLD)return{before:c,after:u}}}}for(let i=0;i<r.length-1;i++){const l=r[i],c=r[i+1],u=l.getBoundingClientRect(),p=c.getBoundingClientRect();if(s==="vertical"){const f=u.bottom,m=p.top,h=m-f,x=n>=f&&n<=m,b=e>=Math.min(u.left,p.left)&&e<=Math.max(u.right,p.right);if(x&&b&&h>=Ze.GAP_THRESHOLD)return{before:l,after:c}}else{const f=u.right,m=p.left,h=m-f,x=e>=f&&e<=m,b=n>=Math.min(u.top,p.top)&&n<=Math.max(u.bottom,p.bottom);if(x&&b&&h>=Ze.GAP_THRESHOLD)return{before:l,after:c}}}return null}catch{return null}}function Ku(t,e,n,s){try{const r=t.getBoundingClientRect(),o=Ze.PARENT_EDGE_PROXIMITY;if(s==="vertical"){if(n<=r.top+o)return"start";if(n>=r.bottom-o)return"end"}else{if(e<=r.left+o)return"start";if(e>=r.right-o)return"end"}return null}catch{return null}}function Yu(t,e,n,s,r){const o=t.getBoundingClientRect();if(r==="vertical"){const l=(n-o.top)/o.height,c=Qo(o.height),u=c/o.height;return s?c>0&&l<u?{position:"before",confidence:1-l/u}:c>0&&l>1-u?{position:"after",confidence:(l-(1-u))/u}:{position:"inside",confidence:1-Math.abs(l-.5)*2}:l<.5?{position:"before",confidence:1-l*2}:{position:"after",confidence:(l-.5)*2}}else{const l=(e-o.left)/o.width,c=Qo(o.width),u=c/o.width;return s?c>0&&l<u?{position:"before",confidence:1-l/u}:c>0&&l>1-u?{position:"after",confidence:(l-(1-u))/u}:{position:"inside",confidence:1-Math.abs(l-.5)*2}:l<.5?{position:"before",confidence:1-l*2}:{position:"after",confidence:(l-.5)*2}}}function Xu(t,e,n,s,r){var A,w,j,I;const o=t.getAttribute("data-block-id"),i=t.getAttribute("data-block-type")||"Box";if(!o)return null;let l=t.parentElement;for(;l&&!l.hasAttribute("data-block-id");)l=l.parentElement;const c=o==="canvas"?o:l==null?void 0:l.getAttribute("data-block-id"),u=l?Pt(l):"vertical",p=Pt(t),f=Uu(i),m=!f&&tt(i,s),h=((A=r.defaultView)==null?void 0:A.scrollY)||0,x=((w=r.defaultView)==null?void 0:w.scrollX)||0;if(o==="canvas"&&Qn(t)){const S=ht(t),E=S[S.length-1];if(E){const _=E.getBoundingClientRect(),B=t.getBoundingClientRect(),P=window.getComputedStyle(t),R=parseFloat(P.paddingLeft)||0,M=parseFloat(P.paddingRight)||0,H=B.width-R-M,G=B.left+x+R;return{position:"after",placeholderOrientation:"horizontal",rect:{top:_.bottom+h,left:G,width:H,height:4},targetElement:E,targetBlockId:E.getAttribute("data-block-id"),targetParentId:"canvas",isEmpty:!1,confidence:1}}}if(m&&!f&&Qn(t)){const S=qu(t,e,n,p);if(S){const E=S.before.getBoundingClientRect(),_=S.after.getBoundingClientRect(),B=t.getBoundingClientRect(),P=window.getComputedStyle(t),R=parseFloat(P.paddingLeft)||0,M=parseFloat(P.paddingRight)||0,H=ht(t),G=to(H,S.before,p);let be=0;if(G.forEach(de=>{const re=de.getBoundingClientRect();re.height>be&&(be=re.height)}),p==="vertical"){const de=B.width-R-M,re=B.left+x+R;return{position:"after",placeholderOrientation:"horizontal",rect:{top:E.bottom+h,left:re,width:de,height:4},targetElement:S.before,targetBlockId:S.before.getAttribute("data-block-id"),targetParentId:o,isGapZone:!0,confidence:1}}else{const de=E.top+h,re=be>0?be:Math.max(E.height,_.height);return{position:"after",placeholderOrientation:"vertical",rect:{top:de,left:E.right+x,width:4,height:re},targetElement:S.before,targetBlockId:S.before.getAttribute("data-block-id"),targetParentId:o,isGapZone:!0,confidence:1}}}}if(l&&c){const S=Ku(l,e,n,u);if(S){const E=l.getBoundingClientRect(),_=window.getComputedStyle(l),B=parseFloat(_.paddingLeft)||0,P=parseFloat(_.paddingRight)||0,R=parseFloat(_.paddingTop)||0,M=parseFloat(_.paddingBottom)||0,H=((j=r.defaultView)==null?void 0:j.scrollY)||0,G=((I=r.defaultView)==null?void 0:I.scrollX)||0,be=u==="vertical"?"horizontal":"vertical",de=ki(l);if(S==="start"){const re=ht(l)[0];if(re){const we=re.getBoundingClientRect();if(u==="vertical"){const Le=E.width-B-P,V=E.left+G+B;return{position:"before",placeholderOrientation:be,rect:{top:we.top+H-2,left:V,width:Le,height:4},targetElement:re,targetBlockId:re.getAttribute("data-block-id"),targetParentId:c,confidence:.9}}else{const Le=E.top+H+R,V=de.maxHeight>0?de.maxHeight:E.height-R-M;return{position:"before",placeholderOrientation:be,rect:{top:Le,left:we.left+G-2,width:4,height:V},targetElement:re,targetBlockId:re.getAttribute("data-block-id"),targetParentId:c,confidence:.9}}}}else{const re=ht(l),we=re[re.length-1];if(we){const Le=we.getBoundingClientRect();if(u==="vertical"){const V=E.width-B-P,_e=E.left+G+B;return{position:"after",placeholderOrientation:be,rect:{top:Le.bottom+H-2,left:_e,width:V,height:4},targetElement:we,targetBlockId:we.getAttribute("data-block-id"),targetParentId:c,confidence:.9}}else{const V=E.top+H+R,_e=de.maxHeight>0?de.maxHeight:E.height-R-M;return{position:"after",placeholderOrientation:be,rect:{top:V,left:Le.right+G-2,width:4,height:_e},targetElement:we,targetBlockId:we.getAttribute("data-block-id"),targetParentId:c,confidence:.9}}}}}}let b=Yu(t,e,n,m,u);if(f&&b.position==="inside"){const S=t.getBoundingClientRect();u==="vertical"?b={position:(n-S.top)/S.height<.5?"before":"after",confidence:b.confidence}:b={position:(e-S.left)/S.width<.5?"before":"after",confidence:b.confidence}}let y;b.position==="inside"?y=p==="vertical"?"horizontal":"vertical":y=u==="vertical"?"horizontal":"vertical";const k=Zu(t,l,b.position,y,r),C=b.position==="inside"?o:c;return{position:b.position,placeholderOrientation:y,rect:k,targetElement:t,targetBlockId:o,targetParentId:C??"",isEmpty:b.position==="inside"&&!Qn(t),confidence:b.confidence}}function Ju(t,e,n,s){if(t.length===0)return null;const r=t.filter(l=>{const c=l.getBoundingClientRect();return s==="vertical"?n>=c.top&&n<=c.bottom:e>=c.left&&e<=c.right});if(r.length===0){const l=new Map;t.forEach(p=>{const f=p.getBoundingClientRect(),m=Math.round(s==="vertical"?f.top:f.left);l.has(m)||l.set(m,[]),l.get(m).push(p)});let c=null,u=1/0;l.forEach((p,f)=>{const m=Math.abs(s==="vertical"?n-f:e-f);m<u&&(u=m,c=p)}),c&&r.push(c)}if(r.length===0)return null;let o=r[0],i=1/0;return r.forEach(l=>{const c=l.getBoundingClientRect(),u=c.left+c.width/2,p=c.top+c.height/2,f=Math.sqrt(Math.pow(e-u,2)+Math.pow(n-p,2));f<i&&(i=f,o=l)}),o}function ki(t){const e=ht(t);if(e.length===0)return{maxWidth:0,maxHeight:0};let n=0,s=0;return e.forEach(r=>{const o=r.getBoundingClientRect();o.width>n&&(n=o.width),o.height>s&&(s=o.height)}),{maxWidth:n,maxHeight:s}}function to(t,e,n){const s=e.getBoundingClientRect(),r=5;return t.filter(o=>{const i=o.getBoundingClientRect();return n==="vertical"?Math.abs(i.top-s.top)<=r:Math.abs(i.left-s.left)<=r})}function Zu(t,e,n,s,r){var R,M;const o=t.getBoundingClientRect(),i=window.getComputedStyle(t),l=((R=r.defaultView)==null?void 0:R.scrollY)||0,c=((M=r.defaultView)==null?void 0:M.scrollX)||0,u=parseFloat(i.marginTop)||0,p=parseFloat(i.marginBottom)||0,f=parseFloat(i.marginLeft)||0,m=parseFloat(i.marginRight)||0,h=parseFloat(i.paddingTop)||0,x=parseFloat(i.paddingBottom)||0,b=parseFloat(i.paddingLeft)||0,y=parseFloat(i.paddingRight)||0,k=e==null?void 0:e.getBoundingClientRect(),C=e&&parseFloat(window.getComputedStyle(e).paddingLeft)||0,A=e&&parseFloat(window.getComputedStyle(e).paddingRight)||0,w=e&&parseFloat(window.getComputedStyle(e).paddingTop)||0,j=e&&parseFloat(window.getComputedStyle(e).paddingBottom)||0,I=e?ki(e):{maxHeight:0},S=e?Pt(e):"vertical",E=e?ht(e):[],_=to(E,t,S);let B=0,P=0;if(_.forEach(H=>{const G=H.getBoundingClientRect();G.height>B&&(B=G.height),G.width>P&&(P=G.width)}),n==="before")if(s==="horizontal"){const H=k?k.width-C-A:o.width,G=k?k.left+c+C:o.left+c;return{top:o.top+l-u-2,left:G,width:H,height:4}}else{const H=o.top+l,G=S==="horizontal"&&B>0?B:I.maxHeight>0?I.maxHeight:k?k.height-w-j:o.height;return{top:H,left:o.left+c-f-2,width:4,height:G}}else if(n==="after")if(s==="horizontal"){const H=k?k.width-C-A:o.width,G=k?k.left+c+C:o.left+c;return{top:o.bottom+l+p-2,left:G,width:H,height:4}}else{const H=o.top+l,G=S==="horizontal"&&B>0?B:I.maxHeight>0?I.maxHeight:k?k.height-w-j:o.height;return{top:H,left:o.right+c+m-2,width:4,height:G}}else return Qn(t)?Pt(t)==="vertical"?{top:o.bottom+l-x-2,left:o.left+c+b,width:o.width-b-y,height:4}:{top:o.top+l+h,left:o.right+c-y-2,width:4,height:o.height-h-x}:{top:o.top+l+h,left:o.left+c+b,width:o.width-b-y,height:Math.max(o.height-h-x,20)}}const Qu=100,xt=()=>{const[t]=Z(),[,e]=q(),{addBlocks:n}=Ee(),s=g.useCallback((o,i,l)=>{for(let m=0;m<o.length;m++){const{_id:h}=o[m];o[m]._id=pe.generateUUID();const x=d.filter(o,{_parent:h});for(let b=0;b<x.length;b++)x[b]._parent=o[m]._id}const c=d.first(o);let u,p;return i&&(u=d.find(t,{_id:i}),o[0]._parent=i,d.forEach(o,m=>{m!=null&&m._parent||(m._parent=i)}),p=i),!(u?tt(u==null?void 0:u._type,c._type):!0)&&u&&(o[0]._parent=u._parent,p=u._parent),n(o,p??void 0,l),e([c._id]),c},[n,t,e]);return{addCoreBlock:g.useCallback((o,i,l)=>{if(d.has(o,"blocks")){const b=o.blocks;return s(b,i??void 0,l)}const c=pe.generateUUID(),u=K.getBlockDefaultProps(o.type),p={_type:o.type,_id:c,...u,...d.has(o,"_name")&&{_name:o._name},...d.has(o,"partialBlockId")&&{partialBlockId:o.partialBlockId}};let f,m;return i&&(f=d.find(t,{_id:i}),p._parent=i,m=i),!tt(f==null?void 0:f._type,p._type)&&f&&(p._parent=f._parent,m=f._parent),n([p],m??void 0,l),setTimeout(()=>e([p._id]),Qu),p},[n,s,t,e]),addPredefinedBlock:s}};let rt=null;const nt=()=>{const[t]=N.useAtom(Ts),e=g.useMemo(()=>{var r;return(t==null?void 0:t.contentDocument)||((r=t==null?void 0:t.contentWindow)==null?void 0:r.document)},[t]),n=g.useCallback(r=>{if(e)if(rt&&rt.removeAttribute("data-highlighted"),typeof r!="string")r.setAttribute("data-highlighted","true"),rt=r;else if(typeof r=="string"){const o=e.querySelector(`[data-block-id="${r}"]`);o&&(o.setAttribute("data-highlighted","true"),rt=o)}else rt=null},[e]),s=g.useCallback(()=>{rt&&(rt.removeAttribute("data-highlighted"),rt=null)},[]);return{highlightBlock:n,clearHighlight:s,lastHighlighted:rt}},Bn=N.atom([]);Bn.debugLabel="selectedStylingBlocksAtom";const Ae=()=>N.useAtom(Bn),ep=()=>{const[t,e]=N.useAtom(Is),[n,s]=N.useAtom(Tn),[r]=Z(),[o]=nn(),{addCoreBlock:i}=xt(),{moveBlocks:l}=Ee(),[,c]=q(),[,u]=Ae(),{clearHighlight:p}=nt(),{clearParentHighlight:f}=eo(),[m,h]=N.useAtom(Xr),x=Ke(),b=fi(),y=o==null?void 0:o.contentDocument;return g.useCallback(k=>{if(k.preventDefault(),k.stopPropagation(),Yr(!1),np(y),ea(y),f(),s({isVisible:!1,isValid:!1,position:"inside",placeholderOrientation:"horizontal",isEmpty:!1,top:0,left:0,width:0,height:0}),setTimeout(()=>{f(),ea(y),s({isVisible:!1,isValid:!1,position:"inside",placeholderOrientation:"horizontal",isEmpty:!1,top:0,left:0,width:0,height:0})},50),!t)return;if(!n.isValid||!n.targetBlockId){f();return}e(null);const C=n.targetBlockId,A=n.targetParentId;if(!C)return;const{parentId:w,index:j,replaceImageUrl:I}=tp(r,C,A,n.position,t),S=t._id!==void 0;if(I&&vi(t)){x([C],{image:d.get(t,"blocks.0.image")}),setTimeout(()=>{h(m+1)},50);return}if(S)l([t._id],w===null?void 0:w,j),p(),u([]),c([t._id]);else{const E=t._type||t.type,_=t!=null&&t.blocks?d.isFunction(t==null?void 0:t.blocks)?K.syncBlocksWithDefaultProps(t==null?void 0:t.blocks()):t==null?void 0:t.blocks:null;if(E==="PartialBlock"){const B=t.partialBlockId||"",{canAdd:P,reason:R}=b(B);if(!P){ue.toast.error(R||"Cannot add this partial block");return}i({blocks:[{_type:E,_id:"partial-block",partialBlockId:t.partialBlockId}]},w,j)}else i((_==null?void 0:_.length)>0?{blocks:[..._]}:{type:E},w,j)}setTimeout(()=>{h(m+1)},50)},[t,n,r,y,i,l,e,s,f,p,c,u,m,h,x,b])},vi=t=>{var o,i;const e=d.has(t,"blocks"),n=t==null?void 0:t.blocks,s=(n==null?void 0:n.length)===1&&((o=n==null?void 0:n[0])==null?void 0:o._type)==="Image",r=!((i=n==null?void 0:n[0])!=null&&i._id);return e&&s&&r};function tp(t,e,n,s,r){var o,i;try{if(e===n&&((o=r==null?void 0:r.blocks)==null?void 0:o.length)===1&&d.get(r,"blocks.0._type")==="Image"&&((i=d.find(t,{_id:e}))==null?void 0:i._type)==="Image")return{parentId:"",index:-1,replaceImageUrl:!0};if(e==="canvas"||s==="inside"&&e==="canvas")return{parentId:null,index:d.filter(t,h=>!(h!=null&&h._parent)).length};if(s==="inside"){const m=d.filter(t,{_parent:e});return{parentId:e,index:m.length}}const l=!n||n==="canvas",c=l?void 0:n,u=d.filter(t,m=>l?!(m!=null&&m._parent):(m==null?void 0:m._parent)===c),p=u.findIndex(m=>m._id===e);if(p===-1)return{parentId:l?null:n,index:u.length};const f=s==="before"?p:p+1;return{parentId:l?null:n,index:f}}catch{return{parentId:null,index:d.filter(t,c=>!(c!=null&&c._parent)).length}}}function ea(t){if(!t)return;t.querySelectorAll("[data-drop-target]").forEach(n=>n.removeAttribute("data-drop-target"))}function np(t){if(!t)return;t.querySelectorAll("[data-dragging]").forEach(n=>{n.removeAttribute("data-dragging")})}function wi(t,e,n){if(!t||!e)return!1;if(t===e)return!0;const s=n.find(o=>o._id===t);if(!s)return!1;let r=s;for(;r._parent;){if(r._parent===e)return!0;const o=n.find(i=>i._id===r._parent);if(!o)break;r=o}return!1}function Ci(t,e,n){return!t||!e?!0:!wi(e,t,n)}function sp(t,e,n){if(!t)return!0;const s=n.find(o=>o._id===e);if(!s)return!0;const r=s._parent;return Ci(t,r,n)}const rp=["Heading","Text","Image","Paragraph","Icon","Input","Radio","Checkbox","Select","CustomHTML","TextArea","Divider","Repeater","Video"],ut={EDGE_ZONE:50,MAX_SCROLL_SPEED:10,MIN_SCROLL_SPEED:10},op=()=>{const[t]=N.useAtom(Is),[e]=nn(),[,n]=N.useAtom(Tn),{clearParentHighlight:s,highlightParent:r}=eo(),[o]=Z(),i=e==null?void 0:e.contentDocument,l=g.useRef(null),c=g.useRef(0),u=g.useCallback(f=>{if(!(i!=null&&i.defaultView))return;const m=i.defaultView,h=m.innerHeight,x=m.scrollY,b=i.documentElement.scrollHeight;c.current=f;const y=f,k=h-f;let C=!1,A=null,w=0;if(y<ut.EDGE_ZONE&&x>0?(C=!0,A="up",w=y):k<ut.EDGE_ZONE&&x+h<b&&(C=!0,A="down",w=k),!C&&l.current!==null){cancelAnimationFrame(l.current),l.current=null;return}if(C&&A){const j=1-w/ut.EDGE_ZONE,I=ut.MIN_SCROLL_SPEED+(ut.MAX_SCROLL_SPEED-ut.MIN_SCROLL_SPEED)*j,S=()=>{if(!qt||!m){l.current=null;return}const E=A==="up"?-I:I;m.scrollBy(0,E);const _=m.scrollY,B=_>0,P=_+h<b,R=c.current,M=h-c.current;A==="up"&&B&&R<ut.EDGE_ZONE||A==="down"&&P&&M<ut.EDGE_ZONE?l.current=requestAnimationFrame(S):l.current=null};l.current===null&&(l.current=requestAnimationFrame(S))}},[i]);g.useEffect(()=>()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)},[]),g.useEffect(()=>{!qt&&l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)},[qt]);const p=g.useCallback(d.throttle(f=>{if(!qt||!t)return;s();const m=ap(f),{element:h,targetBlockId:x,targetParentId:b}=m;if(!h||!x)return;const y=t._id;if(y&&(x===y||wi(x,y,o)))return;const k=t._type||t.type;if(!k)return;const C=f.clientX,A=f.clientY;if(u(A),!i)return;const w=Xu(h,C,A,k,i);if(!w)return;const j=h.getAttribute("data-block-type")||"Box";let I=!1;const S=rp.includes(j);if(j==="Image"&&k==="Image"&&vi(t)){r(x),n({isVisible:!0,isValid:!0,position:w.position,placeholderOrientation:w.placeholderOrientation,isEmpty:!0,top:h.offsetTop,left:w.rect.left,width:h.clientWidth,height:h.clientHeight,targetBlockId:w.targetBlockId,targetParentId:w.targetBlockId});return}if(w.position==="inside"){if(S||y&&!Ci(y,x,o))return;I=tt(j,k)}else{let _=h.parentElement,B="Box";for(;_&&!_.hasAttribute("data-block-id");)_=_.parentElement;if(_&&(B=_.getAttribute("data-block-type")||"Box"),y&&!sp(y,x,o))return;I=tt(B,k)}if(!I)return;r(w.targetParentId);const E=w.targetParentId||b||void 0;n({isVisible:!0,isValid:!0,position:w.position,placeholderOrientation:w.placeholderOrientation,isEmpty:w.isEmpty??!1,top:w.rect.top,left:w.rect.left,width:w.rect.width,height:w.rect.height,targetBlockId:w.targetBlockId,targetParentId:E}),ip(i),w.targetElement.setAttribute("data-drop-target","true")},300),[i,t,n,s,r,o,u]);return g.useCallback(f=>{f.preventDefault(),f.stopPropagation(),p(f)},[p])};function ap(t){let e=t.target;for(;e&&!e.hasAttribute("data-block-id");)e=e.parentElement;if(!e)return{element:null,targetBlockId:null,targetBlockType:null,targetParentId:null,targetParentType:null,orientation:"vertical"};const n=e.getAttribute("data-block-id"),s=e.getAttribute("data-block-type")||"Box";let r=e.parentElement;for(;r&&!r.hasAttribute("data-block-id");)r=r.parentElement;const o=(r==null?void 0:r.getAttribute("data-block-id"))||null,i=(r==null?void 0:r.getAttribute("data-block-type"))||"Box",l=Pt(e);return{element:e,targetBlockId:n,targetBlockType:s,targetParentId:o,targetParentType:i,orientation:l}}function ip(t){if(!t)return;t.querySelectorAll("[data-drop-target]").forEach(n=>n.removeAttribute("data-drop-target"))}function lp(t){var o;const e=document.createElement("div");e.className="absolute -top-[1000px] -left-[1000px] pl-3 pr-1 py-1 bg-white/60 border border-blue-400/30 rounded shadow-md flex items-center gap-1.5 font-sans pointer-events-none z-[9999] scale-90";const n=t.type||t._type||"Box",s=document.createElement("div");s.className="w-3 h-3 flex items-center justify-center text-blue-600";try{n==="Image"?s.innerHTML='<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 0.72 0.72"><path d="M.57.12H.15a.09.09 0 0 0-.09.09v.3A.09.09 0 0 0 .15.6h.42A.09.09 0 0 0 .66.51v-.3A.09.09 0 0 0 .57.12M.15.54A.03.03 0 0 1 .12.51V.437L.219.338a.03.03 0 0 1 .042 0L.462.54ZM.6.51a.03.03 0 0 1-.03.03H.547L.433.425.459.399a.03.03 0 0 1 .042 0L.6.498Zm0-.097L.544.357a.09.09 0 0 0-.127 0L.391.383.305.297a.09.09 0 0 0-.127 0L.12.353V.21A.03.03 0 0 1 .15.18h.42A.03.03 0 0 1 .6.21Z"/></svg>':s.innerHTML=((o=document.querySelector(`[data-add-core-block-icon="${n}"]`))==null?void 0:o.outerHTML)||'<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20"><path d="M3 4a1 1 0 011-1h12a1 1 0 011 1v12a1 1 0 01-1 1H4a1 1 0 01-1-1V4z"/></svg>'}catch{s.textContent=""}const r=document.createElement("span");return r.className="text-[10px] font-medium text-blue-600 whitespace-nowrap",r.textContent=t.label||t.type||t._name||t._type||"Block",e.appendChild(s),e.appendChild(r),document.body.appendChild(e),e}function ta(t){t&&t.parentNode&&t.parentNode.removeChild(t)}const cp=()=>{const[,t]=q(),[,e]=Ae(),{clearHighlight:n}=nt(),[,s]=N.useAtom(Is),[,r]=N.useAtom(Tn),o=g.useRef(null);return g.useCallback((i,l,c=!0)=>{var p;o.current&&(ta(o.current),o.current=null);const u=c?d.pick(l,["type","blocks","partialBlockId"]):l;if(s(u),i.dataTransfer.setData("text/plain",JSON.stringify({block:u})),i.dataTransfer.effectAllowed="move",!c&&l._id){const f=(p=document.getElementById("canvas-iframe"))==null?void 0:p.contentDocument;if(f){const m=f.querySelector(`[data-block-id="${l._id}"]`);m&&setTimeout(()=>{if(m){const x=m.getBoundingClientRect().height;Pt(m==null?void 0:m.parentElement)==="vertical"&&x>200&&(m.style.height="max-content",m.style.maxHeight="max-content",m.style.minHeight="0",m.style.overflow="hidden",m.innerHTML="<div class='flex items-center justify-center w-full h-full outline-[1px] outline-dashed font-medium outline-gray-500 bg-gray-500/10 py-4 text-transparent'>-</div>",m.style.opacity="0.4"),m.style.opacity="0.4",m.setAttribute("data-dragging","true")}},0)}}if(l!=null&&l._type||l!=null&&l.type){const f=lp(l);o.current=f,i.dataTransfer.setDragImage(f,0,0),setTimeout(()=>{o.current&&(ta(o.current),o.current=null)},50)}t([]),n(),e([]),ae.publish(Y.CLOSE_ADD_BLOCK),Yr(!0),r({isVisible:!0,isValid:!0,position:"inside",placeholderOrientation:"horizontal",isEmpty:!0,top:0,left:0,width:0,height:0,targetBlockId:"canvas",targetParentId:void 0})},[t,n,s,r])},sn=()=>{const t=cp(),e=op(),n=ep(),s=Vu();return{onDragStart:t,onDragOver:e,onDrop:n,onDragEnd:s,isDragging:qt}},dp=()=>{const[t]=N.useAtom(Tn);return t},Ye=()=>{const{dragAndDrop:t}=$("flags",{dragAndDrop:!0});return t};let ji,Si;typeof document<"u"&&(ji=document);typeof window<"u"&&(Si=window);const Ni=g.createContext({document:ji,window:Si}),Xe=()=>g.useContext(Ni),{Provider:up,Consumer:v0}=Ni,pp=[{ControlIcon:v.PinTopIcon,dir:"VERTICAL",key:"UP"},{ControlIcon:v.PinBottomIcon,dir:"VERTICAL",key:"DOWN"},{ControlIcon:v.PinLeftIcon,dir:"HORIZONTAL",key:"LEFT"},{ControlIcon:v.PinRightIcon,dir:"HORIZONTAL",key:"RIGHT"}],fp=(t,e,n)=>{try{if(!t||!n)return"VERTICAL";const s=`[data-block-id='${t}']`,r=n==null?void 0:n.querySelector(s);if(r){const o=n==null?void 0:n.querySelector(`[data-block-id='${e}']`);return Pt(r,o).toUpperCase()}return"VERTICAL"}catch{return"VERTICAL"}},Ei=(t,e,n)=>!!(t&&(n==="UP"||n==="LEFT")||e&&(n==="DOWN"||n==="RIGHT")),hp=(t,e)=>{const[n]=Z(),{document:s}=Xe(),{moveBlocks:r}=Ee(),o=d.get(t,"_id"),i=d.get(t,"_parent"),l=d.filter(n,x=>i?d.get(x,"_parent")===i:!d.get(x,"_parent")),c=(l==null?void 0:l.length)<=1,u=d.findIndex(l,{_id:o}),p=u<=0,f=u+1===(l==null?void 0:l.length),m=fp(i,o,s),h=g.useCallback(x=>{Ei(p,f,x)||c||(x==="UP"||x==="LEFT"?r([o],i||void 0,u-1):(x==="DOWN"||x==="RIGHT")&&r([o],i||void 0,u+2),e())},[p,f,c,u,o,i,e]);return Je.useHotkeys("shift+up, shift+down, shift+left, shift+right",({key:x})=>{var b;h((b=x==null?void 0:x.replace("Arrow",""))==null?void 0:b.toUpperCase())},{document:s},[h]),{isOnlyChild:c,isFirstBlock:p,isLastBlock:f,moveBlock:h,orientation:m}},mp=({block:t,updateFloatingBar:e})=>{const{isOnlyChild:n,isFirstBlock:s,isLastBlock:r,moveBlock:o,orientation:i}=hp(t,e);return n?null:a.jsx(a.Fragment,{children:pp.map(({ControlIcon:l,dir:c,key:u})=>i!==c||Ei(s,r,u)?null:a.jsx(l,{onClick:()=>o(u),className:"rounded p-px hover:bg-white hover:text-blue-500"},u))})},no=()=>{const[t]=Z(),[,e]=q(),{addBlocks:n}=Ee();return g.useCallback((s,r=null)=>{const o=[];d.each(s,i=>{const l=t.find(m=>m._id===i);r?r==="root"&&(r=null):r=(l==null?void 0:l._parent)??null;const p=d.filter(t,m=>d.isString(r)?m._parent===r:!m._parent).indexOf(l)+1,f=mr(t,i,r);n(f,r??void 0,p),o.push(d.get(f,"0._id",""))}),e(o)},[t,e])},gp=N.atom(""),Ai=()=>N.useAtom(gp),_i=N.atom("");_i.debugLabel="inlineEditingActiveAtom";const Ii=N.atom(0);Ii.debugLabel="inlineEditingItemIndexAtom";const $t=()=>{const[t,e]=N.useAtom(_i),[n,s]=N.useAtom(Ii);return{editingBlockId:t,editingItemIndex:n,setEditingBlockId:e,setEditingItemIndex:s}},Ti=N.atom("outline");Ti.debugLabel="sidebarActivePanelAtom";const Bs=()=>N.useAtom(Ti),xp=({blockId:t,className:e})=>{const n=()=>{t&&ae.publish(Y.GOTO_BLOCK_SETTINGS,t)};return a.jsx(v.GearIcon,{className:e,onClick:n})},bp=N.atom(0),Bi=N.atom(0);function so(t){if(t.getAttribute("data-block-id")==="canvas")return null;if(t.getAttribute("data-block-id")||t.getAttribute("data-block-parent"))return t;const e=t.closest("[data-block-id]");return(e==null?void 0:e.getAttribute("data-block-id"))==="canvas"?null:e}const yp=["Heading","Paragraph","Text","Link","Span","Button"],kp=t=>{var e;return(t==null?void 0:t.getAttribute("data-block-type"))==="RichText"||((e=t==null?void 0:t.parentElement)==null?void 0:e.getAttribute("data-block-type"))==="RichText"},Ri=t=>t?d.some(t.children,e=>{const n=e;return n.hasAttribute("data-block-id")||Ri(n)}):!1,vp=(t,e)=>{if(kp(t))return!0;const n=t==null?void 0:t.getAttribute("data-block-type");return n?yp.includes(n):!1},wp=()=>{const{editingBlockId:t,setEditingBlockId:e,setEditingItemIndex:n}=$t();return g.useCallback(s=>{var l;if(s==null||s.preventDefault(),s==null||s.stopPropagation(),t)return;const r=so(s.target);if(!r||!vp(r)||Ri(r))return;const o=r.getAttribute("data-block-id");if(!o)return;const i=r.closest('[data-block-type="Repeater"]');i?(l=i==null?void 0:i.childNodes)==null||l.forEach((c,u)=>{c.contains(r)&&n(u)}):n(-1),e(o)},[t,e,n])},Cp=()=>{const{editingBlockId:t}=$t(),{clearHighlight:e}=nt(),[,n]=Ae(),[s]=N.useAtom(Bi);return g.useCallback(r=>{if(t)return;r.stopPropagation();const o=so(r.target);if(!o){e(),n([]),ae.publish(Y.CANVAS_BLOCK_SELECTED,[]);return}if(s!==2){if(o!=null&&o.getAttribute("data-block-id")&&(o==null?void 0:o.getAttribute("data-block-id"))==="container"){ae.publish(Y.CLEAR_CANVAS_SELECTION);return}if(o!=null&&o.getAttribute("data-block-parent")){const i=o.getAttribute("data-style-prop"),l=o.getAttribute("data-style-id"),c=o.getAttribute("data-block-parent");ae.publish(Y.CANVAS_BLOCK_STYLE_SELECTED,{blockId:c,styleId:l,styleProp:i})}else if(o!=null&&o.getAttribute("data-block-id")){const i=o.getAttribute("data-block-id");ae.publish(Y.CANVAS_BLOCK_SELECTED,i==="canvas"?[]:[i])}e()}},[t,s,e,n])},jp=()=>{const{editingBlockId:t}=$t(),{highlightBlock:e}=nt();return xe.useThrottledCallback(n=>{if(t)return;const s=so(n.target);s&&e(s)},[t,e],100)},Sp=()=>{const{clearHighlight:t}=nt();return g.useCallback(()=>t(),[t])},Np=({children:t})=>{const e=wp(),n=Cp(),s=jp(),r=Sp();return a.jsx("div",{"data-block-id":"canvas",id:"canvas",onClick:n,onDoubleClick:e,onMouseMove:s,onMouseLeave:r,className:"relative h-full max-w-full p-px",children:t})},Pi=(t,e)=>t.querySelector(`[data-block-id="${e}"]`),Ep=(t,e)=>t.querySelector(`[data-style-id="${e}"]`),Ap=()=>{const t=X(),{document:e}=Xe(),[n]=Ae(),[s,r]=g.useState([]),[,o]=g.useState([]),{onDragStart:i,onDragEnd:l,isDragging:c}=sn(),[u,p]=g.useState(null),f=Ye(),m=(h,x=0)=>{const{top:b}=h.getBoundingClientRect();return b+x>=0&&b-x<=window.innerHeight};return g.useEffect(()=>{var h;if(t!=null&&t._id&&t.type!=="Multiple"&&e){const x=Pi(e,t._id);x&&(m(x)||(h=e.defaultView)==null||h.scrollTo({top:x.offsetTop,behavior:"smooth"}),r([x]))}},[t==null?void 0:t._id,t==null?void 0:t.type,e]),g.useEffect(()=>{if(!d.isEmpty(n)&&e){const h=Ep(e,d.first(n).id);o(h?[h]:[null])}else o([null])},[n,e]),a.jsx("div",{onDragEnd:()=>{p(null),l()},draggable:f&&!!t,onDragStart:h=>{p(s==null?void 0:s[0]),i(h,t,!1)},children:t&&a.jsx(_p,{block:t,isDragging:c&&!!u,selectedBlockElement:s[0]||(c?u:null)})})},_p=({block:t,isDragging:e,selectedBlockElement:n})=>{const s=_s(),r=no(),[,o]=q(),[,i]=Ai(),[,l]=Ae(),{hasPermission:c}=We(),{editingBlockId:u}=$t(),{document:p}=Xe(),f=Ye(),m=$("flags.gotoSettings",!1),h=$("flags.ai",!1),{floatingStyles:x,refs:b,update:y}=Jo.useFloating({placement:"top-start",middleware:[Jo.shift({boundary:p==null?void 0:p.body,limiter:Xs.limitShift({offset:8,mainAxis:!0,crossAxis:!0})}),Xs.flip({boundary:p==null?void 0:p.body,fallbackPlacements:["bottom-start","top-end","bottom-end","inside"]}),Xs.size({boundary:p==null?void 0:p.body,apply({availableWidth:w,availableHeight:j,elements:I}){Object.assign(I.floating.style,{maxWidth:`${Math.max(200,w)}px`,maxHeight:`${Math.max(100,j)}px`})}})],elements:{reference:n}});xe.useResizeObserver(n,()=>y(),n!==null),xe.useResizeObserver(p==null?void 0:p.body,()=>y(),(p==null?void 0:p.body)!==null);const k=d.get(t,"_parent",null),C=d.isEmpty(d.get(t,"_name",""))?d.get(t,"_type",""):d.get(t,"_name","");g.useEffect(()=>{let w=null;return n?(w=setTimeout(()=>y(),500),()=>{w&&clearTimeout(w)}):(y(),()=>{w&&clearTimeout(w)})},[n,t==null?void 0:t._id]);const[,A]=Bs();return!e&&(!n||!t||u)?null:a.jsx(a.Fragment,{children:a.jsx("div",{role:"button",tabIndex:0,ref:b.setFloating,style:x,onClick:w=>{w.stopPropagation(),w.preventDefault()},onMouseEnter:w=>{w.stopPropagation(),i(null)},onKeyDown:w=>w.stopPropagation(),className:`isolate z-[999] flex h-6 items-center justify-between bg-blue-500 py-2 text-xs text-white ${e?"opacity-0":""}`,children:a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center",children:[f&&a.jsx(v.DragHandleDots2Icon,{className:"flex-shrink-0 cursor-grab rounded p-0.5 hover:bg-white/20 active:cursor-grabbing"}),k&&a.jsx(v.ArrowUpIcon,{className:"flex-shrink-0 rounded p-0.5 hover:bg-white/20",onClick:()=>{l([]),o([k])}})]}),a.jsx("div",{className:`w-full ${f?"cursor-grab active:cursor-grabbing":""}`,children:a.jsx("div",{className:"mr-10 w-full items-center space-x-1 px-1 leading-tight",children:C})}),a.jsxs("div",{className:"flex items-center gap-1 pl-1 pr-1.5",children:[c(Q.ADD_BLOCK)&&h&&a.jsx(Br,{className:"h-4 w-4 rounded hover:bg-white hover:text-blue-500",onClick:()=>{A("chai-chat-panel"),ae.publish(Y.OPEN_AI_PANEL)}}),m&&a.jsx(xp,{blockId:t==null?void 0:t._id,className:"h-4 w-4 rounded p-px hover:bg-white hover:text-blue-500"}),!f&&a.jsx(_u,{block:t,children:a.jsx(v.PlusIcon,{className:"h-4 w-4 rounded p-px hover:bg-white hover:text-blue-500"})}),Lr(d.get(t,"_type",""))&&c(Q.ADD_BLOCK)?a.jsx(v.CopyIcon,{className:"h-4 w-4 rounded p-px hover:bg-white hover:text-blue-500",onClick:()=>r([t==null?void 0:t._id])}):null,Dr(d.get(t,"_type",""))&&c(Q.DELETE_BLOCK)?a.jsx(v.TrashIcon,{className:"h-4 w-4 rounded p-px hover:bg-white hover:text-blue-500",onClick:()=>s([t==null?void 0:t._id])}):null,c(Q.MOVE_BLOCK)&&a.jsx(mp,{block:t,updateFloatingBar:y})]})]})})})},Li=`<!doctype html>
1
+ "use strict";var Zc=Object.defineProperty;var Qc=(t,e,n)=>e in t?Zc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var vt=(t,e,n)=>Qc(t,typeof e!="symbol"?e+"":e,n);const a=require("react/jsx-runtime"),T=require("./register-chai-top-bar-DyW9GPzV.cjs"),d=require("lodash-es"),ed=require("@radix-ui/react-dropdown-menu"),v=require("@radix-ui/react-icons"),g=require("react"),K=require("./core-czmLeR0h.cjs"),N=require("jotai"),U=require("./STRINGS-FNnfjF5H.cjs"),Yo=require("@rjsf/utils"),pe=require("./common-functions-B3a4xKt_.cjs"),Oe=require("jotai/utils"),xe=require("@react-hookz/web"),td=require("tree-model"),nd=require("undo-manager"),z=require("react-i18next"),sd=require("@radix-ui/react-dialog"),se=require("./apply-binding-CBSjMYSk.cjs"),_r=require("class-variance-authority"),rd=require("@radix-ui/react-tooltip"),$e=require("cmdk"),od=require("@radix-ui/react-popover"),ft=require("i18next"),ad=require("@tiptap/extension-text-style"),id=require("@tiptap/extension-highlight"),ld=require("@tiptap/extension-link"),cd=require("@tiptap/extension-placeholder"),dd=require("@tiptap/extension-text-align"),ud=require("@tiptap/extension-underline"),as=require("@tiptap/react"),pd=require("@tiptap/starter-kit"),Va=require("clsx"),Wa=require("tailwind-merge"),Qe=require("./plugin-DHpuZZXz.cjs"),fd=require("react-colorful"),fr=require("react-dom"),hd=require("@rjsf/core"),md=require("@rjsf/validator-ajv8"),gd=require("@radix-ui/react-switch"),xd=require("@radix-ui/react-accordion"),Ga=require("fuse.js"),bd=require("@radix-ui/react-hover-card"),yd=require("@radix-ui/react-label"),kd=require("react-autosuggest"),ue=require("sonner"),vd=require("@radix-ui/react-scroll-area"),wd=require("@radix-ui/react-tabs"),Cd=require("@radix-ui/react-select"),jd=require("@radix-ui/react-alert-dialog"),Sd=require("react-arborist"),Nd=require("@radix-ui/react-separator"),Ed=require("@radix-ui/react-slider"),Tr=require("./fonts-D5fTqvSS.cjs");require("nanoid");const Xo=require("himalaya");require("@mhsdesign/jit-browser-tailwindcss");const Ad=require("@tailwindcss/aspect-ratio"),Id=require("@tailwindcss/container-queries"),_d=require("@tailwindcss/forms"),Td=require("@tailwindcss/typography"),Je=require("react-hotkeys-hook"),Bd=require("./get-chai-builder-tailwind-config-7CxFxEYL.cjs"),Et=require("react-error-boundary"),Gn=require("framer-motion"),Ua=require("lucide-react"),Xs=require("@floating-ui/dom"),Jo=require("@floating-ui/react-dom"),Rd=require("react-wrap-balancer");function Re(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const ke=Re(ed),O=Re(g),ce=Re(sd),Jt=Re(rd),wn=Re(od),hr=Re(gd),Bt=Re(xd),ws=Re(bd),qa=Re(yd),At=Re(vd),Mt=Re(wd),ye=Re(Cd),Pe=Re(jd),Ka=Re(Nd),pn=Re(Ed);function Rt({className:t,...e}){return a.jsx("div",{className:T.cn("animate-pulse rounded-md bg-primary/10",t),...e})}const Br=({className:t="h-full w-full",onClick:e=d.noop})=>a.jsx("svg",{className:t,viewBox:"0 0 256 256",fill:"currentColor",onClick:e,children:a.jsx("path",{d:"m198.39 128.986-52.16-19.216-19.216-52.16a16 16 0 0 0-30.028 0L77.77 109.77l-52.16 19.216a16 16 0 0 0 0 30.028l52.16 19.216 19.216 52.16a16 16 0 0 0 30.028 0l19.216-52.16 52.16-19.216a16 16 0 0 0 0-30.028m-57.69 34.23a15.97 15.97 0 0 0-9.483 9.483l-19.22 52.152-19.214-52.15a15.97 15.97 0 0 0-9.482-9.484l-52.152-19.22 52.15-19.214a15.97 15.97 0 0 0 9.484-9.482l19.22-52.152 19.214 52.15a15.97 15.97 0 0 0 9.482 9.484l52.152 19.22ZM144 40a8 8 0 0 1 8-8h16V16a8 8 0 0 1 16 0v16h16a8 8 0 0 1 0 16h-16v16a8 8 0 0 1-16 0V48h-16a8 8 0 0 1-8-8m104 48a8 8 0 0 1-8 8h-8v8a8 8 0 0 1-16 0v-8h-8a8 8 0 0 1 0-16h8v-8a8 8 0 0 1 16 0v8h8a8 8 0 0 1 8 8"})}),mt=ke.Root,gt=ke.Trigger,Pd=O.forwardRef(({className:t,inset:e,children:n,...s},r)=>a.jsxs(ke.SubTrigger,{ref:r,className:T.cn("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e&&"pl-8",t),...s,children:[n,a.jsx(v.ChevronRightIcon,{className:"ml-auto h-4 w-4"})]}));Pd.displayName=ke.SubTrigger.displayName;const Ld=O.forwardRef(({className:t,...e},n)=>a.jsx(ke.SubContent,{ref:n,className:T.cn("z-50 min-w-[8rem] origin-[--radix-dropdown-menu-content-transform-origin] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...e}));Ld.displayName=ke.SubContent.displayName;const et=O.forwardRef(({className:t,sideOffset:e=4,...n},s)=>a.jsx(ke.Portal,{children:a.jsx(ke.Content,{ref:s,sideOffset:e,className:T.cn("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","origin-[--radix-dropdown-menu-content-transform-origin] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...n})}));et.displayName=ke.Content.displayName;const ge=O.forwardRef(({className:t,inset:e,...n},s)=>a.jsx(ke.Item,{ref:s,className:T.cn("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",e&&"pl-8",t),...n}));ge.displayName=ke.Item.displayName;const Ya=O.forwardRef(({className:t,children:e,checked:n,...s},r)=>a.jsxs(ke.CheckboxItem,{ref:r,className:T.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:n,...s,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(ke.ItemIndicator,{children:a.jsx(v.CheckIcon,{className:"h-4 w-4"})})}),e]}));Ya.displayName=ke.CheckboxItem.displayName;const Dd=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(ke.RadioItem,{ref:s,className:T.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(ke.ItemIndicator,{children:a.jsx(v.CircleIcon,{className:"h-2 w-2 fill-current"})})}),e]}));Dd.displayName=ke.RadioItem.displayName;const Rr=O.forwardRef(({className:t,inset:e,...n},s)=>a.jsx(ke.Label,{ref:s,className:T.cn("px-2 py-1.5 text-sm font-semibold",e&&"pl-8",t),...n}));Rr.displayName=ke.Label.displayName;const Pr=O.forwardRef(({className:t,...e},n)=>a.jsx(ke.Separator,{ref:n,className:T.cn("-mx-1 my-1 h-px bg-muted",t),...e}));Pr.displayName=ke.Separator.displayName;const Y={OPEN_ADD_BLOCK:"OPEN_ADD_BLOCK",CLOSE_ADD_BLOCK:"CLOSE_ADD_BLOCK",GOTO_BLOCK_SETTINGS:"GOTO_BLOCK_SETTINGS",OPEN_AI_PANEL:"OPEN_AI_PANEL",CLEAR_CANVAS_SELECTION:"CLEAR_CANVAS_SELECTION",CANVAS_BLOCK_SELECTED:"CANVAS_BLOCK_SELECTED",CANVAS_BLOCK_STYLE_SELECTED:"CANVAS_BLOCK_STYLE_SELECTED",OPEN_EXPORT_CODE:"OPEN_EXPORT_CODE"},tt=(t,e)=>{if(!t)return!0;const n=K.getRegisteredChaiBlock(t);return n&&n.canAcceptBlock?n.canAcceptBlock(e):!1},is=t=>{const e=K.getRegisteredChaiBlock(t);return e?d.has(e,"canAcceptBlock"):!1},Md=(t,e)=>{const n=K.getRegisteredChaiBlock(e);return n&&n.canBeNested?n.canBeNested(t):!0},Lr=t=>{const e=K.getRegisteredChaiBlock(t);return e&&e.canDuplicate?e.canDuplicate():!0},Dr=t=>{const e=K.getRegisteredChaiBlock(t);return e&&e.canDelete?e.canDelete():!0};class Od{constructor(){vt(this,"subscribers",new Map)}subscribe(e,n){return this.subscribers.has(e)||this.subscribers.set(e,new Set),this.subscribers.get(e).add(n),()=>{const s=this.subscribers.get(e);s&&(s.delete(n),s.size===0&&this.subscribers.delete(e))}}publish(e,n){const s=this.subscribers.get(e);s&&s.forEach(r=>r(n))}}const ae=new Od;function Xa(t,e,n){const s=d.filter(t,o=>o._parent===e),r=[];for(let o=0;o<s.length;o++)if(d.filter(t,{_parent:s[o]._id}).length>0){const i=pe.generateUUID();r.push({...s[o],oldId:s[o]._id,_id:i,_parent:n}),r.push(d.flatten(Xa(t,s[o]._id,i)))}else r.push({...s[o],oldId:s[o]._id,_id:pe.generateUUID(),_parent:n});return d.flatten(r)}function Mr(t){const e={};t.forEach(s=>{e[s._id]={...s,children:[]}});const n=[];return t.forEach(s=>{if(s._parent){const r=e[s._parent];r&&r.children.push(e[s._id])}else n.push(e[s._id])}),n}const mr=(t,e,n=null)=>{let s=d.find(t,{_id:e});s={...s,oldId:s._id,_id:pe.generateUUID()},n!==(s==null?void 0:s._parent)&&(s={...s,_parent:n});const r=[s];return d.filter(t,{_parent:e}).length>0&&r.push(d.flatten(Xa(t,e,s._id))),d.flatten(r)},Ne=N.atom([]);Ne.debugLabel="presentBlocksAtom";const Ja=N.atom(t=>{const e=t(Ne);return Mr([...e])});Ja.debugLabel="treeDSBlocks";const In=Oe.splitAtom(Ne);In.debugLabel="pageBlocksAtomsAtom";const $d=N.atom("");$d.debugLabel="builderActivePageAtom";const Fd=N.atom(-1);Fd.debugLabel="destinationDropIndexAtom";const Za=N.atom([]);Za.debugLabel="buildingBlocksAtom";const zd=N.atom(t=>{const e=t(Za);return d.filter(e,n=>d.has(n,"blockId"))});zd.debugLabel="globalBlocksAtom";const Qt=N.atom([]);Qt.debugLabel="structureErrorsAtom";const Or=N.atom(!0);Or.debugLabel="structureValidationValidAtom";const $r=N.atom(!1);$r.debugLabel="hasStructureErrorsAtom";const Fr=N.atom(!1);Fr.debugLabel="hasStructureWarningsAtom";const Qa=N.atom(t=>t(Qt).filter(n=>n.severity==="error").length);Qa.debugLabel="structureErrorCountAtom";const ei=N.atom(t=>t(Qt).filter(n=>n.severity==="warning").length);ei.debugLabel="structureWarningCountAtom";const ti=N.atom(t=>{const e=t(Qt),n={};return e.forEach(s=>{s.blockId&&(n[s.blockId]||(n[s.blockId]=[]),n[s.blockId].push(s))}),n});ti.debugLabel="structureErrorsByBlockAtom";const ze=N.getDefaultStore(),Hd=()=>ze.get(Ne),$=(t,e)=>{const n=N.useAtomValue(Gr);return g.useMemo(()=>d.get(n,t,e),[n,t,e])},ni=N.atom("");ni.debugLabel="selectedLanguageAtom";const Te=()=>{const t=$("languages",[]),e=$("fallbackLang","en"),[n,s]=N.useAtom(ni),r=o=>{s(e===o?"":o)};return{languages:t==null?void 0:t.filter(o=>o!==e),fallbackLang:e,selectedLang:n,setSelectedLang:r}},Cs=N.atom([]);Cs.debugLabel="selectedBlockIdsAtom";const zr=N.atom(t=>{const e=t(Ne),n=t(Cs);return d.map(d.filter(e,({_id:s})=>d.includes(n,s)),s=>({...s}))});zr.debugLabel="selectedBlocksAtom";const js=N.atom(t=>{const e=t(zr);if(e.length!==0&&e.length===1)return e[0]});js.debugLabel="selectedBlockAtom";const X=()=>N.useAtomValue(js),Vd=t=>d.get(t,"_parent",null),Wd=N.atom(t=>{const e=t(zr),n=d.map(e,Vd);return d.filter(t(Ne),s=>d.includes(n,s._id))});Wd.debugLabel="selectedBlocksParentsAtom";const si=N.atom(()=>!1);si.debugLabel="selectedBlockFlexChildAtom";const ri=N.atom(()=>!1);ri.debugLabel="selectedBlockGridChildAtom";const Hr=N.atom("");Hr.debugLabel="styleStateAtom";const oi=Oe.atomWithStorage("styleBreakpoint","xs");oi.debugLabel="styleBreakpointAtom";const Gd=()=>({flexChild:N.useAtomValue(si),gridChild:N.useAtomValue(ri)}),Ud=N.atom(t=>{const e=t(js),n=t(Ne);let s=e;const r=[e];do{const o=n.find(({_id:i})=>i===(s==null?void 0:s._parent));s=o,o&&r.push(o)}while(s!=null&&s._parent);return r}),qd=()=>d.compact(N.useAtomValue(Ud)),q=()=>{const[t,e]=N.useAtom(Cs),n=g.useCallback(s=>{e(r=>d.includes(r,s)?d.without(r,s):[...r,s])},[e]);return[t,e,n]},ai=(t,e,n)=>{const s=K.getRegisteredChaiBlock(d.get(n,"_type",""));if(!s)return t;const r={...t};return d.forEach(d.keys(t),o=>{if(d.includes(d.get(s,"i18nProps",[]),o)&&!d.isEmpty(e)){const i=`${o}-${e}`;d.set(r,i,t[o]),d.unset(r,o)}}),r},Ke=()=>{const{updateBlocks:t}=Ee(),{selectedLang:e}=Te(),n=X();return g.useCallback((s,r,o)=>{const i=ai(r,e,n);t(s,i,o)},[e,n,t])},Kd=()=>{const{updateMultipleBlocksProps:t}=Ee();return g.useCallback(e=>{t(e)},[t])},Yd=()=>{const{updateBlocksRuntime:t}=Ee();return g.useCallback(async(e,n,s=30)=>{const r=d.keys(d.omit(n,["_id"]));for(const o of r){const i=n[o];if(d.isString(i)){const l=d.chunk(i.split(""),12);let c="";t([e],{[o]:""});for(let u=0;u<l.length;u++)c+=l[u].join(""),t([e],{[o]:c}),await new Promise(p=>setTimeout(p,s))}}},[t])},ii=()=>{const{updateMultipleBlocksProps:t}=Ee(),e=Yd();return g.useCallback(async n=>{for(const s of n)await e(s._id,s);t(n)},[e,t])},Vr=()=>{const{updateBlocksRuntime:t}=Ee(),{selectedLang:e}=Te(),n=X();return g.useCallback((s,r)=>{const o=ai(r,e,n);t(s,o)},[e,n,t])},Wr=N.atom({});Wr.debugLabel="blockRepeaterDataAtom";const li=()=>N.useAtom(Wr),Xd=(t,e,n,s)=>{const[r,o]=g.useState({status:"idle",props:{},error:void 0}),i=Vr(),l=$("getBlockAsyncProps",async h=>({})),c=N.useSetAtom(Wr),u=JSON.stringify([t==null?void 0:t._id,...d.values(d.pick(t,n??[]))]),p=(t==null?void 0:t._type)==="Repeater"&&d.startsWith(t.repeaterItems,`{{${U.COLLECTION_PREFIX}`),f=(t==null?void 0:t._type)!=="Repeater"&&e==="live";return g.useEffect(()=>{if(e==="mock"){if(d.isFunction(s)){o(x=>({...x,status:"loading",props:{}}));const h=s({block:t});if(!Yo.isObject(h))throw new Error("mockDataProvider should return an object");o(x=>({...x,status:"loaded",props:h}))}return}e==="live"&&(!p&&!f||(o(h=>({...h,status:"loading",props:{}})),l({block:t}).then((h={})=>{p?(c(x=>({...x,[t._id]:{status:"loaded",props:d.get(h,"items",[]),repeaterItems:t.repeaterItems}})),o(x=>({...x,status:"loaded",props:{totalItems:d.get(h,"totalItems")}})),i([t._id],{totalItems:d.get(h,"totalItems")})):o(x=>({...x,status:"loaded",props:Yo.isObject(h)?h:{}}))}).catch(h=>{p?(c(x=>({...x,[t._id]:{status:"error",error:h,props:[]}})),o(x=>({...x,status:"error",error:h,props:{}}))):o(x=>({...x,status:"error",error:h,props:{}}))})))},[t==null?void 0:t._id,u,p,f,s,e]),{$loading:d.get(r,"status")==="loading",...t?d.get(r,"props",{}):{}}},Gr=N.atom(null);Gr.debugLabel="chaiBuilderPropsAtom";const Jd=N.atom({});Jd.debugLabel="chaiExternalDataAtom";const Zd=N.atom({});Zd.debugLabel="chaiRjsfFieldsAtom";const Qd=N.atom({});Qd.debugLabel="chaiRjsfWidgetsAtom";const eu=N.atom({});eu.debugLabel="chaiRjsfTemplatesAtom";const Ur=N.atom({});Ur.debugLabel="chaiPageExternalDataAtom";const en=N.atom({});en.debugLabel="chaiDesignTokensAtom";const Ot=()=>{const[t]=li(),e=g.useMemo(()=>{const s={};return Object.entries(t).forEach(([r,o])=>{o.status==="loaded"&&o.repeaterItems&&(s[o.repeaterItems.replace("}}",`/${r}`).replace("{{","")]=o.props)}),s},[t]);return{...N.useAtomValue(Ur),...e}},Ss=N.atom(0),ci=N.atom({isOpen:!1,blockId:null}),tu=[{name:"no-nested-div-in-p",description:"Prevents div elements from being nested inside paragraph elements",validate:(t,e)=>{const n=[],s=(r,o=!1)=>{r.forEach(i=>{const l=i._type==="Paragraph";i._type==="Box"&&o&&n.push({id:`div-in-paragraph-${i._id}`,message:"Box (div) cannot be nested inside Paragraph elements",severity:"error",blockId:i._id}),i.children&&i.children.length>0&&s(i.children,l)})};return s(e),n}},{name:"no-interactive-nesting",description:"Prevents interactive elements (links, buttons with href) from being nested inside other interactive elements",validate:(t,e)=>{const n=[],s=(o,i=!1,l=[])=>{o.forEach(c=>{const u=[...l,c._id],p=c._type==="Link",f=c._type==="Button"&&c.link&&c.link.href&&c.link.href.trim()!=="",m=p||f;if(m&&i){const h=p?"Link":"Button with href";n.push({id:`nested-interactive-tree-${c._id}`,message:`${h} cannot be nested inside another interactive element (link or button with href)`,severity:"error",blockId:c._id})}c.children&&c.children.length>0&&s(c.children,m,u)})},r=o=>{o.filter(l=>l._type==="Link"||l._type==="Button"&&l.link&&l.link.href&&l.link.href.trim()!=="").forEach(l=>{if(l._parent){const c=o.find(m=>m._id===l._parent),u=c&&c._type==="Link",p=c&&c._type==="Button"&&c.link&&c.link.href&&c.link.href.trim()!=="";if(u||p){const m=l._type==="Link"?"Link":"Button with href",h=u?"Link":"Button with href";n.push({id:`nested-interactive-parent-${l._id}`,message:`${m} cannot be nested inside ${h}`,severity:"error",blockId:l._id})}let f=c;for(;f&&f._parent;){const m=o.find(h=>h._id===f._parent);if(m){const h=m._type==="Link",x=m._type==="Button"&&m.link&&m.link.href&&m.link.href.trim()!=="";if(h||x){const b=l._type==="Link"?"Link":"Button with href",y=h?"Link":"Button with href";n.push({id:`nested-interactive-ancestor-${l._id}`,message:`${b} cannot be nested inside ${y}`,severity:"error",blockId:l._id});break}}f=m}}})};return s(e),r(t),n}},{name:"listitem-in-list",description:"Ensures ListItems are only inside List containers",validate:(t,e)=>{const n=[],s=(r,o=null)=>{r.forEach(i=>{i._type==="ListItem"&&o!=="List"&&n.push({id:`listitem-outside-list-${i._id}`,message:"List Item must be inside a List container",severity:"error",blockId:i._id}),i.children&&i.children.length>0&&s(i.children,i._type)})};return s(e),n}},{name:"table-cell-structure",description:"Validates proper table hierarchy (TableCell -> TableRow -> TableHead/Body -> Table)",validate:(t,e)=>{const n=[],s=(r,o=[])=>{r.forEach(i=>{const l=[...o,i._type];if(i._type==="TableCell"){const c=l.includes("TableRow"),u=l.includes("TableHead")||l.includes("TableBody"),p=l.includes("Table");(!c||!u||!p)&&n.push({id:`table-cell-structure-${i._id}`,message:"Table Cell must be inside a Table Row, which must be inside Table Head/Body, which must be inside a Table",severity:"error",blockId:i._id})}i._type==="TableRow"&&!l.slice(0,-1).includes("Table")&&n.push({id:`table-row-outside-table-${i._id}`,message:"Table Row must be inside a Table (Table Head or Table Body)",severity:"error",blockId:i._id}),(i._type==="TableHead"||i._type==="TableBody")&&!l.slice(0,-1).includes("Table")&&n.push({id:`table-section-outside-table-${i._id}`,message:"Table Head/Body must be inside a Table",severity:"error",blockId:i._id}),i.children&&i.children.length>0&&s(i.children,l)})};return s(e),n}},{name:"no-nested-buttons",description:"Prevents buttons from being nested inside other buttons",validate:(t,e)=>{const n=[],s=(r,o=!1)=>{r.forEach(i=>{const l=i._type==="Button";l&&o&&n.push({id:`nested-button-${i._id}`,message:"Button cannot be nested inside another button",severity:"error",blockId:i._id}),i.children&&i.children.length>0&&s(i.children,l)})};return s(e),n}},{name:"no-nested-paragraphs",description:"Prevents paragraph elements from being nested inside other paragraph elements at any level",validate:(t,e)=>{const n=[],s=(r,o=[])=>{r.forEach(i=>{const l=i._type==="Paragraph";if(l&&o.length>0&&n.push({id:`nested-paragraph-${i._id}`,message:"Paragraph cannot be nested inside another paragraph",severity:"error",blockId:i._id}),i.children&&i.children.length>0){const c=l?[...o,i._id]:o;s(i.children,c)}})};return s(e),n}},{name:"heading-structure",description:"Checks for proper heading hierarchy and warns about skipped levels",validate:(t,e)=>{const n=[],s=[],r=(o,i=[])=>{o.forEach(l=>{if(l._type==="Heading"){const c=l.tag||"h2",u=parseInt(c.replace("h",""))||2;s.push({level:u,blockId:l._id,path:[...i,l._id]})}l.children&&l.children.length>0&&r(l.children,[...i,l._id])})};r(e);for(let o=1;o<s.length;o++){const i=s[o],l=s[o-1];i.level>l.level+1&&n.push({id:`heading-level-skip-${i.blockId}`,message:`Heading level skipped: h${l.level} followed by h${i.level}. Consider using h${l.level+1}`,severity:"warning",blockId:i.blockId})}return n}}],nu=[{name:"image-alt-text",description:"Warns if images are missing alt text",validate:(t,e)=>{const n=[],s=r=>{r.forEach(o=>{o._type==="Image"&&!o.alt&&n.push({id:`image-missing-alt-${o._id}`,message:"Image should have alt text for accessibility",severity:"warning",blockId:o._id}),o.children&&o.children.length>0&&s(o.children)})};return s(e),n}},{name:"button-accessibility",description:"Ensures buttons have accessible labels",validate:(t,e)=>{const n=[],s=r=>{r.forEach(o=>{o._type==="Button"&&(o.content||o.children&&o.children.length>0||n.push({id:`button-no-label-${o._id}`,message:"Button should have accessible content (text or icon)",severity:"warning",blockId:o._id})),o.children&&o.children.length>0&&s(o.children)})};return s(e),n}}];class su{constructor(){vt(this,"rules",[...tu])}addRule(e){this.rules.push(e)}removeRule(e){const n=this.rules.findIndex(s=>s.name===e);return n>-1?(this.rules.splice(n,1),!0):!1}getRules(){return[...this.rules]}enableAccessibilityRules(){this.rules.push(...nu)}getRuleNames(){return this.rules.map(e=>e.name)}}const Js=new su,qr=(t={})=>{const e=$("flags.validateStructure",!0),n=N.useSetAtom(Qt),s=N.useSetAtom(Or),r=N.useSetAtom($r),o=N.useSetAtom(Fr),i=g.useCallback(c=>{const u=c;if(!e||!u||u.length===0)return;const p=Mr(u),f=[];let m=Js.getRules();t.enableAccessibilityRules&&(Js.enableAccessibilityRules(),m=Js.getRules()),t.customRules&&t.customRules.length>0&&m.push(...t.customRules),m.forEach(y=>{try{const k=y.validate(u,p);f.push(...k)}catch(k){console.error(`Error running structure rule "${y.name}":`,k)}});const h=f.filter(y=>y.severity==="error").length>0,x=f.filter(y=>y.severity==="warning").length>0,b=!h;n(f),s(b),r(h),o(x)},[e,t,n,s,r,o]);return xe.useDebouncedCallback(i,[e,t,n,s,r,o],1e3)},ru=["hover","focus","focus-within","focus-visible","active","visited","target","first","last","only","odd","even","first-of-type","last-of-type","only-of-type","empty","disabled","checked","indeterminate","default","required","valid","invalid","in-range","out-of-range","placeholder-shown","autofill","read-only","open","before","after","first-letter","first-line","marker","selection","file","placeholder","hs-collapse-open","hs-accordion-active"],gr={bodyFont:"Arial",headingFont:"Arial",roundedCorners:5,primaryColor:"#570df8",secondaryColor:"#f002b8",bodyBgDarkColor:"#031022",bodyBgLightColor:"#fcfcfc",bodyTextDarkColor:"#ffffff",bodyTextLightColor:"#000000"},ou=N.atom(gr);N.atom(null);const au=()=>{const[t,e]=N.useAtom(ou);return[d.isObject(t)?{...gr,...t}:gr,e]},iu=N.atom(null),lu=()=>({currentPage:N.useAtomValue(iu)}),cu=d.memoize(t=>{const e=K.getRegisteredChaiBlock(t),n=d.get(e,"schema.properties",{});return d.compact(Object.keys(n).map(s=>d.get(n[s],"builderProp",!1)||d.get(n[s],"runtime",!1)?s:null))}),du=()=>{const[t]=au(),{currentPage:e}=lu(),[n]=Z();return g.useCallback(()=>{const s=d.map(n,r=>d.omit(r,cu(r._type)));return{currentPage:e,blocks:s}},[t,e,n])},di=N.atom(!1),uu=()=>N.useAtom(di),We=()=>{const t=$("permissions",null);return{hasPermission:g.useCallback(n=>t?t.includes(n):!0,[t])}},Ns=N.atom({}),pu=N.atom({}),ui=t=>d.filter(t.map(e=>e._type==="PartialBlock"||e._type==="GlobalBlock"?d.get(e,"partialBlockId",d.get(e,"globalBlock","")):null),Boolean);function pi(t,e,n,s=new Set){if(t===e)return!0;if(s.has(e))return!1;s.add(e);const r=n[e]||[];for(const o of r)if(o===t||pi(t,o,n,s))return!0;return!1}function xr(t,e,n=new Set){if(n.has(t))return 0;n.add(t);const s=e[t]||[];return s.length===0?1:1+Math.max(...s.map(r=>xr(r,e,new Set(n))))}const ls=4,fu=()=>{const[t]=N.useAtom(Ns);return g.useMemo(()=>{const e={};return Object.entries(t).forEach(([n,s])=>{e[n]=s.dependencies}),e},[t])},fi=()=>{const t=$("pageId",""),e=fu();return g.useCallback(n=>{if(!t)return{canAdd:!0};if(t===n)return{canAdd:!1,reason:"Cannot add a partial inside itself"};if(pi(t,n,e))return{canAdd:!1,reason:"Adding this partial would create a circular reference"};const s=xr(t,e),r=xr(n,e);return Math.max(s,1+r)>ls?{canAdd:!1,reason:`Maximum nesting depth (${ls} levels) would be exceeded`}:{canAdd:!0}},[t,e])},hi=()=>{const[t,e]=g.useState(!1),[n,s]=g.useState(null),[r,o]=N.useAtom(pu),i=$("getPartialBlocks",async()=>({})),l=g.useCallback(async()=>{e(!0),s(null);try{const c=await i();o(c),e(!1)}catch(c){s(c instanceof Error?c.message:"Failed to fetch partial blocks"),e(!1)}},[i,o]);return g.useEffect(()=>{l()},[]),{data:r,isLoading:t,refetch:l,error:n}},Es=()=>{const[t,e]=N.useAtom(Ns),n=g.useCallback(r=>d.get(t,`${r}.blocks`,[]),[t]),s=g.useCallback(()=>e({}),[e]);return{getPartialBlocks:n,reset:s}},hu=()=>{const[t]=Z(),[e,n]=N.useAtom(Ns),s=$("getPartialBlockBlocks",async c=>[]),r=g.useRef(new Set),o=g.useMemo(()=>t.filter(c=>c._type==="PartialBlock"||c._type==="GlobalBlock").map(c=>d.get(c,"partialBlockId",d.get(c,"globalBlock",""))).filter(Boolean),[t]),i=g.useMemo(()=>{const c=[];return Object.values(e).forEach(u=>{u.status==="loaded"&&c.push(...u.dependencies)}),c},[e]),l=g.useMemo(()=>[...new Set([...o,...i])],[o,i]);g.useEffect(()=>{const c=l.filter(u=>{const p=e[u],f=r.current.has(u);return(!p||p.status==="idle")&&!f});c.length!==0&&(c.forEach(u=>r.current.add(u)),n(u=>{const p={};return c.forEach(f=>{p[f]={blocks:[],dependencies:[],status:"loading"}}),{...u,...p}}),Promise.all(c.map(async u=>{try{const p=await s(u),f=ui(p);n(m=>({...m,[u]:{blocks:p,dependencies:f,status:"loaded"}}))}catch(p){n(f=>({...f,[u]:{blocks:[],dependencies:[],status:"error",error:p instanceof Error?p.message:"Failed to fetch"}}))}finally{r.current.delete(u)}})))},[l,e,n,s])},As=N.atom("SAVED");As.debugLabel="builderSaveStateAtom";const mu=(t,e)=>e?t.some(n=>{if(!(n!=null&&n._type)||n._type==="PartialBlock")return!1;try{const s=K.getRegisteredChaiBlock(n._type);return s?(d.has(s,"i18nProps")?s.i18nProps??[]:[]).some(o=>{const i=`${o}-${e}`;return!n[i]||d.isEmpty(n[i])}):!1}catch(s){return console.warn(`Failed to get block definition for type: ${n._type}`,s),!1}}):!1,tn=()=>{const[t,e]=N.useAtom(As),n=$("onSave",async A=>{}),s=$("onSaveStateChange",d.noop),r=du(),{hasPermission:o}=We(),{selectedLang:i,fallbackLang:l}=Te(),[c]=uu(),u=N.useAtomValue(Ns),p=qr(),[,f]=N.useAtom(Ss),m=()=>{const A=r();return!i||i===l?!1:mu(A.blocks||[],i)},h=g.useCallback(A=>{const w=new Set,j=ui(A);for(;j.length>0;){const _=j.shift();if(w.has(_))continue;w.add(_);const S=u[_];(S==null?void 0:S.status)==="loaded"&&S.dependencies.length>0&&j.push(...S.dependencies)}return[...w]},[u]),x=g.useCallback(A=>{const w=JSON.stringify(A),j=/pageType:[^:]+:([a-f0-9-]{36})/gi,_=[];let S;for(;(S=j.exec(w))!==null;)S[1]&&_.push(S[1]);return d.compact([...new Set(_)])},[]),b=g.useCallback(A=>{const w=/dt#[^ "]+/g,j={};for(const _ of A){const S=JSON.stringify(_);let E;for(;(E=w.exec(S))!==null;)if(E[0]){const I=E[0];j[I]||(j[I]={}),j[I][_._id]=_._name||_._type}}return j},[]),y=g.useCallback(A=>!A&&(!o("save_page")||!c)||!A&&t==="SAVED",[o,c,t]);return{savePage:xe.useThrottledCallback(async(A=!1,w=!1)=>{if(y(w))return;const j=r();return j!=null&&j.blocks&&p(j.blocks),e("SAVING"),s("SAVING"),f(0),await n({autoSave:A,blocks:j.blocks,needTranslations:m(),partialIds:h(j.blocks||[]),linkPageIds:x(j.blocks||[]),designTokens:b(j.blocks||[])}),setTimeout(()=>{e("SAVED"),s("SAVED")},100),!0},[y,r,e,f,n,s,c,p,h,x,b],3e3),savePageAsync:async(A=!1)=>{if(y(A))return;e("SAVING"),s("SAVING");const w=r();return f(0),await n({autoSave:!0,blocks:w.blocks,needTranslations:m(),partialIds:h(w.blocks||[]),linkPageIds:x(w.blocks||[]),designTokens:b(w.blocks||[])}),setTimeout(()=>{e("SAVED"),s("SAVED")},100),!0},saveState:t,setSaveState:e,needTranslations:m}},gu=()=>{const{savePage:t,saveState:e}=tn(),n=$("autoSave",!0),s=$("autoSaveActionsCount",10),[r]=N.useAtom(Ss);g.useEffect(()=>{n&&(e==="SAVED"||e==="SAVING"||r>=s&&t(!0))},[n,t,e,r,s])},mi=()=>{const[,t]=N.useAtom(Ss),{setSaveState:e}=tn();return g.useCallback(()=>{t(n=>n+1),e(n=>n!=="UNSAVED"?"UNSAVED":n)},[t,e])};function xu(t,e,n,s){const r=[...e];let o=[...t];if(n){const u=t.find(p=>p._id===n);if(u&&u.content!==void 0&&u.content!==""&&!t.some(f=>f._parent===n)){const m={_id:pe.generateUUID(),_parent:n,_type:"Text",content:u.content};Object.keys(u).forEach(h=>{h.startsWith("content-")&&(m[h]=u[h])}),r.unshift(m),o=o.map(h=>{if(h._id===n){const x={...h,content:""};return Object.keys(x).forEach(b=>{b.startsWith("content-")&&(x[b]="")}),x}return h})}}let i=o.filter(u=>!u._parent);n&&(i=o.filter(u=>u._parent===n));const l=s!==void 0&&!isNaN(s)&&s>-1?Math.min(s,i.length):i.length;let c=o.length;for(let u=0,p=0;u<o.length;u++)if(n!==void 0?o[u]._parent===n:!o[u]._parent){if(p===l){c=u;break}p++}return!n&&s!==void 0&&s>=i.length&&(c=o.length),[...o.slice(0,c),...r,...o.slice(c)]}function bu(t){return Mr(t)}function yu(t){let e=[];return t.walk(n=>(delete n.model.children,e.push(n.model),!0)),e}function Zo(t,e){return t.first(n=>n.model._id===e)||null}function ku(t,e,n,s){var u,p;const r=Zo(t,e),o=Zo(t,n);if(!r||!o)return!1;o.children||(o.model.children=[]);let i=(u=o==null?void 0:o.children)==null?void 0:u.findIndex(f=>f.model._id===e);r.drop(),i=Math.max(i,0);const c=(((p=r==null?void 0:r.model)==null?void 0:p._parent)||"root")===n&&i<=s?s-1:s;try{o.addChildAtIndex(r,c)}catch(f){return console.error("Error adding child to parent:",f),!1}return!0}function vu(t,e){if(!e||!e._parent)return t;const n=e._parent,s=t.find(o=>o._id===n);if(!s)return t;const r=t.filter(o=>o._parent===n);if(r.length===2){const o=r.find(i=>i._id!==e._id);if(o&&o._type==="Text"&&"content"in s)return t.map(l=>{if(l._id===n){const c={...l,content:o.content};return Object.keys(o).forEach(u=>{u.startsWith("content-")&&(c[u]=o[u])}),c}return l}).filter(l=>l._id!==o._id)}return t}function wu(t,e,n){if(!n||n==="root")return t;const s=t.find(r=>r._id===n);if(!s)return t;if(s.content!==void 0&&s.content!==""&&!t.some(o=>o._parent===n&&o._id!==e._id)){const i={_id:pe.generateUUID(),_parent:n,_type:"Text",content:s.content};Object.keys(s).forEach(u=>{u.startsWith("content-")&&(i[u]=s[u])});const l=t.map(u=>{if(u._id===n){const p={...u,content:""};return Object.keys(p).forEach(f=>{f.startsWith("content-")&&(p[f]="")}),p}return u}),c=l.findIndex(u=>u._id===e._id);return c!==-1?[...l.slice(0,c),i,...l.slice(c)]:[i,...l]}return t}function Cu(t,e,n,s){if(!e)return t;const r=t.find(u=>u._id===e);if(!r)return t;let o=vu(t,r);const i=n||"root",c=new td().parse({_id:"root",children:bu(o)});if(ku(c,e,i,s)){let u=yu(c);const p=u.find(f=>f._id===e);return p&&(p._parent=i==="root"?null:i),u.shift(),n&&(u=wu(u,r,n)),u}return o}const fn=new BroadcastChannel("chaibuilder"),gi=()=>{const t=$("pageId","chaibuilder_page");return{postMessage:xe.useDebouncedCallback(n=>fn.postMessage({...n,pageId:t}),[t],200)}},ju=()=>{const[,t]=Z(),e=$("pageId","chaibuilder_page"),{updateBlocksProps:n}=xi();g.useEffect(()=>(fn.onmessageerror=s=>{console.log("error",s)},fn.onmessage=s=>{s.data.type==="blocks-updated"&&s.data.pageId===e&&t(s.data.blocks),s.data.type==="blocks-props-updated"&&s.data.pageId===e&&n(s.data.blocks)},()=>{fn.onmessage=null,fn.onmessageerror=null}),[t,e])},Kr=(t,e)=>{let n=[...t],s=[];e.forEach(l=>{const c=n.find(f=>f._id===l);if(!c||!c._parent)return;const u=c._parent,p=n.filter(f=>f._parent===u);if(p.length===2){const f=p.find(m=>m._id!==l);if(f&&f._type==="Text"){const m=n.find(h=>h._id===u);m&&"content"in m&&(n=n.map(h=>{if(h._id===u){const x={...h,content:f.content};return Object.keys(f).forEach(b=>{b.startsWith("content-")&&(x[b]=f[b])}),x}return h}),s.push(f._id))}}});const r=[...e,...s],o=[],i=d.filter(n,l=>d.includes(r,l._id)||d.includes(r,l._parent)?(o.push(l._id),!1):!0);return d.isEmpty(o)?i:Kr(i,o)},Is=()=>{const[t]=Z(),[e,n]=q(),{setNewBlocks:s}=Ee(),{hasPermission:r}=We();return g.useCallback(o=>{var l;if(!r(Q.DELETE_BLOCK))return;const i=((l=d.find(t,{_id:o[0]}))==null?void 0:l._parent)||null;s(Kr(t,o)),setTimeout(()=>n(i?[i]:[]),200)},[t,n,e,r])},Su=N.atom(null,(t,e,{id:n,props:s})=>{const r=t(In),o=d.find(r,i=>t(i)._id===n);return o?e(o,{...t(o),...s}):null}),Nu=()=>N.useSetAtom(Su),Eu=t=>Oe.useAtomCallback(g.useCallback((e,n,s)=>{const r=e(t);if(!r||!r.length)return console.warn("No blocks available in splitAtoms"),null;const o=d.find(r,i=>e(i)._id===(d.isString(s)?s:e(s)._id));return o||(console.warn(`Block with id ${s} not found`),null)},[t]),{store:ze}),xi=()=>{const[,t]=Z(),{postMessage:e}=gi(),n=Nu(),s=qr(),r=mi();return{setNewBlocks:o=>{t(o),e({type:"blocks-updated",blocks:o})},addBlocks:(o,i,l)=>{t(c=>{const u=xu(c,o,i,l);return e({type:"blocks-updated",blocks:u}),s(u),r(),u})},removeBlocks:o=>{t(i=>{const l=Kr(i,o);return e({type:"blocks-updated",blocks:l}),s(l),r(),l})},moveBlocks:(o,i,l)=>{t(c=>{let u=[...c];for(let p=0;p<o.length;p++)u=Cu(u,o[p],i,l);return d.each(o,p=>{const f=d.find(u,m=>m._id===p);f&&n({id:p,props:{_parent:f._parent||null}})}),e({type:"blocks-updated",blocks:u}),s(u),r(),u})},updateBlocksProps:o=>{o.forEach(i=>{const l=d.omit(i,"_id");n({id:i._id,props:l})}),e({type:"blocks-props-updated",blocks:o}),r()}}},qe=new nd;qe.setLimit(50);const Au=N.atom({canUndo:!1,canRedo:!1}),_n=()=>{const[,t]=N.useAtom(As),[e,n]=N.useAtom(Au),s=$("onSaveStateChange",d.noop),r=g.useCallback(()=>{const u={canUndo:qe.hasUndo(),canRedo:qe.hasRedo()};n(u),t("UNSAVED"),s("UNSAVED")},[n,t,s]);g.useEffect(()=>(qe.setCallback(r),()=>{qe.setCallback(d.noop)}),[r]);const o=g.useCallback(u=>{qe.add(u),r()},[r]),i=g.useCallback(()=>{qe.undo(),r()},[r]),l=g.useCallback(()=>{qe.redo(),r()},[r]),c=g.useCallback(()=>{qe.clear(),n({canUndo:!1,canRedo:!1})},[n]);return g.useMemo(()=>({add:o,undo:i,redo:l,hasUndo:()=>e.canUndo,hasRedo:()=>e.canRedo,clear:c}),[o,i,l,e.canUndo,e.canRedo,c])},Z=()=>N.useAtom(Ne),Ee=()=>{const{add:t}=_n(),{setNewBlocks:e,addBlocks:n,removeBlocks:s,moveBlocks:r,updateBlocksProps:o}=xi();return{moveBlocks:(h,x,b)=>{const y=ze.get(Ne),k=d.map(h,A=>{const j=y.find(E=>E._id===A)._parent||null,S=y.filter(E=>j?E._parent===j:!E._parent).map(E=>E._id).indexOf(A);return{_id:A,oldParent:j,oldPosition:S}}),C=k.find(({_id:A})=>A===h[0]);C&&C.oldParent===x&&C.oldPosition===b||(r(h,x??null,b),t({undo:()=>d.each(k,({_id:A,oldParent:w,oldPosition:j})=>{r([A],w??null,j)}),redo:()=>r(h,x??null,b)}))},addBlocks:(h,x,b)=>{n(h,x,b),t({undo:()=>s(d.map(h,"_id")),redo:()=>n(h,x,b)})},removeBlocks:h=>{var C;const x=ze.get(Ne),b=(C=d.first(h))==null?void 0:C._parent,k=x.filter(A=>b?A._parent===b:!A._parent).indexOf(d.first(h));s(d.map(h,"_id")),t({undo:()=>n(h,b??void 0,k),redo:()=>s(d.map(h,"_id"))})},updateBlocks:(h,x,b)=>{const y=ze.get(Ne);let k=[];if(b)k=d.map(h,C=>({_id:C,...b}));else{const C=d.keys(x);k=d.map(h,A=>{const w=y.find(_=>_._id===A),j={_id:A};return d.each(C,_=>j[_]=w[_]),j})}o(d.map(h,C=>({_id:C,...x}))),t({undo:()=>o(k),redo:()=>o(d.map(h,C=>({_id:C,...x})))})},updateBlocksRuntime:(h,x)=>{o(d.map(h,b=>({_id:b,...x})))},setNewBlocks:h=>{const x=ze.get(Ne);e(h),t({undo:()=>e(x),redo:()=>e(h)})},updateMultipleBlocksProps:h=>{const x=ze.get(Ne);let b=[];b=d.map(h,y=>{const k=d.keys(y),C=x.find(w=>w._id===y._id),A={};return d.each(k,w=>A[w]=C==null?void 0:C[w]),A}),o(h),t({undo:()=>o(b),redo:()=>o(h)})}}},Iu=({block:t,children:e})=>{const{t:n}=z.useTranslation(),[s]=Z(),{hasPermission:r}=We(),o=d.get(t,"_id"),i=d.get(t,"_parent"),l=d.filter(s,f=>i?d.get(f,"_parent")===i:!d.get(f,"_parent")),c=is(d.get(t,"_type","")),u=d.findIndex(l,{_id:o}),p=f=>{if(f==="CHILD")ae.publish(Y.OPEN_ADD_BLOCK,t);else{const m={_id:i||"",position:l==null?void 0:l.length};f==="BEFORE"?m.position=Math.max(u,0):f==="AFTER"&&(m.position=u+1),ae.publish(Y.OPEN_ADD_BLOCK,m)}};return r(Q.ADD_BLOCK)?a.jsxs(mt,{children:[a.jsx(gt,{children:e}),a.jsxs(et,{className:"border border-blue-500 bg-primary text-white shadow-2xl",children:[c&&a.jsx(ge,{className:"cursor-pointer text-xs",onClick:()=>p("CHILD"),children:n("Add inside")}),a.jsx(ge,{className:"cursor-pointer text-xs",onClick:()=>p("BEFORE"),children:n("Add before")}),a.jsx(ge,{className:"cursor-pointer text-xs",onClick:()=>p("AFTER"),children:n("Add after")})]})]}):null},_s=N.atom(null),Tn=N.atom({isVisible:!1,isValid:!1,position:"inside",placeholderOrientation:"horizontal",isEmpty:!1,top:0,left:0,width:0,height:0});let qt=!1;const Yr=t=>{qt=t},Xr=N.atom(0),_u=N.atom(!1);_u.debugLabel="readOnlyModeAtom";const Tu=N.atom("online");Tu.debugLabel="networkModeAtom";N.atom("");const Bu=N.atom(!1);Bu.debugLabel="editLayerNameAtom";const Ru=N.atom("");Ru.debugLabel="activeLanguageAtom";const Pu=N.atom("");Pu.debugLabel="primaryLanguageAtom";const Ts=N.atom(null);Ts.debugLabel="canvasIframeAtom";const Lu=N.atom("outline");Lu.debugLabel="activePanelAtom";const bi=N.atom("");bi.debugLabel="showPredefinedBlockCategoryAtom";const Du=N.atom(!1);Du.debugLabel="draggingFlagAtom";const Jr=N.atom(null);Jr.debugLabel="treeRefAtom";const Mu=N.atom({});Mu.debugLabel="canvasSettingsAtom";const yi=N.atom(!1);yi.debugLabel="aiAssistantActiveAtom";const Ou=N.atom(!1);Ou.debugLabel="codeEditorOpenAtom";const $u=Oe.atomWithStorage("codeEditorHeight",500);$u.debugLabel="codeEditorHeightAtom";const Fu=N.atom([]);Fu.debugLabel="xShowBlocksAtom";const Zr=Oe.atomWithStorage("_selectedLibrary",null);Zr.debugLabel="selectedLibraryAtom";const Qr=N.atom(!0);Qr.debugLabel="dataBindingActiveAtom";const zu=Oe.atomWithStorage("chai-builder-theme",Qe.defaultThemeValues),nn=()=>N.useAtom(Ts);let oe=null,ot=null;function Hu(t,e){const n=t.getAttribute("data-block-name"),s=t.getAttribute("data-block-type"),r=n||s||"Container",o=e.createElement("div");return o.className="chai-drag-parent-label",o.textContent=r,o.className="absolute top-0 -left-0.5 -translate-x-0.5 -translate-y-full -mt-1 bg-green-500/95 text-white px-2 py-1 text-xs font-semibold font-sans leading-tight whitespace-nowrap shadow-lg z-[999999] pointer-events-none select-none",o}function Zs(){ot&&ot.parentNode&&(ot.parentNode.removeChild(ot),ot=null)}const eo=()=>{const[t]=nn(),e=g.useMemo(()=>{var r;return(t==null?void 0:t.contentDocument)||((r=t==null?void 0:t.contentWindow)==null?void 0:r.document)},[t]),n=g.useCallback(r=>{if(!e)return;let o=null;if(!r){oe&&(oe.style.outline="",oe.style.outlineOffset="",oe.style.backgroundColor="",oe.style.position="",oe=null),Zs();return}typeof r!="string"?o=r:o=e.querySelector(`[data-block-id="${r}"]`),!(o===oe&&ot&&ot.parentNode)&&(oe&&oe!==o&&(oe.style.outline="",oe.style.outlineOffset="",oe.style.backgroundColor="",oe.style.position=""),Zs(),o?(o.style.outline="2px dashed rgba(34, 197, 94, 1)",o.style.outlineOffset="2px",o.style.backgroundColor="rgba(34, 197, 94, 0.05)",window.getComputedStyle(o).position==="static"&&(o.style.position="relative"),ot=Hu(o,e),o.appendChild(ot),oe=o):oe=null)},[e]),s=g.useCallback(()=>{oe&&(oe.style.outline="",oe.style.outlineOffset="",oe.style.backgroundColor="",window.getComputedStyle(oe).position==="relative"&&oe.style.position==="relative"&&(oe.style.position=""),oe=null),Zs()},[]);return{highlightParent:n,clearParentHighlight:s,lastDragHighlighted:oe}},Vu=()=>{const[,t]=N.useAtom(_s),[,e]=N.useAtom(Tn),[n]=nn(),{clearParentHighlight:s}=eo(),[r,o]=N.useAtom(Xr),i=n==null?void 0:n.contentDocument;return g.useCallback(()=>{t(null),e({isVisible:!1,isValid:!1,position:"inside",placeholderOrientation:"horizontal",isEmpty:!1,top:0,left:0,width:0,height:0}),Wu(i),s(),i&&i.querySelectorAll("[data-dragging]").forEach(c=>{c.removeAttribute("data-dragging")}),Yr(!1),o(r+1)},[t,e,i,s,r,o])};function Wu(t){if(!t)return;t.querySelectorAll("[data-drop-target]").forEach(n=>n.removeAttribute("data-drop-target"))}function Pt(t,e=null){const n=window.getComputedStyle(t),s=e?window.getComputedStyle(e):null,r=n.display,o=s?s.display:null;if(r==="flex"||r==="inline-flex"){const i=n.flexDirection;return i==="column"||i==="column-reverse"?"vertical":"horizontal"}else if(r==="grid"){const i=n.gridAutoFlow,l=n.gridTemplateColumns;return i.includes("column")||l&&l!=="none"&&l!==""&&!l.includes("calc")&&l.split(" ").length<=1?"vertical":"horizontal"}else if(o==="inline-block"||o==="inline")return"horizontal";return"vertical"}const Gu=["Heading","Text","Image","Paragraph","Icon","Input","Radio","Checkbox","Select","CustomHTML","TextArea","Divider","Repeater","Video"];function Uu(t){try{return Gu.includes(t)}catch{return!1}}const Ze={MIN_EDGE_ZONE:10,MAX_EDGE_ZONE:30,EDGE_ZONE_PERCENTAGE:.2,GAP_THRESHOLD:8,MIN_SIZE_FOR_EDGE_ZONES:50,PARENT_EDGE_PROXIMITY:20};function Qo(t){try{if(t<Ze.MIN_SIZE_FOR_EDGE_ZONES)return 0;const e=t*Ze.EDGE_ZONE_PERCENTAGE;return Math.max(Ze.MIN_EDGE_ZONE,Math.min(Ze.MAX_EDGE_ZONE,e))}catch{return Ze.MIN_EDGE_ZONE}}function ht(t){try{const e=[],n=t.children;for(let s=0;s<n.length;s++){const r=n[s];r.hasAttribute("data-block-id")&&e.push(r)}return e}catch{return[]}}function Qn(t){try{return ht(t).length>0}catch{return!1}}function qu(t,e,n,s){try{const r=ht(t);if(r.length<2)return null;const o=Ju(r,e,n,s);if(o){const i=to(r,o,s);i.sort((l,c)=>{const u=l.getBoundingClientRect(),p=c.getBoundingClientRect();return s==="vertical"?u.top-p.top:u.left-p.left});for(let l=0;l<i.length-1;l++){const c=i[l],u=i[l+1],p=c.getBoundingClientRect(),f=u.getBoundingClientRect();if(s==="vertical"){const m=p.bottom,h=f.top,x=h-m,b=n>=m&&n<=h,y=e>=Math.min(p.left,f.left)&&e<=Math.max(p.right,f.right);if(b&&y&&x>=Ze.GAP_THRESHOLD)return{before:c,after:u}}else{const m=p.right,h=f.left,x=h-m,b=e>=m&&e<=h,y=n>=Math.min(p.top,f.top)&&n<=Math.max(p.bottom,f.bottom);if(b&&y&&x>=Ze.GAP_THRESHOLD)return{before:c,after:u}}}}for(let i=0;i<r.length-1;i++){const l=r[i],c=r[i+1],u=l.getBoundingClientRect(),p=c.getBoundingClientRect();if(s==="vertical"){const f=u.bottom,m=p.top,h=m-f,x=n>=f&&n<=m,b=e>=Math.min(u.left,p.left)&&e<=Math.max(u.right,p.right);if(x&&b&&h>=Ze.GAP_THRESHOLD)return{before:l,after:c}}else{const f=u.right,m=p.left,h=m-f,x=e>=f&&e<=m,b=n>=Math.min(u.top,p.top)&&n<=Math.max(u.bottom,p.bottom);if(x&&b&&h>=Ze.GAP_THRESHOLD)return{before:l,after:c}}}return null}catch{return null}}function Ku(t,e,n,s){try{const r=t.getBoundingClientRect(),o=Ze.PARENT_EDGE_PROXIMITY;if(s==="vertical"){if(n<=r.top+o)return"start";if(n>=r.bottom-o)return"end"}else{if(e<=r.left+o)return"start";if(e>=r.right-o)return"end"}return null}catch{return null}}function Yu(t,e,n,s,r){const o=t.getBoundingClientRect();if(r==="vertical"){const l=(n-o.top)/o.height,c=Qo(o.height),u=c/o.height;return s?c>0&&l<u?{position:"before",confidence:1-l/u}:c>0&&l>1-u?{position:"after",confidence:(l-(1-u))/u}:{position:"inside",confidence:1-Math.abs(l-.5)*2}:l<.5?{position:"before",confidence:1-l*2}:{position:"after",confidence:(l-.5)*2}}else{const l=(e-o.left)/o.width,c=Qo(o.width),u=c/o.width;return s?c>0&&l<u?{position:"before",confidence:1-l/u}:c>0&&l>1-u?{position:"after",confidence:(l-(1-u))/u}:{position:"inside",confidence:1-Math.abs(l-.5)*2}:l<.5?{position:"before",confidence:1-l*2}:{position:"after",confidence:(l-.5)*2}}}function Xu(t,e,n,s,r){var A,w,j,_;const o=t.getAttribute("data-block-id"),i=t.getAttribute("data-block-type")||"Box";if(!o)return null;let l=t.parentElement;for(;l&&!l.hasAttribute("data-block-id");)l=l.parentElement;const c=o==="canvas"?o:l==null?void 0:l.getAttribute("data-block-id"),u=l?Pt(l):"vertical",p=Pt(t),f=Uu(i),m=!f&&tt(i,s),h=((A=r.defaultView)==null?void 0:A.scrollY)||0,x=((w=r.defaultView)==null?void 0:w.scrollX)||0;if(o==="canvas"&&Qn(t)){const S=ht(t),E=S[S.length-1];if(E){const I=E.getBoundingClientRect(),B=t.getBoundingClientRect(),P=window.getComputedStyle(t),R=parseFloat(P.paddingLeft)||0,M=parseFloat(P.paddingRight)||0,H=B.width-R-M,G=B.left+x+R;return{position:"after",placeholderOrientation:"horizontal",rect:{top:I.bottom+h,left:G,width:H,height:4},targetElement:E,targetBlockId:E.getAttribute("data-block-id"),targetParentId:"canvas",isEmpty:!1,confidence:1}}}if(m&&!f&&Qn(t)){const S=qu(t,e,n,p);if(S){const E=S.before.getBoundingClientRect(),I=S.after.getBoundingClientRect(),B=t.getBoundingClientRect(),P=window.getComputedStyle(t),R=parseFloat(P.paddingLeft)||0,M=parseFloat(P.paddingRight)||0,H=ht(t),G=to(H,S.before,p);let be=0;if(G.forEach(de=>{const re=de.getBoundingClientRect();re.height>be&&(be=re.height)}),p==="vertical"){const de=B.width-R-M,re=B.left+x+R;return{position:"after",placeholderOrientation:"horizontal",rect:{top:E.bottom+h,left:re,width:de,height:4},targetElement:S.before,targetBlockId:S.before.getAttribute("data-block-id"),targetParentId:o,isGapZone:!0,confidence:1}}else{const de=E.top+h,re=be>0?be:Math.max(E.height,I.height);return{position:"after",placeholderOrientation:"vertical",rect:{top:de,left:E.right+x,width:4,height:re},targetElement:S.before,targetBlockId:S.before.getAttribute("data-block-id"),targetParentId:o,isGapZone:!0,confidence:1}}}}if(l&&c){const S=Ku(l,e,n,u);if(S){const E=l.getBoundingClientRect(),I=window.getComputedStyle(l),B=parseFloat(I.paddingLeft)||0,P=parseFloat(I.paddingRight)||0,R=parseFloat(I.paddingTop)||0,M=parseFloat(I.paddingBottom)||0,H=((j=r.defaultView)==null?void 0:j.scrollY)||0,G=((_=r.defaultView)==null?void 0:_.scrollX)||0,be=u==="vertical"?"horizontal":"vertical",de=ki(l);if(S==="start"){const re=ht(l)[0];if(re){const we=re.getBoundingClientRect();if(u==="vertical"){const Le=E.width-B-P,V=E.left+G+B;return{position:"before",placeholderOrientation:be,rect:{top:we.top+H-2,left:V,width:Le,height:4},targetElement:re,targetBlockId:re.getAttribute("data-block-id"),targetParentId:c,confidence:.9}}else{const Le=E.top+H+R,V=de.maxHeight>0?de.maxHeight:E.height-R-M;return{position:"before",placeholderOrientation:be,rect:{top:Le,left:we.left+G-2,width:4,height:V},targetElement:re,targetBlockId:re.getAttribute("data-block-id"),targetParentId:c,confidence:.9}}}}else{const re=ht(l),we=re[re.length-1];if(we){const Le=we.getBoundingClientRect();if(u==="vertical"){const V=E.width-B-P,Ie=E.left+G+B;return{position:"after",placeholderOrientation:be,rect:{top:Le.bottom+H-2,left:Ie,width:V,height:4},targetElement:we,targetBlockId:we.getAttribute("data-block-id"),targetParentId:c,confidence:.9}}else{const V=E.top+H+R,Ie=de.maxHeight>0?de.maxHeight:E.height-R-M;return{position:"after",placeholderOrientation:be,rect:{top:V,left:Le.right+G-2,width:4,height:Ie},targetElement:we,targetBlockId:we.getAttribute("data-block-id"),targetParentId:c,confidence:.9}}}}}}let b=Yu(t,e,n,m,u);if(f&&b.position==="inside"){const S=t.getBoundingClientRect();u==="vertical"?b={position:(n-S.top)/S.height<.5?"before":"after",confidence:b.confidence}:b={position:(e-S.left)/S.width<.5?"before":"after",confidence:b.confidence}}let y;b.position==="inside"?y=p==="vertical"?"horizontal":"vertical":y=u==="vertical"?"horizontal":"vertical";const k=Zu(t,l,b.position,y,r),C=b.position==="inside"?o:c;return{position:b.position,placeholderOrientation:y,rect:k,targetElement:t,targetBlockId:o,targetParentId:C??"",isEmpty:b.position==="inside"&&!Qn(t),confidence:b.confidence}}function Ju(t,e,n,s){if(t.length===0)return null;const r=t.filter(l=>{const c=l.getBoundingClientRect();return s==="vertical"?n>=c.top&&n<=c.bottom:e>=c.left&&e<=c.right});if(r.length===0){const l=new Map;t.forEach(p=>{const f=p.getBoundingClientRect(),m=Math.round(s==="vertical"?f.top:f.left);l.has(m)||l.set(m,[]),l.get(m).push(p)});let c=null,u=1/0;l.forEach((p,f)=>{const m=Math.abs(s==="vertical"?n-f:e-f);m<u&&(u=m,c=p)}),c&&r.push(c)}if(r.length===0)return null;let o=r[0],i=1/0;return r.forEach(l=>{const c=l.getBoundingClientRect(),u=c.left+c.width/2,p=c.top+c.height/2,f=Math.sqrt(Math.pow(e-u,2)+Math.pow(n-p,2));f<i&&(i=f,o=l)}),o}function ki(t){const e=ht(t);if(e.length===0)return{maxWidth:0,maxHeight:0};let n=0,s=0;return e.forEach(r=>{const o=r.getBoundingClientRect();o.width>n&&(n=o.width),o.height>s&&(s=o.height)}),{maxWidth:n,maxHeight:s}}function to(t,e,n){const s=e.getBoundingClientRect(),r=5;return t.filter(o=>{const i=o.getBoundingClientRect();return n==="vertical"?Math.abs(i.top-s.top)<=r:Math.abs(i.left-s.left)<=r})}function Zu(t,e,n,s,r){var R,M;const o=t.getBoundingClientRect(),i=window.getComputedStyle(t),l=((R=r.defaultView)==null?void 0:R.scrollY)||0,c=((M=r.defaultView)==null?void 0:M.scrollX)||0,u=parseFloat(i.marginTop)||0,p=parseFloat(i.marginBottom)||0,f=parseFloat(i.marginLeft)||0,m=parseFloat(i.marginRight)||0,h=parseFloat(i.paddingTop)||0,x=parseFloat(i.paddingBottom)||0,b=parseFloat(i.paddingLeft)||0,y=parseFloat(i.paddingRight)||0,k=e==null?void 0:e.getBoundingClientRect(),C=e&&parseFloat(window.getComputedStyle(e).paddingLeft)||0,A=e&&parseFloat(window.getComputedStyle(e).paddingRight)||0,w=e&&parseFloat(window.getComputedStyle(e).paddingTop)||0,j=e&&parseFloat(window.getComputedStyle(e).paddingBottom)||0,_=e?ki(e):{maxHeight:0},S=e?Pt(e):"vertical",E=e?ht(e):[],I=to(E,t,S);let B=0,P=0;if(I.forEach(H=>{const G=H.getBoundingClientRect();G.height>B&&(B=G.height),G.width>P&&(P=G.width)}),n==="before")if(s==="horizontal"){const H=k?k.width-C-A:o.width,G=k?k.left+c+C:o.left+c;return{top:o.top+l-u-2,left:G,width:H,height:4}}else{const H=o.top+l,G=S==="horizontal"&&B>0?B:_.maxHeight>0?_.maxHeight:k?k.height-w-j:o.height;return{top:H,left:o.left+c-f-2,width:4,height:G}}else if(n==="after")if(s==="horizontal"){const H=k?k.width-C-A:o.width,G=k?k.left+c+C:o.left+c;return{top:o.bottom+l+p-2,left:G,width:H,height:4}}else{const H=o.top+l,G=S==="horizontal"&&B>0?B:_.maxHeight>0?_.maxHeight:k?k.height-w-j:o.height;return{top:H,left:o.right+c+m-2,width:4,height:G}}else return Qn(t)?Pt(t)==="vertical"?{top:o.bottom+l-x-2,left:o.left+c+b,width:o.width-b-y,height:4}:{top:o.top+l+h,left:o.right+c-y-2,width:4,height:o.height-h-x}:{top:o.top+l+h,left:o.left+c+b,width:o.width-b-y,height:Math.max(o.height-h-x,20)}}const Qu=100,xt=()=>{const[t]=Z(),[,e]=q(),{addBlocks:n}=Ee(),s=g.useCallback((o,i,l)=>{for(let m=0;m<o.length;m++){const{_id:h}=o[m];o[m]._id=pe.generateUUID();const x=d.filter(o,{_parent:h});for(let b=0;b<x.length;b++)x[b]._parent=o[m]._id}const c=d.first(o);let u,p;return i&&(u=d.find(t,{_id:i}),o[0]._parent=i,d.forEach(o,m=>{m!=null&&m._parent||(m._parent=i)}),p=i),!(u?tt(u==null?void 0:u._type,c._type):!0)&&u&&(o[0]._parent=u._parent,p=u._parent),n(o,p??void 0,l),e([c._id]),c},[n,t,e]);return{addCoreBlock:g.useCallback((o,i,l)=>{if(d.has(o,"blocks")){const b=o.blocks;return s(b,i??void 0,l)}const c=pe.generateUUID(),u=K.getBlockDefaultProps(o.type),p={_type:o.type,_id:c,...u,...d.has(o,"_name")&&{_name:o._name},...d.has(o,"partialBlockId")&&{partialBlockId:o.partialBlockId}};let f,m;return i&&(f=d.find(t,{_id:i}),p._parent=i,m=i),!tt(f==null?void 0:f._type,p._type)&&f&&(p._parent=f._parent,m=f._parent),n([p],m??void 0,l),setTimeout(()=>e([p._id]),Qu),p},[n,s,t,e]),addPredefinedBlock:s}};let rt=null;const nt=()=>{const[t]=N.useAtom(Ts),e=g.useMemo(()=>{var r;return(t==null?void 0:t.contentDocument)||((r=t==null?void 0:t.contentWindow)==null?void 0:r.document)},[t]),n=g.useCallback(r=>{if(e)if(rt&&rt.removeAttribute("data-highlighted"),typeof r!="string")r.setAttribute("data-highlighted","true"),rt=r;else if(typeof r=="string"){const o=e.querySelector(`[data-block-id="${r}"]`);o&&(o.setAttribute("data-highlighted","true"),rt=o)}else rt=null},[e]),s=g.useCallback(()=>{rt&&(rt.removeAttribute("data-highlighted"),rt=null)},[]);return{highlightBlock:n,clearHighlight:s,lastHighlighted:rt}},Bn=N.atom([]);Bn.debugLabel="selectedStylingBlocksAtom";const Ae=()=>N.useAtom(Bn),ep=()=>{const[t,e]=N.useAtom(_s),[n,s]=N.useAtom(Tn),[r]=Z(),[o]=nn(),{addCoreBlock:i}=xt(),{moveBlocks:l}=Ee(),[,c]=q(),[,u]=Ae(),{clearHighlight:p}=nt(),{clearParentHighlight:f}=eo(),[m,h]=N.useAtom(Xr),x=Ke(),b=fi(),y=o==null?void 0:o.contentDocument;return g.useCallback(k=>{if(k.preventDefault(),k.stopPropagation(),Yr(!1),np(y),ea(y),f(),s({isVisible:!1,isValid:!1,position:"inside",placeholderOrientation:"horizontal",isEmpty:!1,top:0,left:0,width:0,height:0}),setTimeout(()=>{f(),ea(y),s({isVisible:!1,isValid:!1,position:"inside",placeholderOrientation:"horizontal",isEmpty:!1,top:0,left:0,width:0,height:0})},50),!t)return;if(!n.isValid||!n.targetBlockId){f();return}e(null);const C=n.targetBlockId,A=n.targetParentId;if(!C)return;const{parentId:w,index:j,replaceImageUrl:_}=tp(r,C,A,n.position,t),S=t._id!==void 0;if(_&&vi(t)){x([C],{image:d.get(t,"blocks.0.image")}),setTimeout(()=>{h(m+1)},50);return}if(S)l([t._id],w===null?void 0:w,j),p(),u([]),c([t._id]);else{const E=t._type||t.type,I=t!=null&&t.blocks?d.isFunction(t==null?void 0:t.blocks)?K.syncBlocksWithDefaultProps(t==null?void 0:t.blocks()):t==null?void 0:t.blocks:null;if(E==="PartialBlock"){const B=t.partialBlockId||"",{canAdd:P,reason:R}=b(B);if(!P){ue.toast.error(R||"Cannot add this partial block");return}i({blocks:[{_type:E,_id:"partial-block",partialBlockId:t.partialBlockId}]},w,j)}else i((I==null?void 0:I.length)>0?{blocks:[...I]}:{type:E},w,j)}setTimeout(()=>{h(m+1)},50)},[t,n,r,y,i,l,e,s,f,p,c,u,m,h,x,b])},vi=t=>{var o,i;const e=d.has(t,"blocks"),n=t==null?void 0:t.blocks,s=(n==null?void 0:n.length)===1&&((o=n==null?void 0:n[0])==null?void 0:o._type)==="Image",r=!((i=n==null?void 0:n[0])!=null&&i._id);return e&&s&&r};function tp(t,e,n,s,r){var o,i;try{if(e===n&&((o=r==null?void 0:r.blocks)==null?void 0:o.length)===1&&d.get(r,"blocks.0._type")==="Image"&&((i=d.find(t,{_id:e}))==null?void 0:i._type)==="Image")return{parentId:"",index:-1,replaceImageUrl:!0};if(e==="canvas"||s==="inside"&&e==="canvas")return{parentId:null,index:d.filter(t,h=>!(h!=null&&h._parent)).length};if(s==="inside"){const m=d.filter(t,{_parent:e});return{parentId:e,index:m.length}}const l=!n||n==="canvas",c=l?void 0:n,u=d.filter(t,m=>l?!(m!=null&&m._parent):(m==null?void 0:m._parent)===c),p=u.findIndex(m=>m._id===e);if(p===-1)return{parentId:l?null:n,index:u.length};const f=s==="before"?p:p+1;return{parentId:l?null:n,index:f}}catch{return{parentId:null,index:d.filter(t,c=>!(c!=null&&c._parent)).length}}}function ea(t){if(!t)return;t.querySelectorAll("[data-drop-target]").forEach(n=>n.removeAttribute("data-drop-target"))}function np(t){if(!t)return;t.querySelectorAll("[data-dragging]").forEach(n=>{n.removeAttribute("data-dragging")})}function wi(t,e,n){if(!t||!e)return!1;if(t===e)return!0;const s=n.find(o=>o._id===t);if(!s)return!1;let r=s;for(;r._parent;){if(r._parent===e)return!0;const o=n.find(i=>i._id===r._parent);if(!o)break;r=o}return!1}function Ci(t,e,n){return!t||!e?!0:!wi(e,t,n)}function sp(t,e,n){if(!t)return!0;const s=n.find(o=>o._id===e);if(!s)return!0;const r=s._parent;return Ci(t,r,n)}const rp=["Heading","Text","Image","Paragraph","Icon","Input","Radio","Checkbox","Select","CustomHTML","TextArea","Divider","Repeater","Video"],ut={EDGE_ZONE:50,MAX_SCROLL_SPEED:10,MIN_SCROLL_SPEED:10},op=()=>{const[t]=N.useAtom(_s),[e]=nn(),[,n]=N.useAtom(Tn),{clearParentHighlight:s,highlightParent:r}=eo(),[o]=Z(),i=e==null?void 0:e.contentDocument,l=g.useRef(null),c=g.useRef(0),u=g.useCallback(f=>{if(!(i!=null&&i.defaultView))return;const m=i.defaultView,h=m.innerHeight,x=m.scrollY,b=i.documentElement.scrollHeight;c.current=f;const y=f,k=h-f;let C=!1,A=null,w=0;if(y<ut.EDGE_ZONE&&x>0?(C=!0,A="up",w=y):k<ut.EDGE_ZONE&&x+h<b&&(C=!0,A="down",w=k),!C&&l.current!==null){cancelAnimationFrame(l.current),l.current=null;return}if(C&&A){const j=1-w/ut.EDGE_ZONE,_=ut.MIN_SCROLL_SPEED+(ut.MAX_SCROLL_SPEED-ut.MIN_SCROLL_SPEED)*j,S=()=>{if(!qt||!m){l.current=null;return}const E=A==="up"?-_:_;m.scrollBy(0,E);const I=m.scrollY,B=I>0,P=I+h<b,R=c.current,M=h-c.current;A==="up"&&B&&R<ut.EDGE_ZONE||A==="down"&&P&&M<ut.EDGE_ZONE?l.current=requestAnimationFrame(S):l.current=null};l.current===null&&(l.current=requestAnimationFrame(S))}},[i]);g.useEffect(()=>()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)},[]),g.useEffect(()=>{!qt&&l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)},[qt]);const p=g.useCallback(d.throttle(f=>{if(!qt||!t)return;s();const m=ap(f),{element:h,targetBlockId:x,targetParentId:b}=m;if(!h||!x)return;const y=t._id;if(y&&(x===y||wi(x,y,o)))return;const k=t._type||t.type;if(!k)return;const C=f.clientX,A=f.clientY;if(u(A),!i)return;const w=Xu(h,C,A,k,i);if(!w)return;const j=h.getAttribute("data-block-type")||"Box";let _=!1;const S=rp.includes(j);if(j==="Image"&&k==="Image"&&vi(t)){r(x),n({isVisible:!0,isValid:!0,position:w.position,placeholderOrientation:w.placeholderOrientation,isEmpty:!0,top:h.offsetTop,left:w.rect.left,width:h.clientWidth,height:h.clientHeight,targetBlockId:w.targetBlockId,targetParentId:w.targetBlockId});return}if(w.position==="inside"){if(S||y&&!Ci(y,x,o))return;_=tt(j,k)}else{let I=h.parentElement,B="Box";for(;I&&!I.hasAttribute("data-block-id");)I=I.parentElement;if(I&&(B=I.getAttribute("data-block-type")||"Box"),y&&!sp(y,x,o))return;_=tt(B,k)}if(!_)return;r(w.targetParentId);const E=w.targetParentId||b||void 0;n({isVisible:!0,isValid:!0,position:w.position,placeholderOrientation:w.placeholderOrientation,isEmpty:w.isEmpty??!1,top:w.rect.top,left:w.rect.left,width:w.rect.width,height:w.rect.height,targetBlockId:w.targetBlockId,targetParentId:E}),ip(i),w.targetElement.setAttribute("data-drop-target","true")},300),[i,t,n,s,r,o,u]);return g.useCallback(f=>{f.preventDefault(),f.stopPropagation(),p(f)},[p])};function ap(t){let e=t.target;for(;e&&!e.hasAttribute("data-block-id");)e=e.parentElement;if(!e)return{element:null,targetBlockId:null,targetBlockType:null,targetParentId:null,targetParentType:null,orientation:"vertical"};const n=e.getAttribute("data-block-id"),s=e.getAttribute("data-block-type")||"Box";let r=e.parentElement;for(;r&&!r.hasAttribute("data-block-id");)r=r.parentElement;const o=(r==null?void 0:r.getAttribute("data-block-id"))||null,i=(r==null?void 0:r.getAttribute("data-block-type"))||"Box",l=Pt(e);return{element:e,targetBlockId:n,targetBlockType:s,targetParentId:o,targetParentType:i,orientation:l}}function ip(t){if(!t)return;t.querySelectorAll("[data-drop-target]").forEach(n=>n.removeAttribute("data-drop-target"))}function lp(t){var o;const e=document.createElement("div");e.className="absolute -top-[1000px] -left-[1000px] pl-3 pr-1 py-1 bg-white/60 border border-blue-400/30 rounded shadow-md flex items-center gap-1.5 font-sans pointer-events-none z-[9999] scale-90";const n=t.type||t._type||"Box",s=document.createElement("div");s.className="w-3 h-3 flex items-center justify-center text-blue-600";try{n==="Image"?s.innerHTML='<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 0.72 0.72"><path d="M.57.12H.15a.09.09 0 0 0-.09.09v.3A.09.09 0 0 0 .15.6h.42A.09.09 0 0 0 .66.51v-.3A.09.09 0 0 0 .57.12M.15.54A.03.03 0 0 1 .12.51V.437L.219.338a.03.03 0 0 1 .042 0L.462.54ZM.6.51a.03.03 0 0 1-.03.03H.547L.433.425.459.399a.03.03 0 0 1 .042 0L.6.498Zm0-.097L.544.357a.09.09 0 0 0-.127 0L.391.383.305.297a.09.09 0 0 0-.127 0L.12.353V.21A.03.03 0 0 1 .15.18h.42A.03.03 0 0 1 .6.21Z"/></svg>':s.innerHTML=((o=document.querySelector(`[data-add-core-block-icon="${n}"]`))==null?void 0:o.outerHTML)||'<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20"><path d="M3 4a1 1 0 011-1h12a1 1 0 011 1v12a1 1 0 01-1 1H4a1 1 0 01-1-1V4z"/></svg>'}catch{s.textContent=""}const r=document.createElement("span");return r.className="text-[10px] font-medium text-blue-600 whitespace-nowrap",r.textContent=t.label||t.type||t._name||t._type||"Block",e.appendChild(s),e.appendChild(r),document.body.appendChild(e),e}function ta(t){t&&t.parentNode&&t.parentNode.removeChild(t)}const cp=()=>{const[,t]=q(),[,e]=Ae(),{clearHighlight:n}=nt(),[,s]=N.useAtom(_s),[,r]=N.useAtom(Tn),o=g.useRef(null);return g.useCallback((i,l,c=!0)=>{var p;o.current&&(ta(o.current),o.current=null);const u=c?d.pick(l,["type","blocks","partialBlockId"]):l;if(s(u),i.dataTransfer.setData("text/plain",JSON.stringify({block:u})),i.dataTransfer.effectAllowed="move",!c&&l._id){const f=(p=document.getElementById("canvas-iframe"))==null?void 0:p.contentDocument;if(f){const m=f.querySelector(`[data-block-id="${l._id}"]`);m&&setTimeout(()=>{if(m){const x=m.getBoundingClientRect().height;Pt(m==null?void 0:m.parentElement)==="vertical"&&x>200&&(m.style.height="max-content",m.style.maxHeight="max-content",m.style.minHeight="0",m.style.overflow="hidden",m.innerHTML="<div class='flex items-center justify-center w-full h-full outline-[1px] outline-dashed font-medium outline-gray-500 bg-gray-500/10 py-4 text-transparent'>-</div>",m.style.opacity="0.4"),m.style.opacity="0.4",m.setAttribute("data-dragging","true")}},0)}}if(l!=null&&l._type||l!=null&&l.type){const f=lp(l);o.current=f,i.dataTransfer.setDragImage(f,0,0),setTimeout(()=>{o.current&&(ta(o.current),o.current=null)},50)}t([]),n(),e([]),ae.publish(Y.CLOSE_ADD_BLOCK),Yr(!0),r({isVisible:!0,isValid:!0,position:"inside",placeholderOrientation:"horizontal",isEmpty:!0,top:0,left:0,width:0,height:0,targetBlockId:"canvas",targetParentId:void 0})},[t,n,s,r])},sn=()=>{const t=cp(),e=op(),n=ep(),s=Vu();return{onDragStart:t,onDragOver:e,onDrop:n,onDragEnd:s,isDragging:qt}},dp=()=>{const[t]=N.useAtom(Tn);return t},Ye=()=>{const{dragAndDrop:t}=$("flags",{dragAndDrop:!0});return t};let ji,Si;typeof document<"u"&&(ji=document);typeof window<"u"&&(Si=window);const Ni=g.createContext({document:ji,window:Si}),Xe=()=>g.useContext(Ni),{Provider:up,Consumer:v0}=Ni,pp=[{ControlIcon:v.PinTopIcon,dir:"VERTICAL",key:"UP"},{ControlIcon:v.PinBottomIcon,dir:"VERTICAL",key:"DOWN"},{ControlIcon:v.PinLeftIcon,dir:"HORIZONTAL",key:"LEFT"},{ControlIcon:v.PinRightIcon,dir:"HORIZONTAL",key:"RIGHT"}],fp=(t,e,n)=>{try{if(!t||!n)return"VERTICAL";const s=`[data-block-id='${t}']`,r=n==null?void 0:n.querySelector(s);if(r){const o=n==null?void 0:n.querySelector(`[data-block-id='${e}']`);return Pt(r,o).toUpperCase()}return"VERTICAL"}catch{return"VERTICAL"}},Ei=(t,e,n)=>!!(t&&(n==="UP"||n==="LEFT")||e&&(n==="DOWN"||n==="RIGHT")),hp=(t,e)=>{const[n]=Z(),{document:s}=Xe(),{moveBlocks:r}=Ee(),o=d.get(t,"_id"),i=d.get(t,"_parent"),l=d.filter(n,x=>i?d.get(x,"_parent")===i:!d.get(x,"_parent")),c=(l==null?void 0:l.length)<=1,u=d.findIndex(l,{_id:o}),p=u<=0,f=u+1===(l==null?void 0:l.length),m=fp(i,o,s),h=g.useCallback(x=>{Ei(p,f,x)||c||(x==="UP"||x==="LEFT"?r([o],i||void 0,u-1):(x==="DOWN"||x==="RIGHT")&&r([o],i||void 0,u+2),e())},[p,f,c,u,o,i,e]);return Je.useHotkeys("shift+up, shift+down, shift+left, shift+right",({key:x})=>{var b;h((b=x==null?void 0:x.replace("Arrow",""))==null?void 0:b.toUpperCase())},{document:s},[h]),{isOnlyChild:c,isFirstBlock:p,isLastBlock:f,moveBlock:h,orientation:m}},mp=({block:t,updateFloatingBar:e})=>{const{isOnlyChild:n,isFirstBlock:s,isLastBlock:r,moveBlock:o,orientation:i}=hp(t,e);return n?null:a.jsx(a.Fragment,{children:pp.map(({ControlIcon:l,dir:c,key:u})=>i!==c||Ei(s,r,u)?null:a.jsx(l,{onClick:()=>o(u),className:"rounded p-px hover:bg-white hover:text-blue-500"},u))})},no=()=>{const[t]=Z(),[,e]=q(),{addBlocks:n}=Ee();return g.useCallback((s,r=null)=>{const o=[];d.each(s,i=>{const l=t.find(m=>m._id===i);r?r==="root"&&(r=null):r=(l==null?void 0:l._parent)??null;const p=d.filter(t,m=>d.isString(r)?m._parent===r:!m._parent).indexOf(l)+1,f=mr(t,i,r);n(f,r??void 0,p),o.push(d.get(f,"0._id",""))}),e(o)},[t,e])},gp=N.atom(""),Ai=()=>N.useAtom(gp),Ii=N.atom("");Ii.debugLabel="inlineEditingActiveAtom";const _i=N.atom(0);_i.debugLabel="inlineEditingItemIndexAtom";const $t=()=>{const[t,e]=N.useAtom(Ii),[n,s]=N.useAtom(_i);return{editingBlockId:t,editingItemIndex:n,setEditingBlockId:e,setEditingItemIndex:s}},Ti=N.atom("outline");Ti.debugLabel="sidebarActivePanelAtom";const Bs=()=>N.useAtom(Ti),xp=({blockId:t,className:e})=>{const n=()=>{t&&ae.publish(Y.GOTO_BLOCK_SETTINGS,t)};return a.jsx(v.GearIcon,{className:e,onClick:n})},bp=N.atom(0),Bi=N.atom(0);function so(t){if(t.getAttribute("data-block-id")==="canvas")return null;if(t.getAttribute("data-block-id")||t.getAttribute("data-block-parent"))return t;const e=t.closest("[data-block-id]");return(e==null?void 0:e.getAttribute("data-block-id"))==="canvas"?null:e}const yp=["Heading","Paragraph","Text","Link","Span","Button"],kp=t=>{var e;return(t==null?void 0:t.getAttribute("data-block-type"))==="RichText"||((e=t==null?void 0:t.parentElement)==null?void 0:e.getAttribute("data-block-type"))==="RichText"},Ri=t=>t?d.some(t.children,e=>{const n=e;return n.hasAttribute("data-block-id")||Ri(n)}):!1,vp=(t,e)=>{if(kp(t))return!0;const n=t==null?void 0:t.getAttribute("data-block-type");return n?yp.includes(n):!1},wp=()=>{const{editingBlockId:t,setEditingBlockId:e,setEditingItemIndex:n}=$t();return g.useCallback(s=>{var l;if(s==null||s.preventDefault(),s==null||s.stopPropagation(),t)return;const r=so(s.target);if(!r||!vp(r)||Ri(r))return;const o=r.getAttribute("data-block-id");if(!o)return;const i=r.closest('[data-block-type="Repeater"]');i?(l=i==null?void 0:i.childNodes)==null||l.forEach((c,u)=>{c.contains(r)&&n(u)}):n(-1),e(o)},[t,e,n])},Cp=()=>{const{editingBlockId:t}=$t(),{clearHighlight:e}=nt(),[,n]=Ae(),[s]=N.useAtom(Bi);return g.useCallback(r=>{if(t)return;r.stopPropagation();const o=so(r.target);if(!o){e(),n([]),ae.publish(Y.CANVAS_BLOCK_SELECTED,[]);return}if(s!==2){if(o!=null&&o.getAttribute("data-block-id")&&(o==null?void 0:o.getAttribute("data-block-id"))==="container"){ae.publish(Y.CLEAR_CANVAS_SELECTION);return}if(o!=null&&o.getAttribute("data-block-parent")){const i=o.getAttribute("data-style-prop"),l=o.getAttribute("data-style-id"),c=o.getAttribute("data-block-parent");ae.publish(Y.CANVAS_BLOCK_STYLE_SELECTED,{blockId:c,styleId:l,styleProp:i})}else if(o!=null&&o.getAttribute("data-block-id")){const i=o.getAttribute("data-block-id");ae.publish(Y.CANVAS_BLOCK_SELECTED,i==="canvas"?[]:[i])}e()}},[t,s,e,n])},jp=()=>{const{editingBlockId:t}=$t(),{highlightBlock:e}=nt();return xe.useThrottledCallback(n=>{if(t)return;const s=so(n.target);s&&e(s)},[t,e],100)},Sp=()=>{const{clearHighlight:t}=nt();return g.useCallback(()=>t(),[t])},Np=({children:t})=>{const e=wp(),n=Cp(),s=jp(),r=Sp();return a.jsx("div",{"data-block-id":"canvas",id:"canvas",onClick:n,onDoubleClick:e,onMouseMove:s,onMouseLeave:r,className:"relative h-full max-w-full p-px",children:t})},Pi=(t,e)=>t.querySelector(`[data-block-id="${e}"]`),Ep=(t,e)=>t.querySelector(`[data-style-id="${e}"]`),Ap=()=>{const t=X(),{document:e}=Xe(),[n]=Ae(),[s,r]=g.useState([]),[,o]=g.useState([]),{onDragStart:i,onDragEnd:l,isDragging:c}=sn(),[u,p]=g.useState(null),f=Ye(),m=(h,x=0)=>{const{top:b}=h.getBoundingClientRect();return b+x>=0&&b-x<=window.innerHeight};return g.useEffect(()=>{var h;if(t!=null&&t._id&&t.type!=="Multiple"&&e){const x=Pi(e,t._id);x&&(m(x)||(h=e.defaultView)==null||h.scrollTo({top:x.offsetTop,behavior:"smooth"}),r([x]))}},[t==null?void 0:t._id,t==null?void 0:t.type,e]),g.useEffect(()=>{if(!d.isEmpty(n)&&e){const h=Ep(e,d.first(n).id);o(h?[h]:[null])}else o([null])},[n,e]),a.jsx("div",{onDragEnd:()=>{p(null),l()},draggable:f&&!!t,onDragStart:h=>{p(s==null?void 0:s[0]),i(h,t,!1)},children:t&&a.jsx(Ip,{block:t,isDragging:c&&!!u,selectedBlockElement:s[0]||(c?u:null)})})},Ip=({block:t,isDragging:e,selectedBlockElement:n})=>{const s=Is(),r=no(),[,o]=q(),[,i]=Ai(),[,l]=Ae(),{hasPermission:c}=We(),{editingBlockId:u}=$t(),{document:p}=Xe(),f=Ye(),m=$("flags.gotoSettings",!1),h=$("flags.ai",!1),{floatingStyles:x,refs:b,update:y}=Jo.useFloating({placement:"top-start",middleware:[Jo.shift({boundary:p==null?void 0:p.body,limiter:Xs.limitShift({offset:8,mainAxis:!0,crossAxis:!0})}),Xs.flip({boundary:p==null?void 0:p.body,fallbackPlacements:["bottom-start","top-end","bottom-end","inside"]}),Xs.size({boundary:p==null?void 0:p.body,apply({availableWidth:w,availableHeight:j,elements:_}){Object.assign(_.floating.style,{maxWidth:`${Math.max(200,w)}px`,maxHeight:`${Math.max(100,j)}px`})}})],elements:{reference:n}});xe.useResizeObserver(n,()=>y(),n!==null),xe.useResizeObserver(p==null?void 0:p.body,()=>y(),(p==null?void 0:p.body)!==null);const k=d.get(t,"_parent",null),C=d.isEmpty(d.get(t,"_name",""))?d.get(t,"_type",""):d.get(t,"_name","");g.useEffect(()=>{let w=null;return n?(w=setTimeout(()=>y(),500),()=>{w&&clearTimeout(w)}):(y(),()=>{w&&clearTimeout(w)})},[n,t==null?void 0:t._id]);const[,A]=Bs();return!e&&(!n||!t||u)?null:a.jsx(a.Fragment,{children:a.jsx("div",{role:"button",tabIndex:0,ref:b.setFloating,style:x,onClick:w=>{w.stopPropagation(),w.preventDefault()},onMouseEnter:w=>{w.stopPropagation(),i(null)},onKeyDown:w=>w.stopPropagation(),className:`isolate z-[999] flex h-6 items-center justify-between bg-blue-500 py-2 text-xs text-white ${e?"opacity-0":""}`,children:a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center",children:[f&&a.jsx(v.DragHandleDots2Icon,{className:"flex-shrink-0 cursor-grab rounded p-0.5 hover:bg-white/20 active:cursor-grabbing"}),k&&a.jsx(v.ArrowUpIcon,{className:"flex-shrink-0 rounded p-0.5 hover:bg-white/20",onClick:()=>{l([]),o([k])}})]}),a.jsx("div",{className:`w-full ${f?"cursor-grab active:cursor-grabbing":""}`,children:a.jsx("div",{className:"mr-10 w-full items-center space-x-1 px-1 leading-tight",children:C})}),a.jsxs("div",{className:"flex items-center gap-1 pl-1 pr-1.5",children:[c(Q.ADD_BLOCK)&&h&&a.jsx(Br,{className:"h-4 w-4 rounded hover:bg-white hover:text-blue-500",onClick:()=>{A("chai-chat-panel"),ae.publish(Y.OPEN_AI_PANEL)}}),m&&a.jsx(xp,{blockId:t==null?void 0:t._id,className:"h-4 w-4 rounded p-px hover:bg-white hover:text-blue-500"}),!f&&a.jsx(Iu,{block:t,children:a.jsx(v.PlusIcon,{className:"h-4 w-4 rounded p-px hover:bg-white hover:text-blue-500"})}),Lr(d.get(t,"_type",""))&&c(Q.ADD_BLOCK)?a.jsx(v.CopyIcon,{className:"h-4 w-4 rounded p-px hover:bg-white hover:text-blue-500",onClick:()=>r([t==null?void 0:t._id])}):null,Dr(d.get(t,"_type",""))&&c(Q.DELETE_BLOCK)?a.jsx(v.TrashIcon,{className:"h-4 w-4 rounded p-px hover:bg-white hover:text-blue-500",onClick:()=>s([t==null?void 0:t._id])}):null,c(Q.MOVE_BLOCK)&&a.jsx(mp,{block:t,updateFloatingBar:y})]})]})})})},Li=`<!doctype html>
2
2
  <html lang="en" dir="__HTML_DIR__" class="scroll-smooth h-full overflow-y-auto">
3
3
  <head>
4
4
  <meta charset="UTF-8">
@@ -122,17 +122,17 @@
122
122
  <body class="font-body antialiased h-full">
123
123
  <div class="frame-root h-full"></div>
124
124
  </body>
125
- </html>`;class Ip extends g.Component{componentDidMount(){this.props.contentDidMount()}componentDidUpdate(){this.props.contentDidUpdate()}render(){return g.Children.only(this.props.children)}}class Di extends g.Component{constructor(n,s){super(n,s);vt(this,"setRef",n=>{this.nodeRef.current=n;const{forwardedRef:s}=this.props;typeof s=="function"?s(n):s&&(s.current=n)});vt(this,"handleLoad",()=>{clearInterval(this.loadCheck),this.state.iframeLoaded||this.setState({iframeLoaded:!0})});vt(this,"loadCheck",()=>setInterval(()=>{this.handleLoad()},500));this._isMounted=!1,this.nodeRef=g.createRef(),this.state={iframeLoaded:!1}}componentDidMount(){this._isMounted=!0,this.getDoc()&&this.nodeRef.current.contentWindow.addEventListener("DOMContentLoaded",this.handleLoad)}componentWillUnmount(){this._isMounted=!1,this.nodeRef.current.removeEventListener("DOMContentLoaded",this.handleLoad)}getDoc(){return this.nodeRef.current?this.nodeRef.current.contentDocument:null}getMountTarget(){const n=this.getDoc();return this.props.mountTarget?n.querySelector(this.props.mountTarget):n.body.children[0]}renderFrameContents(){if(!this._isMounted)return null;const n=this.getDoc();if(!n)return null;const s=this.props.contentDidMount,r=this.props.contentDidUpdate,o=n.defaultView||n.parentView,i=a.jsx(Ip,{contentDidMount:s,contentDidUpdate:r,children:a.jsx(up,{value:{document:n,window:o},children:a.jsx("div",{className:"frame-content",children:this.props.children})})}),l=this.getMountTarget();return[fr.createPortal(this.props.head,this.getDoc().head),fr.createPortal(i,l)]}render(){const n={...this.props,srcDoc:this.props.initialContent,children:void 0};return delete n.head,delete n.initialContent,delete n.mountTarget,delete n.contentDidMount,delete n.contentDidUpdate,delete n.forwardedRef,a.jsx("iframe",{...n,ref:this.setRef,onLoad:this.handleLoad,children:this.state.iframeLoaded&&this.renderFrameContents()})}}vt(Di,"defaultProps",{style:{},head:null,children:void 0,mountTarget:void 0,contentDidMount:()=>{},contentDidUpdate:()=>{},initialContent:'<!DOCTYPE html><html><head></head><body><div class="frame-root"></div></body></html>'});const Mi=g.forwardRef((t,e)=>a.jsx(Di,{...t,forwardedRef:e})),Oi=N.atom([]),Rs=()=>{const[t,e]=N.useAtom(Oi),n=N.useSetAtom($i),s=g.useCallback(r=>{e(r),n([])},[e,n]);return[t,s]},$i=N.atom([]),Fi=()=>{const[t]=Z(),[e,n]=N.useAtom($i),s=N.useSetAtom(Oi),{getPartialBlocks:r}=Es(),o=$("flags.copyPaste",!0),i=g.useCallback(c=>c.some(u=>mr(t,u,null).some(f=>f._type==="PartialBlock"||f._type==="GlobalBlock")),[t]),l=g.useCallback(async(c,u=!1)=>{try{if(d.isEmpty(c))return;n(c),s([]);const p={_chai_copied_blocks:c.flatMap(f=>{const m=mr(t,f,null);if(!u)return m;let h=[];for(const x of m)if(x._type==="PartialBlock"||x._type==="GlobalBlock"){let b=r(x.partialBlockId);x._parent&&(b==null?void 0:b.length)>0&&(b=b.map(y=>(d.isEmpty(y._parent)&&d.set(y,"_parent",x._parent),y))),h=[...h,...b]}else h.push(x);return h})};if(!o)return;if(!navigator.clipboard){ue.toast.error("Clipboard not available.");return}ue.toast.promise(navigator.clipboard.writeText(JSON.stringify(p)),{success:"Blocks copied successfully",error:"Failed to copy blocks to clipboard"})}catch(p){ue.toast.error("Failed to copy blocks to clipboard"),console.error("Failed to copy blocks to clipboard:",p)}},[n,s,t]);return[e,l,i]},Qs=()=>navigator.userAgent.toLowerCase().includes("firefox"),Tp=()=>{const[t]=Z();return(e,n)=>{var o;const s=((o=d.find(t,{_id:n}))==null?void 0:o._type)||null,r=d.first(e.map(i=>{var l;return(l=d.find(t,{_id:i}))==null?void 0:l._type}));return tt(s,r)}},Bp=()=>{const t=N.useAtomValue(Ne),{moveBlocks:e}=Ee();return g.useCallback((n,s)=>{const r=Array.isArray(s)?s[0]:s;if(s==="root"){const o=t==null?void 0:t.filter(i=>!i._parent);e(n,void 0,(o==null?void 0:o.length)||0)}else{const o=t==null?void 0:t.filter(i=>i._parent===r);e(n,r,(o==null?void 0:o.length)||0)}},[e,t])},ro=()=>{const[t,e]=Rs(),n=Bp(),{addPredefinedBlock:s}=xt(),r=Tp();return{canPaste:g.useCallback(async i=>{if(t.length>0)return r(t,i);if(Qs())return!1;try{const l=await navigator.clipboard.readText();if(l){const c=JSON.parse(l);return d.has(c,"_chai_copied_blocks")}}catch{return!1}return!1},[r,t]),pasteBlocks:g.useCallback(async i=>{const l=Array.isArray(i)?i[0]:i;if(!d.isEmpty(t)){n(t,i),e([]),Qs()||await navigator.clipboard.writeText("");return}if(Qs()){ue.toast.error("Paste is not supported in Firefox");return}if(!(navigator!=null&&navigator.permissions)){ue.toast.error("Cannot check clipboard permissions.");return}try{if((await navigator.permissions.query({name:"clipboard-read"})).state==="denied"){ue.toast.error("Clipboard paste permission denied. Please allow clipboard access.");return}}catch{ue.toast.error("Failed to check clipboard permissions. Please allow clipboard access.");return}ue.toast.promise(async()=>{const c=await navigator.clipboard.readText();if(c){const u=JSON.parse(c);if(d.has(u,"_chai_copied_blocks"))s(u._chai_copied_blocks,l==="root"?null:l);else throw new Error("Nothing to paste")}else throw new Error("Nothing to paste")},{success:()=>"Blocks pasted successfully",error:()=>"Nothing to paste"})},[t,n,e,s])}},zi=t=>{const[e,n]=q(),s=X(),r=_s(),o=no(),{undo:i,redo:l}=In(),[,c]=Rs(),[,u]=Fi(),{canPaste:p,pasteBlocks:f}=ro(),m=t?{document:t}:{};Je.useHotkeys("ctrl+z,meta+z",h=>{h.preventDefault(),qe.hasUndo()&&i()},{...m,preventDefault:!0},[i]),Je.useHotkeys("ctrl+y,meta+y",h=>{h.preventDefault(),qe.hasRedo()&&l()},{...m,preventDefault:!0},[l]),Je.useHotkeys("ctrl+x,meta+x",h=>{const x=window.getSelection();x&&x.toString().length>0||(h.preventDefault(),d.isEmpty(e)||c(e))},{...m,enabled:!d.isEmpty(e)},[e,c]),Je.useHotkeys("ctrl+c,meta+c",h=>{const x=window.getSelection();x&&x.toString().length>0||(h.preventDefault(),u(e))},{...m,enabled:!d.isEmpty(e)},[e,u]),Je.useHotkeys("ctrl+v,meta+v",async()=>{await p(e[0])&&f(e)},{...m,enabled:!d.isEmpty(e),preventDefault:!0},[e,p,f]),Je.useHotkeys("esc",()=>n([]),m,[n]),Je.useHotkeys("ctrl+d,meta+d",()=>o(e),{...m,enabled:!d.isEmpty(e),preventDefault:!0},[e,o]),Je.useHotkeys("del, backspace",h=>{h.preventDefault(),Dr(d.get(s,"_type",""))&&r(e)},m,[e,r])},Rp=()=>{const{document:t}=Xe();return zi(t),null},Pp=()=>{const{t}=z.useTranslation(),{hasPermission:e}=We(),n=e(Q.ADD_BLOCK),s=Ye();return n?a.jsxs("div",{id:"add-block-bottom",className:"group relative w-full cursor-pointer py-2",children:[a.jsx("br",{}),!s&&a.jsx("div",{role:"button",onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK),className:"block h-1 rounded bg-primary opacity-0 duration-200 group-hover:opacity-100",children:a.jsxs("div",{className:"absolute left-1/2 flex -translate-x-1/2 -translate-y-1/2 transform items-center gap-x-1 rounded-full bg-primary px-3 py-1 text-xs leading-tight text-white hover:bg-primary",children:[a.jsx(v.PlusIcon,{className:"size-2.5 stroke-[3]"})," ",t("Add block")]})}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]}):null},oo=({theme:t})=>{const e=g.useMemo(()=>Qe.getChaiThemeCssVariables({theme:t}),[t]);return a.jsx("style",{id:"chai-theme",dangerouslySetInnerHTML:{__html:e}})},Hi=Oe.atomWithStorage("darkMode",!1),rn=()=>{const[t,e]=N.useAtom(Hi);return[t,e]},Lp=(t=Qe.defaultThemeOptions)=>{const e=Qe.defaultThemeValues;return t.fontFamily&&(e.fontFamily=Object.entries(t.fontFamily).reduce((n,[s,r])=>({...n,[s.replace("font-","")]:r}),e.fontFamily)),e.borderRadius=t.borderRadius,t.colors&&(e.colors=t.colors.reduce((n,s)=>(Object.entries(s.items).forEach(([r,o])=>{r in n&&(n[r]=o)}),n),e.colors)),e},Vi=N.atom({}),Rn=()=>{const t=on(),e=g.useMemo(()=>Lp(t),[t]),n=$("theme",{}),[s,r]=N.useAtom(Vi);return[g.useMemo(()=>({...e,...!d.isEmpty(n)&&n,...!d.isEmpty(s)&&s}),[e,n,s]),r]},on=()=>{const t=$("themeOptions",n=>n);return g.useMemo(()=>t(Qe.defaultThemeOptions),[t])},Dp=N.atom("block"),Wi=()=>N.useAtom(Dp),Mp=N.atom("settings"),Gi=()=>N.useAtom(Mp),Op=()=>{const[t]=Rn(),e=on(),[n]=rn(),{document:s,window:r}=Xe();return g.useEffect(()=>{n?s==null||s.documentElement.classList.add("dark"):s==null||s.documentElement.classList.remove("dark")},[n,s]),g.useEffect(()=>{!r||!r.tailwind||(r.tailwind.config={darkMode:"class",theme:{extend:{container:{center:!0,padding:"1rem",screens:{"2xl":"1400px"}},...Qe.getChaiThemeOptions(e)}},plugins:[Td,Id,Ad,_d,Qe.plugin(function({addBase:o,theme:i}){o({"h1,h2,h3,h4,h5,h6":{fontFamily:i("fontFamily.heading")},body:{fontFamily:i("fontFamily.body"),color:i("colors.foreground"),backgroundColor:i("colors.background")}})})]})},[t,e,r]),a.jsxs(a.Fragment,{children:[a.jsx(oo,{theme:t}),a.jsx(zp,{}),a.jsx(Fp,{}),a.jsx($p,{})]})},$p=()=>{const[t]=Ae(),[e]=q(),n=g.useMemo(()=>`${d.map(t,({id:s})=>`[data-style-id="${s}"]`).join(",")}{
125
+ </html>`;class _p extends g.Component{componentDidMount(){this.props.contentDidMount()}componentDidUpdate(){this.props.contentDidUpdate()}render(){return g.Children.only(this.props.children)}}class Di extends g.Component{constructor(n,s){super(n,s);vt(this,"setRef",n=>{this.nodeRef.current=n;const{forwardedRef:s}=this.props;typeof s=="function"?s(n):s&&(s.current=n)});vt(this,"handleLoad",()=>{clearInterval(this.loadCheck),this.state.iframeLoaded||this.setState({iframeLoaded:!0})});vt(this,"loadCheck",()=>setInterval(()=>{this.handleLoad()},500));this._isMounted=!1,this.nodeRef=g.createRef(),this.state={iframeLoaded:!1}}componentDidMount(){this._isMounted=!0,this.getDoc()&&this.nodeRef.current.contentWindow.addEventListener("DOMContentLoaded",this.handleLoad)}componentWillUnmount(){this._isMounted=!1,this.nodeRef.current.removeEventListener("DOMContentLoaded",this.handleLoad)}getDoc(){return this.nodeRef.current?this.nodeRef.current.contentDocument:null}getMountTarget(){const n=this.getDoc();return this.props.mountTarget?n.querySelector(this.props.mountTarget):n.body.children[0]}renderFrameContents(){if(!this._isMounted)return null;const n=this.getDoc();if(!n)return null;const s=this.props.contentDidMount,r=this.props.contentDidUpdate,o=n.defaultView||n.parentView,i=a.jsx(_p,{contentDidMount:s,contentDidUpdate:r,children:a.jsx(up,{value:{document:n,window:o},children:a.jsx("div",{className:"frame-content",children:this.props.children})})}),l=this.getMountTarget();return[fr.createPortal(this.props.head,this.getDoc().head),fr.createPortal(i,l)]}render(){const n={...this.props,srcDoc:this.props.initialContent,children:void 0};return delete n.head,delete n.initialContent,delete n.mountTarget,delete n.contentDidMount,delete n.contentDidUpdate,delete n.forwardedRef,a.jsx("iframe",{...n,ref:this.setRef,onLoad:this.handleLoad,children:this.state.iframeLoaded&&this.renderFrameContents()})}}vt(Di,"defaultProps",{style:{},head:null,children:void 0,mountTarget:void 0,contentDidMount:()=>{},contentDidUpdate:()=>{},initialContent:'<!DOCTYPE html><html><head></head><body><div class="frame-root"></div></body></html>'});const Mi=g.forwardRef((t,e)=>a.jsx(Di,{...t,forwardedRef:e})),Oi=N.atom([]),Rs=()=>{const[t,e]=N.useAtom(Oi),n=N.useSetAtom($i),s=g.useCallback(r=>{e(r),n([])},[e,n]);return[t,s]},$i=N.atom([]),Fi=()=>{const[t]=Z(),[e,n]=N.useAtom($i),s=N.useSetAtom(Oi),{getPartialBlocks:r}=Es(),o=$("flags.copyPaste",!0),i=g.useCallback(c=>c.some(u=>mr(t,u,null).some(f=>f._type==="PartialBlock"||f._type==="GlobalBlock")),[t]),l=g.useCallback(async(c,u=!1)=>{try{if(d.isEmpty(c))return;n(c),s([]);const p={_chai_copied_blocks:c.flatMap(f=>{const m=mr(t,f,null);if(!u)return m;let h=[];for(const x of m)if(x._type==="PartialBlock"||x._type==="GlobalBlock"){let b=r(x.partialBlockId);x._parent&&(b==null?void 0:b.length)>0&&(b=b.map(y=>(d.isEmpty(y._parent)&&d.set(y,"_parent",x._parent),y))),h=[...h,...b]}else h.push(x);return h})};if(!o)return;if(!navigator.clipboard){ue.toast.error("Clipboard not available.");return}ue.toast.promise(navigator.clipboard.writeText(JSON.stringify(p)),{success:"Blocks copied successfully",error:"Failed to copy blocks to clipboard"})}catch(p){ue.toast.error("Failed to copy blocks to clipboard"),console.error("Failed to copy blocks to clipboard:",p)}},[n,s,t]);return[e,l,i]},Qs=()=>navigator.userAgent.toLowerCase().includes("firefox"),Tp=()=>{const[t]=Z();return(e,n)=>{var o;const s=((o=d.find(t,{_id:n}))==null?void 0:o._type)||null,r=d.first(e.map(i=>{var l;return(l=d.find(t,{_id:i}))==null?void 0:l._type}));return tt(s,r)}},Bp=()=>{const t=N.useAtomValue(Ne),{moveBlocks:e}=Ee();return g.useCallback((n,s)=>{const r=Array.isArray(s)?s[0]:s;if(s==="root"){const o=t==null?void 0:t.filter(i=>!i._parent);e(n,void 0,(o==null?void 0:o.length)||0)}else{const o=t==null?void 0:t.filter(i=>i._parent===r);e(n,r,(o==null?void 0:o.length)||0)}},[e,t])},ro=()=>{const[t,e]=Rs(),n=Bp(),{addPredefinedBlock:s}=xt(),r=Tp();return{canPaste:g.useCallback(async i=>{if(t.length>0)return r(t,i);if(Qs())return!1;try{const l=await navigator.clipboard.readText();if(l){const c=JSON.parse(l);return d.has(c,"_chai_copied_blocks")}}catch{return!1}return!1},[r,t]),pasteBlocks:g.useCallback(async i=>{const l=Array.isArray(i)?i[0]:i;if(!d.isEmpty(t)){n(t,i),e([]),Qs()||await navigator.clipboard.writeText("");return}if(Qs()){ue.toast.error("Paste is not supported in Firefox");return}if(!(navigator!=null&&navigator.permissions)){ue.toast.error("Cannot check clipboard permissions.");return}try{if((await navigator.permissions.query({name:"clipboard-read"})).state==="denied"){ue.toast.error("Clipboard paste permission denied. Please allow clipboard access.");return}}catch{ue.toast.error("Failed to check clipboard permissions. Please allow clipboard access.");return}ue.toast.promise(async()=>{const c=await navigator.clipboard.readText();if(c){const u=JSON.parse(c);if(d.has(u,"_chai_copied_blocks"))s(u._chai_copied_blocks,l==="root"?null:l);else throw new Error("Nothing to paste")}else throw new Error("Nothing to paste")},{success:()=>"Blocks pasted successfully",error:()=>"Nothing to paste"})},[t,n,e,s])}},zi=t=>{const[e,n]=q(),s=X(),r=Is(),o=no(),{undo:i,redo:l}=_n(),[,c]=Rs(),[,u]=Fi(),{canPaste:p,pasteBlocks:f}=ro(),m=t?{document:t}:{};Je.useHotkeys("ctrl+z,meta+z",h=>{h.preventDefault(),qe.hasUndo()&&i()},{...m,preventDefault:!0},[i]),Je.useHotkeys("ctrl+y,meta+y",h=>{h.preventDefault(),qe.hasRedo()&&l()},{...m,preventDefault:!0},[l]),Je.useHotkeys("ctrl+x,meta+x",h=>{const x=window.getSelection();x&&x.toString().length>0||(h.preventDefault(),d.isEmpty(e)||c(e))},{...m,enabled:!d.isEmpty(e)},[e,c]),Je.useHotkeys("ctrl+c,meta+c",h=>{const x=window.getSelection();x&&x.toString().length>0||(h.preventDefault(),u(e))},{...m,enabled:!d.isEmpty(e)},[e,u]),Je.useHotkeys("ctrl+v,meta+v",async()=>{await p(e[0])&&f(e)},{...m,enabled:!d.isEmpty(e),preventDefault:!0},[e,p,f]),Je.useHotkeys("esc",()=>n([]),m,[n]),Je.useHotkeys("ctrl+d,meta+d",()=>o(e),{...m,enabled:!d.isEmpty(e),preventDefault:!0},[e,o]),Je.useHotkeys("del, backspace",h=>{h.preventDefault(),Dr(d.get(s,"_type",""))&&r(e)},m,[e,r])},Rp=()=>{const{document:t}=Xe();return zi(t),null},Pp=()=>{const{t}=z.useTranslation(),{hasPermission:e}=We(),n=e(Q.ADD_BLOCK),s=Ye();return n?a.jsxs("div",{id:"add-block-bottom",className:"group relative w-full cursor-pointer py-2",children:[a.jsx("br",{}),!s&&a.jsx("div",{role:"button",onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK),className:"block h-1 rounded bg-primary opacity-0 duration-200 group-hover:opacity-100",children:a.jsxs("div",{className:"absolute left-1/2 flex -translate-x-1/2 -translate-y-1/2 transform items-center gap-x-1 rounded-full bg-primary px-3 py-1 text-xs leading-tight text-white hover:bg-primary",children:[a.jsx(v.PlusIcon,{className:"size-2.5 stroke-[3]"})," ",t("Add block")]})}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]}):null},oo=({theme:t})=>{const e=g.useMemo(()=>Qe.getChaiThemeCssVariables({theme:t}),[t]);return a.jsx("style",{id:"chai-theme",dangerouslySetInnerHTML:{__html:e}})},Hi=Oe.atomWithStorage("darkMode",!1),rn=()=>{const[t,e]=N.useAtom(Hi);return[t,e]},Lp=(t=Qe.defaultThemeOptions)=>{const e=Qe.defaultThemeValues;return t.fontFamily&&(e.fontFamily=Object.entries(t.fontFamily).reduce((n,[s,r])=>({...n,[s.replace("font-","")]:r}),e.fontFamily)),e.borderRadius=t.borderRadius,t.colors&&(e.colors=t.colors.reduce((n,s)=>(Object.entries(s.items).forEach(([r,o])=>{r in n&&(n[r]=o)}),n),e.colors)),e},Vi=N.atom({}),Rn=()=>{const t=on(),e=g.useMemo(()=>Lp(t),[t]),n=$("theme",{}),[s,r]=N.useAtom(Vi);return[g.useMemo(()=>({...e,...!d.isEmpty(n)&&n,...!d.isEmpty(s)&&s}),[e,n,s]),r]},on=()=>{const t=$("themeOptions",n=>n);return g.useMemo(()=>t(Qe.defaultThemeOptions),[t])},Dp=N.atom("block"),Wi=()=>N.useAtom(Dp),Mp=N.atom("settings"),Gi=()=>N.useAtom(Mp),Op=()=>{const[t]=Rn(),e=on(),[n]=rn(),{document:s,window:r}=Xe();return g.useEffect(()=>{n?s==null||s.documentElement.classList.add("dark"):s==null||s.documentElement.classList.remove("dark")},[n,s]),g.useEffect(()=>{!r||!r.tailwind||(r.tailwind.config={darkMode:"class",theme:{extend:{container:{center:!0,padding:"1rem",screens:{"2xl":"1400px"}},...Qe.getChaiThemeOptions(e)}},plugins:[Td,_d,Ad,Id,Qe.plugin(function({addBase:o,theme:i}){o({"h1,h2,h3,h4,h5,h6":{fontFamily:i("fontFamily.heading")},body:{fontFamily:i("fontFamily.body"),color:i("colors.foreground"),backgroundColor:i("colors.background")}})})]})},[t,e,r]),a.jsxs(a.Fragment,{children:[a.jsx(oo,{theme:t}),a.jsx(zp,{}),a.jsx(Fp,{}),a.jsx($p,{})]})},$p=()=>{const[t]=Ae(),[e]=q(),n=g.useMemo(()=>`${d.map(t,({id:s})=>`[data-style-id="${s}"]`).join(",")}{
126
126
  outline: 1px solid ${e.length>0?"#42a1fc":"#de8f09"} !important; outline-offset: -1px;
127
127
  }`,[t,e]);return a.jsx("style",{id:"selected-styling-blocks",dangerouslySetInnerHTML:{__html:n}})},Fp=()=>{const[t]=q(),e=g.useMemo(()=>`${d.map(t,n=>`[data-block-id="${n}"]`).join(",")}{
128
128
  outline: 1px solid #42a1fc !important; outline-offset: -1px;
129
- }`,[t]);return a.jsx("style",{id:"selected-blocks",dangerouslySetInnerHTML:{__html:e}})},zp=()=>{const[t]=Rn(),e=Tr.useRegisteredFonts(),n=g.useMemo(()=>{const{heading:o,body:i}={heading:d.get(t,"fontFamily.heading"),body:d.get(t,"fontFamily.body")};return e.filter(l=>l.family===o||l.family===i)},[t==null?void 0:t.fontFamily,e]),s=g.useMemo(()=>Qe.getThemeFontsUrls(d.filter(n,o=>d.has(o,"url"))),[n]),r=g.useMemo(()=>Qe.getThemeCustomFontFace(d.filter(n,o=>d.has(o,"src"))),[n]);return a.jsxs(a.Fragment,{children:[s.map((o,i)=>a.jsx("link",{rel:"stylesheet",href:o},`google-font-${i}`)),a.jsx("style",{id:"chai-custom-fonts",dangerouslySetInnerHTML:{__html:r}})]})},Hp=({children:t,onMount:e,onResize:n})=>{const[,s]=q(),[,r]=Ae(),o=g.useRef(null),i=xe.useDebouncedCallback(()=>{const{clientWidth:c}=o.current;n(c)},[o.current],100);xe.useResizeObserver(o.current,i,o.current!==null),g.useEffect(()=>{const{clientWidth:c}=o.current;e(c)},[]);const l=g.useCallback(()=>{s([]),r([])},[s,r]);return a.jsx("div",{id:"main-content",onClick:l,className:"h-full w-full border-l-4 border-r-4 pb-0",ref:o,children:t})},Vp=()=>{const[,t]=q(),{onDragStart:e,onDragEnd:n}=sn(),[s]=Z(),r=g.useRef(null),[o,i]=N.useAtom(bp),[l,c]=N.useAtom(Bi),u=g.useCallback(m=>{var k;if(m.button!==0)return;const h=Date.now(),x=h-o;if(x<400&&x>0){c(2);return}i(h);const y=(k=m.target.closest("[data-block-id]"))==null?void 0:k.getAttribute("data-block-id");y&&(t([y]),r.current=y)},[t,o,i,l,c]),p=g.useCallback(m=>{if(!r.current)return;const h=d.find(s,{_id:r.current});h&&e(m,h,!1)},[s,e]),f=g.useCallback(()=>{n(),r.current=null},[n]);return{onMouseDown:u,onDragStart:p,onDragEnd:f}},Wp=()=>{const[t]=Z();return g.useCallback((e,n)=>d.isEmpty(n)?{}:Object.entries(n).reduce((s,[r,o])=>{const i=[];let l=d.find(t,{_id:e});for(;l;)i.push(l),l=d.find(t,{_id:l._parent});const c=d.find(i,{_type:o.block});return c&&(s[r]=d.get(c,d.get(o,"prop"),null)),s},{}),[t])},Gp=N.atom("edit"),Ui=()=>{const[t,e]=N.useAtom(Gp);return{mode:t,setMode:e}},Up=({children:t,block:e})=>{const n=g.useMemo(()=>K.getRegisteredChaiBlock(e._type),[e._type]),s=d.get(n,"dataProviderDependencies"),r=d.get(n,"dataProvider"),o=d.get(n,"dataProviderMode","mock"),i=Xd(e,o,s,r);return t(i)},qp=()=>a.jsx("div",{className:"flex min-h-[100px] items-center justify-center bg-red-50 p-2 text-center text-red-500",children:"Something went wrong."});function me(...t){return Wa.twMerge(Va.clsx(t))}const br=({editor:t,trigger:e,content:n,from:s,menuRef:r})=>{const{document:o}=Xe(),[i,l]=g.useState({left:void 0,right:void 0,top:void 0,bottom:void 0}),[c,u]=g.useState(!1),p=g.useRef(null);if(g.useEffect(()=>{var k,C;if(!c){l({left:void 0,right:void 0,top:void 0,bottom:void 0});return}const f=(k=p.current)==null?void 0:k.getBoundingClientRect();if(!f||!o)return;const m=(C=r.current)==null?void 0:C.getBoundingClientRect();if(!m)return;let h=f.left,x=f.bottom+4,b,y;(m==null?void 0:m.left)+(m==null?void 0:m.width)+50>=o.body.offsetWidth&&(h=void 0,b=o.body.offsetWidth-(f==null?void 0:f.right)),x+202>=o.body.clientHeight&&(x=void 0,y=o.body.clientHeight-f.bottom+m.height),l({left:h,top:x,right:b,bottom:y})},[c]),s==="canvas"){const f=()=>{u(!1),t&&(t==null||t.view.focus(),t==null||t.chain().focus().run())};return a.jsxs(a.Fragment,{children:[a.jsx("div",{ref:p,onClick:()=>u(m=>!m),className:"cursor-pointer",children:e}),c&&(i.left!==void 0||i.top!==void 0||i.right!==void 0||i.bottom!==void 0)&&fr.createPortal(a.jsx("div",{id:"chaibuilder-rte-dropdown-menu-content",onClick:f,className:"fixed inset-0 left-0 top-0 z-[10001] h-full w-screen",children:a.jsx("div",{onClick:m=>m.stopPropagation(),className:"absolute rounded-md border border-gray-500 bg-white p-1.5 text-xs shadow-2xl",style:Object.assign({},{left:i.left,top:i.top,right:i.right,bottom:i.bottom}),children:typeof n=="function"?n(f):n})}),o.body,"chaibuilder-rte-dropdown-menu")]})}return a.jsx(a.Fragment,{children:a.jsxs(mt,{open:c,onOpenChange:u,children:[a.jsx(gt,{className:"relative outline-none",asChild:!0,children:e}),a.jsx(et,{className:"z-50 rounded-md border bg-white p-1 text-xs shadow-xl",children:c&&(typeof n=="function"?n(()=>u(!1)):n)})]})})},Kp=(t,e,n)=>{const s=n==="settings",r=typeof e=="boolean"?e:e.some(o=>t.isActive(o));return{"rounded p-1":!0,"hover:bg-blue-900 hover:text-blue-100":!r&&!s,"hover:bg-blue-100 hover:text-blue-900":!r&&s,"bg-blue-500 text-white":r&&s,"bg-white text-blue-500":r&&!s}},na=({themeColors:t,onClose:e,color:n,onChange:s,onRemove:r})=>a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"flex w-[180px] flex-wrap gap-1 pb-2",children:(t==null?void 0:t.length)>0&&d.uniq(t).map(o=>{var i;return a.jsx("button",{className:me("h-4 w-4 cursor-pointer rounded-full border border-gray-900 shadow duration-200 hover:scale-105 hover:shadow-xl",{"border-2":o===n}),style:{backgroundColor:o},onClick:()=>{s(o),e()},title:(i=o||"#000000")==null?void 0:i.toUpperCase()},o)})}),a.jsx(fd.HexAlphaColorPicker,{color:n,onChange:s,style:{width:"200px",height:"200px"}}),a.jsxs("div",{className:"mt-1 flex items-center justify-between gap-1",children:[a.jsx(T.Input,{type:"text",value:n||"#000000f2",onChange:o=>s(o.target.value,!0),className:"!h-5 !w-[105px] rounded-sm !p-0 text-center font-light uppercase text-gray-600 outline-none ring-0 focus:ring-0",placeholder:"#000000"}),a.jsxs("button",{className:"flex h-4 w-max cursor-pointer items-center gap-x-1 rounded-full bg-transparent px-1 text-red-600 shadow-none duration-200 hover:bg-red-100",onClick:()=>{r(),e()},title:"Remove",children:[a.jsx(v.Cross1Icon,{className:"h-3 w-3"})," Remove"]})]})]}),Yp=({textColor:t,highlightColor:e,onChangeTextColor:n,onChangeHighlightColor:s,onRemoveTextColor:r,onRemoveHighlightColor:o,onClose:i})=>{const[l]=rn(),[c]=N.useAtom(zu),u=(c==null?void 0:c.colors)||{},p=Object.values(u).map(h=>d.get(h,l?"1":"0")),[f,m]=g.useState("TEXT");return a.jsxs("div",{id:"rte-widget-color-picker",className:"px-1",children:[a.jsxs("div",{className:"mb-2 flex items-center justify-between rounded-md border bg-muted",children:[a.jsx("div",{className:`w-full cursor-pointer rounded p-0.5 text-center ${f==="TEXT"?"bg-blue-500 text-white":"hover:bg-blue-100 hover:text-blue-500"}`,onClick:()=>m("TEXT"),children:"Text Color"}),a.jsx("div",{className:`w-full cursor-pointer rounded p-0.5 text-center ${f==="HIGHLIGHT"?"bg-blue-500 text-white":"hover:bg-blue-100 hover:text-blue-500"}`,onClick:()=>m("HIGHLIGHT"),children:"Highlight Color"})]}),f==="TEXT"?a.jsx(na,{themeColors:p,onClose:i,onChange:n,color:t,onRemove:r}):a.jsx(na,{themeColors:p,onClose:i,onChange:s,color:e,onRemove:o})]})},Xp=({editor:t,from:e,menuRef:n})=>{var C,A;const s=(C=t==null?void 0:t.getAttributes("textStyle"))==null?void 0:C.color,r=(A=t==null?void 0:t.getAttributes("highlight"))==null?void 0:A.color,[o,i]=g.useState(s||"#000000F2"),[l,c]=g.useState(r||"#00000057"),[u,p]=xe.useDebouncedState(o,150),[f,m]=xe.useDebouncedState(l,150),h=(w,j)=>{j?(i(w),p(w)):(t==null||t.chain().setColor(w).run(),i(w))},x=(w,j)=>{j?(c(w),m(w)):(t==null||t.chain().setHighlight({color:w}).run(),c(w))},b=()=>{t==null||t.chain().unsetColor().run(),i("#000000F2")},y=()=>{t==null||t.chain().unsetHighlight().run()};g.useEffect(()=>{r&&c(r)},[r]),g.useEffect(()=>{f!=null&&f.includes("#")&&(f==null?void 0:f.length)>=3&&(t==null||t.chain().setHighlight({color:f}).run())},[f]),g.useEffect(()=>{u!=null&&u.includes("#")&&(u==null?void 0:u.length)>=3&&(t==null||t.chain().setColor(u).run())},[u]);const k=!!s;return a.jsx(br,{editor:t,from:e,menuRef:n,trigger:a.jsxs("div",{className:me("relative flex items-center",Kp(t,k,e)),title:"Text Color",children:[a.jsx("div",{className:"h-4 w-4 rounded-full",style:{backgroundColor:s||(e==="canvas"?"#FFFFFF":"#000000")}}),a.jsx(v.CaretDownIcon,{className:"h-3 w-3 opacity-50"})]}),content:w=>a.jsx(Yp,{textColor:o,highlightColor:l,onChangeTextColor:h,onChangeHighlightColor:x,onRemoveTextColor:b,onRemoveHighlightColor:y,onClose:w})})},De=(t,e,n)=>{const s=n==="settings",r=typeof e=="boolean"?e:e.some(o=>t.isActive(o));return{"rounded p-1":!0,"hover:bg-blue-900 hover:text-blue-100":!r&&!s,"hover:bg-blue-100 hover:text-blue-900":!r&&s,"bg-blue-500 text-white":r&&s,"bg-white text-blue-500":r&&!s}},qi=({editor:t,from:e="settings",onExpand:n})=>{const s=g.useRef(null);if(!t)return null;const r=()=>{const i=window.prompt("URL");i&&t.chain().focus().extendMarkRange("link").setLink({href:i}).run()},o=()=>{t.chain().focus().unsetLink().run()};return a.jsxs("div",{ref:s,id:"chai-rich-text-menu-bar",className:me("mb-1 flex flex-wrap gap-0.5 rounded-t-md border-b border-border bg-gray-50 p-1",{"mb-0 rounded-md border-none bg-blue-500 text-white":e==="canvas"}),children:[a.jsx("button",{type:"button",onClick:()=>t.chain().focus().toggleBold().run(),className:me("",De(t,["bold"],e)),title:"Bold",children:a.jsx(v.FontBoldIcon,{className:"h-4 w-4"})}),a.jsx("button",{type:"button",onClick:()=>t.chain().focus().toggleItalic().run(),className:me("",De(t,["italic"],e)),title:"Italic",children:a.jsx(v.FontItalicIcon,{className:"h-4 w-4"})}),a.jsx("button",{type:"button",onClick:()=>t.chain().focus().toggleUnderline().run(),className:me("",De(t,["underline"],e)),title:"Underline",children:a.jsx(v.UnderlineIcon,{className:"h-4 w-4"})}),a.jsx("button",{type:"button",onClick:()=>t.chain().focus().toggleStrike().run(),className:me("",De(t,["strike"],e)),title:"Strike",children:a.jsx(v.StrikethroughIcon,{className:"h-4 w-4"})}),a.jsx("div",{className:"mx-1 h-5 w-px self-center bg-border"}),a.jsx(Xp,{editor:t,from:e,menuRef:s}),a.jsx("div",{className:"mx-1 h-5 w-px self-center bg-border"}),a.jsx(br,{editor:t,menuRef:s,from:e,trigger:a.jsxs("button",{type:"button",className:me("flex items-center",De(t,["bulletList","orderedList"],e)),title:"Bullet List",children:[a.jsx(v.ListBulletIcon,{className:"h-4 w-4"}),a.jsx(v.CaretDownIcon,{className:"h-3 w-3 opacity-50"})]}),content:i=>a.jsxs(a.Fragment,{children:[a.jsxs("div",{onClick:()=>{t.chain().focus().toggleBulletList().run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,["bulletList"],e)),children:[a.jsx(v.ListBulletIcon,{className:"h-4 w-4"})," Unordered List"]}),a.jsxs("div",{onClick:()=>{t.chain().focus().toggleOrderedList().run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,["orderedList"],e)),children:[a.jsx(v.ValueIcon,{className:"h-4 w-4"}),"Ordered List"]})]})}),a.jsx(br,{editor:t,menuRef:s,from:e,trigger:a.jsxs("button",{type:"button",className:me("flex items-center",De(t,t.isActive({textAlign:"center"})||t.isActive({textAlign:"right"}),e)),title:"Text Alignment",children:[t.isActive({textAlign:"center"})?a.jsx(v.TextAlignCenterIcon,{className:"h-4 w-4"}):t.isActive({textAlign:"right"})?a.jsx(v.TextAlignRightIcon,{className:"h-4 w-4"}):a.jsx(v.TextAlignLeftIcon,{className:"h-4 w-4"}),a.jsx(v.CaretDownIcon,{className:"h-3 w-3 opacity-50"})]}),content:i=>a.jsxs(a.Fragment,{children:[a.jsxs("div",{onClick:()=>{t.chain().focus().setTextAlign("left").run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,t.isActive({textAlign:"left"}),e)),children:[a.jsx(v.TextAlignLeftIcon,{className:"h-4 w-4"})," Align Left"]}),a.jsxs("div",{onClick:()=>{t.chain().focus().setTextAlign("center").run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,t.isActive({textAlign:"center"}),e)),children:[a.jsx(v.TextAlignCenterIcon,{className:"h-4 w-4"})," Align Center"]}),a.jsxs("div",{onClick:()=>{t.chain().focus().setTextAlign("right").run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,t.isActive({textAlign:"right"}),e)),children:[a.jsx(v.TextAlignRightIcon,{className:"h-4 w-4"})," Align Right"]})]})}),t.isActive("link")?a.jsx("button",{type:"button",onClick:o,className:me("",De(t,["link"],e)),title:"Remove Link",disabled:!t.isActive("link"),children:a.jsx(v.LinkBreak2Icon,{className:"h-3.5 w-3.5"})}):a.jsx("button",{type:"button",onClick:r,className:me("",De(t,["link"],e)),title:"Add Link",children:a.jsx(v.Link2Icon,{className:"h-3.5 w-3.5"})}),n&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"mx-1 h-5 w-px self-center bg-border"}),a.jsx("button",{type:"button",onClick:n,className:me("",De(t,!1,e)),title:"Open in full screen mode",children:a.jsx(v.EnterFullScreenIcon,{className:"h-3.5 w-3.5"})})]})]})};function je(t){this.content=t}je.prototype={constructor:je,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?void 0:this.content[e+1]},update:function(t,e,n){var s=n&&n!=t?this.remove(n):this,r=s.find(t),o=s.content.slice();return r==-1?o.push(n||t,e):(o[r+1]=e,n&&(o[r]=n)),new je(o)},remove:function(t){var e=this.find(t);if(e==-1)return this;var n=this.content.slice();return n.splice(e,2),new je(n)},addToStart:function(t,e){return new je([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var n=this.remove(t).content.slice();return n.push(t,e),new je(n)},addBefore:function(t,e,n){var s=this.remove(e),r=s.content.slice(),o=s.find(t);return r.splice(o==-1?r.length:o,0,e,n),new je(r)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){return t=je.from(t),t.size?new je(t.content.concat(this.subtract(t).content)):this},append:function(t){return t=je.from(t),t.size?new je(this.subtract(t).content.concat(t.content)):this},subtract:function(t){var e=this;t=je.from(t);for(var n=0;n<t.content.length;n+=2)e=e.remove(t.content[n]);return e},toObject:function(){var t={};return this.forEach(function(e,n){t[e]=n}),t},get size(){return this.content.length>>1}};je.from=function(t){if(t instanceof je)return t;var e=[];if(t)for(var n in t)e.push(n,t[n]);return new je(e)};function Ki(t,e,n){for(let s=0;;s++){if(s==t.childCount||s==e.childCount)return t.childCount==e.childCount?null:n;let r=t.child(s),o=e.child(s);if(r==o){n+=r.nodeSize;continue}if(!r.sameMarkup(o))return n;if(r.isText&&r.text!=o.text){for(let i=0;r.text[i]==o.text[i];i++)n++;return n}if(r.content.size||o.content.size){let i=Ki(r.content,o.content,n+1);if(i!=null)return i}n+=r.nodeSize}}function Yi(t,e,n,s){for(let r=t.childCount,o=e.childCount;;){if(r==0||o==0)return r==o?null:{a:n,b:s};let i=t.child(--r),l=e.child(--o),c=i.nodeSize;if(i==l){n-=c,s-=c;continue}if(!i.sameMarkup(l))return{a:n,b:s};if(i.isText&&i.text!=l.text){let u=0,p=Math.min(i.text.length,l.text.length);for(;u<p&&i.text[i.text.length-u-1]==l.text[l.text.length-u-1];)u++,n--,s--;return{a:n,b:s}}if(i.content.size||l.content.size){let u=Yi(i.content,l.content,n-1,s-1);if(u)return u}n-=c,s-=c}}class D{constructor(e,n){if(this.content=e,this.size=n||0,n==null)for(let s=0;s<e.length;s++)this.size+=e[s].nodeSize}nodesBetween(e,n,s,r=0,o){for(let i=0,l=0;l<n;i++){let c=this.content[i],u=l+c.nodeSize;if(u>e&&s(c,r+l,o||null,i)!==!1&&c.content.size){let p=l+1;c.nodesBetween(Math.max(0,e-p),Math.min(c.content.size,n-p),s,r+p)}l=u}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,n,s,r){let o="",i=!0;return this.nodesBetween(e,n,(l,c)=>{let u=l.isText?l.text.slice(Math.max(e,c)-c,n-c):l.isLeaf?r?typeof r=="function"?r(l):r:l.type.spec.leafText?l.type.spec.leafText(l):"":"";l.isBlock&&(l.isLeaf&&u||l.isTextblock)&&s&&(i?i=!1:o+=s),o+=u},0),o}append(e){if(!e.size)return this;if(!this.size)return e;let n=this.lastChild,s=e.firstChild,r=this.content.slice(),o=0;for(n.isText&&n.sameMarkup(s)&&(r[r.length-1]=n.withText(n.text+s.text),o=1);o<e.content.length;o++)r.push(e.content[o]);return new D(r,this.size+e.size)}cut(e,n=this.size){if(e==0&&n==this.size)return this;let s=[],r=0;if(n>e)for(let o=0,i=0;i<n;o++){let l=this.content[o],c=i+l.nodeSize;c>e&&((i<e||c>n)&&(l.isText?l=l.cut(Math.max(0,e-i),Math.min(l.text.length,n-i)):l=l.cut(Math.max(0,e-i-1),Math.min(l.content.size,n-i-1))),s.push(l),r+=l.nodeSize),i=c}return new D(s,r)}cutByIndex(e,n){return e==n?D.empty:e==0&&n==this.content.length?this:new D(this.content.slice(e,n))}replaceChild(e,n){let s=this.content[e];if(s==n)return this;let r=this.content.slice(),o=this.size+n.nodeSize-s.nodeSize;return r[e]=n,new D(r,o)}addToStart(e){return new D([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new D(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let n=0;n<this.content.length;n++)if(!this.content[n].eq(e.content[n]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let n=this.content[e];if(!n)throw new RangeError("Index "+e+" out of range for "+this);return n}maybeChild(e){return this.content[e]||null}forEach(e){for(let n=0,s=0;n<this.content.length;n++){let r=this.content[n];e(r,s,n),s+=r.nodeSize}}findDiffStart(e,n=0){return Ki(this,e,n)}findDiffEnd(e,n=this.size,s=e.size){return Yi(this,e,n,s)}findIndex(e){if(e==0)return Un(0,e);if(e==this.size)return Un(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let n=0,s=0;;n++){let r=this.child(n),o=s+r.nodeSize;if(o>=e)return o==e?Un(n+1,o):Un(n,s);s=o}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,n){if(!n)return D.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new D(n.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return D.empty;let n,s=0;for(let r=0;r<e.length;r++){let o=e[r];s+=o.nodeSize,r&&o.isText&&e[r-1].sameMarkup(o)?(n||(n=e.slice(0,r)),n[n.length-1]=o.withText(n[n.length-1].text+o.text)):n&&n.push(o)}return new D(n||e,s)}static from(e){if(!e)return D.empty;if(e instanceof D)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new D([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}D.empty=new D([],0);const er={index:0,offset:0};function Un(t,e){return er.index=t,er.offset=e,er}function cs(t,e){if(t===e)return!0;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return!1;let n=Array.isArray(t);if(Array.isArray(e)!=n)return!1;if(n){if(t.length!=e.length)return!1;for(let s=0;s<t.length;s++)if(!cs(t[s],e[s]))return!1}else{for(let s in t)if(!(s in e)||!cs(t[s],e[s]))return!1;for(let s in e)if(!(s in t))return!1}return!0}class ee{constructor(e,n){this.type=e,this.attrs=n}addToSet(e){let n,s=!1;for(let r=0;r<e.length;r++){let o=e[r];if(this.eq(o))return e;if(this.type.excludes(o.type))n||(n=e.slice(0,r));else{if(o.type.excludes(this.type))return e;!s&&o.type.rank>this.type.rank&&(n||(n=e.slice(0,r)),n.push(this),s=!0),n&&n.push(o)}}return n||(n=e.slice()),s||n.push(this),n}removeFromSet(e){for(let n=0;n<e.length;n++)if(this.eq(e[n]))return e.slice(0,n).concat(e.slice(n+1));return e}isInSet(e){for(let n=0;n<e.length;n++)if(this.eq(e[n]))return!0;return!1}eq(e){return this==e||this.type==e.type&&cs(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Mark.fromJSON");let s=e.marks[n.type];if(!s)throw new RangeError(`There is no mark type ${n.type} in this schema`);let r=s.create(n.attrs);return s.checkAttrs(r.attrs),r}static sameSet(e,n){if(e==n)return!0;if(e.length!=n.length)return!1;for(let s=0;s<e.length;s++)if(!e[s].eq(n[s]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return ee.none;if(e instanceof ee)return[e];let n=e.slice();return n.sort((s,r)=>s.type.rank-r.type.rank),n}}ee.none=[];class ds extends Error{}class W{constructor(e,n,s){this.content=e,this.openStart=n,this.openEnd=s}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,n){let s=Ji(this.content,e+this.openStart,n);return s&&new W(s,this.openStart,this.openEnd)}removeBetween(e,n){return new W(Xi(this.content,e+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,n){if(!n)return W.empty;let s=n.openStart||0,r=n.openEnd||0;if(typeof s!="number"||typeof r!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new W(D.fromJSON(e,n.content),s,r)}static maxOpen(e,n=!0){let s=0,r=0;for(let o=e.firstChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.firstChild)s++;for(let o=e.lastChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.lastChild)r++;return new W(e,s,r)}}W.empty=new W(D.empty,0,0);function Xi(t,e,n){let{index:s,offset:r}=t.findIndex(e),o=t.maybeChild(s),{index:i,offset:l}=t.findIndex(n);if(r==e||o.isText){if(l!=n&&!t.child(i).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(s!=i)throw new RangeError("Removing non-flat range");return t.replaceChild(s,o.copy(Xi(o.content,e-r-1,n-r-1)))}function Ji(t,e,n,s){let{index:r,offset:o}=t.findIndex(e),i=t.maybeChild(r);if(o==e||i.isText)return s&&!s.canReplace(r,r,n)?null:t.cut(0,e).append(n).append(t.cut(e));let l=Ji(i.content,e-o-1,n,i);return l&&t.replaceChild(r,i.copy(l))}function Jp(t,e,n){if(n.openStart>t.depth)throw new ds("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new ds("Inconsistent open depths");return Zi(t,e,n,0)}function Zi(t,e,n,s){let r=t.index(s),o=t.node(s);if(r==e.index(s)&&s<t.depth-n.openStart){let i=Zi(t,e,n,s+1);return o.copy(o.content.replaceChild(r,i))}else if(n.content.size)if(!n.openStart&&!n.openEnd&&t.depth==s&&e.depth==s){let i=t.parent,l=i.content;return It(i,l.cut(0,t.parentOffset).append(n.content).append(l.cut(e.parentOffset)))}else{let{start:i,end:l}=Zp(n,t);return It(o,el(t,i,l,e,s))}else return It(o,us(t,e,s))}function Qi(t,e){if(!e.type.compatibleContent(t.type))throw new ds("Cannot join "+e.type.name+" onto "+t.type.name)}function yr(t,e,n){let s=t.node(n);return Qi(s,e.node(n)),s}function _t(t,e){let n=e.length-1;n>=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function xn(t,e,n,s){let r=(e||t).node(n),o=0,i=e?e.index(n):r.childCount;t&&(o=t.index(n),t.depth>n?o++:t.textOffset&&(_t(t.nodeAfter,s),o++));for(let l=o;l<i;l++)_t(r.child(l),s);e&&e.depth==n&&e.textOffset&&_t(e.nodeBefore,s)}function It(t,e){return t.type.checkContent(e),t.copy(e)}function el(t,e,n,s,r){let o=t.depth>r&&yr(t,e,r+1),i=s.depth>r&&yr(n,s,r+1),l=[];return xn(null,t,r,l),o&&i&&e.index(r)==n.index(r)?(Qi(o,i),_t(It(o,el(t,e,n,s,r+1)),l)):(o&&_t(It(o,us(t,e,r+1)),l),xn(e,n,r,l),i&&_t(It(i,us(n,s,r+1)),l)),xn(s,null,r,l),new D(l)}function us(t,e,n){let s=[];if(xn(null,t,n,s),t.depth>n){let r=yr(t,e,n+1);_t(It(r,us(t,e,n+1)),s)}return xn(e,null,n,s),new D(s)}function Zp(t,e){let n=e.depth-t.openStart,r=e.node(n).copy(t.content);for(let o=n-1;o>=0;o--)r=e.node(o).copy(D.from(r));return{start:r.resolveNoCache(t.openStart+n),end:r.resolveNoCache(r.content.size-t.openEnd-n)}}class Cn{constructor(e,n,s){this.pos=e,this.path=n,this.parentOffset=s,this.depth=n.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,n=this.index(this.depth);if(n==e.childCount)return null;let s=this.pos-this.path[this.path.length-1],r=e.child(n);return s?e.child(n).cut(s):r}get nodeBefore(){let e=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(e).cut(0,n):e==0?null:this.parent.child(e-1)}posAtIndex(e,n){n=this.resolveDepth(n);let s=this.path[n*3],r=n==0?0:this.path[n*3-1]+1;for(let o=0;o<e;o++)r+=s.child(o).nodeSize;return r}marks(){let e=this.parent,n=this.index();if(e.content.size==0)return ee.none;if(this.textOffset)return e.child(n).marks;let s=e.maybeChild(n-1),r=e.maybeChild(n);if(!s){let l=s;s=r,r=l}let o=s.marks;for(var i=0;i<o.length;i++)o[i].type.spec.inclusive===!1&&(!r||!o[i].isInSet(r.marks))&&(o=o[i--].removeFromSet(o));return o}marksAcross(e){let n=this.parent.maybeChild(this.index());if(!n||!n.isInline)return null;let s=n.marks,r=e.parent.maybeChild(e.index());for(var o=0;o<s.length;o++)s[o].type.spec.inclusive===!1&&(!r||!s[o].isInSet(r.marks))&&(s=s[o--].removeFromSet(s));return s}sharedDepth(e){for(let n=this.depth;n>0;n--)if(this.start(n)<=e&&this.end(n)>=e)return n;return 0}blockRange(e=this,n){if(e.pos<this.pos)return e.blockRange(this);for(let s=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);s>=0;s--)if(e.pos<=this.end(s)&&(!n||n(this.node(s))))return new ps(this,e,s);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e="";for(let n=1;n<=this.depth;n++)e+=(e?"/":"")+this.node(n).type.name+"_"+this.index(n-1);return e+":"+this.parentOffset}static resolve(e,n){if(!(n>=0&&n<=e.content.size))throw new RangeError("Position "+n+" out of range");let s=[],r=0,o=n;for(let i=e;;){let{index:l,offset:c}=i.content.findIndex(o),u=o-c;if(s.push(i,l,r+c),!u||(i=i.child(l),i.isText))break;o=u-1,r+=c+1}return new Cn(n,s,o)}static resolveCached(e,n){let s=sa.get(e);if(s)for(let o=0;o<s.elts.length;o++){let i=s.elts[o];if(i.pos==n)return i}else sa.set(e,s=new Qp);let r=s.elts[s.i]=Cn.resolve(e,n);return s.i=(s.i+1)%ef,r}}class Qp{constructor(){this.elts=[],this.i=0}}const ef=12,sa=new WeakMap;class ps{constructor(e,n,s){this.$from=e,this.$to=n,this.depth=s}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const tf=Object.create(null);let Tt=class kr{constructor(e,n,s,r=ee.none){this.type=e,this.attrs=n,this.marks=r,this.content=s||D.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,n,s,r=0){this.content.nodesBetween(e,n,s,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(e,n,s,r){return this.content.textBetween(e,n,s,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,n,s){return this.type==e&&cs(this.attrs,n||e.defaultAttrs||tf)&&ee.sameSet(this.marks,s||ee.none)}copy(e=null){return e==this.content?this:new kr(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new kr(this.type,this.attrs,this.content,e)}cut(e,n=this.content.size){return e==0&&n==this.content.size?this:this.copy(this.content.cut(e,n))}slice(e,n=this.content.size,s=!1){if(e==n)return W.empty;let r=this.resolve(e),o=this.resolve(n),i=s?0:r.sharedDepth(n),l=r.start(i),u=r.node(i).content.cut(r.pos-l,o.pos-l);return new W(u,r.depth-i,o.depth-i)}replace(e,n,s){return Jp(this.resolve(e),this.resolve(n),s)}nodeAt(e){for(let n=this;;){let{index:s,offset:r}=n.content.findIndex(e);if(n=n.maybeChild(s),!n)return null;if(r==e||n.isText)return n;e-=r+1}}childAfter(e){let{index:n,offset:s}=this.content.findIndex(e);return{node:this.content.maybeChild(n),index:n,offset:s}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:n,offset:s}=this.content.findIndex(e);if(s<e)return{node:this.content.child(n),index:n,offset:s};let r=this.content.child(n-1);return{node:r,index:n-1,offset:s-r.nodeSize}}resolve(e){return Cn.resolveCached(this,e)}resolveNoCache(e){return Cn.resolve(this,e)}rangeHasMark(e,n,s){let r=!1;return n>e&&this.nodesBetween(e,n,o=>(s.isInSet(o.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),tl(this.marks,e)}contentMatchAt(e){let n=this.type.contentMatch.matchFragment(this.content,0,e);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(e,n,s=D.empty,r=0,o=s.childCount){let i=this.contentMatchAt(e).matchFragment(s,r,o),l=i&&i.matchFragment(this.content,n);if(!l||!l.validEnd)return!1;for(let c=r;c<o;c++)if(!this.type.allowsMarks(s.child(c).marks))return!1;return!0}canReplaceWith(e,n,s,r){if(r&&!this.type.allowsMarks(r))return!1;let o=this.contentMatchAt(e).matchType(s),i=o&&o.matchFragment(this.content,n);return i?i.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=ee.none;for(let n=0;n<this.marks.length;n++){let s=this.marks[n];s.type.checkAttrs(s.attrs),e=s.addToSet(e)}if(!ee.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(n=>n.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(n=>n.toJSON())),e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let s;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");s=n.marks.map(e.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(n.text,s)}let r=D.fromJSON(e,n.content),o=e.nodeType(n.type).create(n.attrs,r,s);return o.type.checkAttrs(o.attrs),o}};Tt.prototype.text=void 0;class fs extends Tt{constructor(e,n,s,r){if(super(e,n,null,r),!s)throw new RangeError("Empty text nodes are not allowed");this.text=s}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):tl(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,n){return this.text.slice(e,n)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new fs(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new fs(this.type,this.attrs,e,this.marks)}cut(e=0,n=this.text.length){return e==0&&n==this.text.length?this:this.withText(this.text.slice(e,n))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}}function tl(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}class Lt{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,n){let s=new nf(e,n);if(s.next==null)return Lt.empty;let r=nl(s);s.next&&s.err("Unexpected trailing text");let o=df(cf(r));return uf(o,s),o}matchType(e){for(let n=0;n<this.next.length;n++)if(this.next[n].type==e)return this.next[n].next;return null}matchFragment(e,n=0,s=e.childCount){let r=this;for(let o=n;r&&o<s;o++)r=r.matchType(e.child(o).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:n}=this.next[e];if(!(n.isText||n.hasRequiredAttrs()))return n}return null}compatible(e){for(let n=0;n<this.next.length;n++)for(let s=0;s<e.next.length;s++)if(this.next[n].type==e.next[s].type)return!0;return!1}fillBefore(e,n=!1,s=0){let r=[this];function o(i,l){let c=i.matchFragment(e,s);if(c&&(!n||c.validEnd))return D.from(l.map(u=>u.createAndFill()));for(let u=0;u<i.next.length;u++){let{type:p,next:f}=i.next[u];if(!(p.isText||p.hasRequiredAttrs())&&r.indexOf(f)==-1){r.push(f);let m=o(f,l.concat(p));if(m)return m}}return null}return o(this,[])}findWrapping(e){for(let s=0;s<this.wrapCache.length;s+=2)if(this.wrapCache[s]==e)return this.wrapCache[s+1];let n=this.computeWrapping(e);return this.wrapCache.push(e,n),n}computeWrapping(e){let n=Object.create(null),s=[{match:this,type:null,via:null}];for(;s.length;){let r=s.shift(),o=r.match;if(o.matchType(e)){let i=[];for(let l=r;l.type;l=l.via)i.push(l.type);return i.reverse()}for(let i=0;i<o.next.length;i++){let{type:l,next:c}=o.next[i];!l.isLeaf&&!l.hasRequiredAttrs()&&!(l.name in n)&&(!r.type||c.validEnd)&&(s.push({match:l.contentMatch,type:l,via:r}),n[l.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function n(s){e.push(s);for(let r=0;r<s.next.length;r++)e.indexOf(s.next[r].next)==-1&&n(s.next[r].next)}return n(this),e.map((s,r)=>{let o=r+(s.validEnd?"*":" ")+" ";for(let i=0;i<s.next.length;i++)o+=(i?", ":"")+s.next[i].type.name+"->"+e.indexOf(s.next[i].next);return o}).join(`
129
+ }`,[t]);return a.jsx("style",{id:"selected-blocks",dangerouslySetInnerHTML:{__html:e}})},zp=()=>{const[t]=Rn(),e=Tr.useRegisteredFonts(),n=g.useMemo(()=>{const{heading:o,body:i}={heading:d.get(t,"fontFamily.heading"),body:d.get(t,"fontFamily.body")};return e.filter(l=>l.family===o||l.family===i)},[t==null?void 0:t.fontFamily,e]),s=g.useMemo(()=>Qe.getThemeFontsUrls(d.filter(n,o=>d.has(o,"url"))),[n]),r=g.useMemo(()=>Qe.getThemeCustomFontFace(d.filter(n,o=>d.has(o,"src"))),[n]);return a.jsxs(a.Fragment,{children:[s.map((o,i)=>a.jsx("link",{rel:"stylesheet",href:o},`google-font-${i}`)),a.jsx("style",{id:"chai-custom-fonts",dangerouslySetInnerHTML:{__html:r}})]})},Hp=({children:t,onMount:e,onResize:n})=>{const[,s]=q(),[,r]=Ae(),o=g.useRef(null),i=xe.useDebouncedCallback(()=>{const{clientWidth:c}=o.current;n(c)},[o.current],100);xe.useResizeObserver(o.current,i,o.current!==null),g.useEffect(()=>{const{clientWidth:c}=o.current;e(c)},[]);const l=g.useCallback(()=>{s([]),r([])},[s,r]);return a.jsx("div",{id:"main-content",onClick:l,className:"h-full w-full border-l-4 border-r-4 pb-0",ref:o,children:t})},Vp=()=>{const[,t]=q(),{onDragStart:e,onDragEnd:n}=sn(),[s]=Z(),r=g.useRef(null),[o,i]=N.useAtom(bp),[l,c]=N.useAtom(Bi),u=g.useCallback(m=>{var k;if(m.button!==0)return;const h=Date.now(),x=h-o;if(x<400&&x>0){c(2);return}i(h);const y=(k=m.target.closest("[data-block-id]"))==null?void 0:k.getAttribute("data-block-id");y&&(t([y]),r.current=y)},[t,o,i,l,c]),p=g.useCallback(m=>{if(!r.current)return;const h=d.find(s,{_id:r.current});h&&e(m,h,!1)},[s,e]),f=g.useCallback(()=>{n(),r.current=null},[n]);return{onMouseDown:u,onDragStart:p,onDragEnd:f}},Wp=()=>{const[t]=Z();return g.useCallback((e,n)=>d.isEmpty(n)?{}:Object.entries(n).reduce((s,[r,o])=>{const i=[];let l=d.find(t,{_id:e});for(;l;)i.push(l),l=d.find(t,{_id:l._parent});const c=d.find(i,{_type:o.block});return c&&(s[r]=d.get(c,d.get(o,"prop"),null)),s},{}),[t])},Gp=N.atom("edit"),Ui=()=>{const[t,e]=N.useAtom(Gp);return{mode:t,setMode:e}},Up=({children:t,block:e})=>{const n=g.useMemo(()=>K.getRegisteredChaiBlock(e._type),[e._type]),s=d.get(n,"dataProviderDependencies"),r=d.get(n,"dataProvider"),o=d.get(n,"dataProviderMode","mock"),i=Xd(e,o,s,r);return t(i)},qp=()=>a.jsx("div",{className:"flex min-h-[100px] items-center justify-center bg-red-50 p-2 text-center text-red-500",children:"Something went wrong."});function me(...t){return Wa.twMerge(Va.clsx(t))}const br=({editor:t,trigger:e,content:n,from:s,menuRef:r})=>{const{document:o}=Xe(),[i,l]=g.useState({left:void 0,right:void 0,top:void 0,bottom:void 0}),[c,u]=g.useState(!1),p=g.useRef(null);if(g.useEffect(()=>{var k,C;if(!c){l({left:void 0,right:void 0,top:void 0,bottom:void 0});return}const f=(k=p.current)==null?void 0:k.getBoundingClientRect();if(!f||!o)return;const m=(C=r.current)==null?void 0:C.getBoundingClientRect();if(!m)return;let h=f.left,x=f.bottom+4,b,y;(m==null?void 0:m.left)+(m==null?void 0:m.width)+50>=o.body.offsetWidth&&(h=void 0,b=o.body.offsetWidth-(f==null?void 0:f.right)),x+202>=o.body.clientHeight&&(x=void 0,y=o.body.clientHeight-f.bottom+m.height),l({left:h,top:x,right:b,bottom:y})},[c]),s==="canvas"){const f=()=>{u(!1),t&&(t==null||t.view.focus(),t==null||t.chain().focus().run())};return a.jsxs(a.Fragment,{children:[a.jsx("div",{ref:p,onClick:()=>u(m=>!m),className:"cursor-pointer",children:e}),c&&(i.left!==void 0||i.top!==void 0||i.right!==void 0||i.bottom!==void 0)&&fr.createPortal(a.jsx("div",{id:"chaibuilder-rte-dropdown-menu-content",onClick:f,className:"fixed inset-0 left-0 top-0 z-[10001] h-full w-screen",children:a.jsx("div",{onClick:m=>m.stopPropagation(),className:"absolute rounded-md border border-gray-500 bg-white p-1.5 text-xs shadow-2xl",style:Object.assign({},{left:i.left,top:i.top,right:i.right,bottom:i.bottom}),children:typeof n=="function"?n(f):n})}),o.body,"chaibuilder-rte-dropdown-menu")]})}return a.jsx(a.Fragment,{children:a.jsxs(mt,{open:c,onOpenChange:u,children:[a.jsx(gt,{className:"relative outline-none",asChild:!0,children:e}),a.jsx(et,{className:"z-50 rounded-md border bg-white p-1 text-xs shadow-xl",children:c&&(typeof n=="function"?n(()=>u(!1)):n)})]})})},Kp=(t,e,n)=>{const s=n==="settings",r=typeof e=="boolean"?e:e.some(o=>t.isActive(o));return{"rounded p-1":!0,"hover:bg-blue-900 hover:text-blue-100":!r&&!s,"hover:bg-blue-100 hover:text-blue-900":!r&&s,"bg-blue-500 text-white":r&&s,"bg-white text-blue-500":r&&!s}},na=({themeColors:t,onClose:e,color:n,onChange:s,onRemove:r})=>a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"flex w-[180px] flex-wrap gap-1 pb-2",children:(t==null?void 0:t.length)>0&&d.uniq(t).map(o=>{var i;return a.jsx("button",{className:me("h-4 w-4 cursor-pointer rounded-full border border-gray-900 shadow duration-200 hover:scale-105 hover:shadow-xl",{"border-2":o===n}),style:{backgroundColor:o},onClick:()=>{s(o),e()},title:(i=o||"#000000")==null?void 0:i.toUpperCase()},o)})}),a.jsx(fd.HexAlphaColorPicker,{color:n,onChange:s,style:{width:"200px",height:"200px"}}),a.jsxs("div",{className:"mt-1 flex items-center justify-between gap-1",children:[a.jsx(T.Input,{type:"text",value:n||"#000000f2",onChange:o=>s(o.target.value,!0),className:"!h-5 !w-[105px] rounded-sm !p-0 text-center font-light uppercase text-gray-600 outline-none ring-0 focus:ring-0",placeholder:"#000000"}),a.jsxs("button",{className:"flex h-4 w-max cursor-pointer items-center gap-x-1 rounded-full bg-transparent px-1 text-red-600 shadow-none duration-200 hover:bg-red-100",onClick:()=>{r(),e()},title:"Remove",children:[a.jsx(v.Cross1Icon,{className:"h-3 w-3"})," Remove"]})]})]}),Yp=({textColor:t,highlightColor:e,onChangeTextColor:n,onChangeHighlightColor:s,onRemoveTextColor:r,onRemoveHighlightColor:o,onClose:i})=>{const[l]=rn(),[c]=N.useAtom(zu),u=(c==null?void 0:c.colors)||{},p=Object.values(u).map(h=>d.get(h,l?"1":"0")),[f,m]=g.useState("TEXT");return a.jsxs("div",{id:"rte-widget-color-picker",className:"px-1",children:[a.jsxs("div",{className:"mb-2 flex items-center justify-between rounded-md border bg-muted",children:[a.jsx("div",{className:`w-full cursor-pointer rounded p-0.5 text-center ${f==="TEXT"?"bg-blue-500 text-white":"hover:bg-blue-100 hover:text-blue-500"}`,onClick:()=>m("TEXT"),children:"Text Color"}),a.jsx("div",{className:`w-full cursor-pointer rounded p-0.5 text-center ${f==="HIGHLIGHT"?"bg-blue-500 text-white":"hover:bg-blue-100 hover:text-blue-500"}`,onClick:()=>m("HIGHLIGHT"),children:"Highlight Color"})]}),f==="TEXT"?a.jsx(na,{themeColors:p,onClose:i,onChange:n,color:t,onRemove:r}):a.jsx(na,{themeColors:p,onClose:i,onChange:s,color:e,onRemove:o})]})},Xp=({editor:t,from:e,menuRef:n})=>{var C,A;const s=(C=t==null?void 0:t.getAttributes("textStyle"))==null?void 0:C.color,r=(A=t==null?void 0:t.getAttributes("highlight"))==null?void 0:A.color,[o,i]=g.useState(s||"#000000F2"),[l,c]=g.useState(r||"#00000057"),[u,p]=xe.useDebouncedState(o,150),[f,m]=xe.useDebouncedState(l,150),h=(w,j)=>{j?(i(w),p(w)):(t==null||t.chain().setColor(w).run(),i(w))},x=(w,j)=>{j?(c(w),m(w)):(t==null||t.chain().setHighlight({color:w}).run(),c(w))},b=()=>{t==null||t.chain().unsetColor().run(),i("#000000F2")},y=()=>{t==null||t.chain().unsetHighlight().run()};g.useEffect(()=>{r&&c(r)},[r]),g.useEffect(()=>{f!=null&&f.includes("#")&&(f==null?void 0:f.length)>=3&&(t==null||t.chain().setHighlight({color:f}).run())},[f]),g.useEffect(()=>{u!=null&&u.includes("#")&&(u==null?void 0:u.length)>=3&&(t==null||t.chain().setColor(u).run())},[u]);const k=!!s;return a.jsx(br,{editor:t,from:e,menuRef:n,trigger:a.jsxs("div",{className:me("relative flex items-center",Kp(t,k,e)),title:"Text Color",children:[a.jsx("div",{className:"h-4 w-4 rounded-full",style:{backgroundColor:s||(e==="canvas"?"#FFFFFF":"#000000")}}),a.jsx(v.CaretDownIcon,{className:"h-3 w-3 opacity-50"})]}),content:w=>a.jsx(Yp,{textColor:o,highlightColor:l,onChangeTextColor:h,onChangeHighlightColor:x,onRemoveTextColor:b,onRemoveHighlightColor:y,onClose:w})})},De=(t,e,n)=>{const s=n==="settings",r=typeof e=="boolean"?e:e.some(o=>t.isActive(o));return{"rounded p-1":!0,"hover:bg-blue-900 hover:text-blue-100":!r&&!s,"hover:bg-blue-100 hover:text-blue-900":!r&&s,"bg-blue-500 text-white":r&&s,"bg-white text-blue-500":r&&!s}},qi=({editor:t,from:e="settings",onExpand:n})=>{const s=g.useRef(null);if(!t)return null;const r=()=>{const i=window.prompt("URL");i&&t.chain().focus().extendMarkRange("link").setLink({href:i}).run()},o=()=>{t.chain().focus().unsetLink().run()};return a.jsxs("div",{ref:s,id:"chai-rich-text-menu-bar",className:me("mb-1 flex flex-wrap gap-0.5 rounded-t-md border-b border-border bg-gray-50 p-1",{"mb-0 rounded-md border-none bg-blue-500 text-white":e==="canvas"}),children:[a.jsx("button",{type:"button",onClick:()=>t.chain().focus().toggleBold().run(),className:me("",De(t,["bold"],e)),title:"Bold",children:a.jsx(v.FontBoldIcon,{className:"h-4 w-4"})}),a.jsx("button",{type:"button",onClick:()=>t.chain().focus().toggleItalic().run(),className:me("",De(t,["italic"],e)),title:"Italic",children:a.jsx(v.FontItalicIcon,{className:"h-4 w-4"})}),a.jsx("button",{type:"button",onClick:()=>t.chain().focus().toggleUnderline().run(),className:me("",De(t,["underline"],e)),title:"Underline",children:a.jsx(v.UnderlineIcon,{className:"h-4 w-4"})}),a.jsx("button",{type:"button",onClick:()=>t.chain().focus().toggleStrike().run(),className:me("",De(t,["strike"],e)),title:"Strike",children:a.jsx(v.StrikethroughIcon,{className:"h-4 w-4"})}),a.jsx("div",{className:"mx-1 h-5 w-px self-center bg-border"}),a.jsx(Xp,{editor:t,from:e,menuRef:s}),a.jsx("div",{className:"mx-1 h-5 w-px self-center bg-border"}),a.jsx(br,{editor:t,menuRef:s,from:e,trigger:a.jsxs("button",{type:"button",className:me("flex items-center",De(t,["bulletList","orderedList"],e)),title:"Bullet List",children:[a.jsx(v.ListBulletIcon,{className:"h-4 w-4"}),a.jsx(v.CaretDownIcon,{className:"h-3 w-3 opacity-50"})]}),content:i=>a.jsxs(a.Fragment,{children:[a.jsxs("div",{onClick:()=>{t.chain().focus().toggleBulletList().run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,["bulletList"],e)),children:[a.jsx(v.ListBulletIcon,{className:"h-4 w-4"})," Unordered List"]}),a.jsxs("div",{onClick:()=>{t.chain().focus().toggleOrderedList().run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,["orderedList"],e)),children:[a.jsx(v.ValueIcon,{className:"h-4 w-4"}),"Ordered List"]})]})}),a.jsx(br,{editor:t,menuRef:s,from:e,trigger:a.jsxs("button",{type:"button",className:me("flex items-center",De(t,t.isActive({textAlign:"center"})||t.isActive({textAlign:"right"}),e)),title:"Text Alignment",children:[t.isActive({textAlign:"center"})?a.jsx(v.TextAlignCenterIcon,{className:"h-4 w-4"}):t.isActive({textAlign:"right"})?a.jsx(v.TextAlignRightIcon,{className:"h-4 w-4"}):a.jsx(v.TextAlignLeftIcon,{className:"h-4 w-4"}),a.jsx(v.CaretDownIcon,{className:"h-3 w-3 opacity-50"})]}),content:i=>a.jsxs(a.Fragment,{children:[a.jsxs("div",{onClick:()=>{t.chain().focus().setTextAlign("left").run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,t.isActive({textAlign:"left"}),e)),children:[a.jsx(v.TextAlignLeftIcon,{className:"h-4 w-4"})," Align Left"]}),a.jsxs("div",{onClick:()=>{t.chain().focus().setTextAlign("center").run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,t.isActive({textAlign:"center"}),e)),children:[a.jsx(v.TextAlignCenterIcon,{className:"h-4 w-4"})," Align Center"]}),a.jsxs("div",{onClick:()=>{t.chain().focus().setTextAlign("right").run(),i()},className:me("flex cursor-pointer items-center gap-x-1 outline-none hover:outline-none",De(t,t.isActive({textAlign:"right"}),e)),children:[a.jsx(v.TextAlignRightIcon,{className:"h-4 w-4"})," Align Right"]})]})}),t.isActive("link")?a.jsx("button",{type:"button",onClick:o,className:me("",De(t,["link"],e)),title:"Remove Link",disabled:!t.isActive("link"),children:a.jsx(v.LinkBreak2Icon,{className:"h-3.5 w-3.5"})}):a.jsx("button",{type:"button",onClick:r,className:me("",De(t,["link"],e)),title:"Add Link",children:a.jsx(v.Link2Icon,{className:"h-3.5 w-3.5"})}),n&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"mx-1 h-5 w-px self-center bg-border"}),a.jsx("button",{type:"button",onClick:n,className:me("",De(t,!1,e)),title:"Open in full screen mode",children:a.jsx(v.EnterFullScreenIcon,{className:"h-3.5 w-3.5"})})]})]})};function je(t){this.content=t}je.prototype={constructor:je,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?void 0:this.content[e+1]},update:function(t,e,n){var s=n&&n!=t?this.remove(n):this,r=s.find(t),o=s.content.slice();return r==-1?o.push(n||t,e):(o[r+1]=e,n&&(o[r]=n)),new je(o)},remove:function(t){var e=this.find(t);if(e==-1)return this;var n=this.content.slice();return n.splice(e,2),new je(n)},addToStart:function(t,e){return new je([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var n=this.remove(t).content.slice();return n.push(t,e),new je(n)},addBefore:function(t,e,n){var s=this.remove(e),r=s.content.slice(),o=s.find(t);return r.splice(o==-1?r.length:o,0,e,n),new je(r)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){return t=je.from(t),t.size?new je(t.content.concat(this.subtract(t).content)):this},append:function(t){return t=je.from(t),t.size?new je(this.subtract(t).content.concat(t.content)):this},subtract:function(t){var e=this;t=je.from(t);for(var n=0;n<t.content.length;n+=2)e=e.remove(t.content[n]);return e},toObject:function(){var t={};return this.forEach(function(e,n){t[e]=n}),t},get size(){return this.content.length>>1}};je.from=function(t){if(t instanceof je)return t;var e=[];if(t)for(var n in t)e.push(n,t[n]);return new je(e)};function Ki(t,e,n){for(let s=0;;s++){if(s==t.childCount||s==e.childCount)return t.childCount==e.childCount?null:n;let r=t.child(s),o=e.child(s);if(r==o){n+=r.nodeSize;continue}if(!r.sameMarkup(o))return n;if(r.isText&&r.text!=o.text){for(let i=0;r.text[i]==o.text[i];i++)n++;return n}if(r.content.size||o.content.size){let i=Ki(r.content,o.content,n+1);if(i!=null)return i}n+=r.nodeSize}}function Yi(t,e,n,s){for(let r=t.childCount,o=e.childCount;;){if(r==0||o==0)return r==o?null:{a:n,b:s};let i=t.child(--r),l=e.child(--o),c=i.nodeSize;if(i==l){n-=c,s-=c;continue}if(!i.sameMarkup(l))return{a:n,b:s};if(i.isText&&i.text!=l.text){let u=0,p=Math.min(i.text.length,l.text.length);for(;u<p&&i.text[i.text.length-u-1]==l.text[l.text.length-u-1];)u++,n--,s--;return{a:n,b:s}}if(i.content.size||l.content.size){let u=Yi(i.content,l.content,n-1,s-1);if(u)return u}n-=c,s-=c}}class D{constructor(e,n){if(this.content=e,this.size=n||0,n==null)for(let s=0;s<e.length;s++)this.size+=e[s].nodeSize}nodesBetween(e,n,s,r=0,o){for(let i=0,l=0;l<n;i++){let c=this.content[i],u=l+c.nodeSize;if(u>e&&s(c,r+l,o||null,i)!==!1&&c.content.size){let p=l+1;c.nodesBetween(Math.max(0,e-p),Math.min(c.content.size,n-p),s,r+p)}l=u}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,n,s,r){let o="",i=!0;return this.nodesBetween(e,n,(l,c)=>{let u=l.isText?l.text.slice(Math.max(e,c)-c,n-c):l.isLeaf?r?typeof r=="function"?r(l):r:l.type.spec.leafText?l.type.spec.leafText(l):"":"";l.isBlock&&(l.isLeaf&&u||l.isTextblock)&&s&&(i?i=!1:o+=s),o+=u},0),o}append(e){if(!e.size)return this;if(!this.size)return e;let n=this.lastChild,s=e.firstChild,r=this.content.slice(),o=0;for(n.isText&&n.sameMarkup(s)&&(r[r.length-1]=n.withText(n.text+s.text),o=1);o<e.content.length;o++)r.push(e.content[o]);return new D(r,this.size+e.size)}cut(e,n=this.size){if(e==0&&n==this.size)return this;let s=[],r=0;if(n>e)for(let o=0,i=0;i<n;o++){let l=this.content[o],c=i+l.nodeSize;c>e&&((i<e||c>n)&&(l.isText?l=l.cut(Math.max(0,e-i),Math.min(l.text.length,n-i)):l=l.cut(Math.max(0,e-i-1),Math.min(l.content.size,n-i-1))),s.push(l),r+=l.nodeSize),i=c}return new D(s,r)}cutByIndex(e,n){return e==n?D.empty:e==0&&n==this.content.length?this:new D(this.content.slice(e,n))}replaceChild(e,n){let s=this.content[e];if(s==n)return this;let r=this.content.slice(),o=this.size+n.nodeSize-s.nodeSize;return r[e]=n,new D(r,o)}addToStart(e){return new D([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new D(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let n=0;n<this.content.length;n++)if(!this.content[n].eq(e.content[n]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let n=this.content[e];if(!n)throw new RangeError("Index "+e+" out of range for "+this);return n}maybeChild(e){return this.content[e]||null}forEach(e){for(let n=0,s=0;n<this.content.length;n++){let r=this.content[n];e(r,s,n),s+=r.nodeSize}}findDiffStart(e,n=0){return Ki(this,e,n)}findDiffEnd(e,n=this.size,s=e.size){return Yi(this,e,n,s)}findIndex(e){if(e==0)return Un(0,e);if(e==this.size)return Un(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let n=0,s=0;;n++){let r=this.child(n),o=s+r.nodeSize;if(o>=e)return o==e?Un(n+1,o):Un(n,s);s=o}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,n){if(!n)return D.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new D(n.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return D.empty;let n,s=0;for(let r=0;r<e.length;r++){let o=e[r];s+=o.nodeSize,r&&o.isText&&e[r-1].sameMarkup(o)?(n||(n=e.slice(0,r)),n[n.length-1]=o.withText(n[n.length-1].text+o.text)):n&&n.push(o)}return new D(n||e,s)}static from(e){if(!e)return D.empty;if(e instanceof D)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new D([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}D.empty=new D([],0);const er={index:0,offset:0};function Un(t,e){return er.index=t,er.offset=e,er}function cs(t,e){if(t===e)return!0;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return!1;let n=Array.isArray(t);if(Array.isArray(e)!=n)return!1;if(n){if(t.length!=e.length)return!1;for(let s=0;s<t.length;s++)if(!cs(t[s],e[s]))return!1}else{for(let s in t)if(!(s in e)||!cs(t[s],e[s]))return!1;for(let s in e)if(!(s in t))return!1}return!0}class ee{constructor(e,n){this.type=e,this.attrs=n}addToSet(e){let n,s=!1;for(let r=0;r<e.length;r++){let o=e[r];if(this.eq(o))return e;if(this.type.excludes(o.type))n||(n=e.slice(0,r));else{if(o.type.excludes(this.type))return e;!s&&o.type.rank>this.type.rank&&(n||(n=e.slice(0,r)),n.push(this),s=!0),n&&n.push(o)}}return n||(n=e.slice()),s||n.push(this),n}removeFromSet(e){for(let n=0;n<e.length;n++)if(this.eq(e[n]))return e.slice(0,n).concat(e.slice(n+1));return e}isInSet(e){for(let n=0;n<e.length;n++)if(this.eq(e[n]))return!0;return!1}eq(e){return this==e||this.type==e.type&&cs(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Mark.fromJSON");let s=e.marks[n.type];if(!s)throw new RangeError(`There is no mark type ${n.type} in this schema`);let r=s.create(n.attrs);return s.checkAttrs(r.attrs),r}static sameSet(e,n){if(e==n)return!0;if(e.length!=n.length)return!1;for(let s=0;s<e.length;s++)if(!e[s].eq(n[s]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return ee.none;if(e instanceof ee)return[e];let n=e.slice();return n.sort((s,r)=>s.type.rank-r.type.rank),n}}ee.none=[];class ds extends Error{}class W{constructor(e,n,s){this.content=e,this.openStart=n,this.openEnd=s}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,n){let s=Ji(this.content,e+this.openStart,n);return s&&new W(s,this.openStart,this.openEnd)}removeBetween(e,n){return new W(Xi(this.content,e+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,n){if(!n)return W.empty;let s=n.openStart||0,r=n.openEnd||0;if(typeof s!="number"||typeof r!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new W(D.fromJSON(e,n.content),s,r)}static maxOpen(e,n=!0){let s=0,r=0;for(let o=e.firstChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.firstChild)s++;for(let o=e.lastChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.lastChild)r++;return new W(e,s,r)}}W.empty=new W(D.empty,0,0);function Xi(t,e,n){let{index:s,offset:r}=t.findIndex(e),o=t.maybeChild(s),{index:i,offset:l}=t.findIndex(n);if(r==e||o.isText){if(l!=n&&!t.child(i).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(s!=i)throw new RangeError("Removing non-flat range");return t.replaceChild(s,o.copy(Xi(o.content,e-r-1,n-r-1)))}function Ji(t,e,n,s){let{index:r,offset:o}=t.findIndex(e),i=t.maybeChild(r);if(o==e||i.isText)return s&&!s.canReplace(r,r,n)?null:t.cut(0,e).append(n).append(t.cut(e));let l=Ji(i.content,e-o-1,n,i);return l&&t.replaceChild(r,i.copy(l))}function Jp(t,e,n){if(n.openStart>t.depth)throw new ds("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new ds("Inconsistent open depths");return Zi(t,e,n,0)}function Zi(t,e,n,s){let r=t.index(s),o=t.node(s);if(r==e.index(s)&&s<t.depth-n.openStart){let i=Zi(t,e,n,s+1);return o.copy(o.content.replaceChild(r,i))}else if(n.content.size)if(!n.openStart&&!n.openEnd&&t.depth==s&&e.depth==s){let i=t.parent,l=i.content;return _t(i,l.cut(0,t.parentOffset).append(n.content).append(l.cut(e.parentOffset)))}else{let{start:i,end:l}=Zp(n,t);return _t(o,el(t,i,l,e,s))}else return _t(o,us(t,e,s))}function Qi(t,e){if(!e.type.compatibleContent(t.type))throw new ds("Cannot join "+e.type.name+" onto "+t.type.name)}function yr(t,e,n){let s=t.node(n);return Qi(s,e.node(n)),s}function It(t,e){let n=e.length-1;n>=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function xn(t,e,n,s){let r=(e||t).node(n),o=0,i=e?e.index(n):r.childCount;t&&(o=t.index(n),t.depth>n?o++:t.textOffset&&(It(t.nodeAfter,s),o++));for(let l=o;l<i;l++)It(r.child(l),s);e&&e.depth==n&&e.textOffset&&It(e.nodeBefore,s)}function _t(t,e){return t.type.checkContent(e),t.copy(e)}function el(t,e,n,s,r){let o=t.depth>r&&yr(t,e,r+1),i=s.depth>r&&yr(n,s,r+1),l=[];return xn(null,t,r,l),o&&i&&e.index(r)==n.index(r)?(Qi(o,i),It(_t(o,el(t,e,n,s,r+1)),l)):(o&&It(_t(o,us(t,e,r+1)),l),xn(e,n,r,l),i&&It(_t(i,us(n,s,r+1)),l)),xn(s,null,r,l),new D(l)}function us(t,e,n){let s=[];if(xn(null,t,n,s),t.depth>n){let r=yr(t,e,n+1);It(_t(r,us(t,e,n+1)),s)}return xn(e,null,n,s),new D(s)}function Zp(t,e){let n=e.depth-t.openStart,r=e.node(n).copy(t.content);for(let o=n-1;o>=0;o--)r=e.node(o).copy(D.from(r));return{start:r.resolveNoCache(t.openStart+n),end:r.resolveNoCache(r.content.size-t.openEnd-n)}}class Cn{constructor(e,n,s){this.pos=e,this.path=n,this.parentOffset=s,this.depth=n.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,n=this.index(this.depth);if(n==e.childCount)return null;let s=this.pos-this.path[this.path.length-1],r=e.child(n);return s?e.child(n).cut(s):r}get nodeBefore(){let e=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(e).cut(0,n):e==0?null:this.parent.child(e-1)}posAtIndex(e,n){n=this.resolveDepth(n);let s=this.path[n*3],r=n==0?0:this.path[n*3-1]+1;for(let o=0;o<e;o++)r+=s.child(o).nodeSize;return r}marks(){let e=this.parent,n=this.index();if(e.content.size==0)return ee.none;if(this.textOffset)return e.child(n).marks;let s=e.maybeChild(n-1),r=e.maybeChild(n);if(!s){let l=s;s=r,r=l}let o=s.marks;for(var i=0;i<o.length;i++)o[i].type.spec.inclusive===!1&&(!r||!o[i].isInSet(r.marks))&&(o=o[i--].removeFromSet(o));return o}marksAcross(e){let n=this.parent.maybeChild(this.index());if(!n||!n.isInline)return null;let s=n.marks,r=e.parent.maybeChild(e.index());for(var o=0;o<s.length;o++)s[o].type.spec.inclusive===!1&&(!r||!s[o].isInSet(r.marks))&&(s=s[o--].removeFromSet(s));return s}sharedDepth(e){for(let n=this.depth;n>0;n--)if(this.start(n)<=e&&this.end(n)>=e)return n;return 0}blockRange(e=this,n){if(e.pos<this.pos)return e.blockRange(this);for(let s=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);s>=0;s--)if(e.pos<=this.end(s)&&(!n||n(this.node(s))))return new ps(this,e,s);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e="";for(let n=1;n<=this.depth;n++)e+=(e?"/":"")+this.node(n).type.name+"_"+this.index(n-1);return e+":"+this.parentOffset}static resolve(e,n){if(!(n>=0&&n<=e.content.size))throw new RangeError("Position "+n+" out of range");let s=[],r=0,o=n;for(let i=e;;){let{index:l,offset:c}=i.content.findIndex(o),u=o-c;if(s.push(i,l,r+c),!u||(i=i.child(l),i.isText))break;o=u-1,r+=c+1}return new Cn(n,s,o)}static resolveCached(e,n){let s=sa.get(e);if(s)for(let o=0;o<s.elts.length;o++){let i=s.elts[o];if(i.pos==n)return i}else sa.set(e,s=new Qp);let r=s.elts[s.i]=Cn.resolve(e,n);return s.i=(s.i+1)%ef,r}}class Qp{constructor(){this.elts=[],this.i=0}}const ef=12,sa=new WeakMap;class ps{constructor(e,n,s){this.$from=e,this.$to=n,this.depth=s}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const tf=Object.create(null);let Tt=class kr{constructor(e,n,s,r=ee.none){this.type=e,this.attrs=n,this.marks=r,this.content=s||D.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,n,s,r=0){this.content.nodesBetween(e,n,s,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(e,n,s,r){return this.content.textBetween(e,n,s,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,n,s){return this.type==e&&cs(this.attrs,n||e.defaultAttrs||tf)&&ee.sameSet(this.marks,s||ee.none)}copy(e=null){return e==this.content?this:new kr(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new kr(this.type,this.attrs,this.content,e)}cut(e,n=this.content.size){return e==0&&n==this.content.size?this:this.copy(this.content.cut(e,n))}slice(e,n=this.content.size,s=!1){if(e==n)return W.empty;let r=this.resolve(e),o=this.resolve(n),i=s?0:r.sharedDepth(n),l=r.start(i),u=r.node(i).content.cut(r.pos-l,o.pos-l);return new W(u,r.depth-i,o.depth-i)}replace(e,n,s){return Jp(this.resolve(e),this.resolve(n),s)}nodeAt(e){for(let n=this;;){let{index:s,offset:r}=n.content.findIndex(e);if(n=n.maybeChild(s),!n)return null;if(r==e||n.isText)return n;e-=r+1}}childAfter(e){let{index:n,offset:s}=this.content.findIndex(e);return{node:this.content.maybeChild(n),index:n,offset:s}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:n,offset:s}=this.content.findIndex(e);if(s<e)return{node:this.content.child(n),index:n,offset:s};let r=this.content.child(n-1);return{node:r,index:n-1,offset:s-r.nodeSize}}resolve(e){return Cn.resolveCached(this,e)}resolveNoCache(e){return Cn.resolve(this,e)}rangeHasMark(e,n,s){let r=!1;return n>e&&this.nodesBetween(e,n,o=>(s.isInSet(o.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),tl(this.marks,e)}contentMatchAt(e){let n=this.type.contentMatch.matchFragment(this.content,0,e);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(e,n,s=D.empty,r=0,o=s.childCount){let i=this.contentMatchAt(e).matchFragment(s,r,o),l=i&&i.matchFragment(this.content,n);if(!l||!l.validEnd)return!1;for(let c=r;c<o;c++)if(!this.type.allowsMarks(s.child(c).marks))return!1;return!0}canReplaceWith(e,n,s,r){if(r&&!this.type.allowsMarks(r))return!1;let o=this.contentMatchAt(e).matchType(s),i=o&&o.matchFragment(this.content,n);return i?i.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=ee.none;for(let n=0;n<this.marks.length;n++){let s=this.marks[n];s.type.checkAttrs(s.attrs),e=s.addToSet(e)}if(!ee.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(n=>n.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(n=>n.toJSON())),e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let s;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");s=n.marks.map(e.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(n.text,s)}let r=D.fromJSON(e,n.content),o=e.nodeType(n.type).create(n.attrs,r,s);return o.type.checkAttrs(o.attrs),o}};Tt.prototype.text=void 0;class fs extends Tt{constructor(e,n,s,r){if(super(e,n,null,r),!s)throw new RangeError("Empty text nodes are not allowed");this.text=s}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):tl(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,n){return this.text.slice(e,n)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new fs(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new fs(this.type,this.attrs,e,this.marks)}cut(e=0,n=this.text.length){return e==0&&n==this.text.length?this:this.withText(this.text.slice(e,n))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}}function tl(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}class Lt{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,n){let s=new nf(e,n);if(s.next==null)return Lt.empty;let r=nl(s);s.next&&s.err("Unexpected trailing text");let o=df(cf(r));return uf(o,s),o}matchType(e){for(let n=0;n<this.next.length;n++)if(this.next[n].type==e)return this.next[n].next;return null}matchFragment(e,n=0,s=e.childCount){let r=this;for(let o=n;r&&o<s;o++)r=r.matchType(e.child(o).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:n}=this.next[e];if(!(n.isText||n.hasRequiredAttrs()))return n}return null}compatible(e){for(let n=0;n<this.next.length;n++)for(let s=0;s<e.next.length;s++)if(this.next[n].type==e.next[s].type)return!0;return!1}fillBefore(e,n=!1,s=0){let r=[this];function o(i,l){let c=i.matchFragment(e,s);if(c&&(!n||c.validEnd))return D.from(l.map(u=>u.createAndFill()));for(let u=0;u<i.next.length;u++){let{type:p,next:f}=i.next[u];if(!(p.isText||p.hasRequiredAttrs())&&r.indexOf(f)==-1){r.push(f);let m=o(f,l.concat(p));if(m)return m}}return null}return o(this,[])}findWrapping(e){for(let s=0;s<this.wrapCache.length;s+=2)if(this.wrapCache[s]==e)return this.wrapCache[s+1];let n=this.computeWrapping(e);return this.wrapCache.push(e,n),n}computeWrapping(e){let n=Object.create(null),s=[{match:this,type:null,via:null}];for(;s.length;){let r=s.shift(),o=r.match;if(o.matchType(e)){let i=[];for(let l=r;l.type;l=l.via)i.push(l.type);return i.reverse()}for(let i=0;i<o.next.length;i++){let{type:l,next:c}=o.next[i];!l.isLeaf&&!l.hasRequiredAttrs()&&!(l.name in n)&&(!r.type||c.validEnd)&&(s.push({match:l.contentMatch,type:l,via:r}),n[l.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function n(s){e.push(s);for(let r=0;r<s.next.length;r++)e.indexOf(s.next[r].next)==-1&&n(s.next[r].next)}return n(this),e.map((s,r)=>{let o=r+(s.validEnd?"*":" ")+" ";for(let i=0;i<s.next.length;i++)o+=(i?", ":"")+s.next[i].type.name+"->"+e.indexOf(s.next[i].next);return o}).join(`
130
130
  `)}}Lt.empty=new Lt(!0);class nf{constructor(e,n){this.string=e,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}}function nl(t){let e=[];do e.push(sf(t));while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function sf(t){let e=[];do e.push(rf(t));while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function rf(t){let e=lf(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=of(t,e);else break;return e}function ra(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function of(t,e){let n=ra(t),s=n;return t.eat(",")&&(t.next!="}"?s=ra(t):s=-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:n,max:s,expr:e}}function af(t,e){let n=t.nodeTypes,s=n[e];if(s)return[s];let r=[];for(let o in n){let i=n[o];i.isInGroup(e)&&r.push(i)}return r.length==0&&t.err("No node type or group '"+e+"' found"),r}function lf(t){if(t.eat("(")){let e=nl(t);return t.eat(")")||t.err("Missing closing paren"),e}else if(/\W/.test(t.next))t.err("Unexpected token '"+t.next+"'");else{let e=af(t,t.next).map(n=>(t.inline==null?t.inline=n.isInline:t.inline!=n.isInline&&t.err("Mixing inline and block content"),{type:"name",value:n}));return t.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function cf(t){let e=[[]];return r(o(t,0),n()),e;function n(){return e.push([])-1}function s(i,l,c){let u={term:c,to:l};return e[i].push(u),u}function r(i,l){i.forEach(c=>c.to=l)}function o(i,l){if(i.type=="choice")return i.exprs.reduce((c,u)=>c.concat(o(u,l)),[]);if(i.type=="seq")for(let c=0;;c++){let u=o(i.exprs[c],l);if(c==i.exprs.length-1)return u;r(u,l=n())}else if(i.type=="star"){let c=n();return s(l,c),r(o(i.expr,c),c),[s(c)]}else if(i.type=="plus"){let c=n();return r(o(i.expr,l),c),r(o(i.expr,c),c),[s(c)]}else{if(i.type=="opt")return[s(l)].concat(o(i.expr,l));if(i.type=="range"){let c=l;for(let u=0;u<i.min;u++){let p=n();r(o(i.expr,c),p),c=p}if(i.max==-1)r(o(i.expr,c),c);else for(let u=i.min;u<i.max;u++){let p=n();s(c,p),r(o(i.expr,c),p),c=p}return[s(c)]}else{if(i.type=="name")return[s(l,void 0,i.value)];throw new Error("Unknown expr type")}}}}function sl(t,e){return e-t}function oa(t,e){let n=[];return s(e),n.sort(sl);function s(r){let o=t[r];if(o.length==1&&!o[0].term)return s(o[0].to);n.push(r);for(let i=0;i<o.length;i++){let{term:l,to:c}=o[i];!l&&n.indexOf(c)==-1&&s(c)}}}function df(t){let e=Object.create(null);return n(oa(t,0));function n(s){let r=[];s.forEach(i=>{t[i].forEach(({term:l,to:c})=>{if(!l)return;let u;for(let p=0;p<r.length;p++)r[p][0]==l&&(u=r[p][1]);oa(t,c).forEach(p=>{u||r.push([l,u=[]]),u.indexOf(p)==-1&&u.push(p)})})});let o=e[s.join(",")]=new Lt(s.indexOf(t.length-1)>-1);for(let i=0;i<r.length;i++){let l=r[i][1].sort(sl);o.next.push({type:r[i][0],next:e[l.join(",")]||n(l)})}return o}}function uf(t,e){for(let n=0,s=[t];n<s.length;n++){let r=s[n],o=!r.validEnd,i=[];for(let l=0;l<r.next.length;l++){let{type:c,next:u}=r.next[l];i.push(c.name),o&&!(c.isText||c.hasRequiredAttrs())&&(o=!1),s.indexOf(u)==-1&&s.push(u)}o&&e.err("Only non-generatable nodes ("+i.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function rl(t){let e=Object.create(null);for(let n in t){let s=t[n];if(!s.hasDefault)return null;e[n]=s.default}return e}function ol(t,e){let n=Object.create(null);for(let s in t){let r=e&&e[s];if(r===void 0){let o=t[s];if(o.hasDefault)r=o.default;else throw new RangeError("No value supplied for attribute "+s)}n[s]=r}return n}function al(t,e,n,s){for(let r in e)if(!(r in t))throw new RangeError(`Unsupported attribute ${r} for ${n} of type ${r}`);for(let r in t){let o=t[r];o.validate&&o.validate(e[r])}}function il(t,e){let n=Object.create(null);if(e)for(let s in e)n[s]=new ff(t,s,e[s]);return n}class hs{constructor(e,n,s){this.name=e,this.schema=n,this.spec=s,this.markSet=null,this.groups=s.group?s.group.split(" "):[],this.attrs=il(e,s.attrs),this.defaultAttrs=rl(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(s.inline||e=="text"),this.isText=e=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Lt.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:ol(this.attrs,e)}create(e=null,n,s){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Tt(this,this.computeAttrs(e),D.from(n),ee.setFrom(s))}createChecked(e=null,n,s){return n=D.from(n),this.checkContent(n),new Tt(this,this.computeAttrs(e),n,ee.setFrom(s))}createAndFill(e=null,n,s){if(e=this.computeAttrs(e),n=D.from(n),n.size){let i=this.contentMatch.fillBefore(n);if(!i)return null;n=i.append(n)}let r=this.contentMatch.matchFragment(n),o=r&&r.fillBefore(D.empty,!0);return o?new Tt(this,e,n.append(o),ee.setFrom(s)):null}validContent(e){let n=this.contentMatch.matchFragment(e);if(!n||!n.validEnd)return!1;for(let s=0;s<e.childCount;s++)if(!this.allowsMarks(e.child(s).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw new RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){al(this.attrs,e,"node",this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let n=0;n<e.length;n++)if(!this.allowsMarkType(e[n].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let n;for(let s=0;s<e.length;s++)this.allowsMarkType(e[s].type)?n&&n.push(e[s]):n||(n=e.slice(0,s));return n?n.length?n:ee.none:e}static compile(e,n){let s=Object.create(null);e.forEach((o,i)=>s[o]=new hs(o,n,i));let r=n.spec.topNode||"doc";if(!s[r])throw new RangeError("Schema is missing its top node type ('"+r+"')");if(!s.text)throw new RangeError("Every schema needs a 'text' type");for(let o in s.text.attrs)throw new RangeError("The text node type should not have attributes");return s}}function pf(t,e,n){let s=n.split("|");return r=>{let o=r===null?"null":typeof r;if(s.indexOf(o)<0)throw new RangeError(`Expected value of type ${s} for attribute ${e} on type ${t}, got ${o}`)}}class ff{constructor(e,n,s){this.hasDefault=Object.prototype.hasOwnProperty.call(s,"default"),this.default=s.default,this.validate=typeof s.validate=="string"?pf(e,n,s.validate):s.validate}get isRequired(){return!this.hasDefault}}class ao{constructor(e,n,s,r){this.name=e,this.rank=n,this.schema=s,this.spec=r,this.attrs=il(e,r.attrs),this.excluded=null;let o=rl(this.attrs);this.instance=o?new ee(this,o):null}create(e=null){return!e&&this.instance?this.instance:new ee(this,ol(this.attrs,e))}static compile(e,n){let s=Object.create(null),r=0;return e.forEach((o,i)=>s[o]=new ao(o,r++,n,i)),s}removeFromSet(e){for(var n=0;n<e.length;n++)e[n].type==this&&(e=e.slice(0,n).concat(e.slice(n+1)),n--);return e}isInSet(e){for(let n=0;n<e.length;n++)if(e[n].type==this)return e[n]}checkAttrs(e){al(this.attrs,e,"mark",this.name)}excludes(e){return this.excluded.indexOf(e)>-1}}class hf{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let n=this.spec={};for(let r in e)n[r]=e[r];n.nodes=je.from(e.nodes),n.marks=je.from(e.marks||{}),this.nodes=hs.compile(this.spec.nodes,this),this.marks=ao.compile(this.spec.marks,this);let s=Object.create(null);for(let r in this.nodes){if(r in this.marks)throw new RangeError(r+" can not be both a node and a mark");let o=this.nodes[r],i=o.spec.content||"",l=o.spec.marks;if(o.contentMatch=s[i]||(s[i]=Lt.parse(i,this.nodes)),o.inlineContent=o.contentMatch.inlineContent,o.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!o.isInline||!o.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=o}o.markSet=l=="_"?null:l?aa(this,l.split(" ")):l==""||!o.inlineContent?[]:null}for(let r in this.marks){let o=this.marks[r],i=o.spec.excludes;o.excluded=i==null?[o]:i==""?[]:aa(this,i.split(" "))}this.nodeFromJSON=r=>Tt.fromJSON(this,r),this.markFromJSON=r=>ee.fromJSON(this,r),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(e,n=null,s,r){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof hs){if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}else throw new RangeError("Invalid node type: "+e);return e.createChecked(n,s,r)}text(e,n){let s=this.nodes.text;return new fs(s,s.defaultAttrs,e,ee.setFrom(n))}mark(e,n){return typeof e=="string"&&(e=this.marks[e]),e.create(n)}nodeType(e){let n=this.nodes[e];if(!n)throw new RangeError("Unknown node type: "+e);return n}}function aa(t,e){let n=[];for(let s=0;s<e.length;s++){let r=e[s],o=t.marks[r],i=o;if(o)n.push(o);else for(let l in t.marks){let c=t.marks[l];(r=="_"||c.spec.group&&c.spec.group.split(" ").indexOf(r)>-1)&&n.push(i=c)}if(!i)throw new SyntaxError("Unknown mark type: '"+e[s]+"'")}return n}function mf(t){return t.tag!=null}function gf(t){return t.style!=null}class Kt{constructor(e,n){this.schema=e,this.rules=n,this.tags=[],this.styles=[];let s=this.matchedStyles=[];n.forEach(r=>{if(mf(r))this.tags.push(r);else if(gf(r)){let o=/[^=]*/.exec(r.style)[0];s.indexOf(o)<0&&s.push(o),this.styles.push(r)}}),this.normalizeLists=!this.tags.some(r=>{if(!/^(ul|ol)\b/.test(r.tag)||!r.node)return!1;let o=e.nodes[r.node];return o.contentMatch.matchType(o)})}parse(e,n={}){let s=new la(this,n,!1);return s.addAll(e,ee.none,n.from,n.to),s.finish()}parseSlice(e,n={}){let s=new la(this,n,!0);return s.addAll(e,ee.none,n.from,n.to),W.maxOpen(s.finish())}matchTag(e,n,s){for(let r=s?this.tags.indexOf(s)+1:0;r<this.tags.length;r++){let o=this.tags[r];if(yf(e,o.tag)&&(o.namespace===void 0||e.namespaceURI==o.namespace)&&(!o.context||n.matchesContext(o.context))){if(o.getAttrs){let i=o.getAttrs(e);if(i===!1)continue;o.attrs=i||void 0}return o}}}matchStyle(e,n,s,r){for(let o=r?this.styles.indexOf(r)+1:0;o<this.styles.length;o++){let i=this.styles[o],l=i.style;if(!(l.indexOf(e)!=0||i.context&&!s.matchesContext(i.context)||l.length>e.length&&(l.charCodeAt(e.length)!=61||l.slice(e.length+1)!=n))){if(i.getAttrs){let c=i.getAttrs(n);if(c===!1)continue;i.attrs=c||void 0}return i}}}static schemaRules(e){let n=[];function s(r){let o=r.priority==null?50:r.priority,i=0;for(;i<n.length;i++){let l=n[i];if((l.priority==null?50:l.priority)<o)break}n.splice(i,0,r)}for(let r in e.marks){let o=e.marks[r].spec.parseDOM;o&&o.forEach(i=>{s(i=ca(i)),i.mark||i.ignore||i.clearMark||(i.mark=r)})}for(let r in e.nodes){let o=e.nodes[r].spec.parseDOM;o&&o.forEach(i=>{s(i=ca(i)),i.node||i.ignore||i.mark||(i.node=r)})}return n}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new Kt(e,Kt.schemaRules(e)))}}const ll={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},xf={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},cl={ol:!0,ul:!0},jn=1,vr=2,bn=4;function ia(t,e,n){return e!=null?(e?jn:0)|(e==="full"?vr:0):t&&t.whitespace=="pre"?jn|vr:n&~bn}class qn{constructor(e,n,s,r,o,i){this.type=e,this.attrs=n,this.marks=s,this.solid=r,this.options=i,this.content=[],this.activeMarks=ee.none,this.match=o||(i&bn?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let n=this.type.contentMatch.fillBefore(D.from(e));if(n)this.match=this.type.contentMatch.matchFragment(n);else{let s=this.type.contentMatch,r;return(r=s.findWrapping(e.type))?(this.match=s,r):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&jn)){let s=this.content[this.content.length-1],r;if(s&&s.isText&&(r=/[ \t\r\n\u000c]+$/.exec(s.text))){let o=s;s.text.length==r[0].length?this.content.pop():this.content[this.content.length-1]=o.withText(o.text.slice(0,o.text.length-r[0].length))}}let n=D.from(this.content);return!e&&this.match&&(n=n.append(this.match.fillBefore(D.empty,!0))),this.type?this.type.create(this.attrs,n,this.marks):n}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!ll.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}}class la{constructor(e,n,s){this.parser=e,this.options=n,this.isOpen=s,this.open=0,this.localPreserveWS=!1;let r=n.topNode,o,i=ia(null,n.preserveWhitespace,0)|(s?bn:0);r?o=new qn(r.type,r.attrs,ee.none,!0,n.topMatch||r.type.contentMatch,i):s?o=new qn(null,null,ee.none,!0,null,i):o=new qn(e.schema.topNodeType,null,ee.none,!0,null,i),this.nodes=[o],this.find=n.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,n){e.nodeType==3?this.addTextNode(e,n):e.nodeType==1&&this.addElement(e,n)}addTextNode(e,n){let s=e.nodeValue,r=this.top,o=r.options&vr?"full":this.localPreserveWS||(r.options&jn)>0,{schema:i}=this.parser;if(o==="full"||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(s)){if(o)if(o==="full")s=s.replace(/\r\n?/g,`
131
131
  `);else if(i.linebreakReplacement&&/[\r\n]/.test(s)&&this.top.findWrapping(i.linebreakReplacement.create())){let l=s.split(/\r?\n|\r/);for(let c=0;c<l.length;c++)c&&this.insertNode(i.linebreakReplacement.create(),n,!0),l[c]&&this.insertNode(i.text(l[c]),n,!/\S/.test(l[c]));s=""}else s=s.replace(/\r?\n|\r/g," ");else if(s=s.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(s)&&this.open==this.nodes.length-1){let l=r.content[r.content.length-1],c=e.previousSibling;(!l||c&&c.nodeName=="BR"||l.isText&&/[ \t\r\n\u000c]$/.test(l.text))&&(s=s.slice(1))}s&&this.insertNode(i.text(s),n,!/\S/.test(s)),this.findInText(e)}else this.findInside(e)}addElement(e,n,s){let r=this.localPreserveWS,o=this.top;(e.tagName=="PRE"||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let i=e.nodeName.toLowerCase(),l;cl.hasOwnProperty(i)&&this.parser.normalizeLists&&bf(e);let c=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(l=this.parser.matchTag(e,this,s));e:if(c?c.ignore:xf.hasOwnProperty(i))this.findInside(e),this.ignoreFallback(e,n);else if(!c||c.skip||c.closeParent){c&&c.closeParent?this.open=Math.max(0,this.open-1):c&&c.skip.nodeType&&(e=c.skip);let u,p=this.needsBlock;if(ll.hasOwnProperty(i))o.content.length&&o.content[0].isInline&&this.open&&(this.open--,o=this.top),u=!0,o.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,n);break e}let f=c&&c.skip?n:this.readStyles(e,n);f&&this.addAll(e,f),u&&this.sync(o),this.needsBlock=p}else{let u=this.readStyles(e,n);u&&this.addElementByRule(e,c,u,c.consuming===!1?l:void 0)}this.localPreserveWS=r}leafFallback(e,n){e.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
132
- `),n)}ignoreFallback(e,n){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),n,!0)}readStyles(e,n){let s=e.style;if(s&&s.length)for(let r=0;r<this.parser.matchedStyles.length;r++){let o=this.parser.matchedStyles[r],i=s.getPropertyValue(o);if(i)for(let l=void 0;;){let c=this.parser.matchStyle(o,i,this,l);if(!c)break;if(c.ignore)return null;if(c.clearMark?n=n.filter(u=>!c.clearMark(u)):n=n.concat(this.parser.schema.marks[c.mark].create(c.attrs)),c.consuming===!1)l=c;else break}}return n}addElementByRule(e,n,s,r){let o,i;if(n.node)if(i=this.parser.schema.nodes[n.node],i.isLeaf)this.insertNode(i.create(n.attrs),s,e.nodeName=="BR")||this.leafFallback(e,s);else{let c=this.enter(i,n.attrs||null,s,n.preserveWhitespace);c&&(o=!0,s=c)}else{let c=this.parser.schema.marks[n.mark];s=s.concat(c.create(n.attrs))}let l=this.top;if(i&&i.isLeaf)this.findInside(e);else if(r)this.addElement(e,s,r);else if(n.getContent)this.findInside(e),n.getContent(e,this.parser.schema).forEach(c=>this.insertNode(c,s,!1));else{let c=e;typeof n.contentElement=="string"?c=e.querySelector(n.contentElement):typeof n.contentElement=="function"?c=n.contentElement(e):n.contentElement&&(c=n.contentElement),this.findAround(e,c,!0),this.addAll(c,s),this.findAround(e,c,!1)}o&&this.sync(l)&&this.open--}addAll(e,n,s,r){let o=s||0;for(let i=s?e.childNodes[s]:e.firstChild,l=r==null?null:e.childNodes[r];i!=l;i=i.nextSibling,++o)this.findAtPoint(e,o),this.addDOM(i,n);this.findAtPoint(e,o)}findPlace(e,n,s){let r,o;for(let i=this.open,l=0;i>=0;i--){let c=this.nodes[i],u=c.findWrapping(e);if(u&&(!r||r.length>u.length+l)&&(r=u,o=c,!u.length))break;if(c.solid){if(s)break;l+=2}}if(!r)return null;this.sync(o);for(let i=0;i<r.length;i++)n=this.enterInner(r[i],null,n,!1);return n}insertNode(e,n,s){if(e.isInline&&this.needsBlock&&!this.top.type){let o=this.textblockFromContext();o&&(n=this.enterInner(o,null,n))}let r=this.findPlace(e,n,s);if(r){this.closeExtra();let o=this.top;o.match&&(o.match=o.match.matchType(e.type));let i=ee.none;for(let l of r.concat(e.marks))(o.type?o.type.allowsMarkType(l.type):da(l.type,e.type))&&(i=l.addToSet(i));return o.content.push(e.mark(i)),!0}return!1}enter(e,n,s,r){let o=this.findPlace(e.create(n),s,!1);return o&&(o=this.enterInner(e,n,s,!0,r)),o}enterInner(e,n,s,r=!1,o){this.closeExtra();let i=this.top;i.match=i.match&&i.match.matchType(e);let l=ia(e,o,i.options);i.options&bn&&i.content.length==0&&(l|=bn);let c=ee.none;return s=s.filter(u=>(i.type?i.type.allowsMarkType(u.type):da(u.type,e))?(c=u.addToSet(c),!1):!0),this.nodes.push(new qn(e,n,c,r,null,l)),this.open++,s}closeExtra(e=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let n=this.open;n>=0;n--){if(this.nodes[n]==e)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=jn)}return!1}get currentPos(){this.closeExtra();let e=0;for(let n=this.open;n>=0;n--){let s=this.nodes[n].content;for(let r=s.length-1;r>=0;r--)e+=s[r].nodeSize;n&&e++}return e}findAtPoint(e,n){if(this.find)for(let s=0;s<this.find.length;s++)this.find[s].node==e&&this.find[s].offset==n&&(this.find[s].pos=this.currentPos)}findInside(e){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].pos==null&&e.nodeType==1&&e.contains(this.find[n].node)&&(this.find[n].pos=this.currentPos)}findAround(e,n,s){if(e!=n&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&n.compareDocumentPosition(this.find[r].node)&(s?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&(this.find[n].pos=this.currentPos-(e.nodeValue.length-this.find[n].offset))}matchesContext(e){if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let n=e.split("/"),s=this.options.context,r=!this.isOpen&&(!s||s.parent.type==this.nodes[0].type),o=-(s?s.depth+1:0)+(r?0:1),i=(l,c)=>{for(;l>=0;l--){let u=n[l];if(u==""){if(l==n.length-1||l==0)continue;for(;c>=o;c--)if(i(l-1,c))return!0;return!1}else{let p=c>0||c==0&&r?this.nodes[c].type:s&&c>=o?s.node(c-o).type:null;if(!p||p.name!=u&&!p.isInGroup(u))return!1;c--}}return!0};return i(n.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let n=e.depth;n>=0;n--){let s=e.node(n).contentMatchAt(e.indexAfter(n)).defaultType;if(s&&s.isTextblock&&s.defaultAttrs)return s}for(let n in this.parser.schema.nodes){let s=this.parser.schema.nodes[n];if(s.isTextblock&&s.defaultAttrs)return s}}}function bf(t){for(let e=t.firstChild,n=null;e;e=e.nextSibling){let s=e.nodeType==1?e.nodeName.toLowerCase():null;s&&cl.hasOwnProperty(s)&&n?(n.appendChild(e),e=n):s=="li"?n=e:s&&(n=null)}}function yf(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function ca(t){let e={};for(let n in t)e[n]=t[n];return e}function da(t,e){let n=e.schema.nodes;for(let s in n){let r=n[s];if(!r.allowsMarkType(t))continue;let o=[],i=l=>{o.push(l);for(let c=0;c<l.edgeCount;c++){let{type:u,next:p}=l.edge(c);if(u==e||o.indexOf(p)<0&&i(p))return!0}};if(i(r.contentMatch))return!0}}const dl=65535,ul=Math.pow(2,16);function kf(t,e){return t+e*ul}function ua(t){return t&dl}function vf(t){return(t-(t&dl))/ul}const pl=1,fl=2,es=4,hl=8;class pa{constructor(e,n,s){this.pos=e,this.delInfo=n,this.recover=s}get deleted(){return(this.delInfo&hl)>0}get deletedBefore(){return(this.delInfo&(pl|es))>0}get deletedAfter(){return(this.delInfo&(fl|es))>0}get deletedAcross(){return(this.delInfo&es)>0}}class He{constructor(e,n=!1){if(this.ranges=e,this.inverted=n,!e.length&&He.empty)return He.empty}recover(e){let n=0,s=ua(e);if(!this.inverted)for(let r=0;r<s;r++)n+=this.ranges[r*3+2]-this.ranges[r*3+1];return this.ranges[s*3]+n+vf(e)}mapResult(e,n=1){return this._map(e,n,!1)}map(e,n=1){return this._map(e,n,!0)}_map(e,n,s){let r=0,o=this.inverted?2:1,i=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let c=this.ranges[l]-(this.inverted?r:0);if(c>e)break;let u=this.ranges[l+o],p=this.ranges[l+i],f=c+u;if(e<=f){let m=u?e==c?-1:e==f?1:n:n,h=c+r+(m<0?0:p);if(s)return h;let x=e==(n<0?c:f)?null:kf(l/3,e-c),b=e==c?fl:e==f?pl:es;return(n<0?e!=c:e!=f)&&(b|=hl),new pa(h,b,x)}r+=p-u}return s?e+r:new pa(e+r,0,null)}touches(e,n){let s=0,r=ua(n),o=this.inverted?2:1,i=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let c=this.ranges[l]-(this.inverted?s:0);if(c>e)break;let u=this.ranges[l+o],p=c+u;if(e<=p&&l==r*3)return!0;s+=this.ranges[l+i]-u}return!1}forEach(e){let n=this.inverted?2:1,s=this.inverted?1:2;for(let r=0,o=0;r<this.ranges.length;r+=3){let i=this.ranges[r],l=i-(this.inverted?o:0),c=i+(this.inverted?0:o),u=this.ranges[r+n],p=this.ranges[r+s];e(l,l+u,c,c+p),o+=p-u}}invert(){return new He(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(e){return e==0?He.empty:new He(e<0?[0,-e,0]:[0,0,e])}}He.empty=new He([]);const tr=Object.create(null);class Be{getMap(){return He.empty}merge(e){return null}static fromJSON(e,n){if(!n||!n.stepType)throw new RangeError("Invalid input for Step.fromJSON");let s=tr[n.stepType];if(!s)throw new RangeError(`No step type ${n.stepType} defined`);return s.fromJSON(e,n)}static jsonID(e,n){if(e in tr)throw new RangeError("Duplicate use of step JSON ID "+e);return tr[e]=n,n.prototype.jsonID=e,n}}class ve{constructor(e,n){this.doc=e,this.failed=n}static ok(e){return new ve(e,null)}static fail(e){return new ve(null,e)}static fromReplace(e,n,s,r){try{return ve.ok(e.replace(n,s,r))}catch(o){if(o instanceof ds)return ve.fail(o.message);throw o}}}function io(t,e,n){let s=[];for(let r=0;r<t.childCount;r++){let o=t.child(r);o.content.size&&(o=o.copy(io(o.content,e,o))),o.isInline&&(o=e(o,n,r)),s.push(o)}return D.fromArray(s)}class wt extends Be{constructor(e,n,s){super(),this.from=e,this.to=n,this.mark=s}apply(e){let n=e.slice(this.from,this.to),s=e.resolve(this.from),r=s.node(s.sharedDepth(this.to)),o=new W(io(n.content,(i,l)=>!i.isAtom||!l.type.allowsMarkType(this.mark.type)?i:i.mark(this.mark.addToSet(i.marks)),r),n.openStart,n.openEnd);return ve.fromReplace(e,this.from,this.to,o)}invert(){return new Ct(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),s=e.mapResult(this.to,-1);return n.deleted&&s.deleted||n.pos>=s.pos?null:new wt(n.pos,s.pos,this.mark)}merge(e){return e instanceof wt&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new wt(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new wt(n.from,n.to,e.markFromJSON(n.mark))}}Be.jsonID("addMark",wt);class Ct extends Be{constructor(e,n,s){super(),this.from=e,this.to=n,this.mark=s}apply(e){let n=e.slice(this.from,this.to),s=new W(io(n.content,r=>r.mark(this.mark.removeFromSet(r.marks)),e),n.openStart,n.openEnd);return ve.fromReplace(e,this.from,this.to,s)}invert(){return new wt(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),s=e.mapResult(this.to,-1);return n.deleted&&s.deleted||n.pos>=s.pos?null:new Ct(n.pos,s.pos,this.mark)}merge(e){return e instanceof Ct&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Ct(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Ct(n.from,n.to,e.markFromJSON(n.mark))}}Be.jsonID("removeMark",Ct);class jt extends Be{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return ve.fail("No node at mark step's position");let s=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return ve.fromReplace(e,this.pos,this.pos+1,new W(D.from(s),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);if(n){let s=this.mark.addToSet(n.marks);if(s.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(s))return new jt(this.pos,n.marks[r]);return new jt(this.pos,this.mark)}}return new Sn(this.pos,this.mark)}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new jt(n.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new jt(n.pos,e.markFromJSON(n.mark))}}Be.jsonID("addNodeMark",jt);class Sn extends Be{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return ve.fail("No node at mark step's position");let s=n.type.create(n.attrs,null,this.mark.removeFromSet(n.marks));return ve.fromReplace(e,this.pos,this.pos+1,new W(D.from(s),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);return!n||!this.mark.isInSet(n.marks)?this:new jt(this.pos,this.mark)}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new Sn(n.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new Sn(n.pos,e.markFromJSON(n.mark))}}Be.jsonID("removeNodeMark",Sn);class Fe extends Be{constructor(e,n,s,r=!1){super(),this.from=e,this.to=n,this.slice=s,this.structure=r}apply(e){return this.structure&&wr(e,this.from,this.to)?ve.fail("Structure replace would overwrite content"):ve.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new He([this.from,this.to-this.from,this.slice.size])}invert(e){return new Fe(this.from,this.from+this.slice.size,e.slice(this.from,this.to))}map(e){let n=e.mapResult(this.from,1),s=e.mapResult(this.to,-1);return n.deletedAcross&&s.deletedAcross?null:new Fe(n.pos,Math.max(n.pos,s.pos),this.slice,this.structure)}merge(e){if(!(e instanceof Fe)||e.structure||this.structure)return null;if(this.from+this.slice.size==e.from&&!this.slice.openEnd&&!e.slice.openStart){let n=this.slice.size+e.slice.size==0?W.empty:new W(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new Fe(this.from,this.to+(e.to-e.from),n,this.structure)}else if(e.to==this.from&&!this.slice.openStart&&!e.slice.openEnd){let n=this.slice.size+e.slice.size==0?W.empty:new W(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new Fe(e.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new Fe(n.from,n.to,W.fromJSON(e,n.slice),!!n.structure)}}Be.jsonID("replace",Fe);class Me extends Be{constructor(e,n,s,r,o,i,l=!1){super(),this.from=e,this.to=n,this.gapFrom=s,this.gapTo=r,this.slice=o,this.insert=i,this.structure=l}apply(e){if(this.structure&&(wr(e,this.from,this.gapFrom)||wr(e,this.gapTo,this.to)))return ve.fail("Structure gap-replace would overwrite content");let n=e.slice(this.gapFrom,this.gapTo);if(n.openStart||n.openEnd)return ve.fail("Gap is not a flat range");let s=this.slice.insertAt(this.insert,n.content);return s?ve.fromReplace(e,this.from,this.to,s):ve.fail("Content does not fit in gap")}getMap(){return new He([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(e){let n=this.gapTo-this.gapFrom;return new Me(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(e){let n=e.mapResult(this.from,1),s=e.mapResult(this.to,-1),r=this.from==this.gapFrom?n.pos:e.map(this.gapFrom,-1),o=this.to==this.gapTo?s.pos:e.map(this.gapTo,1);return n.deletedAcross&&s.deletedAcross||r<n.pos||o>s.pos?null:new Me(n.pos,s.pos,r,o,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new Me(n.from,n.to,n.gapFrom,n.gapTo,W.fromJSON(e,n.slice),n.insert,!!n.structure)}}Be.jsonID("replaceAround",Me);function wr(t,e,n){let s=t.resolve(e),r=n-e,o=s.depth;for(;r>0&&o>0&&s.indexAfter(o)==s.node(o).childCount;)o--,r--;if(r>0){let i=s.node(o).maybeChild(s.indexAfter(o));for(;r>0;){if(!i||i.isLeaf)return!0;i=i.firstChild,r--}}return!1}function wf(t,e,n){return(e==0||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function an(t){let n=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let s=t.depth,r=0,o=0;;--s){let i=t.$from.node(s),l=t.$from.index(s)+r,c=t.$to.indexAfter(s)-o;if(s<t.depth&&i.canReplace(l,c,n))return s;if(s==0||i.type.spec.isolating||!wf(i,l,c))break;l&&(r=1),c<i.childCount&&(o=1)}return null}function ml(t,e,n=null,s=t){let r=Cf(t,e),o=r&&jf(s,e);return o?r.map(fa).concat({type:e,attrs:n}).concat(o.map(fa)):null}function fa(t){return{type:t,attrs:null}}function Cf(t,e){let{parent:n,startIndex:s,endIndex:r}=t,o=n.contentMatchAt(s).findWrapping(e);if(!o)return null;let i=o.length?o[0]:e;return n.canReplaceWith(s,r,i)?o:null}function jf(t,e){let{parent:n,startIndex:s,endIndex:r}=t,o=n.child(s),i=e.contentMatch.findWrapping(o.type);if(!i)return null;let c=(i.length?i[i.length-1]:e).contentMatch;for(let u=s;c&&u<r;u++)c=c.matchType(n.child(u).type);return!c||!c.validEnd?null:i}function lt(t,e,n=1,s){let r=t.resolve(e),o=r.depth-n,i=s&&s[s.length-1]||r.parent;if(o<0||r.parent.type.spec.isolating||!r.parent.canReplace(r.index(),r.parent.childCount)||!i.type.validContent(r.parent.content.cutByIndex(r.index(),r.parent.childCount)))return!1;for(let u=r.depth-1,p=n-2;u>o;u--,p--){let f=r.node(u),m=r.index(u);if(f.type.spec.isolating)return!1;let h=f.content.cutByIndex(m,f.childCount),x=s&&s[p+1];x&&(h=h.replaceChild(0,x.type.create(x.attrs)));let b=s&&s[p]||f;if(!f.canReplace(m+1,f.childCount)||!b.type.validContent(h))return!1}let l=r.indexAfter(o),c=s&&s[0];return r.node(o).canReplaceWith(l,l,c?c.type:r.node(o+1).type)}function Ft(t,e){let n=t.resolve(e),s=n.index();return gl(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(s,s+1)}function Sf(t,e){e.content.size||t.type.compatibleContent(e.type);let n=t.contentMatchAt(t.childCount),{linebreakReplacement:s}=t.type.schema;for(let r=0;r<e.childCount;r++){let o=e.child(r),i=o.type==s?t.type.schema.nodes.text:o.type;if(n=n.matchType(i),!n||!t.type.allowsMarks(o.marks))return!1}return n.validEnd}function gl(t,e){return!!(t&&e&&!t.isLeaf&&Sf(t,e))}function Ps(t,e,n=-1){let s=t.resolve(e);for(let r=s.depth;;r--){let o,i,l=s.index(r);if(r==s.depth?(o=s.nodeBefore,i=s.nodeAfter):n>0?(o=s.node(r+1),l++,i=s.node(r).maybeChild(l)):(o=s.node(r).maybeChild(l-1),i=s.node(r+1)),o&&!o.isTextblock&&gl(o,i)&&s.node(r).canReplace(l,l+1))return e;if(r==0)break;e=n<0?s.before(r):s.after(r)}}function lo(t,e,n=e,s=W.empty){if(e==n&&!s.size)return null;let r=t.resolve(e),o=t.resolve(n);return Nf(r,o,s)?new Fe(e,n,s):new Ef(r,o,s).fit()}function Nf(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}class Ef{constructor(e,n,s){this.$from=e,this.$to=n,this.unplaced=s,this.frontier=[],this.placed=D.empty;for(let r=0;r<=e.depth;r++){let o=e.node(r);this.frontier.push({type:o.type,match:o.contentMatchAt(e.indexAfter(r))})}for(let r=e.depth;r>0;r--)this.placed=D.from(e.node(r).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let u=this.findFittable();u?this.placeNodes(u):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,s=this.$from,r=this.close(e<0?this.$to:s.doc.resolve(e));if(!r)return null;let o=this.placed,i=s.depth,l=r.depth;for(;i&&l&&o.childCount==1;)o=o.firstChild.content,i--,l--;let c=new W(o,i,l);return e>-1?new Me(s.pos,e,this.$to.pos,this.$to.end(),c,n):c.size||s.pos!=this.$to.pos?new Fe(s.pos,r.pos,c):null}findFittable(){let e=this.unplaced.openStart;for(let n=this.unplaced.content,s=0,r=this.unplaced.openEnd;s<e;s++){let o=n.firstChild;if(n.childCount>1&&(r=0),o.type.spec.isolating&&r<=s){e=s;break}n=o.content}for(let n=1;n<=2;n++)for(let s=n==1?e:this.unplaced.openStart;s>=0;s--){let r,o=null;s?(o=nr(this.unplaced.content,s-1).firstChild,r=o.content):r=this.unplaced.content;let i=r.firstChild;for(let l=this.depth;l>=0;l--){let{type:c,match:u}=this.frontier[l],p,f=null;if(n==1&&(i?u.matchType(i.type)||(f=u.fillBefore(D.from(i),!1)):o&&c.compatibleContent(o.type)))return{sliceDepth:s,frontierDepth:l,parent:o,inject:f};if(n==2&&i&&(p=u.findWrapping(i.type)))return{sliceDepth:s,frontierDepth:l,parent:o,wrap:p};if(o&&u.matchType(o.type))break}}}openMore(){let{content:e,openStart:n,openEnd:s}=this.unplaced,r=nr(e,n);return!r.childCount||r.firstChild.isLeaf?!1:(this.unplaced=new W(e,n+1,Math.max(s,r.size+n>=e.size-s?n+1:0)),!0)}dropNode(){let{content:e,openStart:n,openEnd:s}=this.unplaced,r=nr(e,n);if(r.childCount<=1&&n>0){let o=e.size-n<=n+r.size;this.unplaced=new W(hn(e,n-1,1),n-1,o?n-1:s)}else this.unplaced=new W(hn(e,n,1),n,s)}placeNodes({sliceDepth:e,frontierDepth:n,parent:s,inject:r,wrap:o}){for(;this.depth>n;)this.closeFrontierNode();if(o)for(let b=0;b<o.length;b++)this.openFrontierNode(o[b]);let i=this.unplaced,l=s?s.content:i.content,c=i.openStart-e,u=0,p=[],{match:f,type:m}=this.frontier[n];if(r){for(let b=0;b<r.childCount;b++)p.push(r.child(b));f=f.matchFragment(r)}let h=l.size+e-(i.content.size-i.openEnd);for(;u<l.childCount;){let b=l.child(u),y=f.matchType(b.type);if(!y)break;u++,(u>1||c==0||b.content.size)&&(f=y,p.push(xl(b.mark(m.allowedMarks(b.marks)),u==1?c:0,u==l.childCount?h:-1)))}let x=u==l.childCount;x||(h=-1),this.placed=mn(this.placed,n,D.from(p)),this.frontier[n].match=f,x&&h<0&&s&&s.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let b=0,y=l;b<h;b++){let k=y.lastChild;this.frontier.push({type:k.type,match:k.contentMatchAt(k.childCount)}),y=k.content}this.unplaced=x?e==0?W.empty:new W(hn(i.content,e-1,1),e-1,h<0?i.openEnd:e-1):new W(hn(i.content,e,u),i.openStart,i.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],n;if(!e.type.isTextblock||!sr(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(n=this.findCloseLevel(this.$to))&&n.depth==this.depth)return-1;let{depth:s}=this.$to,r=this.$to.after(s);for(;s>1&&r==this.$to.end(--s);)++r;return r}findCloseLevel(e){e:for(let n=Math.min(this.depth,e.depth);n>=0;n--){let{match:s,type:r}=this.frontier[n],o=n<e.depth&&e.end(n+1)==e.pos+(e.depth-(n+1)),i=sr(e,n,r,s,o);if(i){for(let l=n-1;l>=0;l--){let{match:c,type:u}=this.frontier[l],p=sr(e,l,u,c,!0);if(!p||p.childCount)continue e}return{depth:n,fit:i,move:o?e.doc.resolve(e.after(n+1)):e}}}}close(e){let n=this.findCloseLevel(e);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=mn(this.placed,n.depth,n.fit)),e=n.move;for(let s=n.depth+1;s<=e.depth;s++){let r=e.node(s),o=r.type.contentMatch.fillBefore(r.content,!0,e.index(s));this.openFrontierNode(r.type,r.attrs,o)}return e}openFrontierNode(e,n=null,s){let r=this.frontier[this.depth];r.match=r.match.matchType(e),this.placed=mn(this.placed,this.depth,D.from(e.create(n,s))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let n=this.frontier.pop().match.fillBefore(D.empty,!0);n.childCount&&(this.placed=mn(this.placed,this.frontier.length,n))}}function hn(t,e,n){return e==0?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(hn(t.firstChild.content,e-1,n)))}function mn(t,e,n){return e==0?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(mn(t.lastChild.content,e-1,n)))}function nr(t,e){for(let n=0;n<e;n++)t=t.firstChild.content;return t}function xl(t,e,n){if(e<=0)return t;let s=t.content;return e>1&&(s=s.replaceChild(0,xl(s.firstChild,e-1,s.childCount==1?n-1:0))),e>0&&(s=t.type.contentMatch.fillBefore(s).append(s),n<=0&&(s=s.append(t.type.contentMatch.matchFragment(s).fillBefore(D.empty,!0)))),t.copy(s)}function sr(t,e,n,s,r){let o=t.node(e),i=r?t.indexAfter(e):t.index(e);if(i==o.childCount&&!n.compatibleContent(o.type))return null;let l=s.fillBefore(o.content,!0,i);return l&&!Af(n,o.content,i)?l:null}function Af(t,e,n){for(let s=n;s<e.childCount;s++)if(!t.allowsMarks(e.child(s).marks))return!0;return!1}class yn extends Be{constructor(e,n,s){super(),this.pos=e,this.attr=n,this.value=s}apply(e){let n=e.nodeAt(this.pos);if(!n)return ve.fail("No node at attribute step's position");let s=Object.create(null);for(let o in n.attrs)s[o]=n.attrs[o];s[this.attr]=this.value;let r=n.type.create(s,null,n.marks);return ve.fromReplace(e,this.pos,this.pos+1,new W(D.from(r),0,n.isLeaf?0:1))}getMap(){return He.empty}invert(e){return new yn(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new yn(n.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.pos!="number"||typeof n.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new yn(n.pos,n.attr,n.value)}}Be.jsonID("attr",yn);class ms extends Be{constructor(e,n){super(),this.attr=e,this.value=n}apply(e){let n=Object.create(null);for(let r in e.attrs)n[r]=e.attrs[r];n[this.attr]=this.value;let s=e.type.create(n,e.content,e.marks);return ve.ok(s)}getMap(){return He.empty}invert(e){return new ms(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new ms(n.attr,n.value)}}Be.jsonID("docAttr",ms);let Nn=class extends Error{};Nn=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n};Nn.prototype=Object.create(Error.prototype);Nn.prototype.constructor=Nn;Nn.prototype.name="TransformError";const rr=Object.create(null);class J{constructor(e,n,s){this.$anchor=e,this.$head=n,this.ranges=s||[new _f(e.min(n),e.max(n))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let n=0;n<e.length;n++)if(e[n].$from.pos!=e[n].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,n=W.empty){let s=n.content.lastChild,r=null;for(let l=0;l<n.openEnd;l++)r=s,s=s.lastChild;let o=e.steps.length,i=this.ranges;for(let l=0;l<i.length;l++){let{$from:c,$to:u}=i[l],p=e.mapping.slice(o);e.replaceRange(p.map(c.pos),p.map(u.pos),l?W.empty:n),l==0&&ga(e,o,(s?s.isInline:r&&r.isTextblock)?-1:1)}}replaceWith(e,n){let s=e.steps.length,r=this.ranges;for(let o=0;o<r.length;o++){let{$from:i,$to:l}=r[o],c=e.mapping.slice(s),u=c.map(i.pos),p=c.map(l.pos);o?e.deleteRange(u,p):(e.replaceRangeWith(u,p,n),ga(e,s,n.isInline?-1:1))}}static findFrom(e,n,s=!1){let r=e.parent.inlineContent?new ie(e):Ut(e.node(0),e.parent,e.pos,e.index(),n,s);if(r)return r;for(let o=e.depth-1;o>=0;o--){let i=n<0?Ut(e.node(0),e.node(o),e.before(o+1),e.index(o),n,s):Ut(e.node(0),e.node(o),e.after(o+1),e.index(o)+1,n,s);if(i)return i}return null}static near(e,n=1){return this.findFrom(e,n)||this.findFrom(e,-n)||new Ge(e.node(0))}static atStart(e){return Ut(e,e,0,0,1)||new Ge(e)}static atEnd(e){return Ut(e,e,e.content.size,e.childCount,-1)||new Ge(e)}static fromJSON(e,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");let s=rr[n.type];if(!s)throw new RangeError(`No selection type ${n.type} defined`);return s.fromJSON(e,n)}static jsonID(e,n){if(e in rr)throw new RangeError("Duplicate use of selection JSON ID "+e);return rr[e]=n,n.prototype.jsonID=e,n}getBookmark(){return ie.between(this.$anchor,this.$head).getBookmark()}}J.prototype.visible=!0;class _f{constructor(e,n){this.$from=e,this.$to=n}}let ha=!1;function ma(t){!ha&&!t.parent.inlineContent&&(ha=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class ie extends J{constructor(e,n=e){ma(e),ma(n),super(e,n)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,n){let s=e.resolve(n.map(this.head));if(!s.parent.inlineContent)return J.near(s);let r=e.resolve(n.map(this.anchor));return new ie(r.parent.inlineContent?r:s,s)}replace(e,n=W.empty){if(super.replace(e,n),n==W.empty){let s=this.$from.marksAcross(this.$to);s&&e.ensureMarks(s)}}eq(e){return e instanceof ie&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new Ls(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,n){if(typeof n.anchor!="number"||typeof n.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new ie(e.resolve(n.anchor),e.resolve(n.head))}static create(e,n,s=n){let r=e.resolve(n);return new this(r,s==n?r:e.resolve(s))}static between(e,n,s){let r=e.pos-n.pos;if((!s||r)&&(s=r>=0?1:-1),!n.parent.inlineContent){let o=J.findFrom(n,s,!0)||J.findFrom(n,-s,!0);if(o)n=o.$head;else return J.near(n,s)}return e.parent.inlineContent||(r==0?e=n:(e=(J.findFrom(e,-s,!0)||J.findFrom(e,s,!0)).$anchor,e.pos<n.pos!=r<0&&(e=n))),new ie(e,n)}}J.jsonID("text",ie);class Ls{constructor(e,n){this.anchor=e,this.head=n}map(e){return new Ls(e.map(this.anchor),e.map(this.head))}resolve(e){return ie.between(e.resolve(this.anchor),e.resolve(this.head))}}class te extends J{constructor(e){let n=e.nodeAfter,s=e.node(0).resolve(e.pos+n.nodeSize);super(e,s),this.node=n}map(e,n){let{deleted:s,pos:r}=n.mapResult(this.anchor),o=e.resolve(r);return s?J.near(o):new te(o)}content(){return new W(D.from(this.node),0,0)}eq(e){return e instanceof te&&e.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new co(this.anchor)}static fromJSON(e,n){if(typeof n.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new te(e.resolve(n.anchor))}static create(e,n){return new te(e.resolve(n))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}}te.prototype.visible=!1;J.jsonID("node",te);class co{constructor(e){this.anchor=e}map(e){let{deleted:n,pos:s}=e.mapResult(this.anchor);return n?new Ls(s,s):new co(s)}resolve(e){let n=e.resolve(this.anchor),s=n.nodeAfter;return s&&te.isSelectable(s)?new te(n):J.near(n)}}class Ge extends J{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,n=W.empty){if(n==W.empty){e.delete(0,e.doc.content.size);let s=J.atStart(e.doc);s.eq(e.selection)||e.setSelection(s)}else super.replace(e,n)}toJSON(){return{type:"all"}}static fromJSON(e){return new Ge(e)}map(e){return new Ge(e)}eq(e){return e instanceof Ge}getBookmark(){return If}}J.jsonID("all",Ge);const If={map(){return this},resolve(t){return new Ge(t)}};function Ut(t,e,n,s,r,o=!1){if(e.inlineContent)return ie.create(t,n);for(let i=s-(r>0?0:1);r>0?i<e.childCount:i>=0;i+=r){let l=e.child(i);if(l.isAtom){if(!o&&te.isSelectable(l))return te.create(t,n-(r<0?l.nodeSize:0))}else{let c=Ut(t,l,n+r,r<0?l.childCount:0,r,o);if(c)return c}n+=l.nodeSize*r}return null}function ga(t,e,n){let s=t.steps.length-1;if(s<e)return;let r=t.steps[s];if(!(r instanceof Fe||r instanceof Me))return;let o=t.mapping.maps[s],i;o.forEach((l,c,u,p)=>{i==null&&(i=p)}),t.setSelection(J.near(t.doc.resolve(i),n))}function xa(t,e){return!e||!t?t:t.bind(e)}class Kn{constructor(e,n,s){this.name=e,this.init=xa(n.init,s),this.apply=xa(n.apply,s)}}new Kn("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new Kn("selection",{init(t,e){return t.selection||J.atStart(e.doc)},apply(t){return t.selection}}),new Kn("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,n,s){return s.selection.$cursor?t.storedMarks:null}}),new Kn("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}});function bl(t,e,n){for(let s in t){let r=t[s];r instanceof Function?r=r.bind(e):s=="handleDOMEvents"&&(r=bl(r,e,{})),n[s]=r}return n}class zt{constructor(e){this.spec=e,this.props={},e.props&&bl(e.props,this,this.props),this.key=e.key?e.key.key:yl("plugin")}getState(e){return e[this.key]}}const or=Object.create(null);function yl(t){return t in or?t+"$"+ ++or[t]:(or[t]=0,t+"$")}class Ht{constructor(e="key"){this.key=yl(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}const uo=(t,e)=>t.selection.empty?!1:(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function kl(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}const vl=(t,e,n)=>{let s=kl(t,n);if(!s)return!1;let r=po(s);if(!r){let i=s.blockRange(),l=i&&an(i);return l==null?!1:(e&&e(t.tr.lift(i,l).scrollIntoView()),!0)}let o=r.nodeBefore;if(Il(t,r,e,-1))return!0;if(s.parent.content.size==0&&(Zt(o,"end")||te.isSelectable(o)))for(let i=s.depth;;i--){let l=lo(t.doc,s.before(i),s.after(i),W.empty);if(l&&l.slice.size<l.to-l.from){if(e){let c=t.tr.step(l);c.setSelection(Zt(o,"end")?J.findFrom(c.doc.resolve(c.mapping.map(r.pos,-1)),-1):te.create(c.doc,r.pos-o.nodeSize)),e(c.scrollIntoView())}return!0}if(i==1||s.node(i-1).childCount>1)break}return o.isAtom&&r.depth==s.depth-1?(e&&e(t.tr.delete(r.pos-o.nodeSize,r.pos).scrollIntoView()),!0):!1},Tf=(t,e,n)=>{let s=kl(t,n);if(!s)return!1;let r=po(s);return r?wl(t,r,e):!1},Bf=(t,e,n)=>{let s=jl(t,n);if(!s)return!1;let r=fo(s);return r?wl(t,r,e):!1};function wl(t,e,n){let s=e.nodeBefore,r=s,o=e.pos-1;for(;!r.isTextblock;o--){if(r.type.spec.isolating)return!1;let p=r.lastChild;if(!p)return!1;r=p}let i=e.nodeAfter,l=i,c=e.pos+1;for(;!l.isTextblock;c++){if(l.type.spec.isolating)return!1;let p=l.firstChild;if(!p)return!1;l=p}let u=lo(t.doc,o,c,W.empty);if(!u||u.from!=o||u instanceof Fe&&u.slice.size>=c-o)return!1;if(n){let p=t.tr.step(u);p.setSelection(ie.create(p.doc,o)),n(p.scrollIntoView())}return!0}function Zt(t,e,n=!1){for(let s=t;s;s=e=="start"?s.firstChild:s.lastChild){if(s.isTextblock)return!0;if(n&&s.childCount!=1)return!1}return!1}const Cl=(t,e,n)=>{let{$head:s,empty:r}=t.selection,o=s;if(!r)return!1;if(s.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):s.parentOffset>0)return!1;o=po(s)}let i=o&&o.nodeBefore;return!i||!te.isSelectable(i)?!1:(e&&e(t.tr.setSelection(te.create(t.doc,o.pos-i.nodeSize)).scrollIntoView()),!0)};function po(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function jl(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset<n.parent.content.size)?null:n}const Sl=(t,e,n)=>{let s=jl(t,n);if(!s)return!1;let r=fo(s);if(!r)return!1;let o=r.nodeAfter;if(Il(t,r,e,1))return!0;if(s.parent.content.size==0&&(Zt(o,"start")||te.isSelectable(o))){let i=lo(t.doc,s.before(),s.after(),W.empty);if(i&&i.slice.size<i.to-i.from){if(e){let l=t.tr.step(i);l.setSelection(Zt(o,"start")?J.findFrom(l.doc.resolve(l.mapping.map(r.pos)),1):te.create(l.doc,l.mapping.map(r.pos))),e(l.scrollIntoView())}return!0}}return o.isAtom&&r.depth==s.depth-1?(e&&e(t.tr.delete(r.pos,r.pos+o.nodeSize).scrollIntoView()),!0):!1},Nl=(t,e,n)=>{let{$head:s,empty:r}=t.selection,o=s;if(!r)return!1;if(s.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):s.parentOffset<s.parent.content.size)return!1;o=fo(s)}let i=o&&o.nodeAfter;return!i||!te.isSelectable(i)?!1:(e&&e(t.tr.setSelection(te.create(t.doc,o.pos)).scrollIntoView()),!0)};function fo(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let n=t.node(e);if(t.index(e)+1<n.childCount)return t.doc.resolve(t.after(e+1));if(n.type.spec.isolating)break}return null}const Rf=(t,e)=>{let n=t.selection,s=n instanceof te,r;if(s){if(n.node.isTextblock||!Ft(t.doc,n.from))return!1;r=n.from}else if(r=Ps(t.doc,n.from,-1),r==null)return!1;if(e){let o=t.tr.join(r);s&&o.setSelection(te.create(o.doc,r-t.doc.resolve(r).nodeBefore.nodeSize)),e(o.scrollIntoView())}return!0},Pf=(t,e)=>{let n=t.selection,s;if(n instanceof te){if(n.node.isTextblock||!Ft(t.doc,n.to))return!1;s=n.to}else if(s=Ps(t.doc,n.to,1),s==null)return!1;return e&&e(t.tr.join(s).scrollIntoView()),!0},Lf=(t,e)=>{let{$from:n,$to:s}=t.selection,r=n.blockRange(s),o=r&&an(r);return o==null?!1:(e&&e(t.tr.lift(r,o).scrollIntoView()),!0)},El=(t,e)=>{let{$head:n,$anchor:s}=t.selection;return!n.parent.type.spec.code||!n.sameParent(s)?!1:(e&&e(t.tr.insertText(`
133
- `).scrollIntoView()),!0)};function ho(t){for(let e=0;e<t.edgeCount;e++){let{type:n}=t.edge(e);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}const Df=(t,e)=>{let{$head:n,$anchor:s}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(s))return!1;let r=n.node(-1),o=n.indexAfter(-1),i=ho(r.contentMatchAt(o));if(!i||!r.canReplaceWith(o,o,i))return!1;if(e){let l=n.after(),c=t.tr.replaceWith(l,l,i.createAndFill());c.setSelection(J.near(c.doc.resolve(l),1)),e(c.scrollIntoView())}return!0},Al=(t,e)=>{let n=t.selection,{$from:s,$to:r}=n;if(n instanceof Ge||s.parent.inlineContent||r.parent.inlineContent)return!1;let o=ho(r.parent.contentMatchAt(r.indexAfter()));if(!o||!o.isTextblock)return!1;if(e){let i=(!s.parentOffset&&r.index()<r.parent.childCount?s:r).pos,l=t.tr.insert(i,o.createAndFill());l.setSelection(ie.create(l.doc,i+1)),e(l.scrollIntoView())}return!0},_l=(t,e)=>{let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let o=n.before();if(lt(t.doc,o))return e&&e(t.tr.split(o).scrollIntoView()),!0}let s=n.blockRange(),r=s&&an(s);return r==null?!1:(e&&e(t.tr.lift(s,r).scrollIntoView()),!0)};function Mf(t){return(e,n)=>{let{$from:s,$to:r}=e.selection;if(e.selection instanceof te&&e.selection.node.isBlock)return!s.parentOffset||!lt(e.doc,s.pos)?!1:(n&&n(e.tr.split(s.pos).scrollIntoView()),!0);if(!s.depth)return!1;let o=[],i,l,c=!1,u=!1;for(let h=s.depth;;h--)if(s.node(h).isBlock){c=s.end(h)==s.pos+(s.depth-h),u=s.start(h)==s.pos-(s.depth-h),l=ho(s.node(h-1).contentMatchAt(s.indexAfter(h-1))),o.unshift(c&&l?{type:l}:null),i=h;break}else{if(h==1)return!1;o.unshift(null)}let p=e.tr;(e.selection instanceof ie||e.selection instanceof Ge)&&p.deleteSelection();let f=p.mapping.map(s.pos),m=lt(p.doc,f,o.length,o);if(m||(o[0]=l?{type:l}:null,m=lt(p.doc,f,o.length,o)),!m)return!1;if(p.split(f,o.length,o),!c&&u&&s.node(i).type!=l){let h=p.mapping.map(s.before(i)),x=p.doc.resolve(h);l&&s.node(i-1).canReplaceWith(x.index(),x.index()+1,l)&&p.setNodeMarkup(p.mapping.map(s.before(i)),l)}return n&&n(p.scrollIntoView()),!0}}const Of=Mf(),$f=(t,e)=>{let{$from:n,to:s}=t.selection,r,o=n.sharedDepth(s);return o==0?!1:(r=n.before(o),e&&e(t.tr.setSelection(te.create(t.doc,r))),!0)};function Ff(t,e,n){let s=e.nodeBefore,r=e.nodeAfter,o=e.index();return!s||!r||!s.type.compatibleContent(r.type)?!1:!s.content.size&&e.parent.canReplace(o-1,o)?(n&&n(t.tr.delete(e.pos-s.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(o,o+1)||!(r.isTextblock||Ft(t.doc,e.pos))?!1:(n&&n(t.tr.join(e.pos).scrollIntoView()),!0)}function Il(t,e,n,s){let r=e.nodeBefore,o=e.nodeAfter,i,l,c=r.type.spec.isolating||o.type.spec.isolating;if(!c&&Ff(t,e,n))return!0;let u=!c&&e.parent.canReplace(e.index(),e.index()+1);if(u&&(i=(l=r.contentMatchAt(r.childCount)).findWrapping(o.type))&&l.matchType(i[0]||o.type).validEnd){if(n){let h=e.pos+o.nodeSize,x=D.empty;for(let k=i.length-1;k>=0;k--)x=D.from(i[k].create(null,x));x=D.from(r.copy(x));let b=t.tr.step(new Me(e.pos-1,h,e.pos,h,new W(x,1,0),i.length,!0)),y=b.doc.resolve(h+2*i.length);y.nodeAfter&&y.nodeAfter.type==r.type&&Ft(b.doc,y.pos)&&b.join(y.pos),n(b.scrollIntoView())}return!0}let p=o.type.spec.isolating||s>0&&c?null:J.findFrom(e,1),f=p&&p.$from.blockRange(p.$to),m=f&&an(f);if(m!=null&&m>=e.depth)return n&&n(t.tr.lift(f,m).scrollIntoView()),!0;if(u&&Zt(o,"start",!0)&&Zt(r,"end")){let h=r,x=[];for(;x.push(h),!h.isTextblock;)h=h.lastChild;let b=o,y=1;for(;!b.isTextblock;b=b.firstChild)y++;if(h.canReplace(h.childCount,h.childCount,b.content)){if(n){let k=D.empty;for(let A=x.length-1;A>=0;A--)k=D.from(x[A].copy(k));let C=t.tr.step(new Me(e.pos-x.length,e.pos+o.nodeSize,e.pos+y,e.pos+o.nodeSize-y,new W(k,x.length,0),0,!0));n(C.scrollIntoView())}return!0}}return!1}function Tl(t){return function(e,n){let s=e.selection,r=t<0?s.$from:s.$to,o=r.depth;for(;r.node(o).isInline;){if(!o)return!1;o--}return r.node(o).isTextblock?(n&&n(e.tr.setSelection(ie.create(e.doc,t<0?r.start(o):r.end(o)))),!0):!1}}const zf=Tl(-1),Hf=Tl(1);function Vf(t,e=null){return function(n,s){let{$from:r,$to:o}=n.selection,i=r.blockRange(o),l=i&&ml(i,t,e);return l?(s&&s(n.tr.wrap(i,l).scrollIntoView()),!0):!1}}function ba(t,e=null){return function(n,s){let r=!1;for(let o=0;o<n.selection.ranges.length&&!r;o++){let{$from:{pos:i},$to:{pos:l}}=n.selection.ranges[o];n.doc.nodesBetween(i,l,(c,u)=>{if(r)return!1;if(!(!c.isTextblock||c.hasMarkup(t,e)))if(c.type==t)r=!0;else{let p=n.doc.resolve(u),f=p.index();r=p.parent.canReplaceWith(f,f+1,t)}})}if(!r)return!1;if(s){let o=n.tr;for(let i=0;i<n.selection.ranges.length;i++){let{$from:{pos:l},$to:{pos:c}}=n.selection.ranges[i];o.setBlockType(l,c,t,e)}s(o.scrollIntoView())}return!0}}function mo(...t){return function(e,n,s){for(let r=0;r<t.length;r++)if(t[r](e,n,s))return!0;return!1}}mo(uo,vl,Cl);mo(uo,Sl,Nl);mo(El,Al,_l,Of);typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform&&os.platform()=="darwin";function Wf(t,e=null){return function(n,s){let{$from:r,$to:o}=n.selection,i=r.blockRange(o);if(!i)return!1;let l=s?n.tr:null;return Gf(l,i,t,e)?(s&&s(l.scrollIntoView()),!0):!1}}function Gf(t,e,n,s=null){let r=!1,o=e,i=e.$from.doc;if(e.depth>=2&&e.$from.node(e.depth-1).type.compatibleContent(n)&&e.startIndex==0){if(e.$from.index(e.depth-1)==0)return!1;let c=i.resolve(e.start-2);o=new ps(c,c,e.depth),e.endIndex<e.parent.childCount&&(e=new ps(e.$from,i.resolve(e.$to.end(e.depth)),e.depth)),r=!0}let l=ml(o,n,s,e);return l?(t&&Uf(t,e,l,r,n),!0):!1}function Uf(t,e,n,s,r){let o=D.empty;for(let p=n.length-1;p>=0;p--)o=D.from(n[p].type.create(n[p].attrs,o));t.step(new Me(e.start-(s?2:0),e.end,e.start,e.end,new W(o,0,0),n.length,!0));let i=0;for(let p=0;p<n.length;p++)n[p].type==r&&(i=p+1);let l=n.length-i,c=e.start+n.length-(s?2:0),u=e.parent;for(let p=e.startIndex,f=e.endIndex,m=!0;p<f;p++,m=!1)!m&&lt(t.doc,c,l)&&(t.split(c,l),c+=2*l),c+=u.child(p).nodeSize;return t}function qf(t){return function(e,n){let{$from:s,$to:r}=e.selection,o=s.blockRange(r,i=>i.childCount>0&&i.firstChild.type==t);return o?n?s.node(o.depth-1).type==t?Kf(e,n,t,o):Yf(e,n,o):!0:!1}}function Kf(t,e,n,s){let r=t.tr,o=s.end,i=s.$to.end(s.depth);o<i&&(r.step(new Me(o-1,i,o,i,new W(D.from(n.create(null,s.parent.copy())),1,0),1,!0)),s=new ps(r.doc.resolve(s.$from.pos),r.doc.resolve(i),s.depth));const l=an(s);if(l==null)return!1;r.lift(s,l);let c=r.doc.resolve(r.mapping.map(o,-1)-1);return Ft(r.doc,c.pos)&&c.nodeBefore.type==c.nodeAfter.type&&r.join(c.pos),e(r.scrollIntoView()),!0}function Yf(t,e,n){let s=t.tr,r=n.parent;for(let h=n.end,x=n.endIndex-1,b=n.startIndex;x>b;x--)h-=r.child(x).nodeSize,s.delete(h-1,h+1);let o=s.doc.resolve(n.start),i=o.nodeAfter;if(s.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let l=n.startIndex==0,c=n.endIndex==r.childCount,u=o.node(-1),p=o.index(-1);if(!u.canReplace(p+(l?0:1),p+1,i.content.append(c?D.empty:D.from(r))))return!1;let f=o.pos,m=f+i.nodeSize;return s.step(new Me(f-(l?1:0),m+(c?1:0),f+1,m-1,new W((l?D.empty:D.from(r.copy(D.empty))).append(c?D.empty:D.from(r.copy(D.empty))),l?0:1,c?0:1),l?0:1)),e(s.scrollIntoView()),!0}function Xf(t){return function(e,n){let{$from:s,$to:r}=e.selection,o=s.blockRange(r,u=>u.childCount>0&&u.firstChild.type==t);if(!o)return!1;let i=o.startIndex;if(i==0)return!1;let l=o.parent,c=l.child(i-1);if(c.type!=t)return!1;if(n){let u=c.lastChild&&c.lastChild.type==l.type,p=D.from(u?t.create():null),f=new W(D.from(t.create(null,D.from(l.type.create(null,p)))),u?3:1,0),m=o.start,h=o.end;n(e.tr.step(new Me(m-(u?3:1),h,m,h,f,1,!0)).scrollIntoView())}return!0}}function Bl(t){const{state:e,transaction:n}=t;let{selection:s}=n,{doc:r}=n,{storedMarks:o}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return o},get selection(){return s},get doc(){return r},get tr(){return s=n.selection,r=n.doc,o=n.storedMarks,n}}}class Jf{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:e,editor:n,state:s}=this,{view:r}=n,{tr:o}=s,i=this.buildProps(o);return Object.fromEntries(Object.entries(e).map(([l,c])=>[l,(...p)=>{const f=c(...p)(i);return!o.getMeta("preventDispatch")&&!this.hasCustomState&&r.dispatch(o),f}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,n=!0){const{rawCommands:s,editor:r,state:o}=this,{view:i}=r,l=[],c=!!e,u=e||o.tr,p=()=>(!c&&n&&!u.getMeta("preventDispatch")&&!this.hasCustomState&&i.dispatch(u),l.every(m=>m===!0)),f={...Object.fromEntries(Object.entries(s).map(([m,h])=>[m,(...b)=>{const y=this.buildProps(u,n),k=h(...b)(y);return l.push(k),f}])),run:p};return f}createCan(e){const{rawCommands:n,state:s}=this,r=!1,o=e||s.tr,i=this.buildProps(o,r);return{...Object.fromEntries(Object.entries(n).map(([c,u])=>[c,(...p)=>u(...p)({...i,dispatch:void 0})])),chain:()=>this.createChain(o,r)}}buildProps(e,n=!0){const{rawCommands:s,editor:r,state:o}=this,{view:i}=r,l={tr:e,editor:r,view:i,state:Bl({state:o,transaction:e}),dispatch:n?()=>{}:void 0,chain:()=>this.createChain(e,n),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(s).map(([c,u])=>[c,(...p)=>u(...p)(l)]))}};return l}}function St(t,e,n){return t.config[e]===void 0&&t.parent?St(t.parent,e,n):typeof t.config[e]=="function"?t.config[e].bind({...n,parent:t.parent?St(t.parent,e,n):null}):t.config[e]}function Zf(t){const e=t.filter(r=>r.type==="extension"),n=t.filter(r=>r.type==="node"),s=t.filter(r=>r.type==="mark");return{baseExtensions:e,nodeExtensions:n,markExtensions:s}}function Ie(t,e){if(typeof t=="string"){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}function Qf(t){return typeof t=="function"}function gn(t,e=void 0,...n){return Qf(t)?e?t.bind(e)(...n):t(...n):t}function eh(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function th(t){return Object.prototype.toString.call(t).slice(8,-1)}function Yn(t){return th(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function Rl(t,e){const n={...t};return Yn(t)&&Yn(e)&&Object.keys(e).forEach(s=>{Yn(e[s])&&Yn(t[s])?n[s]=Rl(t[s],e[s]):n[s]=e[s]}),n}class Ue{constructor(e={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=gn(St(this,"addOptions",{name:this.name}))),this.storage=gn(St(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new Ue(e)}configure(e={}){const n=this.extend({...this.config,addOptions:()=>Rl(this.options,e)});return n.name=this.name,n.parent=this.parent,n}extend(e={}){const n=new Ue({...this.config,...e});return n.parent=this,this.child=n,n.name=e.name?e.name:n.parent.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=gn(St(n,"addOptions",{name:n.name})),n.storage=gn(St(n,"addStorage",{name:n.name,options:n.options})),n}}function nh(t,e,n){const{from:s,to:r}=e,{blockSeparator:o=`
132
+ `),n)}ignoreFallback(e,n){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),n,!0)}readStyles(e,n){let s=e.style;if(s&&s.length)for(let r=0;r<this.parser.matchedStyles.length;r++){let o=this.parser.matchedStyles[r],i=s.getPropertyValue(o);if(i)for(let l=void 0;;){let c=this.parser.matchStyle(o,i,this,l);if(!c)break;if(c.ignore)return null;if(c.clearMark?n=n.filter(u=>!c.clearMark(u)):n=n.concat(this.parser.schema.marks[c.mark].create(c.attrs)),c.consuming===!1)l=c;else break}}return n}addElementByRule(e,n,s,r){let o,i;if(n.node)if(i=this.parser.schema.nodes[n.node],i.isLeaf)this.insertNode(i.create(n.attrs),s,e.nodeName=="BR")||this.leafFallback(e,s);else{let c=this.enter(i,n.attrs||null,s,n.preserveWhitespace);c&&(o=!0,s=c)}else{let c=this.parser.schema.marks[n.mark];s=s.concat(c.create(n.attrs))}let l=this.top;if(i&&i.isLeaf)this.findInside(e);else if(r)this.addElement(e,s,r);else if(n.getContent)this.findInside(e),n.getContent(e,this.parser.schema).forEach(c=>this.insertNode(c,s,!1));else{let c=e;typeof n.contentElement=="string"?c=e.querySelector(n.contentElement):typeof n.contentElement=="function"?c=n.contentElement(e):n.contentElement&&(c=n.contentElement),this.findAround(e,c,!0),this.addAll(c,s),this.findAround(e,c,!1)}o&&this.sync(l)&&this.open--}addAll(e,n,s,r){let o=s||0;for(let i=s?e.childNodes[s]:e.firstChild,l=r==null?null:e.childNodes[r];i!=l;i=i.nextSibling,++o)this.findAtPoint(e,o),this.addDOM(i,n);this.findAtPoint(e,o)}findPlace(e,n,s){let r,o;for(let i=this.open,l=0;i>=0;i--){let c=this.nodes[i],u=c.findWrapping(e);if(u&&(!r||r.length>u.length+l)&&(r=u,o=c,!u.length))break;if(c.solid){if(s)break;l+=2}}if(!r)return null;this.sync(o);for(let i=0;i<r.length;i++)n=this.enterInner(r[i],null,n,!1);return n}insertNode(e,n,s){if(e.isInline&&this.needsBlock&&!this.top.type){let o=this.textblockFromContext();o&&(n=this.enterInner(o,null,n))}let r=this.findPlace(e,n,s);if(r){this.closeExtra();let o=this.top;o.match&&(o.match=o.match.matchType(e.type));let i=ee.none;for(let l of r.concat(e.marks))(o.type?o.type.allowsMarkType(l.type):da(l.type,e.type))&&(i=l.addToSet(i));return o.content.push(e.mark(i)),!0}return!1}enter(e,n,s,r){let o=this.findPlace(e.create(n),s,!1);return o&&(o=this.enterInner(e,n,s,!0,r)),o}enterInner(e,n,s,r=!1,o){this.closeExtra();let i=this.top;i.match=i.match&&i.match.matchType(e);let l=ia(e,o,i.options);i.options&bn&&i.content.length==0&&(l|=bn);let c=ee.none;return s=s.filter(u=>(i.type?i.type.allowsMarkType(u.type):da(u.type,e))?(c=u.addToSet(c),!1):!0),this.nodes.push(new qn(e,n,c,r,null,l)),this.open++,s}closeExtra(e=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let n=this.open;n>=0;n--){if(this.nodes[n]==e)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=jn)}return!1}get currentPos(){this.closeExtra();let e=0;for(let n=this.open;n>=0;n--){let s=this.nodes[n].content;for(let r=s.length-1;r>=0;r--)e+=s[r].nodeSize;n&&e++}return e}findAtPoint(e,n){if(this.find)for(let s=0;s<this.find.length;s++)this.find[s].node==e&&this.find[s].offset==n&&(this.find[s].pos=this.currentPos)}findInside(e){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].pos==null&&e.nodeType==1&&e.contains(this.find[n].node)&&(this.find[n].pos=this.currentPos)}findAround(e,n,s){if(e!=n&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&n.compareDocumentPosition(this.find[r].node)&(s?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&(this.find[n].pos=this.currentPos-(e.nodeValue.length-this.find[n].offset))}matchesContext(e){if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let n=e.split("/"),s=this.options.context,r=!this.isOpen&&(!s||s.parent.type==this.nodes[0].type),o=-(s?s.depth+1:0)+(r?0:1),i=(l,c)=>{for(;l>=0;l--){let u=n[l];if(u==""){if(l==n.length-1||l==0)continue;for(;c>=o;c--)if(i(l-1,c))return!0;return!1}else{let p=c>0||c==0&&r?this.nodes[c].type:s&&c>=o?s.node(c-o).type:null;if(!p||p.name!=u&&!p.isInGroup(u))return!1;c--}}return!0};return i(n.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let n=e.depth;n>=0;n--){let s=e.node(n).contentMatchAt(e.indexAfter(n)).defaultType;if(s&&s.isTextblock&&s.defaultAttrs)return s}for(let n in this.parser.schema.nodes){let s=this.parser.schema.nodes[n];if(s.isTextblock&&s.defaultAttrs)return s}}}function bf(t){for(let e=t.firstChild,n=null;e;e=e.nextSibling){let s=e.nodeType==1?e.nodeName.toLowerCase():null;s&&cl.hasOwnProperty(s)&&n?(n.appendChild(e),e=n):s=="li"?n=e:s&&(n=null)}}function yf(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function ca(t){let e={};for(let n in t)e[n]=t[n];return e}function da(t,e){let n=e.schema.nodes;for(let s in n){let r=n[s];if(!r.allowsMarkType(t))continue;let o=[],i=l=>{o.push(l);for(let c=0;c<l.edgeCount;c++){let{type:u,next:p}=l.edge(c);if(u==e||o.indexOf(p)<0&&i(p))return!0}};if(i(r.contentMatch))return!0}}const dl=65535,ul=Math.pow(2,16);function kf(t,e){return t+e*ul}function ua(t){return t&dl}function vf(t){return(t-(t&dl))/ul}const pl=1,fl=2,es=4,hl=8;class pa{constructor(e,n,s){this.pos=e,this.delInfo=n,this.recover=s}get deleted(){return(this.delInfo&hl)>0}get deletedBefore(){return(this.delInfo&(pl|es))>0}get deletedAfter(){return(this.delInfo&(fl|es))>0}get deletedAcross(){return(this.delInfo&es)>0}}class He{constructor(e,n=!1){if(this.ranges=e,this.inverted=n,!e.length&&He.empty)return He.empty}recover(e){let n=0,s=ua(e);if(!this.inverted)for(let r=0;r<s;r++)n+=this.ranges[r*3+2]-this.ranges[r*3+1];return this.ranges[s*3]+n+vf(e)}mapResult(e,n=1){return this._map(e,n,!1)}map(e,n=1){return this._map(e,n,!0)}_map(e,n,s){let r=0,o=this.inverted?2:1,i=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let c=this.ranges[l]-(this.inverted?r:0);if(c>e)break;let u=this.ranges[l+o],p=this.ranges[l+i],f=c+u;if(e<=f){let m=u?e==c?-1:e==f?1:n:n,h=c+r+(m<0?0:p);if(s)return h;let x=e==(n<0?c:f)?null:kf(l/3,e-c),b=e==c?fl:e==f?pl:es;return(n<0?e!=c:e!=f)&&(b|=hl),new pa(h,b,x)}r+=p-u}return s?e+r:new pa(e+r,0,null)}touches(e,n){let s=0,r=ua(n),o=this.inverted?2:1,i=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let c=this.ranges[l]-(this.inverted?s:0);if(c>e)break;let u=this.ranges[l+o],p=c+u;if(e<=p&&l==r*3)return!0;s+=this.ranges[l+i]-u}return!1}forEach(e){let n=this.inverted?2:1,s=this.inverted?1:2;for(let r=0,o=0;r<this.ranges.length;r+=3){let i=this.ranges[r],l=i-(this.inverted?o:0),c=i+(this.inverted?0:o),u=this.ranges[r+n],p=this.ranges[r+s];e(l,l+u,c,c+p),o+=p-u}}invert(){return new He(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(e){return e==0?He.empty:new He(e<0?[0,-e,0]:[0,0,e])}}He.empty=new He([]);const tr=Object.create(null);class Be{getMap(){return He.empty}merge(e){return null}static fromJSON(e,n){if(!n||!n.stepType)throw new RangeError("Invalid input for Step.fromJSON");let s=tr[n.stepType];if(!s)throw new RangeError(`No step type ${n.stepType} defined`);return s.fromJSON(e,n)}static jsonID(e,n){if(e in tr)throw new RangeError("Duplicate use of step JSON ID "+e);return tr[e]=n,n.prototype.jsonID=e,n}}class ve{constructor(e,n){this.doc=e,this.failed=n}static ok(e){return new ve(e,null)}static fail(e){return new ve(null,e)}static fromReplace(e,n,s,r){try{return ve.ok(e.replace(n,s,r))}catch(o){if(o instanceof ds)return ve.fail(o.message);throw o}}}function io(t,e,n){let s=[];for(let r=0;r<t.childCount;r++){let o=t.child(r);o.content.size&&(o=o.copy(io(o.content,e,o))),o.isInline&&(o=e(o,n,r)),s.push(o)}return D.fromArray(s)}class wt extends Be{constructor(e,n,s){super(),this.from=e,this.to=n,this.mark=s}apply(e){let n=e.slice(this.from,this.to),s=e.resolve(this.from),r=s.node(s.sharedDepth(this.to)),o=new W(io(n.content,(i,l)=>!i.isAtom||!l.type.allowsMarkType(this.mark.type)?i:i.mark(this.mark.addToSet(i.marks)),r),n.openStart,n.openEnd);return ve.fromReplace(e,this.from,this.to,o)}invert(){return new Ct(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),s=e.mapResult(this.to,-1);return n.deleted&&s.deleted||n.pos>=s.pos?null:new wt(n.pos,s.pos,this.mark)}merge(e){return e instanceof wt&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new wt(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new wt(n.from,n.to,e.markFromJSON(n.mark))}}Be.jsonID("addMark",wt);class Ct extends Be{constructor(e,n,s){super(),this.from=e,this.to=n,this.mark=s}apply(e){let n=e.slice(this.from,this.to),s=new W(io(n.content,r=>r.mark(this.mark.removeFromSet(r.marks)),e),n.openStart,n.openEnd);return ve.fromReplace(e,this.from,this.to,s)}invert(){return new wt(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),s=e.mapResult(this.to,-1);return n.deleted&&s.deleted||n.pos>=s.pos?null:new Ct(n.pos,s.pos,this.mark)}merge(e){return e instanceof Ct&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Ct(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Ct(n.from,n.to,e.markFromJSON(n.mark))}}Be.jsonID("removeMark",Ct);class jt extends Be{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return ve.fail("No node at mark step's position");let s=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return ve.fromReplace(e,this.pos,this.pos+1,new W(D.from(s),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);if(n){let s=this.mark.addToSet(n.marks);if(s.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(s))return new jt(this.pos,n.marks[r]);return new jt(this.pos,this.mark)}}return new Sn(this.pos,this.mark)}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new jt(n.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new jt(n.pos,e.markFromJSON(n.mark))}}Be.jsonID("addNodeMark",jt);class Sn extends Be{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return ve.fail("No node at mark step's position");let s=n.type.create(n.attrs,null,this.mark.removeFromSet(n.marks));return ve.fromReplace(e,this.pos,this.pos+1,new W(D.from(s),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);return!n||!this.mark.isInSet(n.marks)?this:new jt(this.pos,this.mark)}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new Sn(n.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new Sn(n.pos,e.markFromJSON(n.mark))}}Be.jsonID("removeNodeMark",Sn);class Fe extends Be{constructor(e,n,s,r=!1){super(),this.from=e,this.to=n,this.slice=s,this.structure=r}apply(e){return this.structure&&wr(e,this.from,this.to)?ve.fail("Structure replace would overwrite content"):ve.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new He([this.from,this.to-this.from,this.slice.size])}invert(e){return new Fe(this.from,this.from+this.slice.size,e.slice(this.from,this.to))}map(e){let n=e.mapResult(this.from,1),s=e.mapResult(this.to,-1);return n.deletedAcross&&s.deletedAcross?null:new Fe(n.pos,Math.max(n.pos,s.pos),this.slice,this.structure)}merge(e){if(!(e instanceof Fe)||e.structure||this.structure)return null;if(this.from+this.slice.size==e.from&&!this.slice.openEnd&&!e.slice.openStart){let n=this.slice.size+e.slice.size==0?W.empty:new W(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new Fe(this.from,this.to+(e.to-e.from),n,this.structure)}else if(e.to==this.from&&!this.slice.openStart&&!e.slice.openEnd){let n=this.slice.size+e.slice.size==0?W.empty:new W(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new Fe(e.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new Fe(n.from,n.to,W.fromJSON(e,n.slice),!!n.structure)}}Be.jsonID("replace",Fe);class Me extends Be{constructor(e,n,s,r,o,i,l=!1){super(),this.from=e,this.to=n,this.gapFrom=s,this.gapTo=r,this.slice=o,this.insert=i,this.structure=l}apply(e){if(this.structure&&(wr(e,this.from,this.gapFrom)||wr(e,this.gapTo,this.to)))return ve.fail("Structure gap-replace would overwrite content");let n=e.slice(this.gapFrom,this.gapTo);if(n.openStart||n.openEnd)return ve.fail("Gap is not a flat range");let s=this.slice.insertAt(this.insert,n.content);return s?ve.fromReplace(e,this.from,this.to,s):ve.fail("Content does not fit in gap")}getMap(){return new He([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(e){let n=this.gapTo-this.gapFrom;return new Me(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(e){let n=e.mapResult(this.from,1),s=e.mapResult(this.to,-1),r=this.from==this.gapFrom?n.pos:e.map(this.gapFrom,-1),o=this.to==this.gapTo?s.pos:e.map(this.gapTo,1);return n.deletedAcross&&s.deletedAcross||r<n.pos||o>s.pos?null:new Me(n.pos,s.pos,r,o,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new Me(n.from,n.to,n.gapFrom,n.gapTo,W.fromJSON(e,n.slice),n.insert,!!n.structure)}}Be.jsonID("replaceAround",Me);function wr(t,e,n){let s=t.resolve(e),r=n-e,o=s.depth;for(;r>0&&o>0&&s.indexAfter(o)==s.node(o).childCount;)o--,r--;if(r>0){let i=s.node(o).maybeChild(s.indexAfter(o));for(;r>0;){if(!i||i.isLeaf)return!0;i=i.firstChild,r--}}return!1}function wf(t,e,n){return(e==0||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function an(t){let n=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let s=t.depth,r=0,o=0;;--s){let i=t.$from.node(s),l=t.$from.index(s)+r,c=t.$to.indexAfter(s)-o;if(s<t.depth&&i.canReplace(l,c,n))return s;if(s==0||i.type.spec.isolating||!wf(i,l,c))break;l&&(r=1),c<i.childCount&&(o=1)}return null}function ml(t,e,n=null,s=t){let r=Cf(t,e),o=r&&jf(s,e);return o?r.map(fa).concat({type:e,attrs:n}).concat(o.map(fa)):null}function fa(t){return{type:t,attrs:null}}function Cf(t,e){let{parent:n,startIndex:s,endIndex:r}=t,o=n.contentMatchAt(s).findWrapping(e);if(!o)return null;let i=o.length?o[0]:e;return n.canReplaceWith(s,r,i)?o:null}function jf(t,e){let{parent:n,startIndex:s,endIndex:r}=t,o=n.child(s),i=e.contentMatch.findWrapping(o.type);if(!i)return null;let c=(i.length?i[i.length-1]:e).contentMatch;for(let u=s;c&&u<r;u++)c=c.matchType(n.child(u).type);return!c||!c.validEnd?null:i}function lt(t,e,n=1,s){let r=t.resolve(e),o=r.depth-n,i=s&&s[s.length-1]||r.parent;if(o<0||r.parent.type.spec.isolating||!r.parent.canReplace(r.index(),r.parent.childCount)||!i.type.validContent(r.parent.content.cutByIndex(r.index(),r.parent.childCount)))return!1;for(let u=r.depth-1,p=n-2;u>o;u--,p--){let f=r.node(u),m=r.index(u);if(f.type.spec.isolating)return!1;let h=f.content.cutByIndex(m,f.childCount),x=s&&s[p+1];x&&(h=h.replaceChild(0,x.type.create(x.attrs)));let b=s&&s[p]||f;if(!f.canReplace(m+1,f.childCount)||!b.type.validContent(h))return!1}let l=r.indexAfter(o),c=s&&s[0];return r.node(o).canReplaceWith(l,l,c?c.type:r.node(o+1).type)}function Ft(t,e){let n=t.resolve(e),s=n.index();return gl(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(s,s+1)}function Sf(t,e){e.content.size||t.type.compatibleContent(e.type);let n=t.contentMatchAt(t.childCount),{linebreakReplacement:s}=t.type.schema;for(let r=0;r<e.childCount;r++){let o=e.child(r),i=o.type==s?t.type.schema.nodes.text:o.type;if(n=n.matchType(i),!n||!t.type.allowsMarks(o.marks))return!1}return n.validEnd}function gl(t,e){return!!(t&&e&&!t.isLeaf&&Sf(t,e))}function Ps(t,e,n=-1){let s=t.resolve(e);for(let r=s.depth;;r--){let o,i,l=s.index(r);if(r==s.depth?(o=s.nodeBefore,i=s.nodeAfter):n>0?(o=s.node(r+1),l++,i=s.node(r).maybeChild(l)):(o=s.node(r).maybeChild(l-1),i=s.node(r+1)),o&&!o.isTextblock&&gl(o,i)&&s.node(r).canReplace(l,l+1))return e;if(r==0)break;e=n<0?s.before(r):s.after(r)}}function lo(t,e,n=e,s=W.empty){if(e==n&&!s.size)return null;let r=t.resolve(e),o=t.resolve(n);return Nf(r,o,s)?new Fe(e,n,s):new Ef(r,o,s).fit()}function Nf(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}class Ef{constructor(e,n,s){this.$from=e,this.$to=n,this.unplaced=s,this.frontier=[],this.placed=D.empty;for(let r=0;r<=e.depth;r++){let o=e.node(r);this.frontier.push({type:o.type,match:o.contentMatchAt(e.indexAfter(r))})}for(let r=e.depth;r>0;r--)this.placed=D.from(e.node(r).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let u=this.findFittable();u?this.placeNodes(u):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,s=this.$from,r=this.close(e<0?this.$to:s.doc.resolve(e));if(!r)return null;let o=this.placed,i=s.depth,l=r.depth;for(;i&&l&&o.childCount==1;)o=o.firstChild.content,i--,l--;let c=new W(o,i,l);return e>-1?new Me(s.pos,e,this.$to.pos,this.$to.end(),c,n):c.size||s.pos!=this.$to.pos?new Fe(s.pos,r.pos,c):null}findFittable(){let e=this.unplaced.openStart;for(let n=this.unplaced.content,s=0,r=this.unplaced.openEnd;s<e;s++){let o=n.firstChild;if(n.childCount>1&&(r=0),o.type.spec.isolating&&r<=s){e=s;break}n=o.content}for(let n=1;n<=2;n++)for(let s=n==1?e:this.unplaced.openStart;s>=0;s--){let r,o=null;s?(o=nr(this.unplaced.content,s-1).firstChild,r=o.content):r=this.unplaced.content;let i=r.firstChild;for(let l=this.depth;l>=0;l--){let{type:c,match:u}=this.frontier[l],p,f=null;if(n==1&&(i?u.matchType(i.type)||(f=u.fillBefore(D.from(i),!1)):o&&c.compatibleContent(o.type)))return{sliceDepth:s,frontierDepth:l,parent:o,inject:f};if(n==2&&i&&(p=u.findWrapping(i.type)))return{sliceDepth:s,frontierDepth:l,parent:o,wrap:p};if(o&&u.matchType(o.type))break}}}openMore(){let{content:e,openStart:n,openEnd:s}=this.unplaced,r=nr(e,n);return!r.childCount||r.firstChild.isLeaf?!1:(this.unplaced=new W(e,n+1,Math.max(s,r.size+n>=e.size-s?n+1:0)),!0)}dropNode(){let{content:e,openStart:n,openEnd:s}=this.unplaced,r=nr(e,n);if(r.childCount<=1&&n>0){let o=e.size-n<=n+r.size;this.unplaced=new W(hn(e,n-1,1),n-1,o?n-1:s)}else this.unplaced=new W(hn(e,n,1),n,s)}placeNodes({sliceDepth:e,frontierDepth:n,parent:s,inject:r,wrap:o}){for(;this.depth>n;)this.closeFrontierNode();if(o)for(let b=0;b<o.length;b++)this.openFrontierNode(o[b]);let i=this.unplaced,l=s?s.content:i.content,c=i.openStart-e,u=0,p=[],{match:f,type:m}=this.frontier[n];if(r){for(let b=0;b<r.childCount;b++)p.push(r.child(b));f=f.matchFragment(r)}let h=l.size+e-(i.content.size-i.openEnd);for(;u<l.childCount;){let b=l.child(u),y=f.matchType(b.type);if(!y)break;u++,(u>1||c==0||b.content.size)&&(f=y,p.push(xl(b.mark(m.allowedMarks(b.marks)),u==1?c:0,u==l.childCount?h:-1)))}let x=u==l.childCount;x||(h=-1),this.placed=mn(this.placed,n,D.from(p)),this.frontier[n].match=f,x&&h<0&&s&&s.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let b=0,y=l;b<h;b++){let k=y.lastChild;this.frontier.push({type:k.type,match:k.contentMatchAt(k.childCount)}),y=k.content}this.unplaced=x?e==0?W.empty:new W(hn(i.content,e-1,1),e-1,h<0?i.openEnd:e-1):new W(hn(i.content,e,u),i.openStart,i.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],n;if(!e.type.isTextblock||!sr(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(n=this.findCloseLevel(this.$to))&&n.depth==this.depth)return-1;let{depth:s}=this.$to,r=this.$to.after(s);for(;s>1&&r==this.$to.end(--s);)++r;return r}findCloseLevel(e){e:for(let n=Math.min(this.depth,e.depth);n>=0;n--){let{match:s,type:r}=this.frontier[n],o=n<e.depth&&e.end(n+1)==e.pos+(e.depth-(n+1)),i=sr(e,n,r,s,o);if(i){for(let l=n-1;l>=0;l--){let{match:c,type:u}=this.frontier[l],p=sr(e,l,u,c,!0);if(!p||p.childCount)continue e}return{depth:n,fit:i,move:o?e.doc.resolve(e.after(n+1)):e}}}}close(e){let n=this.findCloseLevel(e);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=mn(this.placed,n.depth,n.fit)),e=n.move;for(let s=n.depth+1;s<=e.depth;s++){let r=e.node(s),o=r.type.contentMatch.fillBefore(r.content,!0,e.index(s));this.openFrontierNode(r.type,r.attrs,o)}return e}openFrontierNode(e,n=null,s){let r=this.frontier[this.depth];r.match=r.match.matchType(e),this.placed=mn(this.placed,this.depth,D.from(e.create(n,s))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let n=this.frontier.pop().match.fillBefore(D.empty,!0);n.childCount&&(this.placed=mn(this.placed,this.frontier.length,n))}}function hn(t,e,n){return e==0?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(hn(t.firstChild.content,e-1,n)))}function mn(t,e,n){return e==0?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(mn(t.lastChild.content,e-1,n)))}function nr(t,e){for(let n=0;n<e;n++)t=t.firstChild.content;return t}function xl(t,e,n){if(e<=0)return t;let s=t.content;return e>1&&(s=s.replaceChild(0,xl(s.firstChild,e-1,s.childCount==1?n-1:0))),e>0&&(s=t.type.contentMatch.fillBefore(s).append(s),n<=0&&(s=s.append(t.type.contentMatch.matchFragment(s).fillBefore(D.empty,!0)))),t.copy(s)}function sr(t,e,n,s,r){let o=t.node(e),i=r?t.indexAfter(e):t.index(e);if(i==o.childCount&&!n.compatibleContent(o.type))return null;let l=s.fillBefore(o.content,!0,i);return l&&!Af(n,o.content,i)?l:null}function Af(t,e,n){for(let s=n;s<e.childCount;s++)if(!t.allowsMarks(e.child(s).marks))return!0;return!1}class yn extends Be{constructor(e,n,s){super(),this.pos=e,this.attr=n,this.value=s}apply(e){let n=e.nodeAt(this.pos);if(!n)return ve.fail("No node at attribute step's position");let s=Object.create(null);for(let o in n.attrs)s[o]=n.attrs[o];s[this.attr]=this.value;let r=n.type.create(s,null,n.marks);return ve.fromReplace(e,this.pos,this.pos+1,new W(D.from(r),0,n.isLeaf?0:1))}getMap(){return He.empty}invert(e){return new yn(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new yn(n.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.pos!="number"||typeof n.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new yn(n.pos,n.attr,n.value)}}Be.jsonID("attr",yn);class ms extends Be{constructor(e,n){super(),this.attr=e,this.value=n}apply(e){let n=Object.create(null);for(let r in e.attrs)n[r]=e.attrs[r];n[this.attr]=this.value;let s=e.type.create(n,e.content,e.marks);return ve.ok(s)}getMap(){return He.empty}invert(e){return new ms(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new ms(n.attr,n.value)}}Be.jsonID("docAttr",ms);let Nn=class extends Error{};Nn=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n};Nn.prototype=Object.create(Error.prototype);Nn.prototype.constructor=Nn;Nn.prototype.name="TransformError";const rr=Object.create(null);class J{constructor(e,n,s){this.$anchor=e,this.$head=n,this.ranges=s||[new If(e.min(n),e.max(n))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let n=0;n<e.length;n++)if(e[n].$from.pos!=e[n].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,n=W.empty){let s=n.content.lastChild,r=null;for(let l=0;l<n.openEnd;l++)r=s,s=s.lastChild;let o=e.steps.length,i=this.ranges;for(let l=0;l<i.length;l++){let{$from:c,$to:u}=i[l],p=e.mapping.slice(o);e.replaceRange(p.map(c.pos),p.map(u.pos),l?W.empty:n),l==0&&ga(e,o,(s?s.isInline:r&&r.isTextblock)?-1:1)}}replaceWith(e,n){let s=e.steps.length,r=this.ranges;for(let o=0;o<r.length;o++){let{$from:i,$to:l}=r[o],c=e.mapping.slice(s),u=c.map(i.pos),p=c.map(l.pos);o?e.deleteRange(u,p):(e.replaceRangeWith(u,p,n),ga(e,s,n.isInline?-1:1))}}static findFrom(e,n,s=!1){let r=e.parent.inlineContent?new ie(e):Ut(e.node(0),e.parent,e.pos,e.index(),n,s);if(r)return r;for(let o=e.depth-1;o>=0;o--){let i=n<0?Ut(e.node(0),e.node(o),e.before(o+1),e.index(o),n,s):Ut(e.node(0),e.node(o),e.after(o+1),e.index(o)+1,n,s);if(i)return i}return null}static near(e,n=1){return this.findFrom(e,n)||this.findFrom(e,-n)||new Ge(e.node(0))}static atStart(e){return Ut(e,e,0,0,1)||new Ge(e)}static atEnd(e){return Ut(e,e,e.content.size,e.childCount,-1)||new Ge(e)}static fromJSON(e,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");let s=rr[n.type];if(!s)throw new RangeError(`No selection type ${n.type} defined`);return s.fromJSON(e,n)}static jsonID(e,n){if(e in rr)throw new RangeError("Duplicate use of selection JSON ID "+e);return rr[e]=n,n.prototype.jsonID=e,n}getBookmark(){return ie.between(this.$anchor,this.$head).getBookmark()}}J.prototype.visible=!0;class If{constructor(e,n){this.$from=e,this.$to=n}}let ha=!1;function ma(t){!ha&&!t.parent.inlineContent&&(ha=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class ie extends J{constructor(e,n=e){ma(e),ma(n),super(e,n)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,n){let s=e.resolve(n.map(this.head));if(!s.parent.inlineContent)return J.near(s);let r=e.resolve(n.map(this.anchor));return new ie(r.parent.inlineContent?r:s,s)}replace(e,n=W.empty){if(super.replace(e,n),n==W.empty){let s=this.$from.marksAcross(this.$to);s&&e.ensureMarks(s)}}eq(e){return e instanceof ie&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new Ls(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,n){if(typeof n.anchor!="number"||typeof n.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new ie(e.resolve(n.anchor),e.resolve(n.head))}static create(e,n,s=n){let r=e.resolve(n);return new this(r,s==n?r:e.resolve(s))}static between(e,n,s){let r=e.pos-n.pos;if((!s||r)&&(s=r>=0?1:-1),!n.parent.inlineContent){let o=J.findFrom(n,s,!0)||J.findFrom(n,-s,!0);if(o)n=o.$head;else return J.near(n,s)}return e.parent.inlineContent||(r==0?e=n:(e=(J.findFrom(e,-s,!0)||J.findFrom(e,s,!0)).$anchor,e.pos<n.pos!=r<0&&(e=n))),new ie(e,n)}}J.jsonID("text",ie);class Ls{constructor(e,n){this.anchor=e,this.head=n}map(e){return new Ls(e.map(this.anchor),e.map(this.head))}resolve(e){return ie.between(e.resolve(this.anchor),e.resolve(this.head))}}class te extends J{constructor(e){let n=e.nodeAfter,s=e.node(0).resolve(e.pos+n.nodeSize);super(e,s),this.node=n}map(e,n){let{deleted:s,pos:r}=n.mapResult(this.anchor),o=e.resolve(r);return s?J.near(o):new te(o)}content(){return new W(D.from(this.node),0,0)}eq(e){return e instanceof te&&e.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new co(this.anchor)}static fromJSON(e,n){if(typeof n.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new te(e.resolve(n.anchor))}static create(e,n){return new te(e.resolve(n))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}}te.prototype.visible=!1;J.jsonID("node",te);class co{constructor(e){this.anchor=e}map(e){let{deleted:n,pos:s}=e.mapResult(this.anchor);return n?new Ls(s,s):new co(s)}resolve(e){let n=e.resolve(this.anchor),s=n.nodeAfter;return s&&te.isSelectable(s)?new te(n):J.near(n)}}class Ge extends J{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,n=W.empty){if(n==W.empty){e.delete(0,e.doc.content.size);let s=J.atStart(e.doc);s.eq(e.selection)||e.setSelection(s)}else super.replace(e,n)}toJSON(){return{type:"all"}}static fromJSON(e){return new Ge(e)}map(e){return new Ge(e)}eq(e){return e instanceof Ge}getBookmark(){return _f}}J.jsonID("all",Ge);const _f={map(){return this},resolve(t){return new Ge(t)}};function Ut(t,e,n,s,r,o=!1){if(e.inlineContent)return ie.create(t,n);for(let i=s-(r>0?0:1);r>0?i<e.childCount:i>=0;i+=r){let l=e.child(i);if(l.isAtom){if(!o&&te.isSelectable(l))return te.create(t,n-(r<0?l.nodeSize:0))}else{let c=Ut(t,l,n+r,r<0?l.childCount:0,r,o);if(c)return c}n+=l.nodeSize*r}return null}function ga(t,e,n){let s=t.steps.length-1;if(s<e)return;let r=t.steps[s];if(!(r instanceof Fe||r instanceof Me))return;let o=t.mapping.maps[s],i;o.forEach((l,c,u,p)=>{i==null&&(i=p)}),t.setSelection(J.near(t.doc.resolve(i),n))}function xa(t,e){return!e||!t?t:t.bind(e)}class Kn{constructor(e,n,s){this.name=e,this.init=xa(n.init,s),this.apply=xa(n.apply,s)}}new Kn("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new Kn("selection",{init(t,e){return t.selection||J.atStart(e.doc)},apply(t){return t.selection}}),new Kn("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,n,s){return s.selection.$cursor?t.storedMarks:null}}),new Kn("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}});function bl(t,e,n){for(let s in t){let r=t[s];r instanceof Function?r=r.bind(e):s=="handleDOMEvents"&&(r=bl(r,e,{})),n[s]=r}return n}class zt{constructor(e){this.spec=e,this.props={},e.props&&bl(e.props,this,this.props),this.key=e.key?e.key.key:yl("plugin")}getState(e){return e[this.key]}}const or=Object.create(null);function yl(t){return t in or?t+"$"+ ++or[t]:(or[t]=0,t+"$")}class Ht{constructor(e="key"){this.key=yl(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}const uo=(t,e)=>t.selection.empty?!1:(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function kl(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}const vl=(t,e,n)=>{let s=kl(t,n);if(!s)return!1;let r=po(s);if(!r){let i=s.blockRange(),l=i&&an(i);return l==null?!1:(e&&e(t.tr.lift(i,l).scrollIntoView()),!0)}let o=r.nodeBefore;if(_l(t,r,e,-1))return!0;if(s.parent.content.size==0&&(Zt(o,"end")||te.isSelectable(o)))for(let i=s.depth;;i--){let l=lo(t.doc,s.before(i),s.after(i),W.empty);if(l&&l.slice.size<l.to-l.from){if(e){let c=t.tr.step(l);c.setSelection(Zt(o,"end")?J.findFrom(c.doc.resolve(c.mapping.map(r.pos,-1)),-1):te.create(c.doc,r.pos-o.nodeSize)),e(c.scrollIntoView())}return!0}if(i==1||s.node(i-1).childCount>1)break}return o.isAtom&&r.depth==s.depth-1?(e&&e(t.tr.delete(r.pos-o.nodeSize,r.pos).scrollIntoView()),!0):!1},Tf=(t,e,n)=>{let s=kl(t,n);if(!s)return!1;let r=po(s);return r?wl(t,r,e):!1},Bf=(t,e,n)=>{let s=jl(t,n);if(!s)return!1;let r=fo(s);return r?wl(t,r,e):!1};function wl(t,e,n){let s=e.nodeBefore,r=s,o=e.pos-1;for(;!r.isTextblock;o--){if(r.type.spec.isolating)return!1;let p=r.lastChild;if(!p)return!1;r=p}let i=e.nodeAfter,l=i,c=e.pos+1;for(;!l.isTextblock;c++){if(l.type.spec.isolating)return!1;let p=l.firstChild;if(!p)return!1;l=p}let u=lo(t.doc,o,c,W.empty);if(!u||u.from!=o||u instanceof Fe&&u.slice.size>=c-o)return!1;if(n){let p=t.tr.step(u);p.setSelection(ie.create(p.doc,o)),n(p.scrollIntoView())}return!0}function Zt(t,e,n=!1){for(let s=t;s;s=e=="start"?s.firstChild:s.lastChild){if(s.isTextblock)return!0;if(n&&s.childCount!=1)return!1}return!1}const Cl=(t,e,n)=>{let{$head:s,empty:r}=t.selection,o=s;if(!r)return!1;if(s.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):s.parentOffset>0)return!1;o=po(s)}let i=o&&o.nodeBefore;return!i||!te.isSelectable(i)?!1:(e&&e(t.tr.setSelection(te.create(t.doc,o.pos-i.nodeSize)).scrollIntoView()),!0)};function po(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function jl(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset<n.parent.content.size)?null:n}const Sl=(t,e,n)=>{let s=jl(t,n);if(!s)return!1;let r=fo(s);if(!r)return!1;let o=r.nodeAfter;if(_l(t,r,e,1))return!0;if(s.parent.content.size==0&&(Zt(o,"start")||te.isSelectable(o))){let i=lo(t.doc,s.before(),s.after(),W.empty);if(i&&i.slice.size<i.to-i.from){if(e){let l=t.tr.step(i);l.setSelection(Zt(o,"start")?J.findFrom(l.doc.resolve(l.mapping.map(r.pos)),1):te.create(l.doc,l.mapping.map(r.pos))),e(l.scrollIntoView())}return!0}}return o.isAtom&&r.depth==s.depth-1?(e&&e(t.tr.delete(r.pos,r.pos+o.nodeSize).scrollIntoView()),!0):!1},Nl=(t,e,n)=>{let{$head:s,empty:r}=t.selection,o=s;if(!r)return!1;if(s.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):s.parentOffset<s.parent.content.size)return!1;o=fo(s)}let i=o&&o.nodeAfter;return!i||!te.isSelectable(i)?!1:(e&&e(t.tr.setSelection(te.create(t.doc,o.pos)).scrollIntoView()),!0)};function fo(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let n=t.node(e);if(t.index(e)+1<n.childCount)return t.doc.resolve(t.after(e+1));if(n.type.spec.isolating)break}return null}const Rf=(t,e)=>{let n=t.selection,s=n instanceof te,r;if(s){if(n.node.isTextblock||!Ft(t.doc,n.from))return!1;r=n.from}else if(r=Ps(t.doc,n.from,-1),r==null)return!1;if(e){let o=t.tr.join(r);s&&o.setSelection(te.create(o.doc,r-t.doc.resolve(r).nodeBefore.nodeSize)),e(o.scrollIntoView())}return!0},Pf=(t,e)=>{let n=t.selection,s;if(n instanceof te){if(n.node.isTextblock||!Ft(t.doc,n.to))return!1;s=n.to}else if(s=Ps(t.doc,n.to,1),s==null)return!1;return e&&e(t.tr.join(s).scrollIntoView()),!0},Lf=(t,e)=>{let{$from:n,$to:s}=t.selection,r=n.blockRange(s),o=r&&an(r);return o==null?!1:(e&&e(t.tr.lift(r,o).scrollIntoView()),!0)},El=(t,e)=>{let{$head:n,$anchor:s}=t.selection;return!n.parent.type.spec.code||!n.sameParent(s)?!1:(e&&e(t.tr.insertText(`
133
+ `).scrollIntoView()),!0)};function ho(t){for(let e=0;e<t.edgeCount;e++){let{type:n}=t.edge(e);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}const Df=(t,e)=>{let{$head:n,$anchor:s}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(s))return!1;let r=n.node(-1),o=n.indexAfter(-1),i=ho(r.contentMatchAt(o));if(!i||!r.canReplaceWith(o,o,i))return!1;if(e){let l=n.after(),c=t.tr.replaceWith(l,l,i.createAndFill());c.setSelection(J.near(c.doc.resolve(l),1)),e(c.scrollIntoView())}return!0},Al=(t,e)=>{let n=t.selection,{$from:s,$to:r}=n;if(n instanceof Ge||s.parent.inlineContent||r.parent.inlineContent)return!1;let o=ho(r.parent.contentMatchAt(r.indexAfter()));if(!o||!o.isTextblock)return!1;if(e){let i=(!s.parentOffset&&r.index()<r.parent.childCount?s:r).pos,l=t.tr.insert(i,o.createAndFill());l.setSelection(ie.create(l.doc,i+1)),e(l.scrollIntoView())}return!0},Il=(t,e)=>{let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let o=n.before();if(lt(t.doc,o))return e&&e(t.tr.split(o).scrollIntoView()),!0}let s=n.blockRange(),r=s&&an(s);return r==null?!1:(e&&e(t.tr.lift(s,r).scrollIntoView()),!0)};function Mf(t){return(e,n)=>{let{$from:s,$to:r}=e.selection;if(e.selection instanceof te&&e.selection.node.isBlock)return!s.parentOffset||!lt(e.doc,s.pos)?!1:(n&&n(e.tr.split(s.pos).scrollIntoView()),!0);if(!s.depth)return!1;let o=[],i,l,c=!1,u=!1;for(let h=s.depth;;h--)if(s.node(h).isBlock){c=s.end(h)==s.pos+(s.depth-h),u=s.start(h)==s.pos-(s.depth-h),l=ho(s.node(h-1).contentMatchAt(s.indexAfter(h-1))),o.unshift(c&&l?{type:l}:null),i=h;break}else{if(h==1)return!1;o.unshift(null)}let p=e.tr;(e.selection instanceof ie||e.selection instanceof Ge)&&p.deleteSelection();let f=p.mapping.map(s.pos),m=lt(p.doc,f,o.length,o);if(m||(o[0]=l?{type:l}:null,m=lt(p.doc,f,o.length,o)),!m)return!1;if(p.split(f,o.length,o),!c&&u&&s.node(i).type!=l){let h=p.mapping.map(s.before(i)),x=p.doc.resolve(h);l&&s.node(i-1).canReplaceWith(x.index(),x.index()+1,l)&&p.setNodeMarkup(p.mapping.map(s.before(i)),l)}return n&&n(p.scrollIntoView()),!0}}const Of=Mf(),$f=(t,e)=>{let{$from:n,to:s}=t.selection,r,o=n.sharedDepth(s);return o==0?!1:(r=n.before(o),e&&e(t.tr.setSelection(te.create(t.doc,r))),!0)};function Ff(t,e,n){let s=e.nodeBefore,r=e.nodeAfter,o=e.index();return!s||!r||!s.type.compatibleContent(r.type)?!1:!s.content.size&&e.parent.canReplace(o-1,o)?(n&&n(t.tr.delete(e.pos-s.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(o,o+1)||!(r.isTextblock||Ft(t.doc,e.pos))?!1:(n&&n(t.tr.join(e.pos).scrollIntoView()),!0)}function _l(t,e,n,s){let r=e.nodeBefore,o=e.nodeAfter,i,l,c=r.type.spec.isolating||o.type.spec.isolating;if(!c&&Ff(t,e,n))return!0;let u=!c&&e.parent.canReplace(e.index(),e.index()+1);if(u&&(i=(l=r.contentMatchAt(r.childCount)).findWrapping(o.type))&&l.matchType(i[0]||o.type).validEnd){if(n){let h=e.pos+o.nodeSize,x=D.empty;for(let k=i.length-1;k>=0;k--)x=D.from(i[k].create(null,x));x=D.from(r.copy(x));let b=t.tr.step(new Me(e.pos-1,h,e.pos,h,new W(x,1,0),i.length,!0)),y=b.doc.resolve(h+2*i.length);y.nodeAfter&&y.nodeAfter.type==r.type&&Ft(b.doc,y.pos)&&b.join(y.pos),n(b.scrollIntoView())}return!0}let p=o.type.spec.isolating||s>0&&c?null:J.findFrom(e,1),f=p&&p.$from.blockRange(p.$to),m=f&&an(f);if(m!=null&&m>=e.depth)return n&&n(t.tr.lift(f,m).scrollIntoView()),!0;if(u&&Zt(o,"start",!0)&&Zt(r,"end")){let h=r,x=[];for(;x.push(h),!h.isTextblock;)h=h.lastChild;let b=o,y=1;for(;!b.isTextblock;b=b.firstChild)y++;if(h.canReplace(h.childCount,h.childCount,b.content)){if(n){let k=D.empty;for(let A=x.length-1;A>=0;A--)k=D.from(x[A].copy(k));let C=t.tr.step(new Me(e.pos-x.length,e.pos+o.nodeSize,e.pos+y,e.pos+o.nodeSize-y,new W(k,x.length,0),0,!0));n(C.scrollIntoView())}return!0}}return!1}function Tl(t){return function(e,n){let s=e.selection,r=t<0?s.$from:s.$to,o=r.depth;for(;r.node(o).isInline;){if(!o)return!1;o--}return r.node(o).isTextblock?(n&&n(e.tr.setSelection(ie.create(e.doc,t<0?r.start(o):r.end(o)))),!0):!1}}const zf=Tl(-1),Hf=Tl(1);function Vf(t,e=null){return function(n,s){let{$from:r,$to:o}=n.selection,i=r.blockRange(o),l=i&&ml(i,t,e);return l?(s&&s(n.tr.wrap(i,l).scrollIntoView()),!0):!1}}function ba(t,e=null){return function(n,s){let r=!1;for(let o=0;o<n.selection.ranges.length&&!r;o++){let{$from:{pos:i},$to:{pos:l}}=n.selection.ranges[o];n.doc.nodesBetween(i,l,(c,u)=>{if(r)return!1;if(!(!c.isTextblock||c.hasMarkup(t,e)))if(c.type==t)r=!0;else{let p=n.doc.resolve(u),f=p.index();r=p.parent.canReplaceWith(f,f+1,t)}})}if(!r)return!1;if(s){let o=n.tr;for(let i=0;i<n.selection.ranges.length;i++){let{$from:{pos:l},$to:{pos:c}}=n.selection.ranges[i];o.setBlockType(l,c,t,e)}s(o.scrollIntoView())}return!0}}function mo(...t){return function(e,n,s){for(let r=0;r<t.length;r++)if(t[r](e,n,s))return!0;return!1}}mo(uo,vl,Cl);mo(uo,Sl,Nl);mo(El,Al,Il,Of);typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform&&os.platform()=="darwin";function Wf(t,e=null){return function(n,s){let{$from:r,$to:o}=n.selection,i=r.blockRange(o);if(!i)return!1;let l=s?n.tr:null;return Gf(l,i,t,e)?(s&&s(l.scrollIntoView()),!0):!1}}function Gf(t,e,n,s=null){let r=!1,o=e,i=e.$from.doc;if(e.depth>=2&&e.$from.node(e.depth-1).type.compatibleContent(n)&&e.startIndex==0){if(e.$from.index(e.depth-1)==0)return!1;let c=i.resolve(e.start-2);o=new ps(c,c,e.depth),e.endIndex<e.parent.childCount&&(e=new ps(e.$from,i.resolve(e.$to.end(e.depth)),e.depth)),r=!0}let l=ml(o,n,s,e);return l?(t&&Uf(t,e,l,r,n),!0):!1}function Uf(t,e,n,s,r){let o=D.empty;for(let p=n.length-1;p>=0;p--)o=D.from(n[p].type.create(n[p].attrs,o));t.step(new Me(e.start-(s?2:0),e.end,e.start,e.end,new W(o,0,0),n.length,!0));let i=0;for(let p=0;p<n.length;p++)n[p].type==r&&(i=p+1);let l=n.length-i,c=e.start+n.length-(s?2:0),u=e.parent;for(let p=e.startIndex,f=e.endIndex,m=!0;p<f;p++,m=!1)!m&&lt(t.doc,c,l)&&(t.split(c,l),c+=2*l),c+=u.child(p).nodeSize;return t}function qf(t){return function(e,n){let{$from:s,$to:r}=e.selection,o=s.blockRange(r,i=>i.childCount>0&&i.firstChild.type==t);return o?n?s.node(o.depth-1).type==t?Kf(e,n,t,o):Yf(e,n,o):!0:!1}}function Kf(t,e,n,s){let r=t.tr,o=s.end,i=s.$to.end(s.depth);o<i&&(r.step(new Me(o-1,i,o,i,new W(D.from(n.create(null,s.parent.copy())),1,0),1,!0)),s=new ps(r.doc.resolve(s.$from.pos),r.doc.resolve(i),s.depth));const l=an(s);if(l==null)return!1;r.lift(s,l);let c=r.doc.resolve(r.mapping.map(o,-1)-1);return Ft(r.doc,c.pos)&&c.nodeBefore.type==c.nodeAfter.type&&r.join(c.pos),e(r.scrollIntoView()),!0}function Yf(t,e,n){let s=t.tr,r=n.parent;for(let h=n.end,x=n.endIndex-1,b=n.startIndex;x>b;x--)h-=r.child(x).nodeSize,s.delete(h-1,h+1);let o=s.doc.resolve(n.start),i=o.nodeAfter;if(s.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let l=n.startIndex==0,c=n.endIndex==r.childCount,u=o.node(-1),p=o.index(-1);if(!u.canReplace(p+(l?0:1),p+1,i.content.append(c?D.empty:D.from(r))))return!1;let f=o.pos,m=f+i.nodeSize;return s.step(new Me(f-(l?1:0),m+(c?1:0),f+1,m-1,new W((l?D.empty:D.from(r.copy(D.empty))).append(c?D.empty:D.from(r.copy(D.empty))),l?0:1,c?0:1),l?0:1)),e(s.scrollIntoView()),!0}function Xf(t){return function(e,n){let{$from:s,$to:r}=e.selection,o=s.blockRange(r,u=>u.childCount>0&&u.firstChild.type==t);if(!o)return!1;let i=o.startIndex;if(i==0)return!1;let l=o.parent,c=l.child(i-1);if(c.type!=t)return!1;if(n){let u=c.lastChild&&c.lastChild.type==l.type,p=D.from(u?t.create():null),f=new W(D.from(t.create(null,D.from(l.type.create(null,p)))),u?3:1,0),m=o.start,h=o.end;n(e.tr.step(new Me(m-(u?3:1),h,m,h,f,1,!0)).scrollIntoView())}return!0}}function Bl(t){const{state:e,transaction:n}=t;let{selection:s}=n,{doc:r}=n,{storedMarks:o}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return o},get selection(){return s},get doc(){return r},get tr(){return s=n.selection,r=n.doc,o=n.storedMarks,n}}}class Jf{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:e,editor:n,state:s}=this,{view:r}=n,{tr:o}=s,i=this.buildProps(o);return Object.fromEntries(Object.entries(e).map(([l,c])=>[l,(...p)=>{const f=c(...p)(i);return!o.getMeta("preventDispatch")&&!this.hasCustomState&&r.dispatch(o),f}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,n=!0){const{rawCommands:s,editor:r,state:o}=this,{view:i}=r,l=[],c=!!e,u=e||o.tr,p=()=>(!c&&n&&!u.getMeta("preventDispatch")&&!this.hasCustomState&&i.dispatch(u),l.every(m=>m===!0)),f={...Object.fromEntries(Object.entries(s).map(([m,h])=>[m,(...b)=>{const y=this.buildProps(u,n),k=h(...b)(y);return l.push(k),f}])),run:p};return f}createCan(e){const{rawCommands:n,state:s}=this,r=!1,o=e||s.tr,i=this.buildProps(o,r);return{...Object.fromEntries(Object.entries(n).map(([c,u])=>[c,(...p)=>u(...p)({...i,dispatch:void 0})])),chain:()=>this.createChain(o,r)}}buildProps(e,n=!0){const{rawCommands:s,editor:r,state:o}=this,{view:i}=r,l={tr:e,editor:r,view:i,state:Bl({state:o,transaction:e}),dispatch:n?()=>{}:void 0,chain:()=>this.createChain(e,n),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(s).map(([c,u])=>[c,(...p)=>u(...p)(l)]))}};return l}}function St(t,e,n){return t.config[e]===void 0&&t.parent?St(t.parent,e,n):typeof t.config[e]=="function"?t.config[e].bind({...n,parent:t.parent?St(t.parent,e,n):null}):t.config[e]}function Zf(t){const e=t.filter(r=>r.type==="extension"),n=t.filter(r=>r.type==="node"),s=t.filter(r=>r.type==="mark");return{baseExtensions:e,nodeExtensions:n,markExtensions:s}}function _e(t,e){if(typeof t=="string"){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}function Qf(t){return typeof t=="function"}function gn(t,e=void 0,...n){return Qf(t)?e?t.bind(e)(...n):t(...n):t}function eh(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function th(t){return Object.prototype.toString.call(t).slice(8,-1)}function Yn(t){return th(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function Rl(t,e){const n={...t};return Yn(t)&&Yn(e)&&Object.keys(e).forEach(s=>{Yn(e[s])&&Yn(t[s])?n[s]=Rl(t[s],e[s]):n[s]=e[s]}),n}class Ue{constructor(e={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=gn(St(this,"addOptions",{name:this.name}))),this.storage=gn(St(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new Ue(e)}configure(e={}){const n=this.extend({...this.config,addOptions:()=>Rl(this.options,e)});return n.name=this.name,n.parent=this.parent,n}extend(e={}){const n=new Ue({...this.config,...e});return n.parent=this,this.child=n,n.name=e.name?e.name:n.parent.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=gn(St(n,"addOptions",{name:n.name})),n.storage=gn(St(n,"addStorage",{name:n.name,options:n.options})),n}}function nh(t,e,n){const{from:s,to:r}=e,{blockSeparator:o=`
134
134
 
135
- `,textSerializers:i={}}=n||{};let l="";return t.nodesBetween(s,r,(c,u,p,f)=>{var m;c.isBlock&&u>s&&(l+=o);const h=i==null?void 0:i[c.type.name];if(h)return p&&(l+=h({node:c,pos:u,parent:p,index:f,range:e})),!1;c.isText&&(l+=(m=c==null?void 0:c.text)===null||m===void 0?void 0:m.slice(Math.max(s,u)-u,r-u))}),l}function sh(t){return Object.fromEntries(Object.entries(t.nodes).filter(([,e])=>e.spec.toText).map(([e,n])=>[e,n.spec.toText]))}Ue.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new zt({key:new Ht("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:s,selection:r}=e,{ranges:o}=r,i=Math.min(...o.map(p=>p.$from.pos)),l=Math.max(...o.map(p=>p.$to.pos)),c=sh(n);return nh(s,{from:i,to:l},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:c})}}})]}});const rh=()=>({editor:t,view:e})=>(requestAnimationFrame(()=>{var n;t.isDestroyed||(e.dom.blur(),(n=window==null?void 0:window.getSelection())===null||n===void 0||n.removeAllRanges())}),!0),oh=(t=!1)=>({commands:e})=>e.setContent("",t),ah=()=>({state:t,tr:e,dispatch:n})=>{const{selection:s}=e,{ranges:r}=s;return n&&r.forEach(({$from:o,$to:i})=>{t.doc.nodesBetween(o.pos,i.pos,(l,c)=>{if(l.type.isText)return;const{doc:u,mapping:p}=e,f=u.resolve(p.map(c)),m=u.resolve(p.map(c+l.nodeSize)),h=f.blockRange(m);if(!h)return;const x=an(h);if(l.type.isTextblock){const{defaultType:b}=f.parent.contentMatchAt(f.index());e.setNodeMarkup(h.start,b)}(x||x===0)&&e.lift(h,x)})}),!0},ih=t=>e=>t(e),lh=()=>({state:t,dispatch:e})=>Al(t,e),ch=(t,e)=>({editor:n,tr:s})=>{const{state:r}=n,o=r.doc.slice(t.from,t.to);s.deleteRange(t.from,t.to);const i=s.mapping.map(e);return s.insert(i,o.content),s.setSelection(new ie(s.doc.resolve(Math.max(i-1,0)))),!0},dh=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,s=n.$anchor.node();if(s.content.size>0)return!1;const r=t.selection.$anchor;for(let o=r.depth;o>0;o-=1)if(r.node(o).type===s.type){if(e){const l=r.before(o),c=r.after(o);t.delete(l,c).scrollIntoView()}return!0}return!1},uh=t=>({tr:e,state:n,dispatch:s})=>{const r=Ie(t,n.schema),o=e.selection.$anchor;for(let i=o.depth;i>0;i-=1)if(o.node(i).type===r){if(s){const c=o.before(i),u=o.after(i);e.delete(c,u).scrollIntoView()}return!0}return!1},ph=t=>({tr:e,dispatch:n})=>{const{from:s,to:r}=t;return n&&e.delete(s,r),!0},fh=()=>({state:t,dispatch:e})=>uo(t,e),hh=()=>({commands:t})=>t.keyboardShortcut("Enter"),mh=()=>({state:t,dispatch:e})=>Df(t,e);function gs(t,e,n={strict:!0}){const s=Object.keys(e);return s.length?s.every(r=>n.strict?e[r]===t[r]:eh(e[r])?e[r].test(t[r]):e[r]===t[r]):!0}function Pl(t,e,n={}){return t.find(s=>s.type===e&&gs(Object.fromEntries(Object.keys(n).map(r=>[r,s.attrs[r]])),n))}function ya(t,e,n={}){return!!Pl(t,e,n)}function Ll(t,e,n){var s;if(!t||!e)return;let r=t.parent.childAfter(t.parentOffset);if((!r.node||!r.node.marks.some(p=>p.type===e))&&(r=t.parent.childBefore(t.parentOffset)),!r.node||!r.node.marks.some(p=>p.type===e)||(n=n||((s=r.node.marks[0])===null||s===void 0?void 0:s.attrs),!Pl([...r.node.marks],e,n)))return;let i=r.index,l=t.start()+r.offset,c=i+1,u=l+r.node.nodeSize;for(;i>0&&ya([...t.parent.child(i-1).marks],e,n);)i-=1,l-=t.parent.child(i).nodeSize;for(;c<t.parent.childCount&&ya([...t.parent.child(c).marks],e,n);)u+=t.parent.child(c).nodeSize,c+=1;return{from:l,to:u}}function bt(t,e){if(typeof t=="string"){if(!e.marks[t])throw Error(`There is no mark type named '${t}'. Maybe you forgot to add the extension?`);return e.marks[t]}return t}const gh=(t,e={})=>({tr:n,state:s,dispatch:r})=>{const o=bt(t,s.schema),{doc:i,selection:l}=n,{$from:c,from:u,to:p}=l;if(r){const f=Ll(c,o,e);if(f&&f.from<=u&&f.to>=p){const m=ie.create(i,f.from,f.to);n.setSelection(m)}}return!0},xh=t=>e=>{const n=typeof t=="function"?t(e):t;for(let s=0;s<n.length;s+=1)if(n[s](e))return!0;return!1};function Dl(t){return t instanceof ie}function Nt(t=0,e=0,n=0){return Math.min(Math.max(t,e),n)}function bh(t,e=null){if(!e)return null;const n=J.atStart(t),s=J.atEnd(t);if(e==="start"||e===!0)return n;if(e==="end")return s;const r=n.from,o=s.to;return e==="all"?ie.create(t,Nt(0,r,o),Nt(t.content.size,r,o)):ie.create(t,Nt(e,r,o),Nt(e,r,o))}function yh(){return navigator.platform==="Android"||/android/i.test(navigator.userAgent)}function go(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}const kh=(t=null,e={})=>({editor:n,view:s,tr:r,dispatch:o})=>{e={scrollIntoView:!0,...e};const i=()=>{(go()||yh())&&s.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(s.focus(),e!=null&&e.scrollIntoView&&n.commands.scrollIntoView())})};if(s.hasFocus()&&t===null||t===!1)return!0;if(o&&t===null&&!Dl(n.state.selection))return i(),!0;const l=bh(r.doc,t)||n.state.selection,c=n.state.selection.eq(l);return o&&(c||r.setSelection(l),c&&r.storedMarks&&r.setStoredMarks(r.storedMarks),i()),!0},vh=(t,e)=>n=>t.every((s,r)=>e(s,{...n,index:r})),wh=(t,e)=>({tr:n,commands:s})=>s.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),Ml=t=>{const e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){const s=e[n];s.nodeType===3&&s.nodeValue&&/^(\n\s\s|\n)$/.test(s.nodeValue)?t.removeChild(s):s.nodeType===1&&Ml(s)}return t};function Xn(t){const e=`<body>${t}</body>`,n=new window.DOMParser().parseFromString(e,"text/html").body;return Ml(n)}function En(t,e,n){if(t instanceof Tt||t instanceof D)return t;n={slice:!0,parseOptions:{},...n};const s=typeof t=="object"&&t!==null,r=typeof t=="string";if(s)try{if(Array.isArray(t)&&t.length>0)return D.fromArray(t.map(l=>e.nodeFromJSON(l)));const i=e.nodeFromJSON(t);return n.errorOnInvalidContent&&i.check(),i}catch(o){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:o});return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",o),En("",e,n)}if(r){if(n.errorOnInvalidContent){let i=!1,l="";const c=new hf({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:u=>(i=!0,l=typeof u=="string"?u:u.outerHTML,null)}]}})});if(n.slice?Kt.fromSchema(c).parseSlice(Xn(t),n.parseOptions):Kt.fromSchema(c).parse(Xn(t),n.parseOptions),n.errorOnInvalidContent&&i)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${l}`)})}const o=Kt.fromSchema(e);return n.slice?o.parseSlice(Xn(t),n.parseOptions).content:o.parse(Xn(t),n.parseOptions)}return En("",e,n)}function Ch(t,e,n){const s=t.steps.length-1;if(s<e)return;const r=t.steps[s];if(!(r instanceof Fe||r instanceof Me))return;const o=t.mapping.maps[s];let i=0;o.forEach((l,c,u,p)=>{i===0&&(i=p)}),t.setSelection(J.near(t.doc.resolve(i),n))}const jh=t=>!("type"in t),Sh=(t,e,n)=>({tr:s,dispatch:r,editor:o})=>{var i;if(r){n={parseOptions:o.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let l;const c=y=>{o.emit("contentError",{editor:o,error:y,disableCollaboration:()=>{o.storage.collaboration&&(o.storage.collaboration.isDisabled=!0)}})},u={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!o.options.enableContentCheck&&o.options.emitContentError)try{En(e,o.schema,{parseOptions:u,errorOnInvalidContent:!0})}catch(y){c(y)}try{l=En(e,o.schema,{parseOptions:u,errorOnInvalidContent:(i=n.errorOnInvalidContent)!==null&&i!==void 0?i:o.options.enableContentCheck})}catch(y){return c(y),!1}let{from:p,to:f}=typeof t=="number"?{from:t,to:t}:{from:t.from,to:t.to},m=!0,h=!0;if((jh(l)?l:[l]).forEach(y=>{y.check(),m=m?y.isText&&y.marks.length===0:!1,h=h?y.isBlock:!1}),p===f&&h){const{parent:y}=s.doc.resolve(p);y.isTextblock&&!y.type.spec.code&&!y.childCount&&(p-=1,f+=1)}let b;if(m){if(Array.isArray(e))b=e.map(y=>y.text||"").join("");else if(e instanceof D){let y="";e.forEach(k=>{k.text&&(y+=k.text)}),b=y}else typeof e=="object"&&e&&e.text?b=e.text:b=e;s.insertText(b,p,f)}else b=l,s.replaceWith(p,f,b);n.updateSelection&&Ch(s,s.steps.length-1,-1),n.applyInputRules&&s.setMeta("applyInputRules",{from:p,text:b}),n.applyPasteRules&&s.setMeta("applyPasteRules",{from:p,text:b})}return!0},Nh=()=>({state:t,dispatch:e})=>Rf(t,e),Eh=()=>({state:t,dispatch:e})=>Pf(t,e),Ah=()=>({state:t,dispatch:e})=>vl(t,e),_h=()=>({state:t,dispatch:e})=>Sl(t,e),Ih=()=>({state:t,dispatch:e,tr:n})=>{try{const s=Ps(t.doc,t.selection.$from.pos,-1);return s==null?!1:(n.join(s,2),e&&e(n),!0)}catch{return!1}},Th=()=>({state:t,dispatch:e,tr:n})=>{try{const s=Ps(t.doc,t.selection.$from.pos,1);return s==null?!1:(n.join(s,2),e&&e(n),!0)}catch{return!1}},Bh=()=>({state:t,dispatch:e})=>Tf(t,e),Rh=()=>({state:t,dispatch:e})=>Bf(t,e);function Ol(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function Ph(t){const e=t.split(/-(?!$)/);let n=e[e.length-1];n==="Space"&&(n=" ");let s,r,o,i;for(let l=0;l<e.length-1;l+=1){const c=e[l];if(/^(cmd|meta|m)$/i.test(c))i=!0;else if(/^a(lt)?$/i.test(c))s=!0;else if(/^(c|ctrl|control)$/i.test(c))r=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))go()||Ol()?i=!0:r=!0;else throw new Error(`Unrecognized modifier name: ${c}`)}return s&&(n=`Alt-${n}`),r&&(n=`Ctrl-${n}`),i&&(n=`Meta-${n}`),o&&(n=`Shift-${n}`),n}const Lh=t=>({editor:e,view:n,tr:s,dispatch:r})=>{const o=Ph(t).split(/-(?!$)/),i=o.find(u=>!["Alt","Ctrl","Meta","Shift"].includes(u)),l=new KeyboardEvent("keydown",{key:i==="Space"?" ":i,altKey:o.includes("Alt"),ctrlKey:o.includes("Ctrl"),metaKey:o.includes("Meta"),shiftKey:o.includes("Shift"),bubbles:!0,cancelable:!0}),c=e.captureTransaction(()=>{n.someProp("handleKeyDown",u=>u(n,l))});return c==null||c.steps.forEach(u=>{const p=u.map(s.mapping);p&&r&&s.maybeStep(p)}),!0};function xo(t,e,n={}){const{from:s,to:r,empty:o}=t.selection,i=e?Ie(e,t.schema):null,l=[];t.doc.nodesBetween(s,r,(f,m)=>{if(f.isText)return;const h=Math.max(s,m),x=Math.min(r,m+f.nodeSize);l.push({node:f,from:h,to:x})});const c=r-s,u=l.filter(f=>i?i.name===f.node.type.name:!0).filter(f=>gs(f.node.attrs,n,{strict:!1}));return o?!!u.length:u.reduce((f,m)=>f+m.to-m.from,0)>=c}const Dh=(t,e={})=>({state:n,dispatch:s})=>{const r=Ie(t,n.schema);return xo(n,r,e)?Lf(n,s):!1},Mh=()=>({state:t,dispatch:e})=>_l(t,e),Oh=t=>({state:e,dispatch:n})=>{const s=Ie(t,e.schema);return qf(s)(e,n)},$h=()=>({state:t,dispatch:e})=>El(t,e);function $l(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function ka(t,e){const n=typeof e=="string"?[e]:e;return Object.keys(t).reduce((s,r)=>(n.includes(r)||(s[r]=t[r]),s),{})}const Fh=(t,e)=>({tr:n,state:s,dispatch:r})=>{let o=null,i=null;const l=$l(typeof t=="string"?t:t.name,s.schema);return l?(l==="node"&&(o=Ie(t,s.schema)),l==="mark"&&(i=bt(t,s.schema)),r&&n.selection.ranges.forEach(c=>{s.doc.nodesBetween(c.$from.pos,c.$to.pos,(u,p)=>{o&&o===u.type&&n.setNodeMarkup(p,void 0,ka(u.attrs,e)),i&&u.marks.length&&u.marks.forEach(f=>{i===f.type&&n.addMark(p,p+u.nodeSize,i.create(ka(f.attrs,e)))})})}),!0):!1},zh=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),Hh=()=>({tr:t,dispatch:e})=>{if(e){const n=new Ge(t.doc);t.setSelection(n)}return!0},Vh=()=>({state:t,dispatch:e})=>Cl(t,e),Wh=()=>({state:t,dispatch:e})=>Nl(t,e),Gh=()=>({state:t,dispatch:e})=>$f(t,e),Uh=()=>({state:t,dispatch:e})=>Hf(t,e),qh=()=>({state:t,dispatch:e})=>zf(t,e);function Kh(t,e,n={},s={}){return En(t,e,{slice:!1,parseOptions:n,errorOnInvalidContent:s.errorOnInvalidContent})}const Yh=(t,e=!1,n={},s={})=>({editor:r,tr:o,dispatch:i,commands:l})=>{var c,u;const{doc:p}=o;if(n.preserveWhitespace!=="full"){const f=Kh(t,r.schema,n,{errorOnInvalidContent:(c=s.errorOnInvalidContent)!==null&&c!==void 0?c:r.options.enableContentCheck});return i&&o.replaceWith(0,p.content.size,f).setMeta("preventUpdate",!e),!0}return i&&o.setMeta("preventUpdate",!e),l.insertContentAt({from:0,to:p.content.size},t,{parseOptions:n,errorOnInvalidContent:(u=s.errorOnInvalidContent)!==null&&u!==void 0?u:r.options.enableContentCheck})};function Xh(t,e){const n=bt(e,t.schema),{from:s,to:r,empty:o}=t.selection,i=[];o?(t.storedMarks&&i.push(...t.storedMarks),i.push(...t.selection.$head.marks())):t.doc.nodesBetween(s,r,c=>{i.push(...c.marks)});const l=i.find(c=>c.type.name===n.name);return l?{...l.attrs}:{}}function Jh(t){for(let e=0;e<t.edgeCount;e+=1){const{type:n}=t.edge(e);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}function Zh(t,e){for(let n=t.depth;n>0;n-=1){const s=t.node(n);if(e(s))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:s}}}function bo(t){return e=>Zh(e.$from,t)}function ts(t,e,n){return Object.fromEntries(Object.entries(n).filter(([s])=>{const r=t.find(o=>o.type===e&&o.name===s);return r?r.attribute.keepOnSplit:!1}))}function Qh(t,e,n={}){const{empty:s,ranges:r}=t.selection,o=e?bt(e,t.schema):null;if(s)return!!(t.storedMarks||t.selection.$from.marks()).filter(f=>o?o.name===f.type.name:!0).find(f=>gs(f.attrs,n,{strict:!1}));let i=0;const l=[];if(r.forEach(({$from:f,$to:m})=>{const h=f.pos,x=m.pos;t.doc.nodesBetween(h,x,(b,y)=>{if(!b.isText&&!b.marks.length)return;const k=Math.max(h,y),C=Math.min(x,y+b.nodeSize),A=C-k;i+=A,l.push(...b.marks.map(w=>({mark:w,from:k,to:C})))})}),i===0)return!1;const c=l.filter(f=>o?o.name===f.mark.type.name:!0).filter(f=>gs(f.mark.attrs,n,{strict:!1})).reduce((f,m)=>f+m.to-m.from,0),u=l.filter(f=>o?f.mark.type!==o&&f.mark.type.excludes(o):!0).reduce((f,m)=>f+m.to-m.from,0);return(c>0?c+u:c)>=i}function va(t,e){const{nodeExtensions:n}=Zf(e),s=n.find(i=>i.name===t);if(!s)return!1;const r={name:s.name,options:s.options,storage:s.storage},o=gn(St(s,"group",r));return typeof o!="string"?!1:o.split(" ").includes("list")}function Fl(t,{checkChildren:e=!0,ignoreWhitespace:n=!1}={}){var s;if(n){if(t.type.name==="hardBreak")return!0;if(t.isText)return/^\s*$/m.test((s=t.text)!==null&&s!==void 0?s:"")}if(t.isText)return!t.text;if(t.isAtom||t.isLeaf)return!1;if(t.content.childCount===0)return!0;if(e){let r=!0;return t.content.forEach(o=>{r!==!1&&(Fl(o,{ignoreWhitespace:n,checkChildren:e})||(r=!1))}),r}return!1}function em(t,e,n){var s;const{selection:r}=e;let o=null;if(Dl(r)&&(o=r.$cursor),o){const l=(s=t.storedMarks)!==null&&s!==void 0?s:o.marks();return!!n.isInSet(l)||!l.some(c=>c.type.excludes(n))}const{ranges:i}=r;return i.some(({$from:l,$to:c})=>{let u=l.depth===0?t.doc.inlineContent&&t.doc.type.allowsMarkType(n):!1;return t.doc.nodesBetween(l.pos,c.pos,(p,f,m)=>{if(u)return!1;if(p.isInline){const h=!m||m.type.allowsMarkType(n),x=!!n.isInSet(p.marks)||!p.marks.some(b=>b.type.excludes(n));u=h&&x}return!u}),u})}const tm=(t,e={})=>({tr:n,state:s,dispatch:r})=>{const{selection:o}=n,{empty:i,ranges:l}=o,c=bt(t,s.schema);if(r)if(i){const u=Xh(s,c);n.addStoredMark(c.create({...u,...e}))}else l.forEach(u=>{const p=u.$from.pos,f=u.$to.pos;s.doc.nodesBetween(p,f,(m,h)=>{const x=Math.max(h,p),b=Math.min(h+m.nodeSize,f);m.marks.find(k=>k.type===c)?m.marks.forEach(k=>{c===k.type&&n.addMark(x,b,c.create({...k.attrs,...e}))}):n.addMark(x,b,c.create(e))})});return em(s,n,c)},nm=(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),sm=(t,e={})=>({state:n,dispatch:s,chain:r})=>{const o=Ie(t,n.schema);let i;return n.selection.$anchor.sameParent(n.selection.$head)&&(i=n.selection.$anchor.parent.attrs),o.isTextblock?r().command(({commands:l})=>ba(o,{...i,...e})(n)?!0:l.clearNodes()).command(({state:l})=>ba(o,{...i,...e})(l,s)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},rm=t=>({tr:e,dispatch:n})=>{if(n){const{doc:s}=e,r=Nt(t,0,s.content.size),o=te.create(s,r);e.setSelection(o)}return!0},om=t=>({tr:e,dispatch:n})=>{if(n){const{doc:s}=e,{from:r,to:o}=typeof t=="number"?{from:t,to:t}:t,i=ie.atStart(s).from,l=ie.atEnd(s).to,c=Nt(r,i,l),u=Nt(o,i,l),p=ie.create(s,c,u);e.setSelection(p)}return!0},am=t=>({state:e,dispatch:n})=>{const s=Ie(t,e.schema);return Xf(s)(e,n)};function wa(t,e){const n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){const s=n.filter(r=>e==null?void 0:e.includes(r.type.name));t.tr.ensureMarks(s)}}const im=({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:s,editor:r})=>{const{selection:o,doc:i}=e,{$from:l,$to:c}=o,u=r.extensionManager.attributes,p=ts(u,l.node().type.name,l.node().attrs);if(o instanceof te&&o.node.isBlock)return!l.parentOffset||!lt(i,l.pos)?!1:(s&&(t&&wa(n,r.extensionManager.splittableMarks),e.split(l.pos).scrollIntoView()),!0);if(!l.parent.isBlock)return!1;const f=c.parentOffset===c.parent.content.size,m=l.depth===0?void 0:Jh(l.node(-1).contentMatchAt(l.indexAfter(-1)));let h=f&&m?[{type:m,attrs:p}]:void 0,x=lt(e.doc,e.mapping.map(l.pos),1,h);if(!h&&!x&&lt(e.doc,e.mapping.map(l.pos),1,m?[{type:m}]:void 0)&&(x=!0,h=m?[{type:m,attrs:p}]:void 0),s){if(x&&(o instanceof ie&&e.deleteSelection(),e.split(e.mapping.map(l.pos),1,h),m&&!f&&!l.parentOffset&&l.parent.type!==m)){const b=e.mapping.map(l.before()),y=e.doc.resolve(b);l.node(-1).canReplaceWith(y.index(),y.index()+1,m)&&e.setNodeMarkup(e.mapping.map(l.before()),m)}t&&wa(n,r.extensionManager.splittableMarks),e.scrollIntoView()}return x},lm=(t,e={})=>({tr:n,state:s,dispatch:r,editor:o})=>{var i;const l=Ie(t,s.schema),{$from:c,$to:u}=s.selection,p=s.selection.node;if(p&&p.isBlock||c.depth<2||!c.sameParent(u))return!1;const f=c.node(-1);if(f.type!==l)return!1;const m=o.extensionManager.attributes;if(c.parent.content.size===0&&c.node(-1).childCount===c.indexAfter(-1)){if(c.depth===2||c.node(-3).type!==l||c.index(-2)!==c.node(-2).childCount-1)return!1;if(r){let k=D.empty;const C=c.index(-1)?1:c.index(-2)?2:3;for(let E=c.depth-C;E>=c.depth-3;E-=1)k=D.from(c.node(E).copy(k));const A=c.indexAfter(-1)<c.node(-2).childCount?1:c.indexAfter(-2)<c.node(-3).childCount?2:3,w={...ts(m,c.node().type.name,c.node().attrs),...e},j=((i=l.contentMatch.defaultType)===null||i===void 0?void 0:i.createAndFill(w))||void 0;k=k.append(D.from(l.createAndFill(null,j)||void 0));const I=c.before(c.depth-(C-1));n.replace(I,c.after(-A),new W(k,4-C,0));let S=-1;n.doc.nodesBetween(I,n.doc.content.size,(E,_)=>{if(S>-1)return!1;E.isTextblock&&E.content.size===0&&(S=_+1)}),S>-1&&n.setSelection(ie.near(n.doc.resolve(S))),n.scrollIntoView()}return!0}const h=u.pos===c.end()?f.contentMatchAt(0).defaultType:null,x={...ts(m,f.type.name,f.attrs),...e},b={...ts(m,c.node().type.name,c.node().attrs),...e};n.delete(c.pos,u.pos);const y=h?[{type:l,attrs:x},{type:h,attrs:b}]:[{type:l,attrs:x}];if(!lt(n.doc,c.pos,2))return!1;if(r){const{selection:k,storedMarks:C}=s,{splittableMarks:A}=o.extensionManager,w=C||k.$to.parentOffset&&k.$from.marks();if(n.split(c.pos,2,y).scrollIntoView(),!w||!r)return!0;const j=w.filter(I=>A.includes(I.type.name));n.ensureMarks(j)}return!0},ar=(t,e)=>{const n=bo(i=>i.type===e)(t.selection);if(!n)return!0;const s=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(s===void 0)return!0;const r=t.doc.nodeAt(s);return n.node.type===(r==null?void 0:r.type)&&Ft(t.doc,n.pos)&&t.join(n.pos),!0},ir=(t,e)=>{const n=bo(i=>i.type===e)(t.selection);if(!n)return!0;const s=t.doc.resolve(n.start).after(n.depth);if(s===void 0)return!0;const r=t.doc.nodeAt(s);return n.node.type===(r==null?void 0:r.type)&&Ft(t.doc,s)&&t.join(s),!0},cm=(t,e,n,s={})=>({editor:r,tr:o,state:i,dispatch:l,chain:c,commands:u,can:p})=>{const{extensions:f,splittableMarks:m}=r.extensionManager,h=Ie(t,i.schema),x=Ie(e,i.schema),{selection:b,storedMarks:y}=i,{$from:k,$to:C}=b,A=k.blockRange(C),w=y||b.$to.parentOffset&&b.$from.marks();if(!A)return!1;const j=bo(I=>va(I.type.name,f))(b);if(A.depth>=1&&j&&A.depth-j.depth<=1){if(j.node.type===h)return u.liftListItem(x);if(va(j.node.type.name,f)&&h.validContent(j.node.content)&&l)return c().command(()=>(o.setNodeMarkup(j.pos,h),!0)).command(()=>ar(o,h)).command(()=>ir(o,h)).run()}return!n||!w||!l?c().command(()=>p().wrapInList(h,s)?!0:u.clearNodes()).wrapInList(h,s).command(()=>ar(o,h)).command(()=>ir(o,h)).run():c().command(()=>{const I=p().wrapInList(h,s),S=w.filter(E=>m.includes(E.type.name));return o.ensureMarks(S),I?!0:u.clearNodes()}).wrapInList(h,s).command(()=>ar(o,h)).command(()=>ir(o,h)).run()},dm=(t,e={},n={})=>({state:s,commands:r})=>{const{extendEmptyMarkRange:o=!1}=n,i=bt(t,s.schema);return Qh(s,i,e)?r.unsetMark(i,{extendEmptyMarkRange:o}):r.setMark(i,e)},um=(t,e,n={})=>({state:s,commands:r})=>{const o=Ie(t,s.schema),i=Ie(e,s.schema),l=xo(s,o,n);let c;return s.selection.$anchor.sameParent(s.selection.$head)&&(c=s.selection.$anchor.parent.attrs),l?r.setNode(i,c):r.setNode(o,{...c,...n})},pm=(t,e={})=>({state:n,commands:s})=>{const r=Ie(t,n.schema);return xo(n,r,e)?s.lift(r):s.wrapIn(r,e)},fm=()=>({state:t,dispatch:e})=>{const n=t.plugins;for(let s=0;s<n.length;s+=1){const r=n[s];let o;if(r.spec.isInputRules&&(o=r.getState(t))){if(e){const i=t.tr,l=o.transform;for(let c=l.steps.length-1;c>=0;c-=1)i.step(l.steps[c].invert(l.docs[c]));if(o.text){const c=i.doc.resolve(o.from).marks();i.replaceWith(o.from,o.to,t.schema.text(o.text,c))}else i.delete(o.from,o.to)}return!0}}return!1},hm=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,{empty:s,ranges:r}=n;return s||e&&r.forEach(o=>{t.removeMark(o.$from.pos,o.$to.pos)}),!0},mm=(t,e={})=>({tr:n,state:s,dispatch:r})=>{var o;const{extendEmptyMarkRange:i=!1}=e,{selection:l}=n,c=bt(t,s.schema),{$from:u,empty:p,ranges:f}=l;if(!r)return!0;if(p&&i){let{from:m,to:h}=l;const x=(o=u.marks().find(y=>y.type===c))===null||o===void 0?void 0:o.attrs,b=Ll(u,c,x);b&&(m=b.from,h=b.to),n.removeMark(m,h,c)}else f.forEach(m=>{n.removeMark(m.$from.pos,m.$to.pos,c)});return n.removeStoredMark(c),!0},gm=(t,e={})=>({tr:n,state:s,dispatch:r})=>{let o=null,i=null;const l=$l(typeof t=="string"?t:t.name,s.schema);return l?(l==="node"&&(o=Ie(t,s.schema)),l==="mark"&&(i=bt(t,s.schema)),r&&n.selection.ranges.forEach(c=>{const u=c.$from.pos,p=c.$to.pos;let f,m,h,x;n.selection.empty?s.doc.nodesBetween(u,p,(b,y)=>{o&&o===b.type&&(h=Math.max(y,u),x=Math.min(y+b.nodeSize,p),f=y,m=b)}):s.doc.nodesBetween(u,p,(b,y)=>{y<u&&o&&o===b.type&&(h=Math.max(y,u),x=Math.min(y+b.nodeSize,p),f=y,m=b),y>=u&&y<=p&&(o&&o===b.type&&n.setNodeMarkup(y,void 0,{...b.attrs,...e}),i&&b.marks.length&&b.marks.forEach(k=>{if(i===k.type){const C=Math.max(y,u),A=Math.min(y+b.nodeSize,p);n.addMark(C,A,i.create({...k.attrs,...e}))}}))}),m&&(f!==void 0&&n.setNodeMarkup(f,void 0,{...m.attrs,...e}),i&&m.marks.length&&m.marks.forEach(b=>{i===b.type&&n.addMark(h,x,i.create({...b.attrs,...e}))}))}),!0):!1},xm=(t,e={})=>({state:n,dispatch:s})=>{const r=Ie(t,n.schema);return Vf(r,e)(n,s)},bm=(t,e={})=>({state:n,dispatch:s})=>{const r=Ie(t,n.schema);return Wf(r,e)(n,s)};var ym=Object.freeze({__proto__:null,blur:rh,clearContent:oh,clearNodes:ah,command:ih,createParagraphNear:lh,cut:ch,deleteCurrentNode:dh,deleteNode:uh,deleteRange:ph,deleteSelection:fh,enter:hh,exitCode:mh,extendMarkRange:gh,first:xh,focus:kh,forEach:vh,insertContent:wh,insertContentAt:Sh,joinBackward:Ah,joinDown:Eh,joinForward:_h,joinItemBackward:Ih,joinItemForward:Th,joinTextblockBackward:Bh,joinTextblockForward:Rh,joinUp:Nh,keyboardShortcut:Lh,lift:Dh,liftEmptyBlock:Mh,liftListItem:Oh,newlineInCode:$h,resetAttributes:Fh,scrollIntoView:zh,selectAll:Hh,selectNodeBackward:Vh,selectNodeForward:Wh,selectParentNode:Gh,selectTextblockEnd:Uh,selectTextblockStart:qh,setContent:Yh,setMark:tm,setMeta:nm,setNode:sm,setNodeSelection:rm,setTextSelection:om,sinkListItem:am,splitBlock:im,splitListItem:lm,toggleList:cm,toggleMark:dm,toggleNode:um,toggleWrap:pm,undoInputRule:fm,unsetAllMarks:hm,unsetMark:mm,updateAttributes:gm,wrapIn:xm,wrapInList:bm});Ue.create({name:"commands",addCommands(){return{...ym}}});Ue.create({name:"drop",addProseMirrorPlugins(){return[new zt({key:new Ht("tiptapDrop"),props:{handleDrop:(t,e,n,s)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:n,moved:s})}}})]}});Ue.create({name:"editable",addProseMirrorPlugins(){return[new zt({key:new Ht("editable"),props:{editable:()=>this.editor.options.editable}})]}});const km=new Ht("focusEvents");Ue.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new zt({key:km,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const s=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(s),!1},blur:(e,n)=>{t.isFocused=!1;const s=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(s),!1}}}})]}});Ue.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first(({commands:i})=>[()=>i.undoInputRule(),()=>i.command(({tr:l})=>{const{selection:c,doc:u}=l,{empty:p,$anchor:f}=c,{pos:m,parent:h}=f,x=f.parent.isTextblock&&m>0?l.doc.resolve(m-1):f,b=x.parent.type.spec.isolating,y=f.pos-f.parentOffset,k=b&&x.parent.childCount===1?y===f.pos:J.atStart(u).from===m;return!p||!h.type.isTextblock||h.textContent.length||!k||k&&f.parent.type.name==="paragraph"?!1:i.clearNodes()}),()=>i.deleteSelection(),()=>i.joinBackward(),()=>i.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:i})=>[()=>i.deleteSelection(),()=>i.deleteCurrentNode(),()=>i.joinForward(),()=>i.selectNodeForward()]),s={Enter:()=>this.editor.commands.first(({commands:i})=>[()=>i.newlineInCode(),()=>i.createParagraphNear(),()=>i.liftEmptyBlock(),()=>i.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},r={...s},o={...s,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return go()||Ol()?o:r},addProseMirrorPlugins(){return[new zt({key:new Ht("clearDocument"),appendTransaction:(t,e,n)=>{if(t.some(b=>b.getMeta("composition")))return;const s=t.some(b=>b.docChanged)&&!e.doc.eq(n.doc),r=t.some(b=>b.getMeta("preventClearDocument"));if(!s||r)return;const{empty:o,from:i,to:l}=e.selection,c=J.atStart(e.doc).from,u=J.atEnd(e.doc).to;if(o||!(i===c&&l===u)||!Fl(n.doc))return;const m=n.tr,h=Bl({state:n,transaction:m}),{commands:x}=new Jf({editor:this.editor,state:h});if(x.clearNodes(),!!m.steps.length)return m}})]}});Ue.create({name:"paste",addProseMirrorPlugins(){return[new zt({key:new Ht("tiptapPaste"),props:{handlePaste:(t,e,n)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:n})}}})]}});Ue.create({name:"tabindex",addProseMirrorPlugins(){return[new zt({key:new Ht("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}});const vm=Ue.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:t=>{var e;return(e=t.style.color)===null||e===void 0?void 0:e.replace(/['"]+/g,"")},renderHTML:t=>t.color?{style:`color: ${t.color}`}:{}}}}]},addCommands(){return{setColor:t=>({chain:e})=>e().setMark("textStyle",{color:t}).run(),unsetColor:()=>({chain:t})=>t().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),zl=({blockId:t,value:e="",onUpdate:n=()=>{},onBlur:s=()=>{},placeholder:r="",from:o="settings",style:i={}})=>as.useEditor({extensions:[pd,ad,vm.configure({types:["textStyle"]}),id.configure({multicolor:!0}),ld.configure({openOnClick:!1,HTMLAttributes:{class:"underline"}}),dd.configure({types:["heading","paragraph"],alignments:["left","center","right"],defaultAlignment:"left"}),ud,cd.configure({placeholder:r||"Enter text here",emptyEditorClass:"cursor-text before:content-[attr(data-placeholder)] before:absolute before:opacity-50 before:pointer-events-none"})],content:e||"",onUpdate:n,onBlur:s,editorProps:{attributes:{...i?{style:i}:{},class:o!=="canvas"?"text-sm p-1 px-2 rte":"rte"}}},[t]);function wm(t){let e=t;for(;e;){if(e.style&&e.style.textAlign)return e.style.textAlign;const n=window.getComputedStyle(e).textAlign;if(n&&n!=="start"&&n!=="initial"&&n!=="inherit")return n;e=e.parentElement}return null}const Cm=g.memo(({blockContent:t,editingElement:e,onClose:n,onChange:s,onEscape:r})=>{const{document:o}=Xe(),i=zl({value:t,blockId:"active-inline-editing-element",placeholder:"Enter text here",onUpdate:({editor:u})=>s((u==null?void 0:u.getHTML())||""),onBlur:({editor:u,event:p})=>{if(!o)return;const f=p==null?void 0:p.relatedTarget,m=o.querySelector(".ProseMirror"),h=o.querySelector(".tippy-box"),x=o.querySelector("#chai-rich-text-menu-bar"),b=m==null?void 0:m.contains(f),y=h==null?void 0:h.contains(f),k=x==null?void 0:x.contains(f),C=window.document.getElementById("rte-widget-color-picker");if(!b&&!y&&!k&&!C){const A=(u==null?void 0:u.getHTML())||"";n(A)}},from:"canvas"});g.useEffect(()=>{var p,f;const u=wm(e);u&&((p=i==null?void 0:i.commands)==null||p.setTextAlign(u)),(f=i==null?void 0:i.commands)==null||f.focus(),i==null||i.emit("focus",{editor:i,event:new FocusEvent("focus"),transaction:[]})},[e,i]);const l=g.useMemo(()=>{var f;const u="max-w-none shadow-none outline outline-[2px] [&_*]:shadow-none";if(!e)return u;const p=((f=e==null?void 0:e.className)==null?void 0:f.replace("sr-only",""))||"";return`${u} ${p}`},[e]),c=u=>{u.key==="Escape"&&r(u)};return i&&a.jsxs("div",{onKeyDown:c,onClick:u=>u.stopPropagation(),className:"relative",children:[a.jsx(as.BubbleMenu,{editor:i,shouldShow:()=>i&&(i==null?void 0:i.isFocused),tippyOptions:{duration:100,arrow:!0,hideOnClick:!1},className:"w-max",children:a.jsx(qi,{editor:i,from:"canvas"})}),a.jsx(as.EditorContent,{id:"active-inline-editing-element",onKeyDown:c,value:t,editor:i,className:l})]})}),jm=g.memo(({editingElement:t,blockContent:e,onClose:n,editorRef:s,onChange:r,onEscape:o})=>{const{document:i,window:l}=Xe();g.useEffect(()=>{if(!(!i||!l))if(s.current){s.current.innerHTML=e,s.current.focus();const m=i.createRange(),h=l.getSelection();m.selectNodeContents(s.current),m.collapse(!1),h==null||h.removeAllRanges(),h==null||h.addRange(m),s.current.focus()}else n()},[e,i,s,n,l]);const c=g.useMemo(()=>{var h;const m=((h=t==null?void 0:t.tagName)==null?void 0:h.toLowerCase())||"div";return m==="button"?"div":m},[t]),u=g.useCallback(m=>{(m.key==="Enter"||m.key==="Escape")&&o(m)},[o]),p=g.useCallback(()=>{n()},[n]),f=g.useMemo(()=>{var m;return{id:"active-inline-editing-element",contentEditable:!0,className:`${((m=t==null?void 0:t.className)==null?void 0:m.replace("sr-only",""))||""} outline outline-[2px] outline-green-500 shadow-none empty:before:content-[attr(data-placeholder)] empty:before:text-gray-400 empty:before:absolute empty:before:pointer-events-none empty:before:select-none empty:before:inset-0 empty:before:z-0 relative min-h-[1em]`,style:d.cloneDeep(t==null?void 0:t.style)||{},onInput:h=>{const x=h.target;x&&(x.innerText.trim()===""?(x.setAttribute("data-placeholder","Enter text here"),x.children.length>0&&x.children[0].remove()):h.target.removeAttribute("data-placeholder"),r(h.target.innerText))},onClick:h=>{h.stopPropagation(),h.preventDefault()}}},[t==null?void 0:t.className,t==null?void 0:t.style,r]);return a.jsx(a.Fragment,{children:g.createElement(c,{ref:s,onBlur:p,onKeyDown:u,...f})})}),Sm=g.memo(({block:t,children:e})=>{const n="content",{document:s}=Xe(),{editingBlockId:r,editingItemIndex:o,setEditingBlockId:i,setEditingItemIndex:l}=$t(),[c,u]=g.useState(null),p=g.useRef(null),{clearHighlight:f}=nt(),m=Ke(),{selectedLang:h}=Te(),[,x]=q(),b=g.useRef(null),y=r,{blockContent:k,blockType:C}=g.useMemo(()=>{var P;const S=t._type;let E=t[n];const _=K.getRegisteredChaiBlock(t._type);return h&&((P=_==null?void 0:_.i18nProps)==null?void 0:P.includes(n))&&d.has(t,`${n}-${h}`)&&(E=d.get(t,`${n}-${h}`)),{blockContent:E,blockType:S}},[t,h]),A=g.useCallback(S=>{var _;const E=S||((_=p.current)==null?void 0:_.innerText);m([y],{[n]:E}),u(null),i(""),l(-1),x([]),y&&setTimeout(()=>x([y]),100)},[m,y,i,l,x]),w=xe.useDebouncedCallback(S=>{m([y],{[n]:S})},[y,t,m,h],1e3),j=g.useCallback(S=>{S.preventDefault(),y&&(b.current=y),A(),setTimeout(()=>{const E=b.current;b.current=null,E&&x([E])},100)},[y,A,x]);g.useEffect(()=>{var B;if(!y||!s)return;const S=`[data-block-id="${y}"]`,E=o>=0?`[data-block-index="${o}"]`:"",_=s.querySelector(`${S}${E}`);_&&((B=_==null?void 0:_.classList)==null||B.add("sr-only"),g.startTransition(()=>u(_)))},[y,C,s,o]);const I=g.useMemo(()=>c?(f(),["RichText","Paragraph"].includes(C)?a.jsx(Cm,{blockContent:k,editingElement:c,onChange:w,onClose:A,onEscape:j}):a.jsx(jm,{editorRef:p,blockContent:k,editingElement:c,onClose:A,onChange:w,onEscape:j})):null,[c,f,C,k,A,w,j]);return a.jsxs(a.Fragment,{children:[I,e]})},(t,e)=>t.block._id===e.block._id&&t.block.content===e.block.content),Hl=g.createContext({index:-1,key:""}),Ca=g.createContext(0),Nm=["Box","Repeater","GlobalBlock","PartialBlock","Heading","Text","RichText","Span","Image","Button","Paragraph","Link","Video","Audio","Icon","List","ListItem","CustomScript","CustomHTML"],Em=({asyncProps:t,blockAtom:e,children:n})=>{const{editingBlockId:s,editingItemIndex:r}=$t(),[o]=N.useAtom(e),i=g.useMemo(()=>K.getRegisteredChaiBlock(o._type),[o._type]),{selectedLang:l,fallbackLang:c}=Te(),u=Wp(),p=Ot(),[f]=N.useAtom(Qr),m=d.get(i,"component",null),{index:h,key:x}=g.useContext(Hl),{mode:b}=Ui(),y=N.useAtomValue(en),k=Ye(),C=b==="edit",A=Vp(),w=g.useMemo(()=>f?se.applyBindingToBlockProps(se.applyLanguage(o,l,i),p,{index:h,key:x}):se.applyLanguage(o,l,i),[o,l,i,p,f,h,x]),j=g.useMemo(()=>se.getBlockTagAttributes(o,!0,y),[o,se.getBlockTagAttributes,y]),I=g.useMemo(()=>u(o._id,se.getBlockRuntimeProps(o._type)),[o._id,o._type,u,se.getBlockRuntimeProps]),S=g.useMemo(()=>{const M={"data-block-id":o._id,"data-block-type":o._type,"data-block-index":h};return C&&k?{...M,draggable:!s,onMouseDown:A.onMouseDown,onDragStart:A.onDragStart,onDragEnd:A.onDragEnd}:M},[o._id,o._type,h,C,k,A,s]),E=g.useMemo(()=>({blockProps:S,inBuilder:b==="edit",lang:l||c,pageData:p,...w,...j,...I,...t}),[b,S,l,c,w,j,I,t]),_=g.useMemo(()=>!Nm.includes(o._type),[o._type]),B=g.useMemo(()=>{const M=d.get(o,"_show",!0);return d.isString(M)?f?se.resolveBinding(M,p)!=="false":!0:M},[o,f,p]);if(d.isNull(m)||!B)return null;let P=a.jsx(g.Suspense,{children:g.createElement(m,{...E,children:n({_id:o._id,_type:o._type,...d.isArray(w.repeaterItems)?{repeaterItems:se.applyLimit(w.repeaterItems,o),$repeaterItemsKey:w.$repeaterItemsKey}:{},...o.partialBlockId?{partialBlockId:o.partialBlockId}:"",...o.globalBlock?{partialBlockId:o.globalBlock}:""})})});const R=s===o._id&&(r===h||h<0)?a.jsx(Sm,{block:o,children:P}):P;return _?a.jsx(Et.ErrorBoundary,{fallbackRender:qp,children:R}):R},Am=({children:t,partialBlockId:e})=>{const n=$("gotoPage",d.noop),{saveState:s}=tn(),{selectedLang:r,fallbackLang:o}=Te(),i=g.useCallback(l=>{if(l.stopPropagation(),s!=="SAVED"){ue.toast.error("You have unsaved changes. Please save the page first.");return}n({pageId:e,lang:r||o})},[s,n,e,r,o]);return a.jsxs(a.Fragment,{children:[t,a.jsx("div",{className:"partial-overlay group absolute inset-0 z-50",children:a.jsx("div",{onDoubleClick:i,className:"flex h-full w-full items-center justify-center bg-black/10 opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100 group-hover:backdrop-opacity-85",children:a.jsx("p",{className:"rounded-md bg-white px-2 py-1 text-xs",children:"Partial block. Double click to edit."})})})]})},_m=()=>a.jsx("div",{className:"flex items-center justify-center rounded-md border border-destructive bg-destructive/10 p-4 text-center text-sm text-destructive",children:a.jsxs("p",{children:["Maximum partial nesting depth (",ls," levels) exceeded"]})}),Im=({partialBlockId:t})=>{const{getPartialBlocks:e}=Es(),n=g.useContext(Ca),s=g.useMemo(()=>e(t),[e,t]),r=g.useMemo(()=>Oe.splitAtom(N.atom(s)),[s]);return n>=ls?a.jsx(_m,{}):d.isEmpty(s)?null:a.jsx(Ca.Provider,{value:n+1,children:a.jsx(Am,{partialBlockId:t,children:a.jsx(xs,{splitAtoms:r,blocks:s,type:"PartialBlock"})})})},xs=({blocks:t,parent:e=null,splitAtoms:n=void 0,type:s=""})=>{const r=Eu(n);let o=g.useMemo(()=>d.filter(t,l=>d.has(l,"_id")&&(d.isEmpty(e)?!l._parent:l._parent===e)),[t,e]);const i=g.useCallback(l=>d.filter(t,c=>c._parent===l).length>0,[t]);return(s==="Heading"||s==="Paragraph"||s==="Link")&&(o=se.adjustSpacingInContentBlocks(o)),d.map(o,l=>{const c=r(l._id);return c?a.jsx(Up,{block:l,children:u=>a.jsx(Em,{blockAtom:c,asyncProps:u,children:({_id:p,_type:f,partialBlockId:m,repeaterItems:h,$repeaterItemsKey:x})=>f==="Repeater"?d.isArray(h)&&h.map((b,y)=>a.jsx(Hl.Provider,{value:{index:y,key:x},children:a.jsx(xs,{splitAtoms:n,blocks:t,parent:l._id,type:f})},`${p}-${y}`)):f==="GlobalBlock"||f==="PartialBlock"?a.jsx(N.Provider,{store:ze,children:a.jsx(Im,{partialBlockId:m})}):i(p)?a.jsx(xs,{splitAtoms:n,blocks:t,parent:l._id,type:f}):null})},l._id):null})},Tm=()=>{const[t]=Z();return a.jsx(xs,{splitAtoms:_n,blocks:t})},Bm=()=>{const[t]=Z(),[e]=N.useAtom(Xr),n=d.isEmpty(t)?null:a.jsx(Tm,{},e);return a.jsx(a.Fragment,{children:n})},Rm=Oe.atomWithStorage("canvasZoom",100),Vl=()=>N.useAtom(Rm),Pm=()=>N.useAtom(oi),Wl=Oe.atomWithStorage("canvasWidth",800),Lm=Oe.atomWithStorage("canvasDisplayWidth",800),Gl=N.atom(t=>{const e=t(Wl);return pe.getBreakpointValue(e).toLowerCase()}),bs=()=>{const[t,e]=N.useAtom(Wl),n=N.useAtomValue(Gl),[s,r]=Pm();return g.useEffect(()=>{s!=="xs"&&r(n)},[n,s,r]),[t,n,e]},yo=()=>{const[t,e]=N.useAtom(Lm);return[t,e]},Dm=t=>{const[e]=yo(),[,n]=Vl(),s=$("htmlDir","ltr"),[r,o]=g.useState({}),i=g.useCallback(()=>{const{width:l,height:c}=t;if(l<e){const u=parseFloat((l/e).toFixed(2).toString());let p={};const f=c*u,m=l*u;c&&(p={height:100+(c-f)/f*100+"%",width:100+(l-m)/m*100+"%"}),o({position:"relative",top:0,transform:`scale(${u})`,transformOrigin:s==="rtl"?"top right":"top left",...p,maxWidth:"none"}),n(u*100)}else o({}),n(100)},[e,t,s,n]);return g.useEffect(()=>{i()},[e,t,n,i]),r};function Yt(t,e){g.useEffect(()=>{const n=ae.subscribe(t,e);return()=>n()},[t,e])}const Mm=()=>{const[,t]=q(),[e,n]=Ae(),{document:s}=Xe(),{clearHighlight:r}=nt(),[o]=q(),[i]=N.useAtom(Jr);return g.useEffect(()=>{setTimeout(()=>{if(!d.isEmpty(e))return;const l=Pi(s,d.first(o));if(l){const c=l.getAttribute("data-style-prop");if(c){const u=l.getAttribute("data-style-id"),p=l.getAttribute("data-block-parent");n([{id:u,prop:c,blockId:p}])}}},100)},[s,o,n,e]),g.useEffect(()=>()=>r(),[r]),Yt(Y.CANVAS_BLOCK_SELECTED,l=>{l&&(!d.isEmpty(l)&&!d.includes(o,d.first(l))&&(i==null||i.closeAll()),t(l))}),Yt(Y.CANVAS_BLOCK_STYLE_SELECTED,l=>{if(!l)return;const{blockId:c,styleId:u,styleProp:p}=l;c&&(d.includes(o,c)||i==null||i.closeAll(),n([{id:u,prop:p,blockId:c}]),t([c]))}),Yt(Y.CLEAR_CANVAS_SELECTION,()=>{r(),t([]),n([])}),null},Om=()=>{const[t]=yo(),[,e]=Ai(),n=g.useRef(null),s=g.useRef(null),[r,o]=g.useState({width:0,height:0}),i=Dm(r),[,l]=nn(),c=$("loading",!1),u=$("htmlDir","ltr"),{onDragOver:p,onDrop:f,onDragEnd:m}=sn(),h=dp(),x=g.useCallback(y=>{o(k=>({...k,width:y}))},[o]);g.useEffect(()=>{if(!s.current)return;const{clientWidth:y,clientHeight:k}=s.current;o({width:y,height:k})},[s,t]);const b=g.useMemo(()=>{let y=Li;return y=y.replace("__HTML_DIR__",u),y},[u]);return a.jsx(Hp,{onMount:x,onResize:x,children:a.jsx("div",{onMouseLeave:()=>setTimeout(()=>e(""),300),className:"relative mx-auto h-full w-full overflow-hidden",onDragOver:p,onDrop:f,onDragEnd:m,ref:s,children:a.jsxs(Mi,{contentDidMount:()=>l(n.current),ref:n,id:"canvas-iframe",style:{...i,...d.isEmpty(i)?{width:`${t}px`}:{}},className:"relative mx-auto box-content h-full w-full max-w-full shadow-lg transition-all duration-300 ease-linear",initialContent:b,children:[a.jsx(Rp,{}),a.jsx(Ap,{}),a.jsx(Op,{}),a.jsxs(Rd.Provider,{children:[a.jsxs(Np,{children:[c?a.jsx("div",{className:"h-full p-4",children:a.jsx(Rt,{className:"h-full"})}):a.jsx(Bm,{}),a.jsx(Pp,{})]}),a.jsx(Mm,{})]}),h.isVisible&&a.jsx("div",{id:"placeholder",className:`pointer-events-none absolute z-[99999] max-w-full transition-all duration-150 ${h.isEmpty?"bg-purple-500/10 outline-dashed outline-2 -outline-offset-2 outline-purple-500":"rounded-full bg-green-500"}`,style:{top:h.top,left:h.left,width:h.width,height:h.height}})]})})})},kn=()=>{const{t}=z.useTranslation();return a.jsx("div",{className:"h-full w-full rounded-md bg-red-200 p-4 text-red-500",children:a.jsxs("div",{className:"flex h-full w-full flex-col items-center justify-center",children:[a.jsx("p",{className:"font-semibold",children:t("Oops! Something went wrong.")}),a.jsx("p",{children:t("Please try again.")})]})})},$m=N.atom(null),ko=()=>N.useAtom($m),Fm=g.lazy(()=>Promise.resolve().then(()=>require("./code-editor-BiLiryYr.cjs"))),Ul=()=>{const[t]=ko(),e=$("onError",d.noop);return a.jsx("div",{className:"flex h-full max-h-full w-full flex-1 flex-col",children:a.jsxs("div",{className:"relative flex h-full max-h-full flex-col overflow-hidden bg-gray-100/40",children:[a.jsx(g.Suspense,{fallback:a.jsx(Rt,{className:"h-full"}),children:a.jsx(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:e,children:a.jsx(Om,{})})}),t?a.jsx(g.Suspense,{fallback:a.jsx(Rt,{className:"h-full"}),children:a.jsx(Fm,{})}):null]})})},Dt={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"},zm=({id:t,placeholder:e})=>{const{t:n}=z.useTranslation(),[,s]=ko(),{selectedLang:r}=Te(),o=X(),i=t.replace("root.",""),l=K.getRegisteredChaiBlock(o==null?void 0:o._type),u=d.includes(d.get(l,"i18nProps",[]),i)&&r?`${i}-${r}`:i,p=d.get(o,u,""),f=g.useMemo(()=>d.get(Dt,r,r),[r]),m=()=>{const h=o==null?void 0:o._id;s({blockId:h,blockProp:u,placeholder:e,initialCode:p})};return a.jsxs("div",{className:"mt-2 flex flex-col gap-y-1",children:[a.jsxs("label",{htmlFor:t,children:["HTML Code",f&&a.jsxs("small",{className:"text-[9px] text-zinc-400",children:[" ",f]})]}),a.jsx("button",{onClick:m,className:"w-[90%] max-w-full cursor-default truncate text-pretty rounded border border-border bg-background p-2 text-left text-[10px]",children:p.trim().length>0?p.substring(0,46):e||"Eg: <script>console.log('Hello, world!');<\/script>"}),a.jsx(T.Button,{onClick:m,size:"sm",variant:"outline",className:"w-fit",children:n("Open code editor")})]})},Hm=({id:t,value:e,onChange:n,onBlur:s})=>{const r=$("collections",[]),o=X(),i=d.get(o,"repeaterItems","").replace(/\{\{(.*)\}\}/g,"$1").replace(U.COLLECTION_PREFIX,""),l=d.find(r,{id:i}),c=t==="root.filter"?"filters":"sorts",u=d.get(l,c,[]);return a.jsx("div",{children:a.jsxs("select",{value:e,onChange:p=>n(p.target.value),onBlur:p=>s(t,p.target.value),children:[a.jsx("option",{value:"",children:"Select"}),u.map(p=>a.jsx("option",{value:p.id,children:p.name},p.id))]})})},Vm=g.lazy(()=>Promise.resolve().then(()=>require("./IconPicker-BQy4V5jA.cjs")).then(t=>({default:t.IconPicker}))),Wm=t=>{try{let e=t.replace(/<svg([^>]*)\sheight="[^"]*"([^>]*)>/gi,"<svg$1$2>").replace(/<svg([^>]*)\swidth="[^"]*"([^>]*)>/gi,"<svg$1$2>");return e=e.replace(/>\s+</g,"><"),e=e.replace(/\n/g,"").replace(/\s{2,}/g," "),e=e.replace(/\s+=/g,"=").replace(/=\s+/g,"="),e=e.replace(/<!--[\s\S]*?-->/g,""),e.trim()}catch{return t}},Gm=({value:t,onChange:e,id:n})=>{const{t:s}=z.useTranslation(),[r,o]=g.useState(t||"");g.useEffect(()=>{o(t||"")},[t]);const i=l=>{o(l);const c=Wm(l);e(c)};return a.jsxs("div",{className:"mt-1 flex flex-col gap-2",id:"icon-picker-field",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsx("div",{className:"flex h-12 w-12 items-center justify-center overflow-hidden rounded-lg border bg-gray-50",children:r?a.jsx("div",{className:"h-6 w-6",dangerouslySetInnerHTML:{__html:r}}):a.jsx("span",{className:"text-xs text-gray-400",children:"SVG"})}),a.jsx("textarea",{id:n,autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",value:r,onChange:l=>i(l.target.value),placeholder:s("SVG_code"),rows:2,className:"no-scrollbar w-full rounded-md border border-border bg-background px-3 py-1.5 text-xs shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(g.Suspense,{fallback:a.jsx("div",{className:"text-xs text-muted-foreground",children:"Loading..."}),children:a.jsx(Vm,{onSelectIcon:i})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:s("Paste SVG_code")})]})]})},Pn=ce.Root,ql=ce.Trigger,Um=ce.Portal,Kl=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Overlay,{ref:n,className:T.cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e}));Kl.displayName=ce.Overlay.displayName;const ln=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(Um,{children:[a.jsx(Kl,{}),a.jsxs(ce.Content,{ref:s,className:T.cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...n,children:[e,a.jsxs(ce.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[a.jsx(v.Cross1Icon,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ln.displayName=ce.Content.displayName;const Ln=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col space-y-1.5 text-center sm:text-left",t),...e});Ln.displayName="DialogHeader";const Yl=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});Yl.displayName="DialogFooter";const cn=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Title,{ref:n,className:T.cn("text-lg font-semibold leading-none tracking-tight",t),...e}));cn.displayName=ce.Title.displayName;const Xl=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Description,{ref:n,className:T.cn("text-sm text-muted-foreground",t),...e}));Xl.displayName=ce.Description.displayName;const ns=({assetId:t,children:e,onSelect:n,mode:s="image"})=>{const[r,o]=g.useState(!1),i=T.useMediaManagerComponent(),l=(...c)=>{n.call(void 0,...c),o(!1)};return a.jsxs(Pn,{open:r,onOpenChange:c=>o(c),children:[a.jsx(ql,{asChild:!0,children:e}),a.jsxs(ln,{className:"flex max-h-[90vh] max-w-7xl border-border md:w-fit",children:[a.jsx(cn,{className:"sr-only",children:"Media Manager"}),a.jsx("div",{className:"h-full w-full",children:i?a.jsx(i,{close:()=>o(!1),onSelect:l,mode:s,assetId:t}):null})]})]})};ns.displayName="MediaManagerModal";function qm(t,e,n){if(!t)return t;const{baseClasses:s,classes:r}=se.getSplitChaiClasses(t),o=c=>c.split(" ").filter(u=>u&&!(e&&u==="w-full")&&!(n&&u==="h-full")).join(" "),i=o(s),l=o(r);return`${U.STYLES_KEY}${i},${l}`}const Jn="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ9IjQwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjZjNmNGY2Ii8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNiIgZmlsbD0iI2Q1ZDdkYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPkltYWdlIFBsYWNlaG9sZGVyPC90ZXh0Pjwvc3ZnPg==",Km=t=>{var r;if(!t||d.startsWith(t,"data"))return"";const e=((r=t.split("/").pop())==null?void 0:r.split("?")[0])||"";return[".jpg",".jpeg",".png",".gif",".webp",".svg",".bmp",".ico",".avif"].some(o=>e.toLowerCase().endsWith(o))?e:""},Ym=({value:t,onChange:e,id:n,onBlur:s,uiSchema:r})=>{const{t:o}=z.useTranslation(),{selectedLang:i}=Te(),l=X(),c=Ke(),u=Ot(),p=(r==null?void 0:r["ui:allowEmpty"])===!0,f=n.split(".").pop()||"",m=i?`_${f}Id-${i}`:`_${f}Id`,h=d.isEmpty(i)&&(l==null?void 0:l._type)==="Image"&&d.has(l,"assetId"),x=d.get(l,m,h?l==null?void 0:l.assetId:""),b=g.useMemo(()=>{if(!t||!l||!/\{\{.*?\}\}/.test(t))return t;const j={...l,[f]:t},I=se.applyBindingToBlockProps(j,u,{index:-1,key:""});return d.get(I,f,t)},[t,l,u,f]),y=!!x||b!==Jn&&b!=="",k=w=>{const j=d.isArray(w)?d.first(w):w;if(j){e(j==null?void 0:j.url);const I=j==null?void 0:j.width,S=j==null?void 0:j.height,E=m.includes("mobile");if(l!=null&&l._id){const _={...I&&{[E?"mobileWidth":"width"]:I},...S&&{[E?"mobileHeight":"height"]:S},...j.description&&{alt:j.description}};if(d.set(_,m,j.id),(I||S)&&(l!=null&&l._type)&&(l!=null&&l.styles)){const B=K.getBlockDefaultProps(l._type),P=d.get(B,"styles","");l.styles===P&&(_.styles=qm(l.styles,I,S))}if(d.isEmpty(_))return;c([l._id],_)}}},C=g.useCallback(()=>{if(e(p?"":Jn),l!=null&&l._id){const j={},I=m.includes("mobile");d.set(j,m,""),d.set(j,I?"mobileWidth":"width",""),d.set(j,I?"mobileHeight":"height",""),c([l._id],j)}},[l,e,c,m,p]),A=Km(b);return a.jsxs("div",{className:"mt-1.5 flex items-start gap-x-3",children:[b?a.jsxs("div",{className:"group relative",children:[a.jsx("img",{src:b,className:"h-[72px] w-[72px] overflow-hidden rounded-md border border-border object-cover transition duration-200 "+(x&&x!==""?"cursor-pointer group-hover:blur-sm":""),alt:""}),y&&a.jsx("button",{type:"button",onClick:C,className:"absolute -right-2 -top-2 z-20 rounded-full bg-destructive p-1 text-destructive-foreground hover:bg-destructive/90",children:a.jsx(v.Cross1Icon,{className:"h-3 w-3"})}),x&&x!==""&&a.jsx(ns,{onSelect:k,assetId:x,children:a.jsx("button",{type:"button",className:"absolute inset-0 z-10 flex cursor-pointer items-center justify-center bg-black/10 opacity-0 transition duration-200 group-hover:bg-black/30 group-hover:opacity-100",children:a.jsx(v.Pencil2Icon,{className:"h-4 w-4 text-white"})})})]}):a.jsx(ns,{onSelect:k,mode:"image",assetId:x,children:a.jsx("div",{className:"h-[72px] w-[72px] cursor-pointer rounded-md border border-border bg-[radial-gradient(#AAA,transparent_1px)] duration-300 [background-size:10px_10px]"})}),a.jsxs("div",{className:"flex w-3/5 flex-col",children:[a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"max-w-[250px] truncate pr-2 text-xs text-gray-400",children:A}),a.jsx(ns,{onSelect:k,assetId:"",children:a.jsx("small",{className:"mb-1 h-6 w-full cursor-pointer rounded-md bg-secondary px-1 py-1 text-center text-xs text-secondary-foreground hover:bg-secondary/80",children:!d.isEmpty(b)&&b!==Jn?o("Replace image"):o("Choose image")})}),a.jsx("div",{className:"text-center text-xs text-gray-400",children:"OR"})]}),a.jsx("input",{id:n,autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",type:"url",className:"h-6 text-xs",placeholder:o("Enter image URL"),value:t===Jn?"":t,onBlur:({target:{value:w}})=>s(n,w),onChange:w=>e(w.target.value)})]})]})},Xm=Ir.cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ds({className:t,variant:e,...n}){return a.jsx("div",{className:T.cn(Xm({variant:e}),t),...n})}const ys=Jt.Provider,fe=Jt.Root,he=Jt.Trigger,le=O.forwardRef(({className:t,sideOffset:e=4,...n},s)=>a.jsx(Jt.Portal,{children:a.jsx(Jt.Content,{ref:s,sideOffset:e,className:T.cn("z-50 origin-[--radix-tooltip-content-transform-origin] overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...n})}));le.displayName=Jt.Content.displayName;const vo=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command,{ref:n,className:T.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...e}));vo.displayName=$e.Command.displayName;const wo=O.forwardRef(({className:t,...e},n)=>a.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[a.jsx(v.MagnifyingGlassIcon,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),a.jsx($e.Command.Input,{ref:n,className:T.cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...e})]}));wo.displayName=$e.Command.Input.displayName;const Co=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command.List,{ref:n,className:T.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...e}));Co.displayName=$e.Command.List.displayName;const jo=O.forwardRef((t,e)=>a.jsx($e.Command.Empty,{ref:e,className:"py-6 text-center text-sm",...t}));jo.displayName=$e.Command.Empty.displayName;const So=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command.Group,{ref:n,className:T.cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...e}));So.displayName=$e.Command.Group.displayName;const Jm=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command.Separator,{ref:n,className:T.cn("-mx-1 h-px bg-border",t),...e}));Jm.displayName=$e.Command.Separator.displayName;const ks=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command.Item,{ref:n,className:T.cn("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...e}));ks.displayName=$e.Command.Item.displayName;const Ms=wn.Root,Os=wn.Trigger,Dn=O.forwardRef(({className:t,align:e="center",sideOffset:n=4,...s},r)=>a.jsx(wn.Portal,{children:a.jsx(wn.Content,{ref:r,align:e,sideOffset:n,className:T.cn("z-50 w-72 origin-[--radix-popover-content-transform-origin] rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s})}));Dn.displayName=wn.Content.displayName;const Zm=({data:t,onSelect:e,dataType:n})=>{const[s,r]=g.useState([]),[o,i]=g.useState(t),l=f=>Array.isArray(f)?"array":typeof f=="object"&&f!==null?"object":"value",c=g.useCallback(f=>{const m=h=>n==="value"?h==="value"||h==="object":n==="array"?h==="array":h===n;f.type==="object"?(r(h=>[...h,f.key]),i(f.value)):m(f.type)&&e([...s,f.key].join("."),n)},[s,e,n]),u=g.useCallback(()=>{if(s.length>0){const f=s.slice(0,-1);r(f),i(f.reduce((m,h)=>m[h],t))}},[s,t]),p=g.useMemo(()=>o?Object.entries(o).map(([f,m])=>({key:f,value:m,type:l(m)})).filter(f=>!d.startsWith(f.key,U.REPEATER_PREFIX)&&f.key.includes("/")?!1:n==="value"?f.type==="value"||f.type==="object":n==="array"?f.type==="array"||f.type==="object":n==="object"?f.type==="object":!0):[],[o,n]);return a.jsxs(vo,{className:"fields-command",children:[a.jsx(wo,{className:"border-none",placeholder:"Search..."}),a.jsxs(Co,{children:[a.jsx(jo,{children:ft.t("No option found.")}),a.jsxs(So,{children:[s.length>0&&a.jsxs(ks,{onSelect:u,className:"flex items-center text-sm",children:[a.jsx(v.ChevronLeftIcon,{className:"mr-2 h-4 w-4"}),ft.t("Back")]}),p.map(f=>a.jsxs(ks,{value:f.key,disabled:!1,onSelect:()=>c(f),className:"flex items-center justify-between",children:[a.jsxs("span",{className:"flex items-center gap-x-2",children:[d.startsWith(f.key,U.REPEATER_PREFIX)?a.jsx(v.LoopIcon,{}):d.startsWith(f.key,U.COLLECTION_PREFIX)?a.jsx(v.IdCardIcon,{}):null,d.startsWith(f.key,U.REPEATER_PREFIX)?ft.t("Repeater Data"):d.startsWith(f.key,U.COLLECTION_PREFIX)?f.key.replace(U.COLLECTION_PREFIX,""):f.key]}),a.jsxs("div",{className:"flex items-center gap-2",children:[n==="object"&&f.type==="object"&&a.jsx(T.Button,{size:"sm",variant:"ghost",className:"h-6 px-2 hover:bg-primary hover:text-primary-foreground",onClick:m=>{m.stopPropagation(),e([...s,f.key].join("."),n)},children:ft.t("Select")}),f.type==="object"&&a.jsx("div",{className:"cursor-pointer rounded p-1 hover:bg-muted",children:a.jsx(v.ChevronRightIcon,{className:"h-4 w-4 opacity-50"})})]})]},f.key))]})]})]})};function No({data:t,onSelect:e,dataType:n="value"}){const[s,r]=g.useState(!1),o=$("collections",[]),i=g.useMemo(()=>n==="array"?{...o.map(c=>c.id).reduce((c,u)=>({...c,[U.COLLECTION_PREFIX+u]:[]}),{}),...t}:t,[t,o,n]);return a.jsxs(Ms,{open:s,onOpenChange:r,children:[a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(Os,{asChild:!0,children:a.jsx(T.Button,{size:"sm",variant:"ghost",className:"h-5 rounded-sm px-1 py-0 text-[9px] text-muted-foreground",role:"combobox","aria-expanded":s,children:a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24px",height:"24px",viewBox:"0 0 24 24",fill:"none",children:a.jsx("path",{d:"M9.5 5H9C7.89543 5 7 5.89543 7 7V9C7 10 6.4 12 4 12C5 12 7 12.6 7 15V17.0002C7 18.1048 7.89543 19 9 19H9.5M14.5 5H15C16.1046 5 17 5.89543 17 7V9C17 10 17.6 12 20 12C19 12 17 12.6 17 15V17.0002C17 18.1048 16.1046 19 15 19H14.5",stroke:"#000000",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"})})})})}),a.jsx(le,{children:ft.t("Add field")})]}),a.jsx(Dn,{className:"z-[1000]! relative mr-3 w-[300px] p-0",children:a.jsx(Zm,{data:i,onSelect:(l,c)=>{e(l,c),r(!1)},dataType:n})})]})}const Jl=({schema:t,onChange:e,id:n,formData:s})=>{const r=Ot(),o=$("flags.dataBinding",!0),i=qd(),l=X(),c=g.useMemo(()=>{if(i.length===1)return"";const f=i.find(x=>x._type==="Repeater"),h=d.get(f,"repeaterItems","").replace(/\{\{(.*)\}\}/g,"$1");return`${U.REPEATER_PREFIX}${d.startsWith(h,U.COLLECTION_PREFIX)?`${h}/${f==null?void 0:f._id}`:h}`},[i]),u=g.useMemo(()=>d.first(d.get(r,c.replace(U.REPEATER_PREFIX,""),[])),[c,r]),p=g.useCallback((f,m)=>{if(f=d.isEmpty(c)?f:f.replace(`${c}`,"$index"),m==="array"||m==="object"){e(`{{${f}}}`,{},n);return}const h=k=>/[.,!?;:]/.test(k),x=(k,C,A)=>{let w="",j="";const I=C>0?k[C-1]:"",S=C<k.length?k[C]:"";return C>0&&(I==="."||!h(I)&&I!==" ")&&(w=" "),C<k.length&&!h(S)&&S!==" "&&(j=" "),{text:w+A+j,prefixLength:w.length,suffixLength:j.length}},b=document.getElementById(n);if(!b)return;const y=document.getElementById(`chai-rte-${n}`)||document.getElementById(`chai-rte-modal-${n}`);if(y&&(y.querySelector(".ProseMirror")||y.__chaiRTE)){const k=y.__chaiRTE;if(k){const C=`{{${f}}}`;k.commands.focus();const{from:A,to:w}=k.state.selection;if(A!==w)k.chain().deleteSelection().insertContent(C).run();else{const{state:I}=k,S=I.selection.from,E=I.doc.textBetween(Math.max(0,S-1),S),_=I.doc.textBetween(S,Math.min(S+1,I.doc.content.size));let B="";S>0&&E!==" "&&!h(E)&&(B=" ");let P="";_&&_!==" "&&!h(_)&&(P=" "),k.chain().insertContent(B+C+P).run()}setTimeout(()=>e(k.getHTML(),{},n),100);return}}else{const k=b,C=k.selectionStart||0,A=k.value||"",w=k.selectionEnd||C;if(w>C){const _=`{{${f}}}`,{text:B}=x(A,C,_),P=A.slice(0,C)+B+A.slice(w);e(P,{},n);return}const I=`{{${f}}}`,{text:S}=x(A,C,I),E=A.slice(0,C)+S+A.slice(C);e(E,{},n)}},[n,e,s,l==null?void 0:l._id,c]);return o?a.jsx(No,{data:{...u&&{[c]:u},...r},onSelect:p,dataType:t.binding==="array"?"array":"value"}):null},Qm=t=>{const{id:e,classNames:n,label:s,children:r,errors:o,help:i,hidden:l,required:c,schema:u,formData:p,onChange:f}=t,{selectedLang:m,fallbackLang:h,languages:x}=Te(),b=g.useMemo(()=>d.isEmpty(x)?"":d.isEmpty(m)?h:m,[x,m,h]),y=g.useMemo(()=>d.get(Dt,b,b),[b]),k=Ot(),C=X(),A=K.useRegisteredChaiBlocks(),w=g.useMemo(()=>d.get(A,[C==null?void 0:C._type,"i18nProps"],[]),[A,C==null?void 0:C._type]),[j,I]=g.useState(null);if(l)return null;if(u.type==="boolean")return a.jsx("div",{className:n,children:r});const E=w==null?void 0:w.includes(e.replace("root.",""));if(u.type==="array"){const P=j===e;return a.jsxs("div",{className:`${n} relative`,children:[u.title&&a.jsx("div",{className:"flex items-center justify-between gap-1",children:a.jsxs("label",{htmlFor:e,onClick:()=>I(P?null:e),className:"flex cursor-pointer items-center gap-x-1 py-1 leading-tight duration-200 hover:bg-slate-100",children:[P?a.jsx(v.ChevronDownIcon,{className:"h-3 w-3"}):a.jsx(v.ChevronRightIcon,{className:"h-3 w-3"}),a.jsx(v.ListBulletIcon,{className:"h-3 w-3"}),a.jsx("span",{className:"leading-tight",children:s})," ",a.jsx(Ds,{className:"m-0 bg-gray-200 px-2 leading-tight text-gray-500 hover:bg-gray-200 hover:text-gray-500",children:a.jsx("span",{className:"text-[9px] font-medium text-slate-600",children:p==null?void 0:p.length})}),u.description&&a.jsx(ys,{children:a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(v.InfoCircledIcon,{className:"h-3 w-3 text-muted-foreground/70",onClick:R=>R.stopPropagation(),onMouseDown:R=>R.stopPropagation()})}),a.jsx(le,{className:"max-w-xs",children:u.description})]})})]})}),(p==null?void 0:p.length)===0?a.jsx("div",{className:"h-0 overflow-hidden",children:r}):a.jsxs("div",{className:`${P?"pt-0.5":"h-0 overflow-hidden"}`,children:[r,o,i]})]})}const _=e.replace("root.",""),B=w.includes(_)&&!d.isEmpty(m)&&d.isEmpty(p);return a.jsxs("div",{className:n,children:[u.title&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("label",{htmlFor:e,className:u.type==="object"?"pb-2":"",children:[s," ",E&&a.jsxs("small",{className:"text-[9px] text-zinc-400",children:[" ",y]}),c&&u.type!=="object"?" *":null]}),u.description&&a.jsx(ys,{children:a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(v.InfoCircledIcon,{className:"h-3 w-3 text-muted-foreground/70"})}),a.jsx(le,{className:"max-w-xs",children:u.description})]})})]}),!u.enum&&!u.oneOf&&k&&a.jsxs("span",{className:"flex items-center space-x-1",children:[B?a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",className:"lucide lucide-triangle-alert-icon lucide-triangle-alert h-3 w-3 text-orange-400",children:[a.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),a.jsx("path",{d:"M12 9v4"}),a.jsx("path",{d:"M12 17h.01"})]})}),a.jsxs(le,{className:"max-w-xs",children:["No translation provided. ",a.jsx("br",{}),"Using default language value."]})]}):null,a.jsx(Jl,{schema:u,onChange:P=>{f(P,p,e)},id:e,formData:p})]})]}),r,o,i]})},eg=({href:t,onChange:e})=>{const{t:n}=z.useTranslation(),s=$("searchPageTypeItems",(w,j)=>[]),[r,o]=g.useState(!1),[i,l]=g.useState(!1),[c,u]=g.useState(""),[p,f]=g.useState([]),[m,h]=g.useState(-1),x=g.useRef(null);g.useEffect(()=>{if(u(""),f([]),h(-1),l(!1),!t||r||!d.startsWith(t,"pageType:"))return;const w=d.split(t,":");(async()=>{const j=await s("",[d.get(w,2,"page")]);j&&Array.isArray(j)&&u(d.get(j,[0,"name"],""))})()},[t]);const b=xe.useDebouncedCallback(async w=>{if(d.isEmpty(w))f([]);else{const j=await s("",w);f(j)}o(!1),h(-1)},[],300),y=w=>{const j=["pageType",w.pageType||"page",w.primaryPage??w.id];e(j.join(":")),u(w.name),l(!1),f([]),h(-1)},k=w=>{switch(w.key){case"ArrowDown":w.preventDefault(),h(j=>j<p.length-1?j+1:j);break;case"ArrowUp":w.preventDefault(),h(j=>j>0?j-1:j);break;case"Enter":if(w.preventDefault(),p.length===0)return;m>=0&&y(p[m]);break;case"Escape":w.preventDefault(),C();break}};g.useEffect(()=>{if(m>=0&&x.current){const w=x.current.children[m];w==null||w.scrollIntoView({block:"nearest"})}},[m]);const C=()=>{u(""),f([]),h(-1),l(!1),e("")},A=w=>{u(w),l(!d.isEmpty(w)),o(!0),b(w)};return a.jsxs("div",{children:[a.jsxs("div",{className:"group relative flex items-center",children:[a.jsx("input",{type:"text",value:c,onChange:w=>A(w.target.value),onKeyDown:k,placeholder:n("Search pages"),className:"w-full rounded-md border border-gray-300 p-2 pr-16"}),a.jsx("div",{className:"absolute bottom-2 right-2 top-3 flex items-center gap-1.5",children:c&&a.jsx("button",{onClick:C,className:"text-gray-400 hover:text-gray-600",title:n("Clear search"),children:a.jsx(v.Cross1Icon,{className:"h-4 w-4"})})})]}),(r||!d.isEmpty(p)||i&&d.isEmpty(p))&&a.jsx("div",{className:"absolute z-40 mt-2 max-h-40 w-full max-w-[250px] overflow-y-auto rounded-md border border-border bg-background shadow-lg",children:r?a.jsxs("div",{className:"space-y-1 p-2",children:[a.jsx("div",{className:"h-6 w-full animate-pulse rounded bg-gray-200"}),a.jsx("div",{className:"h-6 w-full animate-pulse rounded bg-gray-200"})]}):i&&d.isEmpty(p)?a.jsxs("div",{className:"flex items-center justify-center p-4 text-sm text-gray-500",children:[n("No results found for"),' "',c,'"']}):a.jsx("ul",{ref:x,children:d.map(p==null?void 0:p.slice(0,20),(w,j)=>a.jsxs("li",{onClick:()=>y(w),className:`cursor-pointer p-2 text-xs ${t!=null&&t.includes(w.id)?"bg-blue-200":j===m?"bg-gray-100":"hover:bg-gray-100"}`,children:[w.name," ",w.slug&&a.jsxs("small",{className:"font-light text-gray-500",children:["( ",w.slug," )"]}),w.lang&&a.jsx("small",{className:"ml-1 rounded bg-gray-200 px-1 py-0.5 text-[10px] font-medium text-gray-600",children:w.lang})]},w.id))})})]})},tg=({schema:t,formData:e,onChange:n,name:s})=>{const{t:r}=z.useTranslation(),{type:o="pageType",href:i="",target:l="self"}=e??{},c=$("pageTypes",[]),{selectedLang:u,fallbackLang:p,languages:f}=Te(),m=g.useMemo(()=>d.isEmpty(f)?"":d.isEmpty(u)?p:u,[f,u,p]),h=g.useMemo(()=>d.get(Dt,m,m),[m]),x=o==="pageType"&&d.isEmpty(c)?"url":o;return a.jsxs("div",{children:[a.jsxs("span",{className:"flex items-center justify-between gap-x-2 text-xs font-medium",children:[a.jsxs("span",{children:[(t==null?void 0:t.title)??"Link",a.jsx("span",{className:"pl-1 text-[9px] text-zinc-400",children:h})]}),a.jsx(Jl,{schema:t,onChange:b=>{n({...e,href:b,...x==="pageType"?{type:"url"}:{}})},id:`root.${s}.href`,formData:e})]}),a.jsxs("div",{className:"flex flex-col gap-y-1.5",children:[a.jsx("select",{name:"type",value:o,onChange:b=>n({...e,type:b.target.value}),children:d.map([...d.isEmpty(c)?[]:[{const:"pageType",title:r("Goto Page")}],{const:"url",title:r("Open URL")},{const:"email",title:r("Compose Email")},{const:"telephone",title:r("Call Phone")},{const:"scroll",title:r("Scroll to element")}],b=>a.jsx("option",{value:b.const,children:b.title},b.const))}),x==="pageType"&&!d.isEmpty(c)?a.jsx(eg,{href:i,onChange:b=>n({...e,href:b})}):null,a.jsx("input",{id:`root.${s}.href`,autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",name:"href",type:"text",className:x==="pageType"?"!hidden":"",value:i,onChange:b=>n({...e,href:b.target.value}),placeholder:r(o==="url"?"Enter URL":o==="scroll"?"#ElementID":"Enter details")}),x==="url"&&a.jsxs("div",{className:"flex items-center gap-x-2 text-muted-foreground",children:[a.jsx("input",{id:`root.${s}.target`,autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",type:"checkbox",checked:l==="_blank",className:"!w-fit cursor-pointer rounded-md border border-border",onChange:()=>n({...e,target:l==="_blank"?"_self":"_blank"})}),a.jsx("span",{className:"pt-1 text-xs",children:r("Open in new tab")})]})]})]})},ng=({value:t,onChange:e})=>{var o;if(!t)return a.jsxs("div",{className:"mt-1 flex items-center gap-2 rounded-md border border-gray-200 bg-gray-50 px-2 py-1.5 text-xs text-gray-500 text-gray-600",children:[a.jsx(v.FileIcon,{className:"h-4 w-4"})," Choose a collection"]});const n=`{{${U.COLLECTION_PREFIX}`,s=t==null?void 0:t.startsWith(n);let r=t;return s&&(r=(o=t==null?void 0:t.replace(n,""))==null?void 0:o.replace("}}","")),a.jsx("div",{className:"mt-1 flex flex-col gap-1",children:a.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-blue-200 bg-blue-50 px-2 py-1 text-xs text-blue-600",children:[a.jsxs("span",{className:"flex max-w-[200px] items-center gap-2",children:[" ",s?a.jsx(v.IdCardIcon,{className:"h-3 min-h-3 w-3 min-w-3"}):null,a.jsxs(fe,{delayDuration:500,children:[a.jsx(he,{asChild:!0,children:a.jsx("span",{className:"cursor-default truncate",children:r})}),a.jsx(le,{side:"left",hidden:r.length<50,children:r})]})]}),a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(T.Button,{variant:"ghost",size:"icon",className:"h-5 w-5 rounded-full bg-gray-200 text-gray-900 hover:bg-gray-300",onClick:()=>e(""),children:a.jsx(v.Cross1Icon,{className:"h-4 w-4"})})}),a.jsx(le,{side:"left",children:"Remove binding"})]})]})})},Zl=N.atom(t=>{var i;const e=t(Ne),n=t(Cs),s=n.length===1?n[0]:null;if(!s)return null;const r=d.find(e,{_id:s});if(!r)return null;let o=r._parent;for(;o;){const l=d.find(e,{_id:o});if(!l)return null;if((i=K.getRegisteredChaiBlock(l._type))!=null&&i.wrapper)return l;o=l._parent}return null});Zl.debugLabel="wrapperBlockAtom";const Eo=()=>N.useAtomValue(Zl),sg=()=>{const t=X(),e=Eo(),{addCoreBlock:n}=xt();if(!t&&!e)return null;const s=(t==null?void 0:t._type)==="Row"?t:e;return a.jsx("div",{className:"pt-1",children:a.jsxs("button",{type:"button",className:"duratiom-300 flex items-center gap-x-1 rounded border border-gray-400 bg-gray-100 px-4 py-1 text-[11px] font-medium leading-tight hover:bg-slate-200",onClick:()=>n({type:"Column",styles:"#styles:,"},s==null?void 0:s._id),children:[a.jsx(v.PlusIcon,{className:"h-4 w-4"})," Add Column"]})})},rg=g.lazy(()=>Promise.resolve().then(()=>require("./rte-widget-modal-Dktetdg4.cjs"))),og=({blockId:t,id:e,placeholder:n,value:s,onChange:r,onBlur:o})=>{const i=g.useRef(null),[l,c]=g.useState(!1),u=zl({blockId:t,value:s,placeholder:n,onBlur:({editor:m})=>{const h=m==null?void 0:m.getHTML();o(e,h)},onUpdate:({editor:m})=>{const h=m==null?void 0:m.getHTML();r(h)}});g.useEffect(()=>{i.current&&u&&(i.current.__chaiRTE=u)},[t,u]);const p=()=>{c(!1)},f=a.jsxs("div",{id:`chai-rte-${e}`,ref:i,className:"mt-1 rounded-md border border-input",children:[a.jsx(qi,{editor:u,onExpand:()=>c(!0)}),a.jsx(as.EditorContent,{editor:u,id:e,placeholder:n,className:`overflow-auto ${l?"max-h-[500px] min-h-[400px]":"max-h-[200px] min-h-[100px]"}`},e)]});return a.jsxs(a.Fragment,{children:[l&&a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:a.jsx(rg,{isOpen:l,onClose:p,editor:u,rteElement:f})}),l?a.jsx("div",{children:"Open in modal"}):a.jsx("div",{className:"relative",children:f})]})},ag=t=>{const{editingBlockId:e}=$t(),[n,s]=g.useState(null),r=X(),o=r==null?void 0:r._id;return g.useEffect(()=>{s(o)},[o]),n&&n!==e?a.jsx(og,{...t,blockId:n},n):null},ig=({formData:t,onChange:e})=>{const[n]=Z(),s=X(),r=Eo(),{addCoreBlock:o}=xt(),[,i]=q(),l=(s==null?void 0:s._type)==="Slider"?s:r,c=d.find(n,{_parent:l==null?void 0:l._id,_type:"Slides"}),u=d.filter(n,{_parent:c==null?void 0:c._id,_type:"Slide"}),p=(t==null?void 0:t.currentSlide)||d.get(u,"0._id");if(g.useEffect(()=>{(s==null?void 0:s._type)==="Slide"&&(t==null?void 0:t.currentSlide)!==(s==null?void 0:s._id)&&e({...t,currentSlide:s==null?void 0:s._id})},[s]),g.useEffect(()=>{u!=null&&u.length&&!d.find(u,{_id:t==null?void 0:t.currentSlide})&&e({...t,currentSlide:d.get(u,"0._id")})},[t,u]),!s&&!r||!c)return null;const f=()=>{const x=d.findIndex(u,{_id:p});if(x>-1){const b=(x+1)%u.length,y=d.get(u,[b,"_id"]);if(!y)return;e({...t,currentSlide:y}),i([y])}},m=()=>{const x=d.findIndex(u,{_id:p});if(x>-1){const b=(x-1+u.length)%u.length,y=d.get(u,[b,"_id"]);if(!y)return;e({...t,currentSlide:y}),i([y])}},h=()=>{const x=o({styles:"#styles:,h-full w-full min-w-full",type:"Slide"},c==null?void 0:c._id),b=x==null?void 0:x._id;b&&(e({...t,currentSlide:b}),i([b]))};return a.jsxs("div",{className:"space-y-1.5 px-2",children:[a.jsxs("div",{className:"flex items-center gap-x-2 pb-2 text-[12px]",children:[a.jsx("button",{onClick:m,className:"rounded bg-gray-200 p-1.5 hover:opacity-80",children:a.jsx(v.ChevronLeftIcon,{className:"h-3 w-3"})}),a.jsx("div",{className:"whitespace-nowrap text-center text-[10px] text-slate-500",children:p?a.jsxs("span",{className:"",children:[a.jsxs("b",{className:"text-[12px]",children:[" ",d.findIndex(u,{_id:p})+1]}),"/",u.length]}):"-"}),a.jsx("button",{onClick:f,className:"rounded bg-gray-200 p-1.5 hover:opacity-80",children:a.jsx(v.ChevronRightIcon,{className:"h-3 w-3"})}),a.jsxs("button",{onClick:h,className:"flex w-full items-center justify-center gap-x-1 rounded bg-gray-200 p-1.5 text-xs font-medium leading-tight hover:opacity-80",children:[a.jsx(v.PlusCircledIcon,{className:"h-3 w-3"}),"Add Slide"]})]}),a.jsxs("div",{className:"flex items-center gap-x-2 leading-tight",children:[a.jsx("input",{type:"checkbox",checked:!!(t!=null&&t.showSlideButton),onChange:()=>e({...t,showSlideButton:!(t!=null&&t.showSlideButton)}),className:"cursor-pointer"}),a.jsx("label",{htmlFor:"autoplay",className:"mt-0.5 text-[12px]",children:"Show Slide Buttons"})]}),a.jsxs("div",{className:"flex items-center gap-x-2 leading-tight",children:[a.jsx("input",{type:"checkbox",checked:!!(t!=null&&t.showSlideNavbar),onChange:()=>e({...t,showSlideNavbar:!(t!=null&&t.showSlideNavbar)}),className:"cursor-pointer"}),a.jsx("label",{htmlFor:"autoplay",className:"mt-0.5 text-[12px]",children:"Show Slide Navbar"})]}),a.jsx("div",{children:a.jsxs("div",{className:"flex flex-col",children:[a.jsxs("div",{className:"flex items-center gap-x-2 leading-tight",children:[a.jsx("input",{type:"checkbox",checked:!!(t!=null&&t.autoplay),onChange:()=>e({...t,autoplay:!(t!=null&&t.autoplay)}),className:"cursor-pointer"}),a.jsx("label",{htmlFor:"autoplay",className:"mt-0.5 text-[12px]",children:"Autoplay slides"})]}),(t==null?void 0:t.autoplay)&&a.jsxs("div",{className:"pt-0.5 leading-tight",children:[a.jsxs("label",{htmlFor:"interval",className:"whitespace-nowrap text-[9px]",children:["Autoplay Interval ",a.jsx("span",{className:"font-light opacity-80",children:"(in seconds)"})]}),a.jsx("input",{type:"number",id:"interval",name:"interval",placeholder:"0",value:t==null?void 0:t.autoplayInterval,className:"text-xs",pattern:"[0-9]*",onChange:x=>{let b=x.target.value;b.length&&(b=b.replace("-","")),e({...t,autoplayInterval:b})}})]})]})})]})},lg=({formData:t,onChange:e})=>{const n=d.get(t,"srcsets",[])||[],s=(i,l)=>{const c=i.target.name,u=i.target.value;e({srcsets:d.map(n,(p,f)=>f===l?{...p,[c]:u}:p)})},r=()=>{e({srcsets:[...n,{}]})},o=i=>{e({srcsets:d.reject(n,(l,c)=>parseInt(c)===i)})};return a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center justify-between pb-2",children:[a.jsx("label",{children:"Responsive Video (optional)"}),a.jsx("button",{type:"button",onClick:r,className:"flex items-center gap-x-1 rounded-md border border-blue-500 bg-blue-100 px-2 py-px text-xs text-blue-600 hover:opacity-80",children:a.jsx(v.PlusIcon,{className:"h-3 w-3"})})]}),a.jsx("div",{className:"space-y-2",children:n.length===0?a.jsx("div",{className:"rounded border border-dashed border-gray-200 p-2 text-xs italic text-gray-500",children:"Add additional sources to create responsive videos"}):d.map(n,(i,l)=>a.jsxs("div",{className:"group relative space-y-1.5 rounded border border-gray-200 px-2 pb-1.5",children:[a.jsx("button",{type:"button",onClick:()=>o(l),className:"absolute -right-px -top-0 -translate-y-1/2 rounded-full bg-red-100 p-1 opacity-0 hover:bg-red-200 group-hover:opacity-100",children:a.jsx(v.Cross1Icon,{className:"h-2.5 w-2.5 text-red-500"})}),a.jsxs("div",{className:"flex items-center gap-x-2 rounded border",children:[a.jsx("label",{className:"flex !h-6 h-full w-1/4 items-center justify-center bg-gray-200 px-2 !text-[10px] !font-medium",children:"Width"}),a.jsx("input",{name:"width",placeholder:"Enter width (in px)",type:"number",value:d.get(i,"width"),onChange:c=>s(c,l),className:"!placeholder:text-gray-100 !mt-0 !rounded-none !border-0 !p-0 !text-xs"})]}),a.jsxs("div",{className:"flex items-center gap-x-2 rounded border",children:[a.jsx("label",{className:"flex !h-6 h-full w-1/4 items-center justify-center bg-gray-200 px-2 !text-[10px] !font-medium",children:"URL"}),a.jsx("input",{name:"url",placeholder:"Enter url",className:"!mt-0 !rounded-none !border-0 !p-0 !text-xs !shadow-none",value:d.get(i,"url",""),onChange:c=>s(c,l)})]})]},l))})]})},cg=t=>a.jsx("button",{...t,className:"duration absolute right-2 top-2 cursor-pointer text-blue-400 hover:text-blue-500",children:a.jsxs("div",{className:"flex items-center gap-x-0.5 text-[11px] leading-tight",children:[a.jsx(v.PlusIcon,{className:"h-3 w-3"})," ",a.jsx("span",{children:"Add"})]})}),ja=g.memo(({blockId:t,schema:e,uiSchema:n,formData:s,onChange:r})=>{const{selectedLang:o}=Te(),i=T.useChaiBlockSettingComponents("widget"),l=T.useChaiBlockSettingComponents("field"),c=T.useChaiBlockSettingComponents("template"),u=xe.useThrottledCallback(async({formData:p},f)=>{d.get(p,f)===void 0&&d.set(p,f,""),r({formData:p},f)},[r,o],400);return a.jsx(hd,{widgets:{richtext:ag,icon:Gm,image:Ym,code:zm,colCount:sg,collectionSelect:Hm,repeaterBinding:ng,...i},fields:{link:tg,slider:ig,sources:lg,...l},templates:{FieldTemplate:Qm,ButtonTemplates:{AddButton:cg},...c},idSeparator:".",autoComplete:"off",omitExtraData:!1,liveOmit:!1,liveValidate:!1,validator:md,uiSchema:n,schema:e,formData:s,onChange:({formData:p},f)=>{if(!f||t!==(p==null?void 0:p._id))return;const m=d.take(f.split("."),2).join(".").replace("root.","");u({formData:p},m)}},o)}),dn=O.forwardRef(({className:t,thumbClassName:e,...n},s)=>a.jsx(hr.Root,{className:T.cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t),...n,ref:s,children:a.jsx(hr.Thumb,{className:T.cn("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform",e,"data-[state=checked]:translate-x-3 data-[state=unchecked]:translate-x-0")})}));dn.displayName=hr.Root.displayName;const dg=new se.k({tags:["{{","}}"],autoEscape:!0,autoTrim:!1,useWith:!0,parse:{interpolate:"",exec:"~",raw:"~"}}),ug=[/\b(?:window|document|globalThis|process|Function|eval|import|fetch|XMLHttpRequest|WebSocket|localStorage|sessionStorage)\b/,/(^|[^=!<>])=([^=]|$)/,/\b(?:while|for|try|catch|class|new)\b/],Ql=t=>d.isArray(t)?"array":t===null?"null":d.isObject(t)?"JSON":typeof t,lr=(t,e)=>{const n=e?d.get(t,e):t;return!d.isObject(n)||n===null||d.isArray(n)?[]:Object.entries(n).filter(([s])=>!s.startsWith("#")).map(([s,r])=>({path:e?`${e}.${s}`:s,type:Ql(r)}))},Zn=t=>{const e=t.trim();if(!e)return null;if(ug.some(s=>s.test(e)))return"Unsafe expression detected";try{return dg.compile(`{{${e}}}`),null}catch{return"Invalid expression syntax"}},pg=({currentExpression:t,externalData:e,onSave:n})=>{const s=g.useRef(null),r=g.useRef(null),[o,i]=g.useState(t),[l,c]=g.useState(null),[u,p]=g.useState(0),[f,m]=g.useState(null);g.useEffect(()=>{i(t),c(Zn(t)),m(null),p(0)},[t]);const h=g.useMemo(()=>Object.entries(e??{}).filter(([y])=>!y.startsWith("#")).map(([y,k])=>({key:y,type:Ql(k)})),[e]),x=(y,k)=>{const A=y.slice(0,k).match(/[A-Za-z_$][\w$.]*\.?$/);if(!A){m(null);return}const w=A[0];let j;if(w.endsWith(".")){const I=w.slice(0,-1);j=lr(e,I)}else{const I=w.lastIndexOf(".");if(I===-1)j=lr(e,"").filter(S=>S.path.toLowerCase().startsWith(w.toLowerCase()));else{const S=w.slice(0,I),E=w.slice(I+1).toLowerCase();j=lr(e,S).filter(_=>_.path.slice(_.path.lastIndexOf(".")+1).toLowerCase().startsWith(E))}}if(j=j.slice(0,8),!j.length){m(null),p(0);return}m({start:k-w.length,end:k,options:j}),p(0)},b=y=>{if(!f)return;const k=o.slice(0,f.start)+y+o.slice(f.end);i(k),c(Zn(k)),m(null),p(0),requestAnimationFrame(()=>{var A,w;const C=f.start+y.length;(A=s.current)==null||A.focus(),(w=s.current)==null||w.setSelectionRange(C,C)})};return g.useEffect(()=>{if(!f||!r.current)return;const y=r.current.children[u];y==null||y.scrollIntoView({block:"nearest"})},[u,f]),a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{children:[a.jsx("p",{className:"mb-1 text-[10px] font-medium text-muted-foreground",children:"Data"}),a.jsx("div",{className:"flex flex-wrap gap-1",children:h.map(y=>a.jsxs("span",{className:"inline-flex items-center rounded bg-muted px-1.5 py-0.5 text-[10px]",children:[a.jsx("span",{className:"font-medium",children:y.key}),a.jsxs("span",{className:"ml-0.5 text-muted-foreground",children:[": ",y.type]})]},y.key))})]}),a.jsxs("div",{className:"relative",children:[a.jsx(T.Input,{ref:s,id:"expression",value:o,className:`h-8 text-xs ${l?"border-red-500":""}`,onChange:y=>{const k=y.target.value,C=y.target.selectionStart??k.length;i(k),c(Zn(k)),x(k,C)},onKeyDown:y=>{if(f&&f.options.length){if(y.key==="ArrowDown"){y.preventDefault(),p(k=>k>=f.options.length-1?0:k+1);return}if(y.key==="ArrowUp"){y.preventDefault(),p(k=>k<=0?f.options.length-1:k-1);return}if(y.key==="Enter"||y.key==="Tab"){y.preventDefault();const k=f.options[u];k&&b(k.path);return}if(y.key==="Escape"){y.preventDefault(),m(null),p(0);return}}if(y.key==="Enter"){y.preventDefault();const k=Zn(o);c(k),k||n(o.trim())}},placeholder:"name === 'x'",autoComplete:"off"}),f&&a.jsx("div",{ref:r,className:"absolute z-20 mt-1 max-h-36 w-full overflow-auto rounded border bg-background p-1 shadow",children:f.options.map((y,k)=>a.jsxs("button",{type:"button",className:`block w-full rounded px-2 py-1 text-left text-[10px] hover:bg-muted ${k===u?"bg-muted":""}`,onMouseDown:C=>{C.preventDefault(),b(y.path)},children:[a.jsx("span",{className:"font-medium",children:y.path.slice(y.path.lastIndexOf(".")+1)}),a.jsxs("span",{className:"ml-1 text-muted-foreground",children:[": ",y.type]})]},y.path))})]}),l&&a.jsx("p",{className:"text-[10px] text-red-500",children:l})]})},fg=()=>{const{t}=z.useTranslation(),e=X(),n=Ot(),s=Ke(),[r,o]=g.useState(!1),i=m=>{if(e){if(!m||m.trim()===""){d.isString(e._show)&&s([e._id],{_show:!0});return}s([e._id],{_show:`{{${m.trim()}}}`})}},l=m=>{o(m)},c=()=>{if(!e)return;const m=d.has(e,"_show")?e._show:!0;s([e._id],{_show:!m})},u=()=>{e&&(s([e._id],{_show:!0}),o(!1))};if(!e)return null;const p=d.isString(e._show),f=p?e._show.startsWith("{{")&&e._show.endsWith("}}")?e._show.slice(2,-2).trim():e._show:"";return a.jsxs("div",{className:"my-2 flex items-center justify-between",children:[a.jsx("p",{className:"text-xs text-gray-500",children:t("Visibility")}),a.jsxs("div",{className:"group relative",children:[a.jsxs(Ms,{open:r,onOpenChange:l,children:[a.jsx(Os,{asChild:!0,children:a.jsx("div",{className:`absolute -left-2 -top-1.5 z-10 h-3.5 w-3.5 cursor-pointer rounded-full border border-white bg-blue-500 transition-all hover:scale-125 ${p?"opacity-100":"opacity-0 group-hover:opacity-100"}`})}),a.jsx(Dn,{side:"left",className:"w-64 p-3",children:a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("h4",{className:"text-xs font-medium leading-none",children:t("Conditional Visibility")}),a.jsx("p",{className:"text-[10px] text-muted-foreground",children:t("Enter a JavaScript expression")})]}),p&&a.jsx(T.Button,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 text-muted-foreground hover:text-red-500",onClick:u,children:a.jsx(v.TrashIcon,{className:"h-3.5 w-3.5"})})]}),a.jsx("div",{className:"relative",children:a.jsx(pg,{currentExpression:f,externalData:n,onSave:m=>{i(m),o(!1)}})})]})})]}),a.jsx(dn,{checked:p?!0:d.has(e,"_show")?e._show:!0,onCheckedChange:c,disabled:p})]})]})},Sa=(t,e,n)=>{const s=d.cloneDeep(t);return d.forEach(d.keys(t),r=>{d.includes(d.get(n,"i18nProps",[]),r)&&!d.isEmpty(e)&&(s[r]=d.get(t,`${r}-${e}`))}),s};function Cr(){const{selectedLang:t}=Te(),e=X(),n=Vr(),s=Ke(),r=K.getRegisteredChaiBlock(e==null?void 0:e._type),o=Sa(e,t,r),[i,l]=g.useState(o),[c,u]=g.useState(!1),p=Eo(),f=K.getRegisteredChaiBlock(p==null?void 0:p._type),m=Sa(p,t,f),h=({formData:j},I,S)=>{I&&(i==null?void 0:i._id)===e._id&&s([e._id],{[I]:d.get(j,I)},S)},x=g.useCallback(d.debounce(({formData:j},I,S)=>{h({formData:j},I,S),l(j)},1500),[e==null?void 0:e._id,t]),b=({formData:j},I)=>{I&&(n([e._id],{[I]:d.get(j,I)}),x({formData:j},I,{[I]:d.get(i,I)}))},y=({formData:j},I)=>{I&&(n([p._id],{[I]:d.get(j,I)}),x({formData:j},I,{[I]:d.get(i,I)}))},{schema:k,uiSchema:C}=g.useMemo(()=>{const j=e==null?void 0:e._type;if(!j)return{schema:{},uiSchema:{}};try{const{schema:I,uiSchema:S}=K.getBlockFormSchemas(j);if(j==="Repeater"){const E=d.get(e,"repeaterItems","");d.startsWith(E,`{{${U.COLLECTION_PREFIX}`)?(d.set(S,"filter",{"ui:widget":"collectionSelect"}),d.set(S,"sort",{"ui:widget":"collectionSelect"})):(d.set(S,"filter",{"ui:widget":"hidden"}),d.set(S,"sort",{"ui:widget":"hidden"}))}return{schema:I,uiSchema:S}}catch{return{schema:{},uiSchema:{}}}},[e]),{wrapperSchema:A,wrapperUiSchema:w}=g.useMemo(()=>{if(!p||!(p!=null&&p._type))return{wrapperSchema:{},wrapperUiSchema:{}};const j=p==null?void 0:p._type,{schema:I={},uiSchema:S={}}=K.getBlockFormSchemas(j);return{wrapperSchema:I,wrapperUiSchema:S}},[p]);return a.jsxs("div",{className:"no-scrollbar overflow-x-hidden px-px",children:[a.jsx(fg,{}),!d.isEmpty(p)&&a.jsxs("div",{className:"mb-4 rounded border bg-zinc-100 px-1",children:[a.jsxs("div",{onClick:()=>u(j=>!j),className:"flex cursor-pointer items-center gap-x-1 py-2 text-xs font-medium leading-tight hover:bg-slate-100",children:[c?a.jsx(v.ChevronDownIcon,{className:"h-4 w-4 text-slate-400"}):a.jsx(v.ChevronRightIcon,{className:"h-4 w-4 text-slate-400"}),d.startCase(p._type)," settings"," ",p._name&&a.jsxs("span",{className:"text-[11px] font-light text-slate-400",children:["(",p._name,")"]})]}),a.jsx("div",{className:c?"h-auto":"invisible h-0",children:a.jsx(ja,{blockId:p==null?void 0:p._id,onChange:y,formData:m,schema:A,uiSchema:w})})]}),d.isEmpty(k)?null:a.jsx(ja,{blockId:e==null?void 0:e._id,onChange:b,formData:o,schema:k,uiSchema:C})]})}const ec=Bt.Root,Ao=O.forwardRef(({className:t,...e},n)=>a.jsx(Bt.Item,{ref:n,className:T.cn("border-b",t),...e}));Ao.displayName="AccordionItem";const _o=O.forwardRef(({className:t,children:e,...n},s)=>a.jsx(Bt.Header,{className:"flex",children:a.jsxs(Bt.Trigger,{ref:s,className:T.cn("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",t),...n,children:[e,a.jsx(v.ChevronDownIcon,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));_o.displayName=Bt.Trigger.displayName;const Io=O.forwardRef(({className:t,children:e,...n},s)=>a.jsx(Bt.Content,{ref:s,className:"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:a.jsx("div",{className:T.cn("pb-4 pt-0",t),children:e})}));Io.displayName=Bt.Content.displayName;const hg=N.atom(null,(t,e,{blockIds:n,fullClasses:s})=>{const r=d.first(t(Bn)),o=d.filter(t(_n),i=>n.includes(t(i)._id));return d.map(o,i=>{const l=t(i),c=s;let{classes:u,baseClasses:p}=se.getSplitChaiClasses(d.get(l,r.prop,`${U.STYLES_KEY},`));return d.each(c,f=>{const m=f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),h=new RegExp(`(^|\\s)${m}(?=\\s|$)`,"g");u=u.replace(h," ").replace(/\s+/g," ").trim();const x=d.first(f.split(":"));d.includes(["2xl","xl","lg","md","sm"],x)&&c.push(f.split(":").pop().trim())}),d.each(c,f=>{const m=f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),h=new RegExp(`(^|\\s)${m}(?=\\s|$)`,"g");p=p.replace(h," ").replace(/\s+/g," ").trim()}),{ids:[l._id],props:{[r.prop]:`${U.STYLES_KEY}${p},${u}`}}})}),mg=t=>{const e=Object.keys(t).filter(s=>typeof t[s]=="string"&&t[s].startsWith(U.STYLES_KEY)),n={};return e.forEach(s=>{n[s]=`${U.STYLES_KEY},`}),{ids:[t._id],props:n}},gg=()=>{const{updateBlocks:t,updateBlocksRuntime:e}=Ee();return g.useCallback((n,s=!1)=>{const{ids:r,props:o}=mg(n);s?t(r,o):e(r,o)},[t,e])},To=()=>{const{updateBlocks:t,updateBlocksRuntime:e}=Ee(),n=N.useSetAtom(hg);return g.useCallback((s,r,o=!1)=>{const i=n({blockIds:s,fullClasses:r});o?t(s,i[0].props):e(s,i[0].props)},[n])},tc=()=>{const t=X(),e=Ke(),n=g.useCallback(i=>K.getBlockDefaultProps(i)||{},[]),s=g.useCallback(i=>Object.keys(i).filter(l=>typeof i[l]=="string"&&i[l].startsWith("#styles:")),[]),r=g.useCallback(i=>{if(!t)return;const c=n(t._type)[i]??"#styles:,";e([t._id],{[i]:c})},[t,n,e]);return{resetAll:g.useCallback(()=>{if(!t)return;const i=s(t);if(i.length===0)return;const l=n(t._type),c=d.pick(l,i);e([t._id],c)},[t,s,n,e]),reset:r}},xg=()=>{var h;const t=X(),[e,n]=Ae(),s=To(),[r]=q(),{t:o}=z.useTranslation(),{reset:i}=tc();if(!t)return null;const l=Object.keys(t).filter(x=>typeof t[x]=="string"&&t[x].startsWith("#styles:")),c=!d.isEmpty(l)&&l.length>1,u=d.get(t,(h=e[0])==null?void 0:h.prop,""),{classes:p=""}=se.getSplitChaiClasses(u)||{},f=p?p.split(" ").filter(x=>!d.isEmpty(x)):[],m=x=>d.find(e,b=>b.prop===x);return a.jsx(a.Fragment,{children:c&&a.jsxs("div",{className:"flex flex-wrap gap-1",children:[a.jsxs("label",{htmlFor:"block-styling-props",className:"py-1 text-xs",children:[o("Style element"),":"]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:d.map(l,x=>a.jsxs(Ds,{className:"flex cursor-pointer items-center gap-1 pr-1",variant:m(x)?"default":"secondary",onClick:()=>{n([{id:`${x}-${t._id}`,blockId:t._id,prop:x}])},children:[d.startCase(x),a.jsxs(mt,{children:[a.jsx(gt,{asChild:!0,children:a.jsx("button",{type:"button",className:"ml-1 rounded-sm p-0.5 hover:bg-blue-300 hover:text-blue-600",onClick:b=>b.stopPropagation(),children:a.jsx(v.DotsVerticalIcon,{className:"h-3 w-3"})})}),a.jsxs(et,{side:"bottom",className:"border-border text-xs",children:[a.jsx(ge,{className:"text-xs",onClick:()=>{i(x)},children:o("Reset style")}),a.jsx(ge,{className:"text-xs",onClick:()=>{s(r,f,!0)},children:o("Clear styles")})]})]})]},x))}),a.jsx("div",{className:"my-2 h-[1px] w-full bg-border"})]})})},nc=g.createContext({setDragData:()=>{}}),Na=(t,e)=>{t=t.toLowerCase();let n=t.trim().replace(/ |\+/g,"");if((n==="auto"||n==="none")&&e.includes(n))return{value:"",unit:n};const s=e.length?new RegExp(e.join("|"),"g"):/XXXXXX/g;n=n.replace(s,"");const r=t.match(s),o=r&&r.length>1,i=!d.isEmpty(n)&&Number.isNaN(Number(n));return o||i?{error:"Invalid value"}:r&&(r[0]==="auto"||r[0]==="none")?{value:r[0],unit:""}:{value:n,unit:r?r[0]:""}},bg=t=>{const e=t.startsWith("-")?"-":"",n=t.split("-").pop();if(["auto","none"].includes(n))return{value:"",unit:n};if(n==="px")return{value:"1",unit:"px"};if(n==="screen")return{value:"100",unit:t.indexOf("w-")!==-1?"vw":"vh"};if(n==="full")return{value:"100",unit:"%"};if(d.includes(t,"skew-"))return{value:`${e}${n}`,unit:"deg"};if(d.includes(t,"rotate-"))return{value:`${e}${n}`,unit:"deg"};if(d.includes(t,"opacity-"))return{value:`${n/100}`,unit:"-"};if(d.includes(t,"duration-")||d.includes(t,"delay-"))return{value:`${n}`,unit:"ms"};if(d.includes(t,"translate-")&&!n.includes("/"))return{value:`${e}${`${n/4}`}`,unit:"rem"};if(d.includes(t,"scale-"))return{value:`${e}${`${n/100}`}`,unit:"-"};if(d.startsWith(t,"border")){const s=t.match(/border-?(x|y|t|r|b|l)?\d+/g);if(s)return{value:s[0].split("-").pop(),unit:"px"};if(t.match(/border-?(x|y|t|r|b|l)?/g))return{value:"1",unit:"px"}}if(d.startsWith(t,"max-w-")){if(t==="max-w-screen-sm")return{value:"640",unit:"px"};if(t==="max-w-screen-md")return{value:"768",unit:"px"};if(t==="max-w-screen-lg")return{value:"1024",unit:"px"};if(t==="max-w-screen-xl")return{value:"1280",unit:"px"};if(t==="max-w-screen-2xl")return{value:"1536",unit:"px"};if(n==="xs")return{value:"320",unit:"px"};if(n==="sm")return{value:"384",unit:"px"};if(n==="md")return{value:"448",unit:"px"};if(n==="lg")return{value:"512",unit:"px"};if(n==="xl")return{value:"576",unit:"px"};if(n==="2xl")return{value:"672",unit:"px"};if(n==="3xl")return{value:"768",unit:"px"};if(n==="4xl")return{value:"896",unit:"px"};if(n==="5xl")return{value:"1024",unit:"px"};if(n==="6xl")return{value:"1152",unit:"px"};if(n==="7xl")return{value:"1280",unit:"px"};if(n==="prose")return{value:"65",unit:"ch"}}if(d.startsWith(t,"text-")){if(n==="xs")return{value:"12",unit:"px"};if(n==="sm")return{value:"14",unit:"px"};if(n==="base")return{value:"16",unit:"px"};if(n==="lg")return{value:"18",unit:"px"};if(n==="xl")return{value:"20",unit:"px"};if(n==="2xl")return{value:"24",unit:"px"};if(n==="3xl")return{value:"30",unit:"px"};if(n==="4xl")return{value:"36",unit:"px"};if(n==="5xl")return{value:"48",unit:"px"};if(n==="6xl")return{value:"60",unit:"px"};if(n==="7xl")return{value:"72",unit:"px"};if(n==="8xl")return{value:"96",unit:"px"};if(n==="9xl")return{value:"128",unit:"px"}}if(d.startsWith(t,"leading-")){if(n==="none")return{value:"1",unit:"-"};if(n==="tight")return{value:"1.25",unit:"-"};if(n==="snug")return{value:"1.375",unit:"-"};if(n==="normal")return{value:"1.5",unit:"-"};if(n==="relaxed")return{value:"1.625",unit:"-"};if(n==="loose")return{value:"2",unit:"-"}}if(d.startsWith(t,"tracking-")){if(n==="tighter")return{value:"-0.05",unit:"em"};if(n==="tight")return{value:"-0.025",unit:"em"};if(n==="normal")return{value:"0",unit:"em"};if(n==="wide")return{value:"0.025",unit:"em"};if(n==="wider")return{value:"0.05",unit:"em"};if(n==="widest")return{value:"0.1",unit:"em"}}if(["max","min","fit"].includes(n))return{value:t,unit:"class"};if(n.includes("/")){const[s,r]=d.map(n.split("/"),o=>parseInt(o,10));return{value:e+(s/r*100).toFixed(2).replace(".00",""),unit:"%"}}return d.isNumber(parseFloat(n))?{value:`${e+parseFloat(n)*4}`,unit:"px"}:{value:n,unit:"class"}},sc=t=>{if(d.isEmpty(t))return{value:"",unit:""};const e=t.match(/\[.*\]/g);if(e===null)return yg(t);const n=d.get(e,"0","").replace(/\[|\]/g,""),s=t.startsWith("-")?"-":"",r=d.first(n.match(/\d+.\d+|\d+/g));return{value:`${s}${r}`,unit:n.replace(r,"")}},yg=t=>d.isEmpty(t)?{value:"",unit:""}:bg(t),kg=({unit:t,currentValue:e,onDrag:n,onDragEnd:s,onDragStart:r,negative:o,cssProperty:i})=>{const{setDragData:l}=g.useContext(nc);return a.jsx("button",{type:"button",onMouseDown:c=>{const u={onDrag:n,onDragEnd:s,dragging:!0,dragStartY:c.pageY,dragStartValue:`${e}`,dragUnit:t,negative:o,cssProperty:i};r(u),l(u)},color:void 0,className:"relative z-50 ml-1 hidden h-6 cursor-row-resize rounded bg-background/70 px-2 group-hover:inline",children:a.jsx(v.RowSpacingIcon,{})})},vg=({onSelect:t,current:e,units:n})=>a.jsx("div",{"data-theme":"light",className:"-m-[7px] -mx-[13px] flex w-9 flex-col",children:n.map(s=>a.jsx(T.Button,{className:"h-max rounded-none px-1 py-1 text-right text-[11px] hover:bg-blue-400",color:e===s?"primary":void 0,size:"sm",onClick:r=>{r.stopPropagation(),t(s)},children:s},s))}),Ea=50,wg=t=>{const[e,n]=g.useState(!1),[s,r]=g.useState(""),{currentClass:o,onChange:i,classPrefix:l,cssProperty:c,units:u,negative:p}=t,[f,m]=g.useState(c!=null&&c.toLowerCase().includes("width")?"%":u[0]),[h,x]=g.useState(!1),[b,y]=g.useState(""),[k,C]=g.useState(!1),[A,w]=g.useState(!1);g.useEffect(()=>{const{value:_,unit:B}=sc(o);if(B===""){r(_),m(c!=null&&c.toLowerCase().includes("width")?"%":d.first(u));return}m(B),r(B==="class"||d.isEmpty(_)?"":_)},[o,c,u]);const j=xe.useThrottledCallback(_=>i(_),[i],Ea),I=xe.useThrottledCallback(_=>i(_,!1),[i],Ea),S=g.useCallback((_=!1)=>{const B=Na(`${s}`,u);if(d.get(B,"error",!1)){x(!0);return}const P=d.get(B,"unit")!==""?d.get(B,"unit"):f;if(P==="auto"||P==="none"){j(`${l}${P}`);return}if(d.get(B,"value")==="")return;const M=`${d.get(B,"value","").startsWith("-")?"-":""}${l}[${d.get(B,"value","").replace("-","")}${P==="-"?"":P}]`;_?I(M):j(M)},[j,I,s,f,l,u]),E=g.useCallback(_=>{const B=Na(`${s}`,u);if(d.get(B,"error",!1)){x(!0);return}if(_==="auto"||_==="none"){j(`${l}${_}`);return}if(d.get(B,"value")==="")return;const P=d.get(B,"unit")!==""?d.get(B,"unit"):_,M=`${d.get(B,"value","").startsWith("-")?"-":""}${l}[${d.get(B,"value","").replace("-","")}${P==="-"?"":P}]`;j(M)},[j,s,l,u]);return a.jsx("div",{className:"flex w-full flex-col",children:a.jsx("div",{className:"flex items-center justify-start",children:f==="class"?a.jsxs(a.Fragment,{children:[a.jsx("input",{className:"h-6 w-24 rounded border border-foreground/20 bg-background px-2 py-0.5 text-sm focus-visible:outline-0",readOnly:!0,value:o}),a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx("button",{type:"button",className:"invisible ml-3 mt-1 text-blue-600 group-hover:visible",children:a.jsx(v.InfoCircledIcon,{})})}),a.jsx(le,{children:"Current value is using a Tailwind preset class."})]})]}):a.jsxs("div",{className:`group relative flex items-center ${k?"z-auto":""}`,children:[a.jsxs("div",{className:"flex items-center rounded-md border border-border",children:[["none","auto"].indexOf(f)!==-1?null:a.jsx("input",{readOnly:f==="class",onKeyPress:_=>{_.key==="Enter"&&S()},onKeyDown:_=>{if(_.keyCode!==38&&_.keyCode!==40)return;_.preventDefault(),w(!0);const B=d.parseInt(_.target.value);let P=d.isNaN(B)?0:B;_.keyCode===38&&(P+=1),_.keyCode===40&&(P-=1);const R=`${P}`,H=`${R.startsWith("-")?"-":""}${l}[${R.replace("-","")}${f==="-"?"":f}]`;I(H)},onKeyUp:_=>{A&&(_.preventDefault(),w(!1))},onBlur:()=>S(),onChange:_=>{x(!1),r(_.target.value)},onClick:_=>{var B;(B=_==null?void 0:_.target)==null||B.select(),n(!1)},value:k?b:s,className:"h-6 w-14 rounded rounded-r-none border border-transparent bg-background pl-2 text-sm focus-visible:outline-0".concat(" ",h?"border-red-500 text-red-500":"border-foreground/20")}),a.jsxs(fe,{open:e,delayDuration:100,children:[a.jsx(he,{asChild:!0,children:a.jsxs("button",{type:"button",onClick:()=>n(!e),className:"flex h-6 cursor-pointer items-center gap-x-1 rounded rounded-l-none bg-background p-px px-1 text-[11px] uppercase",children:[a.jsx("span",{className:`inline-block ${u.length===1?"px-2 font-semibold":""}`,children:f}),u.length>1?a.jsx(v.TriangleDownIcon,{}):null]})}),a.jsx(le,{className:"bg-background",children:a.jsx(vg,{units:u,current:f,onSelect:_=>{n(!1),m(_),E(_)}})})]})]}),["none","auto"].indexOf(f)!==-1||k?null:a.jsx(kg,{onDragStart:()=>C(!0),onDragEnd:_=>{if(y(()=>""),C(!1),d.isEmpty(_))return;const B=`${_}`,R=`${B.startsWith("-")?"-":""}${l}[${B.replace("-","")}${f==="-"?"":f}]`;j(R)},onDrag:_=>{if(d.isEmpty(_))return;y(_);const B=`${_}`,R=`${B.startsWith("-")?"-":""}${l}[${B.replace("-","")}${f==="-"?"":f}]`;I(R)},currentValue:s,unit:f,negative:p,cssProperty:c})]})})})},Mn=g.createContext({canReset:!1,canChange:!0}),Cg=({children:t,canReset:e=!1,canChange:n=!0})=>a.jsx(Mn.Provider,{value:{canReset:e,canChange:n},children:t}),cr=[0,1,2,3,4,5,6,7,8,9,10,11,12,14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96],L={columns:[...d.range(1,13),"auto","3xs","2xs","xs","sm","md","lg","xl",...d.map(d.range(2,8),t=>`${t}xl`)],breakAfter:["auto","avoid","all","avoid-page","page","left","right","column"],breakInside:["auto","avoid","avoid-page","avoid-column"],display:["block","flex","grid","inline-block","inline","hidden"],objectFit:["contain","cover","fill","none","scale-down"],objectPosition:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],overflow:["auto","hidden","clip","visible","scroll"],overscroll:["auto","contain","none"],trbl:[0,"px","0.5",1,1.5,2,2.5,3,3.5,...d.range(4,13),14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96,"auto","1/2","1/3","2/3","1/4","2/4","3/4","full"],flexBasis:[...cr,"auto","px","0.5","1.5","2.5","3.5","1/2","1/3","2/3","1/4","2/4","3/4","1/5","2/5","3/5","4/5","1/6","2/6","3/6","4/6","5/6","1/12","2/12","3/12","4/12","5/12","6/12","7/12","8/12","9/12","10/12","11/12","full"],padding:[...cr,"px","0.5","1.5","2.5","3.5"],margin:["auto",...cr,"px","0.5","1.5","2.5","3.5"],scale:[0,50,75,90,95,100,105,110,125,150],origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left"],blendEffect:["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],borderWidth:[0,2,4,8],borderRadius:["global","none","sm","md","lg","xl","2xl","3xl","full"],indent:[0,"px","0.5",1,1.5,2,2.5,3,3.5,...d.range(4,13),14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96],maxHeight:[0,"px","0.5",1,1.5,2,2.5,3,3.5,...d.range(4,13),14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96,"full","screen","min","max","fit"],space:[0,"px","0.5",1,1.5,2,2.5,3,3.5,...d.range(4,13),14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96,"px","reverse"],width:["0","px","0.5","1","1.5","2","2.5","3","3.5","4","5","6","7","8","9","10","11","12","14","16","20","24","28","32","36","40","44","48","52","56","60","64","72","80","96","auto","1/2","1/3","2/3","1/4","2/4","3/4","1/5","2/5","3/5","4/5","1/6","2/6","3/6","4/6","5/6","1/12","2/12","3/12","4/12","5/12","6/12","7/12","8/12","9/12","10/12","11/12"],maxWidth:["0","none","xs","sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","full","min","max","fit","prose","screen-sm","screen-md","screen-lg","screen-xl","screen-2xl"],height:["0","px","0.5","1","1.5","2","2.5","3","3.5","4","5","6","7","8","9","10","11","12","14","16","20","24","28","32","36","40","44","48","52","56","60","64","72","80","96","auto","1/2","1/3","2/3","1/4","2/4","3/4","1/5","2/5","3/5","4/5","1/6","2/6","3/6","4/6","5/6","full","screen","min","max","fit"]},Xt={textColor:{classes:[],regExp:"text-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},aspectRatio:{classes:["aspect-auto","aspect-square","aspect-video"],regExp:"aspect-(auto|square|video)"},container:{classes:["container"],regExp:"container"},columns:{classes:d.map(L.columns,t=>`columns-${t}`),regExp:"columns-(auto|[0-9]xl|[0-9]xs|xs|sm|md|lg|xl|\\d+)"},breakAfter:{classes:d.map(L.breakAfter,t=>`break-after-${t}`),regExp:"break-after-\\S+"},breakBefore:{classes:d.map(L.breakAfter,t=>`break-before-${t}`),regExp:"break-before-\\S+"},breakInside:{classes:d.map(L.breakInside,t=>`break-inside-${t}`),regExp:"break-inside-\\S+"},boxDecoration:{classes:["box-decoration-clone","box-decoration-slice"],regExp:"box-decoration-\\S+"},boxSizing:{classes:["box-border","box-content"],regExp:"box-(border|content)"},flexDirection:{classes:["flex-row","flex-row-reverse","flex-col","flex-col-reverse"],regExp:"flex-(row|row-reverse|col|col-reverse)"},flexWrap:{classes:["flex-wrap","flex-wrap-reverse","flex-nowrap"],regExp:"flex-(wrap|wrap-reverse|nowrap)"},flexGrowShrink:{classes:["flex-1","flex-auto","flex-initial","flex-none"],regExp:"flex-1|flex-auto|flex-initial|flex-none"},gridColumns:{classes:d.map([...d.range(0,13),"none"],t=>`grid-cols-${t}`),regExp:"grid-cols-(\\d+|none)"},gridFlow:{classes:["grid-flow-row","grid-flow-col","grid-flow-row-dense","grid-flow-col-dense"],regExp:"grid-flow-(row|col|row-dense|col-dense)"},outlineStyle:{classes:d.map(["none","dashed","dotted","double","hidden"],t=>`outline-${t}`),regExp:"outline-(none|dashed|dotted|double|hidden)"},borderStyle:{classes:d.map(["solid","dashed","dotted","double","hidden","none"],t=>`border-${t}`),regExp:"border-(solid|dashed|dotted|double|hidden|none)"},overflow:{classes:d.map(L.overflow,t=>`overflow-${t}`),regExp:`overflow-(${L.overflow.join("|")})`},overflowX:{classes:d.map(L.overflow,t=>`overflow-x-${t}`),regExp:`overflow-x-(${L.overflow.join("|")})`},overflowY:{classes:d.map(L.overflow,t=>`overflow-y-${t}`),regExp:`overflow-y-(${L.overflow.join("|")})`},gridRows:{classes:d.map([1,2,3,4,5,6,"none"],t=>`grid-rows-${t}`),regExp:"grid-rows-(\\d|none)"},display:{classes:d.map(L.display,t=>t.toString()),regExp:`(${L.display.join("|")})`},float:{classes:["float-right","float-left","float-none"],regExp:"float-\\S+"},clear:{classes:["clear-right","clear-left","clear-none","clear-both"],regExp:"clear-\\S+"},isolation:{classes:["isolate","isolation-auto"],regExp:"isolate|isolation-auto"},objectFit:{classes:d.map(L.objectFit,t=>`object-${t}`),regExp:"object-(contain|cover|fill|none|scale-down)"},objectPosition:{classes:d.map(L.objectPosition,t=>`object-${t}`),regExp:`object-(${L.objectPosition.join("|")})`},overscroll:{classes:d.map(L.overscroll,t=>`overscroll-${t}`),regExp:`overscroll-(${L.overscroll.join("|")})`},overscrollX:{classes:d.map(L.overscroll,t=>`overscroll-x-${t}`),regExp:`overscroll-x-(${L.overscroll.join("|")})`},overscrollY:{classes:d.map(L.overscroll,t=>`overscroll-y-${t}`),regExp:`overscroll-y-(${L.overscroll.join("|")})`},inset:{classes:d.map(L.trbl,t=>`inset-${t}`),regExp:"-?inset-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},insetX:{classes:d.map(L.trbl,t=>`inset-x-${t}`),regExp:"-?inset-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},insetY:{classes:d.map(L.trbl,t=>`inset-y-${t}`),regExp:"-?inset-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},top:{classes:d.map(L.trbl,t=>`top-${t}`),regExp:"-?top-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},topX:{classes:d.map(L.trbl,t=>`top-x-${t}`),regExp:"-?top-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},topY:{classes:d.map(L.trbl,t=>`top-y-${t}`),regExp:"-?top-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},right:{classes:d.map(L.trbl,t=>`right-${t}`),regExp:"-?right-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},rightX:{classes:d.map(L.trbl,t=>`right-x-${t}`),regExp:"-?right-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},rightY:{classes:d.map(L.trbl,t=>`right-y-${t}`),regExp:"-?right-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},bottom:{classes:d.map(L.trbl,t=>`bottom-${t}`),regExp:"-?bottom-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},bottomX:{classes:d.map(L.trbl,t=>`bottom-x-${t}`),regExp:"-?bottom-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},bottomY:{classes:d.map(L.trbl,t=>`bottom-y-${t}`),regExp:"-?bottom-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},left:{classes:d.map(L.trbl,t=>`left-${t}`),regExp:"-?left-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},leftX:{classes:d.map(L.trbl,t=>`left-x-${t}`),regExp:"-?left-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},leftY:{classes:d.map(L.trbl,t=>`left-y-${t}`),regExp:"-?left-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},visibility:{classes:["visible","invisible"],regExp:"invisible|visible"},zIndex:{classes:d.map(["0",10,20,30,40,50,"auto"],t=>`z-${t}`),regExp:"-?z-(\\d+|auto|\\[.*\\])"},flexBasis:{classes:d.map(L.flexBasis,t=>`basis-${t}`),regExp:"basis-(\\d+|\\S+)"},flexGrow:{classes:["grow","grow-0"],regExp:"grow(-0)?"},flexShrink:{classes:["shrink","shrink-0"],regExp:"shrink(-0)?"},gridColSpan:{classes:["col-auto",...d.map(d.range(1,13),t=>`col-span-${t}`),"col-span-full"],regExp:"col-(auto|span-(\\d+|full))"},gridColStart:{classes:[...d.map(d.range(1,14),t=>`col-start-${t}`),"col-start-auto"],regExp:"col-start-(\\d+|auto)"},gridColEnd:{classes:[...d.map(d.range(1,14),t=>`col-end-${t}`),"col-end-auto"],regExp:"col-end-(\\d+|auto)"},gridRowSpan:{classes:["row-auto",...d.map(d.range(1,7),t=>`row-span-${t}`),"row-span-full"],regExp:"row-(auto|span-(\\d+|full))"},gridRowStart:{classes:[...d.map(d.range(1,8),t=>`row-start-${t}`),"row-start-auto"],regExp:"row-start-(\\d+|auto)"},gridRowEnd:{classes:[...d.map(d.range(1,8),t=>`row-end-${t}`),"row-end-auto"],regExp:"row-end-(\\d+|auto)"},gridAutoColumns:{classes:["auto-cols-auto","auto-cols-min","auto-cols-max","auto-cols-fr"],regExp:"auto-cols-(auto|min|max|fr)"},gridAutoRows:{classes:["auto-rows-auto","auto-rows-min","auto-rows-max","auto-rows-fr"],regExp:"auto-rows-(auto|min|max|fr)"},gap:{classes:d.map(L.indent,t=>`gap-${t}`),regExp:"gap-(px|\\d.\\d|\\d|\\[.*\\])"},gapX:{classes:d.map(L.indent,t=>`gap-x-${t}`),regExp:"gap-x-(px|\\d.\\d|\\d|\\[.*\\])"},gapY:{classes:d.map(L.indent,t=>`gap-y-${t}`),regExp:"gap-y-(px|\\d.\\d|\\d|\\[.*\\])"},justifyContent:{classes:["justify-start","justify-end","justify-center","justify-between","justify-around","justify-evenly"],regExp:"justify-(start|end|center|between|around|evenly)"},justifyItems:{classes:["justify-items-start","justify-items-end","justify-items-center","justify-items-stretch"],regExp:"justify-items-(start|end|center|stretch)"},justifySelf:{classes:["justify-self-auto","justify-self-start","justify-self-end","justify-self-center","justify-self-stretch"],regExp:"justify-self-(auto|start|end|center|stretch)"},placeContent:{classes:["place-content-center","place-content-start","place-content-end","place-content-between","place-content-around","place-content-evenly","place-content-stretch"],regExp:"place-content-(center|start|end|between|around|evenly|stretch)"},placeItems:{classes:["place-items-start","place-items-end","place-items-center","place-items-stretch"],regExp:"place-items-(start|end|center|stretch)"},placeSelf:{classes:["place-self-auto","place-self-start","place-self-end","place-self-center","place-self-stretch"],regExp:"place-self-(auto|start|end|center|stretch)"},alignContent:{classes:["content-center","content-start","content-end","content-between","content-around","content-evenly"],regExp:"content-(center|start|end|between|around|evenly)"},alignItems:{classes:["items-start","items-end","items-center","items-baseline","items-stretch"],regExp:"items-(start|end|center|baseline|stretch)"},alignSelf:{classes:["self-auto","self-start","self-end","self-center","self-stretch","self-baseline"],regExp:"self-(auto|start|end|center|stretch|baseline)"},backgroundClip:{classes:["bg-clip-border","bg-clip-padding","bg-clip-content","bg-clip-text"],regExp:"bg-clip-(border|padding|content|text)"},dropShadow:{classes:d.map(["sm","md","lg","xl","2xl","none"],t=>`drop-shadow-${t}`),regExp:"drop-shadow-(sm|md|lg|xl|2xl|none)"},backdropBlur:{classes:d.map(["none","sm","md","lg","xl","2xl","3xl"],t=>`backdrop-blur-${t}`),regExp:"backdrop-blur-(none|sm|md|lg|xl|2xl|3xl)"},backdropBrightness:{classes:d.map([0,50,75,90,95,100,105,110,125,150,200],t=>`backdrop-brightness-${t}`),regExp:"backdrop-brightness-(\\d+)"},backdropContrast:{classes:d.map([0,50,75,100,125,150,200],t=>`backdrop-contrast-${t}`),regExp:"backdrop-contrast-(\\d+)"},backdropGrayScale:{classes:["backdrop-grayscale-0","backdrop-grayscale"],regExp:"backdrop-grayscale(-0)?"},backdropHueRotate:{classes:d.map([0,15,30,60,90,180],t=>`backdrop-hue-rotate-${t}`),regExp:"-?backdrop-hue-rotate-(\\d+)"},backdropInvert:{classes:["backdrop-invert-0","backdrop-invert"],regExp:"backdrop-invert(-0)?"},backdropOpacity:{classes:d.map([0,5,10,20,25,30,40,50,60,70,75,80,90,95,100],t=>`backdrop-opacity-${t}`),regExp:"backdrop-opacity-(\\d+)"},backdropSaturate:{classes:d.map([0,50,100,150,200],t=>`backdrop-saturate-${t}`),regExp:"backdrop-saturate-(\\d+)"},backdropSepia:{classes:["backdrop-sepia-0, backdrop-sepia"],regExp:"backdrop-sepia(-0)?"},backgroundOrigin:{classes:["bg-origin-border","bg-origin-padding","bg-origin-content"],regExp:"bg-origin-(border|padding|content)"},transformOrigin:{classes:d.map(L.origin,t=>`origin-${t}`),regExp:"origin-(\\d+|\\S+)"},padding:{classes:d.map(L.padding,t=>`p-${t}`),regExp:"p-(\\d+|\\S+|\\[.*\\])"},paddingX:{classes:d.map(L.padding,t=>`px-${t}`),regExp:"px-(\\d+|\\S+|\\[.*\\])"},paddingY:{classes:d.map(L.padding,t=>`py-${t}`),regExp:"py-(\\d+|\\S+|\\[.*\\])"},paddingTop:{classes:d.map(L.padding,t=>`pt-${t}`),regExp:"pt-(\\d+|\\S+|\\[.*\\])"},paddingRight:{classes:d.map(L.padding,t=>`pr-${t}`),regExp:"pr-(\\d+|\\S+|\\[.*\\])"},paddingBottom:{classes:d.map(L.padding,t=>`pb-${t}`),regExp:"pb-(\\d+|\\S+|\\[.*\\])"},paddingLeft:{classes:d.map(L.padding,t=>`pl-${t}`),regExp:"pl-(\\d+|\\S+|\\[.*\\])"},textDecorationStyle:{classes:["decoration-solid","decoration-double","decoration-dotted","decoration-dashed","decoration-wavy"],regExp:"decoration-(solid|double|dotted|dashed|wavy)"},textDecorationThickness:{classes:d.map(["auto","from-font","0",1,2,4,8],t=>`decoration-${t}`),regExp:"decoration-(auto|from-font|\\d+|\\S+)"},fromColor:{classes:[],regExp:"from-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},margin:{classes:d.map(L.margin,t=>`m-${t}`),regExp:"-?m-(\\d+|\\S+|\\[.*\\])"},marginX:{classes:d.map(L.margin,t=>`mx-${t}`),regExp:"-?mx-(\\d+|\\S+|\\[.*\\])"},marginY:{classes:d.map(L.margin,t=>`my-${t}`),regExp:"-?my-(\\d+|\\S+|\\[.*\\])"},marginTop:{classes:d.map(L.margin,t=>`mt-${t}`),regExp:"-?mt-(\\d+|\\S+|\\[.*\\])"},marginRight:{classes:d.map(L.margin,t=>`mr-${t}`),regExp:"-?mr-(\\d+|\\S+|\\[.*\\])"},marginBottom:{classes:d.map(L.margin,t=>`mb-${t}`),regExp:"-?mb-(\\d+|\\S+|\\[.*\\])"},marginLeft:{classes:d.map(L.margin,t=>`ml-${t}`),regExp:"-?ml-(\\d+|\\S+|\\[.*\\])"},spaceX:{classes:d.map(L.space,t=>`space-x-${t}`),regExp:"-?space-x-(\\d+|\\S+|\\[.*\\])"},spaceY:{classes:d.map(L.space,t=>`space-y-${t}`),regExp:"-?space-y-(\\d+|\\S+|\\[.*\\])"},boxShadow:{classes:d.map(["sm","md","lg","xl","2xl","inner","none"],t=>`shadow-${t}`),regExp:"shadow-(sm|md|lg|xl|2xl|inner|none)"},minWidth:{classes:["min-w-0","min-w-full","min-w-min","min-w-max","min-w-fit"],regExp:"min-w-(\\d+|\\S+|\\[.*\\])"},maxWidth:{classes:d.map(L.maxWidth,t=>`max-w-${t}`),regExp:"max-w-(\\d+|\\S+|\\[.*\\])"},width:{classes:d.map([...L.width,"full","screen","min","max","fit"],t=>`w-${t}`),regExp:"w-(\\d+.\\d+|\\d+|px|auto|full|screen|min|max|fit|\\[.*\\])$"},minHeight:{classes:["min-h-0","min-h-full","min-h-screen","min-h-min","min-h-max","min-h-fit"],regExp:"min-h-(\\d+|\\S+|\\[.*\\])"},maxHeight:{classes:d.map(L.maxHeight,t=>`max-h-${t}`),regExp:"max-h-(\\d+|\\S+|\\[.*\\])"},height:{classes:d.map(L.height,t=>`h-${t}`),regExp:"h-(\\d+.\\d+|\\d+|px|auto|full|screen|min|max|fit|\\[.*\\])"},fontFamily:{classes:["font-heading","font-body","font-sans","font-serif","font-mono"],regExp:"font-(heading|body|sans|serif|mono)"},textAlign:{classes:["text-left","text-center","text-right","text-justify"],regExp:"text-(left|center|right|justify)"},textOverflow:{classes:["truncate","text-ellipsis","text-clip"],regExp:"truncate|text-ellipsis|text-clip"},verticalAlign:{classes:["align-baseline","align-top","align-middle","align-bottom","align-text-top","align-text-bottom","align-sub","align-super"],regExp:"align-(baseline|top|middle|bottom|text-top|text-bottom|sub|super)"},fontSize:{classes:["text-xs","text-sm","text-base","text-lg","text-xl","text-2xl","text-3xl","text-4xl","text-5xl","text-6xl","text-7xl","text-8xl","text-9xl"],regExp:"text-(\\d+|\\S+|\\[.*\\])"},fontSmoothing:{classes:["antialiased","subpixel-antialiased"],regExp:"antialiased|subpixel-antialiased"},fontStyle:{classes:["italic","not-italic"],regExp:"not-italic|italic"},fontWeight:{classes:["font-thin","font-extralight","font-light","font-normal","font-medium","font-semibold","font-bold","font-extrabold","font-black"],regExp:"font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black)"},fontVariantNum:{classes:["normal-nums","ordinal","diagonal-fractions","stacked-fractions","tabular-nums","oldstyle-nums","proportional-nums","lining-nums","slashed-zero"],regExp:"normal-nums|ordinal|diagonal-fractions|stacked-fractions|tabular-nums|oldstyle-nums|proportional-nums|lining-nums|slashed-zero"},letterSpacing:{classes:["tracking-tighter","tracking-tight","tracking-normal","tracking-wide","tracking-wider","tracking-widest"],regExp:"-?tracking-(tighter|tight|normal|wide|wider|widest|\\[.*\\])"},lineHeight:{classes:["leading-none","leading-tight","leading-snug","leading-normal","leading-relaxed","leading-loose","leading-3","leading-4","leading-5","leading-6","leading-7","leading-8","leading-9","leading-10"],regExp:"leading-(none|tight|snug|normal|relaxed|loose|\\[.*\\]|\\d+)"},listStyleType:{classes:["list-none","list-disc","list-decimal"],regExp:"list-(none|disc|decimal)"},listStylePosition:{classes:["list-inside","list-outside"],regExp:"list-(inside|outside)"},textUnderlineOffset:{classes:["underline-offset-auto","underline-offset-0","underline-offset-1","underline-offset-2","underline-offset-4","underline-offset-8"],regExp:"underline-offset-(auto|\\d+|\\S+)"},textDecoration:{classes:["underline","overline","line-through","no-underline"],regExp:"underline|overline|line-through|no-underline"},textDecorationColor:{classes:[],regExp:"decoration-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},textTransform:{classes:["uppercase","lowercase","capitalize","normal-case"],regExp:"uppercase|lowercase|capitalize|normal-case"},textIndent:{classes:d.map(L.indent,t=>`indent-${t}`),regExp:"-?indent-(\\d+|\\S+)"},whitespace:{classes:["whitespace-normal","whitespace-nowrap","whitespace-pre","whitespace-pre-line","whitespace-pre-wrap"],regExp:"whitespace-(normal|nowrap|pre|pre-line|pre-wrap)"},wordBreak:{classes:["break-normal","break-words","break-all"],regExp:"break-(normal|words|all)"},content:{classes:["content-none"],regExp:"content-none"},backgroundAttachment:{classes:d.map(["fixed","local","scroll"],t=>`bg-${t}`),regExp:"bg-(fixed|local|scroll)"},backgroundColor:{classes:[],regExp:"bg-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},backgroundPosition:{classes:["bg-bottom","bg-center","bg-left","bg-left-bottom","bg-left-top","bg-right","bg-right-bottom","bg-right-top","bg-top"],regExp:"bg-(bottom|center|left|left-bottom|left-top|right|right-bottom|right-top|top)"},backgroundRepeat:{classes:["bg-repeat","bg-repeat-x","bg-repeat-y","bg-no-repeat","bg-repeat-round","bg-repeat-space"],regExp:"bg-(repeat|repeat-x|repeat-y|no-repeat|repeat-round|repeat-space)"},backgroundSize:{classes:["bg-auto","bg-cover","bg-contain"],regExp:"bg-(auto|cover|contain)"},backgroundGradient:{classes:["bg-gradient-none","bg-gradient-to-t","bg-gradient-to-tr","bg-gradient-to-r","bg-gradient-to-br","bg-gradient-to-b","bg-gradient-to-bl","bg-gradient-to-l","bg-gradient-to-tl"],regExp:"bg-gradient-(none|to-(t|tr|r|br|b|bl|l|tl))"},viaColor:{classes:[],regExp:"via-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},toColor:{classes:[],regExp:"to-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},position:{classes:["static","fixed","absolute","relative","sticky"],regExp:"(static|fixed|absolute|relative|sticky)"},borderRadiusTopLeft:{classes:["rounded-tl",...d.map(L.borderRadius,t=>`rounded-tl-${t}`)],regExp:"rounded-tl-?(\\d+|\\S+)?"},borderRadiusTopRight:{classes:["rounded-tr",...d.map(L.borderRadius,t=>`rounded-tr-${t}`)],regExp:"rounded-tr-?(\\d+|\\S+)?"},borderRadiusBottomRight:{classes:["rounded-br",...d.map(L.borderRadius,t=>`rounded-br-${t}`)],regExp:"rounded-br-?(\\d+|\\S+)?"},borderRadiusBottomLeft:{classes:["rounded-bl",...d.map(L.borderRadius,t=>`rounded-bl-${t}`)],regExp:"rounded-bl-?(\\d+|\\S+)?"},borderRadiusTop:{classes:["rounded-t",...d.map(L.borderRadius,t=>`rounded-t-${t}`)],regExp:"rounded-t-?(\\d+|\\S+)?"},borderRadiusRight:{classes:["rounded-r",...d.map(L.borderRadius,t=>`rounded-r-${t}`)],regExp:"rounded-r-?(\\d+|\\S+)?"},borderRadiusBottom:{classes:["rounded-b",...d.map(L.borderRadius,t=>`rounded-b-${t}`)],regExp:"rounded-b-?(\\d+|\\S+)?"},borderRadiusLeft:{classes:["rounded-l",...d.map(L.borderRadius,t=>`rounded-l-${t}`)],regExp:`(rounded-l-(${L.borderRadius.join("|")})|rounded-l$)`},borderRadius:{classes:["rounded",...d.map(L.borderRadius,t=>`rounded-${t}`)],regExp:`(rounded-(${L.borderRadius.join("|")}$)|rounded)`},borderX:{classes:["border-x",...d.map(L.borderWidth,t=>`border-x-${t}`)],regExp:"border-x-?(\\d+|\\S+|\\[.*\\])?"},borderY:{classes:["border-y",...d.map(L.borderWidth,t=>`border-y-${t}`)],regExp:"border-y-?(\\d+|\\S+|\\[.*\\])?"},borderTop:{classes:["border-t",...d.map(L.borderWidth,t=>`border-t-${t}`)],regExp:"border-t-?(\\d+|\\S+|\\[.*\\])?"},borderRight:{classes:["border-r",...d.map(L.borderWidth,t=>`border-r-${t}`)],regExp:"border-r-?(\\d+|\\S+|\\[.*\\])?"},borderBottom:{classes:["border-b",...d.map(L.borderWidth,t=>`border-b-${t}`)],regExp:"border-b-?(\\d+|\\S+|\\[.*\\])?"},borderLeft:{classes:["border-l",...d.map(L.borderWidth,t=>`border-l-${t}`)],regExp:"border-l-?(\\d+|\\S+|\\[.*\\])?"},borderColor:{classes:[],regExp:"^border-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\w+-\\d+|\\[#[0-9a-fA-F]+\\])$"},border:{classes:["border",...d.map(L.borderWidth,t=>`border-${t}`)],regExp:"^border(-\\d+|\\[\\d+px\\])?$"},order:{classes:d.map([...d.range(0,13),"first","last","none"],t=>`order-${t}`),regExp:"-?order-(\\d+|first|last|none)"},divideXWidth:{classes:d.map(["0",2,4,8],t=>`divide-x-${t}`),regExp:"divide-x-(\\d+|\\[.*\\])"},divideYWidth:{classes:d.map(["0",2,4,8],t=>`divide-y-${t}`),regExp:"divide-y-(\\d+|\\[.*\\])"},divideColor:{classes:[],regExp:"divide-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},divideStyle:{classes:d.map(["solid","dashed","dotted","double","none"],t=>`divide-${t}`),regExp:"divide-(solid|dashed|dotted|double|none)"},outlineWidth:{classes:d.map([0,1,2,4,8],t=>`outline-${t}`),regExp:"outline-(\\d+)"},outlineOffset:{classes:d.map([0,1,2,4,8],t=>`outline-offset-${t}`),regExp:"outline-offset-(\\d+)"},outlineColor:{classes:[],regExp:"outline-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},ringWidth:{classes:d.map([0,1,2,4,8,"inset"],t=>`ring-${t}`),regExp:"ring-(\\d+|inset)"},ringOffsetWidth:{classes:d.map([0,1,2,4,8],t=>`ring-offset-${t}`),regExp:"ring-offset-(\\d+)"},ringOffsetColor:{classes:[],regExp:"ring-offset-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},ringColor:{classes:[],regExp:"ring-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},boxShadowColor:{classes:[],regExp:"shadow-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},opacity:{classes:d.map([0,5,10,20,25,30,40,50,60,70,75,80,90,95,100],t=>`opacity-${t}`),regExp:"opacity-(\\d+|\\[.*\\])"},mixBlendMode:{classes:d.map(L.blendEffect,t=>`mix-blend-${t}`),regExp:"mix-blend-(\\d+|\\S+)"},bgBlendMode:{classes:d.map(L.blendEffect,t=>`bg-blend-${t}`),regExp:"bg-blend-(\\d+|\\S+)"},blur:{classes:d.map(["none","sm","md","lg","xl","2xl","3xl"],t=>`blur-${t}`),regExp:"blur-(none|sm|md|lg|xl|2xl|3xl)"},brightness:{classes:d.map([0,50,75,90,95,100,105,110,125,150,200],t=>`brightness-${t}`),regExp:"brightness-(\\d+)"},contrast:{classes:d.map([0,50,75,100,125,150,200],t=>`contrast-${t}`),regExp:"contrast-(\\d+)"},grayScale:{classes:["grayscale-0","grayscale"],regExp:"grayscale(-0)?"},hueRotate:{classes:d.map([0,15,30,60,90,180],t=>`hue-rotate-${t}`),regExp:"-?hue-rotate-(\\d+)"},invert:{classes:["invert-0","invert"],regExp:"invert(-0)?"},saturate:{classes:d.map([0,50,100,150,200],t=>`saturate-${t}`),regExp:"saturate-(\\d+)"},sepia:{classes:["sepia-0","sepia"],regExp:"sepia(-0)?"},transition:{classes:["transition-none","transition-all","transition-colors","transition-opacity","transition-shadow","transition-transform"],regExp:"transition-(none|all|colors|opacity|shadow|transform)"},duration:{classes:d.map([75,100,150,200,300,500,700,1e3],t=>`duration-${t}`),regExp:"duration-(\\d+|\\[.*\\])"},transitionEase:{classes:["ease-linear","ease-in","ease-out","ease-in-out"],regExp:"eas(e-linear|e-in|e-out|e-in-out)"},transitionDelay:{classes:d.map([75,100,150,200,300,500,700,1e3],t=>`delay-${t}`),regExp:"delay-(\\d+|\\[.*\\])"},animation:{classes:["animate-none","animate-spin","animate-ping"],regExp:"animate-(none|spin|ping)"},scaleX:{classes:d.map(L.scale,t=>`scale-x-${t}`),regExp:"-?scale-x-(\\d+|\\S+|\\[.*\\])"},scaleY:{classes:d.map(L.scale,t=>`scale-y-${t}`),regExp:"-?scale-y-(\\d+|\\S+|\\[.*\\])"},scale:{classes:d.map(L.scale,t=>`scale-${t}`),regExp:"-?scale-(\\d+|\\S+|\\[.*\\])"},rotate:{classes:d.map([0,1,2,3,6,12,45,90,180],t=>`rotate-${t}`),regExp:"-?rotate-(\\d+|\\S+|\\[.*\\])"},translateX:{classes:d.map([0,"px","0.5",1],t=>`translate-x-${t}`),regExp:"-?translate-x-(\\d+|\\S+|\\[.*\\])"},translateY:{classes:d.map([0,"px","0.5",1],t=>`translate-y-${t}`),regExp:"-?translate-y-(\\d+|\\S+|\\[.*\\])"},skewX:{classes:d.map([0,1,2,3,6,12],t=>`skew-x-${t}`),regExp:"-?skew-x-(\\d+|\\S+|\\[.*\\])"},skewY:{classes:d.map([0,1,2,3,6,12],t=>`skew-y-${t}`),regExp:"-?skew-y-(\\d+|\\S+|\\[.*\\])"},accentColor:{classes:[],regExp:"accent-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},appearance:{classes:["appearance-none"],regExp:"appearance-none"},cursor:{classes:["cursor-auto","cursor-default","cursor-pointer","cursor-wait","cursor-text","cursor-move","cursor-help","cursor-not-allowed"],regExp:"cursor-(auto|default|pointer|wait|text|move|help|not-allowed)"},caretColor:{classes:[],regExp:"caret-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},pointerEvents:{classes:["pointer-events-none","pointer-events-auto"],regExp:"pointer-events-(none|auto)"},userSelect:{classes:["select-none","select-text","select-all","select-auto"],regExp:"select-(none|text|all|auto)"},fill:{classes:[],regExp:"caret-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},stroke:{classes:[],regExp:"caret-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},strokeWidth:{classes:["stroke-0","stroke-1","stroke-2"],regExp:"stroke-(\\d+|\\[.*\\])"}},jg={backgroundColor:"bg",textColor:"text",borderColor:"border",boxShadowColor:"shadow",outlineColor:"outline",divideColor:"divide",fromColor:"from",viaColor:"via",toColor:"to",ringColor:"ring",ringOffsetColor:"ring-offset"},Sg=["current","inherit","transparent","black","white"],Ng=["slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],Eg=["50","100","200","300","400","500","600","700","800","900"],jr=d.map(d.values(jg),t=>t),Ag=d.flattenDeep([...d.map(Sg,t=>d.flatten(d.map(jr,e=>`${e}-${t}`))),...d.map(Ng,t=>d.flattenDeep(d.map(jr,e=>d.flattenDeep(d.map(Eg,n=>`${e}-${t}-${n}`)))))]),_g=d.map(d.flattenDeep(d.values(Xt).map(t=>t.classes).concat(Ag)),t=>({name:t})),Ig=()=>{const t=on(),e=g.useMemo(()=>{let n=[];if(t.colors){const s=d.flattenDeep(d.map(t.colors,({items:r})=>d.keys(r)));n=d.flattenDeep(d.map(s,r=>d.flatten(d.map(jr,o=>`${o}-${r}`))))}return t.fontFamily&&(n=[...n,...d.map(d.keys(t.fontFamily),s=>`${s}`)]),d.map(n,s=>({name:s}))},[t]);return g.useMemo(()=>new Ga([..._g,...e],{isCaseSensitive:!1,threshold:.2,minMatchCharLength:2,keys:["name"]}),[e])},$s=()=>{const t=on(),e=g.useMemo(()=>{if(t.colors){const r=d.flattenDeep(d.map(t.colors,({items:o})=>d.keys(o)));d.each(Xt,(o,i)=>{d.set(Xt,`${i}.regExp`,o.regExp.replace("__THEME_COLORS_REGEXP__",r.join("|")))})}return Xt},[t]),n=g.useCallback((r,o)=>{const i=d.get(e,`${r}.regExp`,"");return o.match(new RegExp(i))},[e]),s=g.useCallback((r,o=[])=>d.get(e,`${r}.classes`,o),[e]);return{match:n,getClasses:s}},rc=({label:t,property:e,onChange:n})=>{const{getClasses:s}=$s(),r=s(e),o=On(e),i=g.useMemo(()=>d.get(o,"cls",""),[o]),{canChange:l}=g.useContext(Mn),c=/\[.*\]/g.test(i);return a.jsx("div",{className:t?"w-full rounded":"grow",children:c?a.jsxs("div",{className:"flex items-center",children:[a.jsx(T.Input,{className:"w-[70%] rounded py-1",readOnly:!0,value:i}),a.jsxs(fe,{delayDuration:100,children:[a.jsx(he,{asChild:!0,children:a.jsx("button",{type:"button",className:"invisible ml-3 mt-1 text-blue-600 group-hover:visible",children:a.jsx(v.InfoCircledIcon,{})})}),a.jsx(le,{children:"Current value is using a Tailwind arbitrary value."})]})]}):a.jsx(Sr,{rounded:t,onChange:u=>n(u,e),selected:i,options:r,disabled:!l})})};function Sr({selected:t,onChange:e,rounded:n=!1,options:s,disabled:r=!1}){const o=t.replace(/.*:/g,"").trim(),{undo:i,redo:l}=In();return a.jsxs("select",{disabled:!s.length||r,className:`${n?"rounded-md border border-border":"border-0"} disable:bg-gray-500 h-full w-full truncate rounded bg-background px-2 py-1 text-xs outline-none disabled:cursor-not-allowed`,onChange:c=>e(c.target.value),onKeyDown:c=>{c.ctrlKey&&(c.key==="z"&&i(),c.key==="y"&&l())},value:o,children:[a.jsx("option",{className:"bg-transparent",value:""}),s.map((c,u)=>a.jsx("option",{className:"bg-transparent",value:c,children:c},`option-${u}`))]})}const Tg={backgroundColor:"bg",textColor:"text",borderColor:"border",boxShadowColor:"shadow",outlineColor:"outline",divideColor:"divide",fromColor:"from",viaColor:"via",toColor:"to",ringColor:"ring",ringOffsetColor:"ring-offset"},Bg=({property:t,onChange:e})=>{const n=On(t),s=g.useMemo(()=>d.get(n,"cls",""),[n]),{canChange:r}=g.useContext(Mn),[o,i]=g.useState([]),[l,c]=g.useState({color:"",shade:""}),u=s.split("-"),p=d.get(u,"1",""),f=d.get(u,"2",""),m=g.useCallback(b=>{["current","inherit","transparent","black","white"].includes(b)?(i([]),c({color:b})):(i(["50","100","200","300","400","500","600","700","800","900"]),c(y=>({...y,color:b,shade:y.shade?y.shade:"500"})))},[i,c]);g.useEffect(()=>{if(["current","inherit","transparent","black","white"].includes(p))return i([]);i(["50","100","200","300","400","500","600","700","800","900"])},[p]);const h=g.useCallback(b=>{c({color:p,shade:b})},[p]);g.useEffect(()=>{c({color:"",shade:""})},[n]);const{match:x}=$s();return g.useEffect(()=>{const y=`${d.get(Tg,t,"")}-${l.color}${l.shade?`-${l.shade}`:""}`;x(t,y)&&e(y,t)},[x,l,e,t]),a.jsxs("div",{className:"flex flex-row divide-x divide-solid divide-border rounded-lg border border-transparent text-xs",children:[a.jsx("div",{className:"grow text-center",children:a.jsx(Sr,{disabled:!r,rounded:!0,selected:p,onChange:m,options:["current","transparent","primary","secondary","black","white","slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"]})}),a.jsx("button",{type:"button",className:"grow text-center",children:a.jsx(Sr,{rounded:!0,selected:f,disabled:!p||!r,onChange:h,options:o})})]})},oc={"not-italic":()=>a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 3H11V5H9V11H11V13H5V11H7V5H5V3H9Z",fill:"white"})}),visible:v.EyeOpenIcon,invisible:v.EyeClosedIcon,hidden:v.EyeClosedIcon,gap:v.BorderAllIcon,gapX:v.WidthIcon,gapY:v.HeightIcon,spaceX:v.WidthIcon,spaceY:v.HeightIcon,overscroll:v.BorderAllIcon,overscrollX:v.WidthIcon,overscrollY:v.HeightIcon,overflow:v.BorderAllIcon,overflowX:v.WidthIcon,overflowY:v.HeightIcon,top:v.ArrowUpIcon,right:v.ArrowRightIcon,bottom:v.ArrowDownIcon,left:v.ArrowLeftIcon,inset:v.BorderAllIcon,insetX:v.WidthIcon,insetY:v.HeightIcon,border:v.BorderAllIcon,borderX:v.WidthIcon,borderY:v.HeightIcon,borderTop:v.ArrowUpIcon,borderRight:v.ArrowRightIcon,borderBottom:v.ArrowDownIcon,borderLeft:v.ArrowLeftIcon,borderRadius:v.BorderAllIcon,borderRadiusX:v.WidthIcon,borderRadiusY:v.HeightIcon,borderRadiusTop:v.ArrowUpIcon,borderRadiusRight:v.ArrowRightIcon,borderRadiusBottom:v.ArrowDownIcon,borderRadiusLeft:v.ArrowLeftIcon,borderRadiusTopLeft:v.ArrowTopLeftIcon,borderRadiusTopRight:v.ArrowTopRightIcon,borderRadiusBottomRight:v.ArrowBottomRightIcon,borderRadiusBottomLeft:v.ArrowBottomLeftIcon,divideXWidth:v.WidthIcon,divideYWidth:v.HeightIcon,scale:v.BorderAllIcon,scaleX:v.WidthIcon,scaleY:v.HeightIcon,skewX:v.WidthIcon,skewY:v.HeightIcon,translateX:v.WidthIcon,translateY:v.HeightIcon,padding:v.BorderAllIcon,paddingX:v.WidthIcon,paddingY:v.HeightIcon,paddingTop:v.ArrowUpIcon,paddingRight:v.ArrowRightIcon,paddingBottom:v.ArrowDownIcon,paddingLeft:v.ArrowLeftIcon,margin:v.BorderAllIcon,marginX:v.WidthIcon,marginY:v.HeightIcon,marginTop:v.ArrowUpIcon,marginRight:v.ArrowRightIcon,marginBottom:v.ArrowDownIcon,marginLeft:v.ArrowLeftIcon,textLeft:v.AlignLeftIcon,textCenter:v.AlignCenterHorizontallyIcon,textRight:v.AlignRightIcon,textJustify:v.StretchHorizontallyIcon,italic:v.FontItalicIcon,underline:v.UnderlineIcon,overline:v.OverlineIcon,uppercase:v.LetterCaseUppercaseIcon,block:()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M2 2H14V14H2V2ZM1 1H15V15H1V1Z",fill:"currentColor"}),a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 4H4V12H7V4ZM9 4H12V12H9V4Z",fill:"currentColor"})]}),"float-right":()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M8 4H16V12H8V4Z",fill:"currentColor"}),a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M0 4H6V6H0V4ZM0 7H6V9H0V7ZM4 10H0V12H4V10Z",fill:"currentColor"})]}),"float-left":()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M0 4H8V12H0V4Z",fill:"currentColor"}),a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M10 4H16V6H10V4ZM10 7H16V9H10V7ZM14 10H10V12H14V10Z",fill:"currentColor"})]}),"float-none":v.Cross2Icon,fixed:()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M15 2H14V4H13V5H14V6H15V2ZM10 5V4H9V2H1V8H2V5H10ZM7 4V3H5V4H7ZM4 4V3H2V4H4ZM1 13H7V14H1V13Z",fill:"currentColor"}),a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11 2H10V3H11V6H12V3H13V2H11ZM2 9H1V12H2V11H7V10H2V9ZM15 7H8V14H15V7Z",fill:"currentColor"})]}),absolute:()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M14 2H15V6H14V2ZM9 3V2H1V8H2V3H9ZM7 13H1V14H7V13Z",fill:"currentColor"}),a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11 2H10V3H11V6H12V3H13V2H11ZM2 9H1V12H2V11H7V10H2V9ZM15 7H8V14H15V7Z",fill:"currentColor"})]}),relative:()=>a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11 2H9V3H11V6H12V3H14V2H11ZM2 8H1V13H2V11H7V10H2V8ZM15 7H8V14H15V7Z",fill:"currentColor"})}),sticky:()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M12.9998 7C13.6558 7 14.2937 6.78498 14.8158 6.38787C15.338 5.99076 15.7156 5.43345 15.8908 4.80128C16.066 4.16912 16.0292 3.49694 15.7859 2.8877C15.5427 2.27846 15.1065 1.76573 14.5441 1.42804C13.9817 1.09034 13.3241 0.946293 12.672 1.01795C12.02 1.08961 11.4094 1.37303 10.9337 1.8248C10.4581 2.27658 10.1436 2.8718 10.0385 3.51932C9.93341 4.16685 10.0434 4.83097 10.3518 5.41L6.88176 8.88C6.80034 8.96122 6.73572 9.05769 6.69158 9.16388C6.64744 9.27008 6.62465 9.38393 6.62451 9.49894C6.62437 9.61395 6.64689 9.72785 6.69077 9.83416C6.73465 9.94046 6.79904 10.0371 6.88026 10.1185C6.96149 10.1999 7.05795 10.2645 7.16415 10.3087C7.27035 10.3528 7.3842 10.3756 7.4992 10.3758C7.61421 10.3759 7.72812 10.3534 7.83442 10.3095C7.94072 10.2656 8.03734 10.2012 8.11876 10.12L11.5888 6.648C12.0088 6.873 12.4888 7 12.9988 7H12.9998Z",fill:"currentColor"}),a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M9.535 2H1V14H15V7.465C14.69 7.645 14.355 7.783 14 7.875V13H2V5H9.126C8.86504 3.98486 9.01223 2.90789 9.536 2H9.535ZM7 3V4H5V3H7ZM4 3V4H2V3H4Z",fill:"currentColor"})]}),static:v.Cross1Icon},Rg=({property:t,onChange:e})=>{const{getClasses:n}=$s(),s=n(t),{canChange:r}=g.useContext(Mn),o=On(t),i=g.useMemo(()=>d.get(o,"cls",""),[o]);return a.jsx("div",{className:"flex grow flex-wrap gap-1",children:d.map(s,l=>a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx("button",{type:"button",disabled:!r,onClick:()=>e(l,t),className:`cursor-pointer rounded border border-border p-1 disabled:cursor-not-allowed ${i===l?"bg-primary text-white":"disabled:bg-gray-600 disabled:text-gray-400"}`,children:g.createElement(d.get(oc,l,v.BoxIcon))})}),a.jsx(le,{children:d.startCase(d.toLower(l))})]}))})},Pg=({property:t,onChange:e})=>{const{canReset:n,canChange:s}=g.useContext(Mn),r=On(t),o=g.useMemo(()=>d.get(r,"cls",""),[r]),{getClasses:i}=$s(),l=i(t,[""]),c=l.indexOf(o)>-1?l.indexOf(o):0,u=/\[.*\]/g.test(o);return a.jsx("div",{className:"flex flex-row divide-x divide-solid divide-border rounded border border-border text-xs",children:u?a.jsx("div",{className:"px-2 py-[5px]",children:o}):a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",className:"hover:bg-bg-gray-700 box-border w-2/12 rounded-bl rounded-tl bg-background px-1 text-center disabled:cursor-not-allowed disabled:bg-gray-600",disabled:!s&&(!n||c-1<0),onClick:()=>e(d.nth(l,c-1),t),children:a.jsx("span",{className:"flex items-center justify-center",children:a.jsx(v.MinusIcon,{className:!s&&(!n||c-1<0)?"text-gray-500":"text-black/60 dark:text-white/60"})})}),a.jsx("div",{className:"w-8/12 text-center",children:a.jsx(rc,{label:!1,property:t,onChange:e})}),a.jsx("button",{type:"button",className:"hover:bg-bg-gray-700 w-2/12 rounded-br rounded-tr bg-background px-1 text-center disabled:cursor-not-allowed disabled:bg-gray-600",disabled:!s&&(!n||c+1>=l.length),onClick:()=>e(d.nth(l,c+1),t),children:a.jsx("span",{className:"flex items-center justify-center",children:a.jsx(v.PlusIcon,{className:!s&&(!n||c+1>=l.length)?"text-gray-500":"text-black/60 dark:text-white/60"})})})]})})};function Lg(t){if(d.isEmpty(t.trim()))return"";const e=t.match(/sm:|md:|lg:|xl:|2xl:/g);return d.get(e,0,"xs").replace(":","")}function Dg(t){const e=d.map(ru,s=>`${s}:`).join("|"),n=new RegExp(e,"g");return d.get(n.exec(t.trim()),0,"").replace(":","")}function Mg(t){return t.trim().split(":").pop()||""}const dr={};function Og(t){if(d.isEmpty(t))return"";if(dr[t])return dr[t];let e="";for(const n in Xt){const s=d.get(Xt,`${n}.regExp`,"");if(new RegExp(s,"g").test(t)){e=n,dr[t]=e;break}}return e}function Fs(t){return d.isEmpty(t)?null:{dark:d.startsWith(t,"dark:"),mq:Lg(t),mod:Dg(t),cls:Mg(t),fullCls:t,property:Og(t)}}function $g(t){let e="";return t.dark&&(e+="dark:"),t.mq.toLowerCase()!=="xs"&&(e+=`${t.mq}:`),t.mod&&(e+=`${t.mod}:`),e+=t.cls,e}function ac(t){t=t.replace(/\s+/g," ");const e=t.split(" ").map(Fs).filter(s=>s!==null),n=["xs","sm","md","lg","xl","2xl"];return e.sort((s,r)=>n.indexOf(s.mq)-n.indexOf(r.mq)).map(s=>s.fullCls).join(" ")}function ic(t){if(t=t.replace(/\s+/g," "),!t)return"";const e=["xs","sm","md","lg","xl","2xl"],n=t.split(" ").map(Fs).filter(r=>r!==null);let s=t;if(n.length===1)return n[0].fullCls;for(const r of n){const o=r.property,i=e.indexOf(r.mq);for(let l=i+1;l<e.length;l++){const c=e[l],u=n.find(p=>p.property===o&&p.mq===c);if(u&&u.cls===r.cls)s=s.replace(u.fullCls,"");else if(u&&u.cls!==r.cls)break}}return s.replace(/\s+/g," ").trim()}const Fg=N.atom(null,(t,e,{blockIds:n,newClasses:s})=>{const r=d.filter(t(_n),i=>n.includes(t(i)._id)),o=d.first(t(Bn));return d.map(r,i=>{const l=t(i),c=d.get(l,o.prop,`${U.STYLES_KEY},`),{classes:u}=se.getSplitChaiClasses(c);return{ids:[l._id],props:{[o.prop]:`${U.STYLES_KEY},${ac(ic(Wa.twMerge(u,s)))}`}}})}),lc=()=>{const t=N.useSetAtom(Fg),{updateBlocks:e,updateBlocksRuntime:n}=Ee();return g.useCallback((s,r,o=!1)=>{const i=t({blockIds:s,newClasses:r});if(!o){n(s,i[0].props);return}e(s,i[0].props)},[t,e,n])},zg=t=>{const e=["xs","sm","md","lg","xl","2xl"],n=e.indexOf(t);return n===-1?["xs"]:e.slice(0,n+1)},Hg=N.atom(t=>{const e=d.first(t(Bn)),n=t(js);if(!e||e.blockId!==d.get(n,"_id",null))return[];const s=d.get(n,e.prop,`${U.STYLES_KEY},`),{classes:r}=se.getSplitChaiClasses(s);return d.filter(d.map(r.trim().split(" "),Fs),o=>!d.isNull(o))}),Aa={xs:0,sm:1,md:2,lg:3,xl:4,"2xl":5},Vg=N.atom(t=>{const e=t(Gl),n=t(Hr),s=t(Hi),r=zg(e);let o=d.filter(t(Hg),{mod:n});return d.startsWith(n,"_")||(o=d.filter(o,i=>r.includes(i.mq))),o=o.sort((i,l)=>Aa[i.mq]-Aa[l.mq]),s||(o=d.filter(o,{dark:!1})),o}),zs=()=>N.useAtomValue(Vg),Wg=()=>N.useAtom(Hr),On=t=>{const e=zs();return d.findLast(e,{property:t})},Gg=(t,e)=>{const n={xs:0,sm:1,md:2,lg:3,xl:4,"2xl":5};return n[d.get(t,"mq","xs")]<=n[e]},Ug={width:"w-",height:"h-",minWidth:"min-w-",minHeight:"min-h-",maxWidth:"max-w-",maxHeight:"max-h-",zIndex:"z-",gap:"gap-",gapX:"gap-x-",gapY:"gap-y-",margin:"m-",marginX:"mx-",marginY:"my-",marginTop:"mt-",marginBottom:"mb-",marginLeft:"ml-",marginRight:"mr-",padding:"p-",paddingX:"px-",paddingY:"py-",paddingTop:"pt-",paddingBottom:"pb-",paddingLeft:"pl-",paddingRight:"pr-",spaceX:"space-x-",spaceY:"space-y-",border:"border-",borderTop:"border-t-",borderBottom:"border-b-",borderLeft:"border-l-",borderRight:"border-r-",borderX:"border-x-",borderY:"border-y-",borderRadius:"rounded-",borderRadiusTop:"rounded-t-",borderRadiusRight:"rounded-r-",borderRadiusBottom:"rounded-b-",borderRadiusLeft:"rounded-l-",borderRadiusTopLeft:"rounded-tl-",borderRadiusTopRight:"rounded-tr-",borderRadiusBottomRight:"rounded-br-",borderRadiusBottomLeft:"rounded-bl-",fontSize:"text-",lineHeight:"leading-",letterSpacing:"tracking-",textIndent:"indent-",rotate:"rotate-",duration:"duration-",transitionDelay:"delay-",scale:"scale-",scaleX:"scale-x-",scaleY:"scale-y-",translateX:"translate-x-",translateY:"translate-y-",skewX:"skew-x-",skewY:"skew-y-",top:"top-",bottom:"bottom-",left:"left-",right:"right-",inset:"inset-",insetX:"inset-x-",insetY:"inset-y-",opacity:"opacity-",flexBasis:"basis-"},_a={xs:"",sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},qg=t=>`${t.toUpperCase()} ${_a[t]?`(${_a[t]} & up)`:""}`,vs=t=>{const{t:e}=z.useTranslation(),{type:n="icons",label:s,property:r,onEmitChange:o=()=>{},units:i,negative:l=!1}=t,[c]=rn(),[u]=Wg(),[,p]=bs(),f=On(r),m=lc(),h=To(),[x]=q(),b=g.useMemo(()=>d.get(f,"fullCls",""),[f]),y=g.useCallback((I,S=!0)=>{const E={dark:c,mq:p,mod:u,cls:I};(c||u!=="")&&(E.mq="xs");const _=$g(E);m(x,[_],S)},[x,c,p,u,r,m]),k=g.useCallback(()=>{h(x,[b],!0)},[x,b,h]),C=g.useMemo(()=>Gg(f,p),[f,p]);g.useEffect(()=>{o(C,f)},[C,o,f]);const[,,A]=bs(),w=g.useCallback(I=>{A({xs:400,sm:640,md:800,lg:1024,xl:1420,"2xl":1920}[I])},[A]),j=d.get(f,"dark",null)===c&&d.get(f,"mod",null)===u&&d.get(f,"mq",null)===p;return a.jsx(Cg,{canChange:C,canReset:f&&j,children:a.jsxs("div",{className:"group flex flex-row items-center py-2 first:pt-0 last:pb-0",children:[a.jsx("div",{className:"relative w-[70px] truncate text-xs text-foreground",children:a.jsx("span",{className:`text-[11px] ${f&&!j?"text-foreground":""}`,children:e(s)})}),a.jsxs("div",{className:"flex flex-row items-center",children:[a.jsxs("div",{className:"w-[150px]",children:[n==="arbitrary"?a.jsx(wg,{currentClass:d.get(f,"cls",""),classPrefix:d.get(Ug,r,""),units:i||[],onChange:y,negative:l,cssProperty:r}):null,n==="icons"&&a.jsx(Rg,{property:r,onChange:y}),n==="range"&&a.jsx(Pg,{property:r,onChange:y}),n==="color"&&a.jsx(Bg,{property:r,onChange:y}),n==="dropdown"&&a.jsx(rc,{label:s,property:r,onChange:y})]}),a.jsx("div",{className:`w-[30px] cursor-pointer ${b?"visible":"invisible"}`,children:j?a.jsx("button",{type:"button",onClick:()=>k(),title:"Reset",className:"flex px-1.5 text-xs",children:a.jsx(v.CrossCircledIcon,{className:"h-5 w-5 text-blue-500 hover:opacity-80"})}):C&&f?a.jsxs(fe,{delayDuration:100,children:[a.jsx(he,{asChild:!0,children:a.jsx("button",{type:"button",className:"invisible ml-3 mt-1 rounded-full bg-primary text-white group-hover:visible",children:a.jsx(v.InfoCircledIcon,{})})}),a.jsx(le,{children:a.jsx("div",{className:"text-right",children:a.jsxs("div",{children:["Current style is set at  ",a.jsxs("span",{className:"font-bold",children:[qg(d.get(f,"mq")),c&&!f.dark?"(Light mode)":""]}),a.jsx("br",{}),a.jsxs("button",{type:"button",onClick:()=>w(d.get(f,"mq")),className:"block w-full cursor-default text-right font-semibold text-blue-500",children:["Switch to ",d.get(f,"mq").toUpperCase()]})]})})})]}):null})]})]})})},Kg=["px","%","em","rem","ch","vh","vw"],Nr=({label:t,options:e,borderB:n=!1,borderT:s=!1,type:r="arbitrary",units:o=Kg,negative:i=!1})=>{const{t:l}=z.useTranslation(),[c,u]=g.useState(e[0].key),p=zs(),f=g.useCallback(m=>d.map(p,"property").includes(m),[p]);return a.jsxs("div",{className:`mb-2 border-border py-2 first:pt-0 last:pb-0 ${n?"border-b":""} ${s?"border-t":""}`,children:[a.jsxs("div",{className:"flex flex-row text-xs",children:[t&&a.jsx("span",{className:"relative w-[70px] flex-none text-xs text-foreground",children:l(t)}),a.jsx("div",{className:"mb-3 flex grow flex-row flex-wrap gap-x-px",children:e.map(({label:m,key:h},x)=>a.jsx("div",{className:"first:rounded-l last:rounded-r",children:a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsxs("button",{type:"button",onClick:()=>u(h),className:`relative cursor-pointer rounded-full p-1 text-[8px] ${h===c?"bg-[#3E57F0] text-white":"text-gray-600 dark:text-gray-300"}`,children:[g.createElement("div",{className:f(h)?"-bottom-1.5 absolute bg-[#3E57F0] h-[2px] left-0 w-full":""}),g.createElement(d.get(oc,h,v.BoxIcon),{className:"text-inherit w-3 h-3"})]})}),a.jsx(le,{children:d.startCase(d.toLower(m))})]})},`option-${x}`))})]}),a.jsx("div",{className:"mt-0 flex items-center",children:a.jsx(vs,{type:r,units:[...o],label:"",property:c,negative:i})})]})},Ia=({heading:t,items:e})=>{const{t:n}=z.useTranslation(),s=zs(),r=g.useMemo(()=>{const o=c=>d.flatten(c.map(u=>u.styleType==="multiple"?d.map(u.options,"key"):u.property)),i=d.flatten(e.map(c=>c.styleType==="accordion"?o(c.items):c.styleType==="multiple"?d.map(c.options,"key"):c.property)),l=d.map(s,"property");return d.intersection(i,l).length>0},[s,e]);return a.jsxs("details",{children:[a.jsx("summary",{className:"my-px cursor-default rounded-md bg-gray-50 p-px px-2 text-[11px] text-foreground dark:bg-gray-800",children:a.jsxs("div",{className:"inline",children:[d.startCase(n(t.toLowerCase())),r?a.jsx("span",{className:`ml-1 mr-2 inline-block h-[8px] w-[8px] rounded-full ${r?"bg-primary":"bg-gray-300"}`}):null]})}),a.jsx("div",{className:"p-2",children:e.map(o=>o.styleType==="multiple"?a.jsx(Nr,{...o},o.label):a.jsx(vs,{...o},o.label))})]})},Yg=g.createContext({}),ur=({section:t,showAccordian:e})=>{const{t:n}=z.useTranslation(),s=zs(),r=g.useCallback((i=[])=>{const l={};for(let u=0;u<s.length;u++)l[s[u].property]=s[u].cls;let c=!0;for(const u in i)if(!d.has(l,u)||l[u]!==i[u]){c=!1;break}return c},[s]),o=g.useMemo(()=>({}),[]);return a.jsx(Yg.Provider,{value:o,children:e?a.jsxs(Ao,{value:t.heading,className:"border-none",children:[a.jsx(_o,{className:"border-slate-150 border-t py-2 text-xs",children:a.jsx("div",{className:"flex items-center py-2",children:a.jsx("div",{className:"flex items-center gap-x-2 text-xs font-medium",children:d.startCase(n(t.heading))})})}),a.jsx(Io,{className:"py-2",children:t.items.map(i=>d.has(i,"component")?g.createElement(i.component,{key:i.label}):d.has(i,"styleType")?i.styleType==="multiple"?a.jsx(Nr,{...i},i.label+"multiple-choices"):i.styleType==="accordion"&&r(i==null?void 0:i.conditions)?a.jsx(Ia,{...i},i.label+"nested-options"):null:a.jsx(vs,{...i},i.label+"block-style"))})]}):a.jsx("div",{className:"py-2",children:t.items.map((i,l)=>d.has(i,"component")?g.createElement(i.component,{key:i.label}):d.has(i,"styleType")?i.styleType==="multiple"?a.jsx(Nr,{...i},i.label+"multiple-choices"+l):i.styleType==="accordion"&&r(i==null?void 0:i.conditions)?a.jsx(Ia,{...i},i.label+"nested-options"+l):null:a.jsx(vs,{...i},i.label+"block-style"+l))})})},cc=ws.Root,dc=ws.Trigger,Bo=O.forwardRef(({className:t,align:e="center",sideOffset:n=4,...s},r)=>a.jsx(ws.Content,{ref:r,align:e,sideOffset:n,className:T.cn("z-50 w-64 origin-[--radix-hover-card-content-transform-origin] rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s}));Bo.displayName=ws.Content.displayName;const Xg=Oe.atomWithStorage("selectedBreakpoints",["XS","MD","XL"]),Jg=()=>{const[t,e]=N.useAtom(Xg);return[t,e]},Ta=({className:t=""})=>a.jsxs("svg",{className:pe.cn("h-4 w-4",t),fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2",ry:"2"}),a.jsx("line",{x1:"12",y1:"18",x2:"12.01",y2:"18"})]}),Zg=({className:t=""})=>a.jsxs("svg",{className:pe.cn("h-4 w-4",t),fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"2",y:"4",width:"20",height:"12",rx:"2",ry:"2"}),a.jsx("line",{x1:"6",y1:"20",x2:"18",y2:"20"}),a.jsx("line",{x1:"12",y1:"16",x2:"12",y2:"20"})]}),Qg=({className:t=""})=>a.jsxs("svg",{className:pe.cn("h-4 w-4",t),fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",ry:"2"}),a.jsx("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),a.jsx("line",{x1:"12",y1:"17",x2:"12",y2:"21"})]}),Ba=({landscape:t=!1,className:e=""})=>a.jsxs("svg",{className:pe.cn("h-4 w-4",t?"rotate-90":"",e),fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2",ry:"2"}),a.jsx("line",{x1:"12",y1:"18",x2:"12.01",y2:"18"})]}),Er=[{title:"Mobile (Base)",content:"Styles set here are applied to all screen unless edited at higher breakpoint",breakpoint:"xs",icon:a.jsx(Ta,{className:"h-4 w-4"}),width:400},{title:"Mobile landscape (SM)",content:"Styles set here are applied at 640px and up unless edited at higher breakpoint",breakpoint:"sm",icon:a.jsx(Ta,{className:"h-4 w-4 rotate-90"}),width:640},{title:"Tablet (MD)",content:"Styles set here are applied at 768px and up",breakpoint:"md",icon:a.jsx(Ba,{}),width:800},{title:"Tablet Landscape (LG)",content:"Styles set here are applied at 1024px and up unless edited at higher breakpoint",breakpoint:"lg",icon:a.jsx(Ba,{landscape:!0}),width:1024},{title:"Desktop (XL)",content:"Styles set here are applied at 1280px and up unless edited at higher breakpoint",breakpoint:"xl",icon:a.jsx(Zg,{className:"h-4 w-4"}),width:1420},{title:"Large Desktop (2XL)",content:"Styles set here are applied at 1536px and up",breakpoint:"2xl",icon:a.jsx(Qg,{className:"h-4 w-4"}),width:1920}],Ra=({canvas:t=!1,openDelay:e=400,tooltip:n=!0,title:s,content:r,currentBreakpoint:o,breakpoint:i,width:l,icon:c,onClick:u,buttonClass:p="",activeButtonClass:f=""})=>{const{t:m}=z.useTranslation();return n?a.jsxs(cc,{openDelay:e,children:[a.jsx(dc,{asChild:!0,children:a.jsx(T.Button,{onClick:()=>u(l),size:"sm",className:pe.cn("h-7 w-7 rounded-md p-1",i===o?f:p),variant:"ghost",children:c})}),a.jsx(Bo,{className:"w-fit max-w-52 border-border",children:a.jsx("div",{className:"flex justify-between space-x-4",children:a.jsxs("div",{className:"space-y-1",children:[a.jsx("h4",{className:"text-sm font-semibold",children:m(s)}),t&&a.jsx("p",{className:"text-xs",children:m(r)})]})})})]}):a.jsx(T.Button,{onClick:()=>u(l),size:"sm",className:"h-7 w-7 rounded-md p-1",variant:i===o?"outline":"ghost",children:c})},uc=({openDelay:t=400,canvas:e=!1,tooltip:n=!0,buttonClass:s="",activeButtonClass:r=""})=>{const[o,,i]=bs(),[l,c]=yo(),[u,p]=Jg(),f=u,m=p,{t:h}=z.useTranslation(),x=$("breakpoints",Er),b=C=>{f.includes(C)?f.length>2&&m(f.filter(A=>A!==C)):m(A=>[...A,C])},y=C=>{e||i(C),c(C)},k=pe.getBreakpointValue(e?l:o).toLowerCase();return x.length<4?a.jsx("div",{className:"flex items-center rounded-md",children:d.map(x,C=>g.createElement(Ra,{canvas:e,...C,onClick:y,key:C.breakpoint,currentBreakpoint:k,activeButtonClass:"bg-gray-700"}))}):a.jsxs("div",{className:"flex w-full items-center justify-between rounded-md",children:[a.jsx("div",{className:"flex items-center",children:d.map(x.filter(C=>d.includes(f,d.toUpper(C.breakpoint))),C=>g.createElement(Ra,{canvas:e,openDelay:t,tooltip:n,...C,onClick:y,key:C.breakpoint,currentBreakpoint:k,buttonClass:s,activeButtonClass:r}))}),a.jsxs(mt,{children:[a.jsx(gt,{asChild:!0,children:a.jsx("span",{className:"cursor-pointer rounded-md p-1 hover:bg-background",children:a.jsx(v.ChevronDownIcon,{className:"scale-90 transform"})})}),a.jsxs(et,{className:"w-56 border-border text-xs",children:[a.jsx(Rr,{children:h("Screen sizes")}),a.jsx(Pr,{}),d.map(x,C=>a.jsx(Ya,{disabled:C.breakpoint==="xs",onCheckedChange:()=>b(d.toUpper(C.breakpoint)),checked:d.includes(f,d.toUpper(C.breakpoint)),onSelect:A=>A.preventDefault(),children:h(C.title)},C.breakpoint))]})]})]})};function ex(){const[,t]=bs(),{t:e}=z.useTranslation(),n=g.useMemo(()=>{const s=Er.find(r=>r.breakpoint===t);return(s==null?void 0:s.content)??""},[t,Er]);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"sticky top-0 z-10 flex items-center justify-start bg-muted px-2 py-1 shadow-sm",children:[a.jsxs("p",{className:"text-xs text-muted-foreground",children:[e("Screen")," "]}),a.jsx(uc,{openDelay:1e3,tooltip:!1})]}),a.jsx("div",{className:"mb-2 flex items-center justify-between rounded-md rounded-t-none border border-border p-1",children:a.jsx("p",{className:"flex flex-1 items-center space-x-2 text-[10px] text-foreground",children:a.jsxs("span",{className:"text-xs text-foreground",children:[a.jsx("span",{className:"rounded-md bg-muted px-1 py-px text-xs font-bold uppercase text-muted-foreground",children:t==="xs"?"Base":t}),"  ",e(n)]})})})]})}const tx=Ir.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ct=O.forwardRef(({className:t,...e},n)=>a.jsx(qa.Root,{ref:n,className:T.cn(tx(),t),...e}));ct.displayName=qa.Root.displayName;const Ar=({className:t=""})=>a.jsx(v.TokensIcon,{className:t}),nx=g.lazy(()=>Promise.resolve().then(()=>require("./manage-design-tokens-modal-m3D2luIa.cjs")));function Ro({from:t="default",classFromProps:e,onAddNew:n,onRemove:s,showDesignTokenSuggestions:r=!0}){var Ko;const o=g.useRef(null),[i,l]=g.useState(""),[c,u]=g.useState(!1),[p,f]=g.useState(-1),m=g.useRef(!1),[h,x]=g.useState(!1),b=Ig(),{t:y}=z.useTranslation(),[k]=Ae(),C=X(),A=lc(),w=To(),[j]=q(),[I,S]=g.useState(""),E=N.useAtomValue(en),_=(Ko=d.first(k))==null?void 0:Ko.prop,{classes:B}=se.getSplitChaiClasses(d.get(C,_,"")),R=(t==="default"?B:e??"").split(" ").filter(F=>!d.isEmpty(F)),M=g.useMemo(()=>[...R].sort((F,ne)=>{const Ce=F.startsWith(U.DESIGN_TOKEN_PREFIX),st=ne.startsWith(U.DESIGN_TOKEN_PREFIX);return Ce&&!st?-1:!Ce&&st?1:0}),[R]),H=$("flags.copyPaste",!0),G=F=>{const ne=F.startsWith(U.DESIGN_TOKEN_PREFIX),Ce=a.jsx("div",{className:"group relative flex max-w-[260px] items-center",children:a.jsxs("button",{onDoubleClick:()=>{S(be(F)),t==="default"?w(j,[F],!0):(d.isFunction(s)&&s(F),S(F)),setTimeout(()=>{o.current&&o.current.focus()},10)},className:"flex h-max cursor-default items-center gap-x-1 truncate break-words rounded bg-gray-200 py-px pl-0.5 pr-1 text-[11px] text-gray-600 dark:bg-gray-800 dark:text-gray-300",children:[a.jsxs("div",{className:"z-10 flex h-full w-max items-center justify-center",children:[a.jsx(v.Cross2Icon,{onClick:()=>{t==="default"?w(j,[F],!0):d.isFunction(s)&&s(F)},className:"hidden h-max w-3.5 cursor-pointer rounded bg-gray-100 p-0.5 text-red-500 hover:bg-gray-50 group-hover:block"}),F.startsWith(U.DESIGN_TOKEN_PREFIX)?a.jsx(Ar,{className:"text-[rgba(55, 65, 81, 0.4)] h-3.5 w-3.5 group-hover:hidden"}):a.jsxs("svg",{className:"h-3.5 w-3.5 group-hover:hidden",fill:"rgba(55, 65, 81, 0.4)",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",xmlSpace:"preserve",children:[a.jsx("g",{id:"SVGRepo_bgCarrier",strokeWidth:"0"}),a.jsx("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("g",{id:"SVGRepo_iconCarrier",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 6.036c-2.667 0-4.333 1.325-5 3.976 1-1.325 2.167-1.822 3.5-1.491.761.189 1.305.738 1.906 1.345C13.387 10.855 14.522 12 17 12c2.667 0 4.333-1.325 5-3.976-1 1.325-2.166 1.822-3.5 1.491-.761-.189-1.305-.738-1.907-1.345-.98-.99-2.114-2.134-4.593-2.134zM7 12c-2.667 0-4.333 1.325-5 3.976 1-1.326 2.167-1.822 3.5-1.491.761.189 1.305.738 1.907 1.345.98.989 2.115 2.134 4.594 2.134 2.667 0 4.333-1.325 5-3.976-1 1.325-2.167 1.822-3.5 1.491-.761-.189-1.305-.738-1.906-1.345C10.613 13.145 9.478 12 7 12z"})})]})]}),a.jsx("div",{children:be(F)})]})},F);return ne&&E[F]?a.jsxs(fe,{delayDuration:200,children:[a.jsx(he,{asChild:!0,children:Ce}),a.jsx(le,{side:"bottom",className:"max-w-[300px]",children:a.jsx("p",{className:"font-light",children:E[F].value})})]},F):Ce},be=F=>{if(F.startsWith(U.DESIGN_TOKEN_PREFIX)){const ne=E[F];return ne?ne.name:F}return F},de=F=>{const ne=Object.entries(E).find(([,Ce])=>Ce.name===F);return ne?`${ne[0]}`:F},re=()=>{const F=I.trim().replace(/ +(?= )/g,"").split(" ").map(de);t==="designToken"?d.isFunction(n)&&n(F):A(j,F,!0),S("")},[we,Le]=g.useState([]),V=$("flags.designTokens",!0),_e=({value:F})=>{const ne=F.trim().toLowerCase(),Ce=ne.match(/.+:/g);let st=[],Ks=[];if(V&&r&&(ne===""?Ks=Object.entries(E).map(([dt,un])=>({name:un.name,id:`${dt}`,isDesignToken:!0})):Ks=Object.entries(E).filter(([,dt])=>dt.name.toLowerCase().includes(ne)).map(([dt,un])=>({name:un.name,id:`${dt}`,isDesignToken:!0}))),Ce&&Ce.length>0){const[dt]=Ce,un=ne.replace(dt,"");st=b.search(un).map(Ys=>({...Ys,item:{...Ys.item,name:dt+Ys.item.name}}))}else st=b.search(ne);const Jc=[...Ks,...d.map(st,"item")];return Le(Jc)},yt=()=>{Le([])},Vt=F=>F.name,Wt=F=>a.jsxs("div",{className:"flex items-center gap-2 rounded-md p-1",children:[F.isDesignToken&&a.jsx(Ar,{className:"h-4 w-4 text-gray-600"}),a.jsx("span",{children:F.name})]}),kt=g.useMemo(()=>({ref:o,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,placeholder:`${y(r?"Enter classes separated by space or design tokens":"Enter classes separated by space")}`,value:I,onFocus:F=>{setTimeout(()=>{F.target&&F.target.select()},0)},onKeyDown:F=>{if(F.key==="Enter"&&I.trim()!==""){if(m.current){m.current=!1;return}F.preventDefault(),re()}if(F.key==="Tab"&&we.length>0){F.preventDefault();const ne=new KeyboardEvent("keydown",{key:"ArrowDown",code:"ArrowDown",keyCode:40,bubbles:!0});F.target.dispatchEvent(ne)}},onChange:(F,{newValue:ne})=>S(ne),className:`w-full rounded-md text-xs px-2 hover:outline-0 bg-background border-border ${t==="default"?"py-1":"py-1.5"}`}),[I,y,o,we.length]),qs=F=>{const ne=i.trim().replace(/ +(?= )/g,"").split(" ").map(de);w(j,[F],!0),A(j,ne,!0),l(""),f(-1)},Wn=()=>{if(navigator.clipboard===void 0){ue.toast.error(y("Clipboard not supported"));return}navigator.clipboard.writeText(R.join(" ")),ue.toast.success(y("Classes copied to clipboard")),u(!0),setTimeout(()=>u(!1),2e3)};return a.jsxs("div",{className:`flex w-full flex-col gap-y-1.5 pb-4 ${t==="designToken"?"border-none":"border-b border-border"}`,children:[a.jsx("div",{className:"flex items-center justify-between gap-x-2",children:a.jsxs("div",{className:"flex w-full items-center justify-between gap-x-2 text-muted-foreground",children:[a.jsxs("span",{className:"flex items-center gap-x-1",children:[a.jsx("span",{children:t==="designToken"?a.jsx(ct,{className:"text-sm font-medium leading-tight text-gray-900 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:y("Token Classes")}):y(V?"Styles":"Classes")}),H&&a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:c?a.jsx(v.CheckIcon,{className:"rounded-full border border-green-500 bg-green-500/10 text-green-500"}):a.jsx(v.CopyIcon,{onClick:Wn,className:"cursor-pointer"})}),a.jsx(le,{children:a.jsx("p",{children:y("Copy classes to clipboard")})})]})]}),V&&t==="default"&&a.jsx(T.Button,{variant:"link",className:"underline",onClick:()=>x(!0),children:y("Design Tokens")})]})}),a.jsxs("div",{className:"relative flex items-center gap-x-3",children:[a.jsx("div",{className:"relative flex w-full items-center gap-x-3",children:a.jsx(kd,{suggestions:we,onSuggestionsFetchRequested:_e,onSuggestionsClearRequested:yt,getSuggestionValue:Vt,renderSuggestion:Wt,inputProps:kt,onSuggestionSelected:(F,{suggestionValue:ne})=>{m.current=!0;const st=[de(ne)];t==="designToken"?d.isFunction(n)&&n(st):A(j,st,!0),S("")},containerProps:{className:"relative h-8 w-full gap-y-1 py-1 border-border text-xs"},theme:{suggestion:"bg-transparent",suggestionHighlighted:"!bg-gray-300 dark:!bg-gray-800 cursor-pointer",suggestionsContainerOpen:"absolute bg-background no-scrollbar z-50 max-h-[230px] overflow-y-auto w-full border border-border rounded-md"}})}),a.jsx(T.Button,{variant:"outline",className:`border-border ${t==="default"?"h-6":"mt-1 h-7"}`,onClick:re,disabled:I.trim()==="",size:"sm",children:a.jsx(v.PlusIcon,{})})]}),a.jsx("div",{className:"flex w-full flex-wrap gap-2 overflow-x-hidden",children:M.map((F,ne)=>p===ne?a.jsx("input",{ref:o,value:i,onChange:Ce=>l(Ce.target.value),onBlur:()=>{qs(F)},onKeyDown:Ce=>{Ce.key==="Enter"&&qs(F)},onFocus:Ce=>{setTimeout(()=>{Ce.target.select()},0)},className:"group relative flex max-w-[260px] cursor-default items-center gap-x-1 truncate break-words rounded border border-border bg-gray-200 p-px px-1.5 pr-2 text-[11px] text-gray-600 hover:border-gray-300 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-300"},F):G(F))}),a.jsx(g.Suspense,{fallback:null,children:a.jsx(nx,{open:h,onOpenChange:x})})]})}const Se=["px","%","em","rem","ch","vh","vw"],sx={heading:"flex.heading",items:[{type:"arbitrary",label:"flex.basis",units:Se,property:"flexBasis"},{type:"range",label:"flex.order",property:"order"},{type:"dropdown",label:"flex.flex",property:"flexGrowShrink"},{type:"dropdown",label:"flex.grow",property:"flexGrow"},{type:"dropdown",label:"flex.shrink",property:"flexShrink"}]},rx={heading:"grid.heading",items:[{type:"range",label:"grid.col_span",property:"gridColSpan"},{type:"range",label:"grid.col_start",property:"gridColStart"},{type:"range",label:"grid.col_end",property:"gridColEnd"},{type:"range",label:"grid.row_span",property:"gridRowSpan"},{type:"range",label:"grid.row_start",property:"gridRowStart"},{type:"range",label:"grid.row_end",property:"gridRowEnd"},{type:"range",label:"grid.order",property:"order"}]},ox=[{heading:"Styles",items:[{component:Ro},{component:ex},{type:"arbitrary",label:"layout.width",units:Se.concat("auto"),property:"width"},{type:"arbitrary",label:"layout.height",units:Se.concat("auto"),property:"height"},{styleType:"multiple",label:"layout.margin",negative:!0,units:[...Se,"auto"],options:[{key:"margin",label:"layout.margin_all"},{key:"marginX",label:"layout.margin_lr"},{key:"marginY",label:"layout.margin_tb"},{key:"marginTop",label:"layout.margin_top"},{key:"marginRight",label:"layout.margin_right"},{key:"marginBottom",label:"layout.margin_bottom"},{key:"marginLeft",label:"layout.margin_left"}]},{styleType:"multiple",label:"layout.padding",options:[{key:"padding",label:"layout.padding_all"},{key:"paddingX",label:"layout.padding_lr"},{key:"paddingY",label:"layout.padding_tb"},{key:"paddingTop",label:"layout.padding_top"},{key:"paddingRight",label:"layout.padding_right"},{key:"paddingBottom",label:"layout.padding_bottom"},{key:"paddingLeft",label:"layout.padding_left"}]},{styleType:"accordion",heading:"typography.heading",items:[{type:"dropdown",property:"textAlign",label:"typography.align"},{type:"dropdown",property:"fontFamily",label:"typography.font"},{type:"arbitrary",property:"fontSize",label:"typography.size",units:Se},{type:"arbitrary",property:"lineHeight",label:"typography.height",units:Se.concat("-")},{type:"range",property:"fontWeight",label:"typography.weight"},{type:"color",property:"textColor",label:"typography.color"}]},{styleType:"accordion",heading:"background.heading",items:[{type:"color",label:"background.bgcolor",property:"backgroundColor"},{type:"dropdown",label:"background.attachment",property:"backgroundAttachment"},{type:"dropdown",label:"background.clipping",property:"backgroundClip"},{type:"dropdown",label:"background.origin",property:"backgroundOrigin"},{type:"dropdown",label:"background.position",property:"backgroundPosition"},{type:"dropdown",label:"background.repeat",property:"backgroundRepeat"},{type:"dropdown",label:"background.size",property:"backgroundSize"}]}]}];Se.concat("auto"),Se.concat("auto"),[...Se],Se.concat("auto"),Se.concat("auto"),Se.concat("auto"),Se.concat("auto"),Se.concat("-");const ax={px:1,"%":1,em:100,rem:100,ch:1,vw:1,vh:1,"-":1,deg:1,ms:.1};function _r(){const{flexChild:t,gridChild:e}=Gd(),[n]=Ae(),[s,r]=g.useState(""),[o,i]=g.useState({onDrag:u=>u,onDragEnd:u=>u,dragStartY:0,dragging:!1,dragStartValue:0,dragUnit:"",negative:!1,cssProperty:""}),l=xe.useThrottledCallback(u=>{const p=!d.get(o,"negative",!1),f=d.get(o,"cssProperty","");let m=parseFloat(o.dragStartValue);m=isNaN(m)?0:m;let h=ax[o.dragUnit];(d.startsWith(f,"scale")||f==="opacity")&&(h=10);let b=(o.dragStartY-u.pageY)/h+m;p&&b<0&&(b=0),f==="opacity"&&b>1&&(b=1),o.onDrag(`${b}`),r(`${b}`)},[o],50),c=g.useCallback(()=>{setTimeout(()=>o.onDragEnd(`${s}`),100),i({onDrag:u=>u,onDragEnd:u=>u,dragStartY:0,dragging:!1,dragStartValue:0,dragUnit:"",negative:!1,cssProperty:""})},[o,s,i]);return d.isEmpty(n)?null:a.jsxs(nc.Provider,{value:{setDragData:i},children:[o.dragging?a.jsx("div",{onMouseMove:l,onMouseUp:()=>c(),className:"absolute inset-0 z-30 cursor-row-resize bg-gray-300/10"}):null,a.jsxs("div",{className:"flex flex-col",children:[a.jsx(xg,{}),a.jsxs(ec,{defaultValue:["Styles"],type:"multiple",className:"w-full",children:[t&&a.jsx(ur,{section:sx,showAccordian:t||e}),e&&a.jsx(ur,{section:rx,showAccordian:t||e}),ox.map(u=>a.jsx(ur,{section:u,showAccordian:t||e},u.heading))]})]})]})}const An=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(At.Root,{ref:s,className:T.cn("relative overflow-hidden",t),...n,children:[a.jsx(At.Viewport,{className:"h-full w-full rounded-[inherit]",children:e}),a.jsx(pc,{}),a.jsx(At.Corner,{})]}));An.displayName=At.Root.displayName;const pc=O.forwardRef(({className:t,orientation:e="vertical",...n},s)=>a.jsx(At.ScrollAreaScrollbar,{ref:s,orientation:e,className:T.cn("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...n,children:a.jsx(At.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));pc.displayName=At.ScrollAreaScrollbar.displayName;const Hs=Mt.Root,$n=O.forwardRef(({className:t,...e},n)=>a.jsx(Mt.List,{ref:n,className:T.cn("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",t),...e}));$n.displayName=Mt.List.displayName;const Ve=O.forwardRef(({className:t,...e},n)=>a.jsx(Mt.Trigger,{ref:n,className:T.cn("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",t),...e}));Ve.displayName=Mt.Trigger.displayName;const at=O.forwardRef(({className:t,...e},n)=>a.jsx(Mt.Content,{ref:n,className:T.cn("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...e}));at.displayName=Mt.Content.displayName;const ix=({block:t,disabled:e,parentId:n,position:s})=>{const{type:r,icon:o,label:i,disabledReason:l}=t,c=e||t.disabled,{addCoreBlock:u,addPredefinedBlock:p}=xt(),f=()=>{if(d.has(t,"blocks")){const y=d.isFunction(t.blocks)?t.blocks():t.blocks;p(K.syncBlocksWithDefaultProps(y),n||null,s)}else u(t,n||null,s);ae.publish(Y.CLOSE_ADD_BLOCK)},m=Ye(),{t:h}=z.useTranslation(),{onDragStart:x,onDragEnd:b}=sn();return a.jsx(a.Fragment,{children:a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsxs("button",{disabled:c,onClick:f,type:"button",onDragStart:y=>!c&&x(y,{...t,label:i,icon:o}),onDragEnd:b,draggable:m&&!c,className:`${d.kebabCase(`chai-block-${r}`)} ${m&&!c?"cursor-grab active:cursor-grabbing":"cursor-pointer"} space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400 dark:border-gray-700 dark:text-white dark:hover:bg-slate-800/50 dark:disabled:bg-gray-900 dark:disabled:text-foreground ${c?"opacity-50":""}`,children:[g.createElement(o||v.BoxIcon,{className:"w-4 h-4 mx-auto","data-add-core-block-icon":r}),a.jsx("p",{className:"truncate text-xs",children:d.capitalize(h(i||r))})]})}),a.jsx(le,{children:a.jsx("p",{children:c&&l?l:h(i||r)})})]})})},fc=({parentId:t,position:e,gridCols:n="grid-cols-2",disableBlockGroupsSidebar:s=!1})=>{const r=K.useRegisteredChaiBlocks(),o=d.groupBy(r,"category"),i=d.uniq(d.map(o.core,"group"));return a.jsx(jc,{gridCols:n,parentId:t,position:e,groups:i,blocks:o.core,disableBlockGroupsSidebar:s})},Po=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("rounded-xl border bg-card text-card-foreground shadow",t),...e}));Po.displayName="Card";const Lo=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("flex flex-col space-y-1.5 p-6",t),...e}));Lo.displayName="CardHeader";const hc=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("font-semibold leading-none tracking-tight",t),...e}));hc.displayName="CardTitle";const mc=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("text-sm text-muted-foreground",t),...e}));mc.displayName="CardDescription";const Do=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("p-6 pt-0",t),...e}));Do.displayName="CardContent";const Mo=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("flex items-center p-6 pt-0",t),...e}));Mo.displayName="CardFooter";const Fn=O.forwardRef(({className:t,...e},n)=>a.jsx("textarea",{className:T.cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:n,...e}));Fn.displayName="Textarea";const gc=({parentId:t,position:e,fromSidebar:n})=>{const{t:s}=z.useTranslation(),[r,o]=g.useState(""),{addPredefinedBlock:i}=xt(),[l,c]=g.useState(!1),u=async()=>{c(!0);const p=await T.getPreImportHTML(r),f=se.getBlocksFromHTML(p);i([...f],t,e),o(""),c(!1),ae.publish(Y.CLOSE_ADD_BLOCK)};return a.jsxs(Po,{className:`border-border/0 p-0 shadow-none ${n?"w-full":"max-w-full"}`,children:[a.jsx(Lo,{className:n?"p-0":"p-3",children:a.jsx(mc,{className:n?"text-xs":"",children:s("Use HTML snippets from Tailwind CSS component libraries")})}),a.jsx(Do,{className:`space-y-2 py-0 ${n?"p-0":"px-3"}`,children:a.jsxs("div",{className:"space-y-1",children:[a.jsx(ct,{htmlFor:"current",className:"text-sm",children:s("Tailwind HTML snippet")}),a.jsx(Fn,{onChange:p=>o(p.target.value),rows:12,value:r,placeholder:s("Enter your code snippet here"),className:"resize-none overflow-x-auto whitespace-pre bg-background font-mono text-xs font-normal"})]})}),a.jsx(Mo,{className:"flex flex-col justify-end p-3",children:a.jsx(T.Button,{disabled:r.trim()===""||l,onClick:()=>u(),size:"sm",className:"w-fit",children:l?a.jsxs(a.Fragment,{children:[a.jsx(v.CircleIcon,{className:"mr-2 h-4 w-4 animate-spin"})," ",s("Importing...")]}):s("Import HTML")})})]})},Vs=ye.Root,Oo=ye.Value,zn=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(ye.Trigger,{ref:s,className:T.cn("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground [&>span]:line-clamp-1",t),...n,children:[e,a.jsx(ye.Icon,{asChild:!0,children:a.jsx(v.ChevronDownIcon,{className:"h-4 w-4 opacity-50"})})]}));zn.displayName=ye.Trigger.displayName;const xc=O.forwardRef(({className:t,...e},n)=>a.jsx(ye.ScrollUpButton,{ref:n,className:T.cn("flex cursor-default items-center justify-center py-1",t),...e,children:a.jsx(v.ChevronUpIcon,{className:"h-4 w-4"})}));xc.displayName=ye.ScrollUpButton.displayName;const bc=O.forwardRef(({className:t,...e},n)=>a.jsx(ye.ScrollDownButton,{ref:n,className:T.cn("flex cursor-default items-center justify-center py-1",t),...e,children:a.jsx(v.ChevronDownIcon,{className:"h-4 w-4"})}));bc.displayName=ye.ScrollDownButton.displayName;const Hn=O.forwardRef(({className:t,children:e,position:n="popper",...s},r)=>a.jsx(ye.Portal,{children:a.jsxs(ye.Content,{ref:r,className:T.cn("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] origin-[--radix-select-content-transform-origin] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...s,children:[a.jsx(xc,{}),a.jsx(ye.Viewport,{className:T.cn("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),a.jsx(bc,{})]})}));Hn.displayName=ye.Content.displayName;const lx=O.forwardRef(({className:t,...e},n)=>a.jsx(ye.Label,{ref:n,className:T.cn("px-2 py-1.5 text-sm font-semibold",t),...e}));lx.displayName=ye.Label.displayName;const Vn=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(ye.Item,{ref:s,className:T.cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[a.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(ye.ItemIndicator,{children:a.jsx(v.CheckIcon,{className:"h-4 w-4"})})}),a.jsx(ye.ItemText,{children:e})]}));Vn.displayName=ye.Item.displayName;const cx=O.forwardRef(({className:t,...e},n)=>a.jsx(ye.Separator,{ref:n,className:T.cn("-mx-1 my-1 h-px bg-muted",t),...e}));cx.displayName=ye.Separator.displayName;const dx=({defaultValue:t="",onValueChange:e,options:n,placeholder:s="Select",className:r="",height:o=""})=>{const[i,l]=g.useState(t),c=u=>{const p=u.target.value;l(p),e(p)};return a.jsx("div",{className:pe.cn("relative inline-block w-full",r),children:a.jsxs("select",{className:pe.cn("mt-1 flex w-full rounded-md border border-border bg-background px-3 py-1 text-sm text-foreground shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",o),value:i,onChange:c,children:[a.jsx("option",{value:"",disabled:!0,children:s}),n.map(u=>a.jsx("option",{value:u.value,children:u.label},u.value))]})})};function ux({uiLibraries:t,library:e,setLibrary:n}){const{t:s}=z.useTranslation();return e?a.jsxs("div",{className:"h-12",children:[a.jsx("p",{className:"text-xs font-bold text-gray-500",children:s("Choose library")}),a.jsx(dx,{className:"mb-1",options:t.map(r=>({value:r.id,label:r.name})),defaultValue:e,onValueChange:r=>n(r)})]}):null}const yc=N.atom({}),kc=t=>{const[e,n]=N.useAtom(yc),s=g.useMemo(()=>(t==null?void 0:t.getBlocksList)||(()=>[]),[t]),r=d.get(e,`${t==null?void 0:t.id}.blocks`,null),o=d.get(e,`${t==null?void 0:t.id}.loading`,"idle"),i=d.get(e,`${t==null?void 0:t.id}.error`,!1),l=g.useRef("idle");g.useEffect(()=>{(async()=>{if(t&&!(o==="complete"||l.current==="loading")){l.current="loading",n(u=>({...u,[t==null?void 0:t.id]:{loading:"loading",blocks:[],error:!1}}));try{const u=await s(t);l.current="idle",n(p=>({...p,[t==null?void 0:t.id]:{loading:"complete",blocks:u||[],error:!1}}))}catch{l.current="idle",n(u=>({...u,[t==null?void 0:t.id]:{loading:"complete",blocks:[],error:!0}}))}}})()},[t,r,o,l,n,s]);const c=g.useCallback(u=>{n(p=>({...p,[u]:{loading:"idle",blocks:[],error:!1}}))},[n]);return{data:r||[],isLoading:o==="loading",isError:i,resetLibrary:c}},px=()=>N.useAtom(Zr),vc=({block:t,html:e,blocks:n,children:s,onDragStart:r,onDragEnd:o,draggable:i,className:l="",type:c="Box"})=>{const{onDragStart:u,onDragEnd:p}=sn(),f=Ye(),[,m]=q(),{clearHighlight:h}=nt(),x=i!==void 0?i:f,b=async k=>{try{if(r){r(k);return}let C=null;if(c==="Image"){if(!(t!=null&&t.image))return;C={type:"Image",blocks:[{_type:"Image",styles:"#styles:,w-full h-full object-cover",image:t==null?void 0:t.image,alt:(t==null?void 0:t.alt)||"",_name:(t==null?void 0:t.name)||"Image"}]}}else if(e){const A=typeof e=="function"?await e():e,w=se.getBlocksFromHTML(A);if(d.isEmpty(w))return;C={type:"Box",blocks:w,name:d.get(w,"0._type","Block")}}else if(n){const A=typeof n=="function"?await n():n;if(d.isEmpty(A))return;C={type:"Box",blocks:A,name:d.get(A,"0._type","Block")}}else if(t){const A=typeof t=="function"?await t():t;C=typeof A=="object"?d.omit(A,["component","icon"]):A}if(!C)return;u(k,C,!0),setTimeout(()=>{m([]),h()},200)}catch(C){console.error("Error in ChaiDraggableBlock drag start:",C)}},y=k=>{o?o(k):p()};return a.jsx("div",{draggable:x,onDragStart:b,onDragEnd:y,className:`${x?"cursor-grab active:cursor-grabbing":""} ${l}`.trim(),children:s})};function wc({value:t,setValue:e}){const{t:n}=z.useTranslation();return a.jsx("div",{className:"flex py-2",children:a.jsxs("div",{className:"relative flex w-full max-w-md items-center rounded border px-2",children:[a.jsxs("div",{className:"flex w-full items-center gap-x-2",children:[a.jsx(v.MagnifyingGlassIcon,{className:"h-5 w-5 flex-shrink-0 stroke-[1px] text-muted-foreground"}),a.jsx(T.Input,{placeholder:n("Search blocks..."),value:t,onChange:s=>e(s.target.value),className:"w-full flex-1 border-none p-0 leading-tight outline-none"})]}),t&&a.jsx("button",{onClick:()=>e(""),className:"absolute right-2.5 top-2.5 text-muted-foreground hover:text-foreground",children:a.jsx(v.Cross1Icon,{className:"h-3.5 w-3.5"})})]})})}const Pa=({block:t,library:e,parentId:n=void 0,position:s=-1})=>{const[r,o]=g.useState(!1),i=g.useMemo(()=>(e==null?void 0:e.getBlock)||(()=>[]),[e]),{addCoreBlock:l,addPredefinedBlock:c}=xt(),u=d.get(t,"name",d.get(t,"label")),p=d.get(t,"description",""),{onDragStart:f,onDragEnd:m}=sn(),h=Ye(),x=g.useCallback(async y=>{if(y.stopPropagation(),d.has(t,"component")){l(t,n,s),ae.publish(Y.CLOSE_ADD_BLOCK);return}o(!0);let k=await i({library:e,block:t});typeof k=="string"&&(k=se.getBlocksFromHTML(k)),d.isEmpty(k)||c(K.syncBlocksWithDefaultProps(k),n,s),ae.publish(Y.CLOSE_ADD_BLOCK),setTimeout(()=>o(!1),1e3)},[l,c,t,i,e,n,s]),b=async y=>{if(!h)return;let k=await i({library:e,block:t});typeof k=="string"&&(k=se.getBlocksFromHTML(k)),f(y,{type:"Box",blocks:k,name:u},!0)};return a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(vc,{draggable:h,onDragStart:b,onDragEnd:m,children:a.jsxs("div",{onClick:r?()=>{}:x,className:Va("relative mt-2 overflow-hidden rounded-md border border-border duration-200 hover:border-blue-500 hover:shadow-xl",h?"":"cursor-pointer"),children:[r&&a.jsxs("div",{className:"absolute flex h-full w-full items-center justify-center bg-black/70",children:[a.jsx(v.ReloadIcon,{className:"h-4 w-4 animate-spin text-white"}),a.jsx("span",{className:"pl-2 text-sm text-white",children:"Adding..."})]}),t.preview?a.jsx("img",{src:t.preview,className:"min-h-[45px] w-full rounded-md",alt:u}):a.jsxs("div",{className:"flex h-fit w-full flex-col items-center justify-center gap-1 rounded-md border border-border p-6 py-10 text-center",children:[a.jsx("p",{className:"font-medium text-gray-800",children:u}),p&&a.jsx("p",{className:"text-sm text-gray-600",children:p})]})]})})}),a.jsx(le,{children:a.jsx("div",{className:"max-w-xs",children:a.jsx("p",{className:"font-medium",children:u})})})]})},fx=({parentId:t,position:e,fromSidebar:n})=>{const[s,r]=px(),o=T.useChaiLibraries(),i=o.find(R=>R.id===s)||d.first(o),{data:l,isLoading:c,isError:u,resetLibrary:p}=kc(i),[f,m]=g.useState(""),[h,x]=g.useState([]),b=g.useRef(null);g.useEffect(()=>{l&&Array.isArray(l)&&l.length>0&&(b.current=new Ga(l,{keys:["name","label","description","group"],threshold:.4,ignoreLocation:!0}))},[l]),g.useEffect(()=>{if(!f.trim()||!b.current){x([]);return}const R=b.current.search(f).map(M=>M.item);x(R)},[f]);const y=f.trim()&&!d.isEmpty(h)?h:l||[],k=d.groupBy(y,"group"),[C,A]=g.useState(null);g.useEffect(()=>{if(d.isEmpty(d.keys(k))){A(null);return}if(!C||!k[C]){A(d.first(d.keys(k))||null);return}},[k,C]);const w=d.get(k,C||"",[]),j=g.useRef(null),{t:I}=z.useTranslation(),S=g.useRef(null);g.useEffect(()=>{var M;const R=(M=S.current)==null?void 0:M.querySelector("[data-radix-scroll-area-viewport]");R&&R.scrollTo({top:0,behavior:"smooth"})},[i,C]);const E=R=>{j.current&&(clearTimeout(j.current),j.current=null),j.current=setTimeout(()=>{j.current&&A(R)},400)},_=()=>{i!=null&&i.id&&p(i.id)};if(c)return a.jsxs("div",{className:"mt-4 grid h-full w-full grid-cols-12 gap-2",children:[a.jsx(Rt,{className:"col-span-3 h-full"}),a.jsx(Rt,{className:"col-span-9 h-full"})]});const B=d.filter(w,(R,M)=>M%2===0),P=d.filter(w,(R,M)=>M%2===1);return a.jsx(a.Fragment,{children:a.jsxs("div",{className:"flex h-full max-h-full flex-col",children:[a.jsx(wc,{value:f,setValue:m}),a.jsx("div",{className:"relative flex h-full max-h-full flex-1 overflow-hidden bg-background",children:a.jsxs("div",{className:`flex h-full flex-1 pt-2 ${n?"flex-col":""}`,children:[a.jsxs("div",{className:`flex max-h-full min-w-60 flex-col gap-1 ${n?"pb-2":"w-60 max-w-60 px-1 pr-2"}`,children:[a.jsx(ux,{library:i==null?void 0:i.id,setLibrary:r,uiLibraries:o}),a.jsxs("div",{className:"mt-2 flex h-full max-h-full w-full flex-1 flex-col",children:[a.jsx("span",{className:"text-xs font-bold text-gray-500",children:I("Groups")}),!n&&a.jsx("hr",{className:"mt-1 border-border"}),a.jsx("div",{className:`no-scrollbar mt-2 h-full max-h-full flex-1 overflow-y-auto ${n?"":"pb-20"}`,children:d.isEmpty(k)?a.jsx("div",{className:"mt-4 flex flex-col items-center justify-center gap-3 p-4 text-center",children:f?a.jsx("p",{className:"text-sm",children:I("No matching blocks found")}):u?a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-sm",children:I("Failed to load the UI library. Try again")}),a.jsxs(T.Button,{onClick:_,variant:"outline",size:"sm",className:"gap-2",children:[a.jsx(v.ReloadIcon,{className:"h-4 w-4"}),I("Retry")]})]}):a.jsx("p",{className:"text-sm",children:I("This library is empty")})}):n?a.jsxs(Vs,{value:C??"",onValueChange:A,children:[a.jsx(zn,{className:"w-full",children:a.jsx(Oo,{placeholder:I("Select a group")})}),a.jsx(Hn,{children:d.map(k,(R,M)=>a.jsx(Vn,{value:M,children:d.capitalize(I(M.toLowerCase()))},M))})]}):d.map(k,(R,M)=>a.jsxs("div",{onMouseEnter:()=>E(M),onMouseLeave:()=>j.current&&clearTimeout(j.current),role:"button",onClick:()=>A(M),className:T.cn("flex w-full cursor-pointer items-center justify-between rounded-md p-2 text-sm text-foreground transition-all ease-in-out hover:bg-gray-200 dark:hover:bg-gray-800",M===C?"bg-primary text-primary-foreground hover:bg-primary/80":""),children:[a.jsx("span",{children:d.capitalize(I(M.toLowerCase()))}),a.jsx(v.CaretRightIcon,{className:"ml-2 h-5 w-5"})]},M))})]})]}),a.jsx("div",{className:`flex h-full max-h-full w-full flex-col border-border ${n?"":"border-l"}`,children:a.jsxs(An,{ref:S,onMouseEnter:()=>j.current&&clearTimeout(j.current),className:"z-10 flex h-full max-h-full w-full flex-col gap-2 transition-all ease-linear",children:[d.isEmpty(w)&&!d.isEmpty(k)?a.jsx("div",{className:"flex h-full flex-col items-center justify-center p-6 text-center",children:a.jsx("p",{className:"text-sm",children:I("No blocks found in this group")})}):a.jsxs("div",{className:`grid w-full gap-2 ${n?"grid-cols-1 pb-20":"grid-cols-2 px-2"}`,children:[a.jsx("div",{className:"flex flex-col gap-1",children:B.map((R,M)=>a.jsx(Pa,{parentId:t,position:e,block:R,library:i},`block-${M}`))}),a.jsx("div",{className:"flex flex-col gap-1",children:P.map((R,M)=>a.jsx(Pa,{parentId:t,position:e,block:R,library:i},`block-second-${M}`))})]}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]})})]})})]})})},Cc=({parentId:t,position:e,fromSidebar:n})=>a.jsx(fx,{parentId:t,position:e,fromSidebar:n}),hx=N.atom({blocks:[],groups:[],isLoading:!0,error:null}),mx=N.atom(!1),La=t=>{if(!t)return"";let e=t.replace(/[-_]/g," ");return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e.split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ")},gx=({parentId:t,position:e,gridCols:n="grid-cols-2",disableBlockGroupsSidebar:s=!1})=>{const{data:r,isLoading:o,refetch:i,error:l}=hi(),[c,u]=N.useAtom(hx),[p,f]=N.useAtom(mx),m=fi();g.useEffect(()=>{if(!p||Object.keys(c.blocks).length===0)if(l)u({blocks:[],groups:[],isLoading:!1,error:l}),f(!0);else if(!o&&Object.keys(r||{}).length>0){const b=Object.entries(r).map(([k,C])=>{const A=C,w=A.type||"partial",j=La(w);return{type:"PartialBlock",label:La(A.name||k),description:A.description||"",icon:v.FrameIcon,group:j,category:"partial",partialBlockId:k,_name:A.name}}),y=d.uniq(d.map(b,"group"));u({blocks:b,groups:y,isLoading:!1,error:null}),f(!0)}else o?u(b=>({...b,isLoading:!0,error:null})):!o&&Object.keys(r||{}).length===0&&(u({blocks:[],groups:[],isLoading:!1,error:"No partial blocks available"}),f(!0))},[o,r,p,f,u,c.blocks,l]);const h=()=>{u(b=>({...b,isLoading:!0,error:null})),f(!1),i()},x=g.useMemo(()=>c.blocks.map(b=>{const{canAdd:y,reason:k}=m(b.partialBlockId);return{...b,disabled:!y,disabledReason:k}}),[c.blocks,m]);return c.isLoading?a.jsx("div",{className:"flex items-center justify-center p-8 text-center text-muted-foreground",children:"Loading partial blocks..."}):c.error||c.blocks.length===0?a.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 p-8 text-center text-muted-foreground",children:[a.jsx("p",{children:c.error||"No partial blocks available"}),a.jsx("button",{onClick:h,className:"rounded-md bg-primary px-3 py-1 text-sm text-primary-foreground hover:bg-primary/90",children:"Refresh"})]}):a.jsx(jc,{gridCols:n,parentId:t,position:e,groups:c.groups,blocks:x,disableBlockGroupsSidebar:s})},Da=["basic","typography","media","layout","form","advanced","other"],jc=({groups:t,blocks:e,parentId:n,position:s,gridCols:r="grid-cols-4",disableBlockGroupsSidebar:o})=>{var P;const{t:i}=z.useTranslation(),[l]=Z(),[c,u]=g.useState(""),p=g.useRef(null),[f]=N.useAtom(Sc),m=(P=d.find(l,R=>R._id===n))==null?void 0:P._type,[h,x]=g.useState("all"),[b,y]=g.useState(null),k=g.useRef(null),C=$("flags.dragAndDrop",!0);g.useEffect(()=>{const R=setTimeout(()=>{var M;(M=p.current)==null||M.focus()},0);return()=>clearTimeout(R)},[f]),g.useEffect(()=>{c&&(x("all"),y(null))},[c]),g.useEffect(()=>(k.current=d.debounce(R=>{x(R)},500),()=>{k.current&&k.current.cancel()}),[]);const A=g.useCallback(R=>{y(R),k.current&&k.current(R)},[]),w=g.useCallback(()=>{y(null),k.current&&k.current.cancel()},[]),j=g.useCallback(R=>{k.current&&k.current.cancel(),x(R),y(null)},[]),I=g.useMemo(()=>c?d.values(e).filter(R=>{var M,H;return(((M=R.label)==null?void 0:M.toLowerCase())+" "+((H=R.type)==null?void 0:H.toLowerCase())).includes(c.toLowerCase())}):e,[e,c]),S=g.useMemo(()=>c?t.filter(R=>d.reject(d.filter(d.values(I),{group:R}),{hidden:!0}).length>0):t.filter(R=>d.reject(d.filter(d.values(e),{group:R}),{hidden:!0}).length>0),[e,I,t,c]),E=g.useMemo(()=>d.sortBy(S,R=>Da.indexOf(R)===-1?99:Da.indexOf(R)),[S]),_=g.useMemo(()=>h==="all"?I:d.filter(d.values(I),{group:h}),[I,h]),B=g.useMemo(()=>h==="all"?E:[h],[E,h]);return a.jsxs("div",{className:"mx-auto flex h-full w-full flex-col",children:[a.jsx(wc,{value:c,setValue:u}),a.jsxs("div",{className:"sticky top-10 flex h-[calc(100%-48px)] overflow-hidden pt-2",children:[!o&&E.length>0&&a.jsx("div",{className:"w-1/4 min-w-[120px] border-r border-border",children:a.jsx(An,{className:"h-full",children:a.jsxs("div",{className:"space-y-1",children:[a.jsx("button",{onClick:()=>j("all"),onMouseEnter:()=>A("all"),onMouseLeave:w,className:`w-full rounded-md px-2 py-1.5 text-left text-sm font-medium ${h==="all"||b==="all"?"bg-primary text-primary-foreground":"hover:bg-primary/50 hover:text-primary-foreground"}`,children:i("All")},"sidebar-all"),E.map(R=>a.jsx("button",{onClick:()=>j(R),onMouseEnter:()=>A(R),onMouseLeave:w,className:`w-full rounded-md px-2 py-1.5 text-left text-sm ${h===R||b===R?"bg-primary text-primary-foreground":"hover:bg-primary/50 hover:text-primary-foreground"}`,children:d.capitalize(i(R.toLowerCase()))},`sidebar-${R}`))]})})}),a.jsx("div",{className:`h-full flex-1 overflow-hidden ${!o&&E.length>0?"w-3/4":"w-full"}`,children:a.jsx(An,{id:"add-blocks-scroll-area",className:"no-scrollbar h-full",children:S.length===0&&c?a.jsx("div",{className:"flex flex-col items-center justify-center p-8 text-center text-muted-foreground",children:a.jsxs("p",{children:[i("No blocks found matching"),' "',c,'"']})}):a.jsx("div",{className:`${o?"p-0":"p-4"} space-y-6`,children:B.map((R,M)=>a.jsxs("div",{className:"space-y-3",children:[a.jsx("h3",{className:"px-1 text-sm font-medium",children:d.capitalize(i(R.toLowerCase()))}),a.jsx("div",{className:"grid gap-2 "+r,children:d.reject(h==="all"?d.filter(d.values(_),{group:R}):d.values(_),{hidden:!0}).map((H,G)=>a.jsx(ix,{parentId:n,position:s,block:H,disabled:!C&&(!tt(m,H.type)||!Md(m,H.type))},H.type+"-"+M+"-"+G))})]},R))})})})]})]})},Sc=Oe.atomWithStorage("__add_block_tab","library"),$o=({className:t,showHeading:e=!0,parentId:n=void 0,position:s=-1,fromSidebar:r=!1})=>{const{t:o}=z.useTranslation(),[i,l]=N.useAtom(Sc),[,c]=N.useAtom(bi),u=$("flags.importHtml",!0),{data:p}=hi(),f=Object.keys(p||{}).length>0,{hasPermission:m}=We();g.useEffect(()=>{i==="partials"&&!f&&l("library")},[i,f,l]);const h=g.useCallback(()=>{ae.publish(Y.CLOSE_ADD_BLOCK)},[]),x=T.useChaiAddBlockTabs(),b=u&&m(Q.IMPORT_HTML),k=T.useChaiLibraries().length>0;return g.useEffect(()=>{i==="library"&&!k&&l("core")},[i,k,l]),a.jsxs("div",{className:pe.cn("flex h-full w-full flex-col overflow-hidden",t),children:[e?a.jsxs("div",{className:"mb-2 flex flex-col justify-between rounded-md bg-background/30 p-1",children:[a.jsx("h1",{className:"flex flex-col items-baseline px-1 text-xl font-semibold xl:flex-col",children:o("Add block")}),a.jsx("span",{className:"p-0 text-xs font-light leading-3 opacity-80 xl:pl-1",children:o(i==="html"?"Enter or paste TailwindCSS HTML snippet":"Click to add block to page")})]}):null,a.jsxs(Hs,{onValueChange:C=>{c(""),l(C)},value:i,className:"flex h-full max-h-full flex-col overflow-hidden",children:[a.jsxs($n,{className:`flex items-center ${r?"h-max w-max justify-start p-1":"w-full"}`,children:[k&&a.jsx(Ve,{value:"library",className:r?"h-5 px-2 text-xs":"",children:o("Library")}),a.jsx(Ve,{value:"core",className:r?"h-5 px-2 text-xs":"",children:o("Blocks")}),f&&a.jsx(Ve,{value:"partials",className:r?"h-5 px-2 text-xs":"",children:o("Partials")}),b?a.jsx(Ve,{value:"html",className:r?"h-5 px-2 text-xs":"",children:o("Import")}):null,d.map(x,C=>a.jsx(Ve,{value:C.id,className:r?"h-5 px-2 text-xs":"",children:g.createElement(C.tab)},`tab-add-block-${C.id}`))]}),a.jsx(at,{value:"core",className:"h-full max-h-full flex-1 pb-20",children:a.jsx("div",{className:"h-full max-h-full overflow-hidden",children:a.jsx("div",{className:"h-full w-full",children:a.jsx(fc,{gridCols:r?"grid-cols-2":"grid-cols-4",parentId:n,position:s,disableBlockGroupsSidebar:r})})})}),k&&a.jsx(at,{value:"library",className:"h-full max-h-full flex-1 pb-20",children:a.jsx(Cc,{fromSidebar:r,parentId:n,position:s})}),f&&a.jsx(at,{value:"partials",className:"h-full max-h-full flex-1 pb-20",children:a.jsx("div",{className:"h-full max-h-full overflow-hidden",children:a.jsx("div",{className:"h-full w-full",children:a.jsx(gx,{gridCols:r?"grid-cols-2":"grid-cols-4",parentId:n,position:s,disableBlockGroupsSidebar:r})})})}),b?a.jsx(at,{value:"html",className:"h-full max-h-full flex-1 pb-20 ",children:a.jsx(gc,{parentId:n,position:s,fromSidebar:r})}):null,d.map(x,C=>a.jsx(at,{value:C.id,children:g.createElement(C.tabContent,{close:h,parentId:n,position:s})},`panel-add-block-${C.id}`))]})]})},xx={display:"flex",alignItems:"center",zIndex:1},bx=g.memo(function({top:e,left:n,indent:s}){const r={position:"absolute",pointerEvents:"none",top:e-1+"px",left:"0px",right:0,paddingLeft:n+s+"px"};return a.jsxs("div",{style:{...xx,...r},children:[a.jsx("div",{className:"h-1 w-1 rounded-full bg-green-500"}),a.jsx("div",{className:"h-[1px] flex-1 rounded-[1px] border-t border-green-500"})]})}),yx=[{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 kx(t){t.firstNode&&t.select(t.firstNode.id)}function vx(t){t.lastNode&&t.select(t.lastNode.id)}function wx(t){const e=t.selectedNodes[0].next||t.firstNode;t.select(e.id)}function Cx(t){const e=t.selectedNodes[0].prev||t.lastNode;t.select(e.id)}const jx=(t,e)=>{const n=t.selectedNodes[0],s=(n==null?void 0:n.parent)||null;s&&e&&t.select(s.id)},Sx=(t,e)=>{const n=t.selectedNodes[0];n.isInternal&&e&&n.open()},Nx=(t,e)=>{const n=t.selectedNodes[0];n.isInternal&&e&&n.close()},Fo=Pe.Root,Nc=Pe.Trigger,Ex=Pe.Portal,Ec=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Overlay,{className:T.cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e,ref:n}));Ec.displayName=Pe.Overlay.displayName;const Ws=O.forwardRef(({className:t,...e},n)=>a.jsxs(Ex,{children:[a.jsx(Ec,{}),a.jsx(Pe.Content,{ref:n,className:T.cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...e})]}));Ws.displayName=Pe.Content.displayName;const Gs=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col space-y-2 text-center sm:text-left",t),...e});Gs.displayName="AlertDialogHeader";const zo=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});zo.displayName="AlertDialogFooter";const Us=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Title,{ref:n,className:T.cn("text-lg font-semibold",t),...e}));Us.displayName=Pe.Title.displayName;const Ho=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Description,{ref:n,className:T.cn("text-sm text-muted-foreground",t),...e}));Ho.displayName=Pe.Description.displayName;const Vo=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Action,{ref:n,className:T.cn(T.buttonVariants(),t),...e}));Vo.displayName=Pe.Action.displayName;const Wo=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Cancel,{ref:n,className:T.cn(T.buttonVariants({variant:"outline"}),"mt-2 sm:mt-0",t),...e}));Wo.displayName=Pe.Cancel.displayName;const Ac=({children:t})=>{const{t:e}=z.useTranslation(),{setNewBlocks:n}=Ee(),[,s]=q(),[,r]=Ae(),o=g.useCallback(()=>{n([]),s([]),r([])},[n]);return a.jsx("div",{className:"flex items-center",children:a.jsxs(Fo,{children:[a.jsx(Nc,{asChild:!0,children:t||a.jsx(T.Button,{size:"sm",variant:"ghost",className:"flex items-center",children:a.jsx(v.EraserIcon,{})})}),a.jsxs(Ws,{className:"border-border",children:[a.jsxs(Gs,{children:[a.jsx(Us,{className:"text-foreground",children:e("Clear whole canvas?")}),a.jsx(Ho,{children:e("Are you sure you want to clear the page?")})]}),a.jsxs(zo,{children:[a.jsx(Wo,{className:"text-foreground",children:e("Cancel")}),a.jsx(Vo,{onClick:o,children:e("Yes")})]})]})]})})},Ax=()=>{const t=X(),{t:e}=z.useTranslation(),[,n]=N.useAtom(ci),s=T.useSaveToLibraryComponent(),r=()=>{t&&n({isOpen:!0,blockId:t._id})};return s?a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:r,children:[a.jsx(v.CheckIcon,{className:"h-4 w-4"})," ",t!=null&&t._libBlockId?e("Update library block"):e("Save to library")]}):null},_x=()=>{const{t}=z.useTranslation(),e=X(),n=Ke(),s=()=>{e&&n([e._id],{_libBlockId:null})};return a.jsxs(ge,{onClick:s,className:"flex items-center gap-x-4 text-xs",children:[a.jsx(v.LinkBreak2Icon,{className:"h-4 w-4"})," ",t("Unlink from library")]})},Ma=()=>{const{t}=z.useTranslation(),[e]=q();return $("flags.exportCode",!1)?a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:()=>ae.publish(Y.OPEN_EXPORT_CODE,e),children:[a.jsx(v.DownloadIcon,{})," ",t("Export")]}):null},Oa=({isFromBody:t=!1})=>{const[e]=Z(),[n]=q(),{pasteBlocks:s}=ro(),[,r,o]=Fi(),{t:i}=z.useTranslation(),l=X(),c=$("flags.copyPaste",!0),u=g.useCallback(()=>{var m;const f=(t?(m=e==null?void 0:e.filter(h=>!(h!=null&&h._parent)))==null?void 0:m.map(h=>h==null?void 0:h._id):n).map(h=>{const x=e.find(b=>b._id===h);return{id:h,data:x}});o(f.map(h=>h.id))?ue.toast.warning("Partial blocks detected. Clone partial blocks?",{cancel:{label:i("No"),onClick:()=>{r(f.map(h=>h.id)),ue.toast.dismiss()}},action:{label:i("Yes"),onClick:()=>{r(f.map(h=>h.id),!0),ue.toast.dismiss()}},position:"top-center"}):r(f.map(h=>h.id))},[n,e,r,o]);return a.jsxs(a.Fragment,{children:[c&&a.jsxs(ge,{disabled:!Lr(l==null?void 0:l._type),onClick:u,className:"flex items-center gap-x-4 text-xs",children:[a.jsx(v.CopyIcon,{})," ",i("Copy")]}),c&&a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:()=>{s(n)},children:[a.jsx(v.CardStackIcon,{})," ",i("Paste")]})]})},Ix=()=>{const[t]=q(),[,e]=Rs(),{t:n}=z.useTranslation(),s=$("flags.copyPaste",!0);return a.jsx(a.Fragment,{children:s&&a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:()=>e(t),children:[a.jsx(v.ScissorsIcon,{})," ",n("Cut")]})})},Tx=()=>{const[t]=q(),e=_s(),n=X(),{t:s}=z.useTranslation();return a.jsxs(ge,{disabled:!Dr(n==null?void 0:n._type),className:"flex items-center gap-x-4 text-xs",onClick:()=>e(t),children:[a.jsx(v.TrashIcon,{})," ",s("Remove")]})},Bx=({node:t})=>{const{t:e}=z.useTranslation();return a.jsxs(ge,{onClick:n=>{n.stopPropagation(),t.edit(),t.deselect()},className:"flex items-center gap-x-4 text-xs",children:[a.jsx(v.Pencil2Icon,{className:"h-4 w-4"})," ",e("Rename")]})},Rx=({node:t})=>{const{t:e}=z.useTranslation(),[n]=q(),s=no(),r=X(),{hasPermission:o}=We(),{librarySite:i}=$("flags",{librarySite:!1}),l=Ye(),c=g.useCallback(()=>{s(n)},[n,s]),u=g.useMemo(()=>d.has(r,"_libBlockId")&&!d.isEmpty(r._libBlockId),[r==null?void 0:r._libBlockId]);return t==="BODY"?a.jsx(et,{side:"bottom",className:"border-border text-xs",children:o(Q.ADD_BLOCK)&&a.jsxs(a.Fragment,{children:[a.jsxs(ge,{disabled:!1,className:"flex items-center gap-x-4 text-xs",onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK,r),children:[a.jsx(v.PlusIcon,{className:"h-3.5 w-3.5"})," ",e("Add block")]}),o(Q.ADD_BLOCK)&&a.jsx(Oa,{isFromBody:!0}),a.jsx(Ma,{}),a.jsx(ge,{disabled:!1,onClick:p=>p.preventDefault(),className:"flex items-center gap-x-4 text-xs",children:a.jsx(Ac,{children:a.jsxs("div",{className:"flex items-center gap-x-4 text-xs",children:[a.jsx(v.EraserIcon,{})," ",e("Clear canvas")]})})})]})}):a.jsxs(et,{side:"bottom",className:"border-border text-xs",children:[o(Q.ADD_BLOCK)&&a.jsxs(a.Fragment,{children:[!l&&a.jsxs(ge,{disabled:!is(r==null?void 0:r._type),className:"flex items-center gap-x-4 text-xs",onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK,r),children:[a.jsx(v.PlusIcon,{className:"h-3.5 w-3.5"})," ",e("Add block")]}),a.jsxs(ge,{disabled:!Lr(r==null?void 0:r._type),className:"flex items-center gap-x-4 text-xs",onClick:c,children:[a.jsx(v.CardStackPlusIcon,{})," ",e("Duplicate")]})]}),a.jsx(Bx,{node:t}),o(Q.MOVE_BLOCK)&&a.jsx(Ix,{}),o(Q.ADD_BLOCK)&&a.jsx(Oa,{}),u&&i&&a.jsx(_x,{}),o(Q.CREATE_LIBRARY_BLOCK)&&i&&a.jsx(Ax,{}),a.jsx(Ma,{}),o(Q.DELETE_BLOCK)&&a.jsx(Tx,{})]})},_c=({children:t,id:e,node:n})=>{const[,s]=q();return a.jsx(a.Fragment,{children:a.jsxs(mt,{onOpenChange:r=>{r&&s([e])},children:[a.jsx(gt,{children:t}),a.jsx(Rx,{node:n})]})})},$a="h-3 w-3 flex-shrink-0",Ic=t=>{const e=K.useRegisteredChaiBlocks(),n=d.get(e,[t.type,"icon"]);return n?g.createElement(n,{className:$a}):a.jsx(v.BoxIcon,{className:$a})},Q={ADD_BLOCK:"add_block",DELETE_BLOCK:"delete_block",EDIT_BLOCK:"edit_block",MOVE_BLOCK:"move_block",EDIT_THEME:"edit_theme",SAVE_PAGE:"save_page",EDIT_STYLES:"edit_styles",IMPORT_HTML:"import_html",CREATE_LIBRARY_BLOCK:"create_library_block",CREATE_LIBRARY_GROUP:"create_library_group",EDIT_LIBRARY_BLOCK:"edit_library_block",DELETE_LIBRARY_BLOCK:"delete_library_block"};Object.values(Q);const Px=()=>{const[t]=N.useAtom(Qt),[e]=N.useAtom(Or),[n]=N.useAtom($r),[s]=N.useAtom(Fr),[r]=N.useAtom(Qa),[o]=N.useAtom(ei),[i]=N.useAtom(ti);return{errors:t,isValid:e,hasErrors:n,hasWarnings:s,errorCount:r,warningCount:o,errorsByBlock:i,getBlockErrors:l=>i[l]||[],getErrorsBySeverity:l=>t.filter(c=>c.severity===l),getErrorMessages:()=>t.map(l=>l.message),getErrorMessagesBySeverity:l=>t.filter(c=>c.severity===l).map(c=>c.message),getAllErrorMessages:()=>({errors:t.filter(l=>l.severity==="error").map(l=>l.message),warnings:t.filter(l=>l.severity==="warning").map(l=>l.message)})}},Lx=({node:t})=>{var e,n;return a.jsx("input",{autoFocus:!0,className:me("ml-2 !h-4 w-full rounded-sm border border-border bg-background px-1 text-[11px] leading-tight outline-none",t.isSelected?"text-black dark:text-white":""),type:"text",defaultValue:((e=t.data)==null?void 0:e._name)||((n=t.data)==null?void 0:n._type),onFocus:s=>s.currentTarget.select(),onBlur:s=>t.submit(s.currentTarget.value),onKeyDown:s=>{s.key==="Enter"&&t.submit(s.currentTarget.value)}})},Dx=N.atom(null),pr=t=>{var e;return t!=null&&t._name?t._name:(t==null?void 0:t._type)==="Box"&&(t!=null&&t.tag)&&(t==null?void 0:t.tag)!=="div"?d.startCase(t.tag):((e=t==null?void 0:t._type)==null?void 0:e.split("/").pop())||""},Mx=(t,e)=>t.length>e?t.substring(0,e)+"...":t,Ox=g.memo(({node:t,style:e,dragHandle:n})=>{var we,Le;const{t:s}=z.useTranslation(),r=Ke(),[o]=N.useAtom(Ts),{hasPermission:i}=We();let l=null;const c=t.children&&t.children.length>0,{highlightBlock:u,clearHighlight:p}=nt(),f=Ye(),{id:m,data:h,isSelected:x,willReceiveDrop:b,isDragging:y,isEditing:k,handleClick:C}=t,A=Px(),w=g.useMemo(()=>A.getBlockErrors(m),[A,m]),j=d.get(h,"_show",!0),I=V=>{V.stopPropagation(),j&&t.toggle()},S=V=>{V.isInternal&&(l=V.isOpen,V.isOpen&&V.close())},E=V=>{V.isInternal&&l!==null&&(l?V.open():V.close(),l=null)},[_,B]=N.useAtom(Dx),P=()=>{var V,_e;R(),(V=t.parent)!=null&&V.isSelected||B((_e=t==null?void 0:t.parent)==null?void 0:_e.id)},R=()=>{B(null)},M=V=>{R(),V.stopPropagation(),!t.isOpen&&j&&t.toggle(),C(V)};g.useEffect(()=>{const V=setTimeout(()=>{b&&!t.isOpen&&!y&&j&&t.toggle()},500);return()=>clearTimeout(V)},[b,t,y,j]);const H=(V,_e)=>{var Wn;const yt=o.contentDocument||((Wn=o.contentWindow)==null?void 0:Wn.document),Vt=yt==null?void 0:yt.querySelector(`[data-block-id=${V}]`);Vt&&Vt.setAttribute("data-drop",_e);const Wt=Vt.getBoundingClientRect(),kt=o.getBoundingClientRect();!(Wt.top>=kt.top&&Wt.left>=kt.left&&Wt.bottom<=kt.bottom&&Wt.right<=kt.right)&&yt&&(yt.documentElement.scrollTop=Vt.offsetTop-kt.top)},G=V=>{R();const _e=d.get(t,"parent.id");_e!=="__REACT_ARBORIST_INTERNAL_ROOT__"?ae.publish(Y.OPEN_ADD_BLOCK,{_id:_e,position:V}):ae.publish(Y.OPEN_ADD_BLOCK,{position:V})},{librarySite:be}=$("flags",{librarySite:!1}),de=g.useMemo(()=>be&&d.has(h,"_libBlockId")&&!d.isEmpty(h._libBlockId)&&(i(Q.CREATE_LIBRARY_BLOCK)||i(Q.EDIT_LIBRARY_BLOCK)),[h,i,be]),re=g.useMemo(()=>(h==null?void 0:h._type)==="PartialBlock"||(h==null?void 0:h._type)==="GlobalBlock",[h]);return m===U.ROOT_TEMP_KEY?a.jsxs("div",{className:"group relative mt-2 w-full cursor-pointer",children:[a.jsx("br",{}),i(Q.ADD_BLOCK)&&a.jsx("div",{role:"button",onClick:()=>G(-1),className:"h-1 rounded bg-primary opacity-0 duration-200 group-hover:opacity-100",children:a.jsxs("div",{className:"absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 transform items-center gap-x-1 rounded-full bg-primary px-3 py-1 text-[9px] leading-tight text-white hover:bg-primary",children:[a.jsx(v.PlusIcon,{className:"w-2.4 h-2.5 stroke-[5] text-white"})," ",s("Add block")]})}),a.jsx("br",{})]}):a.jsx("div",{className:me("relative flex h-full w-full items-center",x?"bg-primary/20":"hover:bg-gray-100"),children:a.jsxs("div",{className:"w-full",onMouseEnter:()=>u(m),onMouseLeave:()=>p(),onClick:M,style:e,"data-node-id":m,ref:n,onDragStart:()=>S(t),onDragEnd:()=>E(t),onDragOver:V=>{V.preventDefault(),H(m,"yes")},onDragLeave:V=>{V.preventDefault(),H(m,"no")},onDrop:V=>{V.preventDefault(),H(m,"no")},children:[t.level>0&&a.jsx("div",{className:"pointer-events-none absolute left-0 top-0 h-full",children:Array.from({length:t.level}).map((V,_e)=>a.jsx("div",{className:"absolute top-0 h-full border-l border-black/5 transition-colors group-hover/parent:border-black/30",style:{left:`${_e*14+10}px`}},_e))}),i(Q.ADD_BLOCK)&&!f&&(t==null?void 0:t.rowIndex)!==null&&(t==null?void 0:t.rowIndex)!==void 0&&(t==null?void 0:t.rowIndex)>0&&(((we=t.parent)==null?void 0:we.isOpen)&&is(d.get(t,"parent.data._type"))||((Le=t==null?void 0:t.parent)==null?void 0:Le.id)==="__REACT_ARBORIST_INTERNAL_ROOT__")&&a.jsx("div",{className:"group relative ml-5 h-full w-full cursor-pointer",children:a.jsx("div",{onClick:V=>{V.stopPropagation(),G(t.childIndex)},onMouseEnter:P,onMouseLeave:R,className:"absolute -top-0.5 h-0.5 w-[90%] rounded bg-primary/80 opacity-0 delay-200 duration-200 group-hover:opacity-100",children:a.jsx("div",{className:"absolute left-1/2 top-1/2 flex h-4 w-4 -translate-x-1/2 -translate-y-1/2 transform items-center justify-center rounded-full bg-primary/80 p-1 outline outline-2 outline-white hover:bg-primary/80",children:a.jsx(v.PlusIcon,{className:"h-2 w-2 stroke-[2] text-white"})})})}),a.jsx("div",{className:"absolute left-0 right-0 top-0 -z-10 h-full",children:a.jsx("div",{className:me("h-full transition-colors",b&&tt(h._type,"Icon")?"bg-green-200":"",(t==null?void 0:t.id)===_?"bg-gray-100 dark:bg-gray-900":"")})}),a.jsxs("div",{className:me("group relative flex w-full cursor-pointer items-center justify-between space-x-px p-1 py-0 outline-none",y&&"opacity-20",j?"":"line-through opacity-50",de&&x&&"text-primary"),children:[a.jsxs("div",{className:"flex items-center",children:[a.jsx("div",{className:`flex h-4 w-4 rotate-0 transform cursor-pointer items-center justify-center transition-transform duration-100 ${t.isOpen?"rotate-90":""}`,children:c&&a.jsx("button",{onClick:I,type:"button",children:a.jsx(v.ChevronRightIcon,{className:"h-3 w-3"})})}),a.jsxs("div",{className:me("leading-1 flex w-full items-center",de&&"text-orange-600/90",de&&x&&"text-orange-800",re&&"text-purple-600/90",re&&x&&"text-purple-800"),children:[w.length>0?a.jsx("div",{className:"text-red-500",children:a.jsx(v.ExclamationTriangleIcon,{className:"h-3 w-3"})}):a.jsx(Ic,{type:h==null?void 0:h._type}),k?a.jsx(Lx,{node:t}):a.jsx("div",{className:"ml-1.5 flex items-center gap-x-1 truncate text-[13px]",onDoubleClick:V=>{V.stopPropagation(),t.edit(),t.deselect()},children:a.jsx("span",{title:pr(h).length>17?pr(h):"",children:Mx(pr(h),17)})})]})]}),a.jsxs("div",{className:"invisible flex items-center space-x-1.5 pr-px group-hover:visible",children:[is(h==null?void 0:h._type)&&j&&i(Q.ADD_BLOCK)?a.jsxs(fe,{children:[a.jsx(he,{onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK,{_id:m}),className:"cursor-pointer rounded bg-transparent p-px hover:bg-primary/10",asChild:!0,children:a.jsx(v.PlusIcon,{className:"h-4 w-4"})}),a.jsx(le,{className:"isolate z-[9999]",side:"bottom",children:s("Add block inside")})]}):null,a.jsxs(fe,{children:[a.jsx(he,{onClick:V=>{V.stopPropagation(),r([m],{_show:!j}),t.isOpen&&t.toggle()},className:"cursor-pointer rounded bg-transparent p-0.5 hover:bg-primary/10",asChild:!0,children:j?a.jsx(v.EyeClosedIcon,{className:"h-4 w-4"}):a.jsx(v.EyeOpenIcon,{className:"h-4 w-4"})}),a.jsx(le,{className:"isolate z-[9999] text-xs",side:"bottom",children:s(j?"Hide the block from page":"Show the block on page")})]}),a.jsx(_c,{node:t,id:m,children:a.jsx("div",{className:"cursor-pointer rounded bg-transparent p-px hover:bg-primary/10",children:a.jsx(v.DotsVerticalIcon,{className:"h-3 w-3"})})})]})]})]})})}),Tc=(t,e)=>{const n=d.filter(t,{_parent:e});if(n.length===0)return[];const s=[...n];return n.forEach(r=>{s.push(...Tc(t,r==null?void 0:r._id))}),s},$x=()=>{const[t,e]=N.useAtom(ci),{t:n}=z.useTranslation(),[s]=Z(),r=()=>e({isOpen:!1,blockId:null}),o=T.useSaveToLibraryComponent(),i=g.useMemo(()=>{if(!t.blockId)return[];const l=d.find(s,{_id:t.blockId});return l==null||delete l._parent,[l,...Tc(s,l==null?void 0:l._id)]},[t.blockId,s]);return a.jsx(Pn,{open:t.isOpen,onOpenChange:l=>!l&&r(),children:a.jsxs(ln,{className:"p-4 sm:max-w-[450px]",children:[a.jsx(Ln,{className:"pb-2",children:a.jsx(cn,{children:n("Save to Library")})}),o&&!d.isEmpty(t.blockId)&&a.jsx(o,{blockId:t.blockId,blocks:i,close:r})]})})},Fx=({parentContext:t,setParentContext:e})=>{const{t:n}=z.useTranslation(),{canPaste:s,pasteBlocks:r}=ro(),o=$("flags.copyPaste",!0);return g.useEffect(()=>{s("root")||e(null)},[s("root")]),!t||!s("root")||!o?null:a.jsx("div",{className:"absolute inset-0",children:a.jsxs(mt,{open:!0,onOpenChange:()=>e(null),children:[a.jsx(gt,{className:"hidden"}),a.jsx(et,{className:"absolute w-28 p-1 text-xs",style:{top:t.y,left:t.x},children:a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:()=>{r("root"),e(null)},children:[a.jsx(v.CardStackIcon,{})," ",n("Paste")]})})]})})},zx=()=>{const[t]=Z();return(e,n)=>{if(!n)return!!d.first(e.map(i=>{var l;return(l=d.find(t,{_id:i}))==null?void 0:l._type}));const s=d.find(t,{_id:n});if(!s)return!1;const r=d.first(e.map(o=>{var i;return(i=d.find(t,{_id:o}))==null?void 0:i._type}));return r?tt(s._type,r):!1}},Bc=()=>{const[t]=N.useAtom(Ja),[e,n]=q(),[s]=Rs(),r=Ke(),[,o]=Ae(),{moveBlocks:i}=Ee(),l=zx(),c=g.useRef(null),[,u]=N.useAtom(Jr),{t:p}=z.useTranslation(),[f,m]=g.useState(null),h=()=>{n([]),o([])},x=g.useMemo(()=>{const S=(_,B)=>_.filter(P=>!B.includes(P._id)).map(P=>({...P,children:P.children?S(P.children,B):[]}));return[...S(t,s),{_type:U.ROOT_TEMP_KEY,_id:U.ROOT_TEMP_KEY,children:[]}]},[t,s]),b=({id:S,name:E,node:_})=>{r([S],{_name:E},_.data._name)},y=({dragIds:S,parentId:E,index:_})=>{l(S,E)&&i(S,E??void 0,_)},k=S=>{if(S.length===0)return;const E=S[0]?S[0].id:"";o([]),n([E])},C=S=>{var B;S.preventDefault(),f&&m(null);const E=S.target,_=E.getAttribute("data-node-id")||((B=E.closest("[data-node-id]"))==null?void 0:B.getAttribute("data-node-id"));_?(o([]),n([_])):(o([]),n([]),m({x:S.clientX,y:S.clientY}))},A=xe.useDebouncedCallback(({parentNode:S,dragNodes:E})=>{var _;return(S==null?void 0:S.data._type)===U.ROOT_TEMP_KEY||!tt(S==null?void 0:S.data._type,(_=E[0])==null?void 0:_.data._type)},[],300),w=(S,E)=>{if(!S)return!0;const _={isLeaf:!E.isInternal,isClosed:!E.isOpen,isOpen:E.isOpen};try{let B=S;return Object.keys(_).forEach(P=>{const R=new RegExp(`\\b${P}\\b`,"g");B=B.replace(R,String(_[P]))}),new Function(`return ${B}`)()}catch{return console.warn("Invalid condition expression:",S),!1}},j=S=>{if(!c.current)return;const E=c.current,_=E.selectedNodes[0];if(!_)return;n([_.id]),o([]);const B=!_.isInternal,P=!_.isOpen,R=_.isOpen,M=yx.find(H=>H.key===S.key&&(!H.when||w(H.when,_)));if(M)switch(S.preventDefault(),M.command){case"selectNext":wx(E);break;case"selectPrev":Cx(E);break;case"selectParent":jx(E,B||P);break;case"close":Nx(E,R);break;case"open":Sx(E,P);break;case"selectFirst":kx(E);break;case"selectLast":vx(E);break}};g.useEffect(()=>{const S=()=>{c.current&&u(c.current)};S();const E=new MutationObserver(S);return E.observe(document.body,{childList:!0,subtree:!0}),()=>E.disconnect()},[u]);const{hasPermission:I}=We();return d.isEmpty(t)?a.jsx("div",{children:a.jsx("div",{className:"mt-10 flex h-full w-full items-center justify-center p-8",children:a.jsxs("div",{className:"flex flex-col items-center space-y-6 text-center",children:[a.jsx("div",{className:"rounded-full bg-muted p-6",children:a.jsx(v.StackIcon,{className:"h-12 w-12 text-muted-foreground"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("h3",{className:"text-lg font-semibold text-foreground",children:p("This page is empty")}),a.jsx("p",{className:"max-w-sm text-sm text-muted-foreground",children:p("Get started by adding your first block to begin building your page")})]}),I(Q.ADD_BLOCK)&&a.jsxs(T.Button,{onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK),className:"bg-primary shadow-sm hover:bg-primary/90",size:"sm",children:[a.jsx(v.PlusIcon,{className:"h-4 w-4"}),p("Add Block")]})]})})}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:pe.cn("chai-outline group/parent parent-group flex h-full select-none flex-col space-y-1"),onClick:()=>h(),children:a.jsxs("div",{id:"outline-view ",className:"no-scrollbar h-full overflow-y-auto text-sm",onKeyDown:S=>{c.current&&!c.current.isEditing&&j(S)},children:[a.jsxs("div",{className:"mb-2 flex items-center justify-end gap-x-1 pb-2 text-sm text-muted-foreground",children:[a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(T.Button,{className:"h-fit p-1",onClick:()=>{var S;return(S=c==null?void 0:c.current)==null?void 0:S.openAll()},variant:"ghost",size:"sm",children:a.jsx(v.DoubleArrowDownIcon,{className:"h-2 w-2"})})}),a.jsx(le,{className:"isolate z-[9999]",children:p("Expand all")})]}),a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(T.Button,{className:"h-fit p-1",onClick:()=>{var S;return(S=c==null?void 0:c.current)==null?void 0:S.closeAll()},variant:"ghost",size:"sm",children:a.jsx(v.DoubleArrowUpIcon,{className:"h-2 w-2"})})}),a.jsx(le,{className:"isolate z-[9999]",children:p("Collapse all")})]})]}),a.jsx("div",{className:"group relative z-30 ml-5 w-full cursor-pointer",children:a.jsx("div",{onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK,{position:0}),className:"h-1 w-[90%] rounded bg-primary opacity-0 duration-200 group-hover:opacity-100",children:a.jsx("div",{className:"absolute left-[45%] top-1/2 flex h-4 w-4 -translate-x-1/2 -translate-y-1/2 transform items-center justify-center rounded-full bg-primary p-1 outline outline-2 outline-white hover:bg-primary",children:a.jsx(v.PlusIcon,{className:"h-3 w-3 stroke-[3] text-white"})})})}),a.jsx("div",{children:a.jsx("div",{role:"treeitem","aria-level":0,"aria-selected":!0,"aria-expanded":!1,onClick:()=>n([]),className:"flex min-h-[25px] items-center",children:a.jsxs("div",{className:pe.cn("group flex h-[25px] w-full cursor-pointer items-center justify-between space-x-px px-2 py-0 outline-none",e.length===0?"bg-primary/20":""),children:[a.jsxs("div",{className:"leading-1 flex items-center",children:[a.jsx(v.CardStackIcon,{className:"h-3 w-3 flex-shrink-0 rotate-180"}),a.jsx("div",{className:"ml-1.5 flex items-center gap-x-1 truncate text-[13px]",children:"Body"})]}),a.jsx(_c,{node:"BODY",id:"BODY",children:a.jsx("div",{className:"hidden cursor-pointer rounded bg-transparent p-px hover:bg-primary/10 group-hover:block",children:a.jsx(v.DotsVerticalIcon,{className:"h-3 w-3"})})})]})})}),a.jsx(Sd.Tree,{ref:c,height:window.innerHeight-160,className:"no-scrollbar !h-full max-w-full !overflow-y-auto !overflow-x-hidden",rowClassName:"flex items-center h-full",selection:e[0]||"",onRename:b,openByDefault:!1,onMove:y,data:[...x],renderCursor:bx,onSelect:k,childrenAccessor:S=>S.children,width:"100%",rowHeight:25,renderDragPreview:()=>null,indent:14,onContextMenu:C,disableDrop:A,idAccessor:"_id",children:Ox})]})}),a.jsx($x,{}),a.jsx(Fx,{parentContext:f,setParentContext:m})]})},vn=O.forwardRef(({className:t,orientation:e="horizontal",decorative:n=!0,...s},r)=>a.jsx(Ka.Root,{ref:r,decorative:n,orientation:e,className:T.cn("shrink-0 bg-border",e==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...s}));vn.displayName=Ka.Root.displayName;const Rc=O.forwardRef(({className:t,...e},n)=>a.jsxs(pn.Root,{ref:n,className:T.cn("relative flex w-full touch-none select-none items-center",t),...e,children:[a.jsx(pn.Track,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-neutral-300",children:a.jsx(pn.Range,{className:"absolute h-full bg-neutral-900"})}),a.jsx(pn.Thumb,{className:"block h-4 w-4 rounded-full border border-neutral-900 bg-neutral-900 shadow transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-900 disabled:pointer-events-none disabled:opacity-50"})]}));Rc.displayName=pn.Root.displayName;const Hx=({value:t,onChange:e,disabled:n})=>{const[s,r]=g.useState(t),o=xe.useThrottledCallback(e,[t],200,!0);return a.jsx(Rc,{min:0,step:1,max:50,disabled:n,value:[Number(s.replace("px",""))],onValueChange:i=>{r(i[0].toString()+"px"),o(i[0].toString())},className:"flex-1 cursor-pointer"})},Vx=({value:t,onChange:e})=>{const n=d.debounce(s=>e(s),200);return a.jsx("div",{className:"relative flex h-6 w-6 cursor-pointer rounded-lg border border-border",style:{backgroundColor:t},children:a.jsx("input",{type:"color",value:t.startsWith("#")?t:"#000000",onChange:s=>{const r=s.target.value;/^#[0-9A-F]{6}$/i.test(r)&&n(r)},className:"absolute inset-0 h-full w-full cursor-pointer rounded-lg border-0 opacity-0"})})},Wx=({label:t,value:e,onChange:n})=>{const s=Tr.useRegisteredFonts(),{t:r}=z.useTranslation();return g.useEffect(()=>{s.some(o=>o.family===e)||n(s[0].family)},[e,n]),a.jsxs("div",{className:"space-y-0.5",children:[a.jsx(ct,{className:"mb-1 block text-xs text-gray-600",children:r(d.startCase(t))}),a.jsxs(Vs,{value:e,onValueChange:n,children:[a.jsx(zn,{className:"h-8 w-full text-xs text-black",children:a.jsx(Oo,{placeholder:r("Select font")})}),a.jsx(Hn,{children:s.map(o=>a.jsx(Vn,{value:o.family,children:o.family},o.family))})]})]})},Pc=()=>{const t=$("onSaveWebsiteData",async c=>{}),[e]=Rn(),n=g.useRef(!1),s=g.useCallback(async c=>{if(!n.current){n.current=!0;try{await t(c)}finally{n.current=!1}}},[t]),r=g.useCallback(async c=>{await s({type:"THEME",data:c??e})},[s,e]),o=g.useCallback(async c=>{const u=c??ze.get(en);await s({type:"DESIGN_TOKENS",data:u})},[s]),i=xe.useDebouncedCallback(r,[r],1e3),l=xe.useDebouncedCallback(o,[o],1e3);return{saveWebsiteData:s,saveTheme:r,saveDesignTokens:o,debouncedSaveTheme:i,debouncedSaveDesignTokens:l}},Gx={fontFamily:{heading:"Poppins",body:"Poppins"},borderRadius:"6px",colors:{background:["#ffffff","#0a0a0a"],foreground:["#0a0a0a","#fafafa"],primary:["#171717","#e5e5e5"],"primary-foreground":["#fafafa","#171717"],secondary:["#f5f5f5","#262626"],"secondary-foreground":["#171717","#fafafa"],muted:["#f5f5f5","#262626"],"muted-foreground":["#737373","#a1a1a1"],accent:["#f5f5f5","#404040"],"accent-foreground":["#171717","#fafafa"],destructive:["#e7000b","#ff6467"],"destructive-foreground":["#ffffff","#fafafa"],border:["#e5e5e5","#282828"],input:["#e5e5e5","#343434"],ring:["#a1a1a1","#737373"],card:["#ffffff","#171717"],"card-foreground":["#0a0a0a","#fafafa"],popover:["#ffffff","#262626"],"popover-foreground":["#0a0a0a","#fafafa"]}},Ux={fontFamily:{heading:"Poppins",body:"Poppins"},borderRadius:"4px",colors:{background:["#ffffff","#000000"],foreground:["#0f1419","#e7e9ea"],primary:["#1e9df1","#1c9cf0"],"primary-foreground":["#ffffff","#ffffff"],secondary:["#0f1419","#f0f3f4"],"secondary-foreground":["#ffffff","#0f1419"],muted:["#e5e5e6","#181818"],"muted-foreground":["#0f1419","#72767a"],accent:["#e3ecf6","#061622"],"accent-foreground":["#1e9df1","#1c9cf0"],destructive:["#f4212e","#f4212e"],"destructive-foreground":["#ffffff","#ffffff"],border:["#e1eaef","#242628"],input:["#f7f9fa","#22303c"],ring:["#1da1f2","#1da1f2"],card:["#f7f8f8","#17181c"],"card-foreground":["#0f1419","#d9d9d9"],popover:["#ffffff","#000000"],"popover-foreground":["#0f1419","#e7e9ea"]}},qx={fontFamily:{heading:"Geist",body:"Geist"},borderRadius:"4px",colors:{background:["#fdf6e3","#002b36"],foreground:["#073642","#93a1a1"],primary:["#d33682","#d33682"],"primary-foreground":["#ffffff","#ffffff"],secondary:["#2aa198","#2aa198"],"secondary-foreground":["#ffffff","#ffffff"],muted:["#93a1a1","#586e75"],"muted-foreground":["#073642","#93a1a1"],accent:["#cb4b16","#cb4b16"],"accent-foreground":["#ffffff","#ffffff"],destructive:["#dc322f","#dc322f"],"destructive-foreground":["#ffffff","#ffffff"],border:["#839496","#586e75"],input:["#839496","#586e75"],ring:["#d33682","#d33682"],card:["#eee8d5","#073642"],"card-foreground":["#073642","#93a1a1"],popover:["#eee8d5","#073642"],"popover-foreground":["#073642","#93a1a1"]}},Kx={fontFamily:{heading:"Poppins",body:"Poppins"},borderRadius:"6px",colors:{background:["#faf9f5","#262624"],foreground:["#3d3929","#c3c0b6"],primary:["#c96442","#d97757"],"primary-foreground":["#ffffff","#ffffff"],secondary:["#e9e6dc","#faf9f5"],"secondary-foreground":["#535146","#30302e"],muted:["#ede9de","#1b1b19"],"muted-foreground":["#83827d","#b7b5a9"],accent:["#e9e6dc","#1a1915"],"accent-foreground":["#28261b","#f5f4ee"],destructive:["#141413","#ef4444"],"destructive-foreground":["#ffffff","#ffffff"],border:["#dad9d4","#3e3e38"],input:["#b4b2a7","#52514a"],ring:["#c96442","#d97757"],card:["#faf9f5","#262624"],"card-foreground":["#141413","#faf9f5"],popover:["#ffffff","#30302e"],"popover-foreground":["#28261b","#e5e5e2"]}},Yx={fontFamily:{heading:"Inter",body:"Inter"},borderRadius:"6px",colors:{background:["#fff9f5","#2a2024"],foreground:["#3d3436","#f2e9e4"],primary:["#ff7e5f","#ff7e5f"],"primary-foreground":["#ffffff","#ffffff"],secondary:["#ffedea","#463a41"],"secondary-foreground":["#b35340","#f2e9e4"],muted:["#fff0eb","#392f35"],"muted-foreground":["#78716c","#d7c6bc"],accent:["#feb47b","#feb47b"],"accent-foreground":["#3d3436","#2a2024"],destructive:["#e63946","#e63946"],"destructive-foreground":["#ffffff","#ffffff"],border:["#ffe0d6","#463a41"],input:["#ffe0d6","#463a41"],ring:["#ff7e5f","#ff7e5f"],card:["#ffffff","#392f35"],"card-foreground":["#3d3436","#f2e9e4"],popover:["#ffffff","#392f35"],"popover-foreground":["#3d3436","#f2e9e4"]}},Xx=g.lazy(()=>Promise.resolve().then(()=>require("./css-import-modal-DFdZ471B.cjs")).then(t=>({default:t.CssImportModal}))),Lc="chai-builder-previous-theme",Jx=[{shadcn_default:Gx},{twitter_theme:Ux},{solarized_theme:qx},{claude_theme:Kx},{supabase_theme:Yx}],Zx=t=>{if(!(typeof window>"u"))try{localStorage.setItem(Lc,JSON.stringify(t))}catch(e){console.warn("Failed to save previous theme to localStorage:",e)}},Qx=()=>{if(!(typeof window>"u"))try{localStorage.removeItem(Lc)}catch(t){console.warn("Failed to clear previous theme from localStorage:",t)}},Dc=O.memo(({className:t=""})=>{const[e,n]=rn(),[s,r]=O.useState(""),[o,i]=O.useState(!1),l=$("themePresets",{}),{hasPermission:c}=We(),{debouncedSaveTheme:u}=Pc(),p=$("flags.importTheme",!0),f=$("flags.darkMode",!1),m=Tr.useRegisteredFonts();(!l||l.length===0)&&Jx.map(E=>{l.push(E)});const[h,x]=Rn(),b=on(),{t:y}=z.useTranslation(),k=O.useCallback(E=>{const _={...h};Zx(_),x(E),u(),ue.toast.success("Theme updated",{action:{label:a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(v.ResetIcon,{className:"h-4 w-4"})," Undo"]}),onClick:()=>{x(_),Qx(),ue.toast.dismiss()}},closeButton:!0,duration:15e3})},[h,x,u]),C=()=>{const E=l.find(_=>Object.keys(_)[0]===s);if(E){const _=Object.values(E)[0];_&&typeof _=="object"&&"fontFamily"in _&&"borderRadius"in _&&"colors"in _?(k(_),r("")):console.error("Invalid preset structure:",_)}else console.error("Preset not found:",s)},A=E=>{k(E),r("")},w=xe.useDebouncedCallback((E,_)=>{x(()=>({...h,fontFamily:{...h.fontFamily,[E.replace(/font-/g,"")]:_}})),u()},[h,u],200),j=O.useCallback(E=>{x(()=>({...h,borderRadius:`${E}px`})),u()},[h,x,u]),I=xe.useDebouncedCallback((E,_)=>{x(()=>{const B=d.get(h,`colors.${E}`);return e?d.set(B,1,_):d.set(B,0,_),{...h,colors:{...h.colors,[E]:B}}}),u()},[h,u],200),S=E=>a.jsx("div",{className:"grid grid-cols-1",children:Object.entries(E.items).map(([_])=>{const B=d.get(h,`colors.${_}.${e?1:0}`);return B?a.jsxs("div",{id:`theme-${_}`,className:"mt-1 flex items-center gap-x-2",children:[a.jsx(Vx,{value:B,onChange:P=>I(_,P)}),a.jsx(ct,{className:"text-xs font-normal leading-tight",children:_.split(/(?=[A-Z])/).join(" ").replace(/-/g," ").split(" ").map(P=>P.charAt(0).toUpperCase()+P.slice(1)).join(" ")+(!_.toLowerCase().includes("foreground")&&!_.toLowerCase().includes("border")&&!_.toLowerCase().includes("input")&&!_.toLowerCase().includes("ring")&&!_.toLowerCase().includes("background")?" Background":"")})]},_):null})});return c("edit_theme")?a.jsx("div",{className:"relative w-full",children:a.jsxs("div",{className:pe.cn("no-scrollbar h-full w-full overflow-y-auto",t),children:[l.length>0&&a.jsxs("div",{className:"mx-0 my-2 flex flex-col gap-1 py-2",children:[a.jsxs("div",{className:"flex w-full items-center justify-between",children:[a.jsx(ct,{className:"text-sm",children:y("Presets")}),a.jsx("div",{className:"flex gap-2",children:p&&a.jsxs(T.Button,{className:"px-1",variant:"link",size:"sm",onClick:()=>i(!0),children:[a.jsx(v.UploadIcon,{className:"h-4 w-4"}),y("Import theme")]})})]}),a.jsxs("div",{className:"flex items-center gap-2 px-0",children:[a.jsx("div",{className:"w-[70%]",children:a.jsxs(Vs,{value:s,onValueChange:r,children:[a.jsx(zn,{className:"h-9 w-full text-sm",children:a.jsx(Oo,{placeholder:y("Select preset")})}),a.jsx(Hn,{children:Array.isArray(l)&&l.map(E=>{const _=Object.keys(E)[0],B=_.replaceAll("_"," ");return a.jsx(Vn,{value:_,children:d.capitalize(B)},_)})})]})}),a.jsx("div",{className:"w-[25%]",children:a.jsx(T.Button,{className:"w-full text-sm",disabled:!s,onClick:C,children:y("Apply")})})]})]}),a.jsx(vn,{}),a.jsxs("div",{className:pe.cn("my-2 space-y-3",t),children:[m.length>0?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.TextIcon,{className:"h-3 w-3 text-gray-600"}),a.jsx("span",{className:"text-xs font-medium text-gray-700",children:y("Typography")})]}),(b==null?void 0:b.fontFamily)&&a.jsx("div",{className:"space-y-2",children:Object.entries(b.fontFamily).map(([E,_])=>a.jsx(Wx,{label:E,value:h.fontFamily[E.replace(/font-/g,"")]||_[Object.keys(_)[0]],onChange:B=>w(E,B)},E))}),a.jsx(vn,{})]}):"",(b==null?void 0:b.borderRadius)&&a.jsxs("div",{className:"space-y-0.5",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.CornerTopRightIcon,{className:"h-3 w-3 text-gray-600"}),a.jsx("span",{className:"text-xs font-medium text-gray-700",children:y("Border Radius")})]}),a.jsx(Ds,{variant:"secondary",className:"text-xs",children:h.borderRadius})]}),a.jsx("div",{className:"flex items-center gap-4 py-2",children:a.jsx(Hx,{value:h.borderRadius,onChange:j})})]}),a.jsx(vn,{}),(b==null?void 0:b.colors)&&a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.MixerHorizontalIcon,{className:"h-3 w-3 text-gray-600"}),a.jsx("span",{className:"text-xs font-medium text-gray-700",children:y("Colors")})]}),f&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.SunIcon,{className:"h-4 w-4"}),a.jsx(dn,{checked:e,onCheckedChange:E=>n(E),"aria-label":y("Toggle dark mode"),className:"mx-1"}),a.jsx(v.MoonIcon,{className:"h-4 w-4"})]})]}),a.jsx("div",{className:"space-y-2",children:b.colors.map(E=>a.jsx("div",{children:S(E)},E.group))})]}),a.jsx(g.Suspense,{fallback:a.jsx("div",{children:y("Loading...")}),children:o&&p&&a.jsx(Xx,{open:o,onOpenChange:i,onImport:A})})]}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]})}):a.jsx("div",{className:"relative w-full",children:a.jsx("div",{className:pe.cn("no-scrollbar h-full w-full overflow-y-auto text-center",t),children:a.jsx("div",{className:"mt-10 h-full items-center justify-center gap-2 text-muted-foreground",children:a.jsx("p",{className:"text-sm",children:y("You don't have permission to edit the theme. Please contact your administrator to get access.")})})})})}),eb="Core",tb="Import",nb="Breakpoints",sb="Clear",rb="Cancel",ob="Yes",ab="Preview",ib="Settings",lb="Style",cb="Enter SVG code here",db="Remove",ub="Choose",pb="Cut",fb="Copy",hb="Paste",mb="Delete",gb="classes",xb="Theme",bb="Outline",yb="Copied",kb="Stop",vb="Edit",wb="Tag",Cb="Value",jb="URL",Sb="Images",Nb="Library",Eb="Blocks",Ab="Basic",_b="Media",Ib="Advanced",Tb="Form",Bb="Groups",Rb="Accordions",Pb="Buttons",Lb="Layouts",Db="FAQ",Mb="Hero",Ob="Features",$b="Footer",Fb="Navbar",zb="Icons",Hb="Testimonials",Vb="Blog",Wb="Saved",Gb="Unsaved",Ub="Randomize",qb="Classes",Kb="All",Yb="Undo",Xb="Redo",Jb="Duplicate",Zb="Close",Qb="Selected",ey="Select",ty="Attributes",ny="apply",sy="presets",ry="Orientation",oy="Color",ay="Upload",iy="Apply",ly="Back",cy="Insert",dy="Rename",uy="Partials",py="Happy",fy="Sad",hy="Retry",my="Canvas is empty",gy="Presets",xy="No",by="Saving",yy={heading_font:"Heading Font",body_font:"Body Font",rounded_corner:"Rounded Corners",primary:"Primary",secondary:"Secondary",background:"Background",text_color:"Text Color",background_dark_mode:"Background (Dark Mode)",text_color_dark_mode:"Text Color (Dark Mode)"},ky={box:"box",tag:"Tag",div:"div",level:"Level",header:"header",footer:"footer",section:"section",article:"article",aside:"aside",main:"main",nav:"navigation",figure:"figure",details:"details",summary:"summary",dialog:"dialog",strike:"strike",caption:"caption",legend:"legend",figcaption:"figure caption",mark:"mark",background_image:"Background Image",label:"Label",default:"default",icon_size:"Icon Size",icon_position:"Icon Position",start:"Start",end:"End",button:"Button",custom_html:"Custom HTML",html_code:"HTML Code",default_snippet:"The HTML snippet goes here...",placeholder:"Enter custom HTML code here",custom_script:"Custom Script",dark_mode:"Dark Mode",divider:"Divider",empty_box:"Empty Box",heading:"Heading",image:"Image",alt:"Alt",width:"Width",height:"Height",video:"Video",span:"Span",content:"Content",icon:"Icon",richtext:"Rich Text",list:"List",list_type:"List Type",listitem:"List Item",link:"Link",list_item:"List Item",none:"None",disc:"Disc",number:"Number",paragraph:"Paragraph",lightbox_link:"Lightbox Link",href:"Link",type:"Type",iframe:"iframe",inline:"inline",ajax:"ajax",autoplay:"Video autoplay",max_width:"Max Width",backdrop_color:"Background Color",gallery_name:"Gallery Name",slot:"Slot",empty_slot:"Empty Slot",text:"Text",video_url:"Video URL",controls:"Show Controls",loop:"Loop",muted:"Muted",checkbox:"Checkbox",required:"Required",checked:"Checked",submit_button:"Submit Button",form:"Form",submit_url:"Submit URL",error_message:"Error Message",success_message:"Success Message",input:"Input",value:"Value",show_label:"Show Label",field_name:"Field Name",radio:"Radio",multiple:"Multiple",options:"Options",select:"Select",multiple_choice:"Multiple Choice",textarea:"Textarea",rows:"Rows"},vy="Add",wy="Save",Cy="Screen",jy={"Add block":"Add Block","Add Block":"Add Block","Add blocks":"Add blocks","Add inside":"Add inside","Add before":"Add before","Add after":"Add after","Add block inside":"Add block inside","Add field":"Add field","Enter or paste TailwindCSS HTML snippet":"Enter or paste TailwindCSS HTML snippet","Click to add block to page":"Click to add block to page",Core:eb,"Custom Blocks":"Custom Blocks","UI Library":"UI Library",Import:tb,"Use HTML snippets from Tailwind CSS component libraries":"Use HTML snippets from Tailwind CSS component libraries","Tailwind HTML snippet":"Tailwind HTML snippet","Enter your code snippet here":"Enter your code snippet here","Import HTML":"Import HTML","Imported HTML Note":"NOTE: Imported html will be added to the currently selected block. If no block is selected, the html will be added to the page.","Dark Mode":"Dark Mode","This page has no blocks. Add a block by clicking the + button":"This page has no blocks. Add a block by clicking the + button","This page is empty":"This page is empty","Please select a block to edit settings or styles":"Please select a block to edit settings or styles","Please select a block to Ask AI":"Please select a block to ask AI","Please select a styling block":"Please select a styling block","Drop your block here":"Drop your block here","Use setting":"Use setting","Mobile (XS)":"Mobile (XS)","Styles set here are applied to all screen unless edited at higher breakpoint":"Styles set here are applied to all screen unless edited at higher breakpoint","Mobile landscape (SM)":"Mobile landscape (SM)","Styles set here are applied at 640px and up unless edited at higher breakpoint":"Styles set here are applied at 640px and up unless edited at higher breakpoint","Tablet (MD)":"Tablet (MD)","Styles set here are applied at 768px and up":"Styles set here are applied at 768px and up","Tablet Landscape (LG)":"Tablet Landscape (LG)","Styles set here are applied at 1024px and up unless edited at higher breakpoint":"Styles set here are applied at 1024px and up unless edited at higher breakpoint","Desktop (XL)":"Desktop (XL)","Styles set here are applied at 1280px and up unless edited at higher breakpoint":"Styles set here are applied at 1280px and up unless edited at higher breakpoint","Large Desktop (2XL)":"Large Desktop (2XL)","Styles set here are applied at 1536px and up":"Styles set here are applied at 1536px and up",Breakpoints:nb,Clear:sb,"Clear whole canvas?":"Clear whole canvas?","Are you sure you want to clear the whole canvas?":"Are you sure you want to clear the whole canvas?",Cancel:rb,Yes:ob,Preview:ab,Settings:ib,Styling:lb,SVG_code:cb,"Paste SVG_code":"Choose icon or paste SVG code","Enter Key":"Enter Key","Data Provider":"Data Provider","Remove Provider Confirmation":"Are you sure you want to remove <span class='text-blue-500'>{name}</span> provider?","Your data provider will be removed from this page and all added data binding will be not visible on blocks.":"Your data provider will be removed from this page and all added data binding will be not visible on blocks.",Remove:db,"You have no data providers registered. Please add a data provider to your project.":"You have no data providers registered. Please add a data provider to your project.","Learn more":"Learn more","Add data providers:":"Add data providers:","Select a provider":"Select a provider",Choose:ub,"Page data providers:":"Page data providers:","View Data":"View Data","Mark as Global":"Mark as Global","Note: Global blocks are single instances. Editing global blocks will be reflected on all pages using these blocks.":"Note: Global blocks are single instances. Editing global blocks will be reflected on all pages using these blocks.","Global blocks are indicated with":"Global blocks are indicated with","Global blocks are available under 'Global' category":"Global blocks are available under 'Global' category","Enter global block name":"Enter global block name","Eg: Header, Footer":"Eg: Header, Footer","{length} blocks selected.":"{length} blocks selected.",Cut:pb,Copy:fb,Paste:hb,Delete:mb,"Clear Selection":"Clear Selection","This is dev mode. Visit":"This is dev mode. Visit","to see page preview":"to see page preview",classes:gb,Theme:xb,Outline:bb,"Not supported":"Not supported","Please use Chrome, Firefox or Safari":"Please use Chrome, Firefox or Safari","Download Complete":"Download complete",Copied:yb,"Enter Classes":"Add classes or design tokens (space-separated)","Ask AI":"Ask AI","Edit with AI":"Edit with AI","Generating... Please wait...":"Generating... Please wait...","Saving... Please wait...":"Saving... Please wait...","Deleting... Please wait...":"Deleting... Please wait...",Stop:kb,"E.g.: This page is about an AI assistant app called Chai Studio. It allows users to create beautiful webpages and edit content with AI":"E.g.: This page is about an AI assistant app called Chai Studio. It allows users to create beautiful webpages and edit content with AI.","Ask AI to edit styles":"Ask AI to edit styles","Ask AI to edit content":"Ask AI to edit content","AI Context":"AI Context","Select Block for AI":"Select a block to edit with AI","Select Block to Edit":"Please select a block to edit",Edit:vb,"Describe this page. E.g.: This page is about...":"Describe this page. E.g.: This page is about...",Tag:wb,Value:Cb,"Background Image":"Background Image","Enter image URL":"Enter image URL","Enter URL":"Enter URL",URL:jb,"Replace image":"Replace image","Choose image":"Choose image",Images:Sb,Library:Nb,Blocks:Eb,Basic:Ab,Media:_b,Advanced:Ib,Form:Tb,"Choose Icon or SVG":"Choose an icon or enter SVG",Groups:Bb,"UI Libraries":"UI Libraries",Accordions:Rb,Buttons:Pb,Layouts:Lb,"Choose Library":"Choose library","No Library Found":"No library found.",FAQ:Db,Hero:Mb,Features:Ob,Footer:$b,Navbar:Fb,Icons:zb,Testimonials:Hb,Blog:Vb,"Remove context":"Remove context","Yes, Delete":"Yes, Delete","AI Context Updated":"AI Context Updated","You can now ask AI to edit your content.":"You can now ask AI to edit your content.",Saved:Wb,Unsaved:Gb,"Saving...":"Saving...","Improve writing":"Improve writing","Replace placeholder content":"Replace placeholder content","Discard current placeholder content and replace with meaningful relevant content.":"Discard current placeholder content and replace with meaningful relevant content.","Fix grammar":"Fix grammar","Fix grammar in all text elements. Ensuring the text is grammatically correct and free of errors.":"Fix grammar in all text elements. Ensuring the text is grammatically correct and free of errors.","Make longer":"Make longer","Make all text elements longer.":"Make all text elements longer.","Make shorter":"Make shorter","Make all text elements shorter.":"Make all text elements shorter.","Add emojis":"Add emojis","Add emojis to text elements if relevant.":"Add emojis to text elements if relevant.",Randomize:Ub,"Randomize all text elements.":"Randomize all text elements.","Edit Block":"Edit Block","AI Assistant":"AI Assistant","Theme Config":{"Heading Font":"Heading Font","Body Font":"Body Font","Rounded Corner":"Rounded Corners",Primary:"Primary",Secondary:"Secondary",Background:"Background","Text Color":"Text Color","Background Dark Mode":"Background (Dark Mode)","Text Color Dark Mode":"Text Color (Dark Mode)","Reset styles":"Reset styles"},"Copy classes to clipboard":"Copy classes to clipboard","Classes copied to clipboard":"Classes copied to clipboard",Classes:qb,All:Kb,"Enter classes separated by space":"Add classes (space-separated)","Enter classes separated by space or design tokens":"Add classes or design tokens (space-separated)","Show hidden blocks":"Show hidden blocks","Expand all":"Expand all","Collapse all":"Collapse all","Choose library":"Choose library","Close Preview":"Close Preview",Error:"Error","Failed to copy template":"Failed to copy template","Total tokens used":"Total tokens used","Updated AI Context":"Updated AI Context","You can now Ask AI to edit your content":"You can now Ask AI to edit your content","Tell about this page eg this page is about":"Tell about this page eg this page is about..","Delete Context":"Delete Context","Keyboard shortcuts":"Keyboard shortcuts",Undo:Yb,Redo:Xb,Duplicate:Jb,"Deselect blocks":"Deselect blocks","Delete block":"Delete block","Save page":"Save page","Scripts will be only executed in preview and live mode.":"Scripts will be only executed in preview and live mode.","HTML Code Editor |":"HTML Code Editor |",Close:Zb,"Coming soon":"Coming soon",Selected:Qb,Select:ey,"Choose Builder Layout":"Choose Builder Layout","Single side panel":"Single side panel","Suitable for smaller screens. Bigger canvas size.":"Suitable for smaller screens. Bigger canvas size.","Dual side panel":"Dual side panel","Suitable for larger screens. Smaller canvas size.":"Suitable for larger screens. Smaller canvas size.","Dual side panel advanced":"Dual side panel advanced","Suitable for heavy styling & block editing. Setting are always visible.":"Suitable for heavy styling & block editing. Setting are always visible.","Block Settings":"Block Settings","Visibility settings":"Visibility settings","Show on canvas":"Show on canvas",Attributes:ty,"Apply Presets":"Apply Presets",apply:ny,presets:sy,"Global presets":"Global presets",Orientation:ry,Color:oy,"Please select an image":"Please select an image","click to upload":"click to upload","SVG, PNG, JPG or GIF (Max. 2mb)":"SVG, PNG, JPG or GIF (Max. 2mb)","Uploading...":"Uploading...",Upload:ay,"Something went wrong":"Something went wrong","Fetching...":"Fetching...","No images found":"No images found","It looks like you haven't uploaded any images yet. Start by clicking the upload button above.":"It looks like you haven't uploaded any images yet. Start by clicking the upload button above.","Open Code Editor":"Open Code Editor","Clear search":"Clear search","No results found for":"No results found for","Search {{pageTypeName}}":"Search {{pageTypeName}}","Goto Page":"Goto Page","Open URL":"Open URL","Compose Email":"Compose Email","Call Phone":"Call Phone","Scroll to element":"Scroll to element","#ElementID":"#ElementID","Enter details":"Enter details","Open in new tab":"Open in new tab",Apply:iy,Back:ly,Insert:cy,Rename:dy,"Unlink from library":"Unlink from library","Save to Library":"Save to Library","No blocks found in this group":"No blocks found in this group","No blocks found matching":"No blocks found matching","No matching blocks found":"No matching blocks found","Search blocks...":"Search blocks...",Partials:uy,Happy:py,Sad:fy,"Importing...":"Importing...","Failed to load the UI library. Try again":"Failed to load the UI library. Try again",Retry:hy,"Oops! Something went wrong.":"Oops! Something went wrong.","Please try again.":"Please try again.","No option found.":"No option found.","Clipboard not supported":"Clipboard not supported","Are you sure you want to clear the page?":"Are you sure you want to clear the page?",canvas_empty:my,Presets:gy,"Reset style":"Reset style","Reset styles":"Reset styles","Clear styles":"Clear styles","Open code editor":"Open code editor","Style element":"Style element","Repeater Data":"Repeater Data","Toggle Data Binding":"Toggle Data Binding",No:xy,Saving:by,"Screen sizes":"Screen sizes","Theme Settings":"Theme Settings","Import CSS Theme":"Import CSS Theme","Import theme":"Import theme","Import Theme":"Import Theme","CSS Variables":"CSS Variables","You don't have permission to edit settings or styles":"You don't have permission to edit settings or styles","Please contact your administrator to get access":"Please contact your administrator to get access","flex.heading":"Flex Child","flex.basis":"Basis","flex.order":"Order","flex.flex":"Flex","flex.grow":"Grow","flex.shrink":"Shrink","grid.heading":"Grid Child","grid.col_span":"Col Span","grid.col_start":"Col Start","grid.col_end":"Col End","grid.row_span":"Row Span","grid.row_start":"Row Start","grid.row_end":"Row End","grid.order":"Order","layout.heading":"Layout","layout.width":"Width","layout.height":"Height","layout.margin":"Margin","layout.margin_all":"All","layout.margin_lr":"Left-Right","layout.margin_tb":"Top-Bottom","layout.margin_top":"Top","layout.margin_right":"Right","layout.margin_bottom":"Bottom","layout.margin_left":"Left","layout.padding":"Padding","layout.padding_all":"All","layout.padding_lr":"Left-Right","layout.padding_tb":"Top-Bottom","layout.padding_top":"Top","layout.padding_right":"Right","layout.padding_bottom":"Bottom","layout.padding_left":"Left","layout.space_bt":"Space Bt.","layout.space_lr":"Left-Right","layout.space_tb":"Top-Bottom","size.heading":"Size","size.min_width_height":"Min width & height","size.min_width":"Min Width","size.min_height":"Min Height","size.max_width_height":"Max width & height","size.max_width":"Max Width","size.max_height":"Max Height","size.object_options_aspect_ratio":"Object options & aspect ratio","size.aspect":"Aspect","size.fit":"Fit","size.position":"Position","display.heading":"Display","display.display":"Display","display.flex_options":"Flex options","display.flex_direction":"Direction","display.flex_wrap":"Wrap","display.justify_content":"Justify","display.align_content":"Content","display.align_items":"Items","display.gap":"Gap","display.gap_all":"All","display.gap_lr":"Left-Right","display.gap_tb":"Top-Bottom","display.grid_options":"Grid options","display.grid_columns":"Columns","display.grid_rows":"Rows","display.grid_auto_flow":"Auto Flow","display.grid_auto_cols":"Auto Cols","display.grid_auto_rows":"Auto Rows","display.visibility_opacity":"Visibility & Opacity","display.visibility":"Visibility","display.opacity":"Opacity","position.heading":"Position","position.position":"Position","position.options":"Position options","position.direction":"Direction","position.top":"Top","position.right":"Right","position.bottom":"Bottom","position.left":"Left","position.inset":"Inset","position.all":"All","position.lr":"Left Right","position.tb":"Top Bottom","position.z_index":"Z-Index","position.float_clear":"Float & Clear","position.float":"Float","position.clear":"Clear","position.overflow_overscroll":"Overflow & Overscroll","position.overflow":"Overflow","position.overscroll":"Overscroll","typography.heading":"Typography","typography.font":"Font","typography.size":"Size","typography.height":"Height","typography.weight":"Weight","typography.color":"Color","typography.alignments":"Alignments","typography.align":"Align","typography.valign":"V. Align","typography.spacing_decoration_more":"Spacing, decoration & more","typography.spacing":"Spacing","typography.decoration":"Decoration","typography.thickness":"Thickness","typography.transform":"Transform","typography.whitespace_breaks":"White space & breaks","typography.whitespace":"Whitespace","typography.wordbreak":"Wordbreak","background.heading":"Background","background.bgcolor":"Bg. Color","background.position_size_more":"Position, Size & more","background.attachment":"Attachment","background.clipping":"Clipping","background.origin":"Origin","background.position":"Position","background.repeat":"Repeat","background.size":"Size","background.gradient":"Gradient","background.gradient_colors":"Gradient colors","background.from_color":"From","background.via_color":"Via","background.to_color":"To","border.heading":"Border & Outline","border.width":"Width","border.all":"All","border.lr":"Left Right","border.tb":"Top bottom","border.top":"Top","border.right":"Right","border.bottom":"Bottom","border.left":"Left","border.corners":"Corners","border.top_left":"Top Left","border.top_right":"Top right","border.bottom_right":"Bottom right","border.bottom_left":"Bottom left","border.color":"Color","border.style":"Style","border.divide_options":"Divide options","border.divide_color":"Color","border.divide_style":"Style","border.outline_styling":"Outline styling","border.outline_width":"Width","border.outline_offset":"Offset","border.outline_style":"Style","border.ring_options":"Ring options","border.ring_width":"Width","border.ring_color":"Color","border.ring_offset_width":"Offset","border.ring_offset_color":"Off. color","effect.heading":"Effect & Animation","effect.shadow":"Shadow","effect.color":"Color","effect.cursor":"Cursor","effect.blend_cursor":"Blend & Cursor","effect.mix_blend":"Mix Blend","effect.bg_blend":"Bg. Blend","effect.transform":"Transform","effect.origin":"Origin","effect.scale":"Scale","effect.all":"All","effect.lr":"Left-Right","effect.tb":"Top-Bottom","effect.skew":"Skew","effect.translate":"Translate","effect.rotate":"Rotate","effect.animation":"Animation","effect.transition":"Transition","effect.easing":"Easing","effect.duration":"Duration","effect.delay":"Delay","classes.heading":"Classes",theme_config:yy,web_blocks:ky,"Export Code":"Export Code","Exporting {{count}} blocks":"Exporting {{count}} blocks","Exporting all blocks":"Exporting all blocks","Export code copied!":"Export code copied!","Failed to copy export code":"Failed to copy export code","Export code downloaded successfully!":"Export code downloaded successfully!","Failed to generate export HTML":"Failed to generate export HTML","Enter value":"Enter value","Attribute keys cannot start with @":"Attribute keys cannot start with @","Enter key":"Enter key",Add:vy,Save:wy,Screen:Cy};ft.use(z.initReactI18next).init({resources:{en:{translation:jy}},lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1}});function Sy(t,e,n){n.push(d.find(t,{_id:e}));const s=d.filter(t,{_parent:e});for(const r of s)n.push(...Mc(r._id,t));return n}const Mc=(t,e)=>{let n=[];return n=d.flattenDeep([...n,...Sy(e,t,n)]),n},Ny=(t,e,n)=>d.compact(t.map(s=>{const r=["_id","_type","_parent"],o=d.pick(s,r),i=K.getRegisteredChaiBlock(s._type),l={},c=d.get(i,"aiProps",[]);for(const u in s)if(!r.includes(u)&&c.includes(u)){const p=d.get(s,`${u}-${e}`,""),f=d.get(s,u,"");l[u]=d.isString(p)&&p.trim()||f,n&&(l[u]=f)}return d.isEmpty(l)?!1:(d.has(o,"_parent")&&d.isEmpty(o._parent)&&delete o._parent,{...o,...l})})),Ey=(t,e,n)=>!e||n!=="content"?t:`${t}. Generate content in ${d.get(Dt,e,e)} language.`,Ay=N.atom(!1),Oc=()=>{const[t,e]=N.useAtom(Ay),[n,s]=g.useState(null),r=$("askAiCallBack",d.noop),o=ii(),i=Kd(),[l]=Z(),{selectedLang:c,fallbackLang:u}=Te(),p=c.length?c:u,f=(m,h)=>{const x=d.cloneDeep(h.find(b=>b._id===m));for(const b in x){const y=x[b];if(typeof y=="string"&&d.startsWith(y,U.STYLES_KEY)){const{baseClasses:k,classes:C}=se.getSplitChaiClasses(y);x[b]=d.compact(d.flattenDeep([k,C])).join(" ")}else b!=="_id"&&delete x[b]}return x};return{askAi:g.useCallback(async(m,h,x,b)=>{if(r){e(!0),s(null);try{const y=c===u?"":c,k=x.toLowerCase().includes("translate the content"),C=m==="content"?Ny(d.cloneDeep(Mc(h,l)),c,k):[f(h,l)],A=await r(m,Ey(x,p,m),C,y);if(A===void 0)return;const{blocks:w,error:j}=A;if(j){s(j);return}if(m==="styles"){const I=w.map(S=>{for(const E in S)E!=="_id"&&(S[E]=`${U.STYLES_KEY},${S[E]}`);return S});i(I)}else o(w);b&&b(A)}catch(y){s(y)}finally{e(!1),b&&b()}}},[r,e,c,u,l,p,i,o]),loading:t,error:n}};function _y({onClick:t}){const{loading:e}=Oc(),{t:n}=z.useTranslation(),{selectedLang:s,fallbackLang:r}=Te(),i=[...[{name:n("Improve writing"),icon:v.Pencil2Icon,prompt:n("Improving writing in all text elements. Replacing placeholder content with meaningful relevant content.")},{name:n("Replace placeholder content"),icon:v.LoopIcon,prompt:n("Discard current placeholder content and replace with meaningful relevant content.")},{name:n("Fix grammar"),icon:v.CheckIcon,prompt:n("Fix grammar in all text elements. Ensuring the text is grammatically correct and free of errors.")},{name:n("Make longer"),icon:v.ArrowUpIcon,prompt:n("Make all text elements longer.")},{name:n("Make shorter"),icon:v.ArrowDownIcon,prompt:n("Make all text elements shorter.")},{name:n("Add emojis"),icon:v.FaceIcon,prompt:n("Add emojis to text elements if relevant.")},{name:n("Randomize"),icon:v.ShuffleIcon,prompt:n("Randomize all text elements.")}]];return s&&s!==r&&i.splice(0,0,{name:n("Translate to {{lang}}",{lang:d.get(Dt,s,s)}),icon:v.ChatBubbleIcon,prompt:n("Translate the content to {{lang}}. Maintain same tone, style and length.",{lang:d.get(Dt,s,s)})}),a.jsx("div",{className:e?"pointer-events-none opacity-50":"",children:a.jsx("ul",{className:"space-y-1",children:i.map(({name:l,icon:c,subMenus:u,prompt:p})=>u?a.jsxs(Ms,{children:[a.jsx(Os,{asChild:!0,children:a.jsxs("li",{className:"flex cursor-pointer items-center space-x-2 rounded p-1 pl-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-800",children:[a.jsx(c,{className:"h-4 w-4"}),a.jsx("span",{children:l})]},l)}),a.jsx(Dn,{side:"right",children:a.jsx("ul",{children:a.jsx("li",{children:n("Happy")})})})]}):a.jsxs("li",{onClick:()=>t(p),className:"flex cursor-pointer items-center space-x-2 rounded p-1 text-xs hover:bg-primary/10 hover:text-primary dark:hover:bg-gray-800",children:[a.jsx(c,{className:"h-3.5 w-3.5"}),a.jsx("span",{children:n(l)})]},l))})})}const $c=({blockId:t})=>{const{t:e}=z.useTranslation(),{askAi:n,loading:s,error:r}=Oc(),[o,i]=g.useState(""),l=g.useRef(null),c=g.useRef(null),u=X();g.useEffect(()=>{var f;(f=l.current)==null||f.focus()},[]);const p=()=>{r||i("")};return a.jsx("div",{className:"",children:t?a.jsxs("div",{className:"",children:[a.jsx("label",{className:"text-xs font-medium text-gray-500",children:e("Selected block")}),u&&a.jsxs("div",{className:"flex items-center gap-x-1 rounded border border-primary/20 bg-primary/10 p-1.5 text-xs text-primary",children:[a.jsx(Ic,{type:u._type})," ",a.jsx("p",{className:"truncate whitespace-nowrap leading-none",children:u._name||u._type})]}),a.jsx("br",{}),a.jsx("label",{className:"text-xs font-medium text-gray-500",children:e("Quick actions")}),a.jsx("div",{className:"rounded border p-2 text-sm",children:a.jsx(_y,{onClick:f=>{c.current&&clearTimeout(c.current),n("content",t,f,p)}})}),a.jsx("br",{}),a.jsx("label",{className:"text-xs font-medium text-gray-500",children:e("Ask AI")}),a.jsxs("div",{className:"rounded border p-2 text-xs focus-within:border-gray-300",children:[a.jsx(Fn,{ref:l,value:o,onChange:f=>i(f.target.value),placeholder:e("Ask AI to edit content"),className:"w-full resize-none border-none p-0 text-xs shadow-none outline-none",rows:3,onKeyDown:f=>{f.key==="Enter"&&(f.preventDefault(),c.current&&clearTimeout(c.current),n("content",t,o,p))}}),a.jsxs("div",{className:"flex items-center justify-end",children:[s&&a.jsx(T.Button,{variant:"destructive",onClick:()=>stop(),className:"hidden h-4 w-4",size:"icon",children:a.jsx(v.StopIcon,{className:"h-4 w-4"})}),a.jsx(T.Button,{onClick:()=>{c.current&&clearTimeout(c.current),n("content",t,o,p)},variant:"default",className:"h-7 w-7",disabled:s||o.trim().length<1,size:"icon",children:s?a.jsx(v.ReloadIcon,{className:"h-4 w-4 animate-spin"}):a.jsx(v.ArrowTopRightIcon,{className:"h-4 w-4"})})]})]}),a.jsx("div",{className:"max-w-full pt-2",children:r&&a.jsx("p",{className:"break-words rounded border border-red-500 bg-red-100 p-1 text-xs text-red-500",children:r.message})})]}):a.jsx("div",{className:"p-4 text-center",children:a.jsxs("div",{className:"space-y-4 rounded-xl p-4 text-muted-foreground",children:[a.jsx(Br,{className:"mx-auto h-7 w-7 text-muted-foreground"}),a.jsx("h1",{children:e("Please select a block to Ask AI")})]})})})},Fc=()=>{const[t]=q();return a.jsx("div",{className:"no-scrollbar mt-2 flex-1 overflow-y-auto",children:a.jsx($c,{blockId:d.first(t)})})};function Iy(){const[t,e]=rn();return a.jsxs("div",{className:"flex items-center",children:[t?a.jsx(v.MoonIcon,{className:"size-4 shrink-0"}):a.jsx(v.SunIcon,{className:"size-4 shrink-0"}),a.jsx(dn,{id:"dark-mode-switch",checked:t,onCheckedChange:()=>{e(!t)},className:`${t?"bg-violet-600":"bg-violet-300"} relative ml-2 inline-flex h-[20px] w-[32px] shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75`,children:a.jsx("span",{"aria-hidden":"true",className:`${t?"translate-x-5":"translate-x-0"} pointer-events-none -mt-px inline-block h-[18px] w-[20px] transform rounded-full bg-white shadow-lg ring-0 transition duration-200 ease-in-out`})})]})}const Ty=()=>{const{hasUndo:t,hasRedo:e,undo:n,redo:s}=In();return a.jsxs("div",{className:"flex items-center",children:[a.jsx(T.Button,{disabled:!t(),size:"sm",onClick:n,className:"rounded-full",variant:"ghost",children:a.jsx(v.ResetIcon,{})}),a.jsx(T.Button,{disabled:!e(),onClick:s,size:"sm",className:"rounded-full",variant:"ghost",children:a.jsx(v.ResetIcon,{className:"rotate-180 scale-y-[-1] transform"})})]})},zc=ce.Root,By=ce.Trigger,Ry=ce.Portal,Hc=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Overlay,{className:T.cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e,ref:n}));Hc.displayName=ce.Overlay.displayName;const Py=Ir.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Go=O.forwardRef(({side:t="right",className:e,children:n,...s},r)=>a.jsxs(Ry,{children:[a.jsx(Hc,{}),a.jsxs(ce.Content,{ref:r,className:T.cn(Py({side:t}),e),...s,children:[a.jsxs(ce.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[a.jsx(v.Cross1Icon,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]}),n]})]}));Go.displayName=ce.Content.displayName;const Uo=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col space-y-2 text-center sm:text-left",t),...e});Uo.displayName="SheetHeader";const qo=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Title,{ref:n,className:T.cn("text-lg font-semibold text-foreground",t),...e}));qo.displayName=ce.Title.displayName;const Vc=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Description,{ref:n,className:T.cn("text-sm text-muted-foreground",t),...e}));Vc.displayName=ce.Description.displayName;const Wc=()=>{const{t}=z.useTranslation(),[e,n]=g.useState(null),[s,r]=g.useState(-1),[o,i]=g.useState(!1),l=Ye(),[,c]=Bs();return Yt(Y.OPEN_ADD_BLOCK,u=>{l?c("add-block"):(n(u?u._id:null),r((u==null?void 0:u.position)??-1),i(!0))}),Yt(Y.CLOSE_ADD_BLOCK,()=>{n(null),r(-1),i(!1)}),a.jsx(Fo,{open:o,onOpenChange:()=>o?i(!1):"",children:a.jsxs(Ws,{className:"max-w-5xl overflow-hidden border-border",children:[a.jsxs(Gs,{className:"flex flex-row items-center justify-between",children:[a.jsx(Us,{className:"text-foreground",children:t("Add blocks")}),a.jsx("button",{onClick:()=>i(!1),className:"text-gray-500 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300",children:a.jsx(v.Cross2Icon,{className:"h-6 w-6"})})]}),a.jsx("div",{className:"no-scrollbar h-[500px] max-h-full overflow-hidden",children:a.jsx($o,{parentId:e??"",position:s,showHeading:!1})})]})})},Ly=g.memo(function({preloadedAttributes:e=[],onAttributesChange:n}){const[s,r]=g.useState([]),[o,i]=g.useState(""),[l,c]=g.useState(""),[u,p]=g.useState(null),[f,m]=g.useState(""),h=g.useRef(null),x=g.useRef(null),b=Ot(),{t:y}=z.useTranslation();g.useEffect(()=>{r(e)},[e]);const k=()=>{if(o.startsWith("@")){m(y("Attribute keys cannot start with @"));return}if(o){const S=[...s,{key:o,value:l}];n==null||n(S),r(s),i(""),c(""),m("")}},C=S=>{const E=s.filter((_,B)=>B!==S);n==null||n(E),r(E)},A=S=>{p(S),i(s[S].key),c(s[S].value)},w=()=>{if(o.startsWith("@")){m(y("Attribute keys cannot start with @"));return}if(u!==null&&o){const S=[...s];S[u]={key:o,value:l},n==null||n(S),r(S),p(null),i(""),c(""),m("")}},j=S=>{S.key==="Enter"&&!S.shiftKey&&(S.preventDefault(),u!==null?w():k())},I=g.useCallback(S=>{const E=P=>/[.,!?;:]/.test(P),_=(P,R,M)=>{let H="",G="";const be=R>0?P[R-1]:"",de=R<P.length?P[R]:"";return R>0&&(be==="."||!E(be)&&be!==" ")&&(H=" "),R<P.length&&!E(de)&&de!==" "&&(G=" "),{text:H+M+G,prefixLength:H.length,suffixLength:G.length}},B=x.current;if(B){const P=B.selectionStart||0,R=B.value||"",M=B.selectionEnd||P;if(M>P){const re=`{{${S}}}`,{text:we}=_(R,P,re),Le=R.slice(0,P)+we+R.slice(M);c(Le);return}const G=`{{${S}}}`,{text:be}=_(R,P,G),de=R.slice(0,P)+be+R.slice(P);c(de)}},[]);return a.jsxs("div",{className:"flex max-h-full flex-1 flex-col",children:[a.jsxs("form",{onSubmit:S=>{S.preventDefault(),u!==null?w():k()},className:"space-y-3",children:[a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsxs("div",{className:"w-full",children:[a.jsx(ct,{htmlFor:"attrKey",className:"text-[11px] font-normal leading-tight text-slate-600",children:y("Key")}),a.jsx(T.Input,{autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",id:"attrKey",ref:h,value:o,onChange:S=>i(S.target.value),placeholder:y("Enter key"),className:"py-0 text-xs font-normal leading-tight placeholder:text-slate-400"})]}),a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(ct,{htmlFor:"attrValue",className:"text-[11px] font-normal text-slate-600",children:y("Value")}),!d.isEmpty(b)&&a.jsx(No,{data:b,onSelect:I})]}),a.jsx(Fn,{autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",id:"attrValue",ref:x,value:l,onChange:S=>c(S.target.value),onKeyDown:j,placeholder:y("Enter value"),className:"text-xs font-normal leading-tight placeholder:text-slate-400"})]})]}),a.jsx("div",{className:"flex justify-end",children:a.jsx(T.Button,{type:"submit",disabled:!o.length,variant:"default",size:"sm",className:"h-8 w-24 text-xs",children:y(u!==null?"Save":"Add")})}),f&&a.jsx("p",{className:"text-xs text-red-500",children:f})]}),a.jsx("div",{className:"space-y-1 py-4",children:s.map((S,E)=>a.jsxs("div",{className:"flex items-center justify-between rounded border p-2 text-sm",children:[a.jsxs("div",{className:"flex flex-col text-xs leading-tight",children:[a.jsx("span",{className:"truncate text-[12px] font-light text-muted-foreground",children:S.key}),a.jsx("span",{className:"max-w-[200px] text-wrap font-normal",children:S.value.toString()})]}),a.jsxs("div",{className:"flex-shrink-0 text-slate-400",children:[a.jsx(T.Button,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>A(E),children:a.jsx(v.Pencil2Icon,{className:"h-3 w-3"})}),a.jsx(T.Button,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>C(E),children:a.jsx(v.Cross1Icon,{className:"h-3 w-3"})})]})]},E))})]})}),Gc=O.memo(()=>{const t=X(),[e,n]=g.useState([]),[s]=Ae(),r=Ke(),o=`${d.get(s,"0.prop")}_attrs`;O.useEffect(()=>{const l=d.map(d.get(t,o),(c,u)=>({key:u,value:c}));d.isEmpty(l)?n([]):n(l)},[d.get(t,o)]);const i=O.useCallback((l=[])=>{if(!t)return;const c={};d.forEach(l,u=>{d.isEmpty(u.key)||d.set(c,u.key,u.value)}),r([d.get(t,"_id")],{[o]:c})},[t,r,o]);return a.jsx("div",{className:"flex-col gap-y-2",children:a.jsx("div",{className:"flex flex-col",children:a.jsx("div",{children:a.jsx(Ly,{preloadedAttributes:e,onAttributesChange:i})})})})}),Gt=()=>null,Fa=()=>{const{resetAll:t}=tc(),e=X(),[n]=Ae(),s=gg(),{t:r}=z.useTranslation();return!e||d.isEmpty(n)?null:a.jsxs(mt,{children:[a.jsx(gt,{asChild:!0,children:a.jsx("div",{className:"inline-flex rounded-sm p-0.5 hover:bg-gray-300",onClick:o=>o.stopPropagation(),children:a.jsx(v.DotsVerticalIcon,{className:"h-3 w-3"})})}),a.jsxs(et,{side:"bottom",className:"border-border text-xs",children:[a.jsxs(ge,{className:"flex items-center gap-1 text-xs",onClick:()=>{t()},children:[a.jsx(v.ResetIcon,{className:"h-3 w-3"}),r("Reset styles")]}),a.jsxs(ge,{className:"text-xs",onClick:()=>{e&&s(e,!0)},children:[a.jsx(v.Cross2Icon,{className:"h-3 w-3"}),r("Clear styles")]})]})]})};function za(){const{t}=z.useTranslation(),[e,n]=g.useState(!0),[s]=Ae();return d.isEmpty(s)?null:a.jsxs(a.Fragment,{children:[a.jsxs("div",{onClick:()=>n(!e),className:"flex cursor-pointer items-center justify-between border-t border-border py-3 text-xs font-medium hover:underline",children:[a.jsx("span",{children:t("Attributes")}),a.jsx("span",{children:a.jsx(v.ChevronDownIcon,{className:"h-4 w-4 text-gray-500 "+(e?"rotate-180":"")})})]}),e&&a.jsx(Gc,{})]})}const Dy=({partialBlockId:t})=>{const e=$("gotoPage",d.noop),{saveState:n}=tn(),{selectedLang:s,fallbackLang:r}=Te(),o=g.useCallback(i=>{if(i.stopPropagation(),n!=="SAVED"){ue.toast.error("You have unsaved changes. Please save the page first.");return}e({pageId:t,lang:s||r})},[n,e,t,s,r]);return a.jsx(a.Fragment,{children:a.jsx("div",{className:"hidden",children:a.jsx("div",{onDoubleClick:o,className:"h-full w-full items-center justify-center",children:a.jsx("p",{className:"rounded-md bg-white px-2 py-1 text-xs",children:"Partial block. Double click to edit."})})})})},My=()=>{const t=X(),{t:e}=z.useTranslation(),n=$("onError",d.noop),{hasPermission:s}=We();let r=!s(Q.EDIT_BLOCK);const o=!s(Q.EDIT_STYLES),[i,l]=Gi();if(t&&t._type==="PartialBlock")return a.jsx(Dy,{partialBlockId:t.partialBlockId});if(!t)return a.jsx("div",{className:"p-4 text-center",children:a.jsxs("div",{className:"space-y-4 rounded-xl p-4 text-muted-foreground",children:[a.jsx(v.MixerHorizontalIcon,{className:"mx-auto text-3xl"}),a.jsx("h1",{children:e("Please select a block to edit settings or styles")})]})});if(r&&o)return a.jsx("div",{className:"p-4 text-center",children:a.jsxs("div",{className:"space-y-4 rounded-xl p-4 text-muted-foreground",children:[a.jsx(v.MixerHorizontalIcon,{className:"mx-auto text-3xl"}),a.jsx("h1",{children:e("You don't have permission to edit settings or styles")}),a.jsx("p",{children:e("Please contact your administrator to get access")})]})});if(o)return a.jsx(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:n,children:a.jsxs("div",{className:"no-scrollbar h-full max-h-min w-full overflow-y-auto",children:[a.jsx(Cr,{},t==null?void 0:t._id),a.jsx("br",{}),a.jsx("br",{})]})});if(r)return a.jsx(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:n,children:a.jsxs("div",{className:"no-scrollbar h-full max-h-min w-full overflow-y-auto overflow-x-hidden",children:[a.jsx("div",{className:"flex w-full items-center justify-end",children:a.jsx(Fa,{})}),a.jsx(_r,{}),a.jsx(za,{}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]})});const u=p=>{(p==="settings"||p==="styles")&&l(p)};return a.jsx(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:n,children:a.jsxs(Hs,{value:i,onValueChange:u,className:"flex flex-1 flex-col",children:[a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs($n,{className:"grid h-auto w-full grid-cols-2 p-1 py-1",children:[a.jsx(Ve,{value:"settings",className:"text-xs",children:e("Settings")}),a.jsx(Ve,{value:"styles",className:"text-xs",children:a.jsxs("div",{className:"flex w-full items-center justify-between",children:[a.jsx("span",{className:"w-[90%] text-center",children:e("Styling")}),a.jsx("span",{className:"w-[10%]",children:a.jsx(Fa,{})})]})})]})}),a.jsxs(at,{value:"settings",className:"no-scrollbar h-full max-h-min overflow-y-auto",children:[a.jsx(Cr,{},t==null?void 0:t._id),a.jsx("br",{}),a.jsx("br",{})]}),a.jsxs(at,{value:"styles",className:"no-scrollbar h-full max-h-min max-w-full overflow-y-auto overflow-x-hidden",children:[a.jsx(_r,{}),a.jsx(za,{}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]})]})})},Oy=g.lazy(()=>Promise.resolve().then(()=>require("./manage-design-tokens-CIiwBv2v.cjs"))),pt=280,$y=({isActive:t,show:e})=>a.jsx(T.Button,{variant:t?"default":"ghost",size:"icon",onClick:e,children:a.jsx(Ua.ListTree,{className:"h-5 w-5"})}),Fy=({isActive:t,show:e})=>Ye()&&a.jsx(T.Button,{variant:t?"default":"ghost",size:"icon",onClick:e,children:a.jsx(Ua.PlusIcon,{className:"h-5 w-5"})}),zy=({isActive:t,show:e})=>$("flags.ai",!1)?a.jsx(T.Button,{variant:t?"default":"ghost",size:"icon",onClick:e,children:a.jsx(Br,{})}):null;T.registerChaiSidebarPanel("add-block",{button:Fy,label:"Add Blocks",position:"top",isInternal:!0,width:pt,panel:()=>a.jsx($o,{showHeading:!1,fromSidebar:!0,parentId:void 0,position:-1})});T.registerChaiSidebarPanel("chai-chat-panel",{button:zy,label:"Ask AI",position:"top",isInternal:!0,width:pt,panel:()=>a.jsx("div",{className:"",children:a.jsx(Fc,{})})});T.registerChaiSidebarPanel("outline",{button:$y,label:"Outline",position:"top",isInternal:!0,width:pt,panel:()=>a.jsx("div",{className:"-mt-8",children:a.jsx(Bc,{})})});const Hy=()=>{const t=T.useTopBarComponent(),[e,n]=Bs(),s=g.useRef("outline"),[r,o]=g.useState(pt),[i,l]=Wi(),[,c]=Gi(),u=T.useChaiSidebarPanels("top"),p=T.useChaiSidebarPanels("bottom"),f=d.reverse([...p??[]]),m=g.useCallback(E=>{E.preventDefault()},[]),h=g.useMemo(()=>[u].flat(),[u]),x=g.useCallback(E=>{console.log("handleMenuItemClick",E,e),n(e===E?null:E)},[e,n]),{t:b}=z.useTranslation(),y=g.useMemo(()=>[...u,...p],[u,p]),k=$("htmlDir","ltr"),C=d.find(y,{id:e})??d.first(y),A=d.get(C,"width",pt);g.useEffect(()=>{if(e!==null){const E=d.find(y,{id:e});E&&d.get(E,"view","standard")==="standard"&&(s.current=e,o(d.get(E,"width",pt)))}},[e,y]);const w=g.useMemo(()=>{if(e===null)return 0;const E=d.find(y,{id:e});return d.get(E,"view","standard")==="standard"?A:r},[e,A,r,y]),j=g.useCallback(()=>{n(s.current)},[n,e]),I=g.useCallback(()=>{n("outline")},[n]);g.useEffect(()=>{e!==null&&!d.find(y,{id:e})&&n("outline")},[e,y]);const S=g.useCallback(E=>{x(E)},[x]);return a.jsx("div",{dir:k,className:"h-screen max-h-full w-screen overflow-x-hidden bg-background text-foreground",children:a.jsxs(ys,{children:[a.jsxs("div",{onContextMenu:m,className:"flex h-full max-h-full flex-col",children:[a.jsx("div",{className:"flex h-[50px] w-screen items-center border-b border-gray-200 bg-gray-50 text-gray-900",children:a.jsx(g.Suspense,{children:a.jsx(t,{})})}),a.jsxs("main",{className:"relative flex h-[calc(100vh-56px)] max-w-full flex-1 flex-row",children:[a.jsxs("div",{id:"sidebar",className:"flex w-12 flex-col items-center justify-between border-r border-gray-200 bg-gray-50 py-2 text-gray-900",children:[a.jsx("div",{className:"flex flex-col gap-y-1",children:h.map((E,_)=>a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:g.createElement(d.get(E,"button",Gt),{position:"top",panelId:E.id,isActive:e===E.id,show:()=>S(E.id)})}),a.jsx(le,{side:"right",children:a.jsx("p",{children:b(E.label)})})]},"button-top-"+_))}),a.jsx("div",{className:"flex flex-col space-y-1"}),a.jsx("div",{className:"flex flex-col",children:f==null?void 0:f.map((E,_)=>a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:g.createElement(d.get(E,"button",Gt),{position:"bottom",panelId:E.id,isActive:e===E.id,show:()=>S(E.id)})}),a.jsx(le,{side:"right",children:a.jsx("p",{children:b(E.label)})})]},"button-bottom-"+_))})]}),a.jsx(Gn.motion.div,{id:"left-panel",className:"h-full max-h-full border-r border-gray-200 bg-white text-gray-900",initial:{width:w},animate:{width:w},transition:{duration:.3,ease:"easeInOut"},children:e!==null&&d.get(C,"view","standard")==="standard"&&a.jsxs("div",{className:"no-scrollbar flex h-full flex-col overflow-hidden px-3 py-2",children:[d.get(C,"label","")!==""?a.jsx("div",{className:`absolute top-2 flex h-10 items-center space-x-1 py-2 text-base font-bold ${d.get(C,"isInternal",!1)?"":"w-64"}`,children:a.jsx("span",{children:b(d.get(C,"label",""))})}):null,a.jsx("div",{className:"no-scrollbar h-full max-h-full overflow-y-auto "+(d.get(C,"label","")!==""?"pt-10":""),children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:g.createElement(d.get(C,"panel",Gt),{})})})]})}),a.jsx("div",{id:"canvas-container",className:"flex h-full max-h-full flex-1 flex-col bg-slate-800/20",children:a.jsx(g.Suspense,{children:a.jsx(Ul,{})})}),a.jsx(Gn.motion.div,{id:"right-panel",className:"h-full max-h-full border-l border-gray-200 bg-white text-gray-900",initial:{width:e==="ai"?0:pt},animate:{width:e==="ai"?0:pt},transition:{duration:.3,ease:"easeInOut"},children:a.jsx("div",{className:"no-scrollbar overflow h-full max-h-full overflow-hidden",children:a.jsxs("div",{className:"flex h-full max-h-full flex-col overflow-hidden p-3",children:[a.jsx("h2",{className:"-mt-1 flex items-center space-x-1 text-base font-bold",children:a.jsx("div",{className:"flex grow items-center gap-2",children:a.jsx("div",{className:"flex w-full items-center justify-between gap-2",children:i==="ai"?a.jsx(a.Fragment,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.LightningBoltIcon,{className:"rtl:ml-2"})," ",b("AI Assistant")]})}):i==="design-tokens"?a.jsxs("div",{className:"mb-1 flex w-full items-center justify-between gap-2",children:[a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(Ar,{className:"h-4 w-4 text-gray-600"}),b("Design Tokens")]}),a.jsx(T.Button,{onClick:()=>{c("styles"),l("block")},variant:"ghost",size:"icon",className:"text-xs",children:a.jsx(v.Cross1Icon,{className:"h-4 w-4 rtl:ml-2"})})]}):i==="theme"?a.jsxs("div",{className:"flex w-full items-center justify-between gap-2",children:[a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(v.MixerHorizontalIcon,{className:"h-4 w-4 text-gray-600"}),b("Theme Settings")]}),a.jsx(T.Button,{onClick:()=>l("block"),variant:"ghost",size:"icon",className:"text-xs",children:a.jsx(v.Cross1Icon,{className:"h-4 w-4 rtl:ml-2"})})]}):null})})}),a.jsx("div",{className:"flex h-full max-h-full w-full",children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:i==="ai"?a.jsx(Fc,{}):i==="design-tokens"?a.jsx(g.Suspense,{fallback:a.jsx("div",{className:"h-1/2 w-full animate-pulse"}),children:a.jsx(Oy,{})}):i==="theme"?a.jsx(Dc,{}):a.jsx(My,{})})})]})})})]})]}),a.jsx(Wc,{}),e!==null&&d.get(C,"view")==="drawer"&&a.jsx(zc,{open:!0,onOpenChange:()=>j(),children:a.jsxs(Go,{side:"left",className:"flex flex-col gap-0 p-0 sm:max-w-full",style:{width:`${A}px`},children:[a.jsx(Uo,{className:"border-b border-border px-2 py-2.5",children:a.jsxs(qo,{className:"flex items-center gap-2",children:[a.jsx("span",{className:"inline-block",children:d.get(C,"icon",null)}),a.jsx("span",{children:b(d.get(C,"label",""))})]})}),a.jsx("div",{className:"h-full max-h-full overflow-y-auto p-4",children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:g.createElement(d.get(C,"panel",Gt),{close:I})})})]})})," ",e!==null&&d.get(C,"view")==="modal"&&a.jsx(Pn,{open:!0,onOpenChange:()=>j(),children:a.jsxs(ln,{className:"gap-0 p-0",style:{maxWidth:`${A}px`},children:[a.jsx(Ln,{className:"border-b border-border px-2 py-3.5",children:a.jsxs(cn,{className:"flex items-center gap-2",children:[a.jsx("span",{className:"inline-block",children:d.get(C,"icon",null)}),a.jsx("span",{children:b(d.get(C,"label",""))})]})}),a.jsx("div",{className:"max-h-[70vh] overflow-y-auto p-4",children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:g.createElement(d.get(C,"panel",Gt),{close:I})})})]})}),e!==null&&d.get(C,"view")==="overlay"&&a.jsx(Gn.motion.div,{className:"absolute bottom-0 left-12 right-0 top-0 z-50",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},children:a.jsx("div",{className:"h-full w-full",children:a.jsxs(Gn.motion.div,{className:"flex h-full w-full flex-col bg-background",initial:{y:-20,opacity:0},animate:{y:0,opacity:1},exit:{y:20,opacity:0},transition:{duration:.3,delay:.1},children:[a.jsxs("div",{className:"flex h-[50px] items-center justify-between border-b border-border p-4",children:[a.jsxs("div",{className:"-ml-2 flex items-center gap-2 text-lg font-bold",children:[a.jsx("span",{className:"rtl:ml-2 rtl:inline-block",children:d.get(C,"icon",null)}),a.jsx("span",{children:b(d.get(C,"label",""))})]}),a.jsx(T.Button,{onClick:()=>j(),variant:"ghost",size:"icon",className:"",children:a.jsx(v.Cross1Icon,{className:"h-5 w-5"})})]}),a.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:g.createElement(d.get(C,"panel",Gt),{close:I})})})]})})})]})})},Vy=N.atom(!1),Wy=()=>{const[t,e]=N.useAtom(Vy);return[t,e]},Gy=()=>{const[t,e]=Wy(),{t:n}=z.useTranslation(),s=$("previewComponent",null);return t?a.jsxs("div",{className:pe.cn("fixed inset-0 z-[999] bg-background",t?"block":"hidden"),children:[a.jsxs(T.Button,{size:"sm",className:"absolute right-0 top-0 m-4 space-x-2",onClick:()=>e(!1),children:[a.jsx(v.EyeClosedIcon,{}),a.jsx("span",{children:n("Close Preview")})]}),a.jsx("div",{children:s?a.jsx(g.Suspense,{fallback:a.jsx(Rt,{className:"h-96 w-full"}),children:g.createElement(s)}):null})]}):null},Uy=({featureKey:t,options:e})=>{const n=T.useToggleChaiFeatureFlag(t),s=T.useChaiFeatureFlag(t);return a.jsxs("div",{className:"flex items-center space-x-3 rounded-md p-2 transition-colors hover:bg-gray-50 dark:hover:bg-gray-800",children:[a.jsx(dn,{checked:s,onCheckedChange:n}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:e.key}),e.description&&a.jsx("p",{className:"mt-0.5 text-xs text-gray-500 dark:text-gray-400",children:e.description})]})]})},qy=Oe.atomWithStorage("show-feature-flag",null),Ky=({close:t,position:e,updatePosition:n})=>{const s=T.useChaiFeatureFlags(),[r,o]=g.useState(""),[i,l]=g.useState(!1),[c,u]=g.useState({x:0,y:0}),p=g.useMemo(()=>{if(!r.trim())return s;const x=r.toLowerCase();return Object.fromEntries(Object.entries(s).filter(([b,y])=>{var k;return(b==null?void 0:b.toLowerCase().includes(x))||((k=y==null?void 0:y.description)==null?void 0:k.toLowerCase().includes(x))}))},[s,r]),f=x=>{l(!0),u({x:x.clientX-e.x,y:x.clientY-e.y})},m=x=>{if(!i)return;const b=x.clientX-c.x,y=x.clientY-c.y,k=x.currentTarget,C=k.offsetWidth,A=k.offsetHeight,w=window.innerWidth-C,j=window.innerHeight-A,I=Math.max(0,Math.min(b,w)),S=Math.max(0,Math.min(y,j));n(I,S)},h=()=>{l(!1)};return g.useEffect(()=>{const x=()=>{i&&l(!1)};return window.addEventListener("mouseup",x),()=>window.removeEventListener("mouseup",x)},[i]),!e||e.x<0||e.y<0?null:a.jsxs("div",{onMouseDown:f,onMouseMove:m,onMouseUp:h,className:"fixed z-[9999999] select-none rounded-md border border-gray-300 bg-white p-3 shadow-2xl",style:{left:e.x,top:e.y,cursor:i?"grabbing":"grab",userSelect:"none"},children:[a.jsxs("div",{className:"relative sticky top-0 rounded-t-lg bg-white",children:[a.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsxs("h3",{className:"flex items-center gap-x-2 text-base font-semibold text-gray-900 dark:text-gray-100",children:[a.jsx(v.DragHandleDots2Icon,{})," Feature Flags"]}),a.jsxs("p",{className:"text-xs text-gray-400 dark:text-gray-400",children:["Toggle experimental features (",a.jsx("span",{className:"font-mono",children:"Ctrl+Shift+1"})," to toggle)"]})]}),a.jsx(T.Button,{variant:"ghost",size:"sm",onClick:t,className:"absolute -right-2 -top-2 p-1 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",children:a.jsx(v.Cross1Icon,{className:"h-4 w-4"})})]}),a.jsxs("div",{className:"relative",children:[a.jsx(v.MagnifyingGlassIcon,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-400"}),a.jsx(T.Input,{type:"search",placeholder:"Search features...",className:"w-full pl-8",value:r,onChange:x=>o(x.target.value),autoFocus:!0})]})]}),a.jsx("div",{className:"max-h-96 overflow-y-auto py-2",children:Object.keys(p).length>0?a.jsx("div",{className:"space-y-1",children:Object.entries(p).map(([x,b])=>a.jsx(Uy,{featureKey:x,options:b},x))}):a.jsx("div",{className:"py-8 text-center",children:a.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:['No features found matching "',r,'"']})})})]})},Yy=()=>{const[t,e]=N.useAtom(qy);return Je.useHotkeys("ctrl+shift+1,meta+shift+1",()=>e(n=>n?{...n,show:!n.show}:{x:0,y:0,show:!0}),{enableOnFormTags:!0}),t!=null&&t.show?a.jsx(Ky,{position:t,close:()=>e(n=>n?{...n,show:!1}:null),updatePosition:(n,s)=>e(r=>r?{...r,x:n,y:s,show:r.show}:{x:n,y:s,show:!0})}):null},Xy=t=>{},Jy=["data-block-index","draggable","data-drop","data-style-id","data-block-parent","data-style-prop","data-highlighted"],Zy=["Box","Button","Checkbox","Divider","EmptyBox","Form","FormButton","Heading","Image","Input","Label","LineBreak","Link","List","ListItem","Paragraph","Radio","RichText","Select","Span","Text","TextArea","Video"],Uc=t=>t.type==="element"&&["script","style","link"].includes(t.tagName||"")||t.type==="comment"?null:t.type==="text"?t:t.type==="element"&&t.attributes&&t.attributes.find(e=>e.key==="id"&&e.value==="add-block-bottom")?null:(t.type==="element"&&t.attributes&&(t.attributes=t.attributes.filter(e=>!Jy.includes(e.key))),t.children&&(t.children=t.children.map(Uc).filter(e=>e!==null)),t),ss=(t,e,n={})=>{var o,i,l,c,u,p;if(t.type!=="element"||!t.attributes)return t;if(t.tagName==="span"&&t.attributes.find(m=>m.key==="role"&&m.value==="link")){t.tagName="a",t.attributes=t.attributes.filter(x=>x.key!=="role");const m=(o=t.attributes.find(x=>x.key==="data-block-id"))==null?void 0:o.value,h=e==null?void 0:e.find(x=>(x==null?void 0:x._id)===m);if(h!=null&&h.link&&((l=(i=h==null?void 0:h.link)==null?void 0:i.href)==null?void 0:l.length)>0){const x=(c=h==null?void 0:h.link)==null?void 0:c.href,b=(u=h==null?void 0:h.link)==null?void 0:u.target;t.attributes.push({key:"href",value:x}),typeof b=="string"&&b.length>0&&t.attributes.push({key:"target",value:b})}}const s=t.attributes.find(f=>f.key==="data-block-type"),r=t.attributes.find(f=>f.key==="data-block-id");if(s){const f=s.value;if(Zy.includes(f)||(p=n==null?void 0:n.additionalCoreBlocks)!=null&&p.includes(f))t.attributes=t.attributes.filter(m=>m.key!=="data-block-type"),t.children&&(t.children=t.children.map(m=>ss(m,e,n)));else{const m=`chai-${d.kebabCase(f)}`;t.tagName=m,t.attributes=[],t.attributes.push({key:"chai-type",value:f});const h=K.getRegisteredChaiBlock(f),x=e.find(b=>b._id===(r==null?void 0:r.value));if(x&&t.attributes.push(...Object.entries(x).filter(([b])=>!["_id","_type","_parent","_index","_name"].includes(b)).map(([b,y])=>({key:b,value:typeof y=="string"?y:JSON.stringify(y)}))),h&&(h!=null&&h.description)&&t.attributes.push({key:"about-this-component",value:h.description}),h){if(h.canMove){const b=typeof h.canMove=="function"?h.canMove():h.canMove;t.attributes.push({key:"can-move",value:String(b)})}if(h.canDelete){const b=typeof h.canDelete=="function"?h.canDelete():h.canDelete;t.attributes.push({key:"can-delete",value:String(b)})}}f==="Icon"&&(t.attributes=t.attributes.filter(b=>b.key!=="icon")),h&&h.canAcceptBlock?t.children&&(t.children=t.children.map(b=>ss(b,e,n))):t.children=[]}}else t.children&&(t.children=t.children.map(f=>ss(f,e,n)));return r&&t.attributes.push({key:"bid",value:r.value}),t.attributes=t.attributes.filter(f=>f.key!=="data-block-type"&&f.key!=="data-block-id"),t},qc=()=>{const[t]=nn();return g.useCallback(e=>{var u,p;if(!t)return"";const n=e!=null&&e.blockId?`[data-block-id="${e.blockId}"]`:"#canvas",s=(p=(u=t.contentDocument)==null?void 0:u.querySelector(n))==null?void 0:p[n==="#canvas"?"innerHTML":"outerHTML"];if(!s)return"";const o=Xo.parse(s).map(Uc).filter(f=>f!==null),i=Hd(),l=o.map(f=>ss(f,i,e));let c=Xo.stringify(l);return c=c.replace(/#styles:,/g,"#styles:"),c.replace(/\s+/g," ").trim()},[t])};function Ha(t){const e={class:"className",for:"htmlFor",tabindex:"tabIndex",readonly:"readOnly",maxlength:"maxLength",minlength:"minLength",autocomplete:"autoComplete",autofocus:"autoFocus",autoplay:"autoPlay",formaction:"formAction",formenctype:"formEncType",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",novalidate:"noValidate",crossorigin:"crossOrigin",datetime:"dateTime",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",allowfullscreen:"allowFullScreen"};if(e[t.toLowerCase()])return e[t.toLowerCase()];const n={"accent-height":"accentHeight","alignment-baseline":"alignmentBaseline","arabic-form":"arabicForm","baseline-shift":"baselineShift","cap-height":"capHeight","clip-path":"clipPath","clip-rule":"clipRule","color-interpolation":"colorInterpolation","color-interpolation-filters":"colorInterpolationFilters","color-profile":"colorProfile","color-rendering":"colorRendering","dominant-baseline":"dominantBaseline","enable-background":"enableBackground","fill-opacity":"fillOpacity","fill-rule":"fillRule","flood-color":"floodColor","flood-opacity":"floodOpacity","font-family":"fontFamily","font-size":"fontSize","font-size-adjust":"fontSizeAdjust","font-stretch":"fontStretch","font-style":"fontStyle","font-variant":"fontVariant","font-weight":"fontWeight","glyph-name":"glyphName","glyph-orientation-horizontal":"glyphOrientationHorizontal","glyph-orientation-vertical":"glyphOrientationVertical","horiz-adv-x":"horizAdvX","horiz-origin-x":"horizOriginX","image-rendering":"imageRendering","letter-spacing":"letterSpacing","lighting-color":"lightingColor","marker-end":"markerEnd","marker-mid":"markerMid","marker-start":"markerStart","overline-position":"overlinePosition","overline-thickness":"overlineThickness","paint-order":"paintOrder","panose-1":"panose1","pointer-events":"pointerEvents","rendering-intent":"renderingIntent","shape-rendering":"shapeRendering","stop-color":"stopColor","stop-opacity":"stopOpacity","strikethrough-position":"strikethroughPosition","strikethrough-thickness":"strikethroughThickness","stroke-dasharray":"strokeDasharray","stroke-dashoffset":"strokeDashoffset","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","stroke-miterlimit":"strokeMiterlimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-anchor":"textAnchor","text-decoration":"textDecoration","text-rendering":"textRendering","underline-position":"underlinePosition","underline-thickness":"underlineThickness","unicode-bidi":"unicodeBidi","unicode-range":"unicodeRange","units-per-em":"unitsPerEm","v-alphabetic":"vAlphabetic","v-hanging":"vHanging","v-ideographic":"vIdeographic","v-mathematical":"vMathematical","vector-effect":"vectorEffect","vert-adv-y":"vertAdvY","vert-origin-x":"vertOriginX","vert-origin-y":"vertOriginY","word-spacing":"wordSpacing","writing-mode":"writingMode","x-height":"xHeight"};return n[t]?n[t]:t}function rs(t,e=0){var u;if(Array.isArray(t)){if(t.length===0)return"";if(t.length===1)return rs(t[0],e);const p=" ".repeat(e);let f=`${p}<>
135
+ `,textSerializers:i={}}=n||{};let l="";return t.nodesBetween(s,r,(c,u,p,f)=>{var m;c.isBlock&&u>s&&(l+=o);const h=i==null?void 0:i[c.type.name];if(h)return p&&(l+=h({node:c,pos:u,parent:p,index:f,range:e})),!1;c.isText&&(l+=(m=c==null?void 0:c.text)===null||m===void 0?void 0:m.slice(Math.max(s,u)-u,r-u))}),l}function sh(t){return Object.fromEntries(Object.entries(t.nodes).filter(([,e])=>e.spec.toText).map(([e,n])=>[e,n.spec.toText]))}Ue.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new zt({key:new Ht("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:s,selection:r}=e,{ranges:o}=r,i=Math.min(...o.map(p=>p.$from.pos)),l=Math.max(...o.map(p=>p.$to.pos)),c=sh(n);return nh(s,{from:i,to:l},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:c})}}})]}});const rh=()=>({editor:t,view:e})=>(requestAnimationFrame(()=>{var n;t.isDestroyed||(e.dom.blur(),(n=window==null?void 0:window.getSelection())===null||n===void 0||n.removeAllRanges())}),!0),oh=(t=!1)=>({commands:e})=>e.setContent("",t),ah=()=>({state:t,tr:e,dispatch:n})=>{const{selection:s}=e,{ranges:r}=s;return n&&r.forEach(({$from:o,$to:i})=>{t.doc.nodesBetween(o.pos,i.pos,(l,c)=>{if(l.type.isText)return;const{doc:u,mapping:p}=e,f=u.resolve(p.map(c)),m=u.resolve(p.map(c+l.nodeSize)),h=f.blockRange(m);if(!h)return;const x=an(h);if(l.type.isTextblock){const{defaultType:b}=f.parent.contentMatchAt(f.index());e.setNodeMarkup(h.start,b)}(x||x===0)&&e.lift(h,x)})}),!0},ih=t=>e=>t(e),lh=()=>({state:t,dispatch:e})=>Al(t,e),ch=(t,e)=>({editor:n,tr:s})=>{const{state:r}=n,o=r.doc.slice(t.from,t.to);s.deleteRange(t.from,t.to);const i=s.mapping.map(e);return s.insert(i,o.content),s.setSelection(new ie(s.doc.resolve(Math.max(i-1,0)))),!0},dh=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,s=n.$anchor.node();if(s.content.size>0)return!1;const r=t.selection.$anchor;for(let o=r.depth;o>0;o-=1)if(r.node(o).type===s.type){if(e){const l=r.before(o),c=r.after(o);t.delete(l,c).scrollIntoView()}return!0}return!1},uh=t=>({tr:e,state:n,dispatch:s})=>{const r=_e(t,n.schema),o=e.selection.$anchor;for(let i=o.depth;i>0;i-=1)if(o.node(i).type===r){if(s){const c=o.before(i),u=o.after(i);e.delete(c,u).scrollIntoView()}return!0}return!1},ph=t=>({tr:e,dispatch:n})=>{const{from:s,to:r}=t;return n&&e.delete(s,r),!0},fh=()=>({state:t,dispatch:e})=>uo(t,e),hh=()=>({commands:t})=>t.keyboardShortcut("Enter"),mh=()=>({state:t,dispatch:e})=>Df(t,e);function gs(t,e,n={strict:!0}){const s=Object.keys(e);return s.length?s.every(r=>n.strict?e[r]===t[r]:eh(e[r])?e[r].test(t[r]):e[r]===t[r]):!0}function Pl(t,e,n={}){return t.find(s=>s.type===e&&gs(Object.fromEntries(Object.keys(n).map(r=>[r,s.attrs[r]])),n))}function ya(t,e,n={}){return!!Pl(t,e,n)}function Ll(t,e,n){var s;if(!t||!e)return;let r=t.parent.childAfter(t.parentOffset);if((!r.node||!r.node.marks.some(p=>p.type===e))&&(r=t.parent.childBefore(t.parentOffset)),!r.node||!r.node.marks.some(p=>p.type===e)||(n=n||((s=r.node.marks[0])===null||s===void 0?void 0:s.attrs),!Pl([...r.node.marks],e,n)))return;let i=r.index,l=t.start()+r.offset,c=i+1,u=l+r.node.nodeSize;for(;i>0&&ya([...t.parent.child(i-1).marks],e,n);)i-=1,l-=t.parent.child(i).nodeSize;for(;c<t.parent.childCount&&ya([...t.parent.child(c).marks],e,n);)u+=t.parent.child(c).nodeSize,c+=1;return{from:l,to:u}}function bt(t,e){if(typeof t=="string"){if(!e.marks[t])throw Error(`There is no mark type named '${t}'. Maybe you forgot to add the extension?`);return e.marks[t]}return t}const gh=(t,e={})=>({tr:n,state:s,dispatch:r})=>{const o=bt(t,s.schema),{doc:i,selection:l}=n,{$from:c,from:u,to:p}=l;if(r){const f=Ll(c,o,e);if(f&&f.from<=u&&f.to>=p){const m=ie.create(i,f.from,f.to);n.setSelection(m)}}return!0},xh=t=>e=>{const n=typeof t=="function"?t(e):t;for(let s=0;s<n.length;s+=1)if(n[s](e))return!0;return!1};function Dl(t){return t instanceof ie}function Nt(t=0,e=0,n=0){return Math.min(Math.max(t,e),n)}function bh(t,e=null){if(!e)return null;const n=J.atStart(t),s=J.atEnd(t);if(e==="start"||e===!0)return n;if(e==="end")return s;const r=n.from,o=s.to;return e==="all"?ie.create(t,Nt(0,r,o),Nt(t.content.size,r,o)):ie.create(t,Nt(e,r,o),Nt(e,r,o))}function yh(){return navigator.platform==="Android"||/android/i.test(navigator.userAgent)}function go(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}const kh=(t=null,e={})=>({editor:n,view:s,tr:r,dispatch:o})=>{e={scrollIntoView:!0,...e};const i=()=>{(go()||yh())&&s.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(s.focus(),e!=null&&e.scrollIntoView&&n.commands.scrollIntoView())})};if(s.hasFocus()&&t===null||t===!1)return!0;if(o&&t===null&&!Dl(n.state.selection))return i(),!0;const l=bh(r.doc,t)||n.state.selection,c=n.state.selection.eq(l);return o&&(c||r.setSelection(l),c&&r.storedMarks&&r.setStoredMarks(r.storedMarks),i()),!0},vh=(t,e)=>n=>t.every((s,r)=>e(s,{...n,index:r})),wh=(t,e)=>({tr:n,commands:s})=>s.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),Ml=t=>{const e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){const s=e[n];s.nodeType===3&&s.nodeValue&&/^(\n\s\s|\n)$/.test(s.nodeValue)?t.removeChild(s):s.nodeType===1&&Ml(s)}return t};function Xn(t){const e=`<body>${t}</body>`,n=new window.DOMParser().parseFromString(e,"text/html").body;return Ml(n)}function En(t,e,n){if(t instanceof Tt||t instanceof D)return t;n={slice:!0,parseOptions:{},...n};const s=typeof t=="object"&&t!==null,r=typeof t=="string";if(s)try{if(Array.isArray(t)&&t.length>0)return D.fromArray(t.map(l=>e.nodeFromJSON(l)));const i=e.nodeFromJSON(t);return n.errorOnInvalidContent&&i.check(),i}catch(o){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:o});return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",o),En("",e,n)}if(r){if(n.errorOnInvalidContent){let i=!1,l="";const c=new hf({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:u=>(i=!0,l=typeof u=="string"?u:u.outerHTML,null)}]}})});if(n.slice?Kt.fromSchema(c).parseSlice(Xn(t),n.parseOptions):Kt.fromSchema(c).parse(Xn(t),n.parseOptions),n.errorOnInvalidContent&&i)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${l}`)})}const o=Kt.fromSchema(e);return n.slice?o.parseSlice(Xn(t),n.parseOptions).content:o.parse(Xn(t),n.parseOptions)}return En("",e,n)}function Ch(t,e,n){const s=t.steps.length-1;if(s<e)return;const r=t.steps[s];if(!(r instanceof Fe||r instanceof Me))return;const o=t.mapping.maps[s];let i=0;o.forEach((l,c,u,p)=>{i===0&&(i=p)}),t.setSelection(J.near(t.doc.resolve(i),n))}const jh=t=>!("type"in t),Sh=(t,e,n)=>({tr:s,dispatch:r,editor:o})=>{var i;if(r){n={parseOptions:o.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let l;const c=y=>{o.emit("contentError",{editor:o,error:y,disableCollaboration:()=>{o.storage.collaboration&&(o.storage.collaboration.isDisabled=!0)}})},u={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!o.options.enableContentCheck&&o.options.emitContentError)try{En(e,o.schema,{parseOptions:u,errorOnInvalidContent:!0})}catch(y){c(y)}try{l=En(e,o.schema,{parseOptions:u,errorOnInvalidContent:(i=n.errorOnInvalidContent)!==null&&i!==void 0?i:o.options.enableContentCheck})}catch(y){return c(y),!1}let{from:p,to:f}=typeof t=="number"?{from:t,to:t}:{from:t.from,to:t.to},m=!0,h=!0;if((jh(l)?l:[l]).forEach(y=>{y.check(),m=m?y.isText&&y.marks.length===0:!1,h=h?y.isBlock:!1}),p===f&&h){const{parent:y}=s.doc.resolve(p);y.isTextblock&&!y.type.spec.code&&!y.childCount&&(p-=1,f+=1)}let b;if(m){if(Array.isArray(e))b=e.map(y=>y.text||"").join("");else if(e instanceof D){let y="";e.forEach(k=>{k.text&&(y+=k.text)}),b=y}else typeof e=="object"&&e&&e.text?b=e.text:b=e;s.insertText(b,p,f)}else b=l,s.replaceWith(p,f,b);n.updateSelection&&Ch(s,s.steps.length-1,-1),n.applyInputRules&&s.setMeta("applyInputRules",{from:p,text:b}),n.applyPasteRules&&s.setMeta("applyPasteRules",{from:p,text:b})}return!0},Nh=()=>({state:t,dispatch:e})=>Rf(t,e),Eh=()=>({state:t,dispatch:e})=>Pf(t,e),Ah=()=>({state:t,dispatch:e})=>vl(t,e),Ih=()=>({state:t,dispatch:e})=>Sl(t,e),_h=()=>({state:t,dispatch:e,tr:n})=>{try{const s=Ps(t.doc,t.selection.$from.pos,-1);return s==null?!1:(n.join(s,2),e&&e(n),!0)}catch{return!1}},Th=()=>({state:t,dispatch:e,tr:n})=>{try{const s=Ps(t.doc,t.selection.$from.pos,1);return s==null?!1:(n.join(s,2),e&&e(n),!0)}catch{return!1}},Bh=()=>({state:t,dispatch:e})=>Tf(t,e),Rh=()=>({state:t,dispatch:e})=>Bf(t,e);function Ol(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function Ph(t){const e=t.split(/-(?!$)/);let n=e[e.length-1];n==="Space"&&(n=" ");let s,r,o,i;for(let l=0;l<e.length-1;l+=1){const c=e[l];if(/^(cmd|meta|m)$/i.test(c))i=!0;else if(/^a(lt)?$/i.test(c))s=!0;else if(/^(c|ctrl|control)$/i.test(c))r=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))go()||Ol()?i=!0:r=!0;else throw new Error(`Unrecognized modifier name: ${c}`)}return s&&(n=`Alt-${n}`),r&&(n=`Ctrl-${n}`),i&&(n=`Meta-${n}`),o&&(n=`Shift-${n}`),n}const Lh=t=>({editor:e,view:n,tr:s,dispatch:r})=>{const o=Ph(t).split(/-(?!$)/),i=o.find(u=>!["Alt","Ctrl","Meta","Shift"].includes(u)),l=new KeyboardEvent("keydown",{key:i==="Space"?" ":i,altKey:o.includes("Alt"),ctrlKey:o.includes("Ctrl"),metaKey:o.includes("Meta"),shiftKey:o.includes("Shift"),bubbles:!0,cancelable:!0}),c=e.captureTransaction(()=>{n.someProp("handleKeyDown",u=>u(n,l))});return c==null||c.steps.forEach(u=>{const p=u.map(s.mapping);p&&r&&s.maybeStep(p)}),!0};function xo(t,e,n={}){const{from:s,to:r,empty:o}=t.selection,i=e?_e(e,t.schema):null,l=[];t.doc.nodesBetween(s,r,(f,m)=>{if(f.isText)return;const h=Math.max(s,m),x=Math.min(r,m+f.nodeSize);l.push({node:f,from:h,to:x})});const c=r-s,u=l.filter(f=>i?i.name===f.node.type.name:!0).filter(f=>gs(f.node.attrs,n,{strict:!1}));return o?!!u.length:u.reduce((f,m)=>f+m.to-m.from,0)>=c}const Dh=(t,e={})=>({state:n,dispatch:s})=>{const r=_e(t,n.schema);return xo(n,r,e)?Lf(n,s):!1},Mh=()=>({state:t,dispatch:e})=>Il(t,e),Oh=t=>({state:e,dispatch:n})=>{const s=_e(t,e.schema);return qf(s)(e,n)},$h=()=>({state:t,dispatch:e})=>El(t,e);function $l(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function ka(t,e){const n=typeof e=="string"?[e]:e;return Object.keys(t).reduce((s,r)=>(n.includes(r)||(s[r]=t[r]),s),{})}const Fh=(t,e)=>({tr:n,state:s,dispatch:r})=>{let o=null,i=null;const l=$l(typeof t=="string"?t:t.name,s.schema);return l?(l==="node"&&(o=_e(t,s.schema)),l==="mark"&&(i=bt(t,s.schema)),r&&n.selection.ranges.forEach(c=>{s.doc.nodesBetween(c.$from.pos,c.$to.pos,(u,p)=>{o&&o===u.type&&n.setNodeMarkup(p,void 0,ka(u.attrs,e)),i&&u.marks.length&&u.marks.forEach(f=>{i===f.type&&n.addMark(p,p+u.nodeSize,i.create(ka(f.attrs,e)))})})}),!0):!1},zh=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),Hh=()=>({tr:t,dispatch:e})=>{if(e){const n=new Ge(t.doc);t.setSelection(n)}return!0},Vh=()=>({state:t,dispatch:e})=>Cl(t,e),Wh=()=>({state:t,dispatch:e})=>Nl(t,e),Gh=()=>({state:t,dispatch:e})=>$f(t,e),Uh=()=>({state:t,dispatch:e})=>Hf(t,e),qh=()=>({state:t,dispatch:e})=>zf(t,e);function Kh(t,e,n={},s={}){return En(t,e,{slice:!1,parseOptions:n,errorOnInvalidContent:s.errorOnInvalidContent})}const Yh=(t,e=!1,n={},s={})=>({editor:r,tr:o,dispatch:i,commands:l})=>{var c,u;const{doc:p}=o;if(n.preserveWhitespace!=="full"){const f=Kh(t,r.schema,n,{errorOnInvalidContent:(c=s.errorOnInvalidContent)!==null&&c!==void 0?c:r.options.enableContentCheck});return i&&o.replaceWith(0,p.content.size,f).setMeta("preventUpdate",!e),!0}return i&&o.setMeta("preventUpdate",!e),l.insertContentAt({from:0,to:p.content.size},t,{parseOptions:n,errorOnInvalidContent:(u=s.errorOnInvalidContent)!==null&&u!==void 0?u:r.options.enableContentCheck})};function Xh(t,e){const n=bt(e,t.schema),{from:s,to:r,empty:o}=t.selection,i=[];o?(t.storedMarks&&i.push(...t.storedMarks),i.push(...t.selection.$head.marks())):t.doc.nodesBetween(s,r,c=>{i.push(...c.marks)});const l=i.find(c=>c.type.name===n.name);return l?{...l.attrs}:{}}function Jh(t){for(let e=0;e<t.edgeCount;e+=1){const{type:n}=t.edge(e);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}function Zh(t,e){for(let n=t.depth;n>0;n-=1){const s=t.node(n);if(e(s))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:s}}}function bo(t){return e=>Zh(e.$from,t)}function ts(t,e,n){return Object.fromEntries(Object.entries(n).filter(([s])=>{const r=t.find(o=>o.type===e&&o.name===s);return r?r.attribute.keepOnSplit:!1}))}function Qh(t,e,n={}){const{empty:s,ranges:r}=t.selection,o=e?bt(e,t.schema):null;if(s)return!!(t.storedMarks||t.selection.$from.marks()).filter(f=>o?o.name===f.type.name:!0).find(f=>gs(f.attrs,n,{strict:!1}));let i=0;const l=[];if(r.forEach(({$from:f,$to:m})=>{const h=f.pos,x=m.pos;t.doc.nodesBetween(h,x,(b,y)=>{if(!b.isText&&!b.marks.length)return;const k=Math.max(h,y),C=Math.min(x,y+b.nodeSize),A=C-k;i+=A,l.push(...b.marks.map(w=>({mark:w,from:k,to:C})))})}),i===0)return!1;const c=l.filter(f=>o?o.name===f.mark.type.name:!0).filter(f=>gs(f.mark.attrs,n,{strict:!1})).reduce((f,m)=>f+m.to-m.from,0),u=l.filter(f=>o?f.mark.type!==o&&f.mark.type.excludes(o):!0).reduce((f,m)=>f+m.to-m.from,0);return(c>0?c+u:c)>=i}function va(t,e){const{nodeExtensions:n}=Zf(e),s=n.find(i=>i.name===t);if(!s)return!1;const r={name:s.name,options:s.options,storage:s.storage},o=gn(St(s,"group",r));return typeof o!="string"?!1:o.split(" ").includes("list")}function Fl(t,{checkChildren:e=!0,ignoreWhitespace:n=!1}={}){var s;if(n){if(t.type.name==="hardBreak")return!0;if(t.isText)return/^\s*$/m.test((s=t.text)!==null&&s!==void 0?s:"")}if(t.isText)return!t.text;if(t.isAtom||t.isLeaf)return!1;if(t.content.childCount===0)return!0;if(e){let r=!0;return t.content.forEach(o=>{r!==!1&&(Fl(o,{ignoreWhitespace:n,checkChildren:e})||(r=!1))}),r}return!1}function em(t,e,n){var s;const{selection:r}=e;let o=null;if(Dl(r)&&(o=r.$cursor),o){const l=(s=t.storedMarks)!==null&&s!==void 0?s:o.marks();return!!n.isInSet(l)||!l.some(c=>c.type.excludes(n))}const{ranges:i}=r;return i.some(({$from:l,$to:c})=>{let u=l.depth===0?t.doc.inlineContent&&t.doc.type.allowsMarkType(n):!1;return t.doc.nodesBetween(l.pos,c.pos,(p,f,m)=>{if(u)return!1;if(p.isInline){const h=!m||m.type.allowsMarkType(n),x=!!n.isInSet(p.marks)||!p.marks.some(b=>b.type.excludes(n));u=h&&x}return!u}),u})}const tm=(t,e={})=>({tr:n,state:s,dispatch:r})=>{const{selection:o}=n,{empty:i,ranges:l}=o,c=bt(t,s.schema);if(r)if(i){const u=Xh(s,c);n.addStoredMark(c.create({...u,...e}))}else l.forEach(u=>{const p=u.$from.pos,f=u.$to.pos;s.doc.nodesBetween(p,f,(m,h)=>{const x=Math.max(h,p),b=Math.min(h+m.nodeSize,f);m.marks.find(k=>k.type===c)?m.marks.forEach(k=>{c===k.type&&n.addMark(x,b,c.create({...k.attrs,...e}))}):n.addMark(x,b,c.create(e))})});return em(s,n,c)},nm=(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),sm=(t,e={})=>({state:n,dispatch:s,chain:r})=>{const o=_e(t,n.schema);let i;return n.selection.$anchor.sameParent(n.selection.$head)&&(i=n.selection.$anchor.parent.attrs),o.isTextblock?r().command(({commands:l})=>ba(o,{...i,...e})(n)?!0:l.clearNodes()).command(({state:l})=>ba(o,{...i,...e})(l,s)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},rm=t=>({tr:e,dispatch:n})=>{if(n){const{doc:s}=e,r=Nt(t,0,s.content.size),o=te.create(s,r);e.setSelection(o)}return!0},om=t=>({tr:e,dispatch:n})=>{if(n){const{doc:s}=e,{from:r,to:o}=typeof t=="number"?{from:t,to:t}:t,i=ie.atStart(s).from,l=ie.atEnd(s).to,c=Nt(r,i,l),u=Nt(o,i,l),p=ie.create(s,c,u);e.setSelection(p)}return!0},am=t=>({state:e,dispatch:n})=>{const s=_e(t,e.schema);return Xf(s)(e,n)};function wa(t,e){const n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){const s=n.filter(r=>e==null?void 0:e.includes(r.type.name));t.tr.ensureMarks(s)}}const im=({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:s,editor:r})=>{const{selection:o,doc:i}=e,{$from:l,$to:c}=o,u=r.extensionManager.attributes,p=ts(u,l.node().type.name,l.node().attrs);if(o instanceof te&&o.node.isBlock)return!l.parentOffset||!lt(i,l.pos)?!1:(s&&(t&&wa(n,r.extensionManager.splittableMarks),e.split(l.pos).scrollIntoView()),!0);if(!l.parent.isBlock)return!1;const f=c.parentOffset===c.parent.content.size,m=l.depth===0?void 0:Jh(l.node(-1).contentMatchAt(l.indexAfter(-1)));let h=f&&m?[{type:m,attrs:p}]:void 0,x=lt(e.doc,e.mapping.map(l.pos),1,h);if(!h&&!x&&lt(e.doc,e.mapping.map(l.pos),1,m?[{type:m}]:void 0)&&(x=!0,h=m?[{type:m,attrs:p}]:void 0),s){if(x&&(o instanceof ie&&e.deleteSelection(),e.split(e.mapping.map(l.pos),1,h),m&&!f&&!l.parentOffset&&l.parent.type!==m)){const b=e.mapping.map(l.before()),y=e.doc.resolve(b);l.node(-1).canReplaceWith(y.index(),y.index()+1,m)&&e.setNodeMarkup(e.mapping.map(l.before()),m)}t&&wa(n,r.extensionManager.splittableMarks),e.scrollIntoView()}return x},lm=(t,e={})=>({tr:n,state:s,dispatch:r,editor:o})=>{var i;const l=_e(t,s.schema),{$from:c,$to:u}=s.selection,p=s.selection.node;if(p&&p.isBlock||c.depth<2||!c.sameParent(u))return!1;const f=c.node(-1);if(f.type!==l)return!1;const m=o.extensionManager.attributes;if(c.parent.content.size===0&&c.node(-1).childCount===c.indexAfter(-1)){if(c.depth===2||c.node(-3).type!==l||c.index(-2)!==c.node(-2).childCount-1)return!1;if(r){let k=D.empty;const C=c.index(-1)?1:c.index(-2)?2:3;for(let E=c.depth-C;E>=c.depth-3;E-=1)k=D.from(c.node(E).copy(k));const A=c.indexAfter(-1)<c.node(-2).childCount?1:c.indexAfter(-2)<c.node(-3).childCount?2:3,w={...ts(m,c.node().type.name,c.node().attrs),...e},j=((i=l.contentMatch.defaultType)===null||i===void 0?void 0:i.createAndFill(w))||void 0;k=k.append(D.from(l.createAndFill(null,j)||void 0));const _=c.before(c.depth-(C-1));n.replace(_,c.after(-A),new W(k,4-C,0));let S=-1;n.doc.nodesBetween(_,n.doc.content.size,(E,I)=>{if(S>-1)return!1;E.isTextblock&&E.content.size===0&&(S=I+1)}),S>-1&&n.setSelection(ie.near(n.doc.resolve(S))),n.scrollIntoView()}return!0}const h=u.pos===c.end()?f.contentMatchAt(0).defaultType:null,x={...ts(m,f.type.name,f.attrs),...e},b={...ts(m,c.node().type.name,c.node().attrs),...e};n.delete(c.pos,u.pos);const y=h?[{type:l,attrs:x},{type:h,attrs:b}]:[{type:l,attrs:x}];if(!lt(n.doc,c.pos,2))return!1;if(r){const{selection:k,storedMarks:C}=s,{splittableMarks:A}=o.extensionManager,w=C||k.$to.parentOffset&&k.$from.marks();if(n.split(c.pos,2,y).scrollIntoView(),!w||!r)return!0;const j=w.filter(_=>A.includes(_.type.name));n.ensureMarks(j)}return!0},ar=(t,e)=>{const n=bo(i=>i.type===e)(t.selection);if(!n)return!0;const s=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(s===void 0)return!0;const r=t.doc.nodeAt(s);return n.node.type===(r==null?void 0:r.type)&&Ft(t.doc,n.pos)&&t.join(n.pos),!0},ir=(t,e)=>{const n=bo(i=>i.type===e)(t.selection);if(!n)return!0;const s=t.doc.resolve(n.start).after(n.depth);if(s===void 0)return!0;const r=t.doc.nodeAt(s);return n.node.type===(r==null?void 0:r.type)&&Ft(t.doc,s)&&t.join(s),!0},cm=(t,e,n,s={})=>({editor:r,tr:o,state:i,dispatch:l,chain:c,commands:u,can:p})=>{const{extensions:f,splittableMarks:m}=r.extensionManager,h=_e(t,i.schema),x=_e(e,i.schema),{selection:b,storedMarks:y}=i,{$from:k,$to:C}=b,A=k.blockRange(C),w=y||b.$to.parentOffset&&b.$from.marks();if(!A)return!1;const j=bo(_=>va(_.type.name,f))(b);if(A.depth>=1&&j&&A.depth-j.depth<=1){if(j.node.type===h)return u.liftListItem(x);if(va(j.node.type.name,f)&&h.validContent(j.node.content)&&l)return c().command(()=>(o.setNodeMarkup(j.pos,h),!0)).command(()=>ar(o,h)).command(()=>ir(o,h)).run()}return!n||!w||!l?c().command(()=>p().wrapInList(h,s)?!0:u.clearNodes()).wrapInList(h,s).command(()=>ar(o,h)).command(()=>ir(o,h)).run():c().command(()=>{const _=p().wrapInList(h,s),S=w.filter(E=>m.includes(E.type.name));return o.ensureMarks(S),_?!0:u.clearNodes()}).wrapInList(h,s).command(()=>ar(o,h)).command(()=>ir(o,h)).run()},dm=(t,e={},n={})=>({state:s,commands:r})=>{const{extendEmptyMarkRange:o=!1}=n,i=bt(t,s.schema);return Qh(s,i,e)?r.unsetMark(i,{extendEmptyMarkRange:o}):r.setMark(i,e)},um=(t,e,n={})=>({state:s,commands:r})=>{const o=_e(t,s.schema),i=_e(e,s.schema),l=xo(s,o,n);let c;return s.selection.$anchor.sameParent(s.selection.$head)&&(c=s.selection.$anchor.parent.attrs),l?r.setNode(i,c):r.setNode(o,{...c,...n})},pm=(t,e={})=>({state:n,commands:s})=>{const r=_e(t,n.schema);return xo(n,r,e)?s.lift(r):s.wrapIn(r,e)},fm=()=>({state:t,dispatch:e})=>{const n=t.plugins;for(let s=0;s<n.length;s+=1){const r=n[s];let o;if(r.spec.isInputRules&&(o=r.getState(t))){if(e){const i=t.tr,l=o.transform;for(let c=l.steps.length-1;c>=0;c-=1)i.step(l.steps[c].invert(l.docs[c]));if(o.text){const c=i.doc.resolve(o.from).marks();i.replaceWith(o.from,o.to,t.schema.text(o.text,c))}else i.delete(o.from,o.to)}return!0}}return!1},hm=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,{empty:s,ranges:r}=n;return s||e&&r.forEach(o=>{t.removeMark(o.$from.pos,o.$to.pos)}),!0},mm=(t,e={})=>({tr:n,state:s,dispatch:r})=>{var o;const{extendEmptyMarkRange:i=!1}=e,{selection:l}=n,c=bt(t,s.schema),{$from:u,empty:p,ranges:f}=l;if(!r)return!0;if(p&&i){let{from:m,to:h}=l;const x=(o=u.marks().find(y=>y.type===c))===null||o===void 0?void 0:o.attrs,b=Ll(u,c,x);b&&(m=b.from,h=b.to),n.removeMark(m,h,c)}else f.forEach(m=>{n.removeMark(m.$from.pos,m.$to.pos,c)});return n.removeStoredMark(c),!0},gm=(t,e={})=>({tr:n,state:s,dispatch:r})=>{let o=null,i=null;const l=$l(typeof t=="string"?t:t.name,s.schema);return l?(l==="node"&&(o=_e(t,s.schema)),l==="mark"&&(i=bt(t,s.schema)),r&&n.selection.ranges.forEach(c=>{const u=c.$from.pos,p=c.$to.pos;let f,m,h,x;n.selection.empty?s.doc.nodesBetween(u,p,(b,y)=>{o&&o===b.type&&(h=Math.max(y,u),x=Math.min(y+b.nodeSize,p),f=y,m=b)}):s.doc.nodesBetween(u,p,(b,y)=>{y<u&&o&&o===b.type&&(h=Math.max(y,u),x=Math.min(y+b.nodeSize,p),f=y,m=b),y>=u&&y<=p&&(o&&o===b.type&&n.setNodeMarkup(y,void 0,{...b.attrs,...e}),i&&b.marks.length&&b.marks.forEach(k=>{if(i===k.type){const C=Math.max(y,u),A=Math.min(y+b.nodeSize,p);n.addMark(C,A,i.create({...k.attrs,...e}))}}))}),m&&(f!==void 0&&n.setNodeMarkup(f,void 0,{...m.attrs,...e}),i&&m.marks.length&&m.marks.forEach(b=>{i===b.type&&n.addMark(h,x,i.create({...b.attrs,...e}))}))}),!0):!1},xm=(t,e={})=>({state:n,dispatch:s})=>{const r=_e(t,n.schema);return Vf(r,e)(n,s)},bm=(t,e={})=>({state:n,dispatch:s})=>{const r=_e(t,n.schema);return Wf(r,e)(n,s)};var ym=Object.freeze({__proto__:null,blur:rh,clearContent:oh,clearNodes:ah,command:ih,createParagraphNear:lh,cut:ch,deleteCurrentNode:dh,deleteNode:uh,deleteRange:ph,deleteSelection:fh,enter:hh,exitCode:mh,extendMarkRange:gh,first:xh,focus:kh,forEach:vh,insertContent:wh,insertContentAt:Sh,joinBackward:Ah,joinDown:Eh,joinForward:Ih,joinItemBackward:_h,joinItemForward:Th,joinTextblockBackward:Bh,joinTextblockForward:Rh,joinUp:Nh,keyboardShortcut:Lh,lift:Dh,liftEmptyBlock:Mh,liftListItem:Oh,newlineInCode:$h,resetAttributes:Fh,scrollIntoView:zh,selectAll:Hh,selectNodeBackward:Vh,selectNodeForward:Wh,selectParentNode:Gh,selectTextblockEnd:Uh,selectTextblockStart:qh,setContent:Yh,setMark:tm,setMeta:nm,setNode:sm,setNodeSelection:rm,setTextSelection:om,sinkListItem:am,splitBlock:im,splitListItem:lm,toggleList:cm,toggleMark:dm,toggleNode:um,toggleWrap:pm,undoInputRule:fm,unsetAllMarks:hm,unsetMark:mm,updateAttributes:gm,wrapIn:xm,wrapInList:bm});Ue.create({name:"commands",addCommands(){return{...ym}}});Ue.create({name:"drop",addProseMirrorPlugins(){return[new zt({key:new Ht("tiptapDrop"),props:{handleDrop:(t,e,n,s)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:n,moved:s})}}})]}});Ue.create({name:"editable",addProseMirrorPlugins(){return[new zt({key:new Ht("editable"),props:{editable:()=>this.editor.options.editable}})]}});const km=new Ht("focusEvents");Ue.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new zt({key:km,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const s=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(s),!1},blur:(e,n)=>{t.isFocused=!1;const s=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(s),!1}}}})]}});Ue.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first(({commands:i})=>[()=>i.undoInputRule(),()=>i.command(({tr:l})=>{const{selection:c,doc:u}=l,{empty:p,$anchor:f}=c,{pos:m,parent:h}=f,x=f.parent.isTextblock&&m>0?l.doc.resolve(m-1):f,b=x.parent.type.spec.isolating,y=f.pos-f.parentOffset,k=b&&x.parent.childCount===1?y===f.pos:J.atStart(u).from===m;return!p||!h.type.isTextblock||h.textContent.length||!k||k&&f.parent.type.name==="paragraph"?!1:i.clearNodes()}),()=>i.deleteSelection(),()=>i.joinBackward(),()=>i.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:i})=>[()=>i.deleteSelection(),()=>i.deleteCurrentNode(),()=>i.joinForward(),()=>i.selectNodeForward()]),s={Enter:()=>this.editor.commands.first(({commands:i})=>[()=>i.newlineInCode(),()=>i.createParagraphNear(),()=>i.liftEmptyBlock(),()=>i.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},r={...s},o={...s,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return go()||Ol()?o:r},addProseMirrorPlugins(){return[new zt({key:new Ht("clearDocument"),appendTransaction:(t,e,n)=>{if(t.some(b=>b.getMeta("composition")))return;const s=t.some(b=>b.docChanged)&&!e.doc.eq(n.doc),r=t.some(b=>b.getMeta("preventClearDocument"));if(!s||r)return;const{empty:o,from:i,to:l}=e.selection,c=J.atStart(e.doc).from,u=J.atEnd(e.doc).to;if(o||!(i===c&&l===u)||!Fl(n.doc))return;const m=n.tr,h=Bl({state:n,transaction:m}),{commands:x}=new Jf({editor:this.editor,state:h});if(x.clearNodes(),!!m.steps.length)return m}})]}});Ue.create({name:"paste",addProseMirrorPlugins(){return[new zt({key:new Ht("tiptapPaste"),props:{handlePaste:(t,e,n)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:n})}}})]}});Ue.create({name:"tabindex",addProseMirrorPlugins(){return[new zt({key:new Ht("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}});const vm=Ue.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:t=>{var e;return(e=t.style.color)===null||e===void 0?void 0:e.replace(/['"]+/g,"")},renderHTML:t=>t.color?{style:`color: ${t.color}`}:{}}}}]},addCommands(){return{setColor:t=>({chain:e})=>e().setMark("textStyle",{color:t}).run(),unsetColor:()=>({chain:t})=>t().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),zl=({blockId:t,value:e="",onUpdate:n=()=>{},onBlur:s=()=>{},placeholder:r="",from:o="settings",style:i={}})=>as.useEditor({extensions:[pd,ad,vm.configure({types:["textStyle"]}),id.configure({multicolor:!0}),ld.configure({openOnClick:!1,HTMLAttributes:{class:"underline"}}),dd.configure({types:["heading","paragraph"],alignments:["left","center","right"],defaultAlignment:"left"}),ud,cd.configure({placeholder:r||"Enter text here",emptyEditorClass:"cursor-text before:content-[attr(data-placeholder)] before:absolute before:opacity-50 before:pointer-events-none"})],content:e||"",onUpdate:n,onBlur:s,editorProps:{attributes:{...i?{style:i}:{},class:o!=="canvas"?"text-sm p-1 px-2 rte":"rte"}}},[t]);function wm(t){let e=t;for(;e;){if(e.style&&e.style.textAlign)return e.style.textAlign;const n=window.getComputedStyle(e).textAlign;if(n&&n!=="start"&&n!=="initial"&&n!=="inherit")return n;e=e.parentElement}return null}const Cm=g.memo(({blockContent:t,editingElement:e,onClose:n,onChange:s,onEscape:r})=>{const{document:o}=Xe(),i=zl({value:t,blockId:"active-inline-editing-element",placeholder:"Enter text here",onUpdate:({editor:u})=>s((u==null?void 0:u.getHTML())||""),onBlur:({editor:u,event:p})=>{if(!o)return;const f=p==null?void 0:p.relatedTarget,m=o.querySelector(".ProseMirror"),h=o.querySelector(".tippy-box"),x=o.querySelector("#chai-rich-text-menu-bar"),b=m==null?void 0:m.contains(f),y=h==null?void 0:h.contains(f),k=x==null?void 0:x.contains(f),C=window.document.getElementById("rte-widget-color-picker");if(!b&&!y&&!k&&!C){const A=(u==null?void 0:u.getHTML())||"";n(A)}},from:"canvas"});g.useEffect(()=>{var p,f;const u=wm(e);u&&((p=i==null?void 0:i.commands)==null||p.setTextAlign(u)),(f=i==null?void 0:i.commands)==null||f.focus(),i==null||i.emit("focus",{editor:i,event:new FocusEvent("focus"),transaction:[]})},[e,i]);const l=g.useMemo(()=>{var f;const u="max-w-none shadow-none outline outline-[2px] [&_*]:shadow-none";if(!e)return u;const p=((f=e==null?void 0:e.className)==null?void 0:f.replace("sr-only",""))||"";return`${u} ${p}`},[e]),c=u=>{u.key==="Escape"&&r(u)};return i&&a.jsxs("div",{onKeyDown:c,onClick:u=>u.stopPropagation(),className:"relative",children:[a.jsx(as.BubbleMenu,{editor:i,shouldShow:()=>i&&(i==null?void 0:i.isFocused),tippyOptions:{duration:100,arrow:!0,hideOnClick:!1},className:"w-max",children:a.jsx(qi,{editor:i,from:"canvas"})}),a.jsx(as.EditorContent,{id:"active-inline-editing-element",onKeyDown:c,value:t,editor:i,className:l})]})}),jm=g.memo(({editingElement:t,blockContent:e,onClose:n,editorRef:s,onChange:r,onEscape:o})=>{const{document:i,window:l}=Xe();g.useEffect(()=>{if(!(!i||!l))if(s.current){s.current.innerHTML=e,s.current.focus();const m=i.createRange(),h=l.getSelection();m.selectNodeContents(s.current),m.collapse(!1),h==null||h.removeAllRanges(),h==null||h.addRange(m),s.current.focus()}else n()},[e,i,s,n,l]);const c=g.useMemo(()=>{var h;const m=((h=t==null?void 0:t.tagName)==null?void 0:h.toLowerCase())||"div";return m==="button"?"div":m},[t]),u=g.useCallback(m=>{(m.key==="Enter"||m.key==="Escape")&&o(m)},[o]),p=g.useCallback(()=>{n()},[n]),f=g.useMemo(()=>{var m;return{id:"active-inline-editing-element",contentEditable:!0,className:`${((m=t==null?void 0:t.className)==null?void 0:m.replace("sr-only",""))||""} outline outline-[2px] outline-green-500 shadow-none empty:before:content-[attr(data-placeholder)] empty:before:text-gray-400 empty:before:absolute empty:before:pointer-events-none empty:before:select-none empty:before:inset-0 empty:before:z-0 relative min-h-[1em]`,style:d.cloneDeep(t==null?void 0:t.style)||{},onInput:h=>{const x=h.target;x&&(x.innerText.trim()===""?(x.setAttribute("data-placeholder","Enter text here"),x.children.length>0&&x.children[0].remove()):h.target.removeAttribute("data-placeholder"),r(h.target.innerText))},onClick:h=>{h.stopPropagation(),h.preventDefault()}}},[t==null?void 0:t.className,t==null?void 0:t.style,r]);return a.jsx(a.Fragment,{children:g.createElement(c,{ref:s,onBlur:p,onKeyDown:u,...f})})}),Sm=g.memo(({block:t,children:e})=>{const n="content",{document:s}=Xe(),{editingBlockId:r,editingItemIndex:o,setEditingBlockId:i,setEditingItemIndex:l}=$t(),[c,u]=g.useState(null),p=g.useRef(null),{clearHighlight:f}=nt(),m=Ke(),{selectedLang:h}=Te(),[,x]=q(),b=g.useRef(null),y=r,{blockContent:k,blockType:C}=g.useMemo(()=>{var P;const S=t._type;let E=t[n];const I=K.getRegisteredChaiBlock(t._type);return h&&((P=I==null?void 0:I.i18nProps)==null?void 0:P.includes(n))&&d.has(t,`${n}-${h}`)&&(E=d.get(t,`${n}-${h}`)),{blockContent:E,blockType:S}},[t,h]),A=g.useCallback(S=>{var I;const E=S||((I=p.current)==null?void 0:I.innerText);m([y],{[n]:E}),u(null),i(""),l(-1),x([]),y&&setTimeout(()=>x([y]),100)},[m,y,i,l,x]),w=xe.useDebouncedCallback(S=>{m([y],{[n]:S})},[y,t,m,h],1e3),j=g.useCallback(S=>{S.preventDefault(),y&&(b.current=y),A(),setTimeout(()=>{const E=b.current;b.current=null,E&&x([E])},100)},[y,A,x]);g.useEffect(()=>{var B;if(!y||!s)return;const S=`[data-block-id="${y}"]`,E=o>=0?`[data-block-index="${o}"]`:"",I=s.querySelector(`${S}${E}`);I&&((B=I==null?void 0:I.classList)==null||B.add("sr-only"),g.startTransition(()=>u(I)))},[y,C,s,o]);const _=g.useMemo(()=>c?(f(),["RichText","Paragraph"].includes(C)?a.jsx(Cm,{blockContent:k,editingElement:c,onChange:w,onClose:A,onEscape:j}):a.jsx(jm,{editorRef:p,blockContent:k,editingElement:c,onClose:A,onChange:w,onEscape:j})):null,[c,f,C,k,A,w,j]);return a.jsxs(a.Fragment,{children:[_,e]})},(t,e)=>t.block._id===e.block._id&&t.block.content===e.block.content),Hl=g.createContext({index:-1,key:""}),Ca=g.createContext(0),Nm=["Box","Repeater","GlobalBlock","PartialBlock","Heading","Text","RichText","Span","Image","Button","Paragraph","Link","Video","Audio","Icon","List","ListItem","CustomScript","CustomHTML"],Em=({asyncProps:t,blockAtom:e,children:n})=>{const{editingBlockId:s,editingItemIndex:r}=$t(),[o]=N.useAtom(e),i=g.useMemo(()=>K.getRegisteredChaiBlock(o._type),[o._type]),{selectedLang:l,fallbackLang:c}=Te(),u=Wp(),p=Ot(),[f]=N.useAtom(Qr),m=d.get(i,"component",null),{index:h,key:x}=g.useContext(Hl),{mode:b}=Ui(),y=N.useAtomValue(en),k=Ye(),C=b==="edit",A=Vp(),w=g.useMemo(()=>f?se.applyBindingToBlockProps(se.applyLanguage(o,l,i),p,{index:h,key:x}):se.applyLanguage(o,l,i),[o,l,i,p,f,h,x]),j=g.useMemo(()=>se.getBlockTagAttributes(o,!0,y),[o,se.getBlockTagAttributes,y]),_=g.useMemo(()=>u(o._id,se.getBlockRuntimeProps(o._type)),[o._id,o._type,u,se.getBlockRuntimeProps]),S=g.useMemo(()=>{const M={"data-block-id":o._id,"data-block-type":o._type,"data-block-index":h};return C&&k?{...M,draggable:!s,onMouseDown:A.onMouseDown,onDragStart:A.onDragStart,onDragEnd:A.onDragEnd}:M},[o._id,o._type,h,C,k,A,s]),E=g.useMemo(()=>({blockProps:S,inBuilder:b==="edit",lang:l||c,pageData:p,...w,...j,..._,...t}),[b,S,l,c,w,j,_,t]),I=g.useMemo(()=>!Nm.includes(o._type),[o._type]),B=g.useMemo(()=>{const M=d.get(o,"_show",!0);return d.isString(M)?f?se.resolveBinding(M,p)!=="false":!0:M},[o,f,p]);if(d.isNull(m)||!B)return null;let P=a.jsx(g.Suspense,{children:g.createElement(m,{...E,children:n({_id:o._id,_type:o._type,...d.isArray(w.repeaterItems)?{repeaterItems:se.applyLimit(w.repeaterItems,o),$repeaterItemsKey:w.$repeaterItemsKey}:{},...o.partialBlockId?{partialBlockId:o.partialBlockId}:"",...o.globalBlock?{partialBlockId:o.globalBlock}:""})})});const R=s===o._id&&(r===h||h<0)?a.jsx(Sm,{block:o,children:P}):P;return I?a.jsx(Et.ErrorBoundary,{fallbackRender:qp,children:R}):R},Am=({children:t,partialBlockId:e})=>{const n=$("gotoPage",d.noop),{saveState:s}=tn(),{selectedLang:r,fallbackLang:o}=Te(),i=g.useCallback(l=>{if(l.stopPropagation(),s!=="SAVED"){ue.toast.error("You have unsaved changes. Please save the page first.");return}n({pageId:e,lang:r||o})},[s,n,e,r,o]);return a.jsxs(a.Fragment,{children:[t,a.jsx("div",{className:"partial-overlay group absolute inset-0 z-50",children:a.jsx("div",{onDoubleClick:i,className:"flex h-full w-full items-center justify-center bg-black/10 opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100 group-hover:backdrop-opacity-85",children:a.jsx("p",{className:"rounded-md bg-white px-2 py-1 text-xs",children:"Partial block. Double click to edit."})})})]})},Im=()=>a.jsx("div",{className:"flex items-center justify-center rounded-md border border-destructive bg-destructive/10 p-4 text-center text-sm text-destructive",children:a.jsxs("p",{children:["Maximum partial nesting depth (",ls," levels) exceeded"]})}),_m=({partialBlockId:t})=>{const{getPartialBlocks:e}=Es(),n=g.useContext(Ca),s=g.useMemo(()=>e(t),[e,t]),r=g.useMemo(()=>Oe.splitAtom(N.atom(s)),[s]);return n>=ls?a.jsx(Im,{}):d.isEmpty(s)?null:a.jsx(Ca.Provider,{value:n+1,children:a.jsx(Am,{partialBlockId:t,children:a.jsx(xs,{splitAtoms:r,blocks:s,type:"PartialBlock"})})})},xs=({blocks:t,parent:e=null,splitAtoms:n=void 0,type:s=""})=>{const r=Eu(n);let o=g.useMemo(()=>d.filter(t,l=>d.has(l,"_id")&&(d.isEmpty(e)?!l._parent:l._parent===e)),[t,e]);const i=g.useCallback(l=>d.filter(t,c=>c._parent===l).length>0,[t]);return(s==="Heading"||s==="Paragraph"||s==="Link")&&(o=se.adjustSpacingInContentBlocks(o)),d.map(o,l=>{const c=r(l._id);return c?a.jsx(Up,{block:l,children:u=>a.jsx(Em,{blockAtom:c,asyncProps:u,children:({_id:p,_type:f,partialBlockId:m,repeaterItems:h,$repeaterItemsKey:x})=>f==="Repeater"?d.isArray(h)&&h.map((b,y)=>a.jsx(Hl.Provider,{value:{index:y,key:x},children:a.jsx(xs,{splitAtoms:n,blocks:t,parent:l._id,type:f})},`${p}-${y}`)):f==="GlobalBlock"||f==="PartialBlock"?a.jsx(N.Provider,{store:ze,children:a.jsx(_m,{partialBlockId:m})}):i(p)?a.jsx(xs,{splitAtoms:n,blocks:t,parent:l._id,type:f}):null})},l._id):null})},Tm=()=>{const[t]=Z();return a.jsx(xs,{splitAtoms:In,blocks:t})},Bm=()=>{const[t]=Z(),[e]=N.useAtom(Xr),n=d.isEmpty(t)?null:a.jsx(Tm,{},e);return a.jsx(a.Fragment,{children:n})},Rm=Oe.atomWithStorage("canvasZoom",100),Vl=()=>N.useAtom(Rm),Pm=()=>N.useAtom(oi),Wl=Oe.atomWithStorage("canvasWidth",800),Lm=Oe.atomWithStorage("canvasDisplayWidth",800),Gl=N.atom(t=>{const e=t(Wl);return pe.getBreakpointValue(e).toLowerCase()}),bs=()=>{const[t,e]=N.useAtom(Wl),n=N.useAtomValue(Gl),[s,r]=Pm();return g.useEffect(()=>{s!=="xs"&&r(n)},[n,s,r]),[t,n,e]},yo=()=>{const[t,e]=N.useAtom(Lm);return[t,e]},Dm=t=>{const[e]=yo(),[,n]=Vl(),s=$("htmlDir","ltr"),[r,o]=g.useState({}),i=g.useCallback(()=>{const{width:l,height:c}=t;if(l<e){const u=parseFloat((l/e).toFixed(2).toString());let p={};const f=c*u,m=l*u;c&&(p={height:100+(c-f)/f*100+"%",width:100+(l-m)/m*100+"%"}),o({position:"relative",top:0,transform:`scale(${u})`,transformOrigin:s==="rtl"?"top right":"top left",...p,maxWidth:"none"}),n(u*100)}else o({}),n(100)},[e,t,s,n]);return g.useEffect(()=>{i()},[e,t,n,i]),r};function Yt(t,e){g.useEffect(()=>{const n=ae.subscribe(t,e);return()=>n()},[t,e])}const Mm=()=>{const[,t]=q(),[e,n]=Ae(),{document:s}=Xe(),{clearHighlight:r}=nt(),[o]=q(),[i]=N.useAtom(Jr);return g.useEffect(()=>{setTimeout(()=>{if(!d.isEmpty(e))return;const l=Pi(s,d.first(o));if(l){const c=l.getAttribute("data-style-prop");if(c){const u=l.getAttribute("data-style-id"),p=l.getAttribute("data-block-parent");n([{id:u,prop:c,blockId:p}])}}},100)},[s,o,n,e]),g.useEffect(()=>()=>r(),[r]),Yt(Y.CANVAS_BLOCK_SELECTED,l=>{l&&(!d.isEmpty(l)&&!d.includes(o,d.first(l))&&(i==null||i.closeAll()),t(l))}),Yt(Y.CANVAS_BLOCK_STYLE_SELECTED,l=>{if(!l)return;const{blockId:c,styleId:u,styleProp:p}=l;c&&(d.includes(o,c)||i==null||i.closeAll(),n([{id:u,prop:p,blockId:c}]),t([c]))}),Yt(Y.CLEAR_CANVAS_SELECTION,()=>{r(),t([]),n([])}),null},Om=()=>{const[t]=yo(),[,e]=Ai(),n=g.useRef(null),s=g.useRef(null),[r,o]=g.useState({width:0,height:0}),i=Dm(r),[,l]=nn(),c=$("loading",!1),u=$("htmlDir","ltr"),{onDragOver:p,onDrop:f,onDragEnd:m}=sn(),h=dp(),x=g.useCallback(y=>{o(k=>({...k,width:y}))},[o]);g.useEffect(()=>{if(!s.current)return;const{clientWidth:y,clientHeight:k}=s.current;o({width:y,height:k})},[s,t]);const b=g.useMemo(()=>{let y=Li;return y=y.replace("__HTML_DIR__",u),y},[u]);return a.jsx(Hp,{onMount:x,onResize:x,children:a.jsx("div",{onMouseLeave:()=>setTimeout(()=>e(""),300),className:"relative mx-auto h-full w-full overflow-hidden",onDragOver:p,onDrop:f,onDragEnd:m,ref:s,children:a.jsxs(Mi,{contentDidMount:()=>l(n.current),ref:n,id:"canvas-iframe",style:{...i,...d.isEmpty(i)?{width:`${t}px`}:{}},className:"relative mx-auto box-content h-full w-full max-w-full shadow-lg transition-all duration-300 ease-linear",initialContent:b,children:[a.jsx(Rp,{}),a.jsx(Ap,{}),a.jsx(Op,{}),a.jsxs(Rd.Provider,{children:[a.jsxs(Np,{children:[c?a.jsx("div",{className:"h-full p-4",children:a.jsx(Rt,{className:"h-full"})}):a.jsx(Bm,{}),a.jsx(Pp,{})]}),a.jsx(Mm,{})]}),h.isVisible&&a.jsx("div",{id:"placeholder",className:`pointer-events-none absolute z-[99999] max-w-full transition-all duration-150 ${h.isEmpty?"bg-purple-500/10 outline-dashed outline-2 -outline-offset-2 outline-purple-500":"rounded-full bg-green-500"}`,style:{top:h.top,left:h.left,width:h.width,height:h.height}})]})})})},kn=()=>{const{t}=z.useTranslation();return a.jsx("div",{className:"h-full w-full rounded-md bg-red-200 p-4 text-red-500",children:a.jsxs("div",{className:"flex h-full w-full flex-col items-center justify-center",children:[a.jsx("p",{className:"font-semibold",children:t("Oops! Something went wrong.")}),a.jsx("p",{children:t("Please try again.")})]})})},$m=N.atom(null),ko=()=>N.useAtom($m),Fm=g.lazy(()=>Promise.resolve().then(()=>require("./code-editor-SWbfFj1E.cjs"))),Ul=()=>{const[t]=ko(),e=$("onError",d.noop);return a.jsx("div",{className:"flex h-full max-h-full w-full flex-1 flex-col",children:a.jsxs("div",{className:"relative flex h-full max-h-full flex-col overflow-hidden bg-gray-100/40",children:[a.jsx(g.Suspense,{fallback:a.jsx(Rt,{className:"h-full"}),children:a.jsx(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:e,children:a.jsx(Om,{})})}),t?a.jsx(g.Suspense,{fallback:a.jsx(Rt,{className:"h-full"}),children:a.jsx(Fm,{})}):null]})})},Dt={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"},zm=({id:t,placeholder:e})=>{const{t:n}=z.useTranslation(),[,s]=ko(),{selectedLang:r}=Te(),o=X(),i=t.replace("root.",""),l=K.getRegisteredChaiBlock(o==null?void 0:o._type),u=d.includes(d.get(l,"i18nProps",[]),i)&&r?`${i}-${r}`:i,p=d.get(o,u,""),f=g.useMemo(()=>d.get(Dt,r,r),[r]),m=()=>{const h=o==null?void 0:o._id;s({blockId:h,blockProp:u,placeholder:e,initialCode:p})};return a.jsxs("div",{className:"mt-2 flex flex-col gap-y-1",children:[a.jsxs("label",{htmlFor:t,children:["HTML Code",f&&a.jsxs("small",{className:"text-[9px] text-zinc-400",children:[" ",f]})]}),a.jsx("button",{onClick:m,className:"w-[90%] max-w-full cursor-default truncate text-pretty rounded border border-border bg-background p-2 text-left text-[10px]",children:p.trim().length>0?p.substring(0,46):e||"Eg: <script>console.log('Hello, world!');<\/script>"}),a.jsx(T.Button,{onClick:m,size:"sm",variant:"outline",className:"w-fit",children:n("Open code editor")})]})},Hm=({id:t,value:e,onChange:n,onBlur:s})=>{const r=$("collections",[]),o=X(),i=d.get(o,"repeaterItems","").replace(/\{\{(.*)\}\}/g,"$1").replace(U.COLLECTION_PREFIX,""),l=d.find(r,{id:i}),c=t==="root.filter"?"filters":"sorts",u=d.get(l,c,[]);return a.jsx("div",{children:a.jsxs("select",{value:e,onChange:p=>n(p.target.value),onBlur:p=>s(t,p.target.value),children:[a.jsx("option",{value:"",children:"Select"}),u.map(p=>a.jsx("option",{value:p.id,children:p.name},p.id))]})})},Vm=g.lazy(()=>Promise.resolve().then(()=>require("./IconPicker-JWhYq2Gp.cjs")).then(t=>({default:t.IconPicker}))),Wm=t=>{try{let e=t.replace(/<svg([^>]*)\sheight="[^"]*"([^>]*)>/gi,"<svg$1$2>").replace(/<svg([^>]*)\swidth="[^"]*"([^>]*)>/gi,"<svg$1$2>");return e=e.replace(/>\s+</g,"><"),e=e.replace(/\n/g,"").replace(/\s{2,}/g," "),e=e.replace(/\s+=/g,"=").replace(/=\s+/g,"="),e=e.replace(/<!--[\s\S]*?-->/g,""),e.trim()}catch{return t}},Gm=({value:t,onChange:e,id:n})=>{const{t:s}=z.useTranslation(),[r,o]=g.useState(t||"");g.useEffect(()=>{o(t||"")},[t]);const i=l=>{o(l);const c=Wm(l);e(c)};return a.jsxs("div",{className:"mt-1 flex flex-col gap-2",id:"icon-picker-field",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsx("div",{className:"flex h-12 w-12 items-center justify-center overflow-hidden rounded-lg border bg-gray-50",children:r?a.jsx("div",{className:"h-6 w-6",dangerouslySetInnerHTML:{__html:r}}):a.jsx("span",{className:"text-xs text-gray-400",children:"SVG"})}),a.jsx("textarea",{id:n,autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",value:r,onChange:l=>i(l.target.value),placeholder:s("SVG_code"),rows:2,className:"no-scrollbar w-full rounded-md border border-border bg-background px-3 py-1.5 text-xs shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(g.Suspense,{fallback:a.jsx("div",{className:"text-xs text-muted-foreground",children:"Loading..."}),children:a.jsx(Vm,{onSelectIcon:i})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:s("Paste SVG_code")})]})]})},Pn=ce.Root,ql=ce.Trigger,Um=ce.Portal,Kl=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Overlay,{ref:n,className:T.cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e}));Kl.displayName=ce.Overlay.displayName;const ln=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(Um,{children:[a.jsx(Kl,{}),a.jsxs(ce.Content,{ref:s,className:T.cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...n,children:[e,a.jsxs(ce.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[a.jsx(v.Cross1Icon,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ln.displayName=ce.Content.displayName;const Ln=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col space-y-1.5 text-center sm:text-left",t),...e});Ln.displayName="DialogHeader";const Yl=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});Yl.displayName="DialogFooter";const cn=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Title,{ref:n,className:T.cn("text-lg font-semibold leading-none tracking-tight",t),...e}));cn.displayName=ce.Title.displayName;const Xl=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Description,{ref:n,className:T.cn("text-sm text-muted-foreground",t),...e}));Xl.displayName=ce.Description.displayName;const ns=({assetId:t,children:e,onSelect:n,mode:s="image"})=>{const[r,o]=g.useState(!1),i=T.useMediaManagerComponent(),l=(...c)=>{n.call(void 0,...c),o(!1)};return a.jsxs(Pn,{open:r,onOpenChange:c=>o(c),children:[a.jsx(ql,{asChild:!0,children:e}),a.jsxs(ln,{className:"flex max-h-[90vh] max-w-7xl border-border md:w-fit",children:[a.jsx(cn,{className:"sr-only",children:"Media Manager"}),a.jsx("div",{className:"h-full w-full",children:i?a.jsx(i,{close:()=>o(!1),onSelect:l,mode:s,assetId:t}):null})]})]})};ns.displayName="MediaManagerModal";function qm(t,e,n){if(!t)return t;const{baseClasses:s,classes:r}=se.getSplitChaiClasses(t),o=c=>c.split(" ").filter(u=>u&&!(e&&u==="w-full")&&!(n&&u==="h-full")).join(" "),i=o(s),l=o(r);return`${U.STYLES_KEY}${i},${l}`}const Jn="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ9IjQwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjZjNmNGY2Ii8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNiIgZmlsbD0iI2Q1ZDdkYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPkltYWdlIFBsYWNlaG9sZGVyPC90ZXh0Pjwvc3ZnPg==",Km=t=>{var r;if(!t||d.startsWith(t,"data"))return"";const e=((r=t.split("/").pop())==null?void 0:r.split("?")[0])||"";return[".jpg",".jpeg",".png",".gif",".webp",".svg",".bmp",".ico",".avif"].some(o=>e.toLowerCase().endsWith(o))?e:""},Ym=({value:t,onChange:e,id:n,onBlur:s,uiSchema:r})=>{const{t:o}=z.useTranslation(),{selectedLang:i}=Te(),l=X(),c=Ke(),u=Ot(),p=(r==null?void 0:r["ui:allowEmpty"])===!0,f=n.split(".").pop()||"",m=i?`_${f}Id-${i}`:`_${f}Id`,h=d.isEmpty(i)&&(l==null?void 0:l._type)==="Image"&&d.has(l,"assetId"),x=d.get(l,m,h?l==null?void 0:l.assetId:""),b=g.useMemo(()=>{if(!t||!l||!/\{\{.*?\}\}/.test(t))return t;const j={...l,[f]:t},_=se.applyBindingToBlockProps(j,u,{index:-1,key:""});return d.get(_,f,t)},[t,l,u,f]),y=!!x||b!==Jn&&b!=="",k=w=>{const j=d.isArray(w)?d.first(w):w;if(j){e(j==null?void 0:j.url);const _=j==null?void 0:j.width,S=j==null?void 0:j.height,E=m.includes("mobile");if(l!=null&&l._id){const I={..._&&{[E?"mobileWidth":"width"]:_},...S&&{[E?"mobileHeight":"height"]:S},...j.description&&{alt:j.description}};if(d.set(I,m,j.id),(_||S)&&(l!=null&&l._type)&&(l!=null&&l.styles)){const B=K.getBlockDefaultProps(l._type),P=d.get(B,"styles","");l.styles===P&&(I.styles=qm(l.styles,_,S))}if(d.isEmpty(I))return;c([l._id],I)}}},C=g.useCallback(()=>{if(e(p?"":Jn),l!=null&&l._id){const j={},_=m.includes("mobile");d.set(j,m,""),d.set(j,_?"mobileWidth":"width",""),d.set(j,_?"mobileHeight":"height",""),c([l._id],j)}},[l,e,c,m,p]),A=Km(b);return a.jsxs("div",{className:"mt-1.5 flex items-start gap-x-3",children:[b?a.jsxs("div",{className:"group relative",children:[a.jsx("img",{src:b,className:"h-[72px] w-[72px] overflow-hidden rounded-md border border-border object-cover transition duration-200 "+(x&&x!==""?"cursor-pointer group-hover:blur-sm":""),alt:""}),y&&a.jsx("button",{type:"button",onClick:C,className:"absolute -right-2 -top-2 z-20 rounded-full bg-destructive p-1 text-destructive-foreground hover:bg-destructive/90",children:a.jsx(v.Cross1Icon,{className:"h-3 w-3"})}),x&&x!==""&&a.jsx(ns,{onSelect:k,assetId:x,children:a.jsx("button",{type:"button",className:"absolute inset-0 z-10 flex cursor-pointer items-center justify-center bg-black/10 opacity-0 transition duration-200 group-hover:bg-black/30 group-hover:opacity-100",children:a.jsx(v.Pencil2Icon,{className:"h-4 w-4 text-white"})})})]}):a.jsx(ns,{onSelect:k,mode:"image",assetId:x,children:a.jsx("div",{className:"h-[72px] w-[72px] cursor-pointer rounded-md border border-border bg-[radial-gradient(#AAA,transparent_1px)] duration-300 [background-size:10px_10px]"})}),a.jsxs("div",{className:"flex w-3/5 flex-col",children:[a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"max-w-[250px] truncate pr-2 text-xs text-gray-400",children:A}),a.jsx(ns,{onSelect:k,assetId:"",children:a.jsx("small",{className:"mb-1 h-6 w-full cursor-pointer rounded-md bg-secondary px-1 py-1 text-center text-xs text-secondary-foreground hover:bg-secondary/80",children:!d.isEmpty(b)&&b!==Jn?o("Replace image"):o("Choose image")})}),a.jsx("div",{className:"text-center text-xs text-gray-400",children:"OR"})]}),a.jsx("input",{id:n,autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",type:"url",className:"h-6 text-xs",placeholder:o("Enter image URL"),value:t===Jn?"":t,onBlur:({target:{value:w}})=>s(n,w),onChange:w=>e(w.target.value)})]})]})},Xm=_r.cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ds({className:t,variant:e,...n}){return a.jsx("div",{className:T.cn(Xm({variant:e}),t),...n})}const ys=Jt.Provider,fe=Jt.Root,he=Jt.Trigger,le=O.forwardRef(({className:t,sideOffset:e=4,...n},s)=>a.jsx(Jt.Portal,{children:a.jsx(Jt.Content,{ref:s,sideOffset:e,className:T.cn("z-50 origin-[--radix-tooltip-content-transform-origin] overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...n})}));le.displayName=Jt.Content.displayName;const vo=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command,{ref:n,className:T.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...e}));vo.displayName=$e.Command.displayName;const wo=O.forwardRef(({className:t,...e},n)=>a.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[a.jsx(v.MagnifyingGlassIcon,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),a.jsx($e.Command.Input,{ref:n,className:T.cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...e})]}));wo.displayName=$e.Command.Input.displayName;const Co=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command.List,{ref:n,className:T.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...e}));Co.displayName=$e.Command.List.displayName;const jo=O.forwardRef((t,e)=>a.jsx($e.Command.Empty,{ref:e,className:"py-6 text-center text-sm",...t}));jo.displayName=$e.Command.Empty.displayName;const So=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command.Group,{ref:n,className:T.cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...e}));So.displayName=$e.Command.Group.displayName;const Jm=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command.Separator,{ref:n,className:T.cn("-mx-1 h-px bg-border",t),...e}));Jm.displayName=$e.Command.Separator.displayName;const ks=O.forwardRef(({className:t,...e},n)=>a.jsx($e.Command.Item,{ref:n,className:T.cn("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...e}));ks.displayName=$e.Command.Item.displayName;const Ms=wn.Root,Os=wn.Trigger,Dn=O.forwardRef(({className:t,align:e="center",sideOffset:n=4,...s},r)=>a.jsx(wn.Portal,{children:a.jsx(wn.Content,{ref:r,align:e,sideOffset:n,className:T.cn("z-50 w-72 origin-[--radix-popover-content-transform-origin] rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s})}));Dn.displayName=wn.Content.displayName;const Zm=({data:t,onSelect:e,dataType:n})=>{const[s,r]=g.useState([]),[o,i]=g.useState(t),l=f=>Array.isArray(f)?"array":typeof f=="object"&&f!==null?"object":"value",c=g.useCallback(f=>{const m=h=>n==="value"?h==="value"||h==="object":n==="array"?h==="array":h===n;f.type==="object"?(r(h=>[...h,f.key]),i(f.value)):m(f.type)&&e([...s,f.key].join("."),n)},[s,e,n]),u=g.useCallback(()=>{if(s.length>0){const f=s.slice(0,-1);r(f),i(f.reduce((m,h)=>m[h],t))}},[s,t]),p=g.useMemo(()=>o?Object.entries(o).map(([f,m])=>({key:f,value:m,type:l(m)})).filter(f=>!d.startsWith(f.key,U.REPEATER_PREFIX)&&f.key.includes("/")?!1:n==="value"?f.type==="value"||f.type==="object":n==="array"?f.type==="array"||f.type==="object":n==="object"?f.type==="object":!0):[],[o,n]);return a.jsxs(vo,{className:"fields-command",children:[a.jsx(wo,{className:"border-none",placeholder:"Search..."}),a.jsxs(Co,{children:[a.jsx(jo,{children:ft.t("No option found.")}),a.jsxs(So,{children:[s.length>0&&a.jsxs(ks,{onSelect:u,className:"flex items-center text-sm",children:[a.jsx(v.ChevronLeftIcon,{className:"mr-2 h-4 w-4"}),ft.t("Back")]}),p.map(f=>a.jsxs(ks,{value:f.key,disabled:!1,onSelect:()=>c(f),className:"flex items-center justify-between",children:[a.jsxs("span",{className:"flex items-center gap-x-2",children:[d.startsWith(f.key,U.REPEATER_PREFIX)?a.jsx(v.LoopIcon,{}):d.startsWith(f.key,U.COLLECTION_PREFIX)?a.jsx(v.IdCardIcon,{}):null,d.startsWith(f.key,U.REPEATER_PREFIX)?ft.t("Repeater Data"):d.startsWith(f.key,U.COLLECTION_PREFIX)?f.key.replace(U.COLLECTION_PREFIX,""):f.key]}),a.jsxs("div",{className:"flex items-center gap-2",children:[n==="object"&&f.type==="object"&&a.jsx(T.Button,{size:"sm",variant:"ghost",className:"h-6 px-2 hover:bg-primary hover:text-primary-foreground",onClick:m=>{m.stopPropagation(),e([...s,f.key].join("."),n)},children:ft.t("Select")}),f.type==="object"&&a.jsx("div",{className:"cursor-pointer rounded p-1 hover:bg-muted",children:a.jsx(v.ChevronRightIcon,{className:"h-4 w-4 opacity-50"})})]})]},f.key))]})]})]})};function No({data:t,onSelect:e,dataType:n="value"}){const[s,r]=g.useState(!1),o=$("collections",[]),i=g.useMemo(()=>n==="array"?{...o.map(c=>c.id).reduce((c,u)=>({...c,[U.COLLECTION_PREFIX+u]:[]}),{}),...t}:t,[t,o,n]);return a.jsxs(Ms,{open:s,onOpenChange:r,children:[a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(Os,{asChild:!0,children:a.jsx(T.Button,{size:"sm",variant:"ghost",className:"h-5 rounded-sm px-1 py-0 text-[9px] text-muted-foreground",role:"combobox","aria-expanded":s,children:a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24px",height:"24px",viewBox:"0 0 24 24",fill:"none",children:a.jsx("path",{d:"M9.5 5H9C7.89543 5 7 5.89543 7 7V9C7 10 6.4 12 4 12C5 12 7 12.6 7 15V17.0002C7 18.1048 7.89543 19 9 19H9.5M14.5 5H15C16.1046 5 17 5.89543 17 7V9C17 10 17.6 12 20 12C19 12 17 12.6 17 15V17.0002C17 18.1048 16.1046 19 15 19H14.5",stroke:"#000000",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"})})})})}),a.jsx(le,{children:ft.t("Add field")})]}),a.jsx(Dn,{className:"z-[1000]! relative mr-3 w-[300px] p-0",children:a.jsx(Zm,{data:i,onSelect:(l,c)=>{e(l,c),r(!1)},dataType:n})})]})}const Jl=({schema:t,onChange:e,id:n,formData:s})=>{const r=Ot(),o=$("flags.dataBinding",!0),i=qd(),l=X(),c=g.useMemo(()=>{if(i.length===1)return"";const f=i.find(x=>x._type==="Repeater"),h=d.get(f,"repeaterItems","").replace(/\{\{(.*)\}\}/g,"$1");return`${U.REPEATER_PREFIX}${d.startsWith(h,U.COLLECTION_PREFIX)?`${h}/${f==null?void 0:f._id}`:h}`},[i]),u=g.useMemo(()=>d.first(d.get(r,c.replace(U.REPEATER_PREFIX,""),[])),[c,r]),p=g.useCallback((f,m)=>{if(f=d.isEmpty(c)?f:f.replace(`${c}`,"$index"),m==="array"||m==="object"){e(`{{${f}}}`,{},n);return}const h=k=>/[.,!?;:]/.test(k),x=(k,C,A)=>{let w="",j="";const _=C>0?k[C-1]:"",S=C<k.length?k[C]:"";return C>0&&(_==="."||!h(_)&&_!==" ")&&(w=" "),C<k.length&&!h(S)&&S!==" "&&(j=" "),{text:w+A+j,prefixLength:w.length,suffixLength:j.length}},b=document.getElementById(n);if(!b)return;const y=document.getElementById(`chai-rte-${n}`)||document.getElementById(`chai-rte-modal-${n}`);if(y&&(y.querySelector(".ProseMirror")||y.__chaiRTE)){const k=y.__chaiRTE;if(k){const C=`{{${f}}}`;k.commands.focus();const{from:A,to:w}=k.state.selection;if(A!==w)k.chain().deleteSelection().insertContent(C).run();else{const{state:_}=k,S=_.selection.from,E=_.doc.textBetween(Math.max(0,S-1),S),I=_.doc.textBetween(S,Math.min(S+1,_.doc.content.size));let B="";S>0&&E!==" "&&!h(E)&&(B=" ");let P="";I&&I!==" "&&!h(I)&&(P=" "),k.chain().insertContent(B+C+P).run()}setTimeout(()=>e(k.getHTML(),{},n),100);return}}else{const k=b,C=k.selectionStart||0,A=k.value||"",w=k.selectionEnd||C;if(w>C){const I=`{{${f}}}`,{text:B}=x(A,C,I),P=A.slice(0,C)+B+A.slice(w);e(P,{},n);return}const _=`{{${f}}}`,{text:S}=x(A,C,_),E=A.slice(0,C)+S+A.slice(C);e(E,{},n)}},[n,e,s,l==null?void 0:l._id,c]);return o?a.jsx(No,{data:{...u&&{[c]:u},...r},onSelect:p,dataType:t.binding==="array"?"array":"value"}):null},Qm=t=>{const{id:e,classNames:n,label:s,children:r,errors:o,help:i,hidden:l,required:c,schema:u,formData:p,onChange:f}=t,{selectedLang:m,fallbackLang:h,languages:x}=Te(),b=g.useMemo(()=>d.isEmpty(x)?"":d.isEmpty(m)?h:m,[x,m,h]),y=g.useMemo(()=>d.get(Dt,b,b),[b]),k=Ot(),C=X(),A=K.useRegisteredChaiBlocks(),w=g.useMemo(()=>d.get(A,[C==null?void 0:C._type,"i18nProps"],[]),[A,C==null?void 0:C._type]),[j,_]=g.useState(null);if(l)return null;if(u.type==="boolean")return a.jsx("div",{className:n,children:r});const E=w==null?void 0:w.includes(e.replace("root.",""));if(u.type==="array"){const P=j===e;return a.jsxs("div",{className:`${n} relative`,children:[u.title&&a.jsx("div",{className:"flex items-center justify-between gap-1",children:a.jsxs("label",{htmlFor:e,onClick:()=>_(P?null:e),className:"flex cursor-pointer items-center gap-x-1 py-1 leading-tight duration-200 hover:bg-slate-100",children:[P?a.jsx(v.ChevronDownIcon,{className:"h-3 w-3"}):a.jsx(v.ChevronRightIcon,{className:"h-3 w-3"}),a.jsx(v.ListBulletIcon,{className:"h-3 w-3"}),a.jsx("span",{className:"leading-tight",children:s})," ",a.jsx(Ds,{className:"m-0 bg-gray-200 px-2 leading-tight text-gray-500 hover:bg-gray-200 hover:text-gray-500",children:a.jsx("span",{className:"text-[9px] font-medium text-slate-600",children:p==null?void 0:p.length})}),u.description&&a.jsx(ys,{children:a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(v.InfoCircledIcon,{className:"h-3 w-3 text-muted-foreground/70",onClick:R=>R.stopPropagation(),onMouseDown:R=>R.stopPropagation()})}),a.jsx(le,{className:"max-w-xs",children:u.description})]})})]})}),(p==null?void 0:p.length)===0?a.jsx("div",{className:"h-0 overflow-hidden",children:r}):a.jsxs("div",{className:`${P?"pt-0.5":"h-0 overflow-hidden"}`,children:[r,o,i]})]})}const I=e.replace("root.",""),B=w.includes(I)&&!d.isEmpty(m)&&d.isEmpty(p);return a.jsxs("div",{className:n,children:[u.title&&a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("label",{htmlFor:e,className:u.type==="object"?"pb-2":"",children:[s," ",E&&a.jsxs("small",{className:"text-[9px] text-zinc-400",children:[" ",y]}),c&&u.type!=="object"?" *":null]}),u.description&&a.jsx(ys,{children:a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(v.InfoCircledIcon,{className:"h-3 w-3 text-muted-foreground/70"})}),a.jsx(le,{className:"max-w-xs",children:u.description})]})})]}),!u.enum&&!u.oneOf&&k&&a.jsxs("span",{className:"flex items-center space-x-1",children:[B?a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",className:"lucide lucide-triangle-alert-icon lucide-triangle-alert h-3 w-3 text-orange-400",children:[a.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),a.jsx("path",{d:"M12 9v4"}),a.jsx("path",{d:"M12 17h.01"})]})}),a.jsxs(le,{className:"max-w-xs",children:["No translation provided. ",a.jsx("br",{}),"Using default language value."]})]}):null,a.jsx(Jl,{schema:u,onChange:P=>{f(P,p,e)},id:e,formData:p})]})]}),r,o,i]})},eg=({href:t,onChange:e})=>{const{t:n}=z.useTranslation(),s=$("searchPageTypeItems",(w,j)=>[]),[r,o]=g.useState(!1),[i,l]=g.useState(!1),[c,u]=g.useState(""),[p,f]=g.useState([]),[m,h]=g.useState(-1),x=g.useRef(null);g.useEffect(()=>{if(u(""),f([]),h(-1),l(!1),!t||r||!d.startsWith(t,"pageType:"))return;const w=d.split(t,":");(async()=>{const j=await s("",[d.get(w,2,"page")]);j&&Array.isArray(j)&&u(d.get(j,[0,"name"],""))})()},[t]);const b=xe.useDebouncedCallback(async w=>{if(d.isEmpty(w))f([]);else{const j=await s("",w);f(j)}o(!1),h(-1)},[],300),y=w=>{const j=["pageType",w.pageType||"page",w.primaryPage??w.id];e(j.join(":")),u(w.name),l(!1),f([]),h(-1)},k=w=>{switch(w.key){case"ArrowDown":w.preventDefault(),h(j=>j<p.length-1?j+1:j);break;case"ArrowUp":w.preventDefault(),h(j=>j>0?j-1:j);break;case"Enter":if(w.preventDefault(),p.length===0)return;m>=0&&y(p[m]);break;case"Escape":w.preventDefault(),C();break}};g.useEffect(()=>{if(m>=0&&x.current){const w=x.current.children[m];w==null||w.scrollIntoView({block:"nearest"})}},[m]);const C=()=>{u(""),f([]),h(-1),l(!1),e("")},A=w=>{u(w),l(!d.isEmpty(w)),o(!0),b(w)};return a.jsxs("div",{children:[a.jsxs("div",{className:"group relative flex items-center",children:[a.jsx("input",{type:"text",value:c,onChange:w=>A(w.target.value),onKeyDown:k,placeholder:n("Search pages"),className:"w-full rounded-md border border-gray-300 p-2 pr-16"}),a.jsx("div",{className:"absolute bottom-2 right-2 top-3 flex items-center gap-1.5",children:c&&a.jsx("button",{onClick:C,className:"text-gray-400 hover:text-gray-600",title:n("Clear search"),children:a.jsx(v.Cross1Icon,{className:"h-4 w-4"})})})]}),(r||!d.isEmpty(p)||i&&d.isEmpty(p))&&a.jsx("div",{className:"absolute z-40 mt-2 max-h-40 w-full max-w-[250px] overflow-y-auto rounded-md border border-border bg-background shadow-lg",children:r?a.jsxs("div",{className:"space-y-1 p-2",children:[a.jsx("div",{className:"h-6 w-full animate-pulse rounded bg-gray-200"}),a.jsx("div",{className:"h-6 w-full animate-pulse rounded bg-gray-200"})]}):i&&d.isEmpty(p)?a.jsxs("div",{className:"flex items-center justify-center p-4 text-sm text-gray-500",children:[n("No results found for"),' "',c,'"']}):a.jsx("ul",{ref:x,children:d.map(p==null?void 0:p.slice(0,20),(w,j)=>a.jsxs("li",{onClick:()=>y(w),className:`cursor-pointer p-2 text-xs ${t!=null&&t.includes(w.id)?"bg-blue-200":j===m?"bg-gray-100":"hover:bg-gray-100"}`,children:[w.name," ",w.slug&&a.jsxs("small",{className:"font-light text-gray-500",children:["( ",w.slug," )"]}),w.lang&&a.jsx("small",{className:"ml-1 rounded bg-gray-200 px-1 py-0.5 text-[10px] font-medium text-gray-600",children:w.lang})]},w.id))})})]})},tg=({schema:t,formData:e,onChange:n,name:s})=>{const{t:r}=z.useTranslation(),{type:o="pageType",href:i="",target:l="self"}=e??{},c=$("pageTypes",[]),{selectedLang:u,fallbackLang:p,languages:f}=Te(),m=g.useMemo(()=>d.isEmpty(f)?"":d.isEmpty(u)?p:u,[f,u,p]),h=g.useMemo(()=>d.get(Dt,m,m),[m]),x=o==="pageType"&&d.isEmpty(c)?"url":o;return a.jsxs("div",{children:[a.jsxs("span",{className:"flex items-center justify-between gap-x-2 text-xs font-medium",children:[a.jsxs("span",{children:[(t==null?void 0:t.title)??"Link",a.jsx("span",{className:"pl-1 text-[9px] text-zinc-400",children:h})]}),a.jsx(Jl,{schema:t,onChange:b=>{n({...e,href:b,...x==="pageType"?{type:"url"}:{}})},id:`root.${s}.href`,formData:e})]}),a.jsxs("div",{className:"flex flex-col gap-y-1.5",children:[a.jsx("select",{name:"type",value:o,onChange:b=>n({...e,type:b.target.value}),children:d.map([...d.isEmpty(c)?[]:[{const:"pageType",title:r("Goto Page")}],{const:"url",title:r("Open URL")},{const:"email",title:r("Compose Email")},{const:"telephone",title:r("Call Phone")},{const:"scroll",title:r("Scroll to element")}],b=>a.jsx("option",{value:b.const,children:b.title},b.const))}),x==="pageType"&&!d.isEmpty(c)?a.jsx(eg,{href:i,onChange:b=>n({...e,href:b})}):null,a.jsx("input",{id:`root.${s}.href`,autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",name:"href",type:"text",className:x==="pageType"?"!hidden":"",value:i,onChange:b=>n({...e,href:b.target.value}),placeholder:r(o==="url"?"Enter URL":o==="scroll"?"#ElementID":"Enter details")}),x==="url"&&a.jsxs("div",{className:"flex items-center gap-x-2 text-muted-foreground",children:[a.jsx("input",{id:`root.${s}.target`,autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",type:"checkbox",checked:l==="_blank",className:"!w-fit cursor-pointer rounded-md border border-border",onChange:()=>n({...e,target:l==="_blank"?"_self":"_blank"})}),a.jsx("span",{className:"pt-1 text-xs",children:r("Open in new tab")})]})]})]})},ng=({value:t,onChange:e})=>{var o;if(!t)return a.jsxs("div",{className:"mt-1 flex items-center gap-2 rounded-md border border-gray-200 bg-gray-50 px-2 py-1.5 text-xs text-gray-500 text-gray-600",children:[a.jsx(v.FileIcon,{className:"h-4 w-4"})," Choose a collection"]});const n=`{{${U.COLLECTION_PREFIX}`,s=t==null?void 0:t.startsWith(n);let r=t;return s&&(r=(o=t==null?void 0:t.replace(n,""))==null?void 0:o.replace("}}","")),a.jsx("div",{className:"mt-1 flex flex-col gap-1",children:a.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-blue-200 bg-blue-50 px-2 py-1 text-xs text-blue-600",children:[a.jsxs("span",{className:"flex max-w-[200px] items-center gap-2",children:[" ",s?a.jsx(v.IdCardIcon,{className:"h-3 min-h-3 w-3 min-w-3"}):null,a.jsxs(fe,{delayDuration:500,children:[a.jsx(he,{asChild:!0,children:a.jsx("span",{className:"cursor-default truncate",children:r})}),a.jsx(le,{side:"left",hidden:r.length<50,children:r})]})]}),a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(T.Button,{variant:"ghost",size:"icon",className:"h-5 w-5 rounded-full bg-gray-200 text-gray-900 hover:bg-gray-300",onClick:()=>e(""),children:a.jsx(v.Cross1Icon,{className:"h-4 w-4"})})}),a.jsx(le,{side:"left",children:"Remove binding"})]})]})})},Zl=N.atom(t=>{var i;const e=t(Ne),n=t(Cs),s=n.length===1?n[0]:null;if(!s)return null;const r=d.find(e,{_id:s});if(!r)return null;let o=r._parent;for(;o;){const l=d.find(e,{_id:o});if(!l)return null;if((i=K.getRegisteredChaiBlock(l._type))!=null&&i.wrapper)return l;o=l._parent}return null});Zl.debugLabel="wrapperBlockAtom";const Eo=()=>N.useAtomValue(Zl),sg=()=>{const t=X(),e=Eo(),{addCoreBlock:n}=xt();if(!t&&!e)return null;const s=(t==null?void 0:t._type)==="Row"?t:e;return a.jsx("div",{className:"pt-1",children:a.jsxs("button",{type:"button",className:"duratiom-300 flex items-center gap-x-1 rounded border border-gray-400 bg-gray-100 px-4 py-1 text-[11px] font-medium leading-tight hover:bg-slate-200",onClick:()=>n({type:"Column",styles:"#styles:,"},s==null?void 0:s._id),children:[a.jsx(v.PlusIcon,{className:"h-4 w-4"})," Add Column"]})})},rg=g.lazy(()=>Promise.resolve().then(()=>require("./rte-widget-modal-CiTwsXTr.cjs"))),og=({blockId:t,id:e,placeholder:n,value:s,onChange:r,onBlur:o})=>{const i=g.useRef(null),[l,c]=g.useState(!1),u=zl({blockId:t,value:s,placeholder:n,onBlur:({editor:m})=>{const h=m==null?void 0:m.getHTML();o(e,h)},onUpdate:({editor:m})=>{const h=m==null?void 0:m.getHTML();r(h)}});g.useEffect(()=>{i.current&&u&&(i.current.__chaiRTE=u)},[t,u]);const p=()=>{c(!1)},f=a.jsxs("div",{id:`chai-rte-${e}`,ref:i,className:"mt-1 rounded-md border border-input",children:[a.jsx(qi,{editor:u,onExpand:()=>c(!0)}),a.jsx(as.EditorContent,{editor:u,id:e,placeholder:n,className:`overflow-auto ${l?"max-h-[500px] min-h-[400px]":"max-h-[200px] min-h-[100px]"}`},e)]});return a.jsxs(a.Fragment,{children:[l&&a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:a.jsx(rg,{isOpen:l,onClose:p,editor:u,rteElement:f})}),l?a.jsx("div",{children:"Open in modal"}):a.jsx("div",{className:"relative",children:f})]})},ag=t=>{const{editingBlockId:e}=$t(),[n,s]=g.useState(null),r=X(),o=r==null?void 0:r._id;return g.useEffect(()=>{s(o)},[o]),n&&n!==e?a.jsx(og,{...t,blockId:n},n):null},ig=({formData:t,onChange:e})=>{const[n]=Z(),s=X(),r=Eo(),{addCoreBlock:o}=xt(),[,i]=q(),l=(s==null?void 0:s._type)==="Slider"?s:r,c=d.find(n,{_parent:l==null?void 0:l._id,_type:"Slides"}),u=d.filter(n,{_parent:c==null?void 0:c._id,_type:"Slide"}),p=(t==null?void 0:t.currentSlide)||d.get(u,"0._id");if(g.useEffect(()=>{(s==null?void 0:s._type)==="Slide"&&(t==null?void 0:t.currentSlide)!==(s==null?void 0:s._id)&&e({...t,currentSlide:s==null?void 0:s._id})},[s]),g.useEffect(()=>{u!=null&&u.length&&!d.find(u,{_id:t==null?void 0:t.currentSlide})&&e({...t,currentSlide:d.get(u,"0._id")})},[t,u]),!s&&!r||!c)return null;const f=()=>{const x=d.findIndex(u,{_id:p});if(x>-1){const b=(x+1)%u.length,y=d.get(u,[b,"_id"]);if(!y)return;e({...t,currentSlide:y}),i([y])}},m=()=>{const x=d.findIndex(u,{_id:p});if(x>-1){const b=(x-1+u.length)%u.length,y=d.get(u,[b,"_id"]);if(!y)return;e({...t,currentSlide:y}),i([y])}},h=()=>{const x=o({styles:"#styles:,h-full w-full min-w-full",type:"Slide"},c==null?void 0:c._id),b=x==null?void 0:x._id;b&&(e({...t,currentSlide:b}),i([b]))};return a.jsxs("div",{className:"space-y-1.5 px-2",children:[a.jsxs("div",{className:"flex items-center gap-x-2 pb-2 text-[12px]",children:[a.jsx("button",{onClick:m,className:"rounded bg-gray-200 p-1.5 hover:opacity-80",children:a.jsx(v.ChevronLeftIcon,{className:"h-3 w-3"})}),a.jsx("div",{className:"whitespace-nowrap text-center text-[10px] text-slate-500",children:p?a.jsxs("span",{className:"",children:[a.jsxs("b",{className:"text-[12px]",children:[" ",d.findIndex(u,{_id:p})+1]}),"/",u.length]}):"-"}),a.jsx("button",{onClick:f,className:"rounded bg-gray-200 p-1.5 hover:opacity-80",children:a.jsx(v.ChevronRightIcon,{className:"h-3 w-3"})}),a.jsxs("button",{onClick:h,className:"flex w-full items-center justify-center gap-x-1 rounded bg-gray-200 p-1.5 text-xs font-medium leading-tight hover:opacity-80",children:[a.jsx(v.PlusCircledIcon,{className:"h-3 w-3"}),"Add Slide"]})]}),a.jsxs("div",{className:"flex items-center gap-x-2 leading-tight",children:[a.jsx("input",{type:"checkbox",checked:!!(t!=null&&t.showSlideButton),onChange:()=>e({...t,showSlideButton:!(t!=null&&t.showSlideButton)}),className:"cursor-pointer"}),a.jsx("label",{htmlFor:"autoplay",className:"mt-0.5 text-[12px]",children:"Show Slide Buttons"})]}),a.jsxs("div",{className:"flex items-center gap-x-2 leading-tight",children:[a.jsx("input",{type:"checkbox",checked:!!(t!=null&&t.showSlideNavbar),onChange:()=>e({...t,showSlideNavbar:!(t!=null&&t.showSlideNavbar)}),className:"cursor-pointer"}),a.jsx("label",{htmlFor:"autoplay",className:"mt-0.5 text-[12px]",children:"Show Slide Navbar"})]}),a.jsx("div",{children:a.jsxs("div",{className:"flex flex-col",children:[a.jsxs("div",{className:"flex items-center gap-x-2 leading-tight",children:[a.jsx("input",{type:"checkbox",checked:!!(t!=null&&t.autoplay),onChange:()=>e({...t,autoplay:!(t!=null&&t.autoplay)}),className:"cursor-pointer"}),a.jsx("label",{htmlFor:"autoplay",className:"mt-0.5 text-[12px]",children:"Autoplay slides"})]}),(t==null?void 0:t.autoplay)&&a.jsxs("div",{className:"pt-0.5 leading-tight",children:[a.jsxs("label",{htmlFor:"interval",className:"whitespace-nowrap text-[9px]",children:["Autoplay Interval ",a.jsx("span",{className:"font-light opacity-80",children:"(in seconds)"})]}),a.jsx("input",{type:"number",id:"interval",name:"interval",placeholder:"0",value:t==null?void 0:t.autoplayInterval,className:"text-xs",pattern:"[0-9]*",onChange:x=>{let b=x.target.value;b.length&&(b=b.replace("-","")),e({...t,autoplayInterval:b})}})]})]})})]})},lg=({formData:t,onChange:e})=>{const n=d.get(t,"srcsets",[])||[],s=(i,l)=>{const c=i.target.name,u=i.target.value;e({srcsets:d.map(n,(p,f)=>f===l?{...p,[c]:u}:p)})},r=()=>{e({srcsets:[...n,{}]})},o=i=>{e({srcsets:d.reject(n,(l,c)=>parseInt(c)===i)})};return a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center justify-between pb-2",children:[a.jsx("label",{children:"Responsive Video (optional)"}),a.jsx("button",{type:"button",onClick:r,className:"flex items-center gap-x-1 rounded-md border border-blue-500 bg-blue-100 px-2 py-px text-xs text-blue-600 hover:opacity-80",children:a.jsx(v.PlusIcon,{className:"h-3 w-3"})})]}),a.jsx("div",{className:"space-y-2",children:n.length===0?a.jsx("div",{className:"rounded border border-dashed border-gray-200 p-2 text-xs italic text-gray-500",children:"Add additional sources to create responsive videos"}):d.map(n,(i,l)=>a.jsxs("div",{className:"group relative space-y-1.5 rounded border border-gray-200 px-2 pb-1.5",children:[a.jsx("button",{type:"button",onClick:()=>o(l),className:"absolute -right-px -top-0 -translate-y-1/2 rounded-full bg-red-100 p-1 opacity-0 hover:bg-red-200 group-hover:opacity-100",children:a.jsx(v.Cross1Icon,{className:"h-2.5 w-2.5 text-red-500"})}),a.jsxs("div",{className:"flex items-center gap-x-2 rounded border",children:[a.jsx("label",{className:"flex !h-6 h-full w-1/4 items-center justify-center bg-gray-200 px-2 !text-[10px] !font-medium",children:"Width"}),a.jsx("input",{name:"width",placeholder:"Enter width (in px)",type:"number",value:d.get(i,"width"),onChange:c=>s(c,l),className:"!placeholder:text-gray-100 !mt-0 !rounded-none !border-0 !p-0 !text-xs"})]}),a.jsxs("div",{className:"flex items-center gap-x-2 rounded border",children:[a.jsx("label",{className:"flex !h-6 h-full w-1/4 items-center justify-center bg-gray-200 px-2 !text-[10px] !font-medium",children:"URL"}),a.jsx("input",{name:"url",placeholder:"Enter url",className:"!mt-0 !rounded-none !border-0 !p-0 !text-xs !shadow-none",value:d.get(i,"url",""),onChange:c=>s(c,l)})]})]},l))})]})},cg=t=>a.jsx("button",{...t,className:"duration absolute right-2 top-2 cursor-pointer text-blue-400 hover:text-blue-500",children:a.jsxs("div",{className:"flex items-center gap-x-0.5 text-[11px] leading-tight",children:[a.jsx(v.PlusIcon,{className:"h-3 w-3"})," ",a.jsx("span",{children:"Add"})]})}),ja=g.memo(({blockId:t,schema:e,uiSchema:n,formData:s,onChange:r})=>{const{selectedLang:o}=Te(),i=T.useChaiBlockSettingComponents("widget"),l=T.useChaiBlockSettingComponents("field"),c=T.useChaiBlockSettingComponents("template"),u=xe.useThrottledCallback(async({formData:p},f)=>{d.get(p,f)===void 0&&d.set(p,f,""),r({formData:p},f)},[r,o],400);return a.jsx(hd,{widgets:{richtext:ag,icon:Gm,image:Ym,code:zm,colCount:sg,collectionSelect:Hm,repeaterBinding:ng,...i},fields:{link:tg,slider:ig,sources:lg,...l},templates:{FieldTemplate:Qm,ButtonTemplates:{AddButton:cg},...c},idSeparator:".",autoComplete:"off",omitExtraData:!1,liveOmit:!1,liveValidate:!1,validator:md,uiSchema:n,schema:e,formData:s,onChange:({formData:p},f)=>{if(!f||t!==(p==null?void 0:p._id))return;const m=d.take(f.split("."),2).join(".").replace("root.","");u({formData:p},m)}},o)}),dn=O.forwardRef(({className:t,thumbClassName:e,...n},s)=>a.jsx(hr.Root,{className:T.cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t),...n,ref:s,children:a.jsx(hr.Thumb,{className:T.cn("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform",e,"data-[state=checked]:translate-x-3 data-[state=unchecked]:translate-x-0")})}));dn.displayName=hr.Root.displayName;const dg=new se.k({tags:["{{","}}"],autoEscape:!0,autoTrim:!1,useWith:!0,parse:{interpolate:"",exec:"~",raw:"~"}}),ug=[/\b(?:window|document|globalThis|process|Function|eval|import|fetch|XMLHttpRequest|WebSocket|localStorage|sessionStorage)\b/,/(^|[^=!<>])=([^=]|$)/,/\b(?:while|for|try|catch|class|new)\b/],Ql=t=>d.isArray(t)?"array":t===null?"null":d.isObject(t)?"JSON":typeof t,lr=(t,e)=>{const n=e?d.get(t,e):t;return!d.isObject(n)||n===null||d.isArray(n)?[]:Object.entries(n).filter(([s])=>!s.startsWith("#")).map(([s,r])=>({path:e?`${e}.${s}`:s,type:Ql(r)}))},Zn=t=>{const e=t.trim();if(!e)return null;if(ug.some(s=>s.test(e)))return"Unsafe expression detected";try{return dg.compile(`{{${e}}}`),null}catch{return"Invalid expression syntax"}},pg=({currentExpression:t,externalData:e,onSave:n})=>{const s=g.useRef(null),r=g.useRef(null),[o,i]=g.useState(t),[l,c]=g.useState(null),[u,p]=g.useState(0),[f,m]=g.useState(null);g.useEffect(()=>{i(t),c(Zn(t)),m(null),p(0)},[t]);const h=g.useMemo(()=>Object.entries(e??{}).filter(([y])=>!y.startsWith("#")).map(([y,k])=>({key:y,type:Ql(k)})),[e]),x=(y,k)=>{const A=y.slice(0,k).match(/[A-Za-z_$][\w$.]*\.?$/);if(!A){m(null);return}const w=A[0];let j;if(w.endsWith(".")){const _=w.slice(0,-1);j=lr(e,_)}else{const _=w.lastIndexOf(".");if(_===-1)j=lr(e,"").filter(S=>S.path.toLowerCase().startsWith(w.toLowerCase()));else{const S=w.slice(0,_),E=w.slice(_+1).toLowerCase();j=lr(e,S).filter(I=>I.path.slice(I.path.lastIndexOf(".")+1).toLowerCase().startsWith(E))}}if(j=j.slice(0,8),!j.length){m(null),p(0);return}m({start:k-w.length,end:k,options:j}),p(0)},b=y=>{if(!f)return;const k=o.slice(0,f.start)+y+o.slice(f.end);i(k),c(Zn(k)),m(null),p(0),requestAnimationFrame(()=>{var A,w;const C=f.start+y.length;(A=s.current)==null||A.focus(),(w=s.current)==null||w.setSelectionRange(C,C)})};return g.useEffect(()=>{if(!f||!r.current)return;const y=r.current.children[u];y==null||y.scrollIntoView({block:"nearest"})},[u,f]),a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{children:[a.jsx("p",{className:"mb-1 text-[10px] font-medium text-muted-foreground",children:"Data"}),a.jsx("div",{className:"flex flex-wrap gap-1",children:h.map(y=>a.jsxs("span",{className:"inline-flex items-center rounded bg-muted px-1.5 py-0.5 text-[10px]",children:[a.jsx("span",{className:"font-medium",children:y.key}),a.jsxs("span",{className:"ml-0.5 text-muted-foreground",children:[": ",y.type]})]},y.key))})]}),a.jsxs("div",{className:"relative",children:[a.jsx(T.Input,{ref:s,id:"expression",value:o,className:`h-8 text-xs ${l?"border-red-500":""}`,onChange:y=>{const k=y.target.value,C=y.target.selectionStart??k.length;i(k),c(Zn(k)),x(k,C)},onKeyDown:y=>{if(f&&f.options.length){if(y.key==="ArrowDown"){y.preventDefault(),p(k=>k>=f.options.length-1?0:k+1);return}if(y.key==="ArrowUp"){y.preventDefault(),p(k=>k<=0?f.options.length-1:k-1);return}if(y.key==="Enter"||y.key==="Tab"){y.preventDefault();const k=f.options[u];k&&b(k.path);return}if(y.key==="Escape"){y.preventDefault(),m(null),p(0);return}}if(y.key==="Enter"){y.preventDefault();const k=Zn(o);c(k),k||n(o.trim())}},placeholder:"name === 'x'",autoComplete:"off"}),f&&a.jsx("div",{ref:r,className:"absolute z-20 mt-1 max-h-36 w-full overflow-auto rounded border bg-background p-1 shadow",children:f.options.map((y,k)=>a.jsxs("button",{type:"button",className:`block w-full rounded px-2 py-1 text-left text-[10px] hover:bg-muted ${k===u?"bg-muted":""}`,onMouseDown:C=>{C.preventDefault(),b(y.path)},children:[a.jsx("span",{className:"font-medium",children:y.path.slice(y.path.lastIndexOf(".")+1)}),a.jsxs("span",{className:"ml-1 text-muted-foreground",children:[": ",y.type]})]},y.path))})]}),l&&a.jsx("p",{className:"text-[10px] text-red-500",children:l})]})},fg=()=>{const{t}=z.useTranslation(),e=X(),n=Ot(),s=Ke(),[r,o]=g.useState(!1),i=m=>{if(e){if(!m||m.trim()===""){d.isString(e._show)&&s([e._id],{_show:!0});return}s([e._id],{_show:`{{${m.trim()}}}`})}},l=m=>{o(m)},c=()=>{if(!e)return;const m=d.has(e,"_show")?e._show:!0;s([e._id],{_show:!m})},u=()=>{e&&(s([e._id],{_show:!0}),o(!1))};if(!e)return null;const p=d.isString(e._show),f=p?e._show.startsWith("{{")&&e._show.endsWith("}}")?e._show.slice(2,-2).trim():e._show:"";return a.jsxs("div",{className:"my-2 flex items-center justify-between",children:[a.jsx("p",{className:"text-xs text-gray-500",children:t("Visibility")}),a.jsxs("div",{className:"group relative",children:[a.jsxs(Ms,{open:r,onOpenChange:l,children:[a.jsx(Os,{asChild:!0,children:a.jsx("div",{className:`absolute -left-2 -top-1.5 z-10 h-3.5 w-3.5 cursor-pointer rounded-full border border-white bg-blue-500 transition-all hover:scale-125 ${p?"opacity-100":"opacity-0 group-hover:opacity-100"}`})}),a.jsx(Dn,{side:"left",className:"w-64 p-3",children:a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("h4",{className:"text-xs font-medium leading-none",children:t("Conditional Visibility")}),a.jsx("p",{className:"text-[10px] text-muted-foreground",children:t("Enter a JavaScript expression")})]}),p&&a.jsx(T.Button,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 text-muted-foreground hover:text-red-500",onClick:u,children:a.jsx(v.TrashIcon,{className:"h-3.5 w-3.5"})})]}),a.jsx("div",{className:"relative",children:a.jsx(pg,{currentExpression:f,externalData:n,onSave:m=>{i(m),o(!1)}})})]})})]}),a.jsx(dn,{checked:p?!0:d.has(e,"_show")?e._show:!0,onCheckedChange:c,disabled:p})]})]})},Sa=(t,e,n)=>{const s=d.cloneDeep(t);return d.forEach(d.keys(t),r=>{d.includes(d.get(n,"i18nProps",[]),r)&&!d.isEmpty(e)&&(s[r]=d.get(t,`${r}-${e}`))}),s};function Cr(){const{selectedLang:t}=Te(),e=X(),n=Vr(),s=Ke(),r=K.getRegisteredChaiBlock(e==null?void 0:e._type),o=Sa(e,t,r),[i,l]=g.useState(o),[c,u]=g.useState(!1),p=Eo(),f=K.getRegisteredChaiBlock(p==null?void 0:p._type),m=Sa(p,t,f),h=({formData:j},_,S)=>{_&&(i==null?void 0:i._id)===e._id&&s([e._id],{[_]:d.get(j,_)},S)},x=g.useCallback(d.debounce(({formData:j},_,S)=>{h({formData:j},_,S),l(j)},1500),[e==null?void 0:e._id,t]),b=({formData:j},_)=>{_&&(n([e._id],{[_]:d.get(j,_)}),x({formData:j},_,{[_]:d.get(i,_)}))},y=({formData:j},_)=>{_&&(n([p._id],{[_]:d.get(j,_)}),x({formData:j},_,{[_]:d.get(i,_)}))},{schema:k,uiSchema:C}=g.useMemo(()=>{const j=e==null?void 0:e._type;if(!j)return{schema:{},uiSchema:{}};try{const{schema:_,uiSchema:S}=K.getBlockFormSchemas(j);if(j==="Repeater"){const E=d.get(e,"repeaterItems","");d.startsWith(E,`{{${U.COLLECTION_PREFIX}`)?(d.set(S,"filter",{"ui:widget":"collectionSelect"}),d.set(S,"sort",{"ui:widget":"collectionSelect"})):(d.set(S,"filter",{"ui:widget":"hidden"}),d.set(S,"sort",{"ui:widget":"hidden"}))}return{schema:_,uiSchema:S}}catch{return{schema:{},uiSchema:{}}}},[e]),{wrapperSchema:A,wrapperUiSchema:w}=g.useMemo(()=>{if(!p||!(p!=null&&p._type))return{wrapperSchema:{},wrapperUiSchema:{}};const j=p==null?void 0:p._type,{schema:_={},uiSchema:S={}}=K.getBlockFormSchemas(j);return{wrapperSchema:_,wrapperUiSchema:S}},[p]);return a.jsxs("div",{className:"no-scrollbar overflow-x-hidden px-px",children:[a.jsx(fg,{}),!d.isEmpty(p)&&a.jsxs("div",{className:"mb-4 rounded border bg-zinc-100 px-1",children:[a.jsxs("div",{onClick:()=>u(j=>!j),className:"flex cursor-pointer items-center gap-x-1 py-2 text-xs font-medium leading-tight hover:bg-slate-100",children:[c?a.jsx(v.ChevronDownIcon,{className:"h-4 w-4 text-slate-400"}):a.jsx(v.ChevronRightIcon,{className:"h-4 w-4 text-slate-400"}),d.startCase(p._type)," settings"," ",p._name&&a.jsxs("span",{className:"text-[11px] font-light text-slate-400",children:["(",p._name,")"]})]}),a.jsx("div",{className:c?"h-auto":"invisible h-0",children:a.jsx(ja,{blockId:p==null?void 0:p._id,onChange:y,formData:m,schema:A,uiSchema:w})})]}),d.isEmpty(k)?null:a.jsx(ja,{blockId:e==null?void 0:e._id,onChange:b,formData:o,schema:k,uiSchema:C})]})}const ec=Bt.Root,Ao=O.forwardRef(({className:t,...e},n)=>a.jsx(Bt.Item,{ref:n,className:T.cn("border-b",t),...e}));Ao.displayName="AccordionItem";const Io=O.forwardRef(({className:t,children:e,...n},s)=>a.jsx(Bt.Header,{className:"flex",children:a.jsxs(Bt.Trigger,{ref:s,className:T.cn("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",t),...n,children:[e,a.jsx(v.ChevronDownIcon,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));Io.displayName=Bt.Trigger.displayName;const _o=O.forwardRef(({className:t,children:e,...n},s)=>a.jsx(Bt.Content,{ref:s,className:"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:a.jsx("div",{className:T.cn("pb-4 pt-0",t),children:e})}));_o.displayName=Bt.Content.displayName;const hg=N.atom(null,(t,e,{blockIds:n,fullClasses:s})=>{const r=d.first(t(Bn)),o=d.filter(t(In),i=>n.includes(t(i)._id));return d.map(o,i=>{const l=t(i),c=s;let{classes:u,baseClasses:p}=se.getSplitChaiClasses(d.get(l,r.prop,`${U.STYLES_KEY},`));return d.each(c,f=>{const m=f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),h=new RegExp(`(^|\\s)${m}(?=\\s|$)`,"g");u=u.replace(h," ").replace(/\s+/g," ").trim();const x=d.first(f.split(":"));d.includes(["2xl","xl","lg","md","sm"],x)&&c.push(f.split(":").pop().trim())}),d.each(c,f=>{const m=f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),h=new RegExp(`(^|\\s)${m}(?=\\s|$)`,"g");p=p.replace(h," ").replace(/\s+/g," ").trim()}),{ids:[l._id],props:{[r.prop]:`${U.STYLES_KEY}${p},${u}`}}})}),mg=t=>{const e=Object.keys(t).filter(s=>typeof t[s]=="string"&&t[s].startsWith(U.STYLES_KEY)),n={};return e.forEach(s=>{n[s]=`${U.STYLES_KEY},`}),{ids:[t._id],props:n}},gg=()=>{const{updateBlocks:t,updateBlocksRuntime:e}=Ee();return g.useCallback((n,s=!1)=>{const{ids:r,props:o}=mg(n);s?t(r,o):e(r,o)},[t,e])},To=()=>{const{updateBlocks:t,updateBlocksRuntime:e}=Ee(),n=N.useSetAtom(hg);return g.useCallback((s,r,o=!1)=>{const i=n({blockIds:s,fullClasses:r});o?t(s,i[0].props):e(s,i[0].props)},[n])},tc=()=>{const t=X(),e=Ke(),n=g.useCallback(i=>K.getBlockDefaultProps(i)||{},[]),s=g.useCallback(i=>Object.keys(i).filter(l=>typeof i[l]=="string"&&i[l].startsWith("#styles:")),[]),r=g.useCallback(i=>{if(!t)return;const c=n(t._type)[i]??"#styles:,";e([t._id],{[i]:c})},[t,n,e]);return{resetAll:g.useCallback(()=>{if(!t)return;const i=s(t);if(i.length===0)return;const l=n(t._type),c=d.pick(l,i);e([t._id],c)},[t,s,n,e]),reset:r}},xg=()=>{var h;const t=X(),[e,n]=Ae(),s=To(),[r]=q(),{t:o}=z.useTranslation(),{reset:i}=tc();if(!t)return null;const l=Object.keys(t).filter(x=>typeof t[x]=="string"&&t[x].startsWith("#styles:")),c=!d.isEmpty(l)&&l.length>1,u=d.get(t,(h=e[0])==null?void 0:h.prop,""),{classes:p=""}=se.getSplitChaiClasses(u)||{},f=p?p.split(" ").filter(x=>!d.isEmpty(x)):[],m=x=>d.find(e,b=>b.prop===x);return a.jsx(a.Fragment,{children:c&&a.jsxs("div",{className:"flex flex-wrap gap-1",children:[a.jsxs("label",{htmlFor:"block-styling-props",className:"py-1 text-xs",children:[o("Style element"),":"]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:d.map(l,x=>a.jsxs(Ds,{className:"flex cursor-pointer items-center gap-1 pr-1",variant:m(x)?"default":"secondary",onClick:()=>{n([{id:`${x}-${t._id}`,blockId:t._id,prop:x}])},children:[d.startCase(x),a.jsxs(mt,{children:[a.jsx(gt,{asChild:!0,children:a.jsx("button",{type:"button",className:"ml-1 rounded-sm p-0.5 hover:bg-blue-300 hover:text-blue-600",onClick:b=>b.stopPropagation(),children:a.jsx(v.DotsVerticalIcon,{className:"h-3 w-3"})})}),a.jsxs(et,{side:"bottom",className:"border-border text-xs",children:[a.jsx(ge,{className:"text-xs",onClick:()=>{i(x)},children:o("Reset style")}),a.jsx(ge,{className:"text-xs",onClick:()=>{s(r,f,!0)},children:o("Clear styles")})]})]})]},x))}),a.jsx("div",{className:"my-2 h-[1px] w-full bg-border"})]})})},nc=g.createContext({setDragData:()=>{}}),Na=(t,e)=>{t=t.toLowerCase();let n=t.trim().replace(/ |\+/g,"");if((n==="auto"||n==="none")&&e.includes(n))return{value:"",unit:n};const s=e.length?new RegExp(e.join("|"),"g"):/XXXXXX/g;n=n.replace(s,"");const r=t.match(s),o=r&&r.length>1,i=!d.isEmpty(n)&&Number.isNaN(Number(n));return o||i?{error:"Invalid value"}:r&&(r[0]==="auto"||r[0]==="none")?{value:r[0],unit:""}:{value:n,unit:r?r[0]:""}},bg=t=>{const e=t.startsWith("-")?"-":"",n=t.split("-").pop();if(["auto","none"].includes(n))return{value:"",unit:n};if(n==="px")return{value:"1",unit:"px"};if(n==="screen")return{value:"100",unit:t.indexOf("w-")!==-1?"vw":"vh"};if(n==="full")return{value:"100",unit:"%"};if(d.includes(t,"skew-"))return{value:`${e}${n}`,unit:"deg"};if(d.includes(t,"rotate-"))return{value:`${e}${n}`,unit:"deg"};if(d.includes(t,"opacity-"))return{value:`${n/100}`,unit:"-"};if(d.includes(t,"duration-")||d.includes(t,"delay-"))return{value:`${n}`,unit:"ms"};if(d.includes(t,"translate-")&&!n.includes("/"))return{value:`${e}${`${n/4}`}`,unit:"rem"};if(d.includes(t,"scale-"))return{value:`${e}${`${n/100}`}`,unit:"-"};if(d.startsWith(t,"border")){const s=t.match(/border-?(x|y|t|r|b|l)?\d+/g);if(s)return{value:s[0].split("-").pop(),unit:"px"};if(t.match(/border-?(x|y|t|r|b|l)?/g))return{value:"1",unit:"px"}}if(d.startsWith(t,"max-w-")){if(t==="max-w-screen-sm")return{value:"640",unit:"px"};if(t==="max-w-screen-md")return{value:"768",unit:"px"};if(t==="max-w-screen-lg")return{value:"1024",unit:"px"};if(t==="max-w-screen-xl")return{value:"1280",unit:"px"};if(t==="max-w-screen-2xl")return{value:"1536",unit:"px"};if(n==="xs")return{value:"320",unit:"px"};if(n==="sm")return{value:"384",unit:"px"};if(n==="md")return{value:"448",unit:"px"};if(n==="lg")return{value:"512",unit:"px"};if(n==="xl")return{value:"576",unit:"px"};if(n==="2xl")return{value:"672",unit:"px"};if(n==="3xl")return{value:"768",unit:"px"};if(n==="4xl")return{value:"896",unit:"px"};if(n==="5xl")return{value:"1024",unit:"px"};if(n==="6xl")return{value:"1152",unit:"px"};if(n==="7xl")return{value:"1280",unit:"px"};if(n==="prose")return{value:"65",unit:"ch"}}if(d.startsWith(t,"text-")){if(n==="xs")return{value:"12",unit:"px"};if(n==="sm")return{value:"14",unit:"px"};if(n==="base")return{value:"16",unit:"px"};if(n==="lg")return{value:"18",unit:"px"};if(n==="xl")return{value:"20",unit:"px"};if(n==="2xl")return{value:"24",unit:"px"};if(n==="3xl")return{value:"30",unit:"px"};if(n==="4xl")return{value:"36",unit:"px"};if(n==="5xl")return{value:"48",unit:"px"};if(n==="6xl")return{value:"60",unit:"px"};if(n==="7xl")return{value:"72",unit:"px"};if(n==="8xl")return{value:"96",unit:"px"};if(n==="9xl")return{value:"128",unit:"px"}}if(d.startsWith(t,"leading-")){if(n==="none")return{value:"1",unit:"-"};if(n==="tight")return{value:"1.25",unit:"-"};if(n==="snug")return{value:"1.375",unit:"-"};if(n==="normal")return{value:"1.5",unit:"-"};if(n==="relaxed")return{value:"1.625",unit:"-"};if(n==="loose")return{value:"2",unit:"-"}}if(d.startsWith(t,"tracking-")){if(n==="tighter")return{value:"-0.05",unit:"em"};if(n==="tight")return{value:"-0.025",unit:"em"};if(n==="normal")return{value:"0",unit:"em"};if(n==="wide")return{value:"0.025",unit:"em"};if(n==="wider")return{value:"0.05",unit:"em"};if(n==="widest")return{value:"0.1",unit:"em"}}if(["max","min","fit"].includes(n))return{value:t,unit:"class"};if(n.includes("/")){const[s,r]=d.map(n.split("/"),o=>parseInt(o,10));return{value:e+(s/r*100).toFixed(2).replace(".00",""),unit:"%"}}return d.isNumber(parseFloat(n))?{value:`${e+parseFloat(n)*4}`,unit:"px"}:{value:n,unit:"class"}},sc=t=>{if(d.isEmpty(t))return{value:"",unit:""};const e=t.match(/\[.*\]/g);if(e===null)return yg(t);const n=d.get(e,"0","").replace(/\[|\]/g,""),s=t.startsWith("-")?"-":"",r=d.first(n.match(/\d+.\d+|\d+/g));return{value:`${s}${r}`,unit:n.replace(r,"")}},yg=t=>d.isEmpty(t)?{value:"",unit:""}:bg(t),kg=({unit:t,currentValue:e,onDrag:n,onDragEnd:s,onDragStart:r,negative:o,cssProperty:i})=>{const{setDragData:l}=g.useContext(nc);return a.jsx("button",{type:"button",onMouseDown:c=>{const u={onDrag:n,onDragEnd:s,dragging:!0,dragStartY:c.pageY,dragStartValue:`${e}`,dragUnit:t,negative:o,cssProperty:i};r(u),l(u)},color:void 0,className:"relative z-50 ml-1 hidden h-6 cursor-row-resize rounded bg-background/70 px-2 group-hover:inline",children:a.jsx(v.RowSpacingIcon,{})})},vg=({onSelect:t,current:e,units:n})=>a.jsx("div",{"data-theme":"light",className:"-m-[7px] -mx-[13px] flex w-9 flex-col",children:n.map(s=>a.jsx(T.Button,{className:"h-max rounded-none px-1 py-1 text-right text-[11px] hover:bg-blue-400",color:e===s?"primary":void 0,size:"sm",onClick:r=>{r.stopPropagation(),t(s)},children:s},s))}),Ea=50,wg=t=>{const[e,n]=g.useState(!1),[s,r]=g.useState(""),{currentClass:o,onChange:i,classPrefix:l,cssProperty:c,units:u,negative:p}=t,[f,m]=g.useState(c!=null&&c.toLowerCase().includes("width")?"%":u[0]),[h,x]=g.useState(!1),[b,y]=g.useState(""),[k,C]=g.useState(!1),[A,w]=g.useState(!1);g.useEffect(()=>{const{value:I,unit:B}=sc(o);if(B===""){r(I),m(c!=null&&c.toLowerCase().includes("width")?"%":d.first(u));return}m(B),r(B==="class"||d.isEmpty(I)?"":I)},[o,c,u]);const j=xe.useThrottledCallback(I=>i(I),[i],Ea),_=xe.useThrottledCallback(I=>i(I,!1),[i],Ea),S=g.useCallback((I=!1)=>{const B=Na(`${s}`,u);if(d.get(B,"error",!1)){x(!0);return}const P=d.get(B,"unit")!==""?d.get(B,"unit"):f;if(P==="auto"||P==="none"){j(`${l}${P}`);return}if(d.get(B,"value")==="")return;const M=`${d.get(B,"value","").startsWith("-")?"-":""}${l}[${d.get(B,"value","").replace("-","")}${P==="-"?"":P}]`;I?_(M):j(M)},[j,_,s,f,l,u]),E=g.useCallback(I=>{const B=Na(`${s}`,u);if(d.get(B,"error",!1)){x(!0);return}if(I==="auto"||I==="none"){j(`${l}${I}`);return}if(d.get(B,"value")==="")return;const P=d.get(B,"unit")!==""?d.get(B,"unit"):I,M=`${d.get(B,"value","").startsWith("-")?"-":""}${l}[${d.get(B,"value","").replace("-","")}${P==="-"?"":P}]`;j(M)},[j,s,l,u]);return a.jsx("div",{className:"flex w-full flex-col",children:a.jsx("div",{className:"flex items-center justify-start",children:f==="class"?a.jsxs(a.Fragment,{children:[a.jsx("input",{className:"h-6 w-24 rounded border border-foreground/20 bg-background px-2 py-0.5 text-sm focus-visible:outline-0",readOnly:!0,value:o}),a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx("button",{type:"button",className:"invisible ml-3 mt-1 text-blue-600 group-hover:visible",children:a.jsx(v.InfoCircledIcon,{})})}),a.jsx(le,{children:"Current value is using a Tailwind preset class."})]})]}):a.jsxs("div",{className:`group relative flex items-center ${k?"z-auto":""}`,children:[a.jsxs("div",{className:"flex items-center rounded-md border border-border",children:[["none","auto"].indexOf(f)!==-1?null:a.jsx("input",{readOnly:f==="class",onKeyPress:I=>{I.key==="Enter"&&S()},onKeyDown:I=>{if(I.keyCode!==38&&I.keyCode!==40)return;I.preventDefault(),w(!0);const B=d.parseInt(I.target.value);let P=d.isNaN(B)?0:B;I.keyCode===38&&(P+=1),I.keyCode===40&&(P-=1);const R=`${P}`,H=`${R.startsWith("-")?"-":""}${l}[${R.replace("-","")}${f==="-"?"":f}]`;_(H)},onKeyUp:I=>{A&&(I.preventDefault(),w(!1))},onBlur:()=>S(),onChange:I=>{x(!1),r(I.target.value)},onClick:I=>{var B;(B=I==null?void 0:I.target)==null||B.select(),n(!1)},value:k?b:s,className:"h-6 w-14 rounded rounded-r-none border border-transparent bg-background pl-2 text-sm focus-visible:outline-0".concat(" ",h?"border-red-500 text-red-500":"border-foreground/20")}),a.jsxs(fe,{open:e,delayDuration:100,children:[a.jsx(he,{asChild:!0,children:a.jsxs("button",{type:"button",onClick:()=>n(!e),className:"flex h-6 cursor-pointer items-center gap-x-1 rounded rounded-l-none bg-background p-px px-1 text-[11px] uppercase",children:[a.jsx("span",{className:`inline-block ${u.length===1?"px-2 font-semibold":""}`,children:f}),u.length>1?a.jsx(v.TriangleDownIcon,{}):null]})}),a.jsx(le,{className:"bg-background",children:a.jsx(vg,{units:u,current:f,onSelect:I=>{n(!1),m(I),E(I)}})})]})]}),["none","auto"].indexOf(f)!==-1||k?null:a.jsx(kg,{onDragStart:()=>C(!0),onDragEnd:I=>{if(y(()=>""),C(!1),d.isEmpty(I))return;const B=`${I}`,R=`${B.startsWith("-")?"-":""}${l}[${B.replace("-","")}${f==="-"?"":f}]`;j(R)},onDrag:I=>{if(d.isEmpty(I))return;y(I);const B=`${I}`,R=`${B.startsWith("-")?"-":""}${l}[${B.replace("-","")}${f==="-"?"":f}]`;_(R)},currentValue:s,unit:f,negative:p,cssProperty:c})]})})})},Mn=g.createContext({canReset:!1,canChange:!0}),Cg=({children:t,canReset:e=!1,canChange:n=!0})=>a.jsx(Mn.Provider,{value:{canReset:e,canChange:n},children:t}),cr=[0,1,2,3,4,5,6,7,8,9,10,11,12,14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96],L={columns:[...d.range(1,13),"auto","3xs","2xs","xs","sm","md","lg","xl",...d.map(d.range(2,8),t=>`${t}xl`)],breakAfter:["auto","avoid","all","avoid-page","page","left","right","column"],breakInside:["auto","avoid","avoid-page","avoid-column"],display:["block","flex","grid","inline-block","inline","hidden"],objectFit:["contain","cover","fill","none","scale-down"],objectPosition:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],overflow:["auto","hidden","clip","visible","scroll"],overscroll:["auto","contain","none"],trbl:[0,"px","0.5",1,1.5,2,2.5,3,3.5,...d.range(4,13),14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96,"auto","1/2","1/3","2/3","1/4","2/4","3/4","full"],flexBasis:[...cr,"auto","px","0.5","1.5","2.5","3.5","1/2","1/3","2/3","1/4","2/4","3/4","1/5","2/5","3/5","4/5","1/6","2/6","3/6","4/6","5/6","1/12","2/12","3/12","4/12","5/12","6/12","7/12","8/12","9/12","10/12","11/12","full"],padding:[...cr,"px","0.5","1.5","2.5","3.5"],margin:["auto",...cr,"px","0.5","1.5","2.5","3.5"],scale:[0,50,75,90,95,100,105,110,125,150],origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left"],blendEffect:["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],borderWidth:[0,2,4,8],borderRadius:["global","none","sm","md","lg","xl","2xl","3xl","full"],indent:[0,"px","0.5",1,1.5,2,2.5,3,3.5,...d.range(4,13),14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96],maxHeight:[0,"px","0.5",1,1.5,2,2.5,3,3.5,...d.range(4,13),14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96,"full","screen","min","max","fit"],space:[0,"px","0.5",1,1.5,2,2.5,3,3.5,...d.range(4,13),14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96,"px","reverse"],width:["0","px","0.5","1","1.5","2","2.5","3","3.5","4","5","6","7","8","9","10","11","12","14","16","20","24","28","32","36","40","44","48","52","56","60","64","72","80","96","auto","1/2","1/3","2/3","1/4","2/4","3/4","1/5","2/5","3/5","4/5","1/6","2/6","3/6","4/6","5/6","1/12","2/12","3/12","4/12","5/12","6/12","7/12","8/12","9/12","10/12","11/12"],maxWidth:["0","none","xs","sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","full","min","max","fit","prose","screen-sm","screen-md","screen-lg","screen-xl","screen-2xl"],height:["0","px","0.5","1","1.5","2","2.5","3","3.5","4","5","6","7","8","9","10","11","12","14","16","20","24","28","32","36","40","44","48","52","56","60","64","72","80","96","auto","1/2","1/3","2/3","1/4","2/4","3/4","1/5","2/5","3/5","4/5","1/6","2/6","3/6","4/6","5/6","full","screen","min","max","fit"]},Xt={textColor:{classes:[],regExp:"text-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},aspectRatio:{classes:["aspect-auto","aspect-square","aspect-video"],regExp:"aspect-(auto|square|video)"},container:{classes:["container"],regExp:"container"},columns:{classes:d.map(L.columns,t=>`columns-${t}`),regExp:"columns-(auto|[0-9]xl|[0-9]xs|xs|sm|md|lg|xl|\\d+)"},breakAfter:{classes:d.map(L.breakAfter,t=>`break-after-${t}`),regExp:"break-after-\\S+"},breakBefore:{classes:d.map(L.breakAfter,t=>`break-before-${t}`),regExp:"break-before-\\S+"},breakInside:{classes:d.map(L.breakInside,t=>`break-inside-${t}`),regExp:"break-inside-\\S+"},boxDecoration:{classes:["box-decoration-clone","box-decoration-slice"],regExp:"box-decoration-\\S+"},boxSizing:{classes:["box-border","box-content"],regExp:"box-(border|content)"},flexDirection:{classes:["flex-row","flex-row-reverse","flex-col","flex-col-reverse"],regExp:"flex-(row|row-reverse|col|col-reverse)"},flexWrap:{classes:["flex-wrap","flex-wrap-reverse","flex-nowrap"],regExp:"flex-(wrap|wrap-reverse|nowrap)"},flexGrowShrink:{classes:["flex-1","flex-auto","flex-initial","flex-none"],regExp:"flex-1|flex-auto|flex-initial|flex-none"},gridColumns:{classes:d.map([...d.range(0,13),"none"],t=>`grid-cols-${t}`),regExp:"grid-cols-(\\d+|none)"},gridFlow:{classes:["grid-flow-row","grid-flow-col","grid-flow-row-dense","grid-flow-col-dense"],regExp:"grid-flow-(row|col|row-dense|col-dense)"},outlineStyle:{classes:d.map(["none","dashed","dotted","double","hidden"],t=>`outline-${t}`),regExp:"outline-(none|dashed|dotted|double|hidden)"},borderStyle:{classes:d.map(["solid","dashed","dotted","double","hidden","none"],t=>`border-${t}`),regExp:"border-(solid|dashed|dotted|double|hidden|none)"},overflow:{classes:d.map(L.overflow,t=>`overflow-${t}`),regExp:`overflow-(${L.overflow.join("|")})`},overflowX:{classes:d.map(L.overflow,t=>`overflow-x-${t}`),regExp:`overflow-x-(${L.overflow.join("|")})`},overflowY:{classes:d.map(L.overflow,t=>`overflow-y-${t}`),regExp:`overflow-y-(${L.overflow.join("|")})`},gridRows:{classes:d.map([1,2,3,4,5,6,"none"],t=>`grid-rows-${t}`),regExp:"grid-rows-(\\d|none)"},display:{classes:d.map(L.display,t=>t.toString()),regExp:`(${L.display.join("|")})`},float:{classes:["float-right","float-left","float-none"],regExp:"float-\\S+"},clear:{classes:["clear-right","clear-left","clear-none","clear-both"],regExp:"clear-\\S+"},isolation:{classes:["isolate","isolation-auto"],regExp:"isolate|isolation-auto"},objectFit:{classes:d.map(L.objectFit,t=>`object-${t}`),regExp:"object-(contain|cover|fill|none|scale-down)"},objectPosition:{classes:d.map(L.objectPosition,t=>`object-${t}`),regExp:`object-(${L.objectPosition.join("|")})`},overscroll:{classes:d.map(L.overscroll,t=>`overscroll-${t}`),regExp:`overscroll-(${L.overscroll.join("|")})`},overscrollX:{classes:d.map(L.overscroll,t=>`overscroll-x-${t}`),regExp:`overscroll-x-(${L.overscroll.join("|")})`},overscrollY:{classes:d.map(L.overscroll,t=>`overscroll-y-${t}`),regExp:`overscroll-y-(${L.overscroll.join("|")})`},inset:{classes:d.map(L.trbl,t=>`inset-${t}`),regExp:"-?inset-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},insetX:{classes:d.map(L.trbl,t=>`inset-x-${t}`),regExp:"-?inset-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},insetY:{classes:d.map(L.trbl,t=>`inset-y-${t}`),regExp:"-?inset-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},top:{classes:d.map(L.trbl,t=>`top-${t}`),regExp:"-?top-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},topX:{classes:d.map(L.trbl,t=>`top-x-${t}`),regExp:"-?top-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},topY:{classes:d.map(L.trbl,t=>`top-y-${t}`),regExp:"-?top-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},right:{classes:d.map(L.trbl,t=>`right-${t}`),regExp:"-?right-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},rightX:{classes:d.map(L.trbl,t=>`right-x-${t}`),regExp:"-?right-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},rightY:{classes:d.map(L.trbl,t=>`right-y-${t}`),regExp:"-?right-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},bottom:{classes:d.map(L.trbl,t=>`bottom-${t}`),regExp:"-?bottom-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},bottomX:{classes:d.map(L.trbl,t=>`bottom-x-${t}`),regExp:"-?bottom-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},bottomY:{classes:d.map(L.trbl,t=>`bottom-y-${t}`),regExp:"-?bottom-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},left:{classes:d.map(L.trbl,t=>`left-${t}`),regExp:"-?left-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},leftX:{classes:d.map(L.trbl,t=>`left-x-${t}`),regExp:"-?left-x-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},leftY:{classes:d.map(L.trbl,t=>`left-y-${t}`),regExp:"-?left-y-(px|\\d\\/\\d|\\d\\.\\d|\\d+|full|auto|\\[.*\\])"},visibility:{classes:["visible","invisible"],regExp:"invisible|visible"},zIndex:{classes:d.map(["0",10,20,30,40,50,"auto"],t=>`z-${t}`),regExp:"-?z-(\\d+|auto|\\[.*\\])"},flexBasis:{classes:d.map(L.flexBasis,t=>`basis-${t}`),regExp:"basis-(\\d+|\\S+)"},flexGrow:{classes:["grow","grow-0"],regExp:"grow(-0)?"},flexShrink:{classes:["shrink","shrink-0"],regExp:"shrink(-0)?"},gridColSpan:{classes:["col-auto",...d.map(d.range(1,13),t=>`col-span-${t}`),"col-span-full"],regExp:"col-(auto|span-(\\d+|full))"},gridColStart:{classes:[...d.map(d.range(1,14),t=>`col-start-${t}`),"col-start-auto"],regExp:"col-start-(\\d+|auto)"},gridColEnd:{classes:[...d.map(d.range(1,14),t=>`col-end-${t}`),"col-end-auto"],regExp:"col-end-(\\d+|auto)"},gridRowSpan:{classes:["row-auto",...d.map(d.range(1,7),t=>`row-span-${t}`),"row-span-full"],regExp:"row-(auto|span-(\\d+|full))"},gridRowStart:{classes:[...d.map(d.range(1,8),t=>`row-start-${t}`),"row-start-auto"],regExp:"row-start-(\\d+|auto)"},gridRowEnd:{classes:[...d.map(d.range(1,8),t=>`row-end-${t}`),"row-end-auto"],regExp:"row-end-(\\d+|auto)"},gridAutoColumns:{classes:["auto-cols-auto","auto-cols-min","auto-cols-max","auto-cols-fr"],regExp:"auto-cols-(auto|min|max|fr)"},gridAutoRows:{classes:["auto-rows-auto","auto-rows-min","auto-rows-max","auto-rows-fr"],regExp:"auto-rows-(auto|min|max|fr)"},gap:{classes:d.map(L.indent,t=>`gap-${t}`),regExp:"gap-(px|\\d.\\d|\\d|\\[.*\\])"},gapX:{classes:d.map(L.indent,t=>`gap-x-${t}`),regExp:"gap-x-(px|\\d.\\d|\\d|\\[.*\\])"},gapY:{classes:d.map(L.indent,t=>`gap-y-${t}`),regExp:"gap-y-(px|\\d.\\d|\\d|\\[.*\\])"},justifyContent:{classes:["justify-start","justify-end","justify-center","justify-between","justify-around","justify-evenly"],regExp:"justify-(start|end|center|between|around|evenly)"},justifyItems:{classes:["justify-items-start","justify-items-end","justify-items-center","justify-items-stretch"],regExp:"justify-items-(start|end|center|stretch)"},justifySelf:{classes:["justify-self-auto","justify-self-start","justify-self-end","justify-self-center","justify-self-stretch"],regExp:"justify-self-(auto|start|end|center|stretch)"},placeContent:{classes:["place-content-center","place-content-start","place-content-end","place-content-between","place-content-around","place-content-evenly","place-content-stretch"],regExp:"place-content-(center|start|end|between|around|evenly|stretch)"},placeItems:{classes:["place-items-start","place-items-end","place-items-center","place-items-stretch"],regExp:"place-items-(start|end|center|stretch)"},placeSelf:{classes:["place-self-auto","place-self-start","place-self-end","place-self-center","place-self-stretch"],regExp:"place-self-(auto|start|end|center|stretch)"},alignContent:{classes:["content-center","content-start","content-end","content-between","content-around","content-evenly"],regExp:"content-(center|start|end|between|around|evenly)"},alignItems:{classes:["items-start","items-end","items-center","items-baseline","items-stretch"],regExp:"items-(start|end|center|baseline|stretch)"},alignSelf:{classes:["self-auto","self-start","self-end","self-center","self-stretch","self-baseline"],regExp:"self-(auto|start|end|center|stretch|baseline)"},backgroundClip:{classes:["bg-clip-border","bg-clip-padding","bg-clip-content","bg-clip-text"],regExp:"bg-clip-(border|padding|content|text)"},dropShadow:{classes:d.map(["sm","md","lg","xl","2xl","none"],t=>`drop-shadow-${t}`),regExp:"drop-shadow-(sm|md|lg|xl|2xl|none)"},backdropBlur:{classes:d.map(["none","sm","md","lg","xl","2xl","3xl"],t=>`backdrop-blur-${t}`),regExp:"backdrop-blur-(none|sm|md|lg|xl|2xl|3xl)"},backdropBrightness:{classes:d.map([0,50,75,90,95,100,105,110,125,150,200],t=>`backdrop-brightness-${t}`),regExp:"backdrop-brightness-(\\d+)"},backdropContrast:{classes:d.map([0,50,75,100,125,150,200],t=>`backdrop-contrast-${t}`),regExp:"backdrop-contrast-(\\d+)"},backdropGrayScale:{classes:["backdrop-grayscale-0","backdrop-grayscale"],regExp:"backdrop-grayscale(-0)?"},backdropHueRotate:{classes:d.map([0,15,30,60,90,180],t=>`backdrop-hue-rotate-${t}`),regExp:"-?backdrop-hue-rotate-(\\d+)"},backdropInvert:{classes:["backdrop-invert-0","backdrop-invert"],regExp:"backdrop-invert(-0)?"},backdropOpacity:{classes:d.map([0,5,10,20,25,30,40,50,60,70,75,80,90,95,100],t=>`backdrop-opacity-${t}`),regExp:"backdrop-opacity-(\\d+)"},backdropSaturate:{classes:d.map([0,50,100,150,200],t=>`backdrop-saturate-${t}`),regExp:"backdrop-saturate-(\\d+)"},backdropSepia:{classes:["backdrop-sepia-0, backdrop-sepia"],regExp:"backdrop-sepia(-0)?"},backgroundOrigin:{classes:["bg-origin-border","bg-origin-padding","bg-origin-content"],regExp:"bg-origin-(border|padding|content)"},transformOrigin:{classes:d.map(L.origin,t=>`origin-${t}`),regExp:"origin-(\\d+|\\S+)"},padding:{classes:d.map(L.padding,t=>`p-${t}`),regExp:"p-(\\d+|\\S+|\\[.*\\])"},paddingX:{classes:d.map(L.padding,t=>`px-${t}`),regExp:"px-(\\d+|\\S+|\\[.*\\])"},paddingY:{classes:d.map(L.padding,t=>`py-${t}`),regExp:"py-(\\d+|\\S+|\\[.*\\])"},paddingTop:{classes:d.map(L.padding,t=>`pt-${t}`),regExp:"pt-(\\d+|\\S+|\\[.*\\])"},paddingRight:{classes:d.map(L.padding,t=>`pr-${t}`),regExp:"pr-(\\d+|\\S+|\\[.*\\])"},paddingBottom:{classes:d.map(L.padding,t=>`pb-${t}`),regExp:"pb-(\\d+|\\S+|\\[.*\\])"},paddingLeft:{classes:d.map(L.padding,t=>`pl-${t}`),regExp:"pl-(\\d+|\\S+|\\[.*\\])"},textDecorationStyle:{classes:["decoration-solid","decoration-double","decoration-dotted","decoration-dashed","decoration-wavy"],regExp:"decoration-(solid|double|dotted|dashed|wavy)"},textDecorationThickness:{classes:d.map(["auto","from-font","0",1,2,4,8],t=>`decoration-${t}`),regExp:"decoration-(auto|from-font|\\d+|\\S+)"},fromColor:{classes:[],regExp:"from-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},margin:{classes:d.map(L.margin,t=>`m-${t}`),regExp:"-?m-(\\d+|\\S+|\\[.*\\])"},marginX:{classes:d.map(L.margin,t=>`mx-${t}`),regExp:"-?mx-(\\d+|\\S+|\\[.*\\])"},marginY:{classes:d.map(L.margin,t=>`my-${t}`),regExp:"-?my-(\\d+|\\S+|\\[.*\\])"},marginTop:{classes:d.map(L.margin,t=>`mt-${t}`),regExp:"-?mt-(\\d+|\\S+|\\[.*\\])"},marginRight:{classes:d.map(L.margin,t=>`mr-${t}`),regExp:"-?mr-(\\d+|\\S+|\\[.*\\])"},marginBottom:{classes:d.map(L.margin,t=>`mb-${t}`),regExp:"-?mb-(\\d+|\\S+|\\[.*\\])"},marginLeft:{classes:d.map(L.margin,t=>`ml-${t}`),regExp:"-?ml-(\\d+|\\S+|\\[.*\\])"},spaceX:{classes:d.map(L.space,t=>`space-x-${t}`),regExp:"-?space-x-(\\d+|\\S+|\\[.*\\])"},spaceY:{classes:d.map(L.space,t=>`space-y-${t}`),regExp:"-?space-y-(\\d+|\\S+|\\[.*\\])"},boxShadow:{classes:d.map(["sm","md","lg","xl","2xl","inner","none"],t=>`shadow-${t}`),regExp:"shadow-(sm|md|lg|xl|2xl|inner|none)"},minWidth:{classes:["min-w-0","min-w-full","min-w-min","min-w-max","min-w-fit"],regExp:"min-w-(\\d+|\\S+|\\[.*\\])"},maxWidth:{classes:d.map(L.maxWidth,t=>`max-w-${t}`),regExp:"max-w-(\\d+|\\S+|\\[.*\\])"},width:{classes:d.map([...L.width,"full","screen","min","max","fit"],t=>`w-${t}`),regExp:"w-(\\d+.\\d+|\\d+|px|auto|full|screen|min|max|fit|\\[.*\\])$"},minHeight:{classes:["min-h-0","min-h-full","min-h-screen","min-h-min","min-h-max","min-h-fit"],regExp:"min-h-(\\d+|\\S+|\\[.*\\])"},maxHeight:{classes:d.map(L.maxHeight,t=>`max-h-${t}`),regExp:"max-h-(\\d+|\\S+|\\[.*\\])"},height:{classes:d.map(L.height,t=>`h-${t}`),regExp:"h-(\\d+.\\d+|\\d+|px|auto|full|screen|min|max|fit|\\[.*\\])"},fontFamily:{classes:["font-heading","font-body","font-sans","font-serif","font-mono"],regExp:"font-(heading|body|sans|serif|mono)"},textAlign:{classes:["text-left","text-center","text-right","text-justify"],regExp:"text-(left|center|right|justify)"},textOverflow:{classes:["truncate","text-ellipsis","text-clip"],regExp:"truncate|text-ellipsis|text-clip"},verticalAlign:{classes:["align-baseline","align-top","align-middle","align-bottom","align-text-top","align-text-bottom","align-sub","align-super"],regExp:"align-(baseline|top|middle|bottom|text-top|text-bottom|sub|super)"},fontSize:{classes:["text-xs","text-sm","text-base","text-lg","text-xl","text-2xl","text-3xl","text-4xl","text-5xl","text-6xl","text-7xl","text-8xl","text-9xl"],regExp:"text-(\\d+|\\S+|\\[.*\\])"},fontSmoothing:{classes:["antialiased","subpixel-antialiased"],regExp:"antialiased|subpixel-antialiased"},fontStyle:{classes:["italic","not-italic"],regExp:"not-italic|italic"},fontWeight:{classes:["font-thin","font-extralight","font-light","font-normal","font-medium","font-semibold","font-bold","font-extrabold","font-black"],regExp:"font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black)"},fontVariantNum:{classes:["normal-nums","ordinal","diagonal-fractions","stacked-fractions","tabular-nums","oldstyle-nums","proportional-nums","lining-nums","slashed-zero"],regExp:"normal-nums|ordinal|diagonal-fractions|stacked-fractions|tabular-nums|oldstyle-nums|proportional-nums|lining-nums|slashed-zero"},letterSpacing:{classes:["tracking-tighter","tracking-tight","tracking-normal","tracking-wide","tracking-wider","tracking-widest"],regExp:"-?tracking-(tighter|tight|normal|wide|wider|widest|\\[.*\\])"},lineHeight:{classes:["leading-none","leading-tight","leading-snug","leading-normal","leading-relaxed","leading-loose","leading-3","leading-4","leading-5","leading-6","leading-7","leading-8","leading-9","leading-10"],regExp:"leading-(none|tight|snug|normal|relaxed|loose|\\[.*\\]|\\d+)"},listStyleType:{classes:["list-none","list-disc","list-decimal"],regExp:"list-(none|disc|decimal)"},listStylePosition:{classes:["list-inside","list-outside"],regExp:"list-(inside|outside)"},textUnderlineOffset:{classes:["underline-offset-auto","underline-offset-0","underline-offset-1","underline-offset-2","underline-offset-4","underline-offset-8"],regExp:"underline-offset-(auto|\\d+|\\S+)"},textDecoration:{classes:["underline","overline","line-through","no-underline"],regExp:"underline|overline|line-through|no-underline"},textDecorationColor:{classes:[],regExp:"decoration-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},textTransform:{classes:["uppercase","lowercase","capitalize","normal-case"],regExp:"uppercase|lowercase|capitalize|normal-case"},textIndent:{classes:d.map(L.indent,t=>`indent-${t}`),regExp:"-?indent-(\\d+|\\S+)"},whitespace:{classes:["whitespace-normal","whitespace-nowrap","whitespace-pre","whitespace-pre-line","whitespace-pre-wrap"],regExp:"whitespace-(normal|nowrap|pre|pre-line|pre-wrap)"},wordBreak:{classes:["break-normal","break-words","break-all"],regExp:"break-(normal|words|all)"},content:{classes:["content-none"],regExp:"content-none"},backgroundAttachment:{classes:d.map(["fixed","local","scroll"],t=>`bg-${t}`),regExp:"bg-(fixed|local|scroll)"},backgroundColor:{classes:[],regExp:"bg-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},backgroundPosition:{classes:["bg-bottom","bg-center","bg-left","bg-left-bottom","bg-left-top","bg-right","bg-right-bottom","bg-right-top","bg-top"],regExp:"bg-(bottom|center|left|left-bottom|left-top|right|right-bottom|right-top|top)"},backgroundRepeat:{classes:["bg-repeat","bg-repeat-x","bg-repeat-y","bg-no-repeat","bg-repeat-round","bg-repeat-space"],regExp:"bg-(repeat|repeat-x|repeat-y|no-repeat|repeat-round|repeat-space)"},backgroundSize:{classes:["bg-auto","bg-cover","bg-contain"],regExp:"bg-(auto|cover|contain)"},backgroundGradient:{classes:["bg-gradient-none","bg-gradient-to-t","bg-gradient-to-tr","bg-gradient-to-r","bg-gradient-to-br","bg-gradient-to-b","bg-gradient-to-bl","bg-gradient-to-l","bg-gradient-to-tl"],regExp:"bg-gradient-(none|to-(t|tr|r|br|b|bl|l|tl))"},viaColor:{classes:[],regExp:"via-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},toColor:{classes:[],regExp:"to-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},position:{classes:["static","fixed","absolute","relative","sticky"],regExp:"(static|fixed|absolute|relative|sticky)"},borderRadiusTopLeft:{classes:["rounded-tl",...d.map(L.borderRadius,t=>`rounded-tl-${t}`)],regExp:"rounded-tl-?(\\d+|\\S+)?"},borderRadiusTopRight:{classes:["rounded-tr",...d.map(L.borderRadius,t=>`rounded-tr-${t}`)],regExp:"rounded-tr-?(\\d+|\\S+)?"},borderRadiusBottomRight:{classes:["rounded-br",...d.map(L.borderRadius,t=>`rounded-br-${t}`)],regExp:"rounded-br-?(\\d+|\\S+)?"},borderRadiusBottomLeft:{classes:["rounded-bl",...d.map(L.borderRadius,t=>`rounded-bl-${t}`)],regExp:"rounded-bl-?(\\d+|\\S+)?"},borderRadiusTop:{classes:["rounded-t",...d.map(L.borderRadius,t=>`rounded-t-${t}`)],regExp:"rounded-t-?(\\d+|\\S+)?"},borderRadiusRight:{classes:["rounded-r",...d.map(L.borderRadius,t=>`rounded-r-${t}`)],regExp:"rounded-r-?(\\d+|\\S+)?"},borderRadiusBottom:{classes:["rounded-b",...d.map(L.borderRadius,t=>`rounded-b-${t}`)],regExp:"rounded-b-?(\\d+|\\S+)?"},borderRadiusLeft:{classes:["rounded-l",...d.map(L.borderRadius,t=>`rounded-l-${t}`)],regExp:`(rounded-l-(${L.borderRadius.join("|")})|rounded-l$)`},borderRadius:{classes:["rounded",...d.map(L.borderRadius,t=>`rounded-${t}`)],regExp:`(rounded-(${L.borderRadius.join("|")}$)|rounded)`},borderX:{classes:["border-x",...d.map(L.borderWidth,t=>`border-x-${t}`)],regExp:"border-x-?(\\d+|\\S+|\\[.*\\])?"},borderY:{classes:["border-y",...d.map(L.borderWidth,t=>`border-y-${t}`)],regExp:"border-y-?(\\d+|\\S+|\\[.*\\])?"},borderTop:{classes:["border-t",...d.map(L.borderWidth,t=>`border-t-${t}`)],regExp:"border-t-?(\\d+|\\S+|\\[.*\\])?"},borderRight:{classes:["border-r",...d.map(L.borderWidth,t=>`border-r-${t}`)],regExp:"border-r-?(\\d+|\\S+|\\[.*\\])?"},borderBottom:{classes:["border-b",...d.map(L.borderWidth,t=>`border-b-${t}`)],regExp:"border-b-?(\\d+|\\S+|\\[.*\\])?"},borderLeft:{classes:["border-l",...d.map(L.borderWidth,t=>`border-l-${t}`)],regExp:"border-l-?(\\d+|\\S+|\\[.*\\])?"},borderColor:{classes:[],regExp:"^border-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\w+-\\d+|\\[#[0-9a-fA-F]+\\])$"},border:{classes:["border",...d.map(L.borderWidth,t=>`border-${t}`)],regExp:"^border(-\\d+|\\[\\d+px\\])?$"},order:{classes:d.map([...d.range(0,13),"first","last","none"],t=>`order-${t}`),regExp:"-?order-(\\d+|first|last|none)"},divideXWidth:{classes:d.map(["0",2,4,8],t=>`divide-x-${t}`),regExp:"divide-x-(\\d+|\\[.*\\])"},divideYWidth:{classes:d.map(["0",2,4,8],t=>`divide-y-${t}`),regExp:"divide-y-(\\d+|\\[.*\\])"},divideColor:{classes:[],regExp:"divide-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},divideStyle:{classes:d.map(["solid","dashed","dotted","double","none"],t=>`divide-${t}`),regExp:"divide-(solid|dashed|dotted|double|none)"},outlineWidth:{classes:d.map([0,1,2,4,8],t=>`outline-${t}`),regExp:"outline-(\\d+)"},outlineOffset:{classes:d.map([0,1,2,4,8],t=>`outline-offset-${t}`),regExp:"outline-offset-(\\d+)"},outlineColor:{classes:[],regExp:"outline-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},ringWidth:{classes:d.map([0,1,2,4,8,"inset"],t=>`ring-${t}`),regExp:"ring-(\\d+|inset)"},ringOffsetWidth:{classes:d.map([0,1,2,4,8],t=>`ring-offset-${t}`),regExp:"ring-offset-(\\d+)"},ringOffsetColor:{classes:[],regExp:"ring-offset-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},ringColor:{classes:[],regExp:"ring-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},boxShadowColor:{classes:[],regExp:"shadow-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},opacity:{classes:d.map([0,5,10,20,25,30,40,50,60,70,75,80,90,95,100],t=>`opacity-${t}`),regExp:"opacity-(\\d+|\\[.*\\])"},mixBlendMode:{classes:d.map(L.blendEffect,t=>`mix-blend-${t}`),regExp:"mix-blend-(\\d+|\\S+)"},bgBlendMode:{classes:d.map(L.blendEffect,t=>`bg-blend-${t}`),regExp:"bg-blend-(\\d+|\\S+)"},blur:{classes:d.map(["none","sm","md","lg","xl","2xl","3xl"],t=>`blur-${t}`),regExp:"blur-(none|sm|md|lg|xl|2xl|3xl)"},brightness:{classes:d.map([0,50,75,90,95,100,105,110,125,150,200],t=>`brightness-${t}`),regExp:"brightness-(\\d+)"},contrast:{classes:d.map([0,50,75,100,125,150,200],t=>`contrast-${t}`),regExp:"contrast-(\\d+)"},grayScale:{classes:["grayscale-0","grayscale"],regExp:"grayscale(-0)?"},hueRotate:{classes:d.map([0,15,30,60,90,180],t=>`hue-rotate-${t}`),regExp:"-?hue-rotate-(\\d+)"},invert:{classes:["invert-0","invert"],regExp:"invert(-0)?"},saturate:{classes:d.map([0,50,100,150,200],t=>`saturate-${t}`),regExp:"saturate-(\\d+)"},sepia:{classes:["sepia-0","sepia"],regExp:"sepia(-0)?"},transition:{classes:["transition-none","transition-all","transition-colors","transition-opacity","transition-shadow","transition-transform"],regExp:"transition-(none|all|colors|opacity|shadow|transform)"},duration:{classes:d.map([75,100,150,200,300,500,700,1e3],t=>`duration-${t}`),regExp:"duration-(\\d+|\\[.*\\])"},transitionEase:{classes:["ease-linear","ease-in","ease-out","ease-in-out"],regExp:"eas(e-linear|e-in|e-out|e-in-out)"},transitionDelay:{classes:d.map([75,100,150,200,300,500,700,1e3],t=>`delay-${t}`),regExp:"delay-(\\d+|\\[.*\\])"},animation:{classes:["animate-none","animate-spin","animate-ping"],regExp:"animate-(none|spin|ping)"},scaleX:{classes:d.map(L.scale,t=>`scale-x-${t}`),regExp:"-?scale-x-(\\d+|\\S+|\\[.*\\])"},scaleY:{classes:d.map(L.scale,t=>`scale-y-${t}`),regExp:"-?scale-y-(\\d+|\\S+|\\[.*\\])"},scale:{classes:d.map(L.scale,t=>`scale-${t}`),regExp:"-?scale-(\\d+|\\S+|\\[.*\\])"},rotate:{classes:d.map([0,1,2,3,6,12,45,90,180],t=>`rotate-${t}`),regExp:"-?rotate-(\\d+|\\S+|\\[.*\\])"},translateX:{classes:d.map([0,"px","0.5",1],t=>`translate-x-${t}`),regExp:"-?translate-x-(\\d+|\\S+|\\[.*\\])"},translateY:{classes:d.map([0,"px","0.5",1],t=>`translate-y-${t}`),regExp:"-?translate-y-(\\d+|\\S+|\\[.*\\])"},skewX:{classes:d.map([0,1,2,3,6,12],t=>`skew-x-${t}`),regExp:"-?skew-x-(\\d+|\\S+|\\[.*\\])"},skewY:{classes:d.map([0,1,2,3,6,12],t=>`skew-y-${t}`),regExp:"-?skew-y-(\\d+|\\S+|\\[.*\\])"},accentColor:{classes:[],regExp:"accent-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},appearance:{classes:["appearance-none"],regExp:"appearance-none"},cursor:{classes:["cursor-auto","cursor-default","cursor-pointer","cursor-wait","cursor-text","cursor-move","cursor-help","cursor-not-allowed"],regExp:"cursor-(auto|default|pointer|wait|text|move|help|not-allowed)"},caretColor:{classes:[],regExp:"caret-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},pointerEvents:{classes:["pointer-events-none","pointer-events-auto"],regExp:"pointer-events-(none|auto)"},userSelect:{classes:["select-none","select-text","select-all","select-auto"],regExp:"select-(none|text|all|auto)"},fill:{classes:[],regExp:"caret-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},stroke:{classes:[],regExp:"caret-(black|transparent|current|white|__THEME_COLORS_REGEXP__|\\S+-\\d+)"},strokeWidth:{classes:["stroke-0","stroke-1","stroke-2"],regExp:"stroke-(\\d+|\\[.*\\])"}},jg={backgroundColor:"bg",textColor:"text",borderColor:"border",boxShadowColor:"shadow",outlineColor:"outline",divideColor:"divide",fromColor:"from",viaColor:"via",toColor:"to",ringColor:"ring",ringOffsetColor:"ring-offset"},Sg=["current","inherit","transparent","black","white"],Ng=["slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],Eg=["50","100","200","300","400","500","600","700","800","900"],jr=d.map(d.values(jg),t=>t),Ag=d.flattenDeep([...d.map(Sg,t=>d.flatten(d.map(jr,e=>`${e}-${t}`))),...d.map(Ng,t=>d.flattenDeep(d.map(jr,e=>d.flattenDeep(d.map(Eg,n=>`${e}-${t}-${n}`)))))]),Ig=d.map(d.flattenDeep(d.values(Xt).map(t=>t.classes).concat(Ag)),t=>({name:t})),_g=()=>{const t=on(),e=g.useMemo(()=>{let n=[];if(t.colors){const s=d.flattenDeep(d.map(t.colors,({items:r})=>d.keys(r)));n=d.flattenDeep(d.map(s,r=>d.flatten(d.map(jr,o=>`${o}-${r}`))))}return t.fontFamily&&(n=[...n,...d.map(d.keys(t.fontFamily),s=>`${s}`)]),d.map(n,s=>({name:s}))},[t]);return g.useMemo(()=>new Ga([...Ig,...e],{isCaseSensitive:!1,threshold:.2,minMatchCharLength:2,keys:["name"]}),[e])},$s=()=>{const t=on(),e=g.useMemo(()=>{if(t.colors){const r=d.flattenDeep(d.map(t.colors,({items:o})=>d.keys(o)));d.each(Xt,(o,i)=>{d.set(Xt,`${i}.regExp`,o.regExp.replace("__THEME_COLORS_REGEXP__",r.join("|")))})}return Xt},[t]),n=g.useCallback((r,o)=>{const i=d.get(e,`${r}.regExp`,"");return o.match(new RegExp(i))},[e]),s=g.useCallback((r,o=[])=>d.get(e,`${r}.classes`,o),[e]);return{match:n,getClasses:s}},rc=({label:t,property:e,onChange:n})=>{const{getClasses:s}=$s(),r=s(e),o=On(e),i=g.useMemo(()=>d.get(o,"cls",""),[o]),{canChange:l}=g.useContext(Mn),c=/\[.*\]/g.test(i);return a.jsx("div",{className:t?"w-full rounded":"grow",children:c?a.jsxs("div",{className:"flex items-center",children:[a.jsx(T.Input,{className:"w-[70%] rounded py-1",readOnly:!0,value:i}),a.jsxs(fe,{delayDuration:100,children:[a.jsx(he,{asChild:!0,children:a.jsx("button",{type:"button",className:"invisible ml-3 mt-1 text-blue-600 group-hover:visible",children:a.jsx(v.InfoCircledIcon,{})})}),a.jsx(le,{children:"Current value is using a Tailwind arbitrary value."})]})]}):a.jsx(Sr,{rounded:t,onChange:u=>n(u,e),selected:i,options:r,disabled:!l})})};function Sr({selected:t,onChange:e,rounded:n=!1,options:s,disabled:r=!1}){const o=t.replace(/.*:/g,"").trim(),{undo:i,redo:l}=_n();return a.jsxs("select",{disabled:!s.length||r,className:`${n?"rounded-md border border-border":"border-0"} disable:bg-gray-500 h-full w-full truncate rounded bg-background px-2 py-1 text-xs outline-none disabled:cursor-not-allowed`,onChange:c=>e(c.target.value),onKeyDown:c=>{c.ctrlKey&&(c.key==="z"&&i(),c.key==="y"&&l())},value:o,children:[a.jsx("option",{className:"bg-transparent",value:""}),s.map((c,u)=>a.jsx("option",{className:"bg-transparent",value:c,children:c},`option-${u}`))]})}const Tg={backgroundColor:"bg",textColor:"text",borderColor:"border",boxShadowColor:"shadow",outlineColor:"outline",divideColor:"divide",fromColor:"from",viaColor:"via",toColor:"to",ringColor:"ring",ringOffsetColor:"ring-offset"},Bg=({property:t,onChange:e})=>{const n=On(t),s=g.useMemo(()=>d.get(n,"cls",""),[n]),{canChange:r}=g.useContext(Mn),[o,i]=g.useState([]),[l,c]=g.useState({color:"",shade:""}),u=s.split("-"),p=d.get(u,"1",""),f=d.get(u,"2",""),m=g.useCallback(b=>{["current","inherit","transparent","black","white"].includes(b)?(i([]),c({color:b})):(i(["50","100","200","300","400","500","600","700","800","900"]),c(y=>({...y,color:b,shade:y.shade?y.shade:"500"})))},[i,c]);g.useEffect(()=>{if(["current","inherit","transparent","black","white"].includes(p))return i([]);i(["50","100","200","300","400","500","600","700","800","900"])},[p]);const h=g.useCallback(b=>{c({color:p,shade:b})},[p]);g.useEffect(()=>{c({color:"",shade:""})},[n]);const{match:x}=$s();return g.useEffect(()=>{const y=`${d.get(Tg,t,"")}-${l.color}${l.shade?`-${l.shade}`:""}`;x(t,y)&&e(y,t)},[x,l,e,t]),a.jsxs("div",{className:"flex flex-row divide-x divide-solid divide-border rounded-lg border border-transparent text-xs",children:[a.jsx("div",{className:"grow text-center",children:a.jsx(Sr,{disabled:!r,rounded:!0,selected:p,onChange:m,options:["current","transparent","primary","secondary","black","white","slate","gray","zinc","neutral","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"]})}),a.jsx("button",{type:"button",className:"grow text-center",children:a.jsx(Sr,{rounded:!0,selected:f,disabled:!p||!r,onChange:h,options:o})})]})},oc={"not-italic":()=>a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 3H11V5H9V11H11V13H5V11H7V5H5V3H9Z",fill:"white"})}),visible:v.EyeOpenIcon,invisible:v.EyeClosedIcon,hidden:v.EyeClosedIcon,gap:v.BorderAllIcon,gapX:v.WidthIcon,gapY:v.HeightIcon,spaceX:v.WidthIcon,spaceY:v.HeightIcon,overscroll:v.BorderAllIcon,overscrollX:v.WidthIcon,overscrollY:v.HeightIcon,overflow:v.BorderAllIcon,overflowX:v.WidthIcon,overflowY:v.HeightIcon,top:v.ArrowUpIcon,right:v.ArrowRightIcon,bottom:v.ArrowDownIcon,left:v.ArrowLeftIcon,inset:v.BorderAllIcon,insetX:v.WidthIcon,insetY:v.HeightIcon,border:v.BorderAllIcon,borderX:v.WidthIcon,borderY:v.HeightIcon,borderTop:v.ArrowUpIcon,borderRight:v.ArrowRightIcon,borderBottom:v.ArrowDownIcon,borderLeft:v.ArrowLeftIcon,borderRadius:v.BorderAllIcon,borderRadiusX:v.WidthIcon,borderRadiusY:v.HeightIcon,borderRadiusTop:v.ArrowUpIcon,borderRadiusRight:v.ArrowRightIcon,borderRadiusBottom:v.ArrowDownIcon,borderRadiusLeft:v.ArrowLeftIcon,borderRadiusTopLeft:v.ArrowTopLeftIcon,borderRadiusTopRight:v.ArrowTopRightIcon,borderRadiusBottomRight:v.ArrowBottomRightIcon,borderRadiusBottomLeft:v.ArrowBottomLeftIcon,divideXWidth:v.WidthIcon,divideYWidth:v.HeightIcon,scale:v.BorderAllIcon,scaleX:v.WidthIcon,scaleY:v.HeightIcon,skewX:v.WidthIcon,skewY:v.HeightIcon,translateX:v.WidthIcon,translateY:v.HeightIcon,padding:v.BorderAllIcon,paddingX:v.WidthIcon,paddingY:v.HeightIcon,paddingTop:v.ArrowUpIcon,paddingRight:v.ArrowRightIcon,paddingBottom:v.ArrowDownIcon,paddingLeft:v.ArrowLeftIcon,margin:v.BorderAllIcon,marginX:v.WidthIcon,marginY:v.HeightIcon,marginTop:v.ArrowUpIcon,marginRight:v.ArrowRightIcon,marginBottom:v.ArrowDownIcon,marginLeft:v.ArrowLeftIcon,textLeft:v.AlignLeftIcon,textCenter:v.AlignCenterHorizontallyIcon,textRight:v.AlignRightIcon,textJustify:v.StretchHorizontallyIcon,italic:v.FontItalicIcon,underline:v.UnderlineIcon,overline:v.OverlineIcon,uppercase:v.LetterCaseUppercaseIcon,block:()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M2 2H14V14H2V2ZM1 1H15V15H1V1Z",fill:"currentColor"}),a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 4H4V12H7V4ZM9 4H12V12H9V4Z",fill:"currentColor"})]}),"float-right":()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M8 4H16V12H8V4Z",fill:"currentColor"}),a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M0 4H6V6H0V4ZM0 7H6V9H0V7ZM4 10H0V12H4V10Z",fill:"currentColor"})]}),"float-left":()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M0 4H8V12H0V4Z",fill:"currentColor"}),a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M10 4H16V6H10V4ZM10 7H16V9H10V7ZM14 10H10V12H14V10Z",fill:"currentColor"})]}),"float-none":v.Cross2Icon,fixed:()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M15 2H14V4H13V5H14V6H15V2ZM10 5V4H9V2H1V8H2V5H10ZM7 4V3H5V4H7ZM4 4V3H2V4H4ZM1 13H7V14H1V13Z",fill:"currentColor"}),a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11 2H10V3H11V6H12V3H13V2H11ZM2 9H1V12H2V11H7V10H2V9ZM15 7H8V14H15V7Z",fill:"currentColor"})]}),absolute:()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M14 2H15V6H14V2ZM9 3V2H1V8H2V3H9ZM7 13H1V14H7V13Z",fill:"currentColor"}),a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11 2H10V3H11V6H12V3H13V2H11ZM2 9H1V12H2V11H7V10H2V9ZM15 7H8V14H15V7Z",fill:"currentColor"})]}),relative:()=>a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11 2H9V3H11V6H12V3H14V2H11ZM2 8H1V13H2V11H7V10H2V8ZM15 7H8V14H15V7Z",fill:"currentColor"})}),sticky:()=>a.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M12.9998 7C13.6558 7 14.2937 6.78498 14.8158 6.38787C15.338 5.99076 15.7156 5.43345 15.8908 4.80128C16.066 4.16912 16.0292 3.49694 15.7859 2.8877C15.5427 2.27846 15.1065 1.76573 14.5441 1.42804C13.9817 1.09034 13.3241 0.946293 12.672 1.01795C12.02 1.08961 11.4094 1.37303 10.9337 1.8248C10.4581 2.27658 10.1436 2.8718 10.0385 3.51932C9.93341 4.16685 10.0434 4.83097 10.3518 5.41L6.88176 8.88C6.80034 8.96122 6.73572 9.05769 6.69158 9.16388C6.64744 9.27008 6.62465 9.38393 6.62451 9.49894C6.62437 9.61395 6.64689 9.72785 6.69077 9.83416C6.73465 9.94046 6.79904 10.0371 6.88026 10.1185C6.96149 10.1999 7.05795 10.2645 7.16415 10.3087C7.27035 10.3528 7.3842 10.3756 7.4992 10.3758C7.61421 10.3759 7.72812 10.3534 7.83442 10.3095C7.94072 10.2656 8.03734 10.2012 8.11876 10.12L11.5888 6.648C12.0088 6.873 12.4888 7 12.9988 7H12.9998Z",fill:"currentColor"}),a.jsx("path",{opacity:"0.6",fillRule:"evenodd",clipRule:"evenodd",d:"M9.535 2H1V14H15V7.465C14.69 7.645 14.355 7.783 14 7.875V13H2V5H9.126C8.86504 3.98486 9.01223 2.90789 9.536 2H9.535ZM7 3V4H5V3H7ZM4 3V4H2V3H4Z",fill:"currentColor"})]}),static:v.Cross1Icon},Rg=({property:t,onChange:e})=>{const{getClasses:n}=$s(),s=n(t),{canChange:r}=g.useContext(Mn),o=On(t),i=g.useMemo(()=>d.get(o,"cls",""),[o]);return a.jsx("div",{className:"flex grow flex-wrap gap-1",children:d.map(s,l=>a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx("button",{type:"button",disabled:!r,onClick:()=>e(l,t),className:`cursor-pointer rounded border border-border p-1 disabled:cursor-not-allowed ${i===l?"bg-primary text-white":"disabled:bg-gray-600 disabled:text-gray-400"}`,children:g.createElement(d.get(oc,l,v.BoxIcon))})}),a.jsx(le,{children:d.startCase(d.toLower(l))})]}))})},Pg=({property:t,onChange:e})=>{const{canReset:n,canChange:s}=g.useContext(Mn),r=On(t),o=g.useMemo(()=>d.get(r,"cls",""),[r]),{getClasses:i}=$s(),l=i(t,[""]),c=l.indexOf(o)>-1?l.indexOf(o):0,u=/\[.*\]/g.test(o);return a.jsx("div",{className:"flex flex-row divide-x divide-solid divide-border rounded border border-border text-xs",children:u?a.jsx("div",{className:"px-2 py-[5px]",children:o}):a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",className:"hover:bg-bg-gray-700 box-border w-2/12 rounded-bl rounded-tl bg-background px-1 text-center disabled:cursor-not-allowed disabled:bg-gray-600",disabled:!s&&(!n||c-1<0),onClick:()=>e(d.nth(l,c-1),t),children:a.jsx("span",{className:"flex items-center justify-center",children:a.jsx(v.MinusIcon,{className:!s&&(!n||c-1<0)?"text-gray-500":"text-black/60 dark:text-white/60"})})}),a.jsx("div",{className:"w-8/12 text-center",children:a.jsx(rc,{label:!1,property:t,onChange:e})}),a.jsx("button",{type:"button",className:"hover:bg-bg-gray-700 w-2/12 rounded-br rounded-tr bg-background px-1 text-center disabled:cursor-not-allowed disabled:bg-gray-600",disabled:!s&&(!n||c+1>=l.length),onClick:()=>e(d.nth(l,c+1),t),children:a.jsx("span",{className:"flex items-center justify-center",children:a.jsx(v.PlusIcon,{className:!s&&(!n||c+1>=l.length)?"text-gray-500":"text-black/60 dark:text-white/60"})})})]})})};function Lg(t){if(d.isEmpty(t.trim()))return"";const e=t.match(/sm:|md:|lg:|xl:|2xl:/g);return d.get(e,0,"xs").replace(":","")}function Dg(t){const e=d.map(ru,s=>`${s}:`).join("|"),n=new RegExp(e,"g");return d.get(n.exec(t.trim()),0,"").replace(":","")}function Mg(t){return t.trim().split(":").pop()||""}const dr={};function Og(t){if(d.isEmpty(t))return"";if(dr[t])return dr[t];let e="";for(const n in Xt){const s=d.get(Xt,`${n}.regExp`,"");if(new RegExp(s,"g").test(t)){e=n,dr[t]=e;break}}return e}function Fs(t){return d.isEmpty(t)?null:{dark:d.startsWith(t,"dark:"),mq:Lg(t),mod:Dg(t),cls:Mg(t),fullCls:t,property:Og(t)}}function $g(t){let e="";return t.dark&&(e+="dark:"),t.mq.toLowerCase()!=="xs"&&(e+=`${t.mq}:`),t.mod&&(e+=`${t.mod}:`),e+=t.cls,e}function ac(t){t=t.replace(/\s+/g," ");const e=t.split(" ").map(Fs).filter(s=>s!==null),n=["xs","sm","md","lg","xl","2xl"];return e.sort((s,r)=>n.indexOf(s.mq)-n.indexOf(r.mq)).map(s=>s.fullCls).join(" ")}function ic(t){if(t=t.replace(/\s+/g," "),!t)return"";const e=["xs","sm","md","lg","xl","2xl"],n=t.split(" ").map(Fs).filter(r=>r!==null);let s=t;if(n.length===1)return n[0].fullCls;for(const r of n){const o=r.property,i=e.indexOf(r.mq);for(let l=i+1;l<e.length;l++){const c=e[l],u=n.find(p=>p.property===o&&p.mq===c);if(u&&u.cls===r.cls)s=s.replace(u.fullCls,"");else if(u&&u.cls!==r.cls)break}}return s.replace(/\s+/g," ").trim()}const Fg=N.atom(null,(t,e,{blockIds:n,newClasses:s})=>{const r=d.filter(t(In),i=>n.includes(t(i)._id)),o=d.first(t(Bn));return d.map(r,i=>{const l=t(i),c=d.get(l,o.prop,`${U.STYLES_KEY},`),{classes:u}=se.getSplitChaiClasses(c);return{ids:[l._id],props:{[o.prop]:`${U.STYLES_KEY},${ac(ic(Wa.twMerge(u,s)))}`}}})}),lc=()=>{const t=N.useSetAtom(Fg),{updateBlocks:e,updateBlocksRuntime:n}=Ee();return g.useCallback((s,r,o=!1)=>{const i=t({blockIds:s,newClasses:r});if(!o){n(s,i[0].props);return}e(s,i[0].props)},[t,e,n])},zg=t=>{const e=["xs","sm","md","lg","xl","2xl"],n=e.indexOf(t);return n===-1?["xs"]:e.slice(0,n+1)},Hg=N.atom(t=>{const e=d.first(t(Bn)),n=t(js);if(!e||e.blockId!==d.get(n,"_id",null))return[];const s=d.get(n,e.prop,`${U.STYLES_KEY},`),{classes:r}=se.getSplitChaiClasses(s);return d.filter(d.map(r.trim().split(" "),Fs),o=>!d.isNull(o))}),Aa={xs:0,sm:1,md:2,lg:3,xl:4,"2xl":5},Vg=N.atom(t=>{const e=t(Gl),n=t(Hr),s=t(Hi),r=zg(e);let o=d.filter(t(Hg),{mod:n});return d.startsWith(n,"_")||(o=d.filter(o,i=>r.includes(i.mq))),o=o.sort((i,l)=>Aa[i.mq]-Aa[l.mq]),s||(o=d.filter(o,{dark:!1})),o}),zs=()=>N.useAtomValue(Vg),Wg=()=>N.useAtom(Hr),On=t=>{const e=zs();return d.findLast(e,{property:t})},Gg=(t,e)=>{const n={xs:0,sm:1,md:2,lg:3,xl:4,"2xl":5};return n[d.get(t,"mq","xs")]<=n[e]},Ug={width:"w-",height:"h-",minWidth:"min-w-",minHeight:"min-h-",maxWidth:"max-w-",maxHeight:"max-h-",zIndex:"z-",gap:"gap-",gapX:"gap-x-",gapY:"gap-y-",margin:"m-",marginX:"mx-",marginY:"my-",marginTop:"mt-",marginBottom:"mb-",marginLeft:"ml-",marginRight:"mr-",padding:"p-",paddingX:"px-",paddingY:"py-",paddingTop:"pt-",paddingBottom:"pb-",paddingLeft:"pl-",paddingRight:"pr-",spaceX:"space-x-",spaceY:"space-y-",border:"border-",borderTop:"border-t-",borderBottom:"border-b-",borderLeft:"border-l-",borderRight:"border-r-",borderX:"border-x-",borderY:"border-y-",borderRadius:"rounded-",borderRadiusTop:"rounded-t-",borderRadiusRight:"rounded-r-",borderRadiusBottom:"rounded-b-",borderRadiusLeft:"rounded-l-",borderRadiusTopLeft:"rounded-tl-",borderRadiusTopRight:"rounded-tr-",borderRadiusBottomRight:"rounded-br-",borderRadiusBottomLeft:"rounded-bl-",fontSize:"text-",lineHeight:"leading-",letterSpacing:"tracking-",textIndent:"indent-",rotate:"rotate-",duration:"duration-",transitionDelay:"delay-",scale:"scale-",scaleX:"scale-x-",scaleY:"scale-y-",translateX:"translate-x-",translateY:"translate-y-",skewX:"skew-x-",skewY:"skew-y-",top:"top-",bottom:"bottom-",left:"left-",right:"right-",inset:"inset-",insetX:"inset-x-",insetY:"inset-y-",opacity:"opacity-",flexBasis:"basis-"},Ia={xs:"",sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},qg=t=>`${t.toUpperCase()} ${Ia[t]?`(${Ia[t]} & up)`:""}`,vs=t=>{const{t:e}=z.useTranslation(),{type:n="icons",label:s,property:r,onEmitChange:o=()=>{},units:i,negative:l=!1}=t,[c]=rn(),[u]=Wg(),[,p]=bs(),f=On(r),m=lc(),h=To(),[x]=q(),b=g.useMemo(()=>d.get(f,"fullCls",""),[f]),y=g.useCallback((_,S=!0)=>{const E={dark:c,mq:p,mod:u,cls:_};(c||u!=="")&&(E.mq="xs");const I=$g(E);m(x,[I],S)},[x,c,p,u,r,m]),k=g.useCallback(()=>{h(x,[b],!0)},[x,b,h]),C=g.useMemo(()=>Gg(f,p),[f,p]);g.useEffect(()=>{o(C,f)},[C,o,f]);const[,,A]=bs(),w=g.useCallback(_=>{A({xs:400,sm:640,md:800,lg:1024,xl:1420,"2xl":1920}[_])},[A]),j=d.get(f,"dark",null)===c&&d.get(f,"mod",null)===u&&d.get(f,"mq",null)===p;return a.jsx(Cg,{canChange:C,canReset:f&&j,children:a.jsxs("div",{className:"group flex flex-row items-center py-2 first:pt-0 last:pb-0",children:[a.jsx("div",{className:"relative w-[70px] truncate text-xs text-foreground",children:a.jsx("span",{className:`text-[11px] ${f&&!j?"text-foreground":""}`,children:e(s)})}),a.jsxs("div",{className:"flex flex-row items-center",children:[a.jsxs("div",{className:"w-[150px]",children:[n==="arbitrary"?a.jsx(wg,{currentClass:d.get(f,"cls",""),classPrefix:d.get(Ug,r,""),units:i||[],onChange:y,negative:l,cssProperty:r}):null,n==="icons"&&a.jsx(Rg,{property:r,onChange:y}),n==="range"&&a.jsx(Pg,{property:r,onChange:y}),n==="color"&&a.jsx(Bg,{property:r,onChange:y}),n==="dropdown"&&a.jsx(rc,{label:s,property:r,onChange:y})]}),a.jsx("div",{className:`w-[30px] cursor-pointer ${b?"visible":"invisible"}`,children:j?a.jsx("button",{type:"button",onClick:()=>k(),title:"Reset",className:"flex px-1.5 text-xs",children:a.jsx(v.CrossCircledIcon,{className:"h-5 w-5 text-blue-500 hover:opacity-80"})}):C&&f?a.jsxs(fe,{delayDuration:100,children:[a.jsx(he,{asChild:!0,children:a.jsx("button",{type:"button",className:"invisible ml-3 mt-1 rounded-full bg-primary text-white group-hover:visible",children:a.jsx(v.InfoCircledIcon,{})})}),a.jsx(le,{children:a.jsx("div",{className:"text-right",children:a.jsxs("div",{children:["Current style is set at  ",a.jsxs("span",{className:"font-bold",children:[qg(d.get(f,"mq")),c&&!f.dark?"(Light mode)":""]}),a.jsx("br",{}),a.jsxs("button",{type:"button",onClick:()=>w(d.get(f,"mq")),className:"block w-full cursor-default text-right font-semibold text-blue-500",children:["Switch to ",d.get(f,"mq").toUpperCase()]})]})})})]}):null})]})]})})},Kg=["px","%","em","rem","ch","vh","vw"],Nr=({label:t,options:e,borderB:n=!1,borderT:s=!1,type:r="arbitrary",units:o=Kg,negative:i=!1})=>{const{t:l}=z.useTranslation(),[c,u]=g.useState(e[0].key),p=zs(),f=g.useCallback(m=>d.map(p,"property").includes(m),[p]);return a.jsxs("div",{className:`mb-2 border-border py-2 first:pt-0 last:pb-0 ${n?"border-b":""} ${s?"border-t":""}`,children:[a.jsxs("div",{className:"flex flex-row text-xs",children:[t&&a.jsx("span",{className:"relative w-[70px] flex-none text-xs text-foreground",children:l(t)}),a.jsx("div",{className:"mb-3 flex grow flex-row flex-wrap gap-x-px",children:e.map(({label:m,key:h},x)=>a.jsx("div",{className:"first:rounded-l last:rounded-r",children:a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsxs("button",{type:"button",onClick:()=>u(h),className:`relative cursor-pointer rounded-full p-1 text-[8px] ${h===c?"bg-[#3E57F0] text-white":"text-gray-600 dark:text-gray-300"}`,children:[g.createElement("div",{className:f(h)?"-bottom-1.5 absolute bg-[#3E57F0] h-[2px] left-0 w-full":""}),g.createElement(d.get(oc,h,v.BoxIcon),{className:"text-inherit w-3 h-3"})]})}),a.jsx(le,{children:d.startCase(d.toLower(m))})]})},`option-${x}`))})]}),a.jsx("div",{className:"mt-0 flex items-center",children:a.jsx(vs,{type:r,units:[...o],label:"",property:c,negative:i})})]})},_a=({heading:t,items:e})=>{const{t:n}=z.useTranslation(),s=zs(),r=g.useMemo(()=>{const o=c=>d.flatten(c.map(u=>u.styleType==="multiple"?d.map(u.options,"key"):u.property)),i=d.flatten(e.map(c=>c.styleType==="accordion"?o(c.items):c.styleType==="multiple"?d.map(c.options,"key"):c.property)),l=d.map(s,"property");return d.intersection(i,l).length>0},[s,e]);return a.jsxs("details",{children:[a.jsx("summary",{className:"my-px cursor-default rounded-md bg-gray-50 p-px px-2 text-[11px] text-foreground dark:bg-gray-800",children:a.jsxs("div",{className:"inline",children:[d.startCase(n(t.toLowerCase())),r?a.jsx("span",{className:`ml-1 mr-2 inline-block h-[8px] w-[8px] rounded-full ${r?"bg-primary":"bg-gray-300"}`}):null]})}),a.jsx("div",{className:"p-2",children:e.map(o=>o.styleType==="multiple"?a.jsx(Nr,{...o},o.label):a.jsx(vs,{...o},o.label))})]})},Yg=g.createContext({}),ur=({section:t,showAccordian:e})=>{const{t:n}=z.useTranslation(),s=zs(),r=g.useCallback((i=[])=>{const l={};for(let u=0;u<s.length;u++)l[s[u].property]=s[u].cls;let c=!0;for(const u in i)if(!d.has(l,u)||l[u]!==i[u]){c=!1;break}return c},[s]),o=g.useMemo(()=>({}),[]);return a.jsx(Yg.Provider,{value:o,children:e?a.jsxs(Ao,{value:t.heading,className:"border-none",children:[a.jsx(Io,{className:"border-slate-150 border-t py-2 text-xs",children:a.jsx("div",{className:"flex items-center py-2",children:a.jsx("div",{className:"flex items-center gap-x-2 text-xs font-medium",children:d.startCase(n(t.heading))})})}),a.jsx(_o,{className:"py-2",children:t.items.map(i=>d.has(i,"component")?g.createElement(i.component,{key:i.label}):d.has(i,"styleType")?i.styleType==="multiple"?a.jsx(Nr,{...i},i.label+"multiple-choices"):i.styleType==="accordion"&&r(i==null?void 0:i.conditions)?a.jsx(_a,{...i},i.label+"nested-options"):null:a.jsx(vs,{...i},i.label+"block-style"))})]}):a.jsx("div",{className:"py-2",children:t.items.map((i,l)=>d.has(i,"component")?g.createElement(i.component,{key:i.label}):d.has(i,"styleType")?i.styleType==="multiple"?a.jsx(Nr,{...i},i.label+"multiple-choices"+l):i.styleType==="accordion"&&r(i==null?void 0:i.conditions)?a.jsx(_a,{...i},i.label+"nested-options"+l):null:a.jsx(vs,{...i},i.label+"block-style"+l))})})},cc=ws.Root,dc=ws.Trigger,Bo=O.forwardRef(({className:t,align:e="center",sideOffset:n=4,...s},r)=>a.jsx(ws.Content,{ref:r,align:e,sideOffset:n,className:T.cn("z-50 w-64 origin-[--radix-hover-card-content-transform-origin] rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s}));Bo.displayName=ws.Content.displayName;const Xg=Oe.atomWithStorage("selectedBreakpoints",["XS","MD","XL"]),Jg=()=>{const[t,e]=N.useAtom(Xg);return[t,e]},Ta=({className:t=""})=>a.jsxs("svg",{className:pe.cn("h-4 w-4",t),fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2",ry:"2"}),a.jsx("line",{x1:"12",y1:"18",x2:"12.01",y2:"18"})]}),Zg=({className:t=""})=>a.jsxs("svg",{className:pe.cn("h-4 w-4",t),fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"2",y:"4",width:"20",height:"12",rx:"2",ry:"2"}),a.jsx("line",{x1:"6",y1:"20",x2:"18",y2:"20"}),a.jsx("line",{x1:"12",y1:"16",x2:"12",y2:"20"})]}),Qg=({className:t=""})=>a.jsxs("svg",{className:pe.cn("h-4 w-4",t),fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",ry:"2"}),a.jsx("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),a.jsx("line",{x1:"12",y1:"17",x2:"12",y2:"21"})]}),Ba=({landscape:t=!1,className:e=""})=>a.jsxs("svg",{className:pe.cn("h-4 w-4",t?"rotate-90":"",e),fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2",ry:"2"}),a.jsx("line",{x1:"12",y1:"18",x2:"12.01",y2:"18"})]}),Er=[{title:"Mobile (Base)",content:"Styles set here are applied to all screen unless edited at higher breakpoint",breakpoint:"xs",icon:a.jsx(Ta,{className:"h-4 w-4"}),width:400},{title:"Mobile landscape (SM)",content:"Styles set here are applied at 640px and up unless edited at higher breakpoint",breakpoint:"sm",icon:a.jsx(Ta,{className:"h-4 w-4 rotate-90"}),width:640},{title:"Tablet (MD)",content:"Styles set here are applied at 768px and up",breakpoint:"md",icon:a.jsx(Ba,{}),width:800},{title:"Tablet Landscape (LG)",content:"Styles set here are applied at 1024px and up unless edited at higher breakpoint",breakpoint:"lg",icon:a.jsx(Ba,{landscape:!0}),width:1024},{title:"Desktop (XL)",content:"Styles set here are applied at 1280px and up unless edited at higher breakpoint",breakpoint:"xl",icon:a.jsx(Zg,{className:"h-4 w-4"}),width:1420},{title:"Large Desktop (2XL)",content:"Styles set here are applied at 1536px and up",breakpoint:"2xl",icon:a.jsx(Qg,{className:"h-4 w-4"}),width:1920}],Ra=({canvas:t=!1,openDelay:e=400,tooltip:n=!0,title:s,content:r,currentBreakpoint:o,breakpoint:i,width:l,icon:c,onClick:u,buttonClass:p="",activeButtonClass:f=""})=>{const{t:m}=z.useTranslation();return n?a.jsxs(cc,{openDelay:e,children:[a.jsx(dc,{asChild:!0,children:a.jsx(T.Button,{onClick:()=>u(l),size:"sm",className:pe.cn("h-7 w-7 rounded-md p-1",i===o?f:p),variant:"ghost",children:c})}),a.jsx(Bo,{className:"w-fit max-w-52 border-border",children:a.jsx("div",{className:"flex justify-between space-x-4",children:a.jsxs("div",{className:"space-y-1",children:[a.jsx("h4",{className:"text-sm font-semibold",children:m(s)}),t&&a.jsx("p",{className:"text-xs",children:m(r)})]})})})]}):a.jsx(T.Button,{onClick:()=>u(l),size:"sm",className:"h-7 w-7 rounded-md p-1",variant:i===o?"outline":"ghost",children:c})},uc=({openDelay:t=400,canvas:e=!1,tooltip:n=!0,buttonClass:s="",activeButtonClass:r=""})=>{const[o,,i]=bs(),[l,c]=yo(),[u,p]=Jg(),f=u,m=p,{t:h}=z.useTranslation(),x=$("breakpoints",Er),b=C=>{f.includes(C)?f.length>2&&m(f.filter(A=>A!==C)):m(A=>[...A,C])},y=C=>{e||i(C),c(C)},k=pe.getBreakpointValue(e?l:o).toLowerCase();return x.length<4?a.jsx("div",{className:"flex items-center rounded-md",children:d.map(x,C=>g.createElement(Ra,{canvas:e,...C,onClick:y,key:C.breakpoint,currentBreakpoint:k,activeButtonClass:"bg-gray-700"}))}):a.jsxs("div",{className:"flex w-full items-center justify-between rounded-md",children:[a.jsx("div",{className:"flex items-center",children:d.map(x.filter(C=>d.includes(f,d.toUpper(C.breakpoint))),C=>g.createElement(Ra,{canvas:e,openDelay:t,tooltip:n,...C,onClick:y,key:C.breakpoint,currentBreakpoint:k,buttonClass:s,activeButtonClass:r}))}),a.jsxs(mt,{children:[a.jsx(gt,{asChild:!0,children:a.jsx("span",{className:"cursor-pointer rounded-md p-1 hover:bg-background",children:a.jsx(v.ChevronDownIcon,{className:"scale-90 transform"})})}),a.jsxs(et,{className:"w-56 border-border text-xs",children:[a.jsx(Rr,{children:h("Screen sizes")}),a.jsx(Pr,{}),d.map(x,C=>a.jsx(Ya,{disabled:C.breakpoint==="xs",onCheckedChange:()=>b(d.toUpper(C.breakpoint)),checked:d.includes(f,d.toUpper(C.breakpoint)),onSelect:A=>A.preventDefault(),children:h(C.title)},C.breakpoint))]})]})]})};function ex(){const[,t]=bs(),{t:e}=z.useTranslation(),n=g.useMemo(()=>{const s=Er.find(r=>r.breakpoint===t);return(s==null?void 0:s.content)??""},[t,Er]);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"sticky top-0 z-10 flex items-center justify-start bg-muted px-2 py-1 shadow-sm",children:[a.jsxs("p",{className:"text-xs text-muted-foreground",children:[e("Screen")," "]}),a.jsx(uc,{openDelay:1e3,tooltip:!1})]}),a.jsx("div",{className:"mb-2 flex items-center justify-between rounded-md rounded-t-none border border-border p-1",children:a.jsx("p",{className:"flex flex-1 items-center space-x-2 text-[10px] text-foreground",children:a.jsxs("span",{className:"text-xs text-foreground",children:[a.jsx("span",{className:"rounded-md bg-muted px-1 py-px text-xs font-bold uppercase text-muted-foreground",children:t==="xs"?"Base":t}),"  ",e(n)]})})})]})}const tx=_r.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ct=O.forwardRef(({className:t,...e},n)=>a.jsx(qa.Root,{ref:n,className:T.cn(tx(),t),...e}));ct.displayName=qa.Root.displayName;const Ar=({className:t=""})=>a.jsx(v.TokensIcon,{className:t}),nx=g.lazy(()=>Promise.resolve().then(()=>require("./manage-design-tokens-modal-BSSCXH8Y.cjs")));function Ro({from:t="default",classFromProps:e,onAddNew:n,onRemove:s,showDesignTokenSuggestions:r=!0}){var Ko;const o=g.useRef(null),[i,l]=g.useState(""),[c,u]=g.useState(!1),[p,f]=g.useState(-1),m=g.useRef(!1),[h,x]=g.useState(!1),b=_g(),{t:y}=z.useTranslation(),[k]=Ae(),C=X(),A=lc(),w=To(),[j]=q(),[_,S]=g.useState(""),E=N.useAtomValue(en),I=(Ko=d.first(k))==null?void 0:Ko.prop,{classes:B}=se.getSplitChaiClasses(d.get(C,I,"")),R=(t==="default"?B:e??"").split(" ").filter(F=>!d.isEmpty(F)),M=g.useMemo(()=>[...R].sort((F,ne)=>{const Ce=F.startsWith(U.DESIGN_TOKEN_PREFIX),st=ne.startsWith(U.DESIGN_TOKEN_PREFIX);return Ce&&!st?-1:!Ce&&st?1:0}),[R]),H=$("flags.copyPaste",!0),G=F=>{const ne=F.startsWith(U.DESIGN_TOKEN_PREFIX),Ce=a.jsx("div",{className:"group relative flex max-w-[260px] items-center",children:a.jsxs("button",{onDoubleClick:()=>{S(be(F)),t==="default"?w(j,[F],!0):(d.isFunction(s)&&s(F),S(F)),setTimeout(()=>{o.current&&o.current.focus()},10)},className:"flex h-max cursor-default items-center gap-x-1 truncate break-words rounded bg-gray-200 py-px pl-0.5 pr-1 text-[11px] text-gray-600 dark:bg-gray-800 dark:text-gray-300",children:[a.jsxs("div",{className:"z-10 flex h-full w-max items-center justify-center",children:[a.jsx(v.Cross2Icon,{onClick:()=>{t==="default"?w(j,[F],!0):d.isFunction(s)&&s(F)},className:"hidden h-max w-3.5 cursor-pointer rounded bg-gray-100 p-0.5 text-red-500 hover:bg-gray-50 group-hover:block"}),F.startsWith(U.DESIGN_TOKEN_PREFIX)?a.jsx(Ar,{className:"text-[rgba(55, 65, 81, 0.4)] h-3.5 w-3.5 group-hover:hidden"}):a.jsxs("svg",{className:"h-3.5 w-3.5 group-hover:hidden",fill:"rgba(55, 65, 81, 0.4)",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",xmlSpace:"preserve",children:[a.jsx("g",{id:"SVGRepo_bgCarrier",strokeWidth:"0"}),a.jsx("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("g",{id:"SVGRepo_iconCarrier",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 6.036c-2.667 0-4.333 1.325-5 3.976 1-1.325 2.167-1.822 3.5-1.491.761.189 1.305.738 1.906 1.345C13.387 10.855 14.522 12 17 12c2.667 0 4.333-1.325 5-3.976-1 1.325-2.166 1.822-3.5 1.491-.761-.189-1.305-.738-1.907-1.345-.98-.99-2.114-2.134-4.593-2.134zM7 12c-2.667 0-4.333 1.325-5 3.976 1-1.326 2.167-1.822 3.5-1.491.761.189 1.305.738 1.907 1.345.98.989 2.115 2.134 4.594 2.134 2.667 0 4.333-1.325 5-3.976-1 1.325-2.167 1.822-3.5 1.491-.761-.189-1.305-.738-1.906-1.345C10.613 13.145 9.478 12 7 12z"})})]})]}),a.jsx("div",{children:be(F)})]})},F);return ne&&E[F]?a.jsxs(fe,{delayDuration:200,children:[a.jsx(he,{asChild:!0,children:Ce}),a.jsx(le,{side:"bottom",className:"max-w-[300px]",children:a.jsx("p",{className:"font-light",children:E[F].value})})]},F):Ce},be=F=>{if(F.startsWith(U.DESIGN_TOKEN_PREFIX)){const ne=E[F];return ne?ne.name:F}return F},de=F=>{const ne=Object.entries(E).find(([,Ce])=>Ce.name===F);return ne?`${ne[0]}`:F},re=()=>{const F=_.trim().replace(/ +(?= )/g,"").split(" ").map(de);t==="designToken"?d.isFunction(n)&&n(F):A(j,F,!0),S("")},[we,Le]=g.useState([]),V=$("flags.designTokens",!0),Ie=({value:F})=>{const ne=F.trim().toLowerCase(),Ce=ne.match(/.+:/g);let st=[],Ks=[];if(V&&r&&(ne===""?Ks=Object.entries(E).map(([dt,un])=>({name:un.name,id:`${dt}`,isDesignToken:!0})):Ks=Object.entries(E).filter(([,dt])=>dt.name.toLowerCase().includes(ne)).map(([dt,un])=>({name:un.name,id:`${dt}`,isDesignToken:!0}))),Ce&&Ce.length>0){const[dt]=Ce,un=ne.replace(dt,"");st=b.search(un).map(Ys=>({...Ys,item:{...Ys.item,name:dt+Ys.item.name}}))}else st=b.search(ne);const Jc=[...Ks,...d.map(st,"item")];return Le(Jc)},yt=()=>{Le([])},Vt=F=>F.name,Wt=F=>a.jsxs("div",{className:"flex items-center gap-2 rounded-md p-1",children:[F.isDesignToken&&a.jsx(Ar,{className:"h-4 w-4 text-gray-600"}),a.jsx("span",{children:F.name})]}),kt=g.useMemo(()=>({ref:o,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,placeholder:`${y(r?"Enter classes separated by space or design tokens":"Enter classes separated by space")}`,value:_,onFocus:F=>{setTimeout(()=>{F.target&&F.target.select()},0)},onKeyDown:F=>{if(F.key==="Enter"&&_.trim()!==""){if(m.current){m.current=!1;return}F.preventDefault(),re()}if(F.key==="Tab"&&we.length>0){F.preventDefault();const ne=new KeyboardEvent("keydown",{key:"ArrowDown",code:"ArrowDown",keyCode:40,bubbles:!0});F.target.dispatchEvent(ne)}},onChange:(F,{newValue:ne})=>S(ne),className:`w-full rounded-md text-xs px-2 hover:outline-0 bg-background border-border ${t==="default"?"py-1":"py-1.5"}`}),[_,y,o,we.length]),qs=F=>{const ne=i.trim().replace(/ +(?= )/g,"").split(" ").map(de);w(j,[F],!0),A(j,ne,!0),l(""),f(-1)},Wn=()=>{if(navigator.clipboard===void 0){ue.toast.error(y("Clipboard not supported"));return}navigator.clipboard.writeText(R.join(" ")),ue.toast.success(y("Classes copied to clipboard")),u(!0),setTimeout(()=>u(!1),2e3)};return a.jsxs("div",{className:`flex w-full flex-col gap-y-1.5 pb-4 ${t==="designToken"?"border-none":"border-b border-border"}`,children:[a.jsx("div",{className:"flex items-center justify-between gap-x-2",children:a.jsxs("div",{className:"flex w-full items-center justify-between gap-x-2 text-muted-foreground",children:[a.jsxs("span",{className:"flex items-center gap-x-1",children:[a.jsx("span",{children:t==="designToken"?a.jsx(ct,{className:"text-sm font-medium leading-tight text-gray-900 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:y("Token Classes")}):y(V?"Styles":"Classes")}),H&&a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:c?a.jsx(v.CheckIcon,{className:"rounded-full border border-green-500 bg-green-500/10 text-green-500"}):a.jsx(v.CopyIcon,{onClick:Wn,className:"cursor-pointer"})}),a.jsx(le,{children:a.jsx("p",{children:y("Copy classes to clipboard")})})]})]}),V&&t==="default"&&a.jsx(T.Button,{variant:"link",className:"underline",onClick:()=>x(!0),children:y("Design Tokens")})]})}),a.jsxs("div",{className:"relative flex items-center gap-x-3",children:[a.jsx("div",{className:"relative flex w-full items-center gap-x-3",children:a.jsx(kd,{suggestions:we,onSuggestionsFetchRequested:Ie,onSuggestionsClearRequested:yt,getSuggestionValue:Vt,renderSuggestion:Wt,inputProps:kt,onSuggestionSelected:(F,{suggestionValue:ne})=>{m.current=!0;const st=[de(ne)];t==="designToken"?d.isFunction(n)&&n(st):A(j,st,!0),S("")},containerProps:{className:"relative h-8 w-full gap-y-1 py-1 border-border text-xs"},theme:{suggestion:"bg-transparent",suggestionHighlighted:"!bg-gray-300 dark:!bg-gray-800 cursor-pointer",suggestionsContainerOpen:"absolute bg-background no-scrollbar z-50 max-h-[230px] overflow-y-auto w-full border border-border rounded-md"}})}),a.jsx(T.Button,{variant:"outline",className:`border-border ${t==="default"?"h-6":"mt-1 h-7"}`,onClick:re,disabled:_.trim()==="",size:"sm",children:a.jsx(v.PlusIcon,{})})]}),a.jsx("div",{className:"flex w-full flex-wrap gap-2 overflow-x-hidden",children:M.map((F,ne)=>p===ne?a.jsx("input",{ref:o,value:i,onChange:Ce=>l(Ce.target.value),onBlur:()=>{qs(F)},onKeyDown:Ce=>{Ce.key==="Enter"&&qs(F)},onFocus:Ce=>{setTimeout(()=>{Ce.target.select()},0)},className:"group relative flex max-w-[260px] cursor-default items-center gap-x-1 truncate break-words rounded border border-border bg-gray-200 p-px px-1.5 pr-2 text-[11px] text-gray-600 hover:border-gray-300 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-300"},F):G(F))}),a.jsx(g.Suspense,{fallback:null,children:a.jsx(nx,{open:h,onOpenChange:x})})]})}const Se=["px","%","em","rem","ch","vh","vw"],sx={heading:"flex.heading",items:[{type:"arbitrary",label:"flex.basis",units:Se,property:"flexBasis"},{type:"range",label:"flex.order",property:"order"},{type:"dropdown",label:"flex.flex",property:"flexGrowShrink"},{type:"dropdown",label:"flex.grow",property:"flexGrow"},{type:"dropdown",label:"flex.shrink",property:"flexShrink"}]},rx={heading:"grid.heading",items:[{type:"range",label:"grid.col_span",property:"gridColSpan"},{type:"range",label:"grid.col_start",property:"gridColStart"},{type:"range",label:"grid.col_end",property:"gridColEnd"},{type:"range",label:"grid.row_span",property:"gridRowSpan"},{type:"range",label:"grid.row_start",property:"gridRowStart"},{type:"range",label:"grid.row_end",property:"gridRowEnd"},{type:"range",label:"grid.order",property:"order"}]},ox=[{heading:"Styles",items:[{component:Ro},{component:ex},{type:"arbitrary",label:"layout.width",units:Se.concat("auto"),property:"width"},{type:"arbitrary",label:"layout.height",units:Se.concat("auto"),property:"height"},{styleType:"multiple",label:"layout.margin",negative:!0,units:[...Se,"auto"],options:[{key:"margin",label:"layout.margin_all"},{key:"marginX",label:"layout.margin_lr"},{key:"marginY",label:"layout.margin_tb"},{key:"marginTop",label:"layout.margin_top"},{key:"marginRight",label:"layout.margin_right"},{key:"marginBottom",label:"layout.margin_bottom"},{key:"marginLeft",label:"layout.margin_left"}]},{styleType:"multiple",label:"layout.padding",options:[{key:"padding",label:"layout.padding_all"},{key:"paddingX",label:"layout.padding_lr"},{key:"paddingY",label:"layout.padding_tb"},{key:"paddingTop",label:"layout.padding_top"},{key:"paddingRight",label:"layout.padding_right"},{key:"paddingBottom",label:"layout.padding_bottom"},{key:"paddingLeft",label:"layout.padding_left"}]},{styleType:"accordion",heading:"typography.heading",items:[{type:"dropdown",property:"textAlign",label:"typography.align"},{type:"dropdown",property:"fontFamily",label:"typography.font"},{type:"arbitrary",property:"fontSize",label:"typography.size",units:Se},{type:"arbitrary",property:"lineHeight",label:"typography.height",units:Se.concat("-")},{type:"range",property:"fontWeight",label:"typography.weight"},{type:"color",property:"textColor",label:"typography.color"}]},{styleType:"accordion",heading:"background.heading",items:[{type:"color",label:"background.bgcolor",property:"backgroundColor"},{type:"dropdown",label:"background.attachment",property:"backgroundAttachment"},{type:"dropdown",label:"background.clipping",property:"backgroundClip"},{type:"dropdown",label:"background.origin",property:"backgroundOrigin"},{type:"dropdown",label:"background.position",property:"backgroundPosition"},{type:"dropdown",label:"background.repeat",property:"backgroundRepeat"},{type:"dropdown",label:"background.size",property:"backgroundSize"}]}]}];Se.concat("auto"),Se.concat("auto"),[...Se],Se.concat("auto"),Se.concat("auto"),Se.concat("auto"),Se.concat("auto"),Se.concat("-");const ax={px:1,"%":1,em:100,rem:100,ch:1,vw:1,vh:1,"-":1,deg:1,ms:.1};function Ir(){const{flexChild:t,gridChild:e}=Gd(),[n]=Ae(),[s,r]=g.useState(""),[o,i]=g.useState({onDrag:u=>u,onDragEnd:u=>u,dragStartY:0,dragging:!1,dragStartValue:0,dragUnit:"",negative:!1,cssProperty:""}),l=xe.useThrottledCallback(u=>{const p=!d.get(o,"negative",!1),f=d.get(o,"cssProperty","");let m=parseFloat(o.dragStartValue);m=isNaN(m)?0:m;let h=ax[o.dragUnit];(d.startsWith(f,"scale")||f==="opacity")&&(h=10);let b=(o.dragStartY-u.pageY)/h+m;p&&b<0&&(b=0),f==="opacity"&&b>1&&(b=1),o.onDrag(`${b}`),r(`${b}`)},[o],50),c=g.useCallback(()=>{setTimeout(()=>o.onDragEnd(`${s}`),100),i({onDrag:u=>u,onDragEnd:u=>u,dragStartY:0,dragging:!1,dragStartValue:0,dragUnit:"",negative:!1,cssProperty:""})},[o,s,i]);return d.isEmpty(n)?null:a.jsxs(nc.Provider,{value:{setDragData:i},children:[o.dragging?a.jsx("div",{onMouseMove:l,onMouseUp:()=>c(),className:"absolute inset-0 z-30 cursor-row-resize bg-gray-300/10"}):null,a.jsxs("div",{className:"flex flex-col",children:[a.jsx(xg,{}),a.jsxs(ec,{defaultValue:["Styles"],type:"multiple",className:"w-full",children:[t&&a.jsx(ur,{section:sx,showAccordian:t||e}),e&&a.jsx(ur,{section:rx,showAccordian:t||e}),ox.map(u=>a.jsx(ur,{section:u,showAccordian:t||e},u.heading))]})]})]})}const An=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(At.Root,{ref:s,className:T.cn("relative overflow-hidden",t),...n,children:[a.jsx(At.Viewport,{className:"h-full w-full rounded-[inherit]",children:e}),a.jsx(pc,{}),a.jsx(At.Corner,{})]}));An.displayName=At.Root.displayName;const pc=O.forwardRef(({className:t,orientation:e="vertical",...n},s)=>a.jsx(At.ScrollAreaScrollbar,{ref:s,orientation:e,className:T.cn("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...n,children:a.jsx(At.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));pc.displayName=At.ScrollAreaScrollbar.displayName;const Hs=Mt.Root,$n=O.forwardRef(({className:t,...e},n)=>a.jsx(Mt.List,{ref:n,className:T.cn("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",t),...e}));$n.displayName=Mt.List.displayName;const Ve=O.forwardRef(({className:t,...e},n)=>a.jsx(Mt.Trigger,{ref:n,className:T.cn("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",t),...e}));Ve.displayName=Mt.Trigger.displayName;const at=O.forwardRef(({className:t,...e},n)=>a.jsx(Mt.Content,{ref:n,className:T.cn("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...e}));at.displayName=Mt.Content.displayName;const ix=({block:t,disabled:e,parentId:n,position:s})=>{const{type:r,icon:o,label:i,disabledReason:l}=t,c=e||t.disabled,{addCoreBlock:u,addPredefinedBlock:p}=xt(),f=()=>{if(d.has(t,"blocks")){const y=d.isFunction(t.blocks)?t.blocks():t.blocks;p(K.syncBlocksWithDefaultProps(y),n||null,s)}else u(t,n||null,s);ae.publish(Y.CLOSE_ADD_BLOCK)},m=Ye(),{t:h}=z.useTranslation(),{onDragStart:x,onDragEnd:b}=sn();return a.jsx(a.Fragment,{children:a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsxs("button",{disabled:c,onClick:f,type:"button",onDragStart:y=>!c&&x(y,{...t,label:i,icon:o}),onDragEnd:b,draggable:m&&!c,className:`${d.kebabCase(`chai-block-${r}`)} ${m&&!c?"cursor-grab active:cursor-grabbing":"cursor-pointer"} space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400 dark:border-gray-700 dark:text-white dark:hover:bg-slate-800/50 dark:disabled:bg-gray-900 dark:disabled:text-foreground ${c?"opacity-50":""}`,children:[g.createElement(o||v.BoxIcon,{className:"w-4 h-4 mx-auto","data-add-core-block-icon":r}),a.jsx("p",{className:"truncate text-xs",children:d.capitalize(h(i||r))})]})}),a.jsx(le,{children:a.jsx("p",{children:c&&l?l:h(i||r)})})]})})},fc=({parentId:t,position:e,gridCols:n="grid-cols-2",disableBlockGroupsSidebar:s=!1})=>{const r=K.useRegisteredChaiBlocks(),o=d.groupBy(r,"category"),i=d.uniq(d.map(o.core,"group"));return a.jsx(jc,{gridCols:n,parentId:t,position:e,groups:i,blocks:o.core,disableBlockGroupsSidebar:s})},Po=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("rounded-xl border bg-card text-card-foreground shadow",t),...e}));Po.displayName="Card";const Lo=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("flex flex-col space-y-1.5 p-6",t),...e}));Lo.displayName="CardHeader";const hc=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("font-semibold leading-none tracking-tight",t),...e}));hc.displayName="CardTitle";const mc=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("text-sm text-muted-foreground",t),...e}));mc.displayName="CardDescription";const Do=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("p-6 pt-0",t),...e}));Do.displayName="CardContent";const Mo=O.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:T.cn("flex items-center p-6 pt-0",t),...e}));Mo.displayName="CardFooter";const Fn=O.forwardRef(({className:t,...e},n)=>a.jsx("textarea",{className:T.cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:n,...e}));Fn.displayName="Textarea";const gc=({parentId:t,position:e,fromSidebar:n})=>{const{t:s}=z.useTranslation(),[r,o]=g.useState(""),{addPredefinedBlock:i}=xt(),[l,c]=g.useState(!1),u=async()=>{c(!0);const p=await T.getPreImportHTML(r),f=se.getBlocksFromHTML(p);i([...f],t,e),o(""),c(!1),ae.publish(Y.CLOSE_ADD_BLOCK)};return a.jsxs(Po,{className:`border-border/0 p-0 shadow-none ${n?"w-full":"max-w-full"}`,children:[a.jsx(Lo,{className:n?"p-0":"p-3",children:a.jsx(mc,{className:n?"text-xs":"",children:s("Use HTML snippets from Tailwind CSS component libraries")})}),a.jsx(Do,{className:`space-y-2 py-0 ${n?"p-0":"px-3"}`,children:a.jsxs("div",{className:"space-y-1",children:[a.jsx(ct,{htmlFor:"current",className:"text-sm",children:s("Tailwind HTML snippet")}),a.jsx(Fn,{onChange:p=>o(p.target.value),rows:12,value:r,placeholder:s("Enter your code snippet here"),className:"resize-none overflow-x-auto whitespace-pre bg-background font-mono text-xs font-normal"})]})}),a.jsx(Mo,{className:"flex flex-col justify-end p-3",children:a.jsx(T.Button,{disabled:r.trim()===""||l,onClick:()=>u(),size:"sm",className:"w-fit",children:l?a.jsxs(a.Fragment,{children:[a.jsx(v.CircleIcon,{className:"mr-2 h-4 w-4 animate-spin"})," ",s("Importing...")]}):s("Import HTML")})})]})},Vs=ye.Root,Oo=ye.Value,zn=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(ye.Trigger,{ref:s,className:T.cn("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground [&>span]:line-clamp-1",t),...n,children:[e,a.jsx(ye.Icon,{asChild:!0,children:a.jsx(v.ChevronDownIcon,{className:"h-4 w-4 opacity-50"})})]}));zn.displayName=ye.Trigger.displayName;const xc=O.forwardRef(({className:t,...e},n)=>a.jsx(ye.ScrollUpButton,{ref:n,className:T.cn("flex cursor-default items-center justify-center py-1",t),...e,children:a.jsx(v.ChevronUpIcon,{className:"h-4 w-4"})}));xc.displayName=ye.ScrollUpButton.displayName;const bc=O.forwardRef(({className:t,...e},n)=>a.jsx(ye.ScrollDownButton,{ref:n,className:T.cn("flex cursor-default items-center justify-center py-1",t),...e,children:a.jsx(v.ChevronDownIcon,{className:"h-4 w-4"})}));bc.displayName=ye.ScrollDownButton.displayName;const Hn=O.forwardRef(({className:t,children:e,position:n="popper",...s},r)=>a.jsx(ye.Portal,{children:a.jsxs(ye.Content,{ref:r,className:T.cn("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] origin-[--radix-select-content-transform-origin] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...s,children:[a.jsx(xc,{}),a.jsx(ye.Viewport,{className:T.cn("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),a.jsx(bc,{})]})}));Hn.displayName=ye.Content.displayName;const lx=O.forwardRef(({className:t,...e},n)=>a.jsx(ye.Label,{ref:n,className:T.cn("px-2 py-1.5 text-sm font-semibold",t),...e}));lx.displayName=ye.Label.displayName;const Vn=O.forwardRef(({className:t,children:e,...n},s)=>a.jsxs(ye.Item,{ref:s,className:T.cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[a.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(ye.ItemIndicator,{children:a.jsx(v.CheckIcon,{className:"h-4 w-4"})})}),a.jsx(ye.ItemText,{children:e})]}));Vn.displayName=ye.Item.displayName;const cx=O.forwardRef(({className:t,...e},n)=>a.jsx(ye.Separator,{ref:n,className:T.cn("-mx-1 my-1 h-px bg-muted",t),...e}));cx.displayName=ye.Separator.displayName;const dx=({defaultValue:t="",onValueChange:e,options:n,placeholder:s="Select",className:r="",height:o=""})=>{const[i,l]=g.useState(t),c=u=>{const p=u.target.value;l(p),e(p)};return a.jsx("div",{className:pe.cn("relative inline-block w-full",r),children:a.jsxs("select",{className:pe.cn("mt-1 flex w-full rounded-md border border-border bg-background px-3 py-1 text-sm text-foreground shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",o),value:i,onChange:c,children:[a.jsx("option",{value:"",disabled:!0,children:s}),n.map(u=>a.jsx("option",{value:u.value,children:u.label},u.value))]})})};function ux({uiLibraries:t,library:e,setLibrary:n}){const{t:s}=z.useTranslation();return e?a.jsxs("div",{className:"h-12",children:[a.jsx("p",{className:"text-xs font-bold text-gray-500",children:s("Choose library")}),a.jsx(dx,{className:"mb-1",options:t.map(r=>({value:r.id,label:r.name})),defaultValue:e,onValueChange:r=>n(r)})]}):null}const yc=N.atom({}),kc=t=>{const[e,n]=N.useAtom(yc),s=g.useMemo(()=>(t==null?void 0:t.getBlocksList)||(()=>[]),[t]),r=d.get(e,`${t==null?void 0:t.id}.blocks`,null),o=d.get(e,`${t==null?void 0:t.id}.loading`,"idle"),i=d.get(e,`${t==null?void 0:t.id}.error`,!1),l=g.useRef("idle");g.useEffect(()=>{(async()=>{if(t&&!(o==="complete"||l.current==="loading")){l.current="loading",n(u=>({...u,[t==null?void 0:t.id]:{loading:"loading",blocks:[],error:!1}}));try{const u=await s(t);l.current="idle",n(p=>({...p,[t==null?void 0:t.id]:{loading:"complete",blocks:u||[],error:!1}}))}catch{l.current="idle",n(u=>({...u,[t==null?void 0:t.id]:{loading:"complete",blocks:[],error:!0}}))}}})()},[t,r,o,l,n,s]);const c=g.useCallback(u=>{n(p=>({...p,[u]:{loading:"idle",blocks:[],error:!1}}))},[n]);return{data:r||[],isLoading:o==="loading",isError:i,resetLibrary:c}},px=()=>N.useAtom(Zr),vc=({block:t,html:e,blocks:n,children:s,onDragStart:r,onDragEnd:o,draggable:i,className:l="",type:c="Box"})=>{const{onDragStart:u,onDragEnd:p}=sn(),f=Ye(),[,m]=q(),{clearHighlight:h}=nt(),x=i!==void 0?i:f,b=async k=>{try{if(r){r(k);return}let C=null;if(c==="Image"){if(!(t!=null&&t.image))return;C={type:"Image",blocks:[{_type:"Image",styles:"#styles:,w-full h-full object-cover",image:t==null?void 0:t.image,alt:(t==null?void 0:t.alt)||"",_name:(t==null?void 0:t.name)||"Image"}]}}else if(e){const A=typeof e=="function"?await e():e,w=se.getBlocksFromHTML(A);if(d.isEmpty(w))return;C={type:"Box",blocks:w,name:d.get(w,"0._type","Block")}}else if(n){const A=typeof n=="function"?await n():n;if(d.isEmpty(A))return;C={type:"Box",blocks:A,name:d.get(A,"0._type","Block")}}else if(t){const A=typeof t=="function"?await t():t;C=typeof A=="object"?d.omit(A,["component","icon"]):A}if(!C)return;u(k,C,!0),setTimeout(()=>{m([]),h()},200)}catch(C){console.error("Error in ChaiDraggableBlock drag start:",C)}},y=k=>{o?o(k):p()};return a.jsx("div",{draggable:x,onDragStart:b,onDragEnd:y,className:`${x?"cursor-grab active:cursor-grabbing":""} ${l}`.trim(),children:s})};function wc({value:t,setValue:e}){const{t:n}=z.useTranslation();return a.jsx("div",{className:"flex py-2",children:a.jsxs("div",{className:"relative flex w-full max-w-md items-center rounded border px-2",children:[a.jsxs("div",{className:"flex w-full items-center gap-x-2",children:[a.jsx(v.MagnifyingGlassIcon,{className:"h-5 w-5 flex-shrink-0 stroke-[1px] text-muted-foreground"}),a.jsx(T.Input,{placeholder:n("Search blocks..."),value:t,onChange:s=>e(s.target.value),className:"w-full flex-1 border-none p-0 leading-tight outline-none"})]}),t&&a.jsx("button",{onClick:()=>e(""),className:"absolute right-2.5 top-2.5 text-muted-foreground hover:text-foreground",children:a.jsx(v.Cross1Icon,{className:"h-3.5 w-3.5"})})]})})}const Pa=({block:t,library:e,parentId:n=void 0,position:s=-1})=>{const[r,o]=g.useState(!1),i=g.useMemo(()=>(e==null?void 0:e.getBlock)||(()=>[]),[e]),{addCoreBlock:l,addPredefinedBlock:c}=xt(),u=d.get(t,"name",d.get(t,"label")),p=d.get(t,"description",""),{onDragStart:f,onDragEnd:m}=sn(),h=Ye(),x=g.useCallback(async y=>{if(y.stopPropagation(),d.has(t,"component")){l(t,n,s),ae.publish(Y.CLOSE_ADD_BLOCK);return}o(!0);let k=await i({library:e,block:t});typeof k=="string"&&(k=se.getBlocksFromHTML(k)),d.isEmpty(k)||c(K.syncBlocksWithDefaultProps(k),n,s),ae.publish(Y.CLOSE_ADD_BLOCK),setTimeout(()=>o(!1),1e3)},[l,c,t,i,e,n,s]),b=async y=>{if(!h)return;let k=await i({library:e,block:t});typeof k=="string"&&(k=se.getBlocksFromHTML(k)),f(y,{type:"Box",blocks:k,name:u},!0)};return a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(vc,{draggable:h,onDragStart:b,onDragEnd:m,children:a.jsxs("div",{onClick:r?()=>{}:x,className:Va("relative mt-2 overflow-hidden rounded-md border border-border duration-200 hover:border-blue-500 hover:shadow-xl",h?"":"cursor-pointer"),children:[r&&a.jsxs("div",{className:"absolute flex h-full w-full items-center justify-center bg-black/70",children:[a.jsx(v.ReloadIcon,{className:"h-4 w-4 animate-spin text-white"}),a.jsx("span",{className:"pl-2 text-sm text-white",children:"Adding..."})]}),t.preview?a.jsx("img",{src:t.preview,className:"min-h-[45px] w-full rounded-md",alt:u}):a.jsxs("div",{className:"flex h-fit w-full flex-col items-center justify-center gap-1 rounded-md border border-border p-6 py-10 text-center",children:[a.jsx("p",{className:"font-medium text-gray-800",children:u}),p&&a.jsx("p",{className:"text-sm text-gray-600",children:p})]})]})})}),a.jsx(le,{children:a.jsx("div",{className:"max-w-xs",children:a.jsx("p",{className:"font-medium",children:u})})})]})},fx=({parentId:t,position:e,fromSidebar:n})=>{const[s,r]=px(),o=T.useChaiLibraries(),i=o.find(R=>R.id===s)||d.first(o),{data:l,isLoading:c,isError:u,resetLibrary:p}=kc(i),[f,m]=g.useState(""),[h,x]=g.useState([]),b=g.useRef(null);g.useEffect(()=>{l&&Array.isArray(l)&&l.length>0&&(b.current=new Ga(l,{keys:["name","label","description","group"],threshold:.4,ignoreLocation:!0}))},[l]),g.useEffect(()=>{if(!f.trim()||!b.current){x([]);return}const R=b.current.search(f).map(M=>M.item);x(R)},[f]);const y=f.trim()&&!d.isEmpty(h)?h:l||[],k=d.groupBy(y,"group"),[C,A]=g.useState(null);g.useEffect(()=>{if(d.isEmpty(d.keys(k))){A(null);return}if(!C||!k[C]){A(d.first(d.keys(k))||null);return}},[k,C]);const w=d.get(k,C||"",[]),j=g.useRef(null),{t:_}=z.useTranslation(),S=g.useRef(null);g.useEffect(()=>{var M;const R=(M=S.current)==null?void 0:M.querySelector("[data-radix-scroll-area-viewport]");R&&R.scrollTo({top:0,behavior:"smooth"})},[i,C]);const E=R=>{j.current&&(clearTimeout(j.current),j.current=null),j.current=setTimeout(()=>{j.current&&A(R)},400)},I=()=>{i!=null&&i.id&&p(i.id)};if(c)return a.jsxs("div",{className:"mt-4 grid h-full w-full grid-cols-12 gap-2",children:[a.jsx(Rt,{className:"col-span-3 h-full"}),a.jsx(Rt,{className:"col-span-9 h-full"})]});const B=d.filter(w,(R,M)=>M%2===0),P=d.filter(w,(R,M)=>M%2===1);return a.jsx(a.Fragment,{children:a.jsxs("div",{className:"flex h-full max-h-full flex-col",children:[a.jsx(wc,{value:f,setValue:m}),a.jsx("div",{className:"relative flex h-full max-h-full flex-1 overflow-hidden bg-background",children:a.jsxs("div",{className:`flex h-full flex-1 pt-2 ${n?"flex-col":""}`,children:[a.jsxs("div",{className:`flex max-h-full min-w-60 flex-col gap-1 ${n?"pb-2":"w-60 max-w-60 px-1 pr-2"}`,children:[a.jsx(ux,{library:i==null?void 0:i.id,setLibrary:r,uiLibraries:o}),a.jsxs("div",{className:"mt-2 flex h-full max-h-full w-full flex-1 flex-col",children:[a.jsx("span",{className:"text-xs font-bold text-gray-500",children:_("Groups")}),!n&&a.jsx("hr",{className:"mt-1 border-border"}),a.jsx("div",{className:`no-scrollbar mt-2 h-full max-h-full flex-1 overflow-y-auto ${n?"":"pb-20"}`,children:d.isEmpty(k)?a.jsx("div",{className:"mt-4 flex flex-col items-center justify-center gap-3 p-4 text-center",children:f?a.jsx("p",{className:"text-sm",children:_("No matching blocks found")}):u?a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"text-sm",children:_("Failed to load the UI library. Try again")}),a.jsxs(T.Button,{onClick:I,variant:"outline",size:"sm",className:"gap-2",children:[a.jsx(v.ReloadIcon,{className:"h-4 w-4"}),_("Retry")]})]}):a.jsx("p",{className:"text-sm",children:_("This library is empty")})}):n?a.jsxs(Vs,{value:C??"",onValueChange:A,children:[a.jsx(zn,{className:"w-full",children:a.jsx(Oo,{placeholder:_("Select a group")})}),a.jsx(Hn,{children:d.map(k,(R,M)=>a.jsx(Vn,{value:M,children:d.capitalize(_(M.toLowerCase()))},M))})]}):d.map(k,(R,M)=>a.jsxs("div",{onMouseEnter:()=>E(M),onMouseLeave:()=>j.current&&clearTimeout(j.current),role:"button",onClick:()=>A(M),className:T.cn("flex w-full cursor-pointer items-center justify-between rounded-md p-2 text-sm text-foreground transition-all ease-in-out hover:bg-gray-200 dark:hover:bg-gray-800",M===C?"bg-primary text-primary-foreground hover:bg-primary/80":""),children:[a.jsx("span",{children:d.capitalize(_(M.toLowerCase()))}),a.jsx(v.CaretRightIcon,{className:"ml-2 h-5 w-5"})]},M))})]})]}),a.jsx("div",{className:`flex h-full max-h-full w-full flex-col border-border ${n?"":"border-l"}`,children:a.jsxs(An,{ref:S,onMouseEnter:()=>j.current&&clearTimeout(j.current),className:"z-10 flex h-full max-h-full w-full flex-col gap-2 transition-all ease-linear",children:[d.isEmpty(w)&&!d.isEmpty(k)?a.jsx("div",{className:"flex h-full flex-col items-center justify-center p-6 text-center",children:a.jsx("p",{className:"text-sm",children:_("No blocks found in this group")})}):a.jsxs("div",{className:`grid w-full gap-2 ${n?"grid-cols-1 pb-20":"grid-cols-2 px-2"}`,children:[a.jsx("div",{className:"flex flex-col gap-1",children:B.map((R,M)=>a.jsx(Pa,{parentId:t,position:e,block:R,library:i},`block-${M}`))}),a.jsx("div",{className:"flex flex-col gap-1",children:P.map((R,M)=>a.jsx(Pa,{parentId:t,position:e,block:R,library:i},`block-second-${M}`))})]}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]})})]})})]})})},Cc=({parentId:t,position:e,fromSidebar:n})=>a.jsx(fx,{parentId:t,position:e,fromSidebar:n}),hx=N.atom({blocks:[],groups:[],isLoading:!0,error:null}),mx=N.atom(!1),La=t=>{if(!t)return"";let e=t.replace(/[-_]/g," ");return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e.split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ")},gx=({parentId:t,position:e,gridCols:n="grid-cols-2",disableBlockGroupsSidebar:s=!1})=>{const{data:r,isLoading:o,refetch:i,error:l}=hi(),[c,u]=N.useAtom(hx),[p,f]=N.useAtom(mx),m=fi();g.useEffect(()=>{if(!p||Object.keys(c.blocks).length===0)if(l)u({blocks:[],groups:[],isLoading:!1,error:l}),f(!0);else if(!o&&Object.keys(r||{}).length>0){const b=Object.entries(r).map(([k,C])=>{const A=C,w=A.type||"partial",j=La(w);return{type:"PartialBlock",label:La(A.name||k),description:A.description||"",icon:v.FrameIcon,group:j,category:"partial",partialBlockId:k,_name:A.name}}),y=d.uniq(d.map(b,"group"));u({blocks:b,groups:y,isLoading:!1,error:null}),f(!0)}else o?u(b=>({...b,isLoading:!0,error:null})):!o&&Object.keys(r||{}).length===0&&(u({blocks:[],groups:[],isLoading:!1,error:"No partial blocks available"}),f(!0))},[o,r,p,f,u,c.blocks,l]);const h=()=>{u(b=>({...b,isLoading:!0,error:null})),f(!1),i()},x=g.useMemo(()=>c.blocks.map(b=>{const{canAdd:y,reason:k}=m(b.partialBlockId);return{...b,disabled:!y,disabledReason:k}}),[c.blocks,m]);return c.isLoading?a.jsx("div",{className:"flex items-center justify-center p-8 text-center text-muted-foreground",children:"Loading partial blocks..."}):c.error||c.blocks.length===0?a.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 p-8 text-center text-muted-foreground",children:[a.jsx("p",{children:c.error||"No partial blocks available"}),a.jsx("button",{onClick:h,className:"rounded-md bg-primary px-3 py-1 text-sm text-primary-foreground hover:bg-primary/90",children:"Refresh"})]}):a.jsx(jc,{gridCols:n,parentId:t,position:e,groups:c.groups,blocks:x,disableBlockGroupsSidebar:s})},Da=["basic","typography","media","layout","form","advanced","other"],jc=({groups:t,blocks:e,parentId:n,position:s,gridCols:r="grid-cols-4",disableBlockGroupsSidebar:o})=>{var P;const{t:i}=z.useTranslation(),[l]=Z(),[c,u]=g.useState(""),p=g.useRef(null),[f]=N.useAtom(Sc),m=(P=d.find(l,R=>R._id===n))==null?void 0:P._type,[h,x]=g.useState("all"),[b,y]=g.useState(null),k=g.useRef(null),C=$("flags.dragAndDrop",!0);g.useEffect(()=>{const R=setTimeout(()=>{var M;(M=p.current)==null||M.focus()},0);return()=>clearTimeout(R)},[f]),g.useEffect(()=>{c&&(x("all"),y(null))},[c]),g.useEffect(()=>(k.current=d.debounce(R=>{x(R)},500),()=>{k.current&&k.current.cancel()}),[]);const A=g.useCallback(R=>{y(R),k.current&&k.current(R)},[]),w=g.useCallback(()=>{y(null),k.current&&k.current.cancel()},[]),j=g.useCallback(R=>{k.current&&k.current.cancel(),x(R),y(null)},[]),_=g.useMemo(()=>c?d.values(e).filter(R=>{var M,H;return(((M=R.label)==null?void 0:M.toLowerCase())+" "+((H=R.type)==null?void 0:H.toLowerCase())).includes(c.toLowerCase())}):e,[e,c]),S=g.useMemo(()=>c?t.filter(R=>d.reject(d.filter(d.values(_),{group:R}),{hidden:!0}).length>0):t.filter(R=>d.reject(d.filter(d.values(e),{group:R}),{hidden:!0}).length>0),[e,_,t,c]),E=g.useMemo(()=>d.sortBy(S,R=>Da.indexOf(R)===-1?99:Da.indexOf(R)),[S]),I=g.useMemo(()=>h==="all"?_:d.filter(d.values(_),{group:h}),[_,h]),B=g.useMemo(()=>h==="all"?E:[h],[E,h]);return a.jsxs("div",{className:"mx-auto flex h-full w-full flex-col",children:[a.jsx(wc,{value:c,setValue:u}),a.jsxs("div",{className:"sticky top-10 flex h-[calc(100%-48px)] overflow-hidden pt-2",children:[!o&&E.length>0&&a.jsx("div",{className:"w-1/4 min-w-[120px] border-r border-border",children:a.jsx(An,{className:"h-full",children:a.jsxs("div",{className:"space-y-1",children:[a.jsx("button",{onClick:()=>j("all"),onMouseEnter:()=>A("all"),onMouseLeave:w,className:`w-full rounded-md px-2 py-1.5 text-left text-sm font-medium ${h==="all"||b==="all"?"bg-primary text-primary-foreground":"hover:bg-primary/50 hover:text-primary-foreground"}`,children:i("All")},"sidebar-all"),E.map(R=>a.jsx("button",{onClick:()=>j(R),onMouseEnter:()=>A(R),onMouseLeave:w,className:`w-full rounded-md px-2 py-1.5 text-left text-sm ${h===R||b===R?"bg-primary text-primary-foreground":"hover:bg-primary/50 hover:text-primary-foreground"}`,children:d.capitalize(i(R.toLowerCase()))},`sidebar-${R}`))]})})}),a.jsx("div",{className:`h-full flex-1 overflow-hidden ${!o&&E.length>0?"w-3/4":"w-full"}`,children:a.jsx(An,{id:"add-blocks-scroll-area",className:"no-scrollbar h-full",children:S.length===0&&c?a.jsx("div",{className:"flex flex-col items-center justify-center p-8 text-center text-muted-foreground",children:a.jsxs("p",{children:[i("No blocks found matching"),' "',c,'"']})}):a.jsx("div",{className:`${o?"p-0":"p-4"} space-y-6`,children:B.map((R,M)=>a.jsxs("div",{className:"space-y-3",children:[a.jsx("h3",{className:"px-1 text-sm font-medium",children:d.capitalize(i(R.toLowerCase()))}),a.jsx("div",{className:"grid gap-2 "+r,children:d.reject(h==="all"?d.filter(d.values(I),{group:R}):d.values(I),{hidden:!0}).map((H,G)=>a.jsx(ix,{parentId:n,position:s,block:H,disabled:!C&&(!tt(m,H.type)||!Md(m,H.type))},H.type+"-"+M+"-"+G))})]},R))})})})]})]})},Sc=Oe.atomWithStorage("__add_block_tab","library"),$o=({className:t,showHeading:e=!0,parentId:n=void 0,position:s=-1,fromSidebar:r=!1})=>{const{t:o}=z.useTranslation(),[i,l]=N.useAtom(Sc),[,c]=N.useAtom(bi),u=$("flags.importHtml",!0),{data:p}=hi(),f=Object.keys(p||{}).length>0,{hasPermission:m}=We();g.useEffect(()=>{i==="partials"&&!f&&l("library")},[i,f,l]);const h=g.useCallback(()=>{ae.publish(Y.CLOSE_ADD_BLOCK)},[]),x=T.useChaiAddBlockTabs(),b=u&&m(Q.IMPORT_HTML),k=T.useChaiLibraries().length>0;return g.useEffect(()=>{i==="library"&&!k&&l("core")},[i,k,l]),a.jsxs("div",{className:pe.cn("flex h-full w-full flex-col overflow-hidden",t),children:[e?a.jsxs("div",{className:"mb-2 flex flex-col justify-between rounded-md bg-background/30 p-1",children:[a.jsx("h1",{className:"flex flex-col items-baseline px-1 text-xl font-semibold xl:flex-col",children:o("Add block")}),a.jsx("span",{className:"p-0 text-xs font-light leading-3 opacity-80 xl:pl-1",children:o(i==="html"?"Enter or paste TailwindCSS HTML snippet":"Click to add block to page")})]}):null,a.jsxs(Hs,{onValueChange:C=>{c(""),l(C)},value:i,className:"flex h-full max-h-full flex-col overflow-hidden",children:[a.jsxs($n,{className:`flex items-center ${r?"h-max w-max justify-start p-1":"w-full"}`,children:[k&&a.jsx(Ve,{value:"library",className:r?"h-5 px-2 text-xs":"",children:o("Library")}),a.jsx(Ve,{value:"core",className:r?"h-5 px-2 text-xs":"",children:o("Blocks")}),f&&a.jsx(Ve,{value:"partials",className:r?"h-5 px-2 text-xs":"",children:o("Partials")}),b?a.jsx(Ve,{value:"html",className:r?"h-5 px-2 text-xs":"",children:o("Import")}):null,d.map(x,C=>a.jsx(Ve,{value:C.id,className:r?"h-5 px-2 text-xs":"",children:g.createElement(C.tab)},`tab-add-block-${C.id}`))]}),a.jsx(at,{value:"core",className:"h-full max-h-full flex-1 pb-20",children:a.jsx("div",{className:"h-full max-h-full overflow-hidden",children:a.jsx("div",{className:"h-full w-full",children:a.jsx(fc,{gridCols:r?"grid-cols-2":"grid-cols-4",parentId:n,position:s,disableBlockGroupsSidebar:r})})})}),k&&a.jsx(at,{value:"library",className:"h-full max-h-full flex-1 pb-20",children:a.jsx(Cc,{fromSidebar:r,parentId:n,position:s})}),f&&a.jsx(at,{value:"partials",className:"h-full max-h-full flex-1 pb-20",children:a.jsx("div",{className:"h-full max-h-full overflow-hidden",children:a.jsx("div",{className:"h-full w-full",children:a.jsx(gx,{gridCols:r?"grid-cols-2":"grid-cols-4",parentId:n,position:s,disableBlockGroupsSidebar:r})})})}),b?a.jsx(at,{value:"html",className:"h-full max-h-full flex-1 pb-20 ",children:a.jsx(gc,{parentId:n,position:s,fromSidebar:r})}):null,d.map(x,C=>a.jsx(at,{value:C.id,children:g.createElement(C.tabContent,{close:h,parentId:n,position:s})},`panel-add-block-${C.id}`))]})]})},xx={display:"flex",alignItems:"center",zIndex:1},bx=g.memo(function({top:e,left:n,indent:s}){const r={position:"absolute",pointerEvents:"none",top:e-1+"px",left:"0px",right:0,paddingLeft:n+s+"px"};return a.jsxs("div",{style:{...xx,...r},children:[a.jsx("div",{className:"h-1 w-1 rounded-full bg-green-500"}),a.jsx("div",{className:"h-[1px] flex-1 rounded-[1px] border-t border-green-500"})]})}),yx=[{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 kx(t){t.firstNode&&t.select(t.firstNode.id)}function vx(t){t.lastNode&&t.select(t.lastNode.id)}function wx(t){const e=t.selectedNodes[0].next||t.firstNode;t.select(e.id)}function Cx(t){const e=t.selectedNodes[0].prev||t.lastNode;t.select(e.id)}const jx=(t,e)=>{const n=t.selectedNodes[0],s=(n==null?void 0:n.parent)||null;s&&e&&t.select(s.id)},Sx=(t,e)=>{const n=t.selectedNodes[0];n.isInternal&&e&&n.open()},Nx=(t,e)=>{const n=t.selectedNodes[0];n.isInternal&&e&&n.close()},Fo=Pe.Root,Nc=Pe.Trigger,Ex=Pe.Portal,Ec=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Overlay,{className:T.cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e,ref:n}));Ec.displayName=Pe.Overlay.displayName;const Ws=O.forwardRef(({className:t,...e},n)=>a.jsxs(Ex,{children:[a.jsx(Ec,{}),a.jsx(Pe.Content,{ref:n,className:T.cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...e})]}));Ws.displayName=Pe.Content.displayName;const Gs=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col space-y-2 text-center sm:text-left",t),...e});Gs.displayName="AlertDialogHeader";const zo=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});zo.displayName="AlertDialogFooter";const Us=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Title,{ref:n,className:T.cn("text-lg font-semibold",t),...e}));Us.displayName=Pe.Title.displayName;const Ho=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Description,{ref:n,className:T.cn("text-sm text-muted-foreground",t),...e}));Ho.displayName=Pe.Description.displayName;const Vo=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Action,{ref:n,className:T.cn(T.buttonVariants(),t),...e}));Vo.displayName=Pe.Action.displayName;const Wo=O.forwardRef(({className:t,...e},n)=>a.jsx(Pe.Cancel,{ref:n,className:T.cn(T.buttonVariants({variant:"outline"}),"mt-2 sm:mt-0",t),...e}));Wo.displayName=Pe.Cancel.displayName;const Ac=({children:t})=>{const{t:e}=z.useTranslation(),{setNewBlocks:n}=Ee(),[,s]=q(),[,r]=Ae(),o=g.useCallback(()=>{n([]),s([]),r([])},[n]);return a.jsx("div",{className:"flex items-center",children:a.jsxs(Fo,{children:[a.jsx(Nc,{asChild:!0,children:t||a.jsx(T.Button,{size:"sm",variant:"ghost",className:"flex items-center",children:a.jsx(v.EraserIcon,{})})}),a.jsxs(Ws,{className:"border-border",children:[a.jsxs(Gs,{children:[a.jsx(Us,{className:"text-foreground",children:e("Clear whole canvas?")}),a.jsx(Ho,{children:e("Are you sure you want to clear the page?")})]}),a.jsxs(zo,{children:[a.jsx(Wo,{className:"text-foreground",children:e("Cancel")}),a.jsx(Vo,{onClick:o,children:e("Yes")})]})]})]})})},Ax=()=>{const t=X(),{t:e}=z.useTranslation(),[,n]=N.useAtom(ci),s=T.useSaveToLibraryComponent(),r=()=>{t&&n({isOpen:!0,blockId:t._id})};return s?a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:r,children:[a.jsx(v.CheckIcon,{className:"h-4 w-4"})," ",t!=null&&t._libBlockId?e("Update library block"):e("Save to library")]}):null},Ix=()=>{const{t}=z.useTranslation(),e=X(),n=Ke(),s=()=>{e&&n([e._id],{_libBlockId:null})};return a.jsxs(ge,{onClick:s,className:"flex items-center gap-x-4 text-xs",children:[a.jsx(v.LinkBreak2Icon,{className:"h-4 w-4"})," ",t("Unlink from library")]})},Ma=()=>{const{t}=z.useTranslation(),[e]=q();return $("flags.exportCode",!1)?a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:()=>ae.publish(Y.OPEN_EXPORT_CODE,e),children:[a.jsx(v.DownloadIcon,{})," ",t("Export")]}):null},Oa=({isFromBody:t=!1})=>{const[e]=Z(),[n]=q(),{pasteBlocks:s}=ro(),[,r,o]=Fi(),{t:i}=z.useTranslation(),l=X(),c=$("flags.copyPaste",!0),u=g.useCallback(()=>{var m;const f=(t?(m=e==null?void 0:e.filter(h=>!(h!=null&&h._parent)))==null?void 0:m.map(h=>h==null?void 0:h._id):n).map(h=>{const x=e.find(b=>b._id===h);return{id:h,data:x}});o(f.map(h=>h.id))?ue.toast.warning("Partial blocks detected. Clone partial blocks?",{cancel:{label:i("No"),onClick:()=>{r(f.map(h=>h.id)),ue.toast.dismiss()}},action:{label:i("Yes"),onClick:()=>{r(f.map(h=>h.id),!0),ue.toast.dismiss()}},position:"top-center"}):r(f.map(h=>h.id))},[n,e,r,o]);return a.jsxs(a.Fragment,{children:[c&&a.jsxs(ge,{disabled:!Lr(l==null?void 0:l._type),onClick:u,className:"flex items-center gap-x-4 text-xs",children:[a.jsx(v.CopyIcon,{})," ",i("Copy")]}),c&&a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:()=>{s(n)},children:[a.jsx(v.CardStackIcon,{})," ",i("Paste")]})]})},_x=()=>{const[t]=q(),[,e]=Rs(),{t:n}=z.useTranslation(),s=$("flags.copyPaste",!0);return a.jsx(a.Fragment,{children:s&&a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:()=>e(t),children:[a.jsx(v.ScissorsIcon,{})," ",n("Cut")]})})},Tx=()=>{const[t]=q(),e=Is(),n=X(),{t:s}=z.useTranslation();return a.jsxs(ge,{disabled:!Dr(n==null?void 0:n._type),className:"flex items-center gap-x-4 text-xs",onClick:()=>e(t),children:[a.jsx(v.TrashIcon,{})," ",s("Remove")]})},Bx=({node:t})=>{const{t:e}=z.useTranslation();return a.jsxs(ge,{onClick:n=>{n.stopPropagation(),t.edit(),t.deselect()},className:"flex items-center gap-x-4 text-xs",children:[a.jsx(v.Pencil2Icon,{className:"h-4 w-4"})," ",e("Rename")]})},Rx=({node:t})=>{const{t:e}=z.useTranslation(),[n]=q(),s=no(),r=X(),{hasPermission:o}=We(),{librarySite:i}=$("flags",{librarySite:!1}),l=Ye(),c=g.useCallback(()=>{s(n)},[n,s]),u=g.useMemo(()=>d.has(r,"_libBlockId")&&!d.isEmpty(r._libBlockId),[r==null?void 0:r._libBlockId]);return t==="BODY"?a.jsx(et,{side:"bottom",className:"border-border text-xs",children:o(Q.ADD_BLOCK)&&a.jsxs(a.Fragment,{children:[a.jsxs(ge,{disabled:!1,className:"flex items-center gap-x-4 text-xs",onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK,r),children:[a.jsx(v.PlusIcon,{className:"h-3.5 w-3.5"})," ",e("Add block")]}),o(Q.ADD_BLOCK)&&a.jsx(Oa,{isFromBody:!0}),a.jsx(Ma,{}),a.jsx(ge,{disabled:!1,onClick:p=>p.preventDefault(),className:"flex items-center gap-x-4 text-xs",children:a.jsx(Ac,{children:a.jsxs("div",{className:"flex items-center gap-x-4 text-xs",children:[a.jsx(v.EraserIcon,{})," ",e("Clear canvas")]})})})]})}):a.jsxs(et,{side:"bottom",className:"border-border text-xs",children:[o(Q.ADD_BLOCK)&&a.jsxs(a.Fragment,{children:[!l&&a.jsxs(ge,{disabled:!is(r==null?void 0:r._type),className:"flex items-center gap-x-4 text-xs",onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK,r),children:[a.jsx(v.PlusIcon,{className:"h-3.5 w-3.5"})," ",e("Add block")]}),a.jsxs(ge,{disabled:!Lr(r==null?void 0:r._type),className:"flex items-center gap-x-4 text-xs",onClick:c,children:[a.jsx(v.CardStackPlusIcon,{})," ",e("Duplicate")]})]}),a.jsx(Bx,{node:t}),o(Q.MOVE_BLOCK)&&a.jsx(_x,{}),o(Q.ADD_BLOCK)&&a.jsx(Oa,{}),u&&i&&a.jsx(Ix,{}),o(Q.CREATE_LIBRARY_BLOCK)&&i&&a.jsx(Ax,{}),a.jsx(Ma,{}),o(Q.DELETE_BLOCK)&&a.jsx(Tx,{})]})},Ic=({children:t,id:e,node:n})=>{const[,s]=q();return a.jsx(a.Fragment,{children:a.jsxs(mt,{onOpenChange:r=>{r&&s([e])},children:[a.jsx(gt,{children:t}),a.jsx(Rx,{node:n})]})})},$a="h-3 w-3 flex-shrink-0",_c=t=>{const e=K.useRegisteredChaiBlocks(),n=d.get(e,[t.type,"icon"]);return n?g.createElement(n,{className:$a}):a.jsx(v.BoxIcon,{className:$a})},Q={ADD_BLOCK:"add_block",DELETE_BLOCK:"delete_block",EDIT_BLOCK:"edit_block",MOVE_BLOCK:"move_block",EDIT_THEME:"edit_theme",SAVE_PAGE:"save_page",EDIT_STYLES:"edit_styles",IMPORT_HTML:"import_html",CREATE_LIBRARY_BLOCK:"create_library_block",CREATE_LIBRARY_GROUP:"create_library_group",EDIT_LIBRARY_BLOCK:"edit_library_block",DELETE_LIBRARY_BLOCK:"delete_library_block"};Object.values(Q);const Px=()=>{const[t]=N.useAtom(Qt),[e]=N.useAtom(Or),[n]=N.useAtom($r),[s]=N.useAtom(Fr),[r]=N.useAtom(Qa),[o]=N.useAtom(ei),[i]=N.useAtom(ti);return{errors:t,isValid:e,hasErrors:n,hasWarnings:s,errorCount:r,warningCount:o,errorsByBlock:i,getBlockErrors:l=>i[l]||[],getErrorsBySeverity:l=>t.filter(c=>c.severity===l),getErrorMessages:()=>t.map(l=>l.message),getErrorMessagesBySeverity:l=>t.filter(c=>c.severity===l).map(c=>c.message),getAllErrorMessages:()=>({errors:t.filter(l=>l.severity==="error").map(l=>l.message),warnings:t.filter(l=>l.severity==="warning").map(l=>l.message)})}},Lx=({node:t})=>{var e,n;return a.jsx("input",{autoFocus:!0,className:me("ml-2 !h-4 w-full rounded-sm border border-border bg-background px-1 text-[11px] leading-tight outline-none",t.isSelected?"text-black dark:text-white":""),type:"text",defaultValue:((e=t.data)==null?void 0:e._name)||((n=t.data)==null?void 0:n._type),onFocus:s=>s.currentTarget.select(),onBlur:s=>t.submit(s.currentTarget.value),onKeyDown:s=>{s.key==="Enter"&&t.submit(s.currentTarget.value)}})},Dx=N.atom(null),pr=t=>{var e;return t!=null&&t._name?t._name:(t==null?void 0:t._type)==="Box"&&(t!=null&&t.tag)&&(t==null?void 0:t.tag)!=="div"?d.startCase(t.tag):((e=t==null?void 0:t._type)==null?void 0:e.split("/").pop())||""},Mx=(t,e)=>t.length>e?t.substring(0,e)+"...":t,Ox=g.memo(({node:t,style:e,dragHandle:n})=>{var we,Le;const{t:s}=z.useTranslation(),r=Ke(),[o]=N.useAtom(Ts),{hasPermission:i}=We();let l=null;const c=t.children&&t.children.length>0,{highlightBlock:u,clearHighlight:p}=nt(),f=Ye(),{id:m,data:h,isSelected:x,willReceiveDrop:b,isDragging:y,isEditing:k,handleClick:C}=t,A=Px(),w=g.useMemo(()=>A.getBlockErrors(m),[A,m]),j=d.get(h,"_show",!0),_=V=>{V.stopPropagation(),j&&t.toggle()},S=V=>{V.isInternal&&(l=V.isOpen,V.isOpen&&V.close())},E=V=>{V.isInternal&&l!==null&&(l?V.open():V.close(),l=null)},[I,B]=N.useAtom(Dx),P=()=>{var V,Ie;R(),(V=t.parent)!=null&&V.isSelected||B((Ie=t==null?void 0:t.parent)==null?void 0:Ie.id)},R=()=>{B(null)},M=V=>{R(),V.stopPropagation(),!t.isOpen&&j&&t.toggle(),C(V)};g.useEffect(()=>{const V=setTimeout(()=>{b&&!t.isOpen&&!y&&j&&t.toggle()},500);return()=>clearTimeout(V)},[b,t,y,j]);const H=(V,Ie)=>{var Wn;const yt=o.contentDocument||((Wn=o.contentWindow)==null?void 0:Wn.document),Vt=yt==null?void 0:yt.querySelector(`[data-block-id=${V}]`);Vt&&Vt.setAttribute("data-drop",Ie);const Wt=Vt.getBoundingClientRect(),kt=o.getBoundingClientRect();!(Wt.top>=kt.top&&Wt.left>=kt.left&&Wt.bottom<=kt.bottom&&Wt.right<=kt.right)&&yt&&(yt.documentElement.scrollTop=Vt.offsetTop-kt.top)},G=V=>{R();const Ie=d.get(t,"parent.id");Ie!=="__REACT_ARBORIST_INTERNAL_ROOT__"?ae.publish(Y.OPEN_ADD_BLOCK,{_id:Ie,position:V}):ae.publish(Y.OPEN_ADD_BLOCK,{position:V})},{librarySite:be}=$("flags",{librarySite:!1}),de=g.useMemo(()=>be&&d.has(h,"_libBlockId")&&!d.isEmpty(h._libBlockId)&&(i(Q.CREATE_LIBRARY_BLOCK)||i(Q.EDIT_LIBRARY_BLOCK)),[h,i,be]),re=g.useMemo(()=>(h==null?void 0:h._type)==="PartialBlock"||(h==null?void 0:h._type)==="GlobalBlock",[h]);return m===U.ROOT_TEMP_KEY?a.jsxs("div",{className:"group relative mt-2 w-full cursor-pointer",children:[a.jsx("br",{}),i(Q.ADD_BLOCK)&&a.jsx("div",{role:"button",onClick:()=>G(-1),className:"h-1 rounded bg-primary opacity-0 duration-200 group-hover:opacity-100",children:a.jsxs("div",{className:"absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 transform items-center gap-x-1 rounded-full bg-primary px-3 py-1 text-[9px] leading-tight text-white hover:bg-primary",children:[a.jsx(v.PlusIcon,{className:"w-2.4 h-2.5 stroke-[5] text-white"})," ",s("Add block")]})}),a.jsx("br",{})]}):a.jsx("div",{className:me("relative flex h-full w-full items-center",x?"bg-primary/20":"hover:bg-gray-100"),children:a.jsxs("div",{className:"w-full",onMouseEnter:()=>u(m),onMouseLeave:()=>p(),onClick:M,style:e,"data-node-id":m,ref:n,onDragStart:()=>S(t),onDragEnd:()=>E(t),onDragOver:V=>{V.preventDefault(),H(m,"yes")},onDragLeave:V=>{V.preventDefault(),H(m,"no")},onDrop:V=>{V.preventDefault(),H(m,"no")},children:[t.level>0&&a.jsx("div",{className:"pointer-events-none absolute left-0 top-0 h-full",children:Array.from({length:t.level}).map((V,Ie)=>a.jsx("div",{className:"absolute top-0 h-full border-l border-black/5 transition-colors group-hover/parent:border-black/30",style:{left:`${Ie*14+10}px`}},Ie))}),i(Q.ADD_BLOCK)&&!f&&(t==null?void 0:t.rowIndex)!==null&&(t==null?void 0:t.rowIndex)!==void 0&&(t==null?void 0:t.rowIndex)>0&&(((we=t.parent)==null?void 0:we.isOpen)&&is(d.get(t,"parent.data._type"))||((Le=t==null?void 0:t.parent)==null?void 0:Le.id)==="__REACT_ARBORIST_INTERNAL_ROOT__")&&a.jsx("div",{className:"group relative ml-5 h-full w-full cursor-pointer",children:a.jsx("div",{onClick:V=>{V.stopPropagation(),G(t.childIndex)},onMouseEnter:P,onMouseLeave:R,className:"absolute -top-0.5 h-0.5 w-[90%] rounded bg-primary/80 opacity-0 delay-200 duration-200 group-hover:opacity-100",children:a.jsx("div",{className:"absolute left-1/2 top-1/2 flex h-4 w-4 -translate-x-1/2 -translate-y-1/2 transform items-center justify-center rounded-full bg-primary/80 p-1 outline outline-2 outline-white hover:bg-primary/80",children:a.jsx(v.PlusIcon,{className:"h-2 w-2 stroke-[2] text-white"})})})}),a.jsx("div",{className:"absolute left-0 right-0 top-0 -z-10 h-full",children:a.jsx("div",{className:me("h-full transition-colors",b&&tt(h._type,"Icon")?"bg-green-200":"",(t==null?void 0:t.id)===I?"bg-gray-100 dark:bg-gray-900":"")})}),a.jsxs("div",{className:me("group relative flex w-full cursor-pointer items-center justify-between space-x-px p-1 py-0 outline-none",y&&"opacity-20",j?"":"line-through opacity-50",de&&x&&"text-primary"),children:[a.jsxs("div",{className:"flex items-center",children:[a.jsx("div",{className:`flex h-4 w-4 rotate-0 transform cursor-pointer items-center justify-center transition-transform duration-100 ${t.isOpen?"rotate-90":""}`,children:c&&a.jsx("button",{onClick:_,type:"button",children:a.jsx(v.ChevronRightIcon,{className:"h-3 w-3"})})}),a.jsxs("div",{className:me("leading-1 flex w-full items-center",de&&"text-orange-600/90",de&&x&&"text-orange-800",re&&"text-purple-600/90",re&&x&&"text-purple-800"),children:[w.length>0?a.jsx("div",{className:"text-red-500",children:a.jsx(v.ExclamationTriangleIcon,{className:"h-3 w-3"})}):a.jsx(_c,{type:h==null?void 0:h._type}),k?a.jsx(Lx,{node:t}):a.jsx("div",{className:"ml-1.5 flex items-center gap-x-1 truncate text-[13px]",onDoubleClick:V=>{V.stopPropagation(),t.edit(),t.deselect()},children:a.jsx("span",{title:pr(h).length>17?pr(h):"",children:Mx(pr(h),17)})})]})]}),a.jsxs("div",{className:"invisible flex items-center space-x-1.5 pr-px group-hover:visible",children:[is(h==null?void 0:h._type)&&j&&i(Q.ADD_BLOCK)?a.jsxs(fe,{children:[a.jsx(he,{onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK,{_id:m}),className:"cursor-pointer rounded bg-transparent p-px hover:bg-primary/10",asChild:!0,children:a.jsx(v.PlusIcon,{className:"h-4 w-4"})}),a.jsx(le,{className:"isolate z-[9999]",side:"bottom",children:s("Add block inside")})]}):null,a.jsxs(fe,{children:[a.jsx(he,{onClick:V=>{V.stopPropagation(),r([m],{_show:!j}),t.isOpen&&t.toggle()},className:"cursor-pointer rounded bg-transparent p-0.5 hover:bg-primary/10",asChild:!0,children:j?a.jsx(v.EyeClosedIcon,{className:"h-4 w-4"}):a.jsx(v.EyeOpenIcon,{className:"h-4 w-4"})}),a.jsx(le,{className:"isolate z-[9999] text-xs",side:"bottom",children:s(j?"Hide the block from page":"Show the block on page")})]}),a.jsx(Ic,{node:t,id:m,children:a.jsx("div",{className:"cursor-pointer rounded bg-transparent p-px hover:bg-primary/10",children:a.jsx(v.DotsVerticalIcon,{className:"h-3 w-3"})})})]})]})]})})}),Tc=(t,e)=>{const n=d.filter(t,{_parent:e});if(n.length===0)return[];const s=[...n];return n.forEach(r=>{s.push(...Tc(t,r==null?void 0:r._id))}),s},$x=()=>{const[t,e]=N.useAtom(ci),{t:n}=z.useTranslation(),[s]=Z(),r=()=>e({isOpen:!1,blockId:null}),o=T.useSaveToLibraryComponent(),i=g.useMemo(()=>{if(!t.blockId)return[];const l=d.find(s,{_id:t.blockId});return l==null||delete l._parent,[l,...Tc(s,l==null?void 0:l._id)]},[t.blockId,s]);return a.jsx(Pn,{open:t.isOpen,onOpenChange:l=>!l&&r(),children:a.jsxs(ln,{className:"p-4 sm:max-w-[450px]",children:[a.jsx(Ln,{className:"pb-2",children:a.jsx(cn,{children:n("Save to Library")})}),o&&!d.isEmpty(t.blockId)&&a.jsx(o,{blockId:t.blockId,blocks:i,close:r})]})})},Fx=({parentContext:t,setParentContext:e})=>{const{t:n}=z.useTranslation(),{canPaste:s,pasteBlocks:r}=ro(),o=$("flags.copyPaste",!0);return g.useEffect(()=>{s("root")||e(null)},[s("root")]),!t||!s("root")||!o?null:a.jsx("div",{className:"absolute inset-0",children:a.jsxs(mt,{open:!0,onOpenChange:()=>e(null),children:[a.jsx(gt,{className:"hidden"}),a.jsx(et,{className:"absolute w-28 p-1 text-xs",style:{top:t.y,left:t.x},children:a.jsxs(ge,{className:"flex items-center gap-x-4 text-xs",onClick:()=>{r("root"),e(null)},children:[a.jsx(v.CardStackIcon,{})," ",n("Paste")]})})]})})},zx=()=>{const[t]=Z();return(e,n)=>{if(!n)return!!d.first(e.map(i=>{var l;return(l=d.find(t,{_id:i}))==null?void 0:l._type}));const s=d.find(t,{_id:n});if(!s)return!1;const r=d.first(e.map(o=>{var i;return(i=d.find(t,{_id:o}))==null?void 0:i._type}));return r?tt(s._type,r):!1}},Bc=()=>{const[t]=N.useAtom(Ja),[e,n]=q(),[s]=Rs(),r=Ke(),[,o]=Ae(),{moveBlocks:i}=Ee(),l=zx(),c=g.useRef(null),[,u]=N.useAtom(Jr),{t:p}=z.useTranslation(),[f,m]=g.useState(null),h=()=>{n([]),o([])},x=g.useMemo(()=>{const S=(I,B)=>I.filter(P=>!B.includes(P._id)).map(P=>({...P,children:P.children?S(P.children,B):[]}));return[...S(t,s),{_type:U.ROOT_TEMP_KEY,_id:U.ROOT_TEMP_KEY,children:[]}]},[t,s]),b=({id:S,name:E,node:I})=>{r([S],{_name:E},I.data._name)},y=({dragIds:S,parentId:E,index:I})=>{l(S,E)&&i(S,E??void 0,I)},k=S=>{if(S.length===0)return;const E=S[0]?S[0].id:"";o([]),n([E])},C=S=>{var B;S.preventDefault(),f&&m(null);const E=S.target,I=E.getAttribute("data-node-id")||((B=E.closest("[data-node-id]"))==null?void 0:B.getAttribute("data-node-id"));I?(o([]),n([I])):(o([]),n([]),m({x:S.clientX,y:S.clientY}))},A=xe.useDebouncedCallback(({parentNode:S,dragNodes:E})=>{var I;return(S==null?void 0:S.data._type)===U.ROOT_TEMP_KEY||!tt(S==null?void 0:S.data._type,(I=E[0])==null?void 0:I.data._type)},[],300),w=(S,E)=>{if(!S)return!0;const I={isLeaf:!E.isInternal,isClosed:!E.isOpen,isOpen:E.isOpen};try{let B=S;return Object.keys(I).forEach(P=>{const R=new RegExp(`\\b${P}\\b`,"g");B=B.replace(R,String(I[P]))}),new Function(`return ${B}`)()}catch{return console.warn("Invalid condition expression:",S),!1}},j=S=>{if(!c.current)return;const E=c.current,I=E.selectedNodes[0];if(!I)return;n([I.id]),o([]);const B=!I.isInternal,P=!I.isOpen,R=I.isOpen,M=yx.find(H=>H.key===S.key&&(!H.when||w(H.when,I)));if(M)switch(S.preventDefault(),M.command){case"selectNext":wx(E);break;case"selectPrev":Cx(E);break;case"selectParent":jx(E,B||P);break;case"close":Nx(E,R);break;case"open":Sx(E,P);break;case"selectFirst":kx(E);break;case"selectLast":vx(E);break}};g.useEffect(()=>{const S=()=>{c.current&&u(c.current)};S();const E=new MutationObserver(S);return E.observe(document.body,{childList:!0,subtree:!0}),()=>E.disconnect()},[u]);const{hasPermission:_}=We();return d.isEmpty(t)?a.jsx("div",{children:a.jsx("div",{className:"mt-10 flex h-full w-full items-center justify-center p-8",children:a.jsxs("div",{className:"flex flex-col items-center space-y-6 text-center",children:[a.jsx("div",{className:"rounded-full bg-muted p-6",children:a.jsx(v.StackIcon,{className:"h-12 w-12 text-muted-foreground"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("h3",{className:"text-lg font-semibold text-foreground",children:p("This page is empty")}),a.jsx("p",{className:"max-w-sm text-sm text-muted-foreground",children:p("Get started by adding your first block to begin building your page")})]}),_(Q.ADD_BLOCK)&&a.jsxs(T.Button,{onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK),className:"bg-primary shadow-sm hover:bg-primary/90",size:"sm",children:[a.jsx(v.PlusIcon,{className:"h-4 w-4"}),p("Add Block")]})]})})}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:pe.cn("chai-outline group/parent parent-group flex h-full select-none flex-col space-y-1"),onClick:()=>h(),children:a.jsxs("div",{id:"outline-view ",className:"no-scrollbar h-full overflow-y-auto text-sm",onKeyDown:S=>{c.current&&!c.current.isEditing&&j(S)},children:[a.jsxs("div",{className:"mb-2 flex items-center justify-end gap-x-1 pb-2 text-sm text-muted-foreground",children:[a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(T.Button,{className:"h-fit p-1",onClick:()=>{var S;return(S=c==null?void 0:c.current)==null?void 0:S.openAll()},variant:"ghost",size:"sm",children:a.jsx(v.DoubleArrowDownIcon,{className:"h-2 w-2"})})}),a.jsx(le,{className:"isolate z-[9999]",children:p("Expand all")})]}),a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:a.jsx(T.Button,{className:"h-fit p-1",onClick:()=>{var S;return(S=c==null?void 0:c.current)==null?void 0:S.closeAll()},variant:"ghost",size:"sm",children:a.jsx(v.DoubleArrowUpIcon,{className:"h-2 w-2"})})}),a.jsx(le,{className:"isolate z-[9999]",children:p("Collapse all")})]})]}),a.jsx("div",{className:"group relative z-30 ml-5 w-full cursor-pointer",children:a.jsx("div",{onClick:()=>ae.publish(Y.OPEN_ADD_BLOCK,{position:0}),className:"h-1 w-[90%] rounded bg-primary opacity-0 duration-200 group-hover:opacity-100",children:a.jsx("div",{className:"absolute left-[45%] top-1/2 flex h-4 w-4 -translate-x-1/2 -translate-y-1/2 transform items-center justify-center rounded-full bg-primary p-1 outline outline-2 outline-white hover:bg-primary",children:a.jsx(v.PlusIcon,{className:"h-3 w-3 stroke-[3] text-white"})})})}),a.jsx("div",{children:a.jsx("div",{role:"treeitem","aria-level":0,"aria-selected":!0,"aria-expanded":!1,onClick:()=>n([]),className:"flex min-h-[25px] items-center",children:a.jsxs("div",{className:pe.cn("group flex h-[25px] w-full cursor-pointer items-center justify-between space-x-px px-2 py-0 outline-none",e.length===0?"bg-primary/20":""),children:[a.jsxs("div",{className:"leading-1 flex items-center",children:[a.jsx(v.CardStackIcon,{className:"h-3 w-3 flex-shrink-0 rotate-180"}),a.jsx("div",{className:"ml-1.5 flex items-center gap-x-1 truncate text-[13px]",children:"Body"})]}),a.jsx(Ic,{node:"BODY",id:"BODY",children:a.jsx("div",{className:"hidden cursor-pointer rounded bg-transparent p-px hover:bg-primary/10 group-hover:block",children:a.jsx(v.DotsVerticalIcon,{className:"h-3 w-3"})})})]})})}),a.jsx(Sd.Tree,{ref:c,height:window.innerHeight-160,className:"no-scrollbar !h-full max-w-full !overflow-y-auto !overflow-x-hidden",rowClassName:"flex items-center h-full",selection:e[0]||"",onRename:b,openByDefault:!1,onMove:y,data:[...x],renderCursor:bx,onSelect:k,childrenAccessor:S=>S.children,width:"100%",rowHeight:25,renderDragPreview:()=>null,indent:14,onContextMenu:C,disableDrop:A,idAccessor:"_id",children:Ox})]})}),a.jsx($x,{}),a.jsx(Fx,{parentContext:f,setParentContext:m})]})},vn=O.forwardRef(({className:t,orientation:e="horizontal",decorative:n=!0,...s},r)=>a.jsx(Ka.Root,{ref:r,decorative:n,orientation:e,className:T.cn("shrink-0 bg-border",e==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...s}));vn.displayName=Ka.Root.displayName;const Rc=O.forwardRef(({className:t,...e},n)=>a.jsxs(pn.Root,{ref:n,className:T.cn("relative flex w-full touch-none select-none items-center",t),...e,children:[a.jsx(pn.Track,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-neutral-300",children:a.jsx(pn.Range,{className:"absolute h-full bg-neutral-900"})}),a.jsx(pn.Thumb,{className:"block h-4 w-4 rounded-full border border-neutral-900 bg-neutral-900 shadow transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-900 disabled:pointer-events-none disabled:opacity-50"})]}));Rc.displayName=pn.Root.displayName;const Hx=({value:t,onChange:e,disabled:n})=>{const[s,r]=g.useState(t),o=xe.useThrottledCallback(e,[t],200,!0);return a.jsx(Rc,{min:0,step:1,max:50,disabled:n,value:[Number(s.replace("px",""))],onValueChange:i=>{r(i[0].toString()+"px"),o(i[0].toString())},className:"flex-1 cursor-pointer"})},Vx=({value:t,onChange:e})=>{const n=d.debounce(s=>e(s),200);return a.jsx("div",{className:"relative flex h-6 w-6 cursor-pointer rounded-lg border border-border",style:{backgroundColor:t},children:a.jsx("input",{type:"color",value:t.startsWith("#")?t:"#000000",onChange:s=>{const r=s.target.value;/^#[0-9A-F]{6}$/i.test(r)&&n(r)},className:"absolute inset-0 h-full w-full cursor-pointer rounded-lg border-0 opacity-0"})})},Wx=({label:t,value:e,onChange:n})=>{const s=Tr.useRegisteredFonts(),{t:r}=z.useTranslation();return g.useEffect(()=>{s.some(o=>o.family===e)||n(s[0].family)},[e,n]),a.jsxs("div",{className:"space-y-0.5",children:[a.jsx(ct,{className:"mb-1 block text-xs text-gray-600",children:r(d.startCase(t))}),a.jsxs(Vs,{value:e,onValueChange:n,children:[a.jsx(zn,{className:"h-8 w-full text-xs text-black",children:a.jsx(Oo,{placeholder:r("Select font")})}),a.jsx(Hn,{children:s.map(o=>a.jsx(Vn,{value:o.family,children:o.family},o.family))})]})]})},Pc=()=>{const t=$("onSaveWebsiteData",async c=>{}),[e]=Rn(),n=g.useRef(!1),s=g.useCallback(async c=>{if(!n.current){n.current=!0;try{await t(c)}finally{n.current=!1}}},[t]),r=g.useCallback(async c=>{await s({type:"THEME",data:c??e})},[s,e]),o=g.useCallback(async c=>{const u=c??ze.get(en);await s({type:"DESIGN_TOKENS",data:u})},[s]),i=xe.useDebouncedCallback(r,[r],1e3),l=xe.useDebouncedCallback(o,[o],1e3);return{saveWebsiteData:s,saveTheme:r,saveDesignTokens:o,debouncedSaveTheme:i,debouncedSaveDesignTokens:l}},Gx={fontFamily:{heading:"Poppins",body:"Poppins"},borderRadius:"6px",colors:{background:["#ffffff","#0a0a0a"],foreground:["#0a0a0a","#fafafa"],primary:["#171717","#e5e5e5"],"primary-foreground":["#fafafa","#171717"],secondary:["#f5f5f5","#262626"],"secondary-foreground":["#171717","#fafafa"],muted:["#f5f5f5","#262626"],"muted-foreground":["#737373","#a1a1a1"],accent:["#f5f5f5","#404040"],"accent-foreground":["#171717","#fafafa"],destructive:["#e7000b","#ff6467"],"destructive-foreground":["#ffffff","#fafafa"],border:["#e5e5e5","#282828"],input:["#e5e5e5","#343434"],ring:["#a1a1a1","#737373"],card:["#ffffff","#171717"],"card-foreground":["#0a0a0a","#fafafa"],popover:["#ffffff","#262626"],"popover-foreground":["#0a0a0a","#fafafa"]}},Ux={fontFamily:{heading:"Poppins",body:"Poppins"},borderRadius:"4px",colors:{background:["#ffffff","#000000"],foreground:["#0f1419","#e7e9ea"],primary:["#1e9df1","#1c9cf0"],"primary-foreground":["#ffffff","#ffffff"],secondary:["#0f1419","#f0f3f4"],"secondary-foreground":["#ffffff","#0f1419"],muted:["#e5e5e6","#181818"],"muted-foreground":["#0f1419","#72767a"],accent:["#e3ecf6","#061622"],"accent-foreground":["#1e9df1","#1c9cf0"],destructive:["#f4212e","#f4212e"],"destructive-foreground":["#ffffff","#ffffff"],border:["#e1eaef","#242628"],input:["#f7f9fa","#22303c"],ring:["#1da1f2","#1da1f2"],card:["#f7f8f8","#17181c"],"card-foreground":["#0f1419","#d9d9d9"],popover:["#ffffff","#000000"],"popover-foreground":["#0f1419","#e7e9ea"]}},qx={fontFamily:{heading:"Geist",body:"Geist"},borderRadius:"4px",colors:{background:["#fdf6e3","#002b36"],foreground:["#073642","#93a1a1"],primary:["#d33682","#d33682"],"primary-foreground":["#ffffff","#ffffff"],secondary:["#2aa198","#2aa198"],"secondary-foreground":["#ffffff","#ffffff"],muted:["#93a1a1","#586e75"],"muted-foreground":["#073642","#93a1a1"],accent:["#cb4b16","#cb4b16"],"accent-foreground":["#ffffff","#ffffff"],destructive:["#dc322f","#dc322f"],"destructive-foreground":["#ffffff","#ffffff"],border:["#839496","#586e75"],input:["#839496","#586e75"],ring:["#d33682","#d33682"],card:["#eee8d5","#073642"],"card-foreground":["#073642","#93a1a1"],popover:["#eee8d5","#073642"],"popover-foreground":["#073642","#93a1a1"]}},Kx={fontFamily:{heading:"Poppins",body:"Poppins"},borderRadius:"6px",colors:{background:["#faf9f5","#262624"],foreground:["#3d3929","#c3c0b6"],primary:["#c96442","#d97757"],"primary-foreground":["#ffffff","#ffffff"],secondary:["#e9e6dc","#faf9f5"],"secondary-foreground":["#535146","#30302e"],muted:["#ede9de","#1b1b19"],"muted-foreground":["#83827d","#b7b5a9"],accent:["#e9e6dc","#1a1915"],"accent-foreground":["#28261b","#f5f4ee"],destructive:["#141413","#ef4444"],"destructive-foreground":["#ffffff","#ffffff"],border:["#dad9d4","#3e3e38"],input:["#b4b2a7","#52514a"],ring:["#c96442","#d97757"],card:["#faf9f5","#262624"],"card-foreground":["#141413","#faf9f5"],popover:["#ffffff","#30302e"],"popover-foreground":["#28261b","#e5e5e2"]}},Yx={fontFamily:{heading:"Inter",body:"Inter"},borderRadius:"6px",colors:{background:["#fff9f5","#2a2024"],foreground:["#3d3436","#f2e9e4"],primary:["#ff7e5f","#ff7e5f"],"primary-foreground":["#ffffff","#ffffff"],secondary:["#ffedea","#463a41"],"secondary-foreground":["#b35340","#f2e9e4"],muted:["#fff0eb","#392f35"],"muted-foreground":["#78716c","#d7c6bc"],accent:["#feb47b","#feb47b"],"accent-foreground":["#3d3436","#2a2024"],destructive:["#e63946","#e63946"],"destructive-foreground":["#ffffff","#ffffff"],border:["#ffe0d6","#463a41"],input:["#ffe0d6","#463a41"],ring:["#ff7e5f","#ff7e5f"],card:["#ffffff","#392f35"],"card-foreground":["#3d3436","#f2e9e4"],popover:["#ffffff","#392f35"],"popover-foreground":["#3d3436","#f2e9e4"]}},Xx=g.lazy(()=>Promise.resolve().then(()=>require("./css-import-modal-Bdwgd05S.cjs")).then(t=>({default:t.CssImportModal}))),Lc="chai-builder-previous-theme",Jx=[{shadcn_default:Gx},{twitter_theme:Ux},{solarized_theme:qx},{claude_theme:Kx},{supabase_theme:Yx}],Zx=t=>{if(!(typeof window>"u"))try{localStorage.setItem(Lc,JSON.stringify(t))}catch(e){console.warn("Failed to save previous theme to localStorage:",e)}},Qx=()=>{if(!(typeof window>"u"))try{localStorage.removeItem(Lc)}catch(t){console.warn("Failed to clear previous theme from localStorage:",t)}},Dc=O.memo(({className:t=""})=>{const[e,n]=rn(),[s,r]=O.useState(""),[o,i]=O.useState(!1),l=$("themePresets",{}),{hasPermission:c}=We(),{debouncedSaveTheme:u}=Pc(),p=$("flags.importTheme",!0),f=$("flags.darkMode",!1),m=Tr.useRegisteredFonts();(!l||l.length===0)&&Jx.map(E=>{l.push(E)});const[h,x]=Rn(),b=on(),{t:y}=z.useTranslation(),k=O.useCallback(E=>{const I={...h};Zx(I),x(E),u(),ue.toast.success("Theme updated",{action:{label:a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(v.ResetIcon,{className:"h-4 w-4"})," Undo"]}),onClick:()=>{x(I),Qx(),ue.toast.dismiss()}},closeButton:!0,duration:15e3})},[h,x,u]),C=()=>{const E=l.find(I=>Object.keys(I)[0]===s);if(E){const I=Object.values(E)[0];I&&typeof I=="object"&&"fontFamily"in I&&"borderRadius"in I&&"colors"in I?(k(I),r("")):console.error("Invalid preset structure:",I)}else console.error("Preset not found:",s)},A=E=>{k(E),r("")},w=xe.useDebouncedCallback((E,I)=>{x(()=>({...h,fontFamily:{...h.fontFamily,[E.replace(/font-/g,"")]:I}})),u()},[h,u],200),j=O.useCallback(E=>{x(()=>({...h,borderRadius:`${E}px`})),u()},[h,x,u]),_=xe.useDebouncedCallback((E,I)=>{x(()=>{const B=d.get(h,`colors.${E}`);return e?d.set(B,1,I):d.set(B,0,I),{...h,colors:{...h.colors,[E]:B}}}),u()},[h,u],200),S=E=>a.jsx("div",{className:"grid grid-cols-1",children:Object.entries(E.items).map(([I])=>{const B=d.get(h,`colors.${I}.${e?1:0}`);return B?a.jsxs("div",{id:`theme-${I}`,className:"mt-1 flex items-center gap-x-2",children:[a.jsx(Vx,{value:B,onChange:P=>_(I,P)}),a.jsx(ct,{className:"text-xs font-normal leading-tight",children:I.split(/(?=[A-Z])/).join(" ").replace(/-/g," ").split(" ").map(P=>P.charAt(0).toUpperCase()+P.slice(1)).join(" ")+(!I.toLowerCase().includes("foreground")&&!I.toLowerCase().includes("border")&&!I.toLowerCase().includes("input")&&!I.toLowerCase().includes("ring")&&!I.toLowerCase().includes("background")?" Background":"")})]},I):null})});return c("edit_theme")?a.jsx("div",{className:"relative w-full",children:a.jsxs("div",{className:pe.cn("no-scrollbar h-full w-full overflow-y-auto",t),children:[l.length>0&&a.jsxs("div",{className:"mx-0 my-2 flex flex-col gap-1 py-2",children:[a.jsxs("div",{className:"flex w-full items-center justify-between",children:[a.jsx(ct,{className:"text-sm",children:y("Presets")}),a.jsx("div",{className:"flex gap-2",children:p&&a.jsxs(T.Button,{className:"px-1",variant:"link",size:"sm",onClick:()=>i(!0),children:[a.jsx(v.UploadIcon,{className:"h-4 w-4"}),y("Import theme")]})})]}),a.jsxs("div",{className:"flex items-center gap-2 px-0",children:[a.jsx("div",{className:"w-[70%]",children:a.jsxs(Vs,{value:s,onValueChange:r,children:[a.jsx(zn,{className:"h-9 w-full text-sm",children:a.jsx(Oo,{placeholder:y("Select preset")})}),a.jsx(Hn,{children:Array.isArray(l)&&l.map(E=>{const I=Object.keys(E)[0],B=I.replaceAll("_"," ");return a.jsx(Vn,{value:I,children:d.capitalize(B)},I)})})]})}),a.jsx("div",{className:"w-[25%]",children:a.jsx(T.Button,{className:"w-full text-sm",disabled:!s,onClick:C,children:y("Apply")})})]})]}),a.jsx(vn,{}),a.jsxs("div",{className:pe.cn("my-2 space-y-3",t),children:[m.length>0?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.TextIcon,{className:"h-3 w-3 text-gray-600"}),a.jsx("span",{className:"text-xs font-medium text-gray-700",children:y("Typography")})]}),(b==null?void 0:b.fontFamily)&&a.jsx("div",{className:"space-y-2",children:Object.entries(b.fontFamily).map(([E,I])=>a.jsx(Wx,{label:E,value:h.fontFamily[E.replace(/font-/g,"")]||I[Object.keys(I)[0]],onChange:B=>w(E,B)},E))}),a.jsx(vn,{})]}):"",(b==null?void 0:b.borderRadius)&&a.jsxs("div",{className:"space-y-0.5",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.CornerTopRightIcon,{className:"h-3 w-3 text-gray-600"}),a.jsx("span",{className:"text-xs font-medium text-gray-700",children:y("Border Radius")})]}),a.jsx(Ds,{variant:"secondary",className:"text-xs",children:h.borderRadius})]}),a.jsx("div",{className:"flex items-center gap-4 py-2",children:a.jsx(Hx,{value:h.borderRadius,onChange:j})})]}),a.jsx(vn,{}),(b==null?void 0:b.colors)&&a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.MixerHorizontalIcon,{className:"h-3 w-3 text-gray-600"}),a.jsx("span",{className:"text-xs font-medium text-gray-700",children:y("Colors")})]}),f&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.SunIcon,{className:"h-4 w-4"}),a.jsx(dn,{checked:e,onCheckedChange:E=>n(E),"aria-label":y("Toggle dark mode"),className:"mx-1"}),a.jsx(v.MoonIcon,{className:"h-4 w-4"})]})]}),a.jsx("div",{className:"space-y-2",children:b.colors.map(E=>a.jsx("div",{children:S(E)},E.group))})]}),a.jsx(g.Suspense,{fallback:a.jsx("div",{children:y("Loading...")}),children:o&&p&&a.jsx(Xx,{open:o,onOpenChange:i,onImport:A})})]}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]})}):a.jsx("div",{className:"relative w-full",children:a.jsx("div",{className:pe.cn("no-scrollbar h-full w-full overflow-y-auto text-center",t),children:a.jsx("div",{className:"mt-10 h-full items-center justify-center gap-2 text-muted-foreground",children:a.jsx("p",{className:"text-sm",children:y("You don't have permission to edit the theme. Please contact your administrator to get access.")})})})})}),eb="Core",tb="Import",nb="Breakpoints",sb="Clear",rb="Cancel",ob="Yes",ab="Preview",ib="Settings",lb="Style",cb="Enter SVG code here",db="Remove",ub="Choose",pb="Cut",fb="Copy",hb="Paste",mb="Delete",gb="classes",xb="Theme",bb="Outline",yb="Copied",kb="Stop",vb="Edit",wb="Tag",Cb="Value",jb="URL",Sb="Images",Nb="Library",Eb="Blocks",Ab="Basic",Ib="Media",_b="Advanced",Tb="Form",Bb="Groups",Rb="Accordions",Pb="Buttons",Lb="Layouts",Db="FAQ",Mb="Hero",Ob="Features",$b="Footer",Fb="Navbar",zb="Icons",Hb="Testimonials",Vb="Blog",Wb="Saved",Gb="Unsaved",Ub="Randomize",qb="Classes",Kb="All",Yb="Undo",Xb="Redo",Jb="Duplicate",Zb="Close",Qb="Selected",ey="Select",ty="Attributes",ny="apply",sy="presets",ry="Orientation",oy="Color",ay="Upload",iy="Apply",ly="Back",cy="Insert",dy="Rename",uy="Partials",py="Happy",fy="Sad",hy="Retry",my="Canvas is empty",gy="Presets",xy="No",by="Saving",yy={heading_font:"Heading Font",body_font:"Body Font",rounded_corner:"Rounded Corners",primary:"Primary",secondary:"Secondary",background:"Background",text_color:"Text Color",background_dark_mode:"Background (Dark Mode)",text_color_dark_mode:"Text Color (Dark Mode)"},ky={box:"box",tag:"Tag",div:"div",level:"Level",header:"header",footer:"footer",section:"section",article:"article",aside:"aside",main:"main",nav:"navigation",figure:"figure",details:"details",summary:"summary",dialog:"dialog",strike:"strike",caption:"caption",legend:"legend",figcaption:"figure caption",mark:"mark",background_image:"Background Image",label:"Label",default:"default",icon_size:"Icon Size",icon_position:"Icon Position",start:"Start",end:"End",button:"Button",custom_html:"Custom HTML",html_code:"HTML Code",default_snippet:"The HTML snippet goes here...",placeholder:"Enter custom HTML code here",custom_script:"Custom Script",dark_mode:"Dark Mode",divider:"Divider",empty_box:"Empty Box",heading:"Heading",image:"Image",alt:"Alt",width:"Width",height:"Height",video:"Video",span:"Span",content:"Content",icon:"Icon",richtext:"Rich Text",list:"List",list_type:"List Type",listitem:"List Item",link:"Link",list_item:"List Item",none:"None",disc:"Disc",number:"Number",paragraph:"Paragraph",lightbox_link:"Lightbox Link",href:"Link",type:"Type",iframe:"iframe",inline:"inline",ajax:"ajax",autoplay:"Video autoplay",max_width:"Max Width",backdrop_color:"Background Color",gallery_name:"Gallery Name",slot:"Slot",empty_slot:"Empty Slot",text:"Text",video_url:"Video URL",controls:"Show Controls",loop:"Loop",muted:"Muted",checkbox:"Checkbox",required:"Required",checked:"Checked",submit_button:"Submit Button",form:"Form",submit_url:"Submit URL",error_message:"Error Message",success_message:"Success Message",input:"Input",value:"Value",show_label:"Show Label",field_name:"Field Name",radio:"Radio",multiple:"Multiple",options:"Options",select:"Select",multiple_choice:"Multiple Choice",textarea:"Textarea",rows:"Rows"},vy="Add",wy="Save",Cy="Screen",jy={"Add block":"Add Block","Add Block":"Add Block","Add blocks":"Add blocks","Add inside":"Add inside","Add before":"Add before","Add after":"Add after","Add block inside":"Add block inside","Add field":"Add field","Enter or paste TailwindCSS HTML snippet":"Enter or paste TailwindCSS HTML snippet","Click to add block to page":"Click to add block to page",Core:eb,"Custom Blocks":"Custom Blocks","UI Library":"UI Library",Import:tb,"Use HTML snippets from Tailwind CSS component libraries":"Use HTML snippets from Tailwind CSS component libraries","Tailwind HTML snippet":"Tailwind HTML snippet","Enter your code snippet here":"Enter your code snippet here","Import HTML":"Import HTML","Imported HTML Note":"NOTE: Imported html will be added to the currently selected block. If no block is selected, the html will be added to the page.","Dark Mode":"Dark Mode","This page has no blocks. Add a block by clicking the + button":"This page has no blocks. Add a block by clicking the + button","This page is empty":"This page is empty","Please select a block to edit settings or styles":"Please select a block to edit settings or styles","Please select a block to Ask AI":"Please select a block to ask AI","Please select a styling block":"Please select a styling block","Drop your block here":"Drop your block here","Use setting":"Use setting","Mobile (XS)":"Mobile (XS)","Styles set here are applied to all screen unless edited at higher breakpoint":"Styles set here are applied to all screen unless edited at higher breakpoint","Mobile landscape (SM)":"Mobile landscape (SM)","Styles set here are applied at 640px and up unless edited at higher breakpoint":"Styles set here are applied at 640px and up unless edited at higher breakpoint","Tablet (MD)":"Tablet (MD)","Styles set here are applied at 768px and up":"Styles set here are applied at 768px and up","Tablet Landscape (LG)":"Tablet Landscape (LG)","Styles set here are applied at 1024px and up unless edited at higher breakpoint":"Styles set here are applied at 1024px and up unless edited at higher breakpoint","Desktop (XL)":"Desktop (XL)","Styles set here are applied at 1280px and up unless edited at higher breakpoint":"Styles set here are applied at 1280px and up unless edited at higher breakpoint","Large Desktop (2XL)":"Large Desktop (2XL)","Styles set here are applied at 1536px and up":"Styles set here are applied at 1536px and up",Breakpoints:nb,Clear:sb,"Clear whole canvas?":"Clear whole canvas?","Are you sure you want to clear the whole canvas?":"Are you sure you want to clear the whole canvas?",Cancel:rb,Yes:ob,Preview:ab,Settings:ib,Styling:lb,SVG_code:cb,"Paste SVG_code":"Choose icon or paste SVG code","Enter Key":"Enter Key","Data Provider":"Data Provider","Remove Provider Confirmation":"Are you sure you want to remove <span class='text-blue-500'>{name}</span> provider?","Your data provider will be removed from this page and all added data binding will be not visible on blocks.":"Your data provider will be removed from this page and all added data binding will be not visible on blocks.",Remove:db,"You have no data providers registered. Please add a data provider to your project.":"You have no data providers registered. Please add a data provider to your project.","Learn more":"Learn more","Add data providers:":"Add data providers:","Select a provider":"Select a provider",Choose:ub,"Page data providers:":"Page data providers:","View Data":"View Data","Mark as Global":"Mark as Global","Note: Global blocks are single instances. Editing global blocks will be reflected on all pages using these blocks.":"Note: Global blocks are single instances. Editing global blocks will be reflected on all pages using these blocks.","Global blocks are indicated with":"Global blocks are indicated with","Global blocks are available under 'Global' category":"Global blocks are available under 'Global' category","Enter global block name":"Enter global block name","Eg: Header, Footer":"Eg: Header, Footer","{length} blocks selected.":"{length} blocks selected.",Cut:pb,Copy:fb,Paste:hb,Delete:mb,"Clear Selection":"Clear Selection","This is dev mode. Visit":"This is dev mode. Visit","to see page preview":"to see page preview",classes:gb,Theme:xb,Outline:bb,"Not supported":"Not supported","Please use Chrome, Firefox or Safari":"Please use Chrome, Firefox or Safari","Download Complete":"Download complete",Copied:yb,"Enter Classes":"Add classes or design tokens (space-separated)","Ask AI":"Ask AI","Edit with AI":"Edit with AI","Generating... Please wait...":"Generating... Please wait...","Saving... Please wait...":"Saving... Please wait...","Deleting... Please wait...":"Deleting... Please wait...",Stop:kb,"E.g.: This page is about an AI assistant app called Chai Studio. It allows users to create beautiful webpages and edit content with AI":"E.g.: This page is about an AI assistant app called Chai Studio. It allows users to create beautiful webpages and edit content with AI.","Ask AI to edit styles":"Ask AI to edit styles","Ask AI to edit content":"Ask AI to edit content","AI Context":"AI Context","Select Block for AI":"Select a block to edit with AI","Select Block to Edit":"Please select a block to edit",Edit:vb,"Describe this page. E.g.: This page is about...":"Describe this page. E.g.: This page is about...",Tag:wb,Value:Cb,"Background Image":"Background Image","Enter image URL":"Enter image URL","Enter URL":"Enter URL",URL:jb,"Replace image":"Replace image","Choose image":"Choose image",Images:Sb,Library:Nb,Blocks:Eb,Basic:Ab,Media:Ib,Advanced:_b,Form:Tb,"Choose Icon or SVG":"Choose an icon or enter SVG",Groups:Bb,"UI Libraries":"UI Libraries",Accordions:Rb,Buttons:Pb,Layouts:Lb,"Choose Library":"Choose library","No Library Found":"No library found.",FAQ:Db,Hero:Mb,Features:Ob,Footer:$b,Navbar:Fb,Icons:zb,Testimonials:Hb,Blog:Vb,"Remove context":"Remove context","Yes, Delete":"Yes, Delete","AI Context Updated":"AI Context Updated","You can now ask AI to edit your content.":"You can now ask AI to edit your content.",Saved:Wb,Unsaved:Gb,"Saving...":"Saving...","Improve writing":"Improve writing","Replace placeholder content":"Replace placeholder content","Discard current placeholder content and replace with meaningful relevant content.":"Discard current placeholder content and replace with meaningful relevant content.","Fix grammar":"Fix grammar","Fix grammar in all text elements. Ensuring the text is grammatically correct and free of errors.":"Fix grammar in all text elements. Ensuring the text is grammatically correct and free of errors.","Make longer":"Make longer","Make all text elements longer.":"Make all text elements longer.","Make shorter":"Make shorter","Make all text elements shorter.":"Make all text elements shorter.","Add emojis":"Add emojis","Add emojis to text elements if relevant.":"Add emojis to text elements if relevant.",Randomize:Ub,"Randomize all text elements.":"Randomize all text elements.","Edit Block":"Edit Block","AI Assistant":"AI Assistant","Generate with AI":"Generate with AI","Theme Config":{"Heading Font":"Heading Font","Body Font":"Body Font","Rounded Corner":"Rounded Corners",Primary:"Primary",Secondary:"Secondary",Background:"Background","Text Color":"Text Color","Background Dark Mode":"Background (Dark Mode)","Text Color Dark Mode":"Text Color (Dark Mode)","Reset styles":"Reset styles"},"Copy classes to clipboard":"Copy classes to clipboard","Classes copied to clipboard":"Classes copied to clipboard",Classes:qb,All:Kb,"Enter classes separated by space":"Add classes (space-separated)","Enter classes separated by space or design tokens":"Add classes or design tokens (space-separated)","Show hidden blocks":"Show hidden blocks","Expand all":"Expand all","Collapse all":"Collapse all","Choose library":"Choose library","Close Preview":"Close Preview",Error:"Error","Failed to copy template":"Failed to copy template","Total tokens used":"Total tokens used","Updated AI Context":"Updated AI Context","You can now Ask AI to edit your content":"You can now Ask AI to edit your content","Tell about this page eg this page is about":"Tell about this page eg this page is about..","Delete Context":"Delete Context","Keyboard shortcuts":"Keyboard shortcuts",Undo:Yb,Redo:Xb,Duplicate:Jb,"Deselect blocks":"Deselect blocks","Delete block":"Delete block","Save page":"Save page","Scripts will be only executed in preview and live mode.":"Scripts will be only executed in preview and live mode.","HTML Code Editor |":"HTML Code Editor |",Close:Zb,"Coming soon":"Coming soon",Selected:Qb,Select:ey,"Choose Builder Layout":"Choose Builder Layout","Single side panel":"Single side panel","Suitable for smaller screens. Bigger canvas size.":"Suitable for smaller screens. Bigger canvas size.","Dual side panel":"Dual side panel","Suitable for larger screens. Smaller canvas size.":"Suitable for larger screens. Smaller canvas size.","Dual side panel advanced":"Dual side panel advanced","Suitable for heavy styling & block editing. Setting are always visible.":"Suitable for heavy styling & block editing. Setting are always visible.","Block Settings":"Block Settings","Visibility settings":"Visibility settings","Show on canvas":"Show on canvas",Attributes:ty,"Apply Presets":"Apply Presets",apply:ny,presets:sy,"Global presets":"Global presets",Orientation:ry,Color:oy,"Please select an image":"Please select an image","click to upload":"click to upload","SVG, PNG, JPG or GIF (Max. 2mb)":"SVG, PNG, JPG or GIF (Max. 2mb)","Uploading...":"Uploading...",Upload:ay,"Something went wrong":"Something went wrong","Fetching...":"Fetching...","No images found":"No images found","It looks like you haven't uploaded any images yet. Start by clicking the upload button above.":"It looks like you haven't uploaded any images yet. Start by clicking the upload button above.","Open Code Editor":"Open Code Editor","Clear search":"Clear search","No results found for":"No results found for","Search {{pageTypeName}}":"Search {{pageTypeName}}","Goto Page":"Goto Page","Open URL":"Open URL","Compose Email":"Compose Email","Call Phone":"Call Phone","Scroll to element":"Scroll to element","#ElementID":"#ElementID","Enter details":"Enter details","Open in new tab":"Open in new tab",Apply:iy,Back:ly,Insert:cy,Rename:dy,"Unlink from library":"Unlink from library","Save to Library":"Save to Library","No blocks found in this group":"No blocks found in this group","No blocks found matching":"No blocks found matching","No matching blocks found":"No matching blocks found","Search blocks...":"Search blocks...",Partials:uy,Happy:py,Sad:fy,"Importing...":"Importing...","Failed to load the UI library. Try again":"Failed to load the UI library. Try again",Retry:hy,"Oops! Something went wrong.":"Oops! Something went wrong.","Please try again.":"Please try again.","No option found.":"No option found.","Clipboard not supported":"Clipboard not supported","Are you sure you want to clear the page?":"Are you sure you want to clear the page?",canvas_empty:my,Presets:gy,"Reset style":"Reset style","Reset styles":"Reset styles","Clear styles":"Clear styles","Open code editor":"Open code editor","Style element":"Style element","Repeater Data":"Repeater Data","Toggle Data Binding":"Toggle Data Binding",No:xy,Saving:by,"Screen sizes":"Screen sizes","Theme Settings":"Theme Settings","Import CSS Theme":"Import CSS Theme","Import theme":"Import theme","Import Theme":"Import Theme","CSS Variables":"CSS Variables","You don't have permission to edit settings or styles":"You don't have permission to edit settings or styles","Please contact your administrator to get access":"Please contact your administrator to get access","flex.heading":"Flex Child","flex.basis":"Basis","flex.order":"Order","flex.flex":"Flex","flex.grow":"Grow","flex.shrink":"Shrink","grid.heading":"Grid Child","grid.col_span":"Col Span","grid.col_start":"Col Start","grid.col_end":"Col End","grid.row_span":"Row Span","grid.row_start":"Row Start","grid.row_end":"Row End","grid.order":"Order","layout.heading":"Layout","layout.width":"Width","layout.height":"Height","layout.margin":"Margin","layout.margin_all":"All","layout.margin_lr":"Left-Right","layout.margin_tb":"Top-Bottom","layout.margin_top":"Top","layout.margin_right":"Right","layout.margin_bottom":"Bottom","layout.margin_left":"Left","layout.padding":"Padding","layout.padding_all":"All","layout.padding_lr":"Left-Right","layout.padding_tb":"Top-Bottom","layout.padding_top":"Top","layout.padding_right":"Right","layout.padding_bottom":"Bottom","layout.padding_left":"Left","layout.space_bt":"Space Bt.","layout.space_lr":"Left-Right","layout.space_tb":"Top-Bottom","size.heading":"Size","size.min_width_height":"Min width & height","size.min_width":"Min Width","size.min_height":"Min Height","size.max_width_height":"Max width & height","size.max_width":"Max Width","size.max_height":"Max Height","size.object_options_aspect_ratio":"Object options & aspect ratio","size.aspect":"Aspect","size.fit":"Fit","size.position":"Position","display.heading":"Display","display.display":"Display","display.flex_options":"Flex options","display.flex_direction":"Direction","display.flex_wrap":"Wrap","display.justify_content":"Justify","display.align_content":"Content","display.align_items":"Items","display.gap":"Gap","display.gap_all":"All","display.gap_lr":"Left-Right","display.gap_tb":"Top-Bottom","display.grid_options":"Grid options","display.grid_columns":"Columns","display.grid_rows":"Rows","display.grid_auto_flow":"Auto Flow","display.grid_auto_cols":"Auto Cols","display.grid_auto_rows":"Auto Rows","display.visibility_opacity":"Visibility & Opacity","display.visibility":"Visibility","display.opacity":"Opacity","position.heading":"Position","position.position":"Position","position.options":"Position options","position.direction":"Direction","position.top":"Top","position.right":"Right","position.bottom":"Bottom","position.left":"Left","position.inset":"Inset","position.all":"All","position.lr":"Left Right","position.tb":"Top Bottom","position.z_index":"Z-Index","position.float_clear":"Float & Clear","position.float":"Float","position.clear":"Clear","position.overflow_overscroll":"Overflow & Overscroll","position.overflow":"Overflow","position.overscroll":"Overscroll","typography.heading":"Typography","typography.font":"Font","typography.size":"Size","typography.height":"Height","typography.weight":"Weight","typography.color":"Color","typography.alignments":"Alignments","typography.align":"Align","typography.valign":"V. Align","typography.spacing_decoration_more":"Spacing, decoration & more","typography.spacing":"Spacing","typography.decoration":"Decoration","typography.thickness":"Thickness","typography.transform":"Transform","typography.whitespace_breaks":"White space & breaks","typography.whitespace":"Whitespace","typography.wordbreak":"Wordbreak","background.heading":"Background","background.bgcolor":"Bg. Color","background.position_size_more":"Position, Size & more","background.attachment":"Attachment","background.clipping":"Clipping","background.origin":"Origin","background.position":"Position","background.repeat":"Repeat","background.size":"Size","background.gradient":"Gradient","background.gradient_colors":"Gradient colors","background.from_color":"From","background.via_color":"Via","background.to_color":"To","border.heading":"Border & Outline","border.width":"Width","border.all":"All","border.lr":"Left Right","border.tb":"Top bottom","border.top":"Top","border.right":"Right","border.bottom":"Bottom","border.left":"Left","border.corners":"Corners","border.top_left":"Top Left","border.top_right":"Top right","border.bottom_right":"Bottom right","border.bottom_left":"Bottom left","border.color":"Color","border.style":"Style","border.divide_options":"Divide options","border.divide_color":"Color","border.divide_style":"Style","border.outline_styling":"Outline styling","border.outline_width":"Width","border.outline_offset":"Offset","border.outline_style":"Style","border.ring_options":"Ring options","border.ring_width":"Width","border.ring_color":"Color","border.ring_offset_width":"Offset","border.ring_offset_color":"Off. color","effect.heading":"Effect & Animation","effect.shadow":"Shadow","effect.color":"Color","effect.cursor":"Cursor","effect.blend_cursor":"Blend & Cursor","effect.mix_blend":"Mix Blend","effect.bg_blend":"Bg. Blend","effect.transform":"Transform","effect.origin":"Origin","effect.scale":"Scale","effect.all":"All","effect.lr":"Left-Right","effect.tb":"Top-Bottom","effect.skew":"Skew","effect.translate":"Translate","effect.rotate":"Rotate","effect.animation":"Animation","effect.transition":"Transition","effect.easing":"Easing","effect.duration":"Duration","effect.delay":"Delay","classes.heading":"Classes",theme_config:yy,web_blocks:ky,"Export Code":"Export Code","Exporting {{count}} blocks":"Exporting {{count}} blocks","Exporting all blocks":"Exporting all blocks","Export code copied!":"Export code copied!","Failed to copy export code":"Failed to copy export code","Export code downloaded successfully!":"Export code downloaded successfully!","Failed to generate export HTML":"Failed to generate export HTML","Enter value":"Enter value","Attribute keys cannot start with @":"Attribute keys cannot start with @","Enter key":"Enter key",Add:vy,Save:wy,Screen:Cy};ft.use(z.initReactI18next).init({resources:{en:{translation:jy}},lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1}});function Sy(t,e,n){n.push(d.find(t,{_id:e}));const s=d.filter(t,{_parent:e});for(const r of s)n.push(...Mc(r._id,t));return n}const Mc=(t,e)=>{let n=[];return n=d.flattenDeep([...n,...Sy(e,t,n)]),n},Ny=(t,e,n)=>d.compact(t.map(s=>{const r=["_id","_type","_parent"],o=d.pick(s,r),i=K.getRegisteredChaiBlock(s._type),l={},c=d.get(i,"aiProps",[]);for(const u in s)if(!r.includes(u)&&c.includes(u)){const p=d.get(s,`${u}-${e}`,""),f=d.get(s,u,"");l[u]=d.isString(p)&&p.trim()||f,n&&(l[u]=f)}return d.isEmpty(l)?!1:(d.has(o,"_parent")&&d.isEmpty(o._parent)&&delete o._parent,{...o,...l})})),Ey=(t,e,n)=>!e||n!=="content"?t:`${t}. Generate content in ${d.get(Dt,e,e)} language.`,Ay=N.atom(!1),Oc=()=>{const[t,e]=N.useAtom(Ay),[n,s]=g.useState(null),r=$("askAiCallBack",d.noop),o=ii(),i=Kd(),[l]=Z(),{selectedLang:c,fallbackLang:u}=Te(),p=c.length?c:u,f=(m,h)=>{const x=d.cloneDeep(h.find(b=>b._id===m));for(const b in x){const y=x[b];if(typeof y=="string"&&d.startsWith(y,U.STYLES_KEY)){const{baseClasses:k,classes:C}=se.getSplitChaiClasses(y);x[b]=d.compact(d.flattenDeep([k,C])).join(" ")}else b!=="_id"&&delete x[b]}return x};return{askAi:g.useCallback(async(m,h,x,b)=>{if(r){e(!0),s(null);try{const y=c===u?"":c,k=x.toLowerCase().includes("translate the content"),C=m==="content"?Ny(d.cloneDeep(Mc(h,l)),c,k):[f(h,l)],A=await r(m,Ey(x,p,m),C,y);if(A===void 0)return;const{blocks:w,error:j}=A;if(j){s(j);return}if(m==="styles"){const _=w.map(S=>{for(const E in S)E!=="_id"&&(S[E]=`${U.STYLES_KEY},${S[E]}`);return S});i(_)}else o(w);b&&b(A)}catch(y){s(y)}finally{e(!1),b&&b()}}},[r,e,c,u,l,p,i,o]),loading:t,error:n}};function Iy({onClick:t}){const{loading:e}=Oc(),{t:n}=z.useTranslation(),{selectedLang:s,fallbackLang:r}=Te(),i=[...[{name:n("Improve writing"),icon:v.Pencil2Icon,prompt:n("Improving writing in all text elements. Replacing placeholder content with meaningful relevant content.")},{name:n("Replace placeholder content"),icon:v.LoopIcon,prompt:n("Discard current placeholder content and replace with meaningful relevant content.")},{name:n("Fix grammar"),icon:v.CheckIcon,prompt:n("Fix grammar in all text elements. Ensuring the text is grammatically correct and free of errors.")},{name:n("Make longer"),icon:v.ArrowUpIcon,prompt:n("Make all text elements longer.")},{name:n("Make shorter"),icon:v.ArrowDownIcon,prompt:n("Make all text elements shorter.")},{name:n("Add emojis"),icon:v.FaceIcon,prompt:n("Add emojis to text elements if relevant.")},{name:n("Randomize"),icon:v.ShuffleIcon,prompt:n("Randomize all text elements.")}]];return s&&s!==r&&i.splice(0,0,{name:n("Translate to {{lang}}",{lang:d.get(Dt,s,s)}),icon:v.ChatBubbleIcon,prompt:n("Translate the content to {{lang}}. Maintain same tone, style and length.",{lang:d.get(Dt,s,s)})}),a.jsx("div",{className:e?"pointer-events-none opacity-50":"",children:a.jsx("ul",{className:"space-y-1",children:i.map(({name:l,icon:c,subMenus:u,prompt:p})=>u?a.jsxs(Ms,{children:[a.jsx(Os,{asChild:!0,children:a.jsxs("li",{className:"flex cursor-pointer items-center space-x-2 rounded p-1 pl-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-800",children:[a.jsx(c,{className:"h-4 w-4"}),a.jsx("span",{children:l})]},l)}),a.jsx(Dn,{side:"right",children:a.jsx("ul",{children:a.jsx("li",{children:n("Happy")})})})]}):a.jsxs("li",{onClick:()=>t(p),className:"flex cursor-pointer items-center space-x-2 rounded p-1 text-xs hover:bg-primary/10 hover:text-primary dark:hover:bg-gray-800",children:[a.jsx(c,{className:"h-3.5 w-3.5"}),a.jsx("span",{children:n(l)})]},l))})})}const $c=({blockId:t})=>{const{t:e}=z.useTranslation(),{askAi:n,loading:s,error:r}=Oc(),[o,i]=g.useState(""),l=g.useRef(null),c=g.useRef(null),u=X();g.useEffect(()=>{var f;(f=l.current)==null||f.focus()},[]);const p=()=>{r||i("")};return a.jsx("div",{className:"",children:t?a.jsxs("div",{className:"",children:[a.jsx("label",{className:"text-xs font-medium text-gray-500",children:e("Selected block")}),u&&a.jsxs("div",{className:"flex items-center gap-x-1 rounded border border-primary/20 bg-primary/10 p-1.5 text-xs text-primary",children:[a.jsx(_c,{type:u._type})," ",a.jsx("p",{className:"truncate whitespace-nowrap leading-none",children:u._name||u._type})]}),a.jsx("br",{}),a.jsx("label",{className:"text-xs font-medium text-gray-500",children:e("Quick actions")}),a.jsx("div",{className:"rounded border p-2 text-sm",children:a.jsx(Iy,{onClick:f=>{c.current&&clearTimeout(c.current),n("content",t,f,p)}})}),a.jsx("br",{}),a.jsx("label",{className:"text-xs font-medium text-gray-500",children:e("Ask AI")}),a.jsxs("div",{className:"rounded border p-2 text-xs focus-within:border-gray-300",children:[a.jsx(Fn,{ref:l,value:o,onChange:f=>i(f.target.value),placeholder:e("Ask AI to edit content"),className:"w-full resize-none border-none p-0 text-xs shadow-none outline-none",rows:3,onKeyDown:f=>{f.key==="Enter"&&(f.preventDefault(),c.current&&clearTimeout(c.current),n("content",t,o,p))}}),a.jsxs("div",{className:"flex items-center justify-end",children:[s&&a.jsx(T.Button,{variant:"destructive",onClick:()=>stop(),className:"hidden h-4 w-4",size:"icon",children:a.jsx(v.StopIcon,{className:"h-4 w-4"})}),a.jsx(T.Button,{onClick:()=>{c.current&&clearTimeout(c.current),n("content",t,o,p)},variant:"default",className:"h-7 w-7",disabled:s||o.trim().length<1,size:"icon",children:s?a.jsx(v.ReloadIcon,{className:"h-4 w-4 animate-spin"}):a.jsx(v.ArrowTopRightIcon,{className:"h-4 w-4"})})]})]}),a.jsx("div",{className:"max-w-full pt-2",children:r&&a.jsx("p",{className:"break-words rounded border border-red-500 bg-red-100 p-1 text-xs text-red-500",children:r.message})})]}):a.jsx("div",{className:"p-4 text-center",children:a.jsxs("div",{className:"space-y-4 rounded-xl p-4 text-muted-foreground",children:[a.jsx(Br,{className:"mx-auto h-7 w-7 text-muted-foreground"}),a.jsx("h1",{children:e("Please select a block to Ask AI")})]})})})},Fc=()=>{const[t]=q();return a.jsx("div",{className:"no-scrollbar mt-2 flex-1 overflow-y-auto",children:a.jsx($c,{blockId:d.first(t)})})};function _y(){const[t,e]=rn();return a.jsxs("div",{className:"flex items-center",children:[t?a.jsx(v.MoonIcon,{className:"size-4 shrink-0"}):a.jsx(v.SunIcon,{className:"size-4 shrink-0"}),a.jsx(dn,{id:"dark-mode-switch",checked:t,onCheckedChange:()=>{e(!t)},className:`${t?"bg-violet-600":"bg-violet-300"} relative ml-2 inline-flex h-[20px] w-[32px] shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75`,children:a.jsx("span",{"aria-hidden":"true",className:`${t?"translate-x-5":"translate-x-0"} pointer-events-none -mt-px inline-block h-[18px] w-[20px] transform rounded-full bg-white shadow-lg ring-0 transition duration-200 ease-in-out`})})]})}const Ty=()=>{const{hasUndo:t,hasRedo:e,undo:n,redo:s}=_n();return a.jsxs("div",{className:"flex items-center",children:[a.jsx(T.Button,{disabled:!t(),size:"sm",onClick:n,className:"rounded-full",variant:"ghost",children:a.jsx(v.ResetIcon,{})}),a.jsx(T.Button,{disabled:!e(),onClick:s,size:"sm",className:"rounded-full",variant:"ghost",children:a.jsx(v.ResetIcon,{className:"rotate-180 scale-y-[-1] transform"})})]})},zc=ce.Root,By=ce.Trigger,Ry=ce.Portal,Hc=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Overlay,{className:T.cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e,ref:n}));Hc.displayName=ce.Overlay.displayName;const Py=_r.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Go=O.forwardRef(({side:t="right",className:e,children:n,...s},r)=>a.jsxs(Ry,{children:[a.jsx(Hc,{}),a.jsxs(ce.Content,{ref:r,className:T.cn(Py({side:t}),e),...s,children:[a.jsxs(ce.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[a.jsx(v.Cross1Icon,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]}),n]})]}));Go.displayName=ce.Content.displayName;const Uo=({className:t,...e})=>a.jsx("div",{className:T.cn("flex flex-col space-y-2 text-center sm:text-left",t),...e});Uo.displayName="SheetHeader";const qo=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Title,{ref:n,className:T.cn("text-lg font-semibold text-foreground",t),...e}));qo.displayName=ce.Title.displayName;const Vc=O.forwardRef(({className:t,...e},n)=>a.jsx(ce.Description,{ref:n,className:T.cn("text-sm text-muted-foreground",t),...e}));Vc.displayName=ce.Description.displayName;const Wc=()=>{const{t}=z.useTranslation(),[e,n]=g.useState(null),[s,r]=g.useState(-1),[o,i]=g.useState(!1),l=Ye(),[,c]=Bs();return Yt(Y.OPEN_ADD_BLOCK,u=>{l?c("add-block"):(n(u?u._id:null),r((u==null?void 0:u.position)??-1),i(!0))}),Yt(Y.CLOSE_ADD_BLOCK,()=>{n(null),r(-1),i(!1)}),a.jsx(Fo,{open:o,onOpenChange:()=>o?i(!1):"",children:a.jsxs(Ws,{className:"max-w-5xl overflow-hidden border-border",children:[a.jsxs(Gs,{className:"flex flex-row items-center justify-between",children:[a.jsx(Us,{className:"text-foreground",children:t("Add blocks")}),a.jsx("button",{onClick:()=>i(!1),className:"text-gray-500 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300",children:a.jsx(v.Cross2Icon,{className:"h-6 w-6"})})]}),a.jsx("div",{className:"no-scrollbar h-[500px] max-h-full overflow-hidden",children:a.jsx($o,{parentId:e??"",position:s,showHeading:!1})})]})})},Ly=g.memo(function({preloadedAttributes:e=[],onAttributesChange:n}){const[s,r]=g.useState([]),[o,i]=g.useState(""),[l,c]=g.useState(""),[u,p]=g.useState(null),[f,m]=g.useState(""),h=g.useRef(null),x=g.useRef(null),b=Ot(),{t:y}=z.useTranslation();g.useEffect(()=>{r(e)},[e]);const k=()=>{if(o.startsWith("@")){m(y("Attribute keys cannot start with @"));return}if(o){const S=[...s,{key:o,value:l}];n==null||n(S),r(s),i(""),c(""),m("")}},C=S=>{const E=s.filter((I,B)=>B!==S);n==null||n(E),r(E)},A=S=>{p(S),i(s[S].key),c(s[S].value)},w=()=>{if(o.startsWith("@")){m(y("Attribute keys cannot start with @"));return}if(u!==null&&o){const S=[...s];S[u]={key:o,value:l},n==null||n(S),r(S),p(null),i(""),c(""),m("")}},j=S=>{S.key==="Enter"&&!S.shiftKey&&(S.preventDefault(),u!==null?w():k())},_=g.useCallback(S=>{const E=P=>/[.,!?;:]/.test(P),I=(P,R,M)=>{let H="",G="";const be=R>0?P[R-1]:"",de=R<P.length?P[R]:"";return R>0&&(be==="."||!E(be)&&be!==" ")&&(H=" "),R<P.length&&!E(de)&&de!==" "&&(G=" "),{text:H+M+G,prefixLength:H.length,suffixLength:G.length}},B=x.current;if(B){const P=B.selectionStart||0,R=B.value||"",M=B.selectionEnd||P;if(M>P){const re=`{{${S}}}`,{text:we}=I(R,P,re),Le=R.slice(0,P)+we+R.slice(M);c(Le);return}const G=`{{${S}}}`,{text:be}=I(R,P,G),de=R.slice(0,P)+be+R.slice(P);c(de)}},[]);return a.jsxs("div",{className:"flex max-h-full flex-1 flex-col",children:[a.jsxs("form",{onSubmit:S=>{S.preventDefault(),u!==null?w():k()},className:"space-y-3",children:[a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsxs("div",{className:"w-full",children:[a.jsx(ct,{htmlFor:"attrKey",className:"text-[11px] font-normal leading-tight text-slate-600",children:y("Key")}),a.jsx(T.Input,{autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",id:"attrKey",ref:h,value:o,onChange:S=>i(S.target.value),placeholder:y("Enter key"),className:"py-0 text-xs font-normal leading-tight placeholder:text-slate-400"})]}),a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(ct,{htmlFor:"attrValue",className:"text-[11px] font-normal text-slate-600",children:y("Value")}),!d.isEmpty(b)&&a.jsx(No,{data:b,onSelect:_})]}),a.jsx(Fn,{autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",id:"attrValue",ref:x,value:l,onChange:S=>c(S.target.value),onKeyDown:j,placeholder:y("Enter value"),className:"text-xs font-normal leading-tight placeholder:text-slate-400"})]})]}),a.jsx("div",{className:"flex justify-end",children:a.jsx(T.Button,{type:"submit",disabled:!o.length,variant:"default",size:"sm",className:"h-8 w-24 text-xs",children:y(u!==null?"Save":"Add")})}),f&&a.jsx("p",{className:"text-xs text-red-500",children:f})]}),a.jsx("div",{className:"space-y-1 py-4",children:s.map((S,E)=>a.jsxs("div",{className:"flex items-center justify-between rounded border p-2 text-sm",children:[a.jsxs("div",{className:"flex flex-col text-xs leading-tight",children:[a.jsx("span",{className:"truncate text-[12px] font-light text-muted-foreground",children:S.key}),a.jsx("span",{className:"max-w-[200px] text-wrap font-normal",children:S.value.toString()})]}),a.jsxs("div",{className:"flex-shrink-0 text-slate-400",children:[a.jsx(T.Button,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>A(E),children:a.jsx(v.Pencil2Icon,{className:"h-3 w-3"})}),a.jsx(T.Button,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>C(E),children:a.jsx(v.Cross1Icon,{className:"h-3 w-3"})})]})]},E))})]})}),Gc=O.memo(()=>{const t=X(),[e,n]=g.useState([]),[s]=Ae(),r=Ke(),o=`${d.get(s,"0.prop")}_attrs`;O.useEffect(()=>{const l=d.map(d.get(t,o),(c,u)=>({key:u,value:c}));d.isEmpty(l)?n([]):n(l)},[d.get(t,o)]);const i=O.useCallback((l=[])=>{if(!t)return;const c={};d.forEach(l,u=>{d.isEmpty(u.key)||d.set(c,u.key,u.value)}),r([d.get(t,"_id")],{[o]:c})},[t,r,o]);return a.jsx("div",{className:"flex-col gap-y-2",children:a.jsx("div",{className:"flex flex-col",children:a.jsx("div",{children:a.jsx(Ly,{preloadedAttributes:e,onAttributesChange:i})})})})}),Gt=()=>null,Fa=()=>{const{resetAll:t}=tc(),e=X(),[n]=Ae(),s=gg(),{t:r}=z.useTranslation();return!e||d.isEmpty(n)?null:a.jsxs(mt,{children:[a.jsx(gt,{asChild:!0,children:a.jsx("div",{className:"inline-flex rounded-sm p-0.5 hover:bg-gray-300",onClick:o=>o.stopPropagation(),children:a.jsx(v.DotsVerticalIcon,{className:"h-3 w-3"})})}),a.jsxs(et,{side:"bottom",className:"border-border text-xs",children:[a.jsxs(ge,{className:"flex items-center gap-1 text-xs",onClick:()=>{t()},children:[a.jsx(v.ResetIcon,{className:"h-3 w-3"}),r("Reset styles")]}),a.jsxs(ge,{className:"text-xs",onClick:()=>{e&&s(e,!0)},children:[a.jsx(v.Cross2Icon,{className:"h-3 w-3"}),r("Clear styles")]})]})]})};function za(){const{t}=z.useTranslation(),[e,n]=g.useState(!0),[s]=Ae();return d.isEmpty(s)?null:a.jsxs(a.Fragment,{children:[a.jsxs("div",{onClick:()=>n(!e),className:"flex cursor-pointer items-center justify-between border-t border-border py-3 text-xs font-medium hover:underline",children:[a.jsx("span",{children:t("Attributes")}),a.jsx("span",{children:a.jsx(v.ChevronDownIcon,{className:"h-4 w-4 text-gray-500 "+(e?"rotate-180":"")})})]}),e&&a.jsx(Gc,{})]})}const Dy=({partialBlockId:t})=>{const e=$("gotoPage",d.noop),{saveState:n}=tn(),{selectedLang:s,fallbackLang:r}=Te(),o=g.useCallback(i=>{if(i.stopPropagation(),n!=="SAVED"){ue.toast.error("You have unsaved changes. Please save the page first.");return}e({pageId:t,lang:s||r})},[n,e,t,s,r]);return a.jsx(a.Fragment,{children:a.jsx("div",{className:"hidden",children:a.jsx("div",{onDoubleClick:o,className:"h-full w-full items-center justify-center",children:a.jsx("p",{className:"rounded-md bg-white px-2 py-1 text-xs",children:"Partial block. Double click to edit."})})})})},My=()=>{const t=X(),{t:e}=z.useTranslation(),n=$("onError",d.noop),{hasPermission:s}=We();let r=!s(Q.EDIT_BLOCK);const o=!s(Q.EDIT_STYLES),[i,l]=Gi();if(t&&t._type==="PartialBlock")return a.jsx(Dy,{partialBlockId:t.partialBlockId});if(!t)return a.jsx("div",{className:"p-4 text-center",children:a.jsxs("div",{className:"space-y-4 rounded-xl p-4 text-muted-foreground",children:[a.jsx(v.MixerHorizontalIcon,{className:"mx-auto text-3xl"}),a.jsx("h1",{children:e("Please select a block to edit settings or styles")})]})});if(r&&o)return a.jsx("div",{className:"p-4 text-center",children:a.jsxs("div",{className:"space-y-4 rounded-xl p-4 text-muted-foreground",children:[a.jsx(v.MixerHorizontalIcon,{className:"mx-auto text-3xl"}),a.jsx("h1",{children:e("You don't have permission to edit settings or styles")}),a.jsx("p",{children:e("Please contact your administrator to get access")})]})});if(o)return a.jsx(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:n,children:a.jsxs("div",{className:"no-scrollbar h-full max-h-min w-full overflow-y-auto",children:[a.jsx(Cr,{},t==null?void 0:t._id),a.jsx("br",{}),a.jsx("br",{})]})});if(r)return a.jsx(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:n,children:a.jsxs("div",{className:"no-scrollbar h-full max-h-min w-full overflow-y-auto overflow-x-hidden",children:[a.jsx("div",{className:"flex w-full items-center justify-end",children:a.jsx(Fa,{})}),a.jsx(Ir,{}),a.jsx(za,{}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]})});const u=p=>{(p==="settings"||p==="styles")&&l(p)};return a.jsx(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:n,children:a.jsxs(Hs,{value:i,onValueChange:u,className:"flex flex-1 flex-col",children:[a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs($n,{className:"grid h-auto w-full grid-cols-2 p-1 py-1",children:[a.jsx(Ve,{value:"settings",className:"text-xs",children:e("Settings")}),a.jsx(Ve,{value:"styles",className:"text-xs",children:a.jsxs("div",{className:"flex w-full items-center justify-between",children:[a.jsx("span",{className:"w-[90%] text-center",children:e("Styling")}),a.jsx("span",{className:"w-[10%]",children:a.jsx(Fa,{})})]})})]})}),a.jsxs(at,{value:"settings",className:"no-scrollbar h-full max-h-min overflow-y-auto",children:[a.jsx(Cr,{},t==null?void 0:t._id),a.jsx("br",{}),a.jsx("br",{})]}),a.jsxs(at,{value:"styles",className:"no-scrollbar h-full max-h-min max-w-full overflow-y-auto overflow-x-hidden",children:[a.jsx(Ir,{}),a.jsx(za,{}),a.jsx("br",{}),a.jsx("br",{}),a.jsx("br",{})]})]})})},Oy=g.lazy(()=>Promise.resolve().then(()=>require("./manage-design-tokens-udLBvkHA.cjs"))),pt=280,$y=({isActive:t,show:e})=>a.jsx(T.Button,{variant:t?"default":"ghost",size:"icon",onClick:e,children:a.jsx(Ua.ListTree,{className:"h-5 w-5"})}),Fy=({isActive:t,show:e})=>Ye()&&a.jsx(T.Button,{variant:t?"default":"ghost",size:"icon",onClick:e,children:a.jsx(Ua.PlusIcon,{className:"h-5 w-5"})}),zy=({isActive:t,show:e})=>$("flags.ai",!1)?a.jsx(T.Button,{variant:t?"default":"ghost",size:"icon",onClick:e,children:a.jsx(Br,{})}):null;T.registerChaiSidebarPanel("add-block",{button:Fy,label:"Add Blocks",position:"top",isInternal:!0,width:pt,panel:()=>a.jsx($o,{showHeading:!1,fromSidebar:!0,parentId:void 0,position:-1})});T.registerChaiSidebarPanel("chai-chat-panel",{button:zy,label:"Ask AI",position:"top",isInternal:!0,width:pt,panel:()=>a.jsx("div",{className:"",children:a.jsx(Fc,{})})});T.registerChaiSidebarPanel("outline",{button:$y,label:"Outline",position:"top",isInternal:!0,width:pt,panel:()=>a.jsx("div",{className:"-mt-8",children:a.jsx(Bc,{})})});const Hy=()=>{const t=T.useTopBarComponent(),[e,n]=Bs(),s=g.useRef("outline"),[r,o]=g.useState(pt),[i,l]=Wi(),[,c]=Gi(),u=T.useChaiSidebarPanels("top"),p=T.useChaiSidebarPanels("bottom"),f=d.reverse([...p??[]]),m=g.useCallback(E=>{E.preventDefault()},[]),h=g.useMemo(()=>[u].flat(),[u]),x=g.useCallback(E=>{console.log("handleMenuItemClick",E,e),n(e===E?null:E)},[e,n]),{t:b}=z.useTranslation(),y=g.useMemo(()=>[...u,...p],[u,p]),k=$("htmlDir","ltr"),C=d.find(y,{id:e})??d.first(y),A=d.get(C,"width",pt);g.useEffect(()=>{if(e!==null){const E=d.find(y,{id:e});E&&d.get(E,"view","standard")==="standard"&&(s.current=e,o(d.get(E,"width",pt)))}},[e,y]);const w=g.useMemo(()=>{if(e===null)return 0;const E=d.find(y,{id:e});return d.get(E,"view","standard")==="standard"?A:r},[e,A,r,y]),j=g.useCallback(()=>{n(s.current)},[n,e]),_=g.useCallback(()=>{n("outline")},[n]);g.useEffect(()=>{e!==null&&!d.find(y,{id:e})&&n("outline")},[e,y]);const S=g.useCallback(E=>{x(E)},[x]);return a.jsx("div",{dir:k,className:"h-screen max-h-full w-screen overflow-x-hidden bg-background text-foreground",children:a.jsxs(ys,{children:[a.jsxs("div",{onContextMenu:m,className:"flex h-full max-h-full flex-col",children:[a.jsx("div",{className:"flex h-[50px] w-screen items-center border-b border-gray-200 bg-gray-50 text-gray-900",children:a.jsx(g.Suspense,{children:a.jsx(t,{})})}),a.jsxs("main",{className:"relative flex h-[calc(100vh-56px)] max-w-full flex-1 flex-row",children:[a.jsxs("div",{id:"sidebar",className:"flex w-12 flex-col items-center justify-between border-r border-gray-200 bg-gray-50 py-2 text-gray-900",children:[a.jsx("div",{className:"flex flex-col gap-y-1",children:h.map((E,I)=>a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:g.createElement(d.get(E,"button",Gt),{position:"top",panelId:E.id,isActive:e===E.id,show:()=>S(E.id)})}),a.jsx(le,{side:"right",children:a.jsx("p",{children:b(E.label)})})]},"button-top-"+I))}),a.jsx("div",{className:"flex flex-col space-y-1"}),a.jsx("div",{className:"flex flex-col",children:f==null?void 0:f.map((E,I)=>a.jsxs(fe,{children:[a.jsx(he,{asChild:!0,children:g.createElement(d.get(E,"button",Gt),{position:"bottom",panelId:E.id,isActive:e===E.id,show:()=>S(E.id)})}),a.jsx(le,{side:"right",children:a.jsx("p",{children:b(E.label)})})]},"button-bottom-"+I))})]}),a.jsx(Gn.motion.div,{id:"left-panel",className:"h-full max-h-full border-r border-gray-200 bg-white text-gray-900",initial:{width:w},animate:{width:w},transition:{duration:.3,ease:"easeInOut"},children:e!==null&&d.get(C,"view","standard")==="standard"&&a.jsxs("div",{className:"no-scrollbar flex h-full flex-col overflow-hidden px-3 py-2",children:[d.get(C,"label","")!==""?a.jsx("div",{className:`absolute top-2 flex h-10 items-center space-x-1 py-2 text-base font-bold ${d.get(C,"isInternal",!1)?"":"w-64"}`,children:a.jsx("span",{children:b(d.get(C,"label",""))})}):null,a.jsx("div",{className:"no-scrollbar h-full max-h-full overflow-y-auto "+(d.get(C,"label","")!==""?"pt-10":""),children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:g.createElement(d.get(C,"panel",Gt),{})})})]})}),a.jsx("div",{id:"canvas-container",className:"flex h-full max-h-full flex-1 flex-col bg-slate-800/20",children:a.jsx(g.Suspense,{children:a.jsx(Ul,{})})}),a.jsx(Gn.motion.div,{id:"right-panel",className:"h-full max-h-full border-l border-gray-200 bg-white text-gray-900",initial:{width:e==="ai"?0:pt},animate:{width:e==="ai"?0:pt},transition:{duration:.3,ease:"easeInOut"},children:a.jsx("div",{className:"no-scrollbar overflow h-full max-h-full overflow-hidden",children:a.jsxs("div",{className:"flex h-full max-h-full flex-col overflow-hidden p-3",children:[a.jsx("h2",{className:"-mt-1 flex items-center space-x-1 text-base font-bold",children:a.jsx("div",{className:"flex grow items-center gap-2",children:a.jsx("div",{className:"flex w-full items-center justify-between gap-2",children:i==="ai"?a.jsx(a.Fragment,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(v.LightningBoltIcon,{className:"rtl:ml-2"})," ",b("AI Assistant")]})}):i==="design-tokens"?a.jsxs("div",{className:"mb-1 flex w-full items-center justify-between gap-2",children:[a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(Ar,{className:"h-4 w-4 text-gray-600"}),b("Design Tokens")]}),a.jsx(T.Button,{onClick:()=>{c("styles"),l("block")},variant:"ghost",size:"icon",className:"text-xs",children:a.jsx(v.Cross1Icon,{className:"h-4 w-4 rtl:ml-2"})})]}):i==="theme"?a.jsxs("div",{className:"flex w-full items-center justify-between gap-2",children:[a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(v.MixerHorizontalIcon,{className:"h-4 w-4 text-gray-600"}),b("Theme Settings")]}),a.jsx(T.Button,{onClick:()=>l("block"),variant:"ghost",size:"icon",className:"text-xs",children:a.jsx(v.Cross1Icon,{className:"h-4 w-4 rtl:ml-2"})})]}):null})})}),a.jsx("div",{className:"flex h-full max-h-full w-full",children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:i==="ai"?a.jsx(Fc,{}):i==="design-tokens"?a.jsx(g.Suspense,{fallback:a.jsx("div",{className:"h-1/2 w-full animate-pulse"}),children:a.jsx(Oy,{})}):i==="theme"?a.jsx(Dc,{}):a.jsx(My,{})})})]})})})]})]}),a.jsx(Wc,{}),e!==null&&d.get(C,"view")==="drawer"&&a.jsx(zc,{open:!0,onOpenChange:()=>j(),children:a.jsxs(Go,{side:"left",className:"flex flex-col gap-0 p-0 sm:max-w-full",style:{width:`${A}px`},children:[a.jsx(Uo,{className:"border-b border-border px-2 py-2.5",children:a.jsxs(qo,{className:"flex items-center gap-2",children:[a.jsx("span",{className:"inline-block",children:d.get(C,"icon",null)}),a.jsx("span",{children:b(d.get(C,"label",""))})]})}),a.jsx("div",{className:"h-full max-h-full overflow-y-auto p-4",children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:g.createElement(d.get(C,"panel",Gt),{close:_})})})]})})," ",e!==null&&d.get(C,"view")==="modal"&&a.jsx(Pn,{open:!0,onOpenChange:()=>j(),children:a.jsxs(ln,{className:"gap-0 p-0",style:{maxWidth:`${A}px`},children:[a.jsx(Ln,{className:"border-b border-border px-2 py-3.5",children:a.jsxs(cn,{className:"flex items-center gap-2",children:[a.jsx("span",{className:"inline-block",children:d.get(C,"icon",null)}),a.jsx("span",{children:b(d.get(C,"label",""))})]})}),a.jsx("div",{className:"max-h-[70vh] overflow-y-auto p-4",children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:g.createElement(d.get(C,"panel",Gt),{close:_})})})]})}),e!==null&&d.get(C,"view")==="overlay"&&a.jsx(Gn.motion.div,{className:"absolute bottom-0 left-12 right-0 top-0 z-50",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},children:a.jsx("div",{className:"h-full w-full",children:a.jsxs(Gn.motion.div,{className:"flex h-full w-full flex-col bg-background",initial:{y:-20,opacity:0},animate:{y:0,opacity:1},exit:{y:20,opacity:0},transition:{duration:.3,delay:.1},children:[a.jsxs("div",{className:"flex h-[50px] items-center justify-between border-b border-border p-4",children:[a.jsxs("div",{className:"-ml-2 flex items-center gap-2 text-lg font-bold",children:[a.jsx("span",{className:"rtl:ml-2 rtl:inline-block",children:d.get(C,"icon",null)}),a.jsx("span",{children:b(d.get(C,"label",""))})]}),a.jsx(T.Button,{onClick:()=>j(),variant:"ghost",size:"icon",className:"",children:a.jsx(v.Cross1Icon,{className:"h-5 w-5"})})]}),a.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:a.jsx(g.Suspense,{fallback:a.jsx("div",{children:"Loading..."}),children:g.createElement(d.get(C,"panel",Gt),{close:_})})})]})})})]})})},Vy=N.atom(!1),Wy=()=>{const[t,e]=N.useAtom(Vy);return[t,e]},Gy=()=>{const[t,e]=Wy(),{t:n}=z.useTranslation(),s=$("previewComponent",null);return t?a.jsxs("div",{className:pe.cn("fixed inset-0 z-[999] bg-background",t?"block":"hidden"),children:[a.jsxs(T.Button,{size:"sm",className:"absolute right-0 top-0 m-4 space-x-2",onClick:()=>e(!1),children:[a.jsx(v.EyeClosedIcon,{}),a.jsx("span",{children:n("Close Preview")})]}),a.jsx("div",{children:s?a.jsx(g.Suspense,{fallback:a.jsx(Rt,{className:"h-96 w-full"}),children:g.createElement(s)}):null})]}):null},Uy=({featureKey:t,options:e})=>{const n=T.useToggleChaiFeatureFlag(t),s=T.useChaiFeatureFlag(t);return a.jsxs("div",{className:"flex items-center space-x-3 rounded-md p-2 transition-colors hover:bg-gray-50 dark:hover:bg-gray-800",children:[a.jsx(dn,{checked:s,onCheckedChange:n}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:e.key}),e.description&&a.jsx("p",{className:"mt-0.5 text-xs text-gray-500 dark:text-gray-400",children:e.description})]})]})},qy=Oe.atomWithStorage("show-feature-flag",null),Ky=({close:t,position:e,updatePosition:n})=>{const s=T.useChaiFeatureFlags(),[r,o]=g.useState(""),[i,l]=g.useState(!1),[c,u]=g.useState({x:0,y:0}),p=g.useMemo(()=>{if(!r.trim())return s;const x=r.toLowerCase();return Object.fromEntries(Object.entries(s).filter(([b,y])=>{var k;return(b==null?void 0:b.toLowerCase().includes(x))||((k=y==null?void 0:y.description)==null?void 0:k.toLowerCase().includes(x))}))},[s,r]),f=x=>{l(!0),u({x:x.clientX-e.x,y:x.clientY-e.y})},m=x=>{if(!i)return;const b=x.clientX-c.x,y=x.clientY-c.y,k=x.currentTarget,C=k.offsetWidth,A=k.offsetHeight,w=window.innerWidth-C,j=window.innerHeight-A,_=Math.max(0,Math.min(b,w)),S=Math.max(0,Math.min(y,j));n(_,S)},h=()=>{l(!1)};return g.useEffect(()=>{const x=()=>{i&&l(!1)};return window.addEventListener("mouseup",x),()=>window.removeEventListener("mouseup",x)},[i]),!e||e.x<0||e.y<0?null:a.jsxs("div",{onMouseDown:f,onMouseMove:m,onMouseUp:h,className:"fixed z-[9999999] select-none rounded-md border border-gray-300 bg-white p-3 shadow-2xl",style:{left:e.x,top:e.y,cursor:i?"grabbing":"grab",userSelect:"none"},children:[a.jsxs("div",{className:"relative sticky top-0 rounded-t-lg bg-white",children:[a.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsxs("h3",{className:"flex items-center gap-x-2 text-base font-semibold text-gray-900 dark:text-gray-100",children:[a.jsx(v.DragHandleDots2Icon,{})," Feature Flags"]}),a.jsxs("p",{className:"text-xs text-gray-400 dark:text-gray-400",children:["Toggle experimental features (",a.jsx("span",{className:"font-mono",children:"Ctrl+Shift+1"})," to toggle)"]})]}),a.jsx(T.Button,{variant:"ghost",size:"sm",onClick:t,className:"absolute -right-2 -top-2 p-1 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",children:a.jsx(v.Cross1Icon,{className:"h-4 w-4"})})]}),a.jsxs("div",{className:"relative",children:[a.jsx(v.MagnifyingGlassIcon,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-400"}),a.jsx(T.Input,{type:"search",placeholder:"Search features...",className:"w-full pl-8",value:r,onChange:x=>o(x.target.value),autoFocus:!0})]})]}),a.jsx("div",{className:"max-h-96 overflow-y-auto py-2",children:Object.keys(p).length>0?a.jsx("div",{className:"space-y-1",children:Object.entries(p).map(([x,b])=>a.jsx(Uy,{featureKey:x,options:b},x))}):a.jsx("div",{className:"py-8 text-center",children:a.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:['No features found matching "',r,'"']})})})]})},Yy=()=>{const[t,e]=N.useAtom(qy);return Je.useHotkeys("ctrl+shift+1,meta+shift+1",()=>e(n=>n?{...n,show:!n.show}:{x:0,y:0,show:!0}),{enableOnFormTags:!0}),t!=null&&t.show?a.jsx(Ky,{position:t,close:()=>e(n=>n?{...n,show:!1}:null),updatePosition:(n,s)=>e(r=>r?{...r,x:n,y:s,show:r.show}:{x:n,y:s,show:!0})}):null},Xy=t=>{},Jy=["data-block-index","draggable","data-drop","data-style-id","data-block-parent","data-style-prop","data-highlighted"],Zy=["Box","Button","Checkbox","Divider","EmptyBox","Form","FormButton","Heading","Image","Input","Label","LineBreak","Link","List","ListItem","Paragraph","Radio","RichText","Select","Span","Text","TextArea","Video"],Uc=t=>t.type==="element"&&["script","style","link"].includes(t.tagName||"")||t.type==="comment"?null:t.type==="text"?t:t.type==="element"&&t.attributes&&t.attributes.find(e=>e.key==="id"&&e.value==="add-block-bottom")?null:(t.type==="element"&&t.attributes&&(t.attributes=t.attributes.filter(e=>!Jy.includes(e.key))),t.children&&(t.children=t.children.map(Uc).filter(e=>e!==null)),t),ss=(t,e,n={})=>{var o,i,l,c,u,p;if(t.type!=="element"||!t.attributes)return t;if(t.tagName==="span"&&t.attributes.find(m=>m.key==="role"&&m.value==="link")){t.tagName="a",t.attributes=t.attributes.filter(x=>x.key!=="role");const m=(o=t.attributes.find(x=>x.key==="data-block-id"))==null?void 0:o.value,h=e==null?void 0:e.find(x=>(x==null?void 0:x._id)===m);if(h!=null&&h.link&&((l=(i=h==null?void 0:h.link)==null?void 0:i.href)==null?void 0:l.length)>0){const x=(c=h==null?void 0:h.link)==null?void 0:c.href,b=(u=h==null?void 0:h.link)==null?void 0:u.target;t.attributes.push({key:"href",value:x}),typeof b=="string"&&b.length>0&&t.attributes.push({key:"target",value:b})}}const s=t.attributes.find(f=>f.key==="data-block-type"),r=t.attributes.find(f=>f.key==="data-block-id");if(s){const f=s.value;if(Zy.includes(f)||(p=n==null?void 0:n.additionalCoreBlocks)!=null&&p.includes(f))t.attributes=t.attributes.filter(m=>m.key!=="data-block-type"),t.children&&(t.children=t.children.map(m=>ss(m,e,n)));else{const m=`chai-${d.kebabCase(f)}`;t.tagName=m,t.attributes=[],t.attributes.push({key:"chai-type",value:f});const h=K.getRegisteredChaiBlock(f),x=e.find(b=>b._id===(r==null?void 0:r.value));if(x&&t.attributes.push(...Object.entries(x).filter(([b])=>!["_id","_type","_parent","_index","_name"].includes(b)).map(([b,y])=>({key:b,value:typeof y=="string"?y:JSON.stringify(y)}))),h&&(h!=null&&h.description)&&t.attributes.push({key:"about-this-component",value:h.description}),h){if(h.canMove){const b=typeof h.canMove=="function"?h.canMove():h.canMove;t.attributes.push({key:"can-move",value:String(b)})}if(h.canDelete){const b=typeof h.canDelete=="function"?h.canDelete():h.canDelete;t.attributes.push({key:"can-delete",value:String(b)})}}f==="Icon"&&(t.attributes=t.attributes.filter(b=>b.key!=="icon")),h&&h.canAcceptBlock?t.children&&(t.children=t.children.map(b=>ss(b,e,n))):t.children=[]}}else t.children&&(t.children=t.children.map(f=>ss(f,e,n)));return r&&t.attributes.push({key:"bid",value:r.value}),t.attributes=t.attributes.filter(f=>f.key!=="data-block-type"&&f.key!=="data-block-id"),t},qc=()=>{const[t]=nn();return g.useCallback(e=>{var u,p;if(!t)return"";const n=e!=null&&e.blockId?`[data-block-id="${e.blockId}"]`:"#canvas",s=(p=(u=t.contentDocument)==null?void 0:u.querySelector(n))==null?void 0:p[n==="#canvas"?"innerHTML":"outerHTML"];if(!s)return"";const o=Xo.parse(s).map(Uc).filter(f=>f!==null),i=Hd(),l=o.map(f=>ss(f,i,e));let c=Xo.stringify(l);return c=c.replace(/#styles:,/g,"#styles:"),c.replace(/\s+/g," ").trim()},[t])};function Ha(t){const e={class:"className",for:"htmlFor",tabindex:"tabIndex",readonly:"readOnly",maxlength:"maxLength",minlength:"minLength",autocomplete:"autoComplete",autofocus:"autoFocus",autoplay:"autoPlay",formaction:"formAction",formenctype:"formEncType",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",novalidate:"noValidate",crossorigin:"crossOrigin",datetime:"dateTime",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",allowfullscreen:"allowFullScreen"};if(e[t.toLowerCase()])return e[t.toLowerCase()];const n={"accent-height":"accentHeight","alignment-baseline":"alignmentBaseline","arabic-form":"arabicForm","baseline-shift":"baselineShift","cap-height":"capHeight","clip-path":"clipPath","clip-rule":"clipRule","color-interpolation":"colorInterpolation","color-interpolation-filters":"colorInterpolationFilters","color-profile":"colorProfile","color-rendering":"colorRendering","dominant-baseline":"dominantBaseline","enable-background":"enableBackground","fill-opacity":"fillOpacity","fill-rule":"fillRule","flood-color":"floodColor","flood-opacity":"floodOpacity","font-family":"fontFamily","font-size":"fontSize","font-size-adjust":"fontSizeAdjust","font-stretch":"fontStretch","font-style":"fontStyle","font-variant":"fontVariant","font-weight":"fontWeight","glyph-name":"glyphName","glyph-orientation-horizontal":"glyphOrientationHorizontal","glyph-orientation-vertical":"glyphOrientationVertical","horiz-adv-x":"horizAdvX","horiz-origin-x":"horizOriginX","image-rendering":"imageRendering","letter-spacing":"letterSpacing","lighting-color":"lightingColor","marker-end":"markerEnd","marker-mid":"markerMid","marker-start":"markerStart","overline-position":"overlinePosition","overline-thickness":"overlineThickness","paint-order":"paintOrder","panose-1":"panose1","pointer-events":"pointerEvents","rendering-intent":"renderingIntent","shape-rendering":"shapeRendering","stop-color":"stopColor","stop-opacity":"stopOpacity","strikethrough-position":"strikethroughPosition","strikethrough-thickness":"strikethroughThickness","stroke-dasharray":"strokeDasharray","stroke-dashoffset":"strokeDashoffset","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","stroke-miterlimit":"strokeMiterlimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-anchor":"textAnchor","text-decoration":"textDecoration","text-rendering":"textRendering","underline-position":"underlinePosition","underline-thickness":"underlineThickness","unicode-bidi":"unicodeBidi","unicode-range":"unicodeRange","units-per-em":"unitsPerEm","v-alphabetic":"vAlphabetic","v-hanging":"vHanging","v-ideographic":"vIdeographic","v-mathematical":"vMathematical","vector-effect":"vectorEffect","vert-adv-y":"vertAdvY","vert-origin-x":"vertOriginX","vert-origin-y":"vertOriginY","word-spacing":"wordSpacing","writing-mode":"writingMode","x-height":"xHeight"};return n[t]?n[t]:t}function rs(t,e=0){var u;if(Array.isArray(t)){if(t.length===0)return"";if(t.length===1)return rs(t[0],e);const p=" ".repeat(e);let f=`${p}<>
136
136
  `;for(const m of t)f+=rs(m,e+1);return f+=`${p}</>
137
137
  `,f}const n=" ".repeat(e);if(t.nodeType===Node.TEXT_NODE){const p=(u=t.textContent)==null?void 0:u.trim();return p?`${n}${p}
138
138
  `:""}if(t.nodeType!==Node.ELEMENT_NODE)return"";const s=t.tagName.toLowerCase();if(["img","br","hr","input","meta","link","area","base","col","embed","source","track","wbr"].includes(s)){const p=[];for(const m of t.attributes)if(m.name.startsWith("on")&&m.name!=="on"){const h=m.name.toLowerCase().replace(/on(\w)/,(x,b)=>"on"+b.toUpperCase());p.push(`${h}={${m.value}}`)}else if(m.name==="style"&&m.value){const h=m.value.split(";").reduce((x,b)=>{const[y,k]=b.split(":").map(C=>C.trim());if(y&&k){const C=y.replace(/-([a-z])/g,A=>A[1].toUpperCase());x[C]=k.replace(/['"]/g,"")}return x},{});p.push(`style={${JSON.stringify(h)}}`)}else{const h=Ha(m.name);p.push(`${h}="${m.value}"`)}const f=p.length>0?` ${p.join(" ")}`:"";return`${n}<${s}${f} />
@@ -151,10 +151,10 @@ ${r}${r}`),o=`${n?`import React from 'react';
151
151
  ${r}return (
152
152
  ${r}${r}${o==null?void 0:o.trimEnd()}
153
153
  ${r})
154
- }`,{jsx:o,html:Qy(i),componentName:s}},s0=({tab:t})=>{var k;const{t:e}=z.useTranslation(),[n,s]=g.useState({html:"",jsx:""}),r=X(),o=qc(),[i,l]=g.useState(""),[c,u]=g.useState(!1),p=()=>{switch(t){case"js":return`${i}.jsx`;case"ts":return`${i}.tsx`;case"html":return`${i}.html`;case"tailwind":return"tailwind.config.js"}},f=()=>{switch(t){case"js":case"ts":return"javascript";case"html":return"HTML";case"tailwind":return"JSON"}},m=g.useCallback(async()=>{const C=r??{_name:"Body",_type:"Body"};try{u(!1);let A=o(r?{blockId:r._id,additionalCoreBlocks:["Icon"]}:{additionalCoreBlocks:["Icon"]});A=A.replace(/\s*bid=["'][^"']*["']/g,"");const w=t==="ts",{jsx:j,html:I,componentName:S}=await n0({selectedBlock:C,html:A,isTypeScript:w});s({html:I||"",jsx:j}),l(S),u(!0)}catch{const A="<div>Export failed. Close the modal and try again.</div>";s({html:A,jsx:A}),ue.toast.error(e("Failed to generate export HTML"))}},[e,t,r,o]);g.useEffect(()=>{m()},[m,t]);const h=g.useCallback(async C=>{try{navigator.clipboard.writeText(C),ue.toast.success(e("Export code copied!"))}catch{ue.toast.error(e("Failed to copy export code"))}},[e]),x=C=>{const A=new Blob([C],{type:"text/jsx"}),w=URL.createObjectURL(A),j=document.createElement("a");j.href=w,j.download=p()??"",document.body.appendChild(j),j.click(),URL.revokeObjectURL(w),document.body.removeChild(j),ue.toast.success(e("Export code downloaded successfully!"))},b=a.jsxs("span",{children:["Download ",a.jsx("span",{className:"font-mono text-xs font-light text-gray-300",children:p()})]}),y=g.useMemo(()=>{const C={extend:Bd.shadcnTheme()},A=JSON.stringify(C,null,2);return`{
154
+ }`,{jsx:o,html:Qy(i),componentName:s}},s0=({tab:t})=>{var k;const{t:e}=z.useTranslation(),[n,s]=g.useState({html:"",jsx:""}),r=X(),o=qc(),[i,l]=g.useState(""),[c,u]=g.useState(!1),p=()=>{switch(t){case"js":return`${i}.jsx`;case"ts":return`${i}.tsx`;case"html":return`${i}.html`;case"tailwind":return"tailwind.config.js"}},f=()=>{switch(t){case"js":case"ts":return"javascript";case"html":return"HTML";case"tailwind":return"JSON"}},m=g.useCallback(async()=>{const C=r??{_name:"Body",_type:"Body"};try{u(!1);let A=o(r?{blockId:r._id,additionalCoreBlocks:["Icon"]}:{additionalCoreBlocks:["Icon"]});A=A.replace(/\s*bid=["'][^"']*["']/g,"");const w=t==="ts",{jsx:j,html:_,componentName:S}=await n0({selectedBlock:C,html:A,isTypeScript:w});s({html:_||"",jsx:j}),l(S),u(!0)}catch{const A="<div>Export failed. Close the modal and try again.</div>";s({html:A,jsx:A}),ue.toast.error(e("Failed to generate export HTML"))}},[e,t,r,o]);g.useEffect(()=>{m()},[m,t]);const h=g.useCallback(async C=>{try{navigator.clipboard.writeText(C),ue.toast.success(e("Export code copied!"))}catch{ue.toast.error(e("Failed to copy export code"))}},[e]),x=C=>{const A=new Blob([C],{type:"text/jsx"}),w=URL.createObjectURL(A),j=document.createElement("a");j.href=w,j.download=p()??"",document.body.appendChild(j),j.click(),URL.revokeObjectURL(w),document.body.removeChild(j),ue.toast.success(e("Export code downloaded successfully!"))},b=a.jsxs("span",{children:["Download ",a.jsx("span",{className:"font-mono text-xs font-light text-gray-300",children:p()})]}),y=g.useMemo(()=>{const C={extend:Bd.shadcnTheme()},A=JSON.stringify(C,null,2);return`{
155
155
  // Your tailwind config ...
156
156
 
157
157
  "theme": ${A==null?void 0:A.split(`
158
158
  `).join(`
159
159
  `)},
160
- }`},[]);return((k=n==null?void 0:n.jsx)==null?void 0:k.length)>0&&c?a.jsx(e0,{onCopy:h,code:t==="tailwind"?y:t==="html"?n.html:n.jsx,language:f()||"",downloadText:b,onDownload:x},t):a.jsx("div",{className:"flex h-[620px] w-full items-center justify-center p-4",children:"Generating code..."})},Kc=()=>{const{t}=z.useTranslation(),[e,n]=g.useState(!1),{setMode:s}=Ui(),[r,o]=g.useState("js"),i=g.useCallback(async()=>{o("js"),s("view"),n(!0)},[o,s,n]);Yt(Y.OPEN_EXPORT_CODE,i);const l=async()=>{s("edit"),await new Promise(c=>setTimeout(c,300)),n(!1)};return a.jsx(Pn,{open:e,onOpenChange:l,children:a.jsxs(ln,{className:"max-w-5xl overflow-hidden border-border",children:[a.jsxs(Ln,{className:"flex flex-row items-center justify-between",children:[a.jsx(cn,{className:"text-foreground",children:t("Export Code")}),a.jsx(Hs,{defaultValue:"js",onValueChange:o,children:a.jsxs($n,{children:[a.jsx(Ve,{value:"js",children:"Javascript"}),a.jsx(Ve,{value:"ts",children:"Typescript"}),a.jsx(Ve,{value:"html",children:"HTML"}),a.jsx(Ve,{value:"tailwind",children:"Tailwind config"})]})}),a.jsx("div",{})]}),a.jsx("div",{className:"flex min-h-[400px] flex-col gap-4",children:e&&a.jsx(g.Suspense,{fallback:a.jsx("div",{className:"flex h-[400px] items-center justify-center text-muted-foreground",children:"Loading code editor..."}),children:a.jsx(Et.ErrorBoundary,{fallback:a.jsx("div",{children:"Something went wrong"}),children:a.jsx(s0,{tab:r})})})})]})})},r0=()=>{const t=$("smallScreenComponent",null);return a.jsx("section",{className:"fixed inset-0 z-[99999] flex h-screen w-screen items-center justify-center bg-white xl:hidden",children:t?g.createElement(t):a.jsx("div",{className:"flex h-full w-full items-center justify-center bg-[linear-gradient(to_right,#f3f4f6_1px,transparent_1px),linear-gradient(to_bottom,#f3f4f6_1px,transparent_1px)] bg-[size:10px_10px] py-12 sm:py-16 lg:py-20",children:a.jsx("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:a.jsxs("div",{className:"mx-auto max-w-md space-y-6 text-center",children:[a.jsxs("div",{className:"space-y-4",children:[a.jsx("h2",{className:"text-5xl font-bold tracking-tight text-gray-900",children:"Screen too small"}),a.jsxs("p",{className:"mx-auto max-w-sm text-sm leading-7 text-gray-600",children:["Please view this page on greater than ",a.jsx("strong",{className:"font-medium",children:"1280px"})," screen width for the best experience."]})]}),a.jsx("div",{className:"pt-4",children:a.jsxs("div",{className:"inline-flex items-center rounded-full bg-gray-100 px-4 py-2 text-sm text-gray-700",children:[a.jsx("svg",{className:"mr-2 h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),"Minimum width: 1280px"]})})]})})})})},o0=()=>{const{clear:t}=In(),[,e]=q(),{clearHighlight:n}=nt(),[,s]=Ae(),[,r]=N.useAtom(yi),{reset:o}=Es(),{setSaveState:i}=tn(),[,l]=li(),[,c]=N.useAtom(Ss);return()=>{l({}),e([]),s([]),n(),t(),r(!1),o(),i("SAVED"),c(0)}},a0=(t,e)=>{const n=[];let s=d.find(t,{_id:e}),r=d.get(s,"_parent","");for(;d.isString(r)&&!d.isEmpty(r);)n.push(s==null?void 0:s._parent),s=d.find(t,{_id:r}),r=s==null?void 0:s._parent;return d.flatten(n)},i0=N.atom([]),l0=()=>{const[t]=q(),e=N.useAtomValue(Ne),[,n]=N.useAtom(i0);g.useEffect(()=>{let s=[];const r=d.first(t);d.isString(r)&&(s=[r,...a0(e,r)]),n(s)},[t,e,n])},c0=t=>{const[,e]=Z(),n=o0(),[s]=N.useAtom(As);N.useAtom(Zr),zi(),l0(),gu(),hu(),ju();const{postMessage:r}=gi(),[,o]=N.useAtom(di),i=qr();return g.useEffect(()=>{ze.set(Gr,d.omit(t,["blocks","translations","pageExternalData","globalStyles"]))},[t]),g.useEffect(()=>{ze.set(Ur,t.pageExternalData||{})},[t.pageExternalData]),g.useEffect(()=>{ze.set(en,t.designTokens||{})},[t.designTokens]),g.useEffect(()=>{o(!1),setTimeout(()=>{const l=K.syncBlocksWithDefaultProps(t.blocks||[]);e(l),l&&l.length>0&&r({type:"blocks-updated",blocks:l}),n(),o(!0),i(l)},400)},[t.blocks]),g.useEffect(()=>{ft.changeLanguage(t.locale||"en")},[t.locale]),g.useEffect(()=>{Xy(t.debugLogs??!1)},[t.debugLogs]),g.useEffect(()=>{t.translations&&d.each(t.translations,(l,c)=>{ft.addResourceBundle(c,"translation",l,!0,!0)})},[t.translations]),g.useEffect(()=>(s!=="SAVED"?window.onbeforeunload=()=>"":window.onbeforeunload=null,()=>{window.onbeforeunload=null}),[s]),null},d0=t=>{const e=g.useMemo(()=>t.layout||Hy,[t.layout]),n=$("builderTheme",Qe.defaultThemeValues),s=$("flags.exportCode",!1);return a.jsxs(a.Fragment,{children:[t.children,a.jsx(oo,{theme:n}),a.jsx(e,{}),s&&a.jsx(Kc,{})]})},u0=t=>{const e=t.onError||d.noop;return a.jsx("div",{className:"h-screen w-screen",children:a.jsxs(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:e,children:[a.jsx(r0,{}),a.jsx(d0,{...t}),a.jsx(c0,{...t}),a.jsx(Gy,{}),a.jsx(ue.Toaster,{richColors:!0}),a.jsx(Yy,{})]})})},p0=({baseUrl:t="https://chaibuilder-sdk.vercel.app"}={})=>({name:"Chai Library",description:"",getBlocksList:async e=>{try{const n=await fetch(`${t}/library-blocks/blocks-list.json`);return n.ok?(await n.json()).map(r=>{var o;return{...r,preview:(o=r.preview)!=null&&o.startsWith("http")?r.preview:`${t}${r.preview}`}}):(console.error("Failed to fetch blocks list:",n.status,n.statusText),[])}catch(n){return console.error("Error fetching blocks list:",n),[]}},getBlock:async({block:e})=>{try{const n=await fetch(`${t}/${e.id}.html?raw`);return n.ok?await n.text():(console.error(`Failed to fetch block "${e.id}" from "${t}/${e.id}.html?raw": ${n.status} ${n.statusText}`),`<!-- Error loading block "${e.id}": ${n.status} ${n.statusText} -->`)}catch(n){return console.error(`Error fetching block "${e.id}" from "${t}/${e.id}.html?raw":`,n),`<!-- Error loading block "${e.id}" -->`}}}),f0=(t,e)=>t.map(n=>{const s=K.getRegisteredChaiBlock(n._type);if(!s)return n;const r=s.i18nProps;if(!r)return n;const o=d.filter(e,{_type:n._type}),i=d.pick(n,r);return d.each(i,(l,c)=>{const u=d.find(o,p=>{var h;const f=typeof p[c]=="string"?(h=p[c])==null?void 0:h.trim().toLowerCase():JSON.stringify(p[c]),m=typeof l=="string"?l.trim().toLowerCase():JSON.stringify(l);return f===m});if(u){const p=d.filter(Object.keys(u),m=>d.startsWith(m,`${c}-`)),f=d.pick(u,p);n={...n,...f}}}),n}),h0=()=>{const[t]=Z();return g.useCallback(e=>{const n=se.getBlocksFromHTML(e),s=se.mergeBlocksWithExisting(n,t);return f0(s,t)},[t])},Yc=(t,e)=>{const n=t.filter(r=>r._parent===e),s=n.flatMap(r=>Yc(t,r._id));return[...n,...s]},m0=(t,e)=>{const n=e.find(r=>r._id===t);if(!n)return[];const s=Yc(e,t);return[n,...s]},g0=()=>{const t=X(),[e]=Z();return g.useCallback((n="")=>{const s=t!=null&&t._id?m0(t._id,e):e;return s?d.compact(s.map(r=>{const o=K.getRegisteredChaiBlock(r._type);if(!o)return null;const i=(o==null?void 0:o.i18nProps)??[];if(i.length===0)return null;const l=n==="ALL"?Object.keys(r).filter(u=>i.find(p=>u.startsWith(p))):i.map(u=>n?`${u}-${n}`:u),c=d.pick(r,["_id"]);return d.each(l,u=>{c[u]=d.get(r,u,d.get(r,u.replace(`-${n}`,"")))}),c})):[]},[t==null?void 0:t._id,e])},Xc=(t,e)=>{const n=t.filter(o=>o._parent===e),s=n.map(o=>o._id),r=n.flatMap(o=>Xc(t,o._id));return[...s,...r]},x0=(t,e,n)=>{const s=d.find(t,{_id:e});if(!s)return t;const r=t.findIndex(f=>f._id===e),o=Xc(t,e),i=new Set([e,...o]),l=t.filter(f=>!i.has(f._id)),c=new Set(n.map(f=>f._id)),u=n.map(f=>!f._parent||!c.has(f._parent)?{...f,_parent:s._parent}:f);return[...l.slice(0,r),...u,...l.slice(r)]},b0=()=>{const[,t]=q(),{setNewBlocks:e}=Ee(),{hasPermission:n}=We();return g.useCallback((s,r)=>{if(!n(Q.EDIT_BLOCK))return;const o=ze.get(Ne),i=s?x0(o,s,r):r;e(i),r.length>0&&setTimeout(()=>t([r[0]._id]),200)},[t,e,n])};if(typeof window>"u")throw new Error("@chaibuilder/sdk is only supported in the browser. Avoid using it in the server side.");exports.AIUserPrompt=$c;exports.Accordion=ec;exports.AccordionContent=Io;exports.AccordionItem=Ao;exports.AccordionTrigger=_o;exports.AddBlocksDialog=Wc;exports.AddBlocksPanel=$o;exports.AlertDialog=Fo;exports.AlertDialogAction=Vo;exports.AlertDialogCancel=Wo;exports.AlertDialogContent=Ws;exports.AlertDialogDescription=Ho;exports.AlertDialogFooter=zo;exports.AlertDialogHeader=Gs;exports.AlertDialogTitle=Us;exports.AlertDialogTrigger=Nc;exports.Badge=Ds;exports.BlockAttributesEditor=Gc;exports.BlockSettings=Cr;exports.BlockStyling=_r;exports.Breakpoints=uc;exports.CanvasArea=Ul;exports.Card=Po;exports.CardContent=Do;exports.CardFooter=Mo;exports.CardHeader=Lo;exports.CardTitle=hc;exports.ChaiBuilderEditor=u0;exports.ChaiDraggableBlock=vc;exports.ChaiFrame=Mi;exports.ClearCanvas=Ac;exports.Command=vo;exports.CommandEmpty=jo;exports.CommandGroup=So;exports.CommandInput=wo;exports.CommandItem=ks;exports.CommandList=Co;exports.CssThemeVariables=oo;exports.DarkMode=Iy;exports.DefaultChaiBlocks=fc;exports.Dialog=Pn;exports.DialogContent=ln;exports.DialogDescription=Xl;exports.DialogFooter=Yl;exports.DialogHeader=Ln;exports.DialogTitle=cn;exports.DialogTrigger=ql;exports.DropdownMenu=mt;exports.DropdownMenuContent=et;exports.DropdownMenuItem=ge;exports.DropdownMenuLabel=Rr;exports.DropdownMenuSeparator=Pr;exports.DropdownMenuTrigger=gt;exports.ExportCodeModal=Kc;exports.HoverCard=cc;exports.HoverCardContent=Bo;exports.HoverCardTrigger=dc;exports.IframeInitialContent=Li;exports.ImportHTML=gc;exports.LANGUAGES=Dt;exports.Label=ct;exports.ListTree=Bc;exports.ManualClasses=Ro;exports.NestedPathSelector=No;exports.PERMISSIONS=Q;exports.Popover=Ms;exports.PopoverContent=Dn;exports.PopoverTrigger=Os;exports.ScrollArea=An;exports.Select=Vs;exports.SelectContent=Hn;exports.SelectItem=Vn;exports.SelectTrigger=zn;exports.Separator=vn;exports.Sheet=zc;exports.SheetContent=Go;exports.SheetDescription=Vc;exports.SheetHeader=Uo;exports.SheetTitle=qo;exports.SheetTrigger=By;exports.Skeleton=Rt;exports.Switch=dn;exports.Tabs=Hs;exports.TabsContent=at;exports.TabsList=$n;exports.TabsTrigger=Ve;exports.Textarea=Fn;exports.ThemeConfigPanel=Dc;exports.Tooltip=fe;exports.TooltipContent=le;exports.TooltipProvider=ys;exports.TooltipTrigger=he;exports.UILibrariesPanel=Cc;exports.UndoRedo=Ty;exports.chaiDesignTokensAtom=en;exports.chaiThemeValuesAtom=Vi;exports.constructClassObject=Fs;exports.dataBindingActiveAtom=Qr;exports.defaultChaiLibrary=p0;exports.getClassValueAndUnit=sc;exports.libraryBlocksAtom=yc;exports.orderClassesByBreakpoint=ac;exports.removeDuplicateClasses=ic;exports.useAddBlock=xt;exports.useBlocksHtmlForAi=qc;exports.useBlocksStore=Z;exports.useBuilderProp=$;exports.useCanvasZoom=Vl;exports.useCodeEditor=ko;exports.useDarkMode=rn;exports.useFrame=Xe;exports.useHtmlToBlocks=h0;exports.useI18nBlocks=g0;exports.useIncrementActionsCount=mi;exports.useLanguages=Te;exports.useLibraryBlocks=kc;exports.usePageExternalData=Ot;exports.usePartialBlocksStore=Es;exports.usePermissions=We;exports.useRemoveBlocks=_s;exports.useReplaceBlock=b0;exports.useRightPanel=Wi;exports.useSavePage=tn;exports.useSaveWebsiteData=Pc;exports.useSelectedBlock=X;exports.useSelectedBlockIds=q;exports.useSidebarActivePanel=Bs;exports.useStreamMultipleBlocksProps=ii;exports.useTheme=Rn;exports.useThemeOptions=on;exports.useUpdateBlocksProps=Ke;exports.useUpdateBlocksPropsRealtime=Vr;
160
+ }`},[]);return((k=n==null?void 0:n.jsx)==null?void 0:k.length)>0&&c?a.jsx(e0,{onCopy:h,code:t==="tailwind"?y:t==="html"?n.html:n.jsx,language:f()||"",downloadText:b,onDownload:x},t):a.jsx("div",{className:"flex h-[620px] w-full items-center justify-center p-4",children:"Generating code..."})},Kc=()=>{const{t}=z.useTranslation(),[e,n]=g.useState(!1),{setMode:s}=Ui(),[r,o]=g.useState("js"),i=g.useCallback(async()=>{o("js"),s("view"),n(!0)},[o,s,n]);Yt(Y.OPEN_EXPORT_CODE,i);const l=async()=>{s("edit"),await new Promise(c=>setTimeout(c,300)),n(!1)};return a.jsx(Pn,{open:e,onOpenChange:l,children:a.jsxs(ln,{className:"max-w-5xl overflow-hidden border-border",children:[a.jsxs(Ln,{className:"flex flex-row items-center justify-between",children:[a.jsx(cn,{className:"text-foreground",children:t("Export Code")}),a.jsx(Hs,{defaultValue:"js",onValueChange:o,children:a.jsxs($n,{children:[a.jsx(Ve,{value:"js",children:"Javascript"}),a.jsx(Ve,{value:"ts",children:"Typescript"}),a.jsx(Ve,{value:"html",children:"HTML"}),a.jsx(Ve,{value:"tailwind",children:"Tailwind config"})]})}),a.jsx("div",{})]}),a.jsx("div",{className:"flex min-h-[400px] flex-col gap-4",children:e&&a.jsx(g.Suspense,{fallback:a.jsx("div",{className:"flex h-[400px] items-center justify-center text-muted-foreground",children:"Loading code editor..."}),children:a.jsx(Et.ErrorBoundary,{fallback:a.jsx("div",{children:"Something went wrong"}),children:a.jsx(s0,{tab:r})})})})]})})},r0=()=>{const t=$("smallScreenComponent",null);return a.jsx("section",{className:"fixed inset-0 z-[99999] flex h-screen w-screen items-center justify-center bg-white xl:hidden",children:t?g.createElement(t):a.jsx("div",{className:"flex h-full w-full items-center justify-center bg-[linear-gradient(to_right,#f3f4f6_1px,transparent_1px),linear-gradient(to_bottom,#f3f4f6_1px,transparent_1px)] bg-[size:10px_10px] py-12 sm:py-16 lg:py-20",children:a.jsx("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:a.jsxs("div",{className:"mx-auto max-w-md space-y-6 text-center",children:[a.jsxs("div",{className:"space-y-4",children:[a.jsx("h2",{className:"text-5xl font-bold tracking-tight text-gray-900",children:"Screen too small"}),a.jsxs("p",{className:"mx-auto max-w-sm text-sm leading-7 text-gray-600",children:["Please view this page on greater than ",a.jsx("strong",{className:"font-medium",children:"1280px"})," screen width for the best experience."]})]}),a.jsx("div",{className:"pt-4",children:a.jsxs("div",{className:"inline-flex items-center rounded-full bg-gray-100 px-4 py-2 text-sm text-gray-700",children:[a.jsx("svg",{className:"mr-2 h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),"Minimum width: 1280px"]})})]})})})})},o0=()=>{const{clear:t}=_n(),[,e]=q(),{clearHighlight:n}=nt(),[,s]=Ae(),[,r]=N.useAtom(yi),{reset:o}=Es(),{setSaveState:i}=tn(),[,l]=li(),[,c]=N.useAtom(Ss);return()=>{l({}),e([]),s([]),n(),t(),r(!1),o(),i("SAVED"),c(0)}},a0=(t,e)=>{const n=[];let s=d.find(t,{_id:e}),r=d.get(s,"_parent","");for(;d.isString(r)&&!d.isEmpty(r);)n.push(s==null?void 0:s._parent),s=d.find(t,{_id:r}),r=s==null?void 0:s._parent;return d.flatten(n)},i0=N.atom([]),l0=()=>{const[t]=q(),e=N.useAtomValue(Ne),[,n]=N.useAtom(i0);g.useEffect(()=>{let s=[];const r=d.first(t);d.isString(r)&&(s=[r,...a0(e,r)]),n(s)},[t,e,n])},c0=t=>{const[,e]=Z(),n=o0(),[s]=N.useAtom(As);N.useAtom(Zr),zi(),l0(),gu(),hu(),ju();const{postMessage:r}=gi(),[,o]=N.useAtom(di),i=qr();return g.useEffect(()=>{ze.set(Gr,d.omit(t,["blocks","translations","pageExternalData","globalStyles"]))},[t]),g.useEffect(()=>{ze.set(Ur,t.pageExternalData||{})},[t.pageExternalData]),g.useEffect(()=>{ze.set(en,t.designTokens||{})},[t.designTokens]),g.useEffect(()=>{o(!1),setTimeout(()=>{const l=K.syncBlocksWithDefaultProps(t.blocks||[]);e(l),l&&l.length>0&&r({type:"blocks-updated",blocks:l}),n(),o(!0),i(l)},400)},[t.blocks]),g.useEffect(()=>{ft.changeLanguage(t.locale||"en")},[t.locale]),g.useEffect(()=>{Xy(t.debugLogs??!1)},[t.debugLogs]),g.useEffect(()=>{t.translations&&d.each(t.translations,(l,c)=>{ft.addResourceBundle(c,"translation",l,!0,!0)})},[t.translations]),g.useEffect(()=>(s!=="SAVED"?window.onbeforeunload=()=>"":window.onbeforeunload=null,()=>{window.onbeforeunload=null}),[s]),null},d0=t=>{const e=g.useMemo(()=>t.layout||Hy,[t.layout]),n=$("builderTheme",Qe.defaultThemeValues),s=$("flags.exportCode",!1);return a.jsxs(a.Fragment,{children:[t.children,a.jsx(oo,{theme:n}),a.jsx(e,{}),s&&a.jsx(Kc,{})]})},u0=t=>{const e=t.onError||d.noop;return a.jsx("div",{className:"h-screen w-screen",children:a.jsxs(Et.ErrorBoundary,{fallback:a.jsx(kn,{}),onError:e,children:[a.jsx(r0,{}),a.jsx(d0,{...t}),a.jsx(c0,{...t}),a.jsx(Gy,{}),a.jsx(ue.Toaster,{richColors:!0}),a.jsx(Yy,{})]})})},p0=({baseUrl:t="https://chaibuilder-sdk.vercel.app"}={})=>({name:"Chai Library",description:"",getBlocksList:async e=>{try{const n=await fetch(`${t}/library-blocks/blocks-list.json`);return n.ok?(await n.json()).map(r=>{var o;return{...r,preview:(o=r.preview)!=null&&o.startsWith("http")?r.preview:`${t}${r.preview}`}}):(console.error("Failed to fetch blocks list:",n.status,n.statusText),[])}catch(n){return console.error("Error fetching blocks list:",n),[]}},getBlock:async({block:e})=>{try{const n=await fetch(`${t}/${e.id}.html?raw`);return n.ok?await n.text():(console.error(`Failed to fetch block "${e.id}" from "${t}/${e.id}.html?raw": ${n.status} ${n.statusText}`),`<!-- Error loading block "${e.id}": ${n.status} ${n.statusText} -->`)}catch(n){return console.error(`Error fetching block "${e.id}" from "${t}/${e.id}.html?raw":`,n),`<!-- Error loading block "${e.id}" -->`}}}),f0=(t,e)=>t.map(n=>{const s=K.getRegisteredChaiBlock(n._type);if(!s)return n;const r=s.i18nProps;if(!r)return n;const o=d.filter(e,{_type:n._type}),i=d.pick(n,r);return d.each(i,(l,c)=>{const u=d.find(o,p=>{var h;const f=typeof p[c]=="string"?(h=p[c])==null?void 0:h.trim().toLowerCase():JSON.stringify(p[c]),m=typeof l=="string"?l.trim().toLowerCase():JSON.stringify(l);return f===m});if(u){const p=d.filter(Object.keys(u),m=>d.startsWith(m,`${c}-`)),f=d.pick(u,p);n={...n,...f}}}),n}),h0=()=>{const[t]=Z();return g.useCallback(e=>{const n=se.getBlocksFromHTML(e),s=se.mergeBlocksWithExisting(n,t);return f0(s,t)},[t])},Yc=(t,e)=>{const n=t.filter(r=>r._parent===e),s=n.flatMap(r=>Yc(t,r._id));return[...n,...s]},m0=(t,e)=>{const n=e.find(r=>r._id===t);if(!n)return[];const s=Yc(e,t);return[n,...s]},g0=()=>{const t=X(),[e]=Z();return g.useCallback((n="")=>{const s=t!=null&&t._id?m0(t._id,e):e;return s?d.compact(s.map(r=>{const o=K.getRegisteredChaiBlock(r._type);if(!o)return null;const i=(o==null?void 0:o.i18nProps)??[];if(i.length===0)return null;const l=n==="ALL"?Object.keys(r).filter(u=>i.find(p=>u.startsWith(p))):i.map(u=>n?`${u}-${n}`:u),c=d.pick(r,["_id"]);return d.each(l,u=>{c[u]=d.get(r,u,d.get(r,u.replace(`-${n}`,"")))}),c})):[]},[t==null?void 0:t._id,e])},Xc=(t,e)=>{const n=t.filter(o=>o._parent===e),s=n.map(o=>o._id),r=n.flatMap(o=>Xc(t,o._id));return[...s,...r]},x0=(t,e,n)=>{const s=d.find(t,{_id:e});if(!s)return t;const r=t.findIndex(f=>f._id===e),o=Xc(t,e),i=new Set([e,...o]),l=t.filter(f=>!i.has(f._id)),c=new Set(n.map(f=>f._id)),u=n.map(f=>!f._parent||!c.has(f._parent)?{...f,_parent:s._parent}:f);return[...l.slice(0,r),...u,...l.slice(r)]},b0=()=>{const[,t]=q(),{setNewBlocks:e}=Ee(),{hasPermission:n}=We();return g.useCallback((s,r)=>{if(!n(Q.EDIT_BLOCK))return;const o=ze.get(Ne),i=s?x0(o,s,r):r;e(i),r.length>0&&setTimeout(()=>t([r[0]._id]),200)},[t,e,n])};if(typeof window>"u")throw new Error("@chaibuilder/sdk is only supported in the browser. Avoid using it in the server side.");exports.AIUserPrompt=$c;exports.Accordion=ec;exports.AccordionContent=_o;exports.AccordionItem=Ao;exports.AccordionTrigger=Io;exports.AddBlocksDialog=Wc;exports.AddBlocksPanel=$o;exports.AlertDialog=Fo;exports.AlertDialogAction=Vo;exports.AlertDialogCancel=Wo;exports.AlertDialogContent=Ws;exports.AlertDialogDescription=Ho;exports.AlertDialogFooter=zo;exports.AlertDialogHeader=Gs;exports.AlertDialogTitle=Us;exports.AlertDialogTrigger=Nc;exports.Badge=Ds;exports.BlockAttributesEditor=Gc;exports.BlockSettings=Cr;exports.BlockStyling=Ir;exports.Breakpoints=uc;exports.CanvasArea=Ul;exports.Card=Po;exports.CardContent=Do;exports.CardFooter=Mo;exports.CardHeader=Lo;exports.CardTitle=hc;exports.ChaiBuilderEditor=u0;exports.ChaiDraggableBlock=vc;exports.ChaiFrame=Mi;exports.ClearCanvas=Ac;exports.Command=vo;exports.CommandEmpty=jo;exports.CommandGroup=So;exports.CommandInput=wo;exports.CommandItem=ks;exports.CommandList=Co;exports.CssThemeVariables=oo;exports.DarkMode=_y;exports.DefaultChaiBlocks=fc;exports.Dialog=Pn;exports.DialogContent=ln;exports.DialogDescription=Xl;exports.DialogFooter=Yl;exports.DialogHeader=Ln;exports.DialogTitle=cn;exports.DialogTrigger=ql;exports.DropdownMenu=mt;exports.DropdownMenuContent=et;exports.DropdownMenuItem=ge;exports.DropdownMenuLabel=Rr;exports.DropdownMenuSeparator=Pr;exports.DropdownMenuTrigger=gt;exports.ExportCodeModal=Kc;exports.HoverCard=cc;exports.HoverCardContent=Bo;exports.HoverCardTrigger=dc;exports.IframeInitialContent=Li;exports.ImportHTML=gc;exports.LANGUAGES=Dt;exports.Label=ct;exports.ListTree=Bc;exports.ManualClasses=Ro;exports.NestedPathSelector=No;exports.PERMISSIONS=Q;exports.Popover=Ms;exports.PopoverContent=Dn;exports.PopoverTrigger=Os;exports.ScrollArea=An;exports.Select=Vs;exports.SelectContent=Hn;exports.SelectItem=Vn;exports.SelectTrigger=zn;exports.Separator=vn;exports.Sheet=zc;exports.SheetContent=Go;exports.SheetDescription=Vc;exports.SheetHeader=Uo;exports.SheetTitle=qo;exports.SheetTrigger=By;exports.Skeleton=Rt;exports.Switch=dn;exports.Tabs=Hs;exports.TabsContent=at;exports.TabsList=$n;exports.TabsTrigger=Ve;exports.Textarea=Fn;exports.ThemeConfigPanel=Dc;exports.Tooltip=fe;exports.TooltipContent=le;exports.TooltipProvider=ys;exports.TooltipTrigger=he;exports.UILibrariesPanel=Cc;exports.UndoRedo=Ty;exports.chaiDesignTokensAtom=en;exports.chaiThemeValuesAtom=Vi;exports.constructClassObject=Fs;exports.dataBindingActiveAtom=Qr;exports.defaultChaiLibrary=p0;exports.getClassValueAndUnit=sc;exports.libraryBlocksAtom=yc;exports.orderClassesByBreakpoint=ac;exports.removeDuplicateClasses=ic;exports.useAddBlock=xt;exports.useBlocksHtmlForAi=qc;exports.useBlocksStore=Z;exports.useBuilderProp=$;exports.useCanvasZoom=Vl;exports.useCodeEditor=ko;exports.useDarkMode=rn;exports.useFrame=Xe;exports.useHtmlToBlocks=h0;exports.useI18nBlocks=g0;exports.useIncrementActionsCount=mi;exports.useLanguages=Te;exports.useLibraryBlocks=kc;exports.usePageExternalData=Ot;exports.usePartialBlocksStore=Es;exports.usePermissions=We;exports.useRemoveBlocks=Is;exports.useReplaceBlock=b0;exports.useRightPanel=Wi;exports.useSavePage=tn;exports.useSaveWebsiteData=Pc;exports.useSelectedBlock=X;exports.useSelectedBlockIds=q;exports.useSidebarActivePanel=Bs;exports.useStreamMultipleBlocksProps=ii;exports.useTheme=Rn;exports.useThemeOptions=on;exports.useUpdateBlocksProps=Ke;exports.useUpdateBlocksPropsRealtime=Vr;