@eigenpal/docx-js-editor 0.0.15 → 0.0.17

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 (171) hide show
  1. package/dist/FindReplaceDialog-K4GRE4JB.cjs +2 -0
  2. package/dist/FindReplaceDialog-K4GRE4JB.cjs.map +1 -0
  3. package/dist/{FindReplaceDialog-UMXCBBST.js → FindReplaceDialog-MMDEJORP.js} +2 -1
  4. package/dist/FindReplaceDialog-MMDEJORP.js.map +1 -0
  5. package/dist/{FootnotePropertiesDialog-TYQGPWPX.js → FootnotePropertiesDialog-HG4267LR.js} +2 -1
  6. package/dist/FootnotePropertiesDialog-HG4267LR.js.map +1 -0
  7. package/dist/{FootnotePropertiesDialog-OBQXOBJE.cjs → FootnotePropertiesDialog-V3YOIJCV.cjs} +2 -1
  8. package/dist/FootnotePropertiesDialog-V3YOIJCV.cjs.map +1 -0
  9. package/dist/{HyperlinkDialog-UOERZIBM.js → HyperlinkDialog-SCSX4RP7.js} +2 -1
  10. package/dist/HyperlinkDialog-SCSX4RP7.js.map +1 -0
  11. package/dist/HyperlinkDialog-YPKURBZK.cjs +2 -0
  12. package/dist/HyperlinkDialog-YPKURBZK.cjs.map +1 -0
  13. package/dist/{ImagePositionDialog-52FDANUK.js → ImagePositionDialog-CJYJ35PI.js} +2 -1
  14. package/dist/ImagePositionDialog-CJYJ35PI.js.map +1 -0
  15. package/dist/{ImagePositionDialog-ZK5WFBRC.cjs → ImagePositionDialog-IMVI7EXA.cjs} +2 -1
  16. package/dist/ImagePositionDialog-IMVI7EXA.cjs.map +1 -0
  17. package/dist/{ImagePropertiesDialog-YPSLPSF6.js → ImagePropertiesDialog-P7WN2ALR.js} +2 -1
  18. package/dist/ImagePropertiesDialog-P7WN2ALR.js.map +1 -0
  19. package/dist/{ImagePropertiesDialog-LU44RDIY.cjs → ImagePropertiesDialog-YS4KJRN7.cjs} +2 -1
  20. package/dist/ImagePropertiesDialog-YS4KJRN7.cjs.map +1 -0
  21. package/dist/{TablePropertiesDialog-KMOYHPGF.cjs → TablePropertiesDialog-CUQXUBQN.cjs} +2 -1
  22. package/dist/TablePropertiesDialog-CUQXUBQN.cjs.map +1 -0
  23. package/dist/{TablePropertiesDialog-OUUJAA7D.js → TablePropertiesDialog-ZHAYVHPZ.js} +2 -1
  24. package/dist/TablePropertiesDialog-ZHAYVHPZ.js.map +1 -0
  25. package/dist/{clipboard-BOocwmAM.d.ts → TableToolbar-RHX9L4h9.d.cts} +2 -125
  26. package/dist/{clipboard-Cx7cb3kX.d.cts → TableToolbar-RHX9L4h9.d.ts} +2 -125
  27. package/dist/chunk-7FEY3YWC.cjs +3 -0
  28. package/dist/chunk-7FEY3YWC.cjs.map +1 -0
  29. package/dist/chunk-AL62KQYJ.js +2 -0
  30. package/dist/chunk-AL62KQYJ.js.map +1 -0
  31. package/dist/{chunk-VTAS7VZ6.cjs → chunk-DJAEBZ33.cjs} +2 -1
  32. package/dist/chunk-DJAEBZ33.cjs.map +1 -0
  33. package/dist/{chunk-CTYOM6BE.js → chunk-M2T6XKT5.js} +2 -1
  34. package/dist/chunk-M2T6XKT5.js.map +1 -0
  35. package/dist/chunk-MXGYESPA.cjs +178 -0
  36. package/dist/chunk-MXGYESPA.cjs.map +1 -0
  37. package/dist/chunk-NMYD4OJZ.js +3 -0
  38. package/dist/chunk-NMYD4OJZ.js.map +1 -0
  39. package/dist/chunk-OD33FUTO.js +178 -0
  40. package/dist/chunk-OD33FUTO.js.map +1 -0
  41. package/dist/{chunk-PJVI53AH.js → chunk-Q6HUGWO6.js} +2 -1
  42. package/dist/chunk-Q6HUGWO6.js.map +1 -0
  43. package/dist/{chunk-XS2AQFMF.cjs → chunk-S26DZVRQ.cjs} +2 -1
  44. package/dist/chunk-S26DZVRQ.cjs.map +1 -0
  45. package/dist/chunk-V3MCDVZE.cjs +2 -0
  46. package/dist/chunk-V3MCDVZE.cjs.map +1 -0
  47. package/dist/{chunk-MLSHZVL7.js → chunk-VIEW4NAF.js} +6 -5
  48. package/dist/chunk-VIEW4NAF.js.map +1 -0
  49. package/dist/{chunk-OEOUMSWH.cjs → chunk-ZX4CSEL3.cjs} +6 -5
  50. package/dist/chunk-ZX4CSEL3.cjs.map +1 -0
  51. package/dist/core-plugins-reexport.cjs +2 -0
  52. package/dist/core-plugins-reexport.cjs.map +1 -0
  53. package/dist/core-plugins-reexport.d.cts +1 -0
  54. package/dist/core-plugins-reexport.d.ts +1 -0
  55. package/dist/core-plugins-reexport.js +2 -0
  56. package/dist/core-plugins-reexport.js.map +1 -0
  57. package/dist/core-reexport.cjs +2 -0
  58. package/dist/core-reexport.cjs.map +1 -0
  59. package/dist/core-reexport.d.cts +4 -0
  60. package/dist/core-reexport.d.ts +4 -0
  61. package/dist/core-reexport.js +2 -0
  62. package/dist/core-reexport.js.map +1 -0
  63. package/dist/headless-reexport.cjs +2 -0
  64. package/dist/headless-reexport.cjs.map +1 -0
  65. package/dist/headless-reexport.d.cts +1 -0
  66. package/dist/headless-reexport.d.ts +1 -0
  67. package/dist/headless-reexport.js +2 -0
  68. package/dist/headless-reexport.js.map +1 -0
  69. package/dist/index.cjs +10 -9
  70. package/dist/index.cjs.map +1 -0
  71. package/dist/index.d.cts +28 -257
  72. package/dist/index.d.ts +28 -257
  73. package/dist/index.js +10 -9
  74. package/dist/index.js.map +1 -0
  75. package/dist/mcp-reexport.cjs +2 -0
  76. package/dist/mcp-reexport.cjs.map +1 -0
  77. package/dist/mcp-reexport.d.cts +1 -0
  78. package/dist/mcp-reexport.d.ts +1 -0
  79. package/dist/mcp-reexport.js +2 -0
  80. package/dist/mcp-reexport.js.map +1 -0
  81. package/dist/react.cjs +2 -1
  82. package/dist/react.cjs.map +1 -0
  83. package/dist/react.d.cts +860 -9
  84. package/dist/react.d.ts +860 -9
  85. package/dist/react.js +2 -1
  86. package/dist/react.js.map +1 -0
  87. package/dist/styles.css +1 -1
  88. package/dist/ui.cjs +2 -1
  89. package/dist/ui.cjs.map +1 -0
  90. package/dist/ui.d.cts +5 -3
  91. package/dist/ui.d.ts +5 -3
  92. package/dist/ui.js +2 -1
  93. package/dist/ui.js.map +1 -0
  94. package/package.json +28 -120
  95. package/LICENSE +0 -21
  96. package/README.md +0 -171
  97. package/dist/DocumentAgent-Ci6_T-XM.d.ts +0 -412
  98. package/dist/DocumentAgent-DEGFgYEN.d.cts +0 -412
  99. package/dist/FindReplaceDialog-46BE7Q2G.cjs +0 -1
  100. package/dist/HyperlinkDialog-22NH7ZLP.cjs +0 -1
  101. package/dist/agentApi-CbVUCZRu.d.cts +0 -2086
  102. package/dist/agentApi-CbVUCZRu.d.ts +0 -2086
  103. package/dist/chunk-24N3L4IL.cjs +0 -258
  104. package/dist/chunk-2ASOEN3V.js +0 -1
  105. package/dist/chunk-46OFHSPJ.cjs +0 -2
  106. package/dist/chunk-65OFYOHF.cjs +0 -58
  107. package/dist/chunk-6YFGCUHU.js +0 -4
  108. package/dist/chunk-DYQUXFE5.cjs +0 -1
  109. package/dist/chunk-EMKABJPH.js +0 -1
  110. package/dist/chunk-ESI4BSBF.js +0 -1
  111. package/dist/chunk-FYAWM7MP.cjs +0 -1
  112. package/dist/chunk-GLFFXY2X.js +0 -258
  113. package/dist/chunk-ITWEFKGQ.cjs +0 -1
  114. package/dist/chunk-JKN7TNPA.js +0 -12
  115. package/dist/chunk-KESNGXGO.js +0 -1
  116. package/dist/chunk-L34XFLQZ.cjs +0 -1
  117. package/dist/chunk-NO7WUK5E.cjs +0 -12
  118. package/dist/chunk-NT2REEAA.cjs +0 -1
  119. package/dist/chunk-O7QVCJN6.cjs +0 -4
  120. package/dist/chunk-OW5H5DNE.cjs +0 -1
  121. package/dist/chunk-OWMXCVKB.js +0 -1
  122. package/dist/chunk-PXC7ARQB.cjs +0 -1
  123. package/dist/chunk-R5SKERM2.js +0 -1
  124. package/dist/chunk-RM3ITJ2H.cjs +0 -10
  125. package/dist/chunk-SF53KLDZ.cjs +0 -1
  126. package/dist/chunk-TOI5W3HK.js +0 -8
  127. package/dist/chunk-UAVOWAIF.cjs +0 -8
  128. package/dist/chunk-ULNHBTYA.js +0 -2
  129. package/dist/chunk-UXXV4GT6.js +0 -10
  130. package/dist/chunk-VOWKSURW.cjs +0 -1
  131. package/dist/chunk-WFWLPKQA.js +0 -1
  132. package/dist/chunk-WFYRA2TH.js +0 -1
  133. package/dist/chunk-YMXKVLTU.js +0 -58
  134. package/dist/chunk-ZDYHAYN6.js +0 -1
  135. package/dist/colorResolver-CIDiSPWd.d.cts +0 -618
  136. package/dist/colorResolver-KXbUgzWC.d.ts +0 -618
  137. package/dist/core-plugins.cjs +0 -1
  138. package/dist/core-plugins.d.cts +0 -31
  139. package/dist/core-plugins.d.ts +0 -31
  140. package/dist/core-plugins.js +0 -1
  141. package/dist/core.cjs +0 -1
  142. package/dist/core.d.cts +0 -23
  143. package/dist/core.d.ts +0 -23
  144. package/dist/core.js +0 -1
  145. package/dist/executor-ITYZTNSH.cjs +0 -1
  146. package/dist/executor-TC7CLATE.js +0 -1
  147. package/dist/headless.cjs +0 -4
  148. package/dist/headless.d.cts +0 -195
  149. package/dist/headless.d.ts +0 -195
  150. package/dist/headless.js +0 -4
  151. package/dist/index.css +0 -1
  152. package/dist/insertOperations-CzB5b-Of.d.ts +0 -176
  153. package/dist/insertOperations-DKVmCV32.d.cts +0 -176
  154. package/dist/mcp-cli.js +0 -136
  155. package/dist/mcp.cjs +0 -16
  156. package/dist/mcp.d.cts +0 -156
  157. package/dist/mcp.d.ts +0 -156
  158. package/dist/mcp.js +0 -16
  159. package/dist/processTemplate-525HZL4S.cjs +0 -1
  160. package/dist/processTemplate-RJN6452W.js +0 -1
  161. package/dist/react-BZxD04XV.d.ts +0 -1350
  162. package/dist/react-D8eAYckC.d.cts +0 -1350
  163. package/dist/react.css +0 -1
  164. package/dist/registry-D4tvj9f3.d.ts +0 -165
  165. package/dist/registry-ngv6Bumt.d.cts +0 -165
  166. package/dist/selectionRects-PQEUEW35.cjs +0 -1
  167. package/dist/selectionRects-QAG5RSHD.js +0 -1
  168. package/dist/types-D96elyJF.d.cts +0 -310
  169. package/dist/types-xMzSPT4i.d.ts +0 -310
  170. package/dist/variableDetector-CPxKo9jP.d.cts +0 -173
  171. package/dist/variableDetector-DeM1N-_L.d.ts +0 -173
@@ -0,0 +1,2 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkDJAEBZ33_cjs=require('./chunk-DJAEBZ33.cjs');require('./chunk-V3MCDVZE.cjs');Object.defineProperty(exports,"FindReplaceDialog",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.n}});Object.defineProperty(exports,"createDefaultFindOptions",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.a}});Object.defineProperty(exports,"createSearchPattern",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.c}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.o}});Object.defineProperty(exports,"escapeRegexString",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.b}});Object.defineProperty(exports,"findAllMatches",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.d}});Object.defineProperty(exports,"findInDocument",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.j}});Object.defineProperty(exports,"findInParagraph",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.k}});Object.defineProperty(exports,"getDefaultHighlightOptions",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.i}});Object.defineProperty(exports,"getMatchCountText",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.g}});Object.defineProperty(exports,"isEmptySearch",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.h}});Object.defineProperty(exports,"replaceAllInContent",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.e}});Object.defineProperty(exports,"replaceFirstInContent",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.f}});Object.defineProperty(exports,"scrollToMatch",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.l}});Object.defineProperty(exports,"useFindReplace",{enumerable:true,get:function(){return chunkDJAEBZ33_cjs.m}});//# sourceMappingURL=FindReplaceDialog-K4GRE4JB.cjs.map
2
+ //# sourceMappingURL=FindReplaceDialog-K4GRE4JB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"FindReplaceDialog-K4GRE4JB.cjs"}
@@ -1 +1,2 @@
1
- export{n as FindReplaceDialog,a as createDefaultFindOptions,c as createSearchPattern,o as default,b as escapeRegexString,d as findAllMatches,j as findInDocument,k as findInParagraph,i as getDefaultHighlightOptions,g as getMatchCountText,h as isEmptySearch,e as replaceAllInContent,f as replaceFirstInContent,l as scrollToMatch,m as useFindReplace}from'./chunk-CTYOM6BE.js';import'./chunk-OWMXCVKB.js';
1
+ export{n as FindReplaceDialog,a as createDefaultFindOptions,c as createSearchPattern,o as default,b as escapeRegexString,d as findAllMatches,j as findInDocument,k as findInParagraph,i as getDefaultHighlightOptions,g as getMatchCountText,h as isEmptySearch,e as replaceAllInContent,f as replaceFirstInContent,l as scrollToMatch,m as useFindReplace}from'./chunk-M2T6XKT5.js';import'./chunk-AL62KQYJ.js';//# sourceMappingURL=FindReplaceDialog-MMDEJORP.js.map
2
+ //# sourceMappingURL=FindReplaceDialog-MMDEJORP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"FindReplaceDialog-MMDEJORP.js"}
@@ -1 +1,2 @@
1
- import'./chunk-OWMXCVKB.js';import {useState,useCallback}from'react';import {jsx,jsxs}from'react/jsx-runtime';var A={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},D={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",padding:24,minWidth:400,maxWidth:500},S={marginBottom:16,padding:12,border:"1px solid #e0e0e0",borderRadius:4},a={display:"block",fontSize:12,color:"#666",marginBottom:4},i={width:"100%",padding:"4px 8px",border:"1px solid #ccc",borderRadius:4,fontSize:13,marginBottom:8},P={width:60,padding:"4px 8px",border:"1px solid #ccc",borderRadius:4,fontSize:13,marginBottom:8},L={display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},h={padding:"6px 16px",border:"1px solid #ccc",borderRadius:4,cursor:"pointer",fontSize:13,backgroundColor:"white"},O={...h,backgroundColor:"#2563eb",color:"white",border:"1px solid #2563eb"},f=[{value:"decimal",label:"1, 2, 3, ..."},{value:"lowerRoman",label:"i, ii, iii, ..."},{value:"upperRoman",label:"I, II, III, ..."},{value:"lowerLetter",label:"a, b, c, ..."},{value:"upperLetter",label:"A, B, C, ..."},{value:"chicago",label:"*, \u2020, \u2021, ..."}];function j({isOpen:C,onClose:l,onApply:g,footnotePr:r,endnotePr:s}){let[u,x]=useState(r?.position??"pageBottom"),[p,F]=useState(r?.numFmt??"decimal"),[m,N]=useState(r?.numStart??1),[d,R]=useState(r?.numRestart??"continuous"),[c,E]=useState(s?.position??"docEnd"),[b,k]=useState(s?.numFmt??"lowerRoman"),[v,I]=useState(s?.numStart??1),[y,w]=useState(s?.numRestart??"continuous"),B=useCallback(()=>{g({position:u,numFmt:p,numStart:m,numRestart:d},{position:c,numFmt:b,numStart:v,numRestart:y}),l();},[u,p,m,d,c,b,v,y,g,l]);return C?jsx("div",{style:A,onClick:l,children:jsxs("div",{style:D,onClick:e=>e.stopPropagation(),children:[jsx("h3",{style:{margin:"0 0 16px",fontSize:16},children:"Footnote & Endnote Properties"}),jsxs("div",{style:S,children:[jsx("h4",{style:{margin:"0 0 8px",fontSize:14},children:"Footnotes"}),jsx("label",{style:a,children:"Position"}),jsxs("select",{style:i,value:u,onChange:e=>x(e.target.value),children:[jsx("option",{value:"pageBottom",children:"Bottom of page"}),jsx("option",{value:"beneathText",children:"Below text"})]}),jsx("label",{style:a,children:"Number format"}),jsx("select",{style:i,value:p,onChange:e=>F(e.target.value),children:f.map(e=>jsx("option",{value:e.value,children:e.label},e.value))}),jsxs("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[jsxs("div",{children:[jsx("label",{style:a,children:"Start at"}),jsx("input",{type:"number",min:1,style:P,value:m,onChange:e=>N(parseInt(e.target.value,10)||1)})]}),jsxs("div",{style:{flex:1},children:[jsx("label",{style:a,children:"Numbering"}),jsxs("select",{style:i,value:d,onChange:e=>R(e.target.value),children:[jsx("option",{value:"continuous",children:"Continuous"}),jsx("option",{value:"eachSect",children:"Restart each section"}),jsx("option",{value:"eachPage",children:"Restart each page"})]})]})]})]}),jsxs("div",{style:S,children:[jsx("h4",{style:{margin:"0 0 8px",fontSize:14},children:"Endnotes"}),jsx("label",{style:a,children:"Position"}),jsxs("select",{style:i,value:c,onChange:e=>E(e.target.value),children:[jsx("option",{value:"docEnd",children:"End of document"}),jsx("option",{value:"sectEnd",children:"End of section"})]}),jsx("label",{style:a,children:"Number format"}),jsx("select",{style:i,value:b,onChange:e=>k(e.target.value),children:f.map(e=>jsx("option",{value:e.value,children:e.label},e.value))}),jsxs("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[jsxs("div",{children:[jsx("label",{style:a,children:"Start at"}),jsx("input",{type:"number",min:1,style:P,value:v,onChange:e=>I(parseInt(e.target.value,10)||1)})]}),jsxs("div",{style:{flex:1},children:[jsx("label",{style:a,children:"Numbering"}),jsxs("select",{style:i,value:y,onChange:e=>w(e.target.value),children:[jsx("option",{value:"continuous",children:"Continuous"}),jsx("option",{value:"eachSect",children:"Restart each section"})]})]})]})]}),jsxs("div",{style:L,children:[jsx("button",{style:h,onClick:l,children:"Cancel"}),jsx("button",{style:O,onClick:B,children:"Apply"})]})]})}):null}export{j as FootnotePropertiesDialog};
1
+ import'./chunk-AL62KQYJ.js';import {useState,useCallback}from'react';import {jsx,jsxs}from'react/jsx-runtime';var A={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},D={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",padding:24,minWidth:400,maxWidth:500},S={marginBottom:16,padding:12,border:"1px solid #e0e0e0",borderRadius:4},a={display:"block",fontSize:12,color:"#666",marginBottom:4},i={width:"100%",padding:"4px 8px",border:"1px solid #ccc",borderRadius:4,fontSize:13,marginBottom:8},P={width:60,padding:"4px 8px",border:"1px solid #ccc",borderRadius:4,fontSize:13,marginBottom:8},L={display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},h={padding:"6px 16px",border:"1px solid #ccc",borderRadius:4,cursor:"pointer",fontSize:13,backgroundColor:"white"},O={...h,backgroundColor:"#2563eb",color:"white",border:"1px solid #2563eb"},f=[{value:"decimal",label:"1, 2, 3, ..."},{value:"lowerRoman",label:"i, ii, iii, ..."},{value:"upperRoman",label:"I, II, III, ..."},{value:"lowerLetter",label:"a, b, c, ..."},{value:"upperLetter",label:"A, B, C, ..."},{value:"chicago",label:"*, \u2020, \u2021, ..."}];function j({isOpen:x,onClose:l,onApply:y,footnotePr:r,endnotePr:s}){let[u,C]=useState(r?.position??"pageBottom"),[p,F]=useState(r?.numFmt??"decimal"),[m,N]=useState(r?.numStart??1),[c,R]=useState(r?.numRestart??"continuous"),[d,E]=useState(s?.position??"docEnd"),[b,k]=useState(s?.numFmt??"lowerRoman"),[v,I]=useState(s?.numStart??1),[g,w]=useState(s?.numRestart??"continuous"),B=useCallback(()=>{y({position:u,numFmt:p,numStart:m,numRestart:c},{position:d,numFmt:b,numStart:v,numRestart:g}),l();},[u,p,m,c,d,b,v,g,y,l]);return x?jsx("div",{style:A,onClick:l,children:jsxs("div",{style:D,onClick:e=>e.stopPropagation(),children:[jsx("h3",{style:{margin:"0 0 16px",fontSize:16},children:"Footnote & Endnote Properties"}),jsxs("div",{style:S,children:[jsx("h4",{style:{margin:"0 0 8px",fontSize:14},children:"Footnotes"}),jsx("label",{style:a,children:"Position"}),jsxs("select",{style:i,value:u,onChange:e=>C(e.target.value),children:[jsx("option",{value:"pageBottom",children:"Bottom of page"}),jsx("option",{value:"beneathText",children:"Below text"})]}),jsx("label",{style:a,children:"Number format"}),jsx("select",{style:i,value:p,onChange:e=>F(e.target.value),children:f.map(e=>jsx("option",{value:e.value,children:e.label},e.value))}),jsxs("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[jsxs("div",{children:[jsx("label",{style:a,children:"Start at"}),jsx("input",{type:"number",min:1,style:P,value:m,onChange:e=>N(parseInt(e.target.value,10)||1)})]}),jsxs("div",{style:{flex:1},children:[jsx("label",{style:a,children:"Numbering"}),jsxs("select",{style:i,value:c,onChange:e=>R(e.target.value),children:[jsx("option",{value:"continuous",children:"Continuous"}),jsx("option",{value:"eachSect",children:"Restart each section"}),jsx("option",{value:"eachPage",children:"Restart each page"})]})]})]})]}),jsxs("div",{style:S,children:[jsx("h4",{style:{margin:"0 0 8px",fontSize:14},children:"Endnotes"}),jsx("label",{style:a,children:"Position"}),jsxs("select",{style:i,value:d,onChange:e=>E(e.target.value),children:[jsx("option",{value:"docEnd",children:"End of document"}),jsx("option",{value:"sectEnd",children:"End of section"})]}),jsx("label",{style:a,children:"Number format"}),jsx("select",{style:i,value:b,onChange:e=>k(e.target.value),children:f.map(e=>jsx("option",{value:e.value,children:e.label},e.value))}),jsxs("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[jsxs("div",{children:[jsx("label",{style:a,children:"Start at"}),jsx("input",{type:"number",min:1,style:P,value:v,onChange:e=>I(parseInt(e.target.value,10)||1)})]}),jsxs("div",{style:{flex:1},children:[jsx("label",{style:a,children:"Numbering"}),jsxs("select",{style:i,value:g,onChange:e=>w(e.target.value),children:[jsx("option",{value:"continuous",children:"Continuous"}),jsx("option",{value:"eachSect",children:"Restart each section"})]})]})]})]}),jsxs("div",{style:L,children:[jsx("button",{style:h,onClick:l,children:"Cancel"}),jsx("button",{style:O,onClick:B,children:"Apply"})]})]})}):null}export{j as FootnotePropertiesDialog};//# sourceMappingURL=FootnotePropertiesDialog-HG4267LR.js.map
2
+ //# sourceMappingURL=FootnotePropertiesDialog-HG4267LR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/dialogs/FootnotePropertiesDialog.tsx"],"names":["overlayStyle","dialogStyle","sectionStyle","labelStyle","selectStyle","inputStyle","buttonRowStyle","buttonStyle","primaryButtonStyle","numberFormatOptions","FootnotePropertiesDialog","isOpen","onClose","onApply","footnotePr","endnotePr","fnPosition","setFnPosition","useState","fnNumFmt","setFnNumFmt","fnNumStart","setFnNumStart","fnRestart","setFnRestart","enPosition","setEnPosition","enNumFmt","setEnNumFmt","enNumStart","setEnNumStart","enRestart","setEnRestart","handleApply","useCallback","jsx","jsxs","o"],"mappings":"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","file":"FootnotePropertiesDialog-HG4267LR.js","sourcesContent":["/**\n * Footnote & Endnote Properties Dialog\n *\n * Edits position, numbering format, start number, and restart rules.\n */\n\nimport React, { useState, useCallback } from 'react';\nimport type { CSSProperties } from 'react';\nimport type {\n FootnoteProperties,\n EndnoteProperties,\n FootnotePosition,\n EndnotePosition,\n NoteNumberRestart,\n NumberFormat,\n} from '@eigenpal/docx-core/types/document';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface FootnotePropertiesDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (footnoteProps: FootnoteProperties, endnoteProps: EndnoteProperties) => void;\n footnotePr?: FootnoteProperties;\n endnotePr?: EndnoteProperties;\n}\n\n// ============================================================================\n// STYLES\n// ============================================================================\n\nconst overlayStyle: CSSProperties = {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 10000,\n};\n\nconst dialogStyle: CSSProperties = {\n backgroundColor: 'white',\n borderRadius: 8,\n boxShadow: '0 4px 20px rgba(0, 0, 0, 0.15)',\n padding: 24,\n minWidth: 400,\n maxWidth: 500,\n};\n\nconst sectionStyle: CSSProperties = {\n marginBottom: 16,\n padding: 12,\n border: '1px solid #e0e0e0',\n borderRadius: 4,\n};\n\nconst labelStyle: CSSProperties = {\n display: 'block',\n fontSize: 12,\n color: '#666',\n marginBottom: 4,\n};\n\nconst selectStyle: CSSProperties = {\n width: '100%',\n padding: '4px 8px',\n border: '1px solid #ccc',\n borderRadius: 4,\n fontSize: 13,\n marginBottom: 8,\n};\n\nconst inputStyle: CSSProperties = {\n width: 60,\n padding: '4px 8px',\n border: '1px solid #ccc',\n borderRadius: 4,\n fontSize: 13,\n marginBottom: 8,\n};\n\nconst buttonRowStyle: CSSProperties = {\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 8,\n marginTop: 16,\n};\n\nconst buttonStyle: CSSProperties = {\n padding: '6px 16px',\n border: '1px solid #ccc',\n borderRadius: 4,\n cursor: 'pointer',\n fontSize: 13,\n backgroundColor: 'white',\n};\n\nconst primaryButtonStyle: CSSProperties = {\n ...buttonStyle,\n backgroundColor: '#2563eb',\n color: 'white',\n border: '1px solid #2563eb',\n};\n\n// ============================================================================\n// NUMBER FORMAT OPTIONS\n// ============================================================================\n\nconst numberFormatOptions: { value: NumberFormat; label: string }[] = [\n { value: 'decimal', label: '1, 2, 3, ...' },\n { value: 'lowerRoman', label: 'i, ii, iii, ...' },\n { value: 'upperRoman', label: 'I, II, III, ...' },\n { value: 'lowerLetter', label: 'a, b, c, ...' },\n { value: 'upperLetter', label: 'A, B, C, ...' },\n { value: 'chicago', label: '*, \\u2020, \\u2021, ...' },\n];\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport function FootnotePropertiesDialog({\n isOpen,\n onClose,\n onApply,\n footnotePr,\n endnotePr,\n}: FootnotePropertiesDialogProps): React.ReactElement | null {\n const [fnPosition, setFnPosition] = useState<FootnotePosition>(\n footnotePr?.position ?? 'pageBottom'\n );\n const [fnNumFmt, setFnNumFmt] = useState<NumberFormat>(footnotePr?.numFmt ?? 'decimal');\n const [fnNumStart, setFnNumStart] = useState<number>(footnotePr?.numStart ?? 1);\n const [fnRestart, setFnRestart] = useState<NoteNumberRestart>(\n footnotePr?.numRestart ?? 'continuous'\n );\n\n const [enPosition, setEnPosition] = useState<EndnotePosition>(endnotePr?.position ?? 'docEnd');\n const [enNumFmt, setEnNumFmt] = useState<NumberFormat>(endnotePr?.numFmt ?? 'lowerRoman');\n const [enNumStart, setEnNumStart] = useState<number>(endnotePr?.numStart ?? 1);\n const [enRestart, setEnRestart] = useState<NoteNumberRestart>(\n endnotePr?.numRestart ?? 'continuous'\n );\n\n const handleApply = useCallback(() => {\n onApply(\n { position: fnPosition, numFmt: fnNumFmt, numStart: fnNumStart, numRestart: fnRestart },\n { position: enPosition, numFmt: enNumFmt, numStart: enNumStart, numRestart: enRestart }\n );\n onClose();\n }, [\n fnPosition,\n fnNumFmt,\n fnNumStart,\n fnRestart,\n enPosition,\n enNumFmt,\n enNumStart,\n enRestart,\n onApply,\n onClose,\n ]);\n\n if (!isOpen) return null;\n\n return (\n <div style={overlayStyle} onClick={onClose}>\n <div style={dialogStyle} onClick={(e) => e.stopPropagation()}>\n <h3 style={{ margin: '0 0 16px', fontSize: 16 }}>Footnote & Endnote Properties</h3>\n\n {/* Footnote section */}\n <div style={sectionStyle}>\n <h4 style={{ margin: '0 0 8px', fontSize: 14 }}>Footnotes</h4>\n\n <label style={labelStyle}>Position</label>\n <select\n style={selectStyle}\n value={fnPosition}\n onChange={(e) => setFnPosition(e.target.value as FootnotePosition)}\n >\n <option value=\"pageBottom\">Bottom of page</option>\n <option value=\"beneathText\">Below text</option>\n </select>\n\n <label style={labelStyle}>Number format</label>\n <select\n style={selectStyle}\n value={fnNumFmt}\n onChange={(e) => setFnNumFmt(e.target.value as NumberFormat)}\n >\n {numberFormatOptions.map((o) => (\n <option key={o.value} value={o.value}>\n {o.label}\n </option>\n ))}\n </select>\n\n <div style={{ display: 'flex', gap: 12, alignItems: 'center' }}>\n <div>\n <label style={labelStyle}>Start at</label>\n <input\n type=\"number\"\n min={1}\n style={inputStyle}\n value={fnNumStart}\n onChange={(e) => setFnNumStart(parseInt(e.target.value, 10) || 1)}\n />\n </div>\n <div style={{ flex: 1 }}>\n <label style={labelStyle}>Numbering</label>\n <select\n style={selectStyle}\n value={fnRestart}\n onChange={(e) => setFnRestart(e.target.value as NoteNumberRestart)}\n >\n <option value=\"continuous\">Continuous</option>\n <option value=\"eachSect\">Restart each section</option>\n <option value=\"eachPage\">Restart each page</option>\n </select>\n </div>\n </div>\n </div>\n\n {/* Endnote section */}\n <div style={sectionStyle}>\n <h4 style={{ margin: '0 0 8px', fontSize: 14 }}>Endnotes</h4>\n\n <label style={labelStyle}>Position</label>\n <select\n style={selectStyle}\n value={enPosition}\n onChange={(e) => setEnPosition(e.target.value as EndnotePosition)}\n >\n <option value=\"docEnd\">End of document</option>\n <option value=\"sectEnd\">End of section</option>\n </select>\n\n <label style={labelStyle}>Number format</label>\n <select\n style={selectStyle}\n value={enNumFmt}\n onChange={(e) => setEnNumFmt(e.target.value as NumberFormat)}\n >\n {numberFormatOptions.map((o) => (\n <option key={o.value} value={o.value}>\n {o.label}\n </option>\n ))}\n </select>\n\n <div style={{ display: 'flex', gap: 12, alignItems: 'center' }}>\n <div>\n <label style={labelStyle}>Start at</label>\n <input\n type=\"number\"\n min={1}\n style={inputStyle}\n value={enNumStart}\n onChange={(e) => setEnNumStart(parseInt(e.target.value, 10) || 1)}\n />\n </div>\n <div style={{ flex: 1 }}>\n <label style={labelStyle}>Numbering</label>\n <select\n style={selectStyle}\n value={enRestart}\n onChange={(e) => setEnRestart(e.target.value as NoteNumberRestart)}\n >\n <option value=\"continuous\">Continuous</option>\n <option value=\"eachSect\">Restart each section</option>\n </select>\n </div>\n </div>\n </div>\n\n <div style={buttonRowStyle}>\n <button style={buttonStyle} onClick={onClose}>\n Cancel\n </button>\n <button style={primaryButtonStyle} onClick={handleApply}>\n Apply\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1,2 @@
1
- 'use strict';require('./chunk-VOWKSURW.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var A={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},D={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",padding:24,minWidth:400,maxWidth:500},S={marginBottom:16,padding:12,border:"1px solid #e0e0e0",borderRadius:4},a={display:"block",fontSize:12,color:"#666",marginBottom:4},i={width:"100%",padding:"4px 8px",border:"1px solid #ccc",borderRadius:4,fontSize:13,marginBottom:8},P={width:60,padding:"4px 8px",border:"1px solid #ccc",borderRadius:4,fontSize:13,marginBottom:8},L={display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},h={padding:"6px 16px",border:"1px solid #ccc",borderRadius:4,cursor:"pointer",fontSize:13,backgroundColor:"white"},O={...h,backgroundColor:"#2563eb",color:"white",border:"1px solid #2563eb"},f=[{value:"decimal",label:"1, 2, 3, ..."},{value:"lowerRoman",label:"i, ii, iii, ..."},{value:"upperRoman",label:"I, II, III, ..."},{value:"lowerLetter",label:"a, b, c, ..."},{value:"upperLetter",label:"A, B, C, ..."},{value:"chicago",label:"*, \u2020, \u2021, ..."}];function j({isOpen:C,onClose:l,onApply:g,footnotePr:r,endnotePr:s}){let[u,x]=react.useState(r?.position??"pageBottom"),[p,F]=react.useState(r?.numFmt??"decimal"),[m,N]=react.useState(r?.numStart??1),[d,R]=react.useState(r?.numRestart??"continuous"),[c,E]=react.useState(s?.position??"docEnd"),[b,k]=react.useState(s?.numFmt??"lowerRoman"),[v,I]=react.useState(s?.numStart??1),[y,w]=react.useState(s?.numRestart??"continuous"),B=react.useCallback(()=>{g({position:u,numFmt:p,numStart:m,numRestart:d},{position:c,numFmt:b,numStart:v,numRestart:y}),l();},[u,p,m,d,c,b,v,y,g,l]);return C?jsxRuntime.jsx("div",{style:A,onClick:l,children:jsxRuntime.jsxs("div",{style:D,onClick:e=>e.stopPropagation(),children:[jsxRuntime.jsx("h3",{style:{margin:"0 0 16px",fontSize:16},children:"Footnote & Endnote Properties"}),jsxRuntime.jsxs("div",{style:S,children:[jsxRuntime.jsx("h4",{style:{margin:"0 0 8px",fontSize:14},children:"Footnotes"}),jsxRuntime.jsx("label",{style:a,children:"Position"}),jsxRuntime.jsxs("select",{style:i,value:u,onChange:e=>x(e.target.value),children:[jsxRuntime.jsx("option",{value:"pageBottom",children:"Bottom of page"}),jsxRuntime.jsx("option",{value:"beneathText",children:"Below text"})]}),jsxRuntime.jsx("label",{style:a,children:"Number format"}),jsxRuntime.jsx("select",{style:i,value:p,onChange:e=>F(e.target.value),children:f.map(e=>jsxRuntime.jsx("option",{value:e.value,children:e.label},e.value))}),jsxRuntime.jsxs("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("label",{style:a,children:"Start at"}),jsxRuntime.jsx("input",{type:"number",min:1,style:P,value:m,onChange:e=>N(parseInt(e.target.value,10)||1)})]}),jsxRuntime.jsxs("div",{style:{flex:1},children:[jsxRuntime.jsx("label",{style:a,children:"Numbering"}),jsxRuntime.jsxs("select",{style:i,value:d,onChange:e=>R(e.target.value),children:[jsxRuntime.jsx("option",{value:"continuous",children:"Continuous"}),jsxRuntime.jsx("option",{value:"eachSect",children:"Restart each section"}),jsxRuntime.jsx("option",{value:"eachPage",children:"Restart each page"})]})]})]})]}),jsxRuntime.jsxs("div",{style:S,children:[jsxRuntime.jsx("h4",{style:{margin:"0 0 8px",fontSize:14},children:"Endnotes"}),jsxRuntime.jsx("label",{style:a,children:"Position"}),jsxRuntime.jsxs("select",{style:i,value:c,onChange:e=>E(e.target.value),children:[jsxRuntime.jsx("option",{value:"docEnd",children:"End of document"}),jsxRuntime.jsx("option",{value:"sectEnd",children:"End of section"})]}),jsxRuntime.jsx("label",{style:a,children:"Number format"}),jsxRuntime.jsx("select",{style:i,value:b,onChange:e=>k(e.target.value),children:f.map(e=>jsxRuntime.jsx("option",{value:e.value,children:e.label},e.value))}),jsxRuntime.jsxs("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("label",{style:a,children:"Start at"}),jsxRuntime.jsx("input",{type:"number",min:1,style:P,value:v,onChange:e=>I(parseInt(e.target.value,10)||1)})]}),jsxRuntime.jsxs("div",{style:{flex:1},children:[jsxRuntime.jsx("label",{style:a,children:"Numbering"}),jsxRuntime.jsxs("select",{style:i,value:y,onChange:e=>w(e.target.value),children:[jsxRuntime.jsx("option",{value:"continuous",children:"Continuous"}),jsxRuntime.jsx("option",{value:"eachSect",children:"Restart each section"})]})]})]})]}),jsxRuntime.jsxs("div",{style:L,children:[jsxRuntime.jsx("button",{style:h,onClick:l,children:"Cancel"}),jsxRuntime.jsx("button",{style:O,onClick:B,children:"Apply"})]})]})}):null}exports.FootnotePropertiesDialog=j;
1
+ 'use strict';require('./chunk-V3MCDVZE.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var A={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},D={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",padding:24,minWidth:400,maxWidth:500},S={marginBottom:16,padding:12,border:"1px solid #e0e0e0",borderRadius:4},a={display:"block",fontSize:12,color:"#666",marginBottom:4},i={width:"100%",padding:"4px 8px",border:"1px solid #ccc",borderRadius:4,fontSize:13,marginBottom:8},P={width:60,padding:"4px 8px",border:"1px solid #ccc",borderRadius:4,fontSize:13,marginBottom:8},L={display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},h={padding:"6px 16px",border:"1px solid #ccc",borderRadius:4,cursor:"pointer",fontSize:13,backgroundColor:"white"},O={...h,backgroundColor:"#2563eb",color:"white",border:"1px solid #2563eb"},f=[{value:"decimal",label:"1, 2, 3, ..."},{value:"lowerRoman",label:"i, ii, iii, ..."},{value:"upperRoman",label:"I, II, III, ..."},{value:"lowerLetter",label:"a, b, c, ..."},{value:"upperLetter",label:"A, B, C, ..."},{value:"chicago",label:"*, \u2020, \u2021, ..."}];function j({isOpen:x,onClose:l,onApply:y,footnotePr:r,endnotePr:s}){let[u,C]=react.useState(r?.position??"pageBottom"),[p,F]=react.useState(r?.numFmt??"decimal"),[m,N]=react.useState(r?.numStart??1),[c,R]=react.useState(r?.numRestart??"continuous"),[d,E]=react.useState(s?.position??"docEnd"),[b,k]=react.useState(s?.numFmt??"lowerRoman"),[v,I]=react.useState(s?.numStart??1),[g,w]=react.useState(s?.numRestart??"continuous"),B=react.useCallback(()=>{y({position:u,numFmt:p,numStart:m,numRestart:c},{position:d,numFmt:b,numStart:v,numRestart:g}),l();},[u,p,m,c,d,b,v,g,y,l]);return x?jsxRuntime.jsx("div",{style:A,onClick:l,children:jsxRuntime.jsxs("div",{style:D,onClick:e=>e.stopPropagation(),children:[jsxRuntime.jsx("h3",{style:{margin:"0 0 16px",fontSize:16},children:"Footnote & Endnote Properties"}),jsxRuntime.jsxs("div",{style:S,children:[jsxRuntime.jsx("h4",{style:{margin:"0 0 8px",fontSize:14},children:"Footnotes"}),jsxRuntime.jsx("label",{style:a,children:"Position"}),jsxRuntime.jsxs("select",{style:i,value:u,onChange:e=>C(e.target.value),children:[jsxRuntime.jsx("option",{value:"pageBottom",children:"Bottom of page"}),jsxRuntime.jsx("option",{value:"beneathText",children:"Below text"})]}),jsxRuntime.jsx("label",{style:a,children:"Number format"}),jsxRuntime.jsx("select",{style:i,value:p,onChange:e=>F(e.target.value),children:f.map(e=>jsxRuntime.jsx("option",{value:e.value,children:e.label},e.value))}),jsxRuntime.jsxs("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("label",{style:a,children:"Start at"}),jsxRuntime.jsx("input",{type:"number",min:1,style:P,value:m,onChange:e=>N(parseInt(e.target.value,10)||1)})]}),jsxRuntime.jsxs("div",{style:{flex:1},children:[jsxRuntime.jsx("label",{style:a,children:"Numbering"}),jsxRuntime.jsxs("select",{style:i,value:c,onChange:e=>R(e.target.value),children:[jsxRuntime.jsx("option",{value:"continuous",children:"Continuous"}),jsxRuntime.jsx("option",{value:"eachSect",children:"Restart each section"}),jsxRuntime.jsx("option",{value:"eachPage",children:"Restart each page"})]})]})]})]}),jsxRuntime.jsxs("div",{style:S,children:[jsxRuntime.jsx("h4",{style:{margin:"0 0 8px",fontSize:14},children:"Endnotes"}),jsxRuntime.jsx("label",{style:a,children:"Position"}),jsxRuntime.jsxs("select",{style:i,value:d,onChange:e=>E(e.target.value),children:[jsxRuntime.jsx("option",{value:"docEnd",children:"End of document"}),jsxRuntime.jsx("option",{value:"sectEnd",children:"End of section"})]}),jsxRuntime.jsx("label",{style:a,children:"Number format"}),jsxRuntime.jsx("select",{style:i,value:b,onChange:e=>k(e.target.value),children:f.map(e=>jsxRuntime.jsx("option",{value:e.value,children:e.label},e.value))}),jsxRuntime.jsxs("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("label",{style:a,children:"Start at"}),jsxRuntime.jsx("input",{type:"number",min:1,style:P,value:v,onChange:e=>I(parseInt(e.target.value,10)||1)})]}),jsxRuntime.jsxs("div",{style:{flex:1},children:[jsxRuntime.jsx("label",{style:a,children:"Numbering"}),jsxRuntime.jsxs("select",{style:i,value:g,onChange:e=>w(e.target.value),children:[jsxRuntime.jsx("option",{value:"continuous",children:"Continuous"}),jsxRuntime.jsx("option",{value:"eachSect",children:"Restart each section"})]})]})]})]}),jsxRuntime.jsxs("div",{style:L,children:[jsxRuntime.jsx("button",{style:h,onClick:l,children:"Cancel"}),jsxRuntime.jsx("button",{style:O,onClick:B,children:"Apply"})]})]})}):null}exports.FootnotePropertiesDialog=j;//# sourceMappingURL=FootnotePropertiesDialog-V3YOIJCV.cjs.map
2
+ //# sourceMappingURL=FootnotePropertiesDialog-V3YOIJCV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/dialogs/FootnotePropertiesDialog.tsx"],"names":["overlayStyle","dialogStyle","sectionStyle","labelStyle","selectStyle","inputStyle","buttonRowStyle","buttonStyle","primaryButtonStyle","numberFormatOptions","FootnotePropertiesDialog","isOpen","onClose","onApply","footnotePr","endnotePr","fnPosition","setFnPosition","useState","fnNumFmt","setFnNumFmt","fnNumStart","setFnNumStart","fnRestart","setFnRestart","enPosition","setEnPosition","enNumFmt","setEnNumFmt","enNumStart","setEnNumStart","enRestart","setEnRestart","handleApply","useCallback","jsx","jsxs","o"],"mappings":"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","file":"FootnotePropertiesDialog-V3YOIJCV.cjs","sourcesContent":["/**\n * Footnote & Endnote Properties Dialog\n *\n * Edits position, numbering format, start number, and restart rules.\n */\n\nimport React, { useState, useCallback } from 'react';\nimport type { CSSProperties } from 'react';\nimport type {\n FootnoteProperties,\n EndnoteProperties,\n FootnotePosition,\n EndnotePosition,\n NoteNumberRestart,\n NumberFormat,\n} from '@eigenpal/docx-core/types/document';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface FootnotePropertiesDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (footnoteProps: FootnoteProperties, endnoteProps: EndnoteProperties) => void;\n footnotePr?: FootnoteProperties;\n endnotePr?: EndnoteProperties;\n}\n\n// ============================================================================\n// STYLES\n// ============================================================================\n\nconst overlayStyle: CSSProperties = {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 10000,\n};\n\nconst dialogStyle: CSSProperties = {\n backgroundColor: 'white',\n borderRadius: 8,\n boxShadow: '0 4px 20px rgba(0, 0, 0, 0.15)',\n padding: 24,\n minWidth: 400,\n maxWidth: 500,\n};\n\nconst sectionStyle: CSSProperties = {\n marginBottom: 16,\n padding: 12,\n border: '1px solid #e0e0e0',\n borderRadius: 4,\n};\n\nconst labelStyle: CSSProperties = {\n display: 'block',\n fontSize: 12,\n color: '#666',\n marginBottom: 4,\n};\n\nconst selectStyle: CSSProperties = {\n width: '100%',\n padding: '4px 8px',\n border: '1px solid #ccc',\n borderRadius: 4,\n fontSize: 13,\n marginBottom: 8,\n};\n\nconst inputStyle: CSSProperties = {\n width: 60,\n padding: '4px 8px',\n border: '1px solid #ccc',\n borderRadius: 4,\n fontSize: 13,\n marginBottom: 8,\n};\n\nconst buttonRowStyle: CSSProperties = {\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 8,\n marginTop: 16,\n};\n\nconst buttonStyle: CSSProperties = {\n padding: '6px 16px',\n border: '1px solid #ccc',\n borderRadius: 4,\n cursor: 'pointer',\n fontSize: 13,\n backgroundColor: 'white',\n};\n\nconst primaryButtonStyle: CSSProperties = {\n ...buttonStyle,\n backgroundColor: '#2563eb',\n color: 'white',\n border: '1px solid #2563eb',\n};\n\n// ============================================================================\n// NUMBER FORMAT OPTIONS\n// ============================================================================\n\nconst numberFormatOptions: { value: NumberFormat; label: string }[] = [\n { value: 'decimal', label: '1, 2, 3, ...' },\n { value: 'lowerRoman', label: 'i, ii, iii, ...' },\n { value: 'upperRoman', label: 'I, II, III, ...' },\n { value: 'lowerLetter', label: 'a, b, c, ...' },\n { value: 'upperLetter', label: 'A, B, C, ...' },\n { value: 'chicago', label: '*, \\u2020, \\u2021, ...' },\n];\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport function FootnotePropertiesDialog({\n isOpen,\n onClose,\n onApply,\n footnotePr,\n endnotePr,\n}: FootnotePropertiesDialogProps): React.ReactElement | null {\n const [fnPosition, setFnPosition] = useState<FootnotePosition>(\n footnotePr?.position ?? 'pageBottom'\n );\n const [fnNumFmt, setFnNumFmt] = useState<NumberFormat>(footnotePr?.numFmt ?? 'decimal');\n const [fnNumStart, setFnNumStart] = useState<number>(footnotePr?.numStart ?? 1);\n const [fnRestart, setFnRestart] = useState<NoteNumberRestart>(\n footnotePr?.numRestart ?? 'continuous'\n );\n\n const [enPosition, setEnPosition] = useState<EndnotePosition>(endnotePr?.position ?? 'docEnd');\n const [enNumFmt, setEnNumFmt] = useState<NumberFormat>(endnotePr?.numFmt ?? 'lowerRoman');\n const [enNumStart, setEnNumStart] = useState<number>(endnotePr?.numStart ?? 1);\n const [enRestart, setEnRestart] = useState<NoteNumberRestart>(\n endnotePr?.numRestart ?? 'continuous'\n );\n\n const handleApply = useCallback(() => {\n onApply(\n { position: fnPosition, numFmt: fnNumFmt, numStart: fnNumStart, numRestart: fnRestart },\n { position: enPosition, numFmt: enNumFmt, numStart: enNumStart, numRestart: enRestart }\n );\n onClose();\n }, [\n fnPosition,\n fnNumFmt,\n fnNumStart,\n fnRestart,\n enPosition,\n enNumFmt,\n enNumStart,\n enRestart,\n onApply,\n onClose,\n ]);\n\n if (!isOpen) return null;\n\n return (\n <div style={overlayStyle} onClick={onClose}>\n <div style={dialogStyle} onClick={(e) => e.stopPropagation()}>\n <h3 style={{ margin: '0 0 16px', fontSize: 16 }}>Footnote & Endnote Properties</h3>\n\n {/* Footnote section */}\n <div style={sectionStyle}>\n <h4 style={{ margin: '0 0 8px', fontSize: 14 }}>Footnotes</h4>\n\n <label style={labelStyle}>Position</label>\n <select\n style={selectStyle}\n value={fnPosition}\n onChange={(e) => setFnPosition(e.target.value as FootnotePosition)}\n >\n <option value=\"pageBottom\">Bottom of page</option>\n <option value=\"beneathText\">Below text</option>\n </select>\n\n <label style={labelStyle}>Number format</label>\n <select\n style={selectStyle}\n value={fnNumFmt}\n onChange={(e) => setFnNumFmt(e.target.value as NumberFormat)}\n >\n {numberFormatOptions.map((o) => (\n <option key={o.value} value={o.value}>\n {o.label}\n </option>\n ))}\n </select>\n\n <div style={{ display: 'flex', gap: 12, alignItems: 'center' }}>\n <div>\n <label style={labelStyle}>Start at</label>\n <input\n type=\"number\"\n min={1}\n style={inputStyle}\n value={fnNumStart}\n onChange={(e) => setFnNumStart(parseInt(e.target.value, 10) || 1)}\n />\n </div>\n <div style={{ flex: 1 }}>\n <label style={labelStyle}>Numbering</label>\n <select\n style={selectStyle}\n value={fnRestart}\n onChange={(e) => setFnRestart(e.target.value as NoteNumberRestart)}\n >\n <option value=\"continuous\">Continuous</option>\n <option value=\"eachSect\">Restart each section</option>\n <option value=\"eachPage\">Restart each page</option>\n </select>\n </div>\n </div>\n </div>\n\n {/* Endnote section */}\n <div style={sectionStyle}>\n <h4 style={{ margin: '0 0 8px', fontSize: 14 }}>Endnotes</h4>\n\n <label style={labelStyle}>Position</label>\n <select\n style={selectStyle}\n value={enPosition}\n onChange={(e) => setEnPosition(e.target.value as EndnotePosition)}\n >\n <option value=\"docEnd\">End of document</option>\n <option value=\"sectEnd\">End of section</option>\n </select>\n\n <label style={labelStyle}>Number format</label>\n <select\n style={selectStyle}\n value={enNumFmt}\n onChange={(e) => setEnNumFmt(e.target.value as NumberFormat)}\n >\n {numberFormatOptions.map((o) => (\n <option key={o.value} value={o.value}>\n {o.label}\n </option>\n ))}\n </select>\n\n <div style={{ display: 'flex', gap: 12, alignItems: 'center' }}>\n <div>\n <label style={labelStyle}>Start at</label>\n <input\n type=\"number\"\n min={1}\n style={inputStyle}\n value={enNumStart}\n onChange={(e) => setEnNumStart(parseInt(e.target.value, 10) || 1)}\n />\n </div>\n <div style={{ flex: 1 }}>\n <label style={labelStyle}>Numbering</label>\n <select\n style={selectStyle}\n value={enRestart}\n onChange={(e) => setEnRestart(e.target.value as NoteNumberRestart)}\n >\n <option value=\"continuous\">Continuous</option>\n <option value=\"eachSect\">Restart each section</option>\n </select>\n </div>\n </div>\n </div>\n\n <div style={buttonRowStyle}>\n <button style={buttonStyle} onClick={onClose}>\n Cancel\n </button>\n <button style={primaryButtonStyle} onClick={handleApply}>\n Apply\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1,2 @@
1
- export{d as HyperlinkDialog,f as createBookmarkLinkData,e as createHyperlinkData,n as default,j as emailToMailto,l as extractBookmarksForDialog,i as getDisplayText,c as getUrlType,h as isBookmarkHyperlinkData,g as isExternalHyperlinkData,a as isValidUrl,b as normalizeUrl,k as phoneToTel,m as useHyperlinkDialog}from'./chunk-PJVI53AH.js';import'./chunk-OWMXCVKB.js';
1
+ export{d as HyperlinkDialog,f as createBookmarkLinkData,e as createHyperlinkData,n as default,j as emailToMailto,l as extractBookmarksForDialog,i as getDisplayText,c as getUrlType,h as isBookmarkHyperlinkData,g as isExternalHyperlinkData,a as isValidUrl,b as normalizeUrl,k as phoneToTel,m as useHyperlinkDialog}from'./chunk-Q6HUGWO6.js';import'./chunk-AL62KQYJ.js';//# sourceMappingURL=HyperlinkDialog-SCSX4RP7.js.map
2
+ //# sourceMappingURL=HyperlinkDialog-SCSX4RP7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"HyperlinkDialog-SCSX4RP7.js"}
@@ -0,0 +1,2 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkS26DZVRQ_cjs=require('./chunk-S26DZVRQ.cjs');require('./chunk-V3MCDVZE.cjs');Object.defineProperty(exports,"HyperlinkDialog",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.d}});Object.defineProperty(exports,"createBookmarkLinkData",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.f}});Object.defineProperty(exports,"createHyperlinkData",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.e}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.n}});Object.defineProperty(exports,"emailToMailto",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.j}});Object.defineProperty(exports,"extractBookmarksForDialog",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.l}});Object.defineProperty(exports,"getDisplayText",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.i}});Object.defineProperty(exports,"getUrlType",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.c}});Object.defineProperty(exports,"isBookmarkHyperlinkData",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.h}});Object.defineProperty(exports,"isExternalHyperlinkData",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.g}});Object.defineProperty(exports,"isValidUrl",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.a}});Object.defineProperty(exports,"normalizeUrl",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.b}});Object.defineProperty(exports,"phoneToTel",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.k}});Object.defineProperty(exports,"useHyperlinkDialog",{enumerable:true,get:function(){return chunkS26DZVRQ_cjs.m}});//# sourceMappingURL=HyperlinkDialog-YPKURBZK.cjs.map
2
+ //# sourceMappingURL=HyperlinkDialog-YPKURBZK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"HyperlinkDialog-YPKURBZK.cjs"}
@@ -1 +1,2 @@
1
- import'./chunk-OWMXCVKB.js';import {useState,useEffect,useCallback}from'react';import {jsx,jsxs}from'react/jsx-runtime';var F={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},G={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:400,maxWidth:480,width:"100%",margin:20},J={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},Q={padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},w={display:"flex",flexDirection:"column",gap:8},I={fontSize:13,fontWeight:600,color:"var(--doc-text)"},l={display:"flex",alignItems:"center",gap:8},a={width:75,fontSize:12,color:"var(--doc-text-muted)"},s={flex:1,padding:"4px 6px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:12},d={...s},U={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},K={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function Z({isOpen:f,onClose:r,onApply:D,currentData:n}){let[v,u]=useState("align"),[y,k]=useState("center"),[c,z]=useState("column"),[b,A]=useState(0),[g,m]=useState("align"),[h,L]=useState("top"),[S,B]=useState("paragraph"),[x,M]=useState(0),[C,N]=useState(0),[P,E]=useState(0),[T,H]=useState(0),[R,V]=useState(0);useEffect(()=>{if(!f)return;let e=n?.horizontal,p=n?.vertical;e?.align?(u("align"),k(e.align)):e?.posOffset!=null&&(u("offset"),A(e.posOffset)),e?.relativeTo&&z(e.relativeTo),p?.align?(m("align"),L(p.align)):p?.posOffset!=null&&(m("offset"),M(p.posOffset)),p?.relativeTo&&B(p.relativeTo),N(n?.distTop??0),E(n?.distBottom??0),H(n?.distLeft??0),V(n?.distRight??0);},[f,n]);let O=useCallback(()=>{let e={};e.horizontal={relativeTo:c,...v==="align"?{align:y}:{posOffset:b}},e.vertical={relativeTo:S,...g==="align"?{align:h}:{posOffset:x}},e.distTop=C,e.distBottom=P,e.distLeft=T,e.distRight=R,D(e),r();},[v,y,c,b,g,h,S,x,C,P,T,R,D,r]),j=useCallback(e=>{e.key==="Escape"&&r(),e.key==="Enter"&&O();},[r,O]);return f?jsx("div",{style:F,onClick:r,onKeyDown:j,children:jsxs("div",{style:G,onClick:e=>e.stopPropagation(),role:"dialog","aria-label":"Image position",children:[jsx("div",{style:J,children:"Image Position"}),jsxs("div",{style:Q,children:[jsxs("div",{style:w,children:[jsx("div",{style:I,children:"Horizontal"}),jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Position"}),jsxs("select",{style:d,value:v,onChange:e=>u(e.target.value),children:[jsx("option",{value:"align",children:"Alignment"}),jsx("option",{value:"offset",children:"Offset"})]})]}),v==="align"?jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Align"}),jsxs("select",{style:d,value:y,onChange:e=>k(e.target.value),children:[jsx("option",{value:"left",children:"Left"}),jsx("option",{value:"center",children:"Center"}),jsx("option",{value:"right",children:"Right"})]})]}):jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Offset (px)"}),jsx("input",{type:"number",style:s,value:b,onChange:e=>A(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Relative to"}),jsxs("select",{style:d,value:c,onChange:e=>z(e.target.value),children:[jsx("option",{value:"page",children:"Page"}),jsx("option",{value:"column",children:"Column"}),jsx("option",{value:"margin",children:"Margin"}),jsx("option",{value:"character",children:"Character"})]})]})]}),jsxs("div",{style:w,children:[jsx("div",{style:I,children:"Vertical"}),jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Position"}),jsxs("select",{style:d,value:g,onChange:e=>m(e.target.value),children:[jsx("option",{value:"align",children:"Alignment"}),jsx("option",{value:"offset",children:"Offset"})]})]}),g==="align"?jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Align"}),jsxs("select",{style:d,value:h,onChange:e=>L(e.target.value),children:[jsx("option",{value:"top",children:"Top"}),jsx("option",{value:"center",children:"Center"}),jsx("option",{value:"bottom",children:"Bottom"})]})]}):jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Offset (px)"}),jsx("input",{type:"number",style:s,value:x,onChange:e=>M(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Relative to"}),jsxs("select",{style:d,value:S,onChange:e=>B(e.target.value),children:[jsx("option",{value:"page",children:"Page"}),jsx("option",{value:"margin",children:"Margin"}),jsx("option",{value:"paragraph",children:"Paragraph"}),jsx("option",{value:"line",children:"Line"})]})]})]}),jsxs("div",{style:w,children:[jsx("div",{style:I,children:"Distance from text (px)"}),jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[jsxs("div",{style:l,children:[jsx("label",{style:{...a,width:45},children:"Top"}),jsx("input",{type:"number",style:s,min:0,value:C,onChange:e=>N(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:{...a,width:45},children:"Bottom"}),jsx("input",{type:"number",style:s,min:0,value:P,onChange:e=>E(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:{...a,width:45},children:"Left"}),jsx("input",{type:"number",style:s,min:0,value:T,onChange:e=>H(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:{...a,width:45},children:"Right"}),jsx("input",{type:"number",style:s,min:0,value:R,onChange:e=>V(Number(e.target.value)||0)})]})]})]})]}),jsxs("div",{style:U,children:[jsx("button",{type:"button",style:K,onClick:r,children:"Cancel"}),jsx("button",{type:"button",style:{...K,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:O,children:"Apply"})]})]})}):null}export{Z as ImagePositionDialog};
1
+ import'./chunk-AL62KQYJ.js';import {useState,useEffect,useCallback}from'react';import {jsx,jsxs}from'react/jsx-runtime';var F={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},G={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:400,maxWidth:480,width:"100%",margin:20},J={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},Q={padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},w={display:"flex",flexDirection:"column",gap:8},I={fontSize:13,fontWeight:600,color:"var(--doc-text)"},l={display:"flex",alignItems:"center",gap:8},a={width:75,fontSize:12,color:"var(--doc-text-muted)"},s={flex:1,padding:"4px 6px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:12},d={...s},U={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},K={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function Z({isOpen:f,onClose:r,onApply:D,currentData:n}){let[v,u]=useState("align"),[y,k]=useState("center"),[c,z]=useState("column"),[b,A]=useState(0),[g,m]=useState("align"),[h,L]=useState("top"),[S,B]=useState("paragraph"),[x,M]=useState(0),[C,N]=useState(0),[P,E]=useState(0),[T,H]=useState(0),[R,V]=useState(0);useEffect(()=>{if(!f)return;let e=n?.horizontal,p=n?.vertical;e?.align?(u("align"),k(e.align)):e?.posOffset!=null&&(u("offset"),A(e.posOffset)),e?.relativeTo&&z(e.relativeTo),p?.align?(m("align"),L(p.align)):p?.posOffset!=null&&(m("offset"),M(p.posOffset)),p?.relativeTo&&B(p.relativeTo),N(n?.distTop??0),E(n?.distBottom??0),H(n?.distLeft??0),V(n?.distRight??0);},[f,n]);let O=useCallback(()=>{let e={};e.horizontal={relativeTo:c,...v==="align"?{align:y}:{posOffset:b}},e.vertical={relativeTo:S,...g==="align"?{align:h}:{posOffset:x}},e.distTop=C,e.distBottom=P,e.distLeft=T,e.distRight=R,D(e),r();},[v,y,c,b,g,h,S,x,C,P,T,R,D,r]),j=useCallback(e=>{e.key==="Escape"&&r(),e.key==="Enter"&&O();},[r,O]);return f?jsx("div",{style:F,onClick:r,onKeyDown:j,children:jsxs("div",{style:G,onClick:e=>e.stopPropagation(),role:"dialog","aria-label":"Image position",children:[jsx("div",{style:J,children:"Image Position"}),jsxs("div",{style:Q,children:[jsxs("div",{style:w,children:[jsx("div",{style:I,children:"Horizontal"}),jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Position"}),jsxs("select",{style:d,value:v,onChange:e=>u(e.target.value),children:[jsx("option",{value:"align",children:"Alignment"}),jsx("option",{value:"offset",children:"Offset"})]})]}),v==="align"?jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Align"}),jsxs("select",{style:d,value:y,onChange:e=>k(e.target.value),children:[jsx("option",{value:"left",children:"Left"}),jsx("option",{value:"center",children:"Center"}),jsx("option",{value:"right",children:"Right"})]})]}):jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Offset (px)"}),jsx("input",{type:"number",style:s,value:b,onChange:e=>A(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Relative to"}),jsxs("select",{style:d,value:c,onChange:e=>z(e.target.value),children:[jsx("option",{value:"page",children:"Page"}),jsx("option",{value:"column",children:"Column"}),jsx("option",{value:"margin",children:"Margin"}),jsx("option",{value:"character",children:"Character"})]})]})]}),jsxs("div",{style:w,children:[jsx("div",{style:I,children:"Vertical"}),jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Position"}),jsxs("select",{style:d,value:g,onChange:e=>m(e.target.value),children:[jsx("option",{value:"align",children:"Alignment"}),jsx("option",{value:"offset",children:"Offset"})]})]}),g==="align"?jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Align"}),jsxs("select",{style:d,value:h,onChange:e=>L(e.target.value),children:[jsx("option",{value:"top",children:"Top"}),jsx("option",{value:"center",children:"Center"}),jsx("option",{value:"bottom",children:"Bottom"})]})]}):jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Offset (px)"}),jsx("input",{type:"number",style:s,value:x,onChange:e=>M(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:a,children:"Relative to"}),jsxs("select",{style:d,value:S,onChange:e=>B(e.target.value),children:[jsx("option",{value:"page",children:"Page"}),jsx("option",{value:"margin",children:"Margin"}),jsx("option",{value:"paragraph",children:"Paragraph"}),jsx("option",{value:"line",children:"Line"})]})]})]}),jsxs("div",{style:w,children:[jsx("div",{style:I,children:"Distance from text (px)"}),jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[jsxs("div",{style:l,children:[jsx("label",{style:{...a,width:45},children:"Top"}),jsx("input",{type:"number",style:s,min:0,value:C,onChange:e=>N(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:{...a,width:45},children:"Bottom"}),jsx("input",{type:"number",style:s,min:0,value:P,onChange:e=>E(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:{...a,width:45},children:"Left"}),jsx("input",{type:"number",style:s,min:0,value:T,onChange:e=>H(Number(e.target.value)||0)})]}),jsxs("div",{style:l,children:[jsx("label",{style:{...a,width:45},children:"Right"}),jsx("input",{type:"number",style:s,min:0,value:R,onChange:e=>V(Number(e.target.value)||0)})]})]})]})]}),jsxs("div",{style:U,children:[jsx("button",{type:"button",style:K,onClick:r,children:"Cancel"}),jsx("button",{type:"button",style:{...K,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:O,children:"Apply"})]})]})}):null}export{Z as ImagePositionDialog};//# sourceMappingURL=ImagePositionDialog-CJYJ35PI.js.map
2
+ //# sourceMappingURL=ImagePositionDialog-CJYJ35PI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/dialogs/ImagePositionDialog.tsx"],"names":["overlayStyle","dialogStyle","headerStyle","bodyStyle","sectionStyle","sectionLabelStyle","rowStyle","labelStyle","inputStyle","selectStyle","footerStyle","btnStyle","ImagePositionDialog","isOpen","onClose","onApply","currentData","hMode","setHMode","useState","hAlign","setHAlign","hRelativeTo","setHRelativeTo","hOffset","setHOffset","vMode","setVMode","vAlign","setVAlign","vRelativeTo","setVRelativeTo","vOffset","setVOffset","distTop","setDistTop","distBottom","setDistBottom","distLeft","setDistLeft","distRight","setDistRight","useEffect","h","v","handleApply","useCallback","data","handleKeyDown","jsx","jsxs"],"mappings":"wHA4CA,IAAMA,CAAAA,CAA8B,CAClC,QAAA,CAAU,OAAA,CACV,GAAA,CAAK,CAAA,CACL,IAAA,CAAM,CAAA,CACN,KAAA,CAAO,CAAA,CACP,MAAA,CAAQ,CAAA,CACR,eAAA,CAAiB,oBAAA,CACjB,OAAA,CAAS,OACT,UAAA,CAAY,QAAA,CACZ,cAAA,CAAgB,QAAA,CAChB,MAAA,CAAQ,GACV,CAAA,CAEMC,CAAAA,CAA6B,CACjC,eAAA,CAAiB,OAAA,CACjB,YAAA,CAAc,CAAA,CACd,SAAA,CAAW,gCAAA,CACX,QAAA,CAAU,GAAA,CACV,QAAA,CAAU,GAAA,CACV,KAAA,CAAO,MAAA,CACP,MAAA,CAAQ,EACV,CAAA,CAEMC,CAAAA,CAA6B,CACjC,OAAA,CAAS,gBAAA,CACT,YAAA,CAAc,6BAAA,CACd,QAAA,CAAU,EAAA,CACV,WAAY,GACd,CAAA,CAEMC,CAAAA,CAA2B,CAC/B,OAAA,CAAS,WAAA,CACT,OAAA,CAAS,MAAA,CACT,aAAA,CAAe,QAAA,CACf,GAAA,CAAK,EACP,CAAA,CAEMC,CAAAA,CAA8B,CAClC,OAAA,CAAS,MAAA,CACT,aAAA,CAAe,QAAA,CACf,GAAA,CAAK,CACP,CAAA,CAEMC,CAAAA,CAAmC,CACvC,QAAA,CAAU,EAAA,CACV,UAAA,CAAY,GAAA,CACZ,KAAA,CAAO,iBACT,CAAA,CAEMC,CAAAA,CAA0B,CAC9B,OAAA,CAAS,MAAA,CACT,UAAA,CAAY,QAAA,CACZ,GAAA,CAAK,CACP,CAAA,CAEMC,CAAAA,CAA4B,CAChC,KAAA,CAAO,EAAA,CACP,QAAA,CAAU,EAAA,CACV,KAAA,CAAO,uBACT,CAAA,CAEMC,CAAAA,CAA4B,CAChC,IAAA,CAAM,CAAA,CACN,OAAA,CAAS,SAAA,CACT,MAAA,CAAQ,6BAAA,CACR,YAAA,CAAc,CAAA,CACd,QAAA,CAAU,EACZ,CAAA,CAEMC,CAAAA,CAA6B,CACjC,GAAGD,CACL,CAAA,CAEME,CAAAA,CAA6B,CACjC,OAAA,CAAS,gBAAA,CACT,SAAA,CAAW,6BAAA,CACX,OAAA,CAAS,MAAA,CACT,cAAA,CAAgB,UAAA,CAChB,GAAA,CAAK,CACP,CAAA,CAEMC,CAAAA,CAA0B,CAC9B,OAAA,CAAS,UAAA,CACT,QAAA,CAAU,EAAA,CACV,MAAA,CAAQ,6BAAA,CACR,YAAA,CAAc,CAAA,CACd,MAAA,CAAQ,SACV,CAAA,CAMO,SAASC,CAAAA,CAAoB,CAClC,MAAA,CAAAC,CAAAA,CACA,QAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CACF,CAAA,CAAwD,CACtD,GAAM,CAACC,CAAAA,CAAOC,CAAQ,CAAA,CAAIC,QAAAA,CAA6B,OAAO,CAAA,CACxD,CAACC,CAAAA,CAAQC,CAAS,CAAA,CAAIF,QAAAA,CAAS,QAAQ,CAAA,CACvC,CAACG,CAAAA,CAAaC,CAAc,CAAA,CAAIJ,QAAAA,CAAS,QAAQ,CAAA,CACjD,CAACK,CAAAA,CAASC,CAAU,EAAIN,QAAAA,CAAS,CAAC,CAAA,CAElC,CAACO,CAAAA,CAAOC,CAAQ,CAAA,CAAIR,QAAAA,CAA6B,OAAO,CAAA,CACxD,CAACS,CAAAA,CAAQC,CAAS,CAAA,CAAIV,QAAAA,CAAS,KAAK,CAAA,CACpC,CAACW,CAAAA,CAAaC,CAAc,CAAA,CAAIZ,QAAAA,CAAS,WAAW,CAAA,CACpD,CAACa,CAAAA,CAASC,CAAU,CAAA,CAAId,QAAAA,CAAS,CAAC,CAAA,CAElC,CAACe,EAASC,CAAU,CAAA,CAAIhB,QAAAA,CAAS,CAAC,CAAA,CAClC,CAACiB,CAAAA,CAAYC,CAAa,CAAA,CAAIlB,QAAAA,CAAS,CAAC,CAAA,CACxC,CAACmB,CAAAA,CAAUC,CAAW,CAAA,CAAIpB,QAAAA,CAAS,CAAC,CAAA,CACpC,CAACqB,CAAAA,CAAWC,CAAY,CAAA,CAAItB,QAAAA,CAAS,CAAC,CAAA,CAE5CuB,SAAAA,CAAU,IAAM,CACd,GAAI,CAAC7B,CAAAA,CAAQ,OACb,IAAM8B,CAAAA,CAAI3B,CAAAA,EAAa,UAAA,CACjB4B,CAAAA,CAAI5B,CAAAA,EAAa,QAAA,CACnB2B,CAAAA,EAAG,KAAA,EACLzB,CAAAA,CAAS,OAAO,CAAA,CAChBG,CAAAA,CAAUsB,CAAAA,CAAE,KAAK,CAAA,EACRA,CAAAA,EAAG,SAAA,EAAa,IAAA,GACzBzB,CAAAA,CAAS,QAAQ,CAAA,CACjBO,CAAAA,CAAWkB,CAAAA,CAAE,SAAS,CAAA,CAAA,CAEpBA,CAAAA,EAAG,UAAA,EAAYpB,CAAAA,CAAeoB,CAAAA,CAAE,UAAU,CAAA,CAE1CC,GAAG,KAAA,EACLjB,CAAAA,CAAS,OAAO,CAAA,CAChBE,CAAAA,CAAUe,CAAAA,CAAE,KAAK,CAAA,EACRA,CAAAA,EAAG,SAAA,EAAa,IAAA,GACzBjB,CAAAA,CAAS,QAAQ,CAAA,CACjBM,CAAAA,CAAWW,CAAAA,CAAE,SAAS,CAAA,CAAA,CAEpBA,CAAAA,EAAG,UAAA,EAAYb,CAAAA,CAAea,CAAAA,CAAE,UAAU,CAAA,CAE9CT,CAAAA,CAAWnB,CAAAA,EAAa,OAAA,EAAW,CAAC,CAAA,CACpCqB,CAAAA,CAAcrB,CAAAA,EAAa,UAAA,EAAc,CAAC,CAAA,CAC1CuB,CAAAA,CAAYvB,CAAAA,EAAa,QAAA,EAAY,CAAC,CAAA,CACtCyB,CAAAA,CAAazB,CAAAA,EAAa,SAAA,EAAa,CAAC,EAC1C,CAAA,CAAG,CAACH,CAAAA,CAAQG,CAAW,CAAC,CAAA,CAExB,IAAM6B,CAAAA,CAAcC,WAAAA,CAAY,IAAM,CACpC,IAAMC,CAAAA,CAA0B,EAAC,CACjCA,CAAAA,CAAK,UAAA,CAAa,CAChB,UAAA,CAAYzB,CAAAA,CACZ,GAAIL,IAAU,OAAA,CAAU,CAAE,KAAA,CAAOG,CAAO,CAAA,CAAI,CAAE,SAAA,CAAWI,CAAQ,CACnE,CAAA,CACAuB,CAAAA,CAAK,QAAA,CAAW,CACd,UAAA,CAAYjB,CAAAA,CACZ,GAAIJ,CAAAA,GAAU,OAAA,CAAU,CAAE,KAAA,CAAOE,CAAO,CAAA,CAAI,CAAE,SAAA,CAAWI,CAAQ,CACnE,CAAA,CACAe,CAAAA,CAAK,OAAA,CAAUb,CAAAA,CACfa,CAAAA,CAAK,UAAA,CAAaX,EAClBW,CAAAA,CAAK,QAAA,CAAWT,CAAAA,CAChBS,CAAAA,CAAK,SAAA,CAAYP,CAAAA,CACjBzB,CAAAA,CAAQgC,CAAI,CAAA,CACZjC,CAAAA,GACF,CAAA,CAAG,CACDG,CAAAA,CACAG,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAE,CAAAA,CACAzB,CAAAA,CACAD,CACF,CAAC,CAAA,CAEKkC,CAAAA,CAAgBF,WAAAA,CACnB,CAAA,EAA2B,CACtB,CAAA,CAAE,GAAA,GAAQ,QAAA,EAAUhC,CAAAA,EAAQ,CAC5B,CAAA,CAAE,GAAA,GAAQ,OAAA,EAAS+B,CAAAA,GACzB,CAAA,CACA,CAAC/B,CAAAA,CAAS+B,CAAW,CACvB,CAAA,CAEA,OAAKhC,CAAAA,CAGHoC,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAOjD,CAAAA,CAAc,OAAA,CAASc,CAAAA,CAAS,SAAA,CAAWkC,CAAAA,CACrD,QAAA,CAAAE,IAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAOjD,CAAAA,CACP,OAAA,CAAU,GAAM,CAAA,CAAE,eAAA,EAAgB,CAClC,IAAA,CAAK,QAAA,CACL,YAAA,CAAW,gBAAA,CAEX,QAAA,CAAA,CAAAgD,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO/C,CAAAA,CAAa,QAAA,CAAA,gBAAA,CAAc,CAAA,CAEvCgD,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO/C,CAAAA,CAEV,QAAA,CAAA,CAAA+C,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO9C,CAAAA,CACV,QAAA,CAAA,CAAA6C,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CAAmB,QAAA,CAAA,YAAA,CAAU,CAAA,CACzC6C,IAAAA,CAAC,KAAA,CAAA,CAAI,MAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO1C,CAAAA,CAAY,QAAA,CAAA,UAAA,CAAQ,CAAA,CAClC2C,IAAAA,CAAC,QAAA,CAAA,CACC,KAAA,CAAOzC,CAAAA,CACP,KAAA,CAAOQ,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAS,CAAA,CAAE,MAAA,CAAO,KAA2B,CAAA,CAE9D,QAAA,CAAA,CAAA+B,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAA,WAAA,CAAS,CAAA,CAC/BA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,QAAA,CAAS,kBAAM,CAAA,CAAA,CAC/B,CAAA,CAAA,CACF,CAAA,CACChC,CAAAA,GAAU,OAAA,CACTiC,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO1C,CAAAA,CAAY,QAAA,CAAA,OAAA,CAAK,CAAA,CAC/B2C,IAAAA,CAAC,QAAA,CAAA,CACC,KAAA,CAAOzC,CAAAA,CACP,KAAA,CAAOW,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAU,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,CAEzC,QAAA,CAAA,CAAA4B,GAAAA,CAAC,QAAA,CAAA,CAAO,MAAM,MAAA,CAAO,QAAA,CAAA,MAAA,CAAI,CAAA,CACzBA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,QAAA,CAAS,QAAA,CAAA,QAAA,CAAM,CAAA,CAC7BA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAA,OAAA,CAAK,CAAA,CAAA,CAC7B,CAAA,CAAA,CACF,CAAA,CAEAC,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO1C,CAAAA,CAAY,QAAA,CAAA,aAAA,CAAW,CAAA,CACrC0C,GAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,QAAA,CACL,MAAOzC,CAAAA,CACP,KAAA,CAAOgB,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAW,MAAA,CAAO,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,EAAK,CAAC,CAAA,CACzD,CAAA,CAAA,CACF,CAAA,CAEFyB,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO1C,CAAAA,CAAY,QAAA,CAAA,aAAA,CAAW,CAAA,CACrC2C,IAAAA,CAAC,QAAA,CAAA,CACC,KAAA,CAAOzC,CAAAA,CACP,KAAA,CAAOa,CAAAA,CACP,SAAW,CAAA,EAAMC,CAAAA,CAAe,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,CAE9C,QAAA,CAAA,CAAA0B,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,MAAA,CAAO,QAAA,CAAA,MAAA,CAAI,CAAA,CACzBA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,QAAA,CAAS,QAAA,CAAA,QAAA,CAAM,CAAA,CAC7BA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,QAAA,CAAS,QAAA,CAAA,QAAA,CAAM,CAAA,CAC7BA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,WAAA,CAAY,QAAA,CAAA,WAAA,CAAS,CAAA,CAAA,CACrC,CAAA,CAAA,CACF,GACF,CAAA,CAGAC,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO9C,CAAAA,CACV,QAAA,CAAA,CAAA6C,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CAAmB,QAAA,CAAA,UAAA,CAAQ,CAAA,CACvC6C,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO1C,CAAAA,CAAY,QAAA,CAAA,UAAA,CAAQ,CAAA,CAClC2C,IAAAA,CAAC,QAAA,CAAA,CACC,KAAA,CAAOzC,CAAAA,CACP,KAAA,CAAOiB,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAS,EAAE,MAAA,CAAO,KAA2B,CAAA,CAE9D,QAAA,CAAA,CAAAsB,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAA,WAAA,CAAS,CAAA,CAC/BA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,QAAA,CAAS,QAAA,CAAA,QAAA,CAAM,CAAA,CAAA,CAC/B,CAAA,CAAA,CACF,CAAA,CACCvB,CAAAA,GAAU,OAAA,CACTwB,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO1C,CAAAA,CAAY,QAAA,CAAA,OAAA,CAAK,CAAA,CAC/B2C,IAAAA,CAAC,UACC,KAAA,CAAOzC,CAAAA,CACP,KAAA,CAAOmB,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAU,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,CAEzC,QAAA,CAAA,CAAAoB,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,KAAA,CAAM,QAAA,CAAA,KAAA,CAAG,CAAA,CACvBA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,QAAA,CAAS,QAAA,CAAA,QAAA,CAAM,CAAA,CAC7BA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,QAAA,CAAS,QAAA,CAAA,QAAA,CAAM,CAAA,CAAA,CAC/B,CAAA,CAAA,CACF,CAAA,CAEAC,KAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO1C,CAAAA,CAAY,QAAA,CAAA,aAAA,CAAW,CAAA,CACrC0C,GAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,QAAA,CACL,KAAA,CAAOzC,CAAAA,CACP,KAAA,CAAOwB,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAW,MAAA,CAAO,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,EAAK,CAAC,CAAA,CACzD,CAAA,CAAA,CACF,CAAA,CAEFiB,IAAAA,CAAC,KAAA,CAAA,CAAI,MAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO1C,CAAAA,CAAY,QAAA,CAAA,aAAA,CAAW,CAAA,CACrC2C,IAAAA,CAAC,QAAA,CAAA,CACC,KAAA,CAAOzC,CAAAA,CACP,KAAA,CAAOqB,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAe,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,CAE9C,QAAA,CAAA,CAAAkB,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,MAAA,CAAO,QAAA,CAAA,MAAA,CAAI,CAAA,CACzBA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,QAAA,CAAS,kBAAM,CAAA,CAC7BA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,WAAA,CAAY,QAAA,CAAA,WAAA,CAAS,CAAA,CACnCA,GAAAA,CAAC,QAAA,CAAA,CAAO,KAAA,CAAM,MAAA,CAAO,QAAA,CAAA,MAAA,CAAI,CAAA,CAAA,CAC3B,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAGAC,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO9C,CAAAA,CACV,QAAA,CAAA,CAAA6C,GAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CAAmB,QAAA,CAAA,yBAAA,CAAuB,CAAA,CACtD6C,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO,CAAE,OAAA,CAAS,OAAQ,mBAAA,CAAqB,SAAA,CAAW,GAAA,CAAK,CAAE,CAAA,CACpE,QAAA,CAAA,CAAAA,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO,CAAE,GAAG1C,CAAAA,CAAY,KAAA,CAAO,EAAG,CAAA,CAAG,QAAA,CAAA,KAAA,CAAG,CAAA,CAC/C0C,GAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,QAAA,CACL,KAAA,CAAOzC,CAAAA,CACP,GAAA,CAAK,CAAA,CACL,KAAA,CAAO0B,CAAAA,CACP,SAAW,CAAA,EAAMC,CAAAA,CAAW,MAAA,CAAO,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,EAAK,CAAC,CAAA,CACzD,CAAA,CAAA,CACF,CAAA,CACAe,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO,CAAE,GAAG1C,CAAAA,CAAY,KAAA,CAAO,EAAG,CAAA,CAAG,QAAA,CAAA,QAAA,CAAM,CAAA,CAClD0C,GAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,QAAA,CACL,KAAA,CAAOzC,EACP,GAAA,CAAK,CAAA,CACL,KAAA,CAAO4B,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAc,MAAA,CAAO,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,EAAK,CAAC,CAAA,CAC5D,CAAA,CAAA,CACF,CAAA,CACAa,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO,CAAE,GAAG1C,CAAAA,CAAY,KAAA,CAAO,EAAG,CAAA,CAAG,QAAA,CAAA,MAAA,CAAI,CAAA,CAChD0C,IAAC,OAAA,CAAA,CACC,IAAA,CAAK,QAAA,CACL,KAAA,CAAOzC,CAAAA,CACP,GAAA,CAAK,CAAA,CACL,KAAA,CAAO8B,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAY,MAAA,CAAO,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,EAAK,CAAC,CAAA,CAC1D,CAAA,CAAA,CACF,CAAA,CACAW,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAO5C,CAAAA,CACV,QAAA,CAAA,CAAA2C,GAAAA,CAAC,OAAA,CAAA,CAAM,KAAA,CAAO,CAAE,GAAG1C,CAAAA,CAAY,MAAO,EAAG,CAAA,CAAG,QAAA,CAAA,OAAA,CAAK,CAAA,CACjD0C,GAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAK,QAAA,CACL,KAAA,CAAOzC,CAAAA,CACP,GAAA,CAAK,CAAA,CACL,KAAA,CAAOgC,CAAAA,CACP,QAAA,CAAW,CAAA,EAAMC,CAAAA,CAAa,MAAA,CAAO,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,EAAK,CAAC,CAAA,CAC3D,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAEAS,IAAAA,CAAC,KAAA,CAAA,CAAI,KAAA,CAAOxC,EACV,QAAA,CAAA,CAAAuC,GAAAA,CAAC,QAAA,CAAA,CAAO,IAAA,CAAK,QAAA,CAAS,KAAA,CAAOtC,CAAAA,CAAU,OAAA,CAASG,CAAAA,CAAS,QAAA,CAAA,QAAA,CAEzD,CAAA,CACAmC,GAAAA,CAAC,QAAA,CAAA,CACC,IAAA,CAAK,QAAA,CACL,KAAA,CAAO,CACL,GAAGtC,CAAAA,CACH,eAAA,CAAiB,oBAAA,CACjB,KAAA,CAAO,OAAA,CACP,WAAA,CAAa,oBACf,CAAA,CACA,OAAA,CAASkC,CAAAA,CACV,QAAA,CAAA,OAAA,CAED,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,EAzLkB,IA2LtB","file":"ImagePositionDialog-CJYJ35PI.js","sourcesContent":["/**\n * Image Position Dialog\n *\n * Modal for editing image positioning settings:\n * - Horizontal: alignment or offset, relative to page/column/margin/paragraph\n * - Vertical: alignment or offset, relative to page/margin/paragraph/line\n * - Distance from text (top/bottom/left/right)\n */\n\nimport React, { useState, useCallback, useEffect } from 'react';\nimport type { CSSProperties } from 'react';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface ImagePositionData {\n horizontal?: {\n relativeTo?: string;\n posOffset?: number;\n align?: string;\n };\n vertical?: {\n relativeTo?: string;\n posOffset?: number;\n align?: string;\n };\n distTop?: number;\n distBottom?: number;\n distLeft?: number;\n distRight?: number;\n}\n\nexport interface ImagePositionDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (data: ImagePositionData) => void;\n currentData?: ImagePositionData;\n}\n\n// ============================================================================\n// STYLES\n// ============================================================================\n\nconst overlayStyle: CSSProperties = {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 10000,\n};\n\nconst dialogStyle: CSSProperties = {\n backgroundColor: 'white',\n borderRadius: 8,\n boxShadow: '0 4px 20px rgba(0, 0, 0, 0.15)',\n minWidth: 400,\n maxWidth: 480,\n width: '100%',\n margin: 20,\n};\n\nconst headerStyle: CSSProperties = {\n padding: '16px 20px 12px',\n borderBottom: '1px solid var(--doc-border)',\n fontSize: 16,\n fontWeight: 600,\n};\n\nconst bodyStyle: CSSProperties = {\n padding: '16px 20px',\n display: 'flex',\n flexDirection: 'column',\n gap: 16,\n};\n\nconst sectionStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: 8,\n};\n\nconst sectionLabelStyle: CSSProperties = {\n fontSize: 13,\n fontWeight: 600,\n color: 'var(--doc-text)',\n};\n\nconst rowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n};\n\nconst labelStyle: CSSProperties = {\n width: 75,\n fontSize: 12,\n color: 'var(--doc-text-muted)',\n};\n\nconst inputStyle: CSSProperties = {\n flex: 1,\n padding: '4px 6px',\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n fontSize: 12,\n};\n\nconst selectStyle: CSSProperties = {\n ...inputStyle,\n};\n\nconst footerStyle: CSSProperties = {\n padding: '12px 20px 16px',\n borderTop: '1px solid var(--doc-border)',\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 8,\n};\n\nconst btnStyle: CSSProperties = {\n padding: '6px 16px',\n fontSize: 13,\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n cursor: 'pointer',\n};\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport function ImagePositionDialog({\n isOpen,\n onClose,\n onApply,\n currentData,\n}: ImagePositionDialogProps): React.ReactElement | null {\n const [hMode, setHMode] = useState<'align' | 'offset'>('align');\n const [hAlign, setHAlign] = useState('center');\n const [hRelativeTo, setHRelativeTo] = useState('column');\n const [hOffset, setHOffset] = useState(0);\n\n const [vMode, setVMode] = useState<'align' | 'offset'>('align');\n const [vAlign, setVAlign] = useState('top');\n const [vRelativeTo, setVRelativeTo] = useState('paragraph');\n const [vOffset, setVOffset] = useState(0);\n\n const [distTop, setDistTop] = useState(0);\n const [distBottom, setDistBottom] = useState(0);\n const [distLeft, setDistLeft] = useState(0);\n const [distRight, setDistRight] = useState(0);\n\n useEffect(() => {\n if (!isOpen) return;\n const h = currentData?.horizontal;\n const v = currentData?.vertical;\n if (h?.align) {\n setHMode('align');\n setHAlign(h.align);\n } else if (h?.posOffset != null) {\n setHMode('offset');\n setHOffset(h.posOffset);\n }\n if (h?.relativeTo) setHRelativeTo(h.relativeTo);\n\n if (v?.align) {\n setVMode('align');\n setVAlign(v.align);\n } else if (v?.posOffset != null) {\n setVMode('offset');\n setVOffset(v.posOffset);\n }\n if (v?.relativeTo) setVRelativeTo(v.relativeTo);\n\n setDistTop(currentData?.distTop ?? 0);\n setDistBottom(currentData?.distBottom ?? 0);\n setDistLeft(currentData?.distLeft ?? 0);\n setDistRight(currentData?.distRight ?? 0);\n }, [isOpen, currentData]);\n\n const handleApply = useCallback(() => {\n const data: ImagePositionData = {};\n data.horizontal = {\n relativeTo: hRelativeTo,\n ...(hMode === 'align' ? { align: hAlign } : { posOffset: hOffset }),\n };\n data.vertical = {\n relativeTo: vRelativeTo,\n ...(vMode === 'align' ? { align: vAlign } : { posOffset: vOffset }),\n };\n data.distTop = distTop;\n data.distBottom = distBottom;\n data.distLeft = distLeft;\n data.distRight = distRight;\n onApply(data);\n onClose();\n }, [\n hMode,\n hAlign,\n hRelativeTo,\n hOffset,\n vMode,\n vAlign,\n vRelativeTo,\n vOffset,\n distTop,\n distBottom,\n distLeft,\n distRight,\n onApply,\n onClose,\n ]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n if (e.key === 'Enter') handleApply();\n },\n [onClose, handleApply]\n );\n\n if (!isOpen) return null;\n\n return (\n <div style={overlayStyle} onClick={onClose} onKeyDown={handleKeyDown}>\n <div\n style={dialogStyle}\n onClick={(e) => e.stopPropagation()}\n role=\"dialog\"\n aria-label=\"Image position\"\n >\n <div style={headerStyle}>Image Position</div>\n\n <div style={bodyStyle}>\n {/* Horizontal positioning */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Horizontal</div>\n <div style={rowStyle}>\n <label style={labelStyle}>Position</label>\n <select\n style={selectStyle}\n value={hMode}\n onChange={(e) => setHMode(e.target.value as 'align' | 'offset')}\n >\n <option value=\"align\">Alignment</option>\n <option value=\"offset\">Offset</option>\n </select>\n </div>\n {hMode === 'align' ? (\n <div style={rowStyle}>\n <label style={labelStyle}>Align</label>\n <select\n style={selectStyle}\n value={hAlign}\n onChange={(e) => setHAlign(e.target.value)}\n >\n <option value=\"left\">Left</option>\n <option value=\"center\">Center</option>\n <option value=\"right\">Right</option>\n </select>\n </div>\n ) : (\n <div style={rowStyle}>\n <label style={labelStyle}>Offset (px)</label>\n <input\n type=\"number\"\n style={inputStyle}\n value={hOffset}\n onChange={(e) => setHOffset(Number(e.target.value) || 0)}\n />\n </div>\n )}\n <div style={rowStyle}>\n <label style={labelStyle}>Relative to</label>\n <select\n style={selectStyle}\n value={hRelativeTo}\n onChange={(e) => setHRelativeTo(e.target.value)}\n >\n <option value=\"page\">Page</option>\n <option value=\"column\">Column</option>\n <option value=\"margin\">Margin</option>\n <option value=\"character\">Character</option>\n </select>\n </div>\n </div>\n\n {/* Vertical positioning */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Vertical</div>\n <div style={rowStyle}>\n <label style={labelStyle}>Position</label>\n <select\n style={selectStyle}\n value={vMode}\n onChange={(e) => setVMode(e.target.value as 'align' | 'offset')}\n >\n <option value=\"align\">Alignment</option>\n <option value=\"offset\">Offset</option>\n </select>\n </div>\n {vMode === 'align' ? (\n <div style={rowStyle}>\n <label style={labelStyle}>Align</label>\n <select\n style={selectStyle}\n value={vAlign}\n onChange={(e) => setVAlign(e.target.value)}\n >\n <option value=\"top\">Top</option>\n <option value=\"center\">Center</option>\n <option value=\"bottom\">Bottom</option>\n </select>\n </div>\n ) : (\n <div style={rowStyle}>\n <label style={labelStyle}>Offset (px)</label>\n <input\n type=\"number\"\n style={inputStyle}\n value={vOffset}\n onChange={(e) => setVOffset(Number(e.target.value) || 0)}\n />\n </div>\n )}\n <div style={rowStyle}>\n <label style={labelStyle}>Relative to</label>\n <select\n style={selectStyle}\n value={vRelativeTo}\n onChange={(e) => setVRelativeTo(e.target.value)}\n >\n <option value=\"page\">Page</option>\n <option value=\"margin\">Margin</option>\n <option value=\"paragraph\">Paragraph</option>\n <option value=\"line\">Line</option>\n </select>\n </div>\n </div>\n\n {/* Distance from text */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Distance from text (px)</div>\n <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 8 }}>\n <div style={rowStyle}>\n <label style={{ ...labelStyle, width: 45 }}>Top</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n value={distTop}\n onChange={(e) => setDistTop(Number(e.target.value) || 0)}\n />\n </div>\n <div style={rowStyle}>\n <label style={{ ...labelStyle, width: 45 }}>Bottom</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n value={distBottom}\n onChange={(e) => setDistBottom(Number(e.target.value) || 0)}\n />\n </div>\n <div style={rowStyle}>\n <label style={{ ...labelStyle, width: 45 }}>Left</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n value={distLeft}\n onChange={(e) => setDistLeft(Number(e.target.value) || 0)}\n />\n </div>\n <div style={rowStyle}>\n <label style={{ ...labelStyle, width: 45 }}>Right</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n value={distRight}\n onChange={(e) => setDistRight(Number(e.target.value) || 0)}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div style={footerStyle}>\n <button type=\"button\" style={btnStyle} onClick={onClose}>\n Cancel\n </button>\n <button\n type=\"button\"\n style={{\n ...btnStyle,\n backgroundColor: 'var(--doc-primary)',\n color: 'white',\n borderColor: 'var(--doc-primary)',\n }}\n onClick={handleApply}\n >\n Apply\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1,2 @@
1
- 'use strict';require('./chunk-VOWKSURW.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var F={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},G={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:400,maxWidth:480,width:"100%",margin:20},J={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},Q={padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},w={display:"flex",flexDirection:"column",gap:8},I={fontSize:13,fontWeight:600,color:"var(--doc-text)"},l={display:"flex",alignItems:"center",gap:8},a={width:75,fontSize:12,color:"var(--doc-text-muted)"},s={flex:1,padding:"4px 6px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:12},d={...s},U={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},K={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function Z({isOpen:f,onClose:r,onApply:D,currentData:n}){let[v,u]=react.useState("align"),[y,k]=react.useState("center"),[c,z]=react.useState("column"),[b,A]=react.useState(0),[g,m]=react.useState("align"),[h,L]=react.useState("top"),[S,B]=react.useState("paragraph"),[x,M]=react.useState(0),[C,N]=react.useState(0),[P,E]=react.useState(0),[T,H]=react.useState(0),[R,V]=react.useState(0);react.useEffect(()=>{if(!f)return;let e=n?.horizontal,p=n?.vertical;e?.align?(u("align"),k(e.align)):e?.posOffset!=null&&(u("offset"),A(e.posOffset)),e?.relativeTo&&z(e.relativeTo),p?.align?(m("align"),L(p.align)):p?.posOffset!=null&&(m("offset"),M(p.posOffset)),p?.relativeTo&&B(p.relativeTo),N(n?.distTop??0),E(n?.distBottom??0),H(n?.distLeft??0),V(n?.distRight??0);},[f,n]);let O=react.useCallback(()=>{let e={};e.horizontal={relativeTo:c,...v==="align"?{align:y}:{posOffset:b}},e.vertical={relativeTo:S,...g==="align"?{align:h}:{posOffset:x}},e.distTop=C,e.distBottom=P,e.distLeft=T,e.distRight=R,D(e),r();},[v,y,c,b,g,h,S,x,C,P,T,R,D,r]),j=react.useCallback(e=>{e.key==="Escape"&&r(),e.key==="Enter"&&O();},[r,O]);return f?jsxRuntime.jsx("div",{style:F,onClick:r,onKeyDown:j,children:jsxRuntime.jsxs("div",{style:G,onClick:e=>e.stopPropagation(),role:"dialog","aria-label":"Image position",children:[jsxRuntime.jsx("div",{style:J,children:"Image Position"}),jsxRuntime.jsxs("div",{style:Q,children:[jsxRuntime.jsxs("div",{style:w,children:[jsxRuntime.jsx("div",{style:I,children:"Horizontal"}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Position"}),jsxRuntime.jsxs("select",{style:d,value:v,onChange:e=>u(e.target.value),children:[jsxRuntime.jsx("option",{value:"align",children:"Alignment"}),jsxRuntime.jsx("option",{value:"offset",children:"Offset"})]})]}),v==="align"?jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Align"}),jsxRuntime.jsxs("select",{style:d,value:y,onChange:e=>k(e.target.value),children:[jsxRuntime.jsx("option",{value:"left",children:"Left"}),jsxRuntime.jsx("option",{value:"center",children:"Center"}),jsxRuntime.jsx("option",{value:"right",children:"Right"})]})]}):jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Offset (px)"}),jsxRuntime.jsx("input",{type:"number",style:s,value:b,onChange:e=>A(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Relative to"}),jsxRuntime.jsxs("select",{style:d,value:c,onChange:e=>z(e.target.value),children:[jsxRuntime.jsx("option",{value:"page",children:"Page"}),jsxRuntime.jsx("option",{value:"column",children:"Column"}),jsxRuntime.jsx("option",{value:"margin",children:"Margin"}),jsxRuntime.jsx("option",{value:"character",children:"Character"})]})]})]}),jsxRuntime.jsxs("div",{style:w,children:[jsxRuntime.jsx("div",{style:I,children:"Vertical"}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Position"}),jsxRuntime.jsxs("select",{style:d,value:g,onChange:e=>m(e.target.value),children:[jsxRuntime.jsx("option",{value:"align",children:"Alignment"}),jsxRuntime.jsx("option",{value:"offset",children:"Offset"})]})]}),g==="align"?jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Align"}),jsxRuntime.jsxs("select",{style:d,value:h,onChange:e=>L(e.target.value),children:[jsxRuntime.jsx("option",{value:"top",children:"Top"}),jsxRuntime.jsx("option",{value:"center",children:"Center"}),jsxRuntime.jsx("option",{value:"bottom",children:"Bottom"})]})]}):jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Offset (px)"}),jsxRuntime.jsx("input",{type:"number",style:s,value:x,onChange:e=>M(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Relative to"}),jsxRuntime.jsxs("select",{style:d,value:S,onChange:e=>B(e.target.value),children:[jsxRuntime.jsx("option",{value:"page",children:"Page"}),jsxRuntime.jsx("option",{value:"margin",children:"Margin"}),jsxRuntime.jsx("option",{value:"paragraph",children:"Paragraph"}),jsxRuntime.jsx("option",{value:"line",children:"Line"})]})]})]}),jsxRuntime.jsxs("div",{style:w,children:[jsxRuntime.jsx("div",{style:I,children:"Distance from text (px)"}),jsxRuntime.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:{...a,width:45},children:"Top"}),jsxRuntime.jsx("input",{type:"number",style:s,min:0,value:C,onChange:e=>N(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:{...a,width:45},children:"Bottom"}),jsxRuntime.jsx("input",{type:"number",style:s,min:0,value:P,onChange:e=>E(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:{...a,width:45},children:"Left"}),jsxRuntime.jsx("input",{type:"number",style:s,min:0,value:T,onChange:e=>H(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:{...a,width:45},children:"Right"}),jsxRuntime.jsx("input",{type:"number",style:s,min:0,value:R,onChange:e=>V(Number(e.target.value)||0)})]})]})]})]}),jsxRuntime.jsxs("div",{style:U,children:[jsxRuntime.jsx("button",{type:"button",style:K,onClick:r,children:"Cancel"}),jsxRuntime.jsx("button",{type:"button",style:{...K,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:O,children:"Apply"})]})]})}):null}exports.ImagePositionDialog=Z;
1
+ 'use strict';require('./chunk-V3MCDVZE.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var F={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},G={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:400,maxWidth:480,width:"100%",margin:20},J={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},Q={padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},w={display:"flex",flexDirection:"column",gap:8},I={fontSize:13,fontWeight:600,color:"var(--doc-text)"},l={display:"flex",alignItems:"center",gap:8},a={width:75,fontSize:12,color:"var(--doc-text-muted)"},s={flex:1,padding:"4px 6px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:12},d={...s},U={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},K={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function Z({isOpen:f,onClose:r,onApply:D,currentData:n}){let[v,u]=react.useState("align"),[y,k]=react.useState("center"),[c,z]=react.useState("column"),[b,A]=react.useState(0),[g,m]=react.useState("align"),[h,L]=react.useState("top"),[S,B]=react.useState("paragraph"),[x,M]=react.useState(0),[C,N]=react.useState(0),[P,E]=react.useState(0),[T,H]=react.useState(0),[R,V]=react.useState(0);react.useEffect(()=>{if(!f)return;let e=n?.horizontal,p=n?.vertical;e?.align?(u("align"),k(e.align)):e?.posOffset!=null&&(u("offset"),A(e.posOffset)),e?.relativeTo&&z(e.relativeTo),p?.align?(m("align"),L(p.align)):p?.posOffset!=null&&(m("offset"),M(p.posOffset)),p?.relativeTo&&B(p.relativeTo),N(n?.distTop??0),E(n?.distBottom??0),H(n?.distLeft??0),V(n?.distRight??0);},[f,n]);let O=react.useCallback(()=>{let e={};e.horizontal={relativeTo:c,...v==="align"?{align:y}:{posOffset:b}},e.vertical={relativeTo:S,...g==="align"?{align:h}:{posOffset:x}},e.distTop=C,e.distBottom=P,e.distLeft=T,e.distRight=R,D(e),r();},[v,y,c,b,g,h,S,x,C,P,T,R,D,r]),j=react.useCallback(e=>{e.key==="Escape"&&r(),e.key==="Enter"&&O();},[r,O]);return f?jsxRuntime.jsx("div",{style:F,onClick:r,onKeyDown:j,children:jsxRuntime.jsxs("div",{style:G,onClick:e=>e.stopPropagation(),role:"dialog","aria-label":"Image position",children:[jsxRuntime.jsx("div",{style:J,children:"Image Position"}),jsxRuntime.jsxs("div",{style:Q,children:[jsxRuntime.jsxs("div",{style:w,children:[jsxRuntime.jsx("div",{style:I,children:"Horizontal"}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Position"}),jsxRuntime.jsxs("select",{style:d,value:v,onChange:e=>u(e.target.value),children:[jsxRuntime.jsx("option",{value:"align",children:"Alignment"}),jsxRuntime.jsx("option",{value:"offset",children:"Offset"})]})]}),v==="align"?jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Align"}),jsxRuntime.jsxs("select",{style:d,value:y,onChange:e=>k(e.target.value),children:[jsxRuntime.jsx("option",{value:"left",children:"Left"}),jsxRuntime.jsx("option",{value:"center",children:"Center"}),jsxRuntime.jsx("option",{value:"right",children:"Right"})]})]}):jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Offset (px)"}),jsxRuntime.jsx("input",{type:"number",style:s,value:b,onChange:e=>A(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Relative to"}),jsxRuntime.jsxs("select",{style:d,value:c,onChange:e=>z(e.target.value),children:[jsxRuntime.jsx("option",{value:"page",children:"Page"}),jsxRuntime.jsx("option",{value:"column",children:"Column"}),jsxRuntime.jsx("option",{value:"margin",children:"Margin"}),jsxRuntime.jsx("option",{value:"character",children:"Character"})]})]})]}),jsxRuntime.jsxs("div",{style:w,children:[jsxRuntime.jsx("div",{style:I,children:"Vertical"}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Position"}),jsxRuntime.jsxs("select",{style:d,value:g,onChange:e=>m(e.target.value),children:[jsxRuntime.jsx("option",{value:"align",children:"Alignment"}),jsxRuntime.jsx("option",{value:"offset",children:"Offset"})]})]}),g==="align"?jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Align"}),jsxRuntime.jsxs("select",{style:d,value:h,onChange:e=>L(e.target.value),children:[jsxRuntime.jsx("option",{value:"top",children:"Top"}),jsxRuntime.jsx("option",{value:"center",children:"Center"}),jsxRuntime.jsx("option",{value:"bottom",children:"Bottom"})]})]}):jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Offset (px)"}),jsxRuntime.jsx("input",{type:"number",style:s,value:x,onChange:e=>M(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:a,children:"Relative to"}),jsxRuntime.jsxs("select",{style:d,value:S,onChange:e=>B(e.target.value),children:[jsxRuntime.jsx("option",{value:"page",children:"Page"}),jsxRuntime.jsx("option",{value:"margin",children:"Margin"}),jsxRuntime.jsx("option",{value:"paragraph",children:"Paragraph"}),jsxRuntime.jsx("option",{value:"line",children:"Line"})]})]})]}),jsxRuntime.jsxs("div",{style:w,children:[jsxRuntime.jsx("div",{style:I,children:"Distance from text (px)"}),jsxRuntime.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:{...a,width:45},children:"Top"}),jsxRuntime.jsx("input",{type:"number",style:s,min:0,value:C,onChange:e=>N(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:{...a,width:45},children:"Bottom"}),jsxRuntime.jsx("input",{type:"number",style:s,min:0,value:P,onChange:e=>E(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:{...a,width:45},children:"Left"}),jsxRuntime.jsx("input",{type:"number",style:s,min:0,value:T,onChange:e=>H(Number(e.target.value)||0)})]}),jsxRuntime.jsxs("div",{style:l,children:[jsxRuntime.jsx("label",{style:{...a,width:45},children:"Right"}),jsxRuntime.jsx("input",{type:"number",style:s,min:0,value:R,onChange:e=>V(Number(e.target.value)||0)})]})]})]})]}),jsxRuntime.jsxs("div",{style:U,children:[jsxRuntime.jsx("button",{type:"button",style:K,onClick:r,children:"Cancel"}),jsxRuntime.jsx("button",{type:"button",style:{...K,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:O,children:"Apply"})]})]})}):null}exports.ImagePositionDialog=Z;//# sourceMappingURL=ImagePositionDialog-IMVI7EXA.cjs.map
2
+ //# sourceMappingURL=ImagePositionDialog-IMVI7EXA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/dialogs/ImagePositionDialog.tsx"],"names":["overlayStyle","dialogStyle","headerStyle","bodyStyle","sectionStyle","sectionLabelStyle","rowStyle","labelStyle","inputStyle","selectStyle","footerStyle","btnStyle","ImagePositionDialog","isOpen","onClose","onApply","currentData","hMode","setHMode","useState","hAlign","setHAlign","hRelativeTo","setHRelativeTo","hOffset","setHOffset","vMode","setVMode","vAlign","setVAlign","vRelativeTo","setVRelativeTo","vOffset","setVOffset","distTop","setDistTop","distBottom","setDistBottom","distLeft","setDistLeft","distRight","setDistRight","useEffect","h","v","handleApply","useCallback","data","handleKeyDown","jsx","jsxs"],"mappings":"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","file":"ImagePositionDialog-IMVI7EXA.cjs","sourcesContent":["/**\n * Image Position Dialog\n *\n * Modal for editing image positioning settings:\n * - Horizontal: alignment or offset, relative to page/column/margin/paragraph\n * - Vertical: alignment or offset, relative to page/margin/paragraph/line\n * - Distance from text (top/bottom/left/right)\n */\n\nimport React, { useState, useCallback, useEffect } from 'react';\nimport type { CSSProperties } from 'react';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface ImagePositionData {\n horizontal?: {\n relativeTo?: string;\n posOffset?: number;\n align?: string;\n };\n vertical?: {\n relativeTo?: string;\n posOffset?: number;\n align?: string;\n };\n distTop?: number;\n distBottom?: number;\n distLeft?: number;\n distRight?: number;\n}\n\nexport interface ImagePositionDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (data: ImagePositionData) => void;\n currentData?: ImagePositionData;\n}\n\n// ============================================================================\n// STYLES\n// ============================================================================\n\nconst overlayStyle: CSSProperties = {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 10000,\n};\n\nconst dialogStyle: CSSProperties = {\n backgroundColor: 'white',\n borderRadius: 8,\n boxShadow: '0 4px 20px rgba(0, 0, 0, 0.15)',\n minWidth: 400,\n maxWidth: 480,\n width: '100%',\n margin: 20,\n};\n\nconst headerStyle: CSSProperties = {\n padding: '16px 20px 12px',\n borderBottom: '1px solid var(--doc-border)',\n fontSize: 16,\n fontWeight: 600,\n};\n\nconst bodyStyle: CSSProperties = {\n padding: '16px 20px',\n display: 'flex',\n flexDirection: 'column',\n gap: 16,\n};\n\nconst sectionStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: 8,\n};\n\nconst sectionLabelStyle: CSSProperties = {\n fontSize: 13,\n fontWeight: 600,\n color: 'var(--doc-text)',\n};\n\nconst rowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n};\n\nconst labelStyle: CSSProperties = {\n width: 75,\n fontSize: 12,\n color: 'var(--doc-text-muted)',\n};\n\nconst inputStyle: CSSProperties = {\n flex: 1,\n padding: '4px 6px',\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n fontSize: 12,\n};\n\nconst selectStyle: CSSProperties = {\n ...inputStyle,\n};\n\nconst footerStyle: CSSProperties = {\n padding: '12px 20px 16px',\n borderTop: '1px solid var(--doc-border)',\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 8,\n};\n\nconst btnStyle: CSSProperties = {\n padding: '6px 16px',\n fontSize: 13,\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n cursor: 'pointer',\n};\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport function ImagePositionDialog({\n isOpen,\n onClose,\n onApply,\n currentData,\n}: ImagePositionDialogProps): React.ReactElement | null {\n const [hMode, setHMode] = useState<'align' | 'offset'>('align');\n const [hAlign, setHAlign] = useState('center');\n const [hRelativeTo, setHRelativeTo] = useState('column');\n const [hOffset, setHOffset] = useState(0);\n\n const [vMode, setVMode] = useState<'align' | 'offset'>('align');\n const [vAlign, setVAlign] = useState('top');\n const [vRelativeTo, setVRelativeTo] = useState('paragraph');\n const [vOffset, setVOffset] = useState(0);\n\n const [distTop, setDistTop] = useState(0);\n const [distBottom, setDistBottom] = useState(0);\n const [distLeft, setDistLeft] = useState(0);\n const [distRight, setDistRight] = useState(0);\n\n useEffect(() => {\n if (!isOpen) return;\n const h = currentData?.horizontal;\n const v = currentData?.vertical;\n if (h?.align) {\n setHMode('align');\n setHAlign(h.align);\n } else if (h?.posOffset != null) {\n setHMode('offset');\n setHOffset(h.posOffset);\n }\n if (h?.relativeTo) setHRelativeTo(h.relativeTo);\n\n if (v?.align) {\n setVMode('align');\n setVAlign(v.align);\n } else if (v?.posOffset != null) {\n setVMode('offset');\n setVOffset(v.posOffset);\n }\n if (v?.relativeTo) setVRelativeTo(v.relativeTo);\n\n setDistTop(currentData?.distTop ?? 0);\n setDistBottom(currentData?.distBottom ?? 0);\n setDistLeft(currentData?.distLeft ?? 0);\n setDistRight(currentData?.distRight ?? 0);\n }, [isOpen, currentData]);\n\n const handleApply = useCallback(() => {\n const data: ImagePositionData = {};\n data.horizontal = {\n relativeTo: hRelativeTo,\n ...(hMode === 'align' ? { align: hAlign } : { posOffset: hOffset }),\n };\n data.vertical = {\n relativeTo: vRelativeTo,\n ...(vMode === 'align' ? { align: vAlign } : { posOffset: vOffset }),\n };\n data.distTop = distTop;\n data.distBottom = distBottom;\n data.distLeft = distLeft;\n data.distRight = distRight;\n onApply(data);\n onClose();\n }, [\n hMode,\n hAlign,\n hRelativeTo,\n hOffset,\n vMode,\n vAlign,\n vRelativeTo,\n vOffset,\n distTop,\n distBottom,\n distLeft,\n distRight,\n onApply,\n onClose,\n ]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n if (e.key === 'Enter') handleApply();\n },\n [onClose, handleApply]\n );\n\n if (!isOpen) return null;\n\n return (\n <div style={overlayStyle} onClick={onClose} onKeyDown={handleKeyDown}>\n <div\n style={dialogStyle}\n onClick={(e) => e.stopPropagation()}\n role=\"dialog\"\n aria-label=\"Image position\"\n >\n <div style={headerStyle}>Image Position</div>\n\n <div style={bodyStyle}>\n {/* Horizontal positioning */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Horizontal</div>\n <div style={rowStyle}>\n <label style={labelStyle}>Position</label>\n <select\n style={selectStyle}\n value={hMode}\n onChange={(e) => setHMode(e.target.value as 'align' | 'offset')}\n >\n <option value=\"align\">Alignment</option>\n <option value=\"offset\">Offset</option>\n </select>\n </div>\n {hMode === 'align' ? (\n <div style={rowStyle}>\n <label style={labelStyle}>Align</label>\n <select\n style={selectStyle}\n value={hAlign}\n onChange={(e) => setHAlign(e.target.value)}\n >\n <option value=\"left\">Left</option>\n <option value=\"center\">Center</option>\n <option value=\"right\">Right</option>\n </select>\n </div>\n ) : (\n <div style={rowStyle}>\n <label style={labelStyle}>Offset (px)</label>\n <input\n type=\"number\"\n style={inputStyle}\n value={hOffset}\n onChange={(e) => setHOffset(Number(e.target.value) || 0)}\n />\n </div>\n )}\n <div style={rowStyle}>\n <label style={labelStyle}>Relative to</label>\n <select\n style={selectStyle}\n value={hRelativeTo}\n onChange={(e) => setHRelativeTo(e.target.value)}\n >\n <option value=\"page\">Page</option>\n <option value=\"column\">Column</option>\n <option value=\"margin\">Margin</option>\n <option value=\"character\">Character</option>\n </select>\n </div>\n </div>\n\n {/* Vertical positioning */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Vertical</div>\n <div style={rowStyle}>\n <label style={labelStyle}>Position</label>\n <select\n style={selectStyle}\n value={vMode}\n onChange={(e) => setVMode(e.target.value as 'align' | 'offset')}\n >\n <option value=\"align\">Alignment</option>\n <option value=\"offset\">Offset</option>\n </select>\n </div>\n {vMode === 'align' ? (\n <div style={rowStyle}>\n <label style={labelStyle}>Align</label>\n <select\n style={selectStyle}\n value={vAlign}\n onChange={(e) => setVAlign(e.target.value)}\n >\n <option value=\"top\">Top</option>\n <option value=\"center\">Center</option>\n <option value=\"bottom\">Bottom</option>\n </select>\n </div>\n ) : (\n <div style={rowStyle}>\n <label style={labelStyle}>Offset (px)</label>\n <input\n type=\"number\"\n style={inputStyle}\n value={vOffset}\n onChange={(e) => setVOffset(Number(e.target.value) || 0)}\n />\n </div>\n )}\n <div style={rowStyle}>\n <label style={labelStyle}>Relative to</label>\n <select\n style={selectStyle}\n value={vRelativeTo}\n onChange={(e) => setVRelativeTo(e.target.value)}\n >\n <option value=\"page\">Page</option>\n <option value=\"margin\">Margin</option>\n <option value=\"paragraph\">Paragraph</option>\n <option value=\"line\">Line</option>\n </select>\n </div>\n </div>\n\n {/* Distance from text */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Distance from text (px)</div>\n <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 8 }}>\n <div style={rowStyle}>\n <label style={{ ...labelStyle, width: 45 }}>Top</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n value={distTop}\n onChange={(e) => setDistTop(Number(e.target.value) || 0)}\n />\n </div>\n <div style={rowStyle}>\n <label style={{ ...labelStyle, width: 45 }}>Bottom</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n value={distBottom}\n onChange={(e) => setDistBottom(Number(e.target.value) || 0)}\n />\n </div>\n <div style={rowStyle}>\n <label style={{ ...labelStyle, width: 45 }}>Left</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n value={distLeft}\n onChange={(e) => setDistLeft(Number(e.target.value) || 0)}\n />\n </div>\n <div style={rowStyle}>\n <label style={{ ...labelStyle, width: 45 }}>Right</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n value={distRight}\n onChange={(e) => setDistRight(Number(e.target.value) || 0)}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div style={footerStyle}>\n <button type=\"button\" style={btnStyle} onClick={onClose}>\n Cancel\n </button>\n <button\n type=\"button\"\n style={{\n ...btnStyle,\n backgroundColor: 'var(--doc-primary)',\n color: 'white',\n borderColor: 'var(--doc-primary)',\n }}\n onClick={handleApply}\n >\n Apply\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1,2 @@
1
- import'./chunk-OWMXCVKB.js';import {useState,useEffect,useCallback}from'react';import {jsx,jsxs}from'react/jsx-runtime';var D={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},k={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:380,maxWidth:440,width:"100%",margin:20},w={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},R={padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},h={display:"flex",flexDirection:"column",gap:8},C={fontSize:13,fontWeight:600,color:"var(--doc-text)"},v={display:"flex",alignItems:"center",gap:8},u={width:60,fontSize:12,color:"var(--doc-text-muted)"},s={flex:1,padding:"4px 6px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:12},z={...s},A={...s,minHeight:60,resize:"vertical",fontFamily:"inherit"},B={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},P={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function T({isOpen:p,onClose:i,onApply:g,currentData:l}){let[c,S]=useState(""),[r,x]=useState(0),[d,y]=useState("#000000"),[a,f]=useState("solid");useEffect(()=>{p&&(S(l?.alt??""),x(l?.borderWidth??0),y(l?.borderColor??"#000000"),f(l?.borderStyle??"solid"));},[p,l]);let b=useCallback(()=>{g({alt:c||void 0,borderWidth:r>0?r:void 0,borderColor:r>0?d:void 0,borderStyle:r>0?a:void 0}),i();},[c,r,d,a,g,i]),I=useCallback(t=>{t.key==="Escape"&&i(),t.key==="Enter"&&!t.shiftKey&&b();},[i,b]);return p?jsx("div",{style:D,onClick:i,onKeyDown:I,children:jsxs("div",{style:k,onClick:t=>t.stopPropagation(),role:"dialog","aria-label":"Image properties",children:[jsx("div",{style:w,children:"Image Properties"}),jsxs("div",{style:R,children:[jsxs("div",{style:h,children:[jsx("div",{style:C,children:"Alt Text"}),jsx("textarea",{style:A,value:c,onChange:t=>S(t.target.value),placeholder:"Describe this image for accessibility..."})]}),jsxs("div",{style:h,children:[jsx("div",{style:C,children:"Border"}),jsxs("div",{style:v,children:[jsx("label",{style:u,children:"Width"}),jsx("input",{type:"number",style:{...s,maxWidth:80},min:0,max:20,step:.5,value:r,onChange:t=>x(Number(t.target.value)||0)}),jsx("span",{style:{fontSize:12,color:"var(--doc-text-muted)"},children:"px"})]}),jsxs("div",{style:v,children:[jsx("label",{style:u,children:"Style"}),jsxs("select",{style:z,value:a,onChange:t=>f(t.target.value),children:[jsx("option",{value:"solid",children:"Solid"}),jsx("option",{value:"dashed",children:"Dashed"}),jsx("option",{value:"dotted",children:"Dotted"}),jsx("option",{value:"double",children:"Double"}),jsx("option",{value:"groove",children:"Groove"}),jsx("option",{value:"ridge",children:"Ridge"}),jsx("option",{value:"inset",children:"Inset"}),jsx("option",{value:"outset",children:"Outset"})]})]}),jsxs("div",{style:v,children:[jsx("label",{style:u,children:"Color"}),jsx("input",{type:"color",value:d,onChange:t=>y(t.target.value),style:{width:32,height:24,padding:0,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"}}),jsx("input",{type:"text",style:{...s,maxWidth:90},value:d,onChange:t=>y(t.target.value)})]}),r>0&&jsx("div",{style:{marginTop:4,padding:8,border:`${r}px ${a} ${d}`,borderRadius:4,fontSize:11,color:"var(--doc-text-muted)",textAlign:"center"},children:"Preview"})]})]}),jsxs("div",{style:B,children:[jsx("button",{type:"button",style:P,onClick:i,children:"Cancel"}),jsx("button",{type:"button",style:{...P,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:b,children:"Apply"})]})]})}):null}export{T as ImagePropertiesDialog};
1
+ import'./chunk-AL62KQYJ.js';import {useState,useEffect,useCallback}from'react';import {jsx,jsxs}from'react/jsx-runtime';var D={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},k={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:380,maxWidth:440,width:"100%",margin:20},w={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},R={padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},h={display:"flex",flexDirection:"column",gap:8},C={fontSize:13,fontWeight:600,color:"var(--doc-text)"},v={display:"flex",alignItems:"center",gap:8},u={width:60,fontSize:12,color:"var(--doc-text-muted)"},s={flex:1,padding:"4px 6px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:12},z={...s},A={...s,minHeight:60,resize:"vertical",fontFamily:"inherit"},B={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},P={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function T({isOpen:p,onClose:i,onApply:g,currentData:l}){let[c,S]=useState(""),[r,x]=useState(0),[d,y]=useState("#000000"),[a,f]=useState("solid");useEffect(()=>{p&&(S(l?.alt??""),x(l?.borderWidth??0),y(l?.borderColor??"#000000"),f(l?.borderStyle??"solid"));},[p,l]);let b=useCallback(()=>{g({alt:c||void 0,borderWidth:r>0?r:void 0,borderColor:r>0?d:void 0,borderStyle:r>0?a:void 0}),i();},[c,r,d,a,g,i]),I=useCallback(t=>{t.key==="Escape"&&i(),t.key==="Enter"&&!t.shiftKey&&b();},[i,b]);return p?jsx("div",{style:D,onClick:i,onKeyDown:I,children:jsxs("div",{style:k,onClick:t=>t.stopPropagation(),role:"dialog","aria-label":"Image properties",children:[jsx("div",{style:w,children:"Image Properties"}),jsxs("div",{style:R,children:[jsxs("div",{style:h,children:[jsx("div",{style:C,children:"Alt Text"}),jsx("textarea",{style:A,value:c,onChange:t=>S(t.target.value),placeholder:"Describe this image for accessibility..."})]}),jsxs("div",{style:h,children:[jsx("div",{style:C,children:"Border"}),jsxs("div",{style:v,children:[jsx("label",{style:u,children:"Width"}),jsx("input",{type:"number",style:{...s,maxWidth:80},min:0,max:20,step:.5,value:r,onChange:t=>x(Number(t.target.value)||0)}),jsx("span",{style:{fontSize:12,color:"var(--doc-text-muted)"},children:"px"})]}),jsxs("div",{style:v,children:[jsx("label",{style:u,children:"Style"}),jsxs("select",{style:z,value:a,onChange:t=>f(t.target.value),children:[jsx("option",{value:"solid",children:"Solid"}),jsx("option",{value:"dashed",children:"Dashed"}),jsx("option",{value:"dotted",children:"Dotted"}),jsx("option",{value:"double",children:"Double"}),jsx("option",{value:"groove",children:"Groove"}),jsx("option",{value:"ridge",children:"Ridge"}),jsx("option",{value:"inset",children:"Inset"}),jsx("option",{value:"outset",children:"Outset"})]})]}),jsxs("div",{style:v,children:[jsx("label",{style:u,children:"Color"}),jsx("input",{type:"color",value:d,onChange:t=>y(t.target.value),style:{width:32,height:24,padding:0,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"}}),jsx("input",{type:"text",style:{...s,maxWidth:90},value:d,onChange:t=>y(t.target.value)})]}),r>0&&jsx("div",{style:{marginTop:4,padding:8,border:`${r}px ${a} ${d}`,borderRadius:4,fontSize:11,color:"var(--doc-text-muted)",textAlign:"center"},children:"Preview"})]})]}),jsxs("div",{style:B,children:[jsx("button",{type:"button",style:P,onClick:i,children:"Cancel"}),jsx("button",{type:"button",style:{...P,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:b,children:"Apply"})]})]})}):null}export{T as ImagePropertiesDialog};//# sourceMappingURL=ImagePropertiesDialog-P7WN2ALR.js.map
2
+ //# sourceMappingURL=ImagePropertiesDialog-P7WN2ALR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/dialogs/ImagePropertiesDialog.tsx"],"names":["overlayStyle","dialogStyle","headerStyle","bodyStyle","sectionStyle","sectionLabelStyle","rowStyle","labelStyle","inputStyle","selectStyle","textareaStyle","footerStyle","btnStyle","ImagePropertiesDialog","isOpen","onClose","onApply","currentData","alt","setAlt","useState","borderWidth","setBorderWidth","borderColor","setBorderColor","borderStyle","setBorderStyle","useEffect","handleApply","useCallback","handleKeyDown","e","jsx","jsxs"],"mappings":"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","file":"ImagePropertiesDialog-P7WN2ALR.js","sourcesContent":["/**\n * Image Properties Dialog\n *\n * Modal for editing image properties:\n * - Alt text for accessibility\n * - Border/outline style, color, and width\n */\n\nimport React, { useState, useCallback, useEffect } from 'react';\nimport type { CSSProperties } from 'react';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface ImagePropertiesData {\n alt?: string;\n borderWidth?: number;\n borderColor?: string;\n borderStyle?: string;\n}\n\nexport interface ImagePropertiesDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (data: ImagePropertiesData) => void;\n currentData?: ImagePropertiesData;\n}\n\n// ============================================================================\n// STYLES\n// ============================================================================\n\nconst overlayStyle: CSSProperties = {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 10000,\n};\n\nconst dialogStyle: CSSProperties = {\n backgroundColor: 'white',\n borderRadius: 8,\n boxShadow: '0 4px 20px rgba(0, 0, 0, 0.15)',\n minWidth: 380,\n maxWidth: 440,\n width: '100%',\n margin: 20,\n};\n\nconst headerStyle: CSSProperties = {\n padding: '16px 20px 12px',\n borderBottom: '1px solid var(--doc-border)',\n fontSize: 16,\n fontWeight: 600,\n};\n\nconst bodyStyle: CSSProperties = {\n padding: '16px 20px',\n display: 'flex',\n flexDirection: 'column',\n gap: 16,\n};\n\nconst sectionStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: 8,\n};\n\nconst sectionLabelStyle: CSSProperties = {\n fontSize: 13,\n fontWeight: 600,\n color: 'var(--doc-text)',\n};\n\nconst rowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n};\n\nconst labelStyle: CSSProperties = {\n width: 60,\n fontSize: 12,\n color: 'var(--doc-text-muted)',\n};\n\nconst inputStyle: CSSProperties = {\n flex: 1,\n padding: '4px 6px',\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n fontSize: 12,\n};\n\nconst selectStyle: CSSProperties = {\n ...inputStyle,\n};\n\nconst textareaStyle: CSSProperties = {\n ...inputStyle,\n minHeight: 60,\n resize: 'vertical' as const,\n fontFamily: 'inherit',\n};\n\nconst footerStyle: CSSProperties = {\n padding: '12px 20px 16px',\n borderTop: '1px solid var(--doc-border)',\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 8,\n};\n\nconst btnStyle: CSSProperties = {\n padding: '6px 16px',\n fontSize: 13,\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n cursor: 'pointer',\n};\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport function ImagePropertiesDialog({\n isOpen,\n onClose,\n onApply,\n currentData,\n}: ImagePropertiesDialogProps): React.ReactElement | null {\n const [alt, setAlt] = useState('');\n const [borderWidth, setBorderWidth] = useState(0);\n const [borderColor, setBorderColor] = useState('#000000');\n const [borderStyle, setBorderStyle] = useState('solid');\n\n useEffect(() => {\n if (!isOpen) return;\n setAlt(currentData?.alt ?? '');\n setBorderWidth(currentData?.borderWidth ?? 0);\n setBorderColor(currentData?.borderColor ?? '#000000');\n setBorderStyle(currentData?.borderStyle ?? 'solid');\n }, [isOpen, currentData]);\n\n const handleApply = useCallback(() => {\n onApply({\n alt: alt || undefined,\n borderWidth: borderWidth > 0 ? borderWidth : undefined,\n borderColor: borderWidth > 0 ? borderColor : undefined,\n borderStyle: borderWidth > 0 ? borderStyle : undefined,\n });\n onClose();\n }, [alt, borderWidth, borderColor, borderStyle, onApply, onClose]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n if (e.key === 'Enter' && !e.shiftKey) handleApply();\n },\n [onClose, handleApply]\n );\n\n if (!isOpen) return null;\n\n return (\n <div style={overlayStyle} onClick={onClose} onKeyDown={handleKeyDown}>\n <div\n style={dialogStyle}\n onClick={(e) => e.stopPropagation()}\n role=\"dialog\"\n aria-label=\"Image properties\"\n >\n <div style={headerStyle}>Image Properties</div>\n\n <div style={bodyStyle}>\n {/* Alt Text */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Alt Text</div>\n <textarea\n style={textareaStyle}\n value={alt}\n onChange={(e) => setAlt(e.target.value)}\n placeholder=\"Describe this image for accessibility...\"\n />\n </div>\n\n {/* Border / Outline */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Border</div>\n <div style={rowStyle}>\n <label style={labelStyle}>Width</label>\n <input\n type=\"number\"\n style={{ ...inputStyle, maxWidth: 80 }}\n min={0}\n max={20}\n step={0.5}\n value={borderWidth}\n onChange={(e) => setBorderWidth(Number(e.target.value) || 0)}\n />\n <span style={{ fontSize: 12, color: 'var(--doc-text-muted)' }}>px</span>\n </div>\n <div style={rowStyle}>\n <label style={labelStyle}>Style</label>\n <select\n style={selectStyle}\n value={borderStyle}\n onChange={(e) => setBorderStyle(e.target.value)}\n >\n <option value=\"solid\">Solid</option>\n <option value=\"dashed\">Dashed</option>\n <option value=\"dotted\">Dotted</option>\n <option value=\"double\">Double</option>\n <option value=\"groove\">Groove</option>\n <option value=\"ridge\">Ridge</option>\n <option value=\"inset\">Inset</option>\n <option value=\"outset\">Outset</option>\n </select>\n </div>\n <div style={rowStyle}>\n <label style={labelStyle}>Color</label>\n <input\n type=\"color\"\n value={borderColor}\n onChange={(e) => setBorderColor(e.target.value)}\n style={{\n width: 32,\n height: 24,\n padding: 0,\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n cursor: 'pointer',\n }}\n />\n <input\n type=\"text\"\n style={{ ...inputStyle, maxWidth: 90 }}\n value={borderColor}\n onChange={(e) => setBorderColor(e.target.value)}\n />\n </div>\n {borderWidth > 0 && (\n <div\n style={{\n marginTop: 4,\n padding: 8,\n border: `${borderWidth}px ${borderStyle} ${borderColor}`,\n borderRadius: 4,\n fontSize: 11,\n color: 'var(--doc-text-muted)',\n textAlign: 'center',\n }}\n >\n Preview\n </div>\n )}\n </div>\n </div>\n\n <div style={footerStyle}>\n <button type=\"button\" style={btnStyle} onClick={onClose}>\n Cancel\n </button>\n <button\n type=\"button\"\n style={{\n ...btnStyle,\n backgroundColor: 'var(--doc-primary)',\n color: 'white',\n borderColor: 'var(--doc-primary)',\n }}\n onClick={handleApply}\n >\n Apply\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1,2 @@
1
- 'use strict';require('./chunk-VOWKSURW.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var D={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},k={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:380,maxWidth:440,width:"100%",margin:20},w={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},R={padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},h={display:"flex",flexDirection:"column",gap:8},C={fontSize:13,fontWeight:600,color:"var(--doc-text)"},v={display:"flex",alignItems:"center",gap:8},u={width:60,fontSize:12,color:"var(--doc-text-muted)"},s={flex:1,padding:"4px 6px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:12},z={...s},A={...s,minHeight:60,resize:"vertical",fontFamily:"inherit"},B={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},P={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function T({isOpen:p,onClose:i,onApply:g,currentData:l}){let[c,S]=react.useState(""),[r,x]=react.useState(0),[d,y]=react.useState("#000000"),[a,f]=react.useState("solid");react.useEffect(()=>{p&&(S(l?.alt??""),x(l?.borderWidth??0),y(l?.borderColor??"#000000"),f(l?.borderStyle??"solid"));},[p,l]);let b=react.useCallback(()=>{g({alt:c||void 0,borderWidth:r>0?r:void 0,borderColor:r>0?d:void 0,borderStyle:r>0?a:void 0}),i();},[c,r,d,a,g,i]),I=react.useCallback(t=>{t.key==="Escape"&&i(),t.key==="Enter"&&!t.shiftKey&&b();},[i,b]);return p?jsxRuntime.jsx("div",{style:D,onClick:i,onKeyDown:I,children:jsxRuntime.jsxs("div",{style:k,onClick:t=>t.stopPropagation(),role:"dialog","aria-label":"Image properties",children:[jsxRuntime.jsx("div",{style:w,children:"Image Properties"}),jsxRuntime.jsxs("div",{style:R,children:[jsxRuntime.jsxs("div",{style:h,children:[jsxRuntime.jsx("div",{style:C,children:"Alt Text"}),jsxRuntime.jsx("textarea",{style:A,value:c,onChange:t=>S(t.target.value),placeholder:"Describe this image for accessibility..."})]}),jsxRuntime.jsxs("div",{style:h,children:[jsxRuntime.jsx("div",{style:C,children:"Border"}),jsxRuntime.jsxs("div",{style:v,children:[jsxRuntime.jsx("label",{style:u,children:"Width"}),jsxRuntime.jsx("input",{type:"number",style:{...s,maxWidth:80},min:0,max:20,step:.5,value:r,onChange:t=>x(Number(t.target.value)||0)}),jsxRuntime.jsx("span",{style:{fontSize:12,color:"var(--doc-text-muted)"},children:"px"})]}),jsxRuntime.jsxs("div",{style:v,children:[jsxRuntime.jsx("label",{style:u,children:"Style"}),jsxRuntime.jsxs("select",{style:z,value:a,onChange:t=>f(t.target.value),children:[jsxRuntime.jsx("option",{value:"solid",children:"Solid"}),jsxRuntime.jsx("option",{value:"dashed",children:"Dashed"}),jsxRuntime.jsx("option",{value:"dotted",children:"Dotted"}),jsxRuntime.jsx("option",{value:"double",children:"Double"}),jsxRuntime.jsx("option",{value:"groove",children:"Groove"}),jsxRuntime.jsx("option",{value:"ridge",children:"Ridge"}),jsxRuntime.jsx("option",{value:"inset",children:"Inset"}),jsxRuntime.jsx("option",{value:"outset",children:"Outset"})]})]}),jsxRuntime.jsxs("div",{style:v,children:[jsxRuntime.jsx("label",{style:u,children:"Color"}),jsxRuntime.jsx("input",{type:"color",value:d,onChange:t=>y(t.target.value),style:{width:32,height:24,padding:0,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"}}),jsxRuntime.jsx("input",{type:"text",style:{...s,maxWidth:90},value:d,onChange:t=>y(t.target.value)})]}),r>0&&jsxRuntime.jsx("div",{style:{marginTop:4,padding:8,border:`${r}px ${a} ${d}`,borderRadius:4,fontSize:11,color:"var(--doc-text-muted)",textAlign:"center"},children:"Preview"})]})]}),jsxRuntime.jsxs("div",{style:B,children:[jsxRuntime.jsx("button",{type:"button",style:P,onClick:i,children:"Cancel"}),jsxRuntime.jsx("button",{type:"button",style:{...P,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:b,children:"Apply"})]})]})}):null}exports.ImagePropertiesDialog=T;
1
+ 'use strict';require('./chunk-V3MCDVZE.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var D={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},k={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:380,maxWidth:440,width:"100%",margin:20},w={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},R={padding:"16px 20px",display:"flex",flexDirection:"column",gap:16},h={display:"flex",flexDirection:"column",gap:8},C={fontSize:13,fontWeight:600,color:"var(--doc-text)"},v={display:"flex",alignItems:"center",gap:8},u={width:60,fontSize:12,color:"var(--doc-text-muted)"},s={flex:1,padding:"4px 6px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:12},z={...s},A={...s,minHeight:60,resize:"vertical",fontFamily:"inherit"},B={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},P={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function T({isOpen:p,onClose:i,onApply:g,currentData:l}){let[c,S]=react.useState(""),[r,x]=react.useState(0),[d,y]=react.useState("#000000"),[a,f]=react.useState("solid");react.useEffect(()=>{p&&(S(l?.alt??""),x(l?.borderWidth??0),y(l?.borderColor??"#000000"),f(l?.borderStyle??"solid"));},[p,l]);let b=react.useCallback(()=>{g({alt:c||void 0,borderWidth:r>0?r:void 0,borderColor:r>0?d:void 0,borderStyle:r>0?a:void 0}),i();},[c,r,d,a,g,i]),I=react.useCallback(t=>{t.key==="Escape"&&i(),t.key==="Enter"&&!t.shiftKey&&b();},[i,b]);return p?jsxRuntime.jsx("div",{style:D,onClick:i,onKeyDown:I,children:jsxRuntime.jsxs("div",{style:k,onClick:t=>t.stopPropagation(),role:"dialog","aria-label":"Image properties",children:[jsxRuntime.jsx("div",{style:w,children:"Image Properties"}),jsxRuntime.jsxs("div",{style:R,children:[jsxRuntime.jsxs("div",{style:h,children:[jsxRuntime.jsx("div",{style:C,children:"Alt Text"}),jsxRuntime.jsx("textarea",{style:A,value:c,onChange:t=>S(t.target.value),placeholder:"Describe this image for accessibility..."})]}),jsxRuntime.jsxs("div",{style:h,children:[jsxRuntime.jsx("div",{style:C,children:"Border"}),jsxRuntime.jsxs("div",{style:v,children:[jsxRuntime.jsx("label",{style:u,children:"Width"}),jsxRuntime.jsx("input",{type:"number",style:{...s,maxWidth:80},min:0,max:20,step:.5,value:r,onChange:t=>x(Number(t.target.value)||0)}),jsxRuntime.jsx("span",{style:{fontSize:12,color:"var(--doc-text-muted)"},children:"px"})]}),jsxRuntime.jsxs("div",{style:v,children:[jsxRuntime.jsx("label",{style:u,children:"Style"}),jsxRuntime.jsxs("select",{style:z,value:a,onChange:t=>f(t.target.value),children:[jsxRuntime.jsx("option",{value:"solid",children:"Solid"}),jsxRuntime.jsx("option",{value:"dashed",children:"Dashed"}),jsxRuntime.jsx("option",{value:"dotted",children:"Dotted"}),jsxRuntime.jsx("option",{value:"double",children:"Double"}),jsxRuntime.jsx("option",{value:"groove",children:"Groove"}),jsxRuntime.jsx("option",{value:"ridge",children:"Ridge"}),jsxRuntime.jsx("option",{value:"inset",children:"Inset"}),jsxRuntime.jsx("option",{value:"outset",children:"Outset"})]})]}),jsxRuntime.jsxs("div",{style:v,children:[jsxRuntime.jsx("label",{style:u,children:"Color"}),jsxRuntime.jsx("input",{type:"color",value:d,onChange:t=>y(t.target.value),style:{width:32,height:24,padding:0,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"}}),jsxRuntime.jsx("input",{type:"text",style:{...s,maxWidth:90},value:d,onChange:t=>y(t.target.value)})]}),r>0&&jsxRuntime.jsx("div",{style:{marginTop:4,padding:8,border:`${r}px ${a} ${d}`,borderRadius:4,fontSize:11,color:"var(--doc-text-muted)",textAlign:"center"},children:"Preview"})]})]}),jsxRuntime.jsxs("div",{style:B,children:[jsxRuntime.jsx("button",{type:"button",style:P,onClick:i,children:"Cancel"}),jsxRuntime.jsx("button",{type:"button",style:{...P,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:b,children:"Apply"})]})]})}):null}exports.ImagePropertiesDialog=T;//# sourceMappingURL=ImagePropertiesDialog-YS4KJRN7.cjs.map
2
+ //# sourceMappingURL=ImagePropertiesDialog-YS4KJRN7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/dialogs/ImagePropertiesDialog.tsx"],"names":["overlayStyle","dialogStyle","headerStyle","bodyStyle","sectionStyle","sectionLabelStyle","rowStyle","labelStyle","inputStyle","selectStyle","textareaStyle","footerStyle","btnStyle","ImagePropertiesDialog","isOpen","onClose","onApply","currentData","alt","setAlt","useState","borderWidth","setBorderWidth","borderColor","setBorderColor","borderStyle","setBorderStyle","useEffect","handleApply","useCallback","handleKeyDown","e","jsx","jsxs"],"mappings":"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","file":"ImagePropertiesDialog-YS4KJRN7.cjs","sourcesContent":["/**\n * Image Properties Dialog\n *\n * Modal for editing image properties:\n * - Alt text for accessibility\n * - Border/outline style, color, and width\n */\n\nimport React, { useState, useCallback, useEffect } from 'react';\nimport type { CSSProperties } from 'react';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface ImagePropertiesData {\n alt?: string;\n borderWidth?: number;\n borderColor?: string;\n borderStyle?: string;\n}\n\nexport interface ImagePropertiesDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (data: ImagePropertiesData) => void;\n currentData?: ImagePropertiesData;\n}\n\n// ============================================================================\n// STYLES\n// ============================================================================\n\nconst overlayStyle: CSSProperties = {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 10000,\n};\n\nconst dialogStyle: CSSProperties = {\n backgroundColor: 'white',\n borderRadius: 8,\n boxShadow: '0 4px 20px rgba(0, 0, 0, 0.15)',\n minWidth: 380,\n maxWidth: 440,\n width: '100%',\n margin: 20,\n};\n\nconst headerStyle: CSSProperties = {\n padding: '16px 20px 12px',\n borderBottom: '1px solid var(--doc-border)',\n fontSize: 16,\n fontWeight: 600,\n};\n\nconst bodyStyle: CSSProperties = {\n padding: '16px 20px',\n display: 'flex',\n flexDirection: 'column',\n gap: 16,\n};\n\nconst sectionStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: 8,\n};\n\nconst sectionLabelStyle: CSSProperties = {\n fontSize: 13,\n fontWeight: 600,\n color: 'var(--doc-text)',\n};\n\nconst rowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n};\n\nconst labelStyle: CSSProperties = {\n width: 60,\n fontSize: 12,\n color: 'var(--doc-text-muted)',\n};\n\nconst inputStyle: CSSProperties = {\n flex: 1,\n padding: '4px 6px',\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n fontSize: 12,\n};\n\nconst selectStyle: CSSProperties = {\n ...inputStyle,\n};\n\nconst textareaStyle: CSSProperties = {\n ...inputStyle,\n minHeight: 60,\n resize: 'vertical' as const,\n fontFamily: 'inherit',\n};\n\nconst footerStyle: CSSProperties = {\n padding: '12px 20px 16px',\n borderTop: '1px solid var(--doc-border)',\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 8,\n};\n\nconst btnStyle: CSSProperties = {\n padding: '6px 16px',\n fontSize: 13,\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n cursor: 'pointer',\n};\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport function ImagePropertiesDialog({\n isOpen,\n onClose,\n onApply,\n currentData,\n}: ImagePropertiesDialogProps): React.ReactElement | null {\n const [alt, setAlt] = useState('');\n const [borderWidth, setBorderWidth] = useState(0);\n const [borderColor, setBorderColor] = useState('#000000');\n const [borderStyle, setBorderStyle] = useState('solid');\n\n useEffect(() => {\n if (!isOpen) return;\n setAlt(currentData?.alt ?? '');\n setBorderWidth(currentData?.borderWidth ?? 0);\n setBorderColor(currentData?.borderColor ?? '#000000');\n setBorderStyle(currentData?.borderStyle ?? 'solid');\n }, [isOpen, currentData]);\n\n const handleApply = useCallback(() => {\n onApply({\n alt: alt || undefined,\n borderWidth: borderWidth > 0 ? borderWidth : undefined,\n borderColor: borderWidth > 0 ? borderColor : undefined,\n borderStyle: borderWidth > 0 ? borderStyle : undefined,\n });\n onClose();\n }, [alt, borderWidth, borderColor, borderStyle, onApply, onClose]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n if (e.key === 'Enter' && !e.shiftKey) handleApply();\n },\n [onClose, handleApply]\n );\n\n if (!isOpen) return null;\n\n return (\n <div style={overlayStyle} onClick={onClose} onKeyDown={handleKeyDown}>\n <div\n style={dialogStyle}\n onClick={(e) => e.stopPropagation()}\n role=\"dialog\"\n aria-label=\"Image properties\"\n >\n <div style={headerStyle}>Image Properties</div>\n\n <div style={bodyStyle}>\n {/* Alt Text */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Alt Text</div>\n <textarea\n style={textareaStyle}\n value={alt}\n onChange={(e) => setAlt(e.target.value)}\n placeholder=\"Describe this image for accessibility...\"\n />\n </div>\n\n {/* Border / Outline */}\n <div style={sectionStyle}>\n <div style={sectionLabelStyle}>Border</div>\n <div style={rowStyle}>\n <label style={labelStyle}>Width</label>\n <input\n type=\"number\"\n style={{ ...inputStyle, maxWidth: 80 }}\n min={0}\n max={20}\n step={0.5}\n value={borderWidth}\n onChange={(e) => setBorderWidth(Number(e.target.value) || 0)}\n />\n <span style={{ fontSize: 12, color: 'var(--doc-text-muted)' }}>px</span>\n </div>\n <div style={rowStyle}>\n <label style={labelStyle}>Style</label>\n <select\n style={selectStyle}\n value={borderStyle}\n onChange={(e) => setBorderStyle(e.target.value)}\n >\n <option value=\"solid\">Solid</option>\n <option value=\"dashed\">Dashed</option>\n <option value=\"dotted\">Dotted</option>\n <option value=\"double\">Double</option>\n <option value=\"groove\">Groove</option>\n <option value=\"ridge\">Ridge</option>\n <option value=\"inset\">Inset</option>\n <option value=\"outset\">Outset</option>\n </select>\n </div>\n <div style={rowStyle}>\n <label style={labelStyle}>Color</label>\n <input\n type=\"color\"\n value={borderColor}\n onChange={(e) => setBorderColor(e.target.value)}\n style={{\n width: 32,\n height: 24,\n padding: 0,\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n cursor: 'pointer',\n }}\n />\n <input\n type=\"text\"\n style={{ ...inputStyle, maxWidth: 90 }}\n value={borderColor}\n onChange={(e) => setBorderColor(e.target.value)}\n />\n </div>\n {borderWidth > 0 && (\n <div\n style={{\n marginTop: 4,\n padding: 8,\n border: `${borderWidth}px ${borderStyle} ${borderColor}`,\n borderRadius: 4,\n fontSize: 11,\n color: 'var(--doc-text-muted)',\n textAlign: 'center',\n }}\n >\n Preview\n </div>\n )}\n </div>\n </div>\n\n <div style={footerStyle}>\n <button type=\"button\" style={btnStyle} onClick={onClose}>\n Cancel\n </button>\n <button\n type=\"button\"\n style={{\n ...btnStyle,\n backgroundColor: 'var(--doc-primary)',\n color: 'white',\n borderColor: 'var(--doc-primary)',\n }}\n onClick={handleApply}\n >\n Apply\n </button>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1,2 @@
1
- 'use strict';require('./chunk-VOWKSURW.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var C={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},P={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:360,maxWidth:440,width:"100%",margin:20},T={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},k={padding:"16px 20px",display:"flex",flexDirection:"column",gap:12},c={display:"flex",alignItems:"center",gap:12},u={width:80,fontSize:13,color:"var(--doc-text-muted)"},x={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:13},S={...x},R={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},h={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function z({isOpen:n,onClose:r,onApply:y,currentProps:i}){let[a,b]=react.useState(i?.width||0),[l,f]=react.useState(i?.widthType||"auto"),[p,g]=react.useState(i?.justification||"left");react.useEffect(()=>{n&&(b(i?.width||0),f(i?.widthType||"auto"),g(i?.justification||"left"));},[n,i]);let d=react.useCallback(()=>{let t={};l==="auto"?(t.width=null,t.widthType="auto"):(t.width=a,t.widthType=l),t.justification=p,y(t),r();},[a,l,p,y,r]),w=react.useCallback(t=>{t.key==="Escape"&&r(),t.key==="Enter"&&d();},[r,d]);return n?jsxRuntime.jsx("div",{style:C,onClick:r,onKeyDown:w,children:jsxRuntime.jsxs("div",{style:P,onClick:t=>t.stopPropagation(),role:"dialog","aria-label":"Table properties",children:[jsxRuntime.jsx("div",{style:T,children:"Table Properties"}),jsxRuntime.jsxs("div",{style:k,children:[jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:u,children:"Width type"}),jsxRuntime.jsxs("select",{style:S,value:l,onChange:t=>f(t.target.value),children:[jsxRuntime.jsx("option",{value:"auto",children:"Auto"}),jsxRuntime.jsx("option",{value:"dxa",children:"Fixed (twips)"}),jsxRuntime.jsx("option",{value:"pct",children:"Percentage"})]})]}),l!=="auto"&&jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:u,children:"Width"}),jsxRuntime.jsx("input",{type:"number",style:x,min:0,step:l==="pct"?5:100,value:a,onChange:t=>b(Number(t.target.value)||0)}),jsxRuntime.jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted)"},children:l==="pct"?"(50ths of %)":"tw"})]}),jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:u,children:"Alignment"}),jsxRuntime.jsxs("select",{style:S,value:p,onChange:t=>g(t.target.value),children:[jsxRuntime.jsx("option",{value:"left",children:"Left"}),jsxRuntime.jsx("option",{value:"center",children:"Center"}),jsxRuntime.jsx("option",{value:"right",children:"Right"})]})]})]}),jsxRuntime.jsxs("div",{style:R,children:[jsxRuntime.jsx("button",{type:"button",style:h,onClick:r,children:"Cancel"}),jsxRuntime.jsx("button",{type:"button",style:{...h,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:d,children:"Apply"})]})]})}):null}exports.TablePropertiesDialog=z;
1
+ 'use strict';require('./chunk-V3MCDVZE.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var C={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},P={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:360,maxWidth:440,width:"100%",margin:20},T={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},k={padding:"16px 20px",display:"flex",flexDirection:"column",gap:12},c={display:"flex",alignItems:"center",gap:12},u={width:80,fontSize:13,color:"var(--doc-text-muted)"},x={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:13},S={...x},R={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},h={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"};function z({isOpen:n,onClose:r,onApply:y,currentProps:i}){let[a,b]=react.useState(i?.width||0),[l,f]=react.useState(i?.widthType||"auto"),[p,g]=react.useState(i?.justification||"left");react.useEffect(()=>{n&&(b(i?.width||0),f(i?.widthType||"auto"),g(i?.justification||"left"));},[n,i]);let d=react.useCallback(()=>{let t={};l==="auto"?(t.width=null,t.widthType="auto"):(t.width=a,t.widthType=l),t.justification=p,y(t),r();},[a,l,p,y,r]),w=react.useCallback(t=>{t.key==="Escape"&&r(),t.key==="Enter"&&d();},[r,d]);return n?jsxRuntime.jsx("div",{style:C,onClick:r,onKeyDown:w,children:jsxRuntime.jsxs("div",{style:P,onClick:t=>t.stopPropagation(),role:"dialog","aria-label":"Table properties",children:[jsxRuntime.jsx("div",{style:T,children:"Table Properties"}),jsxRuntime.jsxs("div",{style:k,children:[jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:u,children:"Width type"}),jsxRuntime.jsxs("select",{style:S,value:l,onChange:t=>f(t.target.value),children:[jsxRuntime.jsx("option",{value:"auto",children:"Auto"}),jsxRuntime.jsx("option",{value:"dxa",children:"Fixed (twips)"}),jsxRuntime.jsx("option",{value:"pct",children:"Percentage"})]})]}),l!=="auto"&&jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:u,children:"Width"}),jsxRuntime.jsx("input",{type:"number",style:x,min:0,step:l==="pct"?5:100,value:a,onChange:t=>b(Number(t.target.value)||0)}),jsxRuntime.jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted)"},children:l==="pct"?"(50ths of %)":"tw"})]}),jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:u,children:"Alignment"}),jsxRuntime.jsxs("select",{style:S,value:p,onChange:t=>g(t.target.value),children:[jsxRuntime.jsx("option",{value:"left",children:"Left"}),jsxRuntime.jsx("option",{value:"center",children:"Center"}),jsxRuntime.jsx("option",{value:"right",children:"Right"})]})]})]}),jsxRuntime.jsxs("div",{style:R,children:[jsxRuntime.jsx("button",{type:"button",style:h,onClick:r,children:"Cancel"}),jsxRuntime.jsx("button",{type:"button",style:{...h,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:d,children:"Apply"})]})]})}):null}exports.TablePropertiesDialog=z;//# sourceMappingURL=TablePropertiesDialog-CUQXUBQN.cjs.map
2
+ //# sourceMappingURL=TablePropertiesDialog-CUQXUBQN.cjs.map