1import{r as c,j as t,u as O}from"./r-vendor-19d0da08.js";import{O as R,I as oe,aD as ie}from"./p-vendor-8a8690be.js";import{fC as U,bu as ce,fD as W,u as ae,aI as le,bi as re,b as ue,aD as pe,bj as ge,f as J,fE as me,fF as he,fG as de}from"./excel-64de9dac.js";import{C as b}from"./custom-svgs-7b09d4c5.js";import{T,C as fe}from"./index-b829e237.js";import{c as I}from"./tools-vendor-f819cd93.js";import{g as Ce}from"./popupContainer-82a3129c.js";import{g as xe,i as be,u as Q,S as V,D}from"./ui-vendor-b351c7a8.js";import"./lt-vendor-f130405e.js";import"./md-vendor-ec514de7.js";import"./tpy-vendor-4cba9c22.js";import"./codemirror-vendor-0e6f1da3.js";import"./text-all-cb88d344.js";import"./framework-670ab926.js";import"./wb-vendor-4f3b5676.js";const G="left",Se=e=>{const{state:n}=e,{selection:o,doc:u}=n,r=new Set;if(u.nodesBetween(o.from,o.to,p=>{(p.type.name==="heading"||p.type.name==="paragraph")&&r.add(p.attrs.textAlign||G)}),!r.size&&o instanceof R)for(let p=o.$from.depth;p>0;p--){const s=o.$from.node(p);if(s.type.name==="heading"||s.type.name==="paragraph"){r.add(s.attrs.textAlign||G);break}}return r},Y=e=>{const n=Se(e),u=n.size===1?Array.from(n)[0]:void 0;return{isParagraph:e.isActive("paragraph"),isBold:e.isActive("bold"),isItalic:e.isActive("italic"),isStrike:e.isActive("strike"),isUnderline:e.isActive("underline"),isCode:e.isActive("code"),isBlockquote:e.isActive("blockquote"),isSubscript:e.isActive("subscript"),isSuperscript:e.isActive("superscript"),isAlignLeft:u==="left",isAlignCenter:u==="center",isAlignRight:u==="right",isAlignJustify:u==="justify",isBullList:e.isActive("bulletList"),isOrderedList:e.isActive("orderedList"),isTodoList:e.isActive("taskList"),isTable:e.isActive("table"),isColumns:e.isActive("columns"),isCallout:e.isActive("callout"),currentColor:e.getAttributes("textStyle")?.color||void 0,currentHighlight:e.getAttributes("highlight")?.color||void 0,currentFont:e.getAttributes("textStyle")?.fontFamily||void 0,currentSize:e.getAttributes("textStyle")?.fontSize||void 0}},X=(e,n)=>{const o=e.chain().focus();return e.isActive("heading")&&o.setCustomParagraph({size:"default"}),n==="bullet"?o.toggleBulletList().run():o.toggleOrderedList().run()},ke=e=>{const n=Y(e),o=c.useCallback(()=>{g(e,()=>{e.commands.focus()})},[e]),u=c.useCallback((h,N)=>{g(e,()=>{e.chain().focus().setFontSize(h,N).run()})},[e]),r=c.useCallback(()=>{g(e,()=>{e.chain().focus().toggleBold().run()})},[e,n.isBold]),p=c.useCallback(()=>{g(e,()=>{e.chain().focus().toggleItalic().run()})},[e,n.isItalic]),s=c.useCallback(()=>{g(e,()=>{e.chain().focus().toggleStrike().run()})},[e,n.isStrike]),i=c.useCallback(()=>{g(e,()=>{e.chain().focus().toggleUnderline().run()})},[e,n.isUnderline]),a=c.useCallback(()=>{g(e,()=>{X(e,"bullet")})},[e,n.isBullList]),m=c.useCallback(()=>{g(e,()=>{X(e,"ordered")})},[e,n.isOrderedList]),x=c.useCallback(()=>{g(e,()=>{e.chain().focus().toggleTaskList().run()})},[e]),y=c.useCallback(()=>{g(e,()=>{e.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!1}).run()})},[e]),S=c.useCallback(()=>{g(e,()=>{e.chain().focus().toggleCode().run()})},[e,n.isCode]),d=c.useCallback(()=>{e.chain().focus().toggleBlockquote().run()},[e,n.isBlockquote]),j=c.useCallback(()=>{g(e,()=>{e.chain().focus().setTextAlign("left").run()})},[e]),f=c.useCallback(()=>{g(e,()=>{e.chain().focus().setTextAlign("center").run()})},[e]),A=c.useCallback(()=>{g(e,()=>{e.chain().focus().setTextAlign("right").run()})},[e]),v=c.useCallback(()=>{g(e,()=>{e.chain().focus().setTextAlign("justify").run()})},[e]),l=c.useCallback(h=>{g(e,()=>{e.chain().focus().setColor(h).run(),U(e,h)})},[e]),C=c.useCallback(()=>{g(e,()=>{e.chain().focus().unsetColor().run(),U(e,null)})},[e]),k=c.useCallback(h=>{g(e,()=>{e.chain().focus().setHighlight({color:h}).run()})},[e]),E=c.useCallback(()=>{g(e,()=>{e.chain().focus().unsetHighlight().run()})},[e]),w=c.useCallback((h,N)=>{g(e,()=>{e.chain().focus().setLink({href:h,target:N?"_blank":""}).run()})},[e]),B=c.useCallback(h=>{g(e,()=>!h||h.length===0?e.chain().focus().unsetFontFamily().run():e.chain().focus().setFontFamily(h).run())},[e]),_=c.useCallback((h,N)=>{g(e,()=>!h||h.length===0?e.chain().focus().unsetFontSize().run():e.chain().focus().setFontSize(h,N).run())},[e]),P=c.useCallback(()=>{g(e,()=>
1{e.chain().focus().undo().run()})},[e]),L=c.useCallback(()=>{g(e,()=>{e.chain().focus().redo().run()})},[e]),g=(h,N)=>{if(!h)return;const{state:F,view:$}=h,{selection:M}=F,{$from:H}=M,q=M,ee=H.node();if(M.empty&&ee){const te=H.start(),ne=H.end(),se=F.tr.setSelection(R.create(F.doc,te,ne));$.dispatch(se)}N(),requestAnimationFrame(()=>{$.dispatch(h.state.tr.setSelection(R.create(h.state.doc,q.from,q.to)))})};return{onAskAI:o,onFontSize:u,onBold:r,onItalic:p,onStrike:s,onUnderline:i,onBullList:a,onOrderedList:m,onTodoList:x,onTable:y,onCode:S,onBlockquote:d,onAlignLeft:j,onAlignCenter:f,onAlignRight:A,onAlignJustify:v,onChangeColor:l,onClearColor:C,onChangeHighlight:k,onClearHighlight:E,onSetFont:B,onSetFontSize:_,onLink:w,onUndo:P,onRedo:L}},Ae=new Set(["paragraph","heading"]),ve=e=>{const{selection:n}=e;if(!oe(n))return!1;const o=e.doc.nodeAt(n.from);return!!o&&Ae.has(o.type.name)},ye=(e,{view:n,state:o,from:u},r)=>{if(!n||!o||typeof u!="number"||!e.isEditable||!(n.hasFocus()||!!r?.contains(document.activeElement)))return!1;const{selection:s}=o,i=ve(o),a=s instanceof R&&!s.empty;if(!i&&!a)return!1;const m=n.domAtPos(u||0).node,x=n.nodeDOM(u||0);return ce(e,x||m)?!1:!!o.doc.textBetween(s.from,s.to).length},je=[{value:"longer",label:"Longer",icon:t.jsx(b,{className:"toolbar-icon",type:"popai-longer"})},{value:"shorter",label:"Shorter",icon:t.jsx(b,{className:"toolbar-icon",type:"popai-shorter"})},{value:"continue",label:"Continue",icon:t.jsx(b,{className:"toolbar-icon",type:"pencil"})}],Te=({editor:e,onChange:n})=>{const[o,u]=c.useState(-1),r=c.useCallback(async(s,i)=>{u(i);const{state:a}=e,{from:m,to:x}=a?.selection??{from:0,to:0},y=`mark_${Date.now()}`,S=a.doc.textBetween(m,x);n?.({operate:s,selection:S,nodeId:y,editor:e})},[e]);return{currentButton:o,setCurrentButton:u,handleChange:r,checkShow:({editor:s})=>{if(s.state.selection.empty)return!1;const a=W(s),m=W(s,!0);return!!a&&!!m&&a.eq(m)}}};const Ne=e=>{const{children:n,editor:o,onChange:u}=e,[r,p]=c.useState(!1),{handleChange:s}=Te({editor:o,onChange:u}),{t:i}=O(),{isRTLDir:a}=ae(m=>({isRTLDir:m.isRTLDir}));return t.jsx(xe,{placement:a?"bottomRight":"bottomLeft",classNames:{root:"content-tool-popover-overlay"},arrow:!1,open:r,onOpenChange:p,getPopupContainer:Ce,content:t.jsx("div",{className:"content-tool-btns",children:je.map((m,x)=>t.jsxs("button",{className:I("tool-btn"),onClick:()=>{s(m.value,x),p(!1)},children:[m?.icon,i(`pages.chat.${m.value}`)]},x))}),children:n})};const z=18,Le={1:52,2:44,3:32,4:24},Fe=[{className:"__p-large",size:24},{className:"__p-medium",size:18},{className:"__p-small",size:14}],Z=1,K=140,ze=e=>{const{onFontSizeChange:n,editor:o,setEvent:u}=e;c.useEffect(()=>{if(!o)return;const l=()=>{const C=o.getAttributes("fontSize")?.size?.match(/\s*(\d+)px/),E=(o.getAttributes("span")?.style||"").match(/font-size:\s*(\d+)px/),w=E?parseInt(E[1],10):null,B=C?parseInt(C[1],10):null;if(B){p(B);return}if(w){p(w);return}const _=o.getAttributes("paragraph");if(_?.class){const L=Fe.find(g=>_.class.includes(g.className));if(L){p(L.size);return}}const P=o.getAttributes("heading");if(P?.level){const L=P.level,g=Le[L]||z;p(g);return}try{const{from:L}=o.state.selection;let h=o.view.domAtPos(L).node;if(h&&h.nodeType===Node.TEXT_NODE&&(h=h.parentElement),h&&typeof window<"u"){const N=window.getComputedStyle(h).fontSize,F=parseInt(N,10);if(!Number.isNaN(F)&&F>0){p(F);return}}}catch{}p(z)};return o.on("selectionUpdate",l),()=>{o.off("selectionUpdate",l)}},[o]);const[r,p]=c.useState(z),[s,i]=c.useState(z);c.useLayoutEffect(()=>{i(r)},[r]);const[a,m]=c.useState(!1),x=c.useRef(null),y=l=>{parseInt(l.target.value)<1||i(l.target.value)},S=()=>{r>=K||(f(r+1),u?.("fontSizeAdd"))},d=()=>{r<=Z||(f(r-1),u?.("fontSizeDel"))},j=l=>{v({},l),m(!1),u?.("fontSizeChange")},f=l=>{p(l);const C=o.getAttributes("span")?.style;!o.state.selection.empty?n(l+"px"):n(l+"px",C)},A=[8,10,12,14,16,18,20,22].map(l=>({label:l,key:l,onClick:()=>{j(l)}})),v=(l,C)=>{C||(C=s,u?.("fontSizeChange"));let k;typeof C=="string"?(k=parseInt(C,10),isNaN(k)&&(k=z)):typeof C=="number"?(k=C,isNaN(k)&&(k=z)):k=z,clearTimeout(x.current),x.current=setTimeout(()=>{f(k),i(k),m(!1)},200)};return c.useEffect(()=>()=>m(!1),[]),t.jsxs("div",{className:"text-menu-font-size-container",children:[t.jsx("div",{onClick:d,className:I("text-menu-font-size-button ",r<=Z&&"disabled"),children:"-"}),t.jsxs("div",{style:{position:"relative"},children:[t.jsx(be,{value:s,onChange:y,className:"text-menu-font-size-input",onClick:()=>m(!a),onPressEnter:v,onBlur:v}),t.jsx("div",{className:"text-menu-font-size-dropdown",children:a&&t.jsx(Q,{menu:{items:A},open:a,trigger:["click"],getPopupContainer:l=>l,className:"text-menu-font-size-dropdown-menu",children:t.jsx("span",{style:{fontSize:r},children:t.jsx("span",{className:"ant-dropdown-link"})})})})]}),t.jsx("div",{onClick:S,className:I("text-menu-font-size-button text-menu-font-size-button2",r>=K&&"disabled"),children:"+"})]})};const we=e=>{const{editor:n,setEvent:o}=e,{prompt:u,setPrompt:r,setAiGenerating:p}=le(),{setFocusedItem:s}=re(A=>({setFocusedItem:A.setFocusedItem})),{t:i}=O(),a=c.useRef(null),{selectionLanguage:m,setSelectionLanguage:x}=ue(),[y,S]=c.useState(void 0);c.useEffect(()=>{S(void 0)},[n.isFocused]);const d=A=>{s(ge.writing);const{languageLabel:v}=A||{},l=f();if(!l)return;p(!0);let C="";C=`${i("common.translateTo")} ${v}ï¼ 2 ${l}`,o?.("Translate"),r({...u,message:C,selectText:l}),n&&n.commands.focus()},j=(A,v)=>t.jsxs("div",{className:"language-group",children:[t.jsx("div",{className:"language-group-title",children:A}),v?.map(l=>t.jsx("div",{className:I({"language-item":!0}),onClick:C=>{C.stopPropagation(),S(!1),d(l),x(l)},children:l?.languageLabel},l?.languageEnglish))]}),f=()=>{const{state:A}=n,{selection:v}=A,{$from:l,from:C,to:k}=v;if(C!==k)return A.doc.textBetween(C,k," ");if(l.node()){const w=l.start(),B=l.end();return A.doc.textBetween(w,B," ")}return""};
2return t.jsxs("div",{className:"text-menu-ce",ref:a,children:[t.jsx(b,{className:"dropdown-icon",type:"translate",text:m.languageEnglish,onClick:()=>d(m)}),t.jsx(pe,{open:y,overlayClassName:"translate-popover",placement:"bottom",arrow:!1,languageBlockRender:j,popupContainer:()=>a?.current,children:t.jsx("div",{className:"enrich-item2",children:t.jsx(b,{className:I({"dropdown-icon":!0,isRtlIcon_language_ar:!0}),type:"popai-down"})})})]})},Be=e=>{const{t:n}=O();return c.useMemo(()=>{const u=[{setSize:"sm",label:n("common.smallText"),id:"text-sm"},{setSize:"default",label:n("common.normalText"),id:"text-default"},{setSize:"lg",label:n("common.largeText"),id:"text-lg"}],r=[{level:1,label:n("common.heading1"),id:"heading1"},{level:2,label:n("common.heading2"),id:"heading2"},{level:3,label:n("common.heading3"),id:"heading3"},{level:4,label:n("common.heading4"),id:"heading4"}],p=u.map(({setSize:i,label:a,id:m})=>({onClick:()=>{e.chain().focus().setCustomParagraph({size:i}).run()},id:m,disabled:()=>!e.can().setCustomParagraph({size:i}),isActive:()=>e.isActive("paragraph",{size:i}),label:a,type:"option"})),s=r.map(({level:i,label:a,id:m})=>({onClick:()=>{e.chain().focus().setHeading({level:i}).run()},id:m,disabled:()=>!e.can().setHeading({level:i}),isActive:()=>{if(e.isActive("heading",{level:i}))return!0;try{const{state:x}=e,{selection:y}=x,{$from:S}=y,d=S.node();if(d&&d.type.name==="heading"&&d.attrs.level===i)return!0;for(let j=S.depth;j>0;j--){const f=S.node(j);if(f&&f.type.name==="heading"&&f.attrs.level===i)return!0}}catch{}return!1},label:a,type:"option",level:i}));return[...p,{type:"divider"},...s]},[e,e.state])};const Ee=e=>{const{options:n}=e,{sendDAEvent:o}=J(),{t:u}=O(),r=c.useMemo(()=>n.find(s=>s.type==="option"&&s.isActive()),[n]),p=n.map(s=>s.type==="divider"?s:{key:s.id,label:t.jsxs(V,{children:[s.icon&&t.jsx(b,{type:s.icon,className:"text-format-icon"}),s.label]}),disabled:s?.disabled(),onClick:s?.onClick,icon:t.jsx(b,{type:"popai-yes"}),className:s.isActive()&&"active-item"});return t.jsx(Q,{placement:"bottom",menu:{items:p},getPopupContainer:s=>s.parentElement,overlayClassName:"ppt-text-format",overlayStyle:{paddingTop:"8px",paddingBottom:"8px"},onOpenChange:s=>{s&&o("writing_TextSelectionFeatureButtonClick")},children:t.jsx("div",{children:t.jsx(T,{active:!0,children:r?.label||u("common.normalText")})})})},Ke=e=>{const{editor:n,onAskAi:o,isAgentXmlChannel:u}=e,r=c.useRef(null),{sendDAEvent:p}=J(),{t:s}=O(),i=ke(n),a=Y(n),m=Be(n),x=me(n),y=he(n),S=!de(n),d=f=>{p("Click_PptSelectWord",{button_name:f})},j=f=>{f.target.closest('input, textarea, [contenteditable="true"]')||f.preventDefault()};return t.jsx(ie,{tippyOptions:{duration:100,placement:"top",maxWidth:"none",appendTo:()=>document.getElementById("ppt-pages")||document.body},editor:n,pluginKey:"textMenu",shouldShow:f=>ye(n,f,r.current),updateDelay:150,children:t.jsxs(V,{ref:r,size:4,className:"doc-editor-operate",onMouseDownCapture:j,"data-ppt-toolbar":"true",children:[(!x||y)&&t.jsxs(t.Fragment,{children:[t.jsx(Ne,{editor:n,onChange:o,children:t.jsxs("button",{className:"toolbar-btn ask-ai-btn","data-ppt-comp":"true",children:[t.jsx(b,{type:"popai-a-AIwriting"}),s("components.write.askAI")]})}),t.jsx(D,{type:"vertical"})]}),u?t.jsx(Ee,{options:m}):t.jsx(ze,{onFontSizeChange:i.onFontSize,editor:n,setEvent:d}),!a.isCode&&t.jsx(fe,{color:a.currentColor,highlight:a.currentHighlight,onChangeColor:i.onChangeColor,onChangeHighlight:i.onChangeHighlight,onClearColor:i.onClearColor,onClearHighlight:i.onClearHighlight,onOpenChange:f=>{f&&d("color")}}),t.jsx(T,{onClick:()=>{d("bold"),i.onBold()},active:a.isBold,tooltip:s("components.write.bold"),tooltipShortcut:["Mod","B"],children:t.jsx(b,{type:"bold"})}),t.jsx(T,{onClick:()=>{d("italic"),i.onItalic()},active:a.isItalic,tooltip:s("components.write.italic"),tooltipShortcut:["Mod","I"],children:t.jsx(b,{type:"italic"})}),t.jsx(T,{onClick:()=>{d("underline"),i.onUnderline()},active:a.isUnderline,tooltip:s("components.write.underline"),tooltipShortcut:["Mod","U"],children:t.jsx(b,{type:"underline"})}),t.jsx(T,{onClick:()=>{d("strike"),i.onStrike()},active:a.isStrike,tooltip:s("components.write.strikethrough"),tooltipShortcut:["Mod","Shift","S"],children:t.jsx(b,{type:"strikethrough"})}),t.jsx(D,{type:"vertical"}),t.jsx(T,{onClick:()=>{d("alignLeft"),i.onAlignLeft()},active:a.isAlignLeft,tooltip:s("components.write.alignLeft"),tooltipShortcut:["Mod","Shift","L"],children:t.jsx(b,{type:"popai-textAlignLeft"})}),t.jsx(T,{onClick:()=>{d("alignCenter"),i.onAlignCenter()},active:a.isAlignCenter,tooltip:s("components.write.alignCenter"),children:t.jsx(b,{type:"popai-textAlignCenter"})}),t.jsx(T,{onClick:()=>{d("alignRight"),i.onAlignRight()},active:a.isAlignRight,tooltip:s("components.write.alignRight"),children:t.jsx(b,{type:"popai-textAlignRight"})}),S&&!a.isBullList&&!a.isOrderedList&&t.jsx(T,{onClick:()=>{d("blockquote"),i.onBlockquote()},active:a.isBlockquote,tooltip:s("components.write.blockquote"),children:t.jsx(b,{type:"writingQuote"})}),S&&t.jsx(D,{type:"vertical"}),S&&!a.isBlockquote&&t.jsxs(t.Fragment,{children:[t.jsx(T,{onClick:()=>{d("bulletList"),i.onBullList()},active:a.isBullList,tooltip:s("components.write.bulletedList"),children:t.jsx(b,{type:"bulletList"})}),t.jsx(T,{onClick:()=>{d("numberedList"),i.onOrderedList()},active:a.isOrderedList,tooltip:s("components.write.numberedList"),children:t.jsx(b,{type:"numberedList"})}),t.jsx(D,{type:"vertical"})]}),t.jsx(we,{editor:n,setEvent:d})]})})};export{Ke as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.