import{c as A}from"./chunk-3TWYSNJO.js";import{A as t,B as n,m as p,o as O,v as $,w as c}from"./chunk-B4FSAK53.js";var V={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},Y={backgroundColor:"var(--doc-surface)",borderRadius:"8px",boxShadow:"0 4px 20px var(--doc-shadow)",minWidth:"400px",maxWidth:"500px",width:"100%",margin:"20px"},Z={display:"flex",justifyContent:"space-between",alignItems:"center",padding:"16px 20px",borderBottom:"1px solid var(--doc-border)"},ee={margin:0,fontSize:"18px",fontWeight:600,color:"var(--doc-text)"},re={background:"none",border:"none",fontSize:"20px",cursor:"pointer",color:"var(--doc-text-muted)",padding:"4px 8px",lineHeight:1},le={padding:"20px"},C={marginBottom:"16px"},N={display:"block",marginBottom:"6px",fontSize:"14px",fontWeight:500,color:"var(--doc-text)"},b={width:"100%",padding:"10px 12px",border:"1px solid var(--doc-border-input)",borderRadius:"4px",fontSize:"14px",boxSizing:"border-box",outline:"none"},te={...b,borderColor:"var(--doc-error)"},oe={...b,cursor:"pointer"},ie={color:"var(--doc-error)",fontSize:"12px",marginTop:"4px"},H={color:"var(--doc-text-muted)",fontSize:"12px",marginTop:"4px"},ae={display:"flex",borderBottom:"1px solid var(--doc-border)",marginBottom:"16px"},j={padding:"10px 16px",border:"none",background:"none",cursor:"pointer",fontSize:"14px",color:"var(--doc-text-muted)",borderBottom:"2px solid transparent",marginBottom:"-1px"},U={...j,color:"var(--doc-link)",borderBottomColor:"var(--doc-link)",fontWeight:500},ne={display:"flex",justifyContent:"flex-end",gap:"12px",padding:"16px 20px",borderTop:"1px solid var(--doc-border)"},T={padding:"10px 20px",borderRadius:"4px",fontSize:"14px",fontWeight:500,cursor:"pointer",border:"none"},de={...T,backgroundColor:"var(--doc-link)",color:"var(--doc-on-primary)"},se={...T,backgroundColor:"var(--doc-bg-hover)",color:"var(--doc-text)",border:"1px solid var(--doc-border-input)"},pe={...T,backgroundColor:"var(--doc-error)",color:"var(--doc-on-primary)"},ce={...T,backgroundColor:"var(--doc-border-input)",color:"var(--doc-text-muted)",cursor:"not-allowed"};function q(r){if(!r||r.trim()==="")return!1;let e=r.trim();if(e.startsWith("mailto:")||e.startsWith("tel:"))return e.length>7;if(e.startsWith("ftp://"))return e.length>6;try{let u=e.match(/^https?:\/\//)?e:`https://${e}`,h=new URL(u);return h.protocol==="http:"||h.protocol==="https:"}catch{return!1}}function K(r){if(!r)return"";let e=r.trim();return e.startsWith("mailto:")||e.startsWith("tel:")||e.startsWith("ftp://")||e.match(/^https?:\/\//)?e:`https://${e}`}function ke(r){if(!r)return"unknown";let e=r.trim().toLowerCase();return e.startsWith("mailto:")?"email":e.startsWith("tel:")?"phone":e.startsWith("ftp://")?"ftp":e.startsWith("http://")||e.startsWith("https://")?"web":e.includes("@")&&!e.includes(" ")?"email":"web"}function ue({isOpen:r,onClose:e,onSubmit:u,onRemove:h,initialData:d,selectedText:g="",isEditing:a=!1,bookmarks:R=[],className:X,style:_}){let{t:o}=A(),[i,k]=c("url"),[s,W]=c(""),[S,E]=c(""),[x,w]=c(""),[z,B]=c(""),[m,y]=c(""),[D,f]=c(!1),F=$(null),I=$(null);O(()=>{r&&(d?(d.bookmark?(k("bookmark"),w(d.bookmark)):(k("url"),W(d.url||"")),E(d.displayText||""),B(d.tooltip||"")):(k("url"),W(""),E(g),w(""),B("")),y(""),f(!1))},[r,d,g]),O(()=>{r&&setTimeout(()=>{i==="url"?F.current?.focus():I.current?.focus()},100)},[r,i]);let G=p(()=>{i==="url"&&s.trim()?q(s)?y(""):y(o("dialogs.hyperlink.invalidUrl")):y("")},[i,s,o]),v=p(l=>{if(l?.preventDefault(),i==="url"){if(!s.trim()){y(o("dialogs.hyperlink.urlRequired")),f(!0);return}if(!q(s)){y(o("dialogs.hyperlink.invalidUrl")),f(!0);return}}else if(i==="bookmark"&&!x)return;let L={displayText:S.trim()||void 0,tooltip:z.trim()||void 0};i==="url"?L.url=K(s):L.bookmark=x,u(L)},[i,s,x,S,z,u]),J=p(l=>{l.key==="Escape"?e():l.key==="Enter"&&!l.shiftKey&&l.target.tagName!=="TEXTAREA"&&(l.preventDefault(),v())},[e,v]),M=p(l=>{l.target===l.currentTarget&&e()},[e]);if(!r)return null;let Q=R.length>0,P=i==="url"&&s.trim()&&!m||i==="bookmark"&&x;return t("div",{className:`docx-hyperlink-dialog-overlay ${X||""}`,style:{...V,..._},onClick:M,onKeyDown:J,role:"dialog","aria-modal":"true","aria-labelledby":"hyperlink-dialog-title",children:n("div",{className:"docx-hyperlink-dialog",style:Y,children:[n("div",{className:"docx-hyperlink-dialog-header",style:Z,children:[t("h2",{id:"hyperlink-dialog-title",style:ee,children:o(a?"dialogs.hyperlink.titleEdit":"dialogs.hyperlink.titleInsert")}),t("button",{type:"button",className:"docx-hyperlink-dialog-close",style:re,onClick:e,"aria-label":o("common.closeDialog"),children:"\xD7"})]}),n("form",{className:"docx-hyperlink-dialog-body",style:le,onSubmit:v,children:[Q&&n("div",{className:"docx-hyperlink-dialog-tabs",style:ae,children:[t("button",{type:"button",className:`docx-hyperlink-dialog-tab ${i==="url"?"active":""}`,style:i==="url"?U:j,onClick:()=>k("url"),"aria-selected":i==="url",children:o("dialogs.hyperlink.tabWebAddress")}),t("button",{type:"button",className:`docx-hyperlink-dialog-tab ${i==="bookmark"?"active":""}`,style:i==="bookmark"?U:j,onClick:()=>k("bookmark"),"aria-selected":i==="bookmark",children:o("dialogs.hyperlink.tabBookmark")})]}),i==="url"&&n("div",{className:"docx-hyperlink-dialog-field",style:C,children:[t("label",{htmlFor:"hyperlink-url",style:N,children:o("dialogs.hyperlink.urlLabel")}),t("input",{ref:F,id:"hyperlink-url",type:"text",className:"docx-hyperlink-dialog-input",style:m&&D?te:b,value:s,onChange:l=>{W(l.target.value),D&&y("")},onBlur:()=>{f(!0),G()},placeholder:o("dialogs.hyperlink.urlPlaceholder"),"aria-invalid":!!m,"aria-describedby":m?"url-error":"url-hint"}),m&&D&&t("div",{id:"url-error",style:ie,children:m}),!m&&t("div",{id:"url-hint",style:H,children:o("dialogs.hyperlink.urlHint")})]}),i==="bookmark"&&n("div",{className:"docx-hyperlink-dialog-field",style:C,children:[t("label",{htmlFor:"hyperlink-bookmark",style:N,children:o("dialogs.hyperlink.bookmarkLabel")}),n("select",{ref:I,id:"hyperlink-bookmark",className:"docx-hyperlink-dialog-select",style:oe,value:x,onChange:l=>w(l.target.value),children:[t("option",{value:"",children:o("dialogs.hyperlink.bookmarkPlaceholder")}),R.map(l=>t("option",{value:l.name,children:l.label||l.name},l.name))]})]}),n("div",{className:"docx-hyperlink-dialog-field",style:C,children:[t("label",{htmlFor:"hyperlink-display-text",style:N,children:o("dialogs.hyperlink.displayTextLabel")}),t("input",{id:"hyperlink-display-text",type:"text",className:"docx-hyperlink-dialog-input",style:b,value:S,onChange:l=>E(l.target.value),placeholder:o("dialogs.hyperlink.displayTextPlaceholder")}),t("div",{style:H,children:o("dialogs.hyperlink.displayTextHint")})]}),n("div",{className:"docx-hyperlink-dialog-field",style:C,children:[t("label",{htmlFor:"hyperlink-tooltip",style:N,children:o("dialogs.hyperlink.tooltipLabel")}),t("input",{id:"hyperlink-tooltip",type:"text",className:"docx-hyperlink-dialog-input",style:b,value:z,onChange:l=>B(l.target.value),placeholder:o("dialogs.hyperlink.tooltipPlaceholder")})]})]}),n("div",{className:"docx-hyperlink-dialog-footer",style:ne,children:[a&&h&&t("button",{type:"button",className:"docx-hyperlink-dialog-remove",style:pe,onClick:h,children:o("dialogs.hyperlink.removeLink")}),t("div",{style:{flex:1}}),t("button",{type:"button",className:"docx-hyperlink-dialog-cancel",style:se,onClick:e,children:o("common.cancel")}),t("button",{type:"submit",className:"docx-hyperlink-dialog-submit",style:P?de:ce,onClick:v,disabled:!P,children:o(a?"common.update":"common.insert")})]})]})})}function xe(r,e){return{url:K(r),displayText:e}}function be(r,e){return{bookmark:r,displayText:e}}function ge(r){return!!r.url&&!r.bookmark}function fe(r){return!!r.bookmark}function ve(r){return r.displayText?r.displayText:r.url?r.url.replace(/^https?:\/\//,""):r.bookmark?r.bookmark:""}function Ce(r){return r.startsWith("mailto:")?r:`mailto:${r}`}function Ne(r){return r.startsWith("tel:")?r:`tel:${r.replace(/[\s\-\(\)\.]/g,"")}`}function Te(r){return r.filter(e=>!e.name.startsWith("_")).map(e=>({name:e.name,label:e.name})).sort((e,u)=>e.name.localeCompare(u.name))}function We(){let[r,e]=c({isOpen:!1,isEditing:!1}),u=p(a=>{e({isOpen:!0,selectedText:a,initialData:void 0,isEditing:!1})},[]),h=p(a=>{e({isOpen:!0,initialData:a,selectedText:a.displayText,isEditing:!0})},[]),d=p(()=>{e(a=>({...a,isOpen:!1}))},[]),g=p(()=>{e(a=>({...a,isOpen:!a.isOpen}))},[]);return{state:r,openInsert:u,openEdit:h,close:d,toggle:g}}var Se=ue;export{q as a,K as b,ke as c,ue as d,xe as e,be as f,ge as g,fe as h,ve as i,Ce as j,Ne as k,Te as l,We as m,Se as n};
