@eigenpal/docx-js-editor 0.0.22 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ClipboardManager-B1jZrC6h.d.cts → ClipboardManager-Bbo5MM_U.d.cts} +1 -1
- package/dist/{ClipboardManager-jqJVxB6g.d.ts → ClipboardManager-CR843H7H.d.ts} +1 -1
- package/dist/{DocumentAgent-CrbsDniO.d.ts → DocumentAgent-cHf96hwL.d.cts} +4 -2
- package/dist/{DocumentAgent-CnJ9AEl_.d.cts → DocumentAgent-lHtXgMFN.d.ts} +4 -2
- package/dist/PageSetupDialog-RLMYJ3BA.cjs +1 -0
- package/dist/PageSetupDialog-ZZTFPZKJ.js +1 -0
- package/dist/{agentApi-DfsWRyrP.d.cts → agentApi-DmDuQm0e.d.cts} +2 -0
- package/dist/{agentApi-DfsWRyrP.d.ts → agentApi-DmDuQm0e.d.ts} +2 -0
- package/dist/chunk-2JOQ7WKO.js +258 -0
- package/dist/{chunk-HT2Z33YM.cjs → chunk-3C2VHZX6.cjs} +4 -4
- package/dist/chunk-3X3LTNK4.js +26 -0
- package/dist/chunk-4VUZBV2S.js +1 -0
- package/dist/{chunk-TAF6KYDM.cjs → chunk-5ILXHRJS.cjs} +2 -2
- package/dist/{chunk-7KJ3YVDQ.js → chunk-6TUCNECX.js} +2 -2
- package/dist/chunk-C6ELWJWO.js +3 -0
- package/dist/chunk-I5YZ4MRV.cjs +3 -0
- package/dist/chunk-IA4LPH2A.cjs +1 -0
- package/dist/chunk-JIKVCUR6.js +9 -0
- package/dist/chunk-KL2RYY6G.cjs +9 -0
- package/dist/chunk-KR32M3S4.cjs +1 -0
- package/dist/chunk-PGEORVCG.js +59 -0
- package/dist/chunk-PIVLDW7B.cjs +26 -0
- package/dist/chunk-PUVSVHHB.cjs +59 -0
- package/dist/{chunk-32HMU2UV.js → chunk-R56SLH64.js} +1 -1
- package/dist/chunk-RHLMVYVZ.cjs +258 -0
- package/dist/chunk-SE5EN2QL.js +1 -0
- package/dist/{clipboard-DkfAv07F.d.cts → clipboard-Bj2X5pLO.d.cts} +1 -1
- package/dist/{clipboard-BE8E-szx.d.ts → clipboard-DriRE6eS.d.ts} +1 -1
- package/dist/{colorResolver-CYttioMe.d.ts → colorResolver-BTTqW66Q.d.ts} +4 -3
- package/dist/{colorResolver-Dr8kQZAQ.d.cts → colorResolver-yl7Xh_Qg.d.cts} +4 -3
- package/dist/core-plugins-reexport.cjs +1 -1
- package/dist/core-plugins-reexport.d.cts +4 -4
- package/dist/core-plugins-reexport.d.ts +4 -4
- package/dist/core-plugins-reexport.js +1 -1
- package/dist/core-reexport.cjs +1 -1
- package/dist/core-reexport.d.cts +10 -10
- package/dist/core-reexport.d.ts +10 -10
- package/dist/core-reexport.js +1 -1
- package/dist/{fontLoader-BsqQnB4v.d.ts → fontLoader-DQJOS1sb.d.ts} +1 -1
- package/dist/{fontLoader-DECXIoMr.d.cts → fontLoader-Daq8y8C2.d.cts} +1 -1
- package/dist/headless-reexport.cjs +2 -2
- package/dist/headless-reexport.d.cts +7 -7
- package/dist/headless-reexport.d.ts +7 -7
- package/dist/headless-reexport.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +11 -11
- package/dist/index.d.ts +11 -11
- package/dist/index.js +1 -1
- package/dist/mcp-reexport.cjs +3 -3
- package/dist/mcp-reexport.d.cts +2 -2
- package/dist/mcp-reexport.d.ts +2 -2
- package/dist/mcp-reexport.js +3 -3
- package/dist/{react-CAlVCYa4.d.cts → react-BYRZYSPG.d.cts} +20 -7
- package/dist/{react-C6bgHDFl.d.ts → react-Bj9uDtjg.d.ts} +20 -7
- package/dist/react.cjs +1 -1
- package/dist/react.d.cts +5 -5
- package/dist/react.d.ts +5 -5
- package/dist/react.js +1 -1
- package/dist/{registry-gRbkCooh.d.ts → registry-C2DPl-QW.d.ts} +1 -1
- package/dist/{registry-BU-FbHh-.d.cts → registry-CXGC344v.d.cts} +1 -1
- package/dist/styles.css +1 -1
- package/dist/{types-7wjInVMW.d.ts → types-BpokDLqL.d.ts} +1 -1
- package/dist/{types-DEEpBL9H.d.cts → types-COQvtZji.d.cts} +1 -1
- package/dist/ui.cjs +1 -1
- package/dist/ui.d.cts +9 -5
- package/dist/ui.d.ts +9 -5
- package/dist/ui.js +1 -1
- package/dist/{variableDetector-BXJaTkiB.d.ts → variableDetector-BYzE_RXw.d.ts} +1 -1
- package/dist/{variableDetector-B4oQJa2e.d.cts → variableDetector-C8ST_dnq.d.cts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-2Y6FLZ5Q.js +0 -3
- package/dist/chunk-6NDMKJIE.js +0 -9
- package/dist/chunk-6NYA53QC.cjs +0 -258
- package/dist/chunk-EH3NY2DQ.cjs +0 -26
- package/dist/chunk-FXJAIFPR.js +0 -59
- package/dist/chunk-GICVJSFJ.cjs +0 -9
- package/dist/chunk-JRRTZZ72.cjs +0 -1
- package/dist/chunk-P3AEZKQO.cjs +0 -3
- package/dist/chunk-Q7YYC75E.js +0 -258
- package/dist/chunk-UTWPV2I4.js +0 -26
- package/dist/chunk-Y6QBJGMO.cjs +0 -59
- package/dist/chunk-ZTVQA46Q.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Plugin } from 'prosemirror-state';
|
|
2
2
|
import { EditorView } from 'prosemirror-view';
|
|
3
3
|
import { Node } from 'prosemirror-model';
|
|
4
|
-
import { D as Document, e as Table, b as Run } from './agentApi-
|
|
4
|
+
import { D as Document, e as Table, b as Run } from './agentApi-DmDuQm0e.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Framework-Agnostic Plugin Interface for the DOCX Editor
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Plugin } from 'prosemirror-state';
|
|
2
2
|
import { EditorView } from 'prosemirror-view';
|
|
3
3
|
import { Node } from 'prosemirror-model';
|
|
4
|
-
import { D as Document, e as Table, b as Run } from './agentApi-
|
|
4
|
+
import { D as Document, e as Table, b as Run } from './agentApi-DmDuQm0e.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Framework-Agnostic Plugin Interface for the DOCX Editor
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { D as Document, T as TextFormatting, O as StyleInfo, h as AgentContext, P as Position, R as Range, w as ParagraphFormatting, A as AgentCommand } from './agentApi-
|
|
1
|
+
import { D as Document, T as TextFormatting, O as StyleInfo, h as AgentContext, P as Position, R as Range, w as ParagraphFormatting, A as AgentCommand } from './agentApi-DmDuQm0e.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Selective Save Module
|
|
5
5
|
*
|
|
6
6
|
* Orchestrates selective XML patching for the save flow.
|
|
7
7
|
* Serializes full document.xml, validates patch safety, builds patched XML,
|
|
8
|
-
* and calls
|
|
8
|
+
* and calls applyUpdatesToZip() to produce the final DOCX.
|
|
9
9
|
*
|
|
10
10
|
* Returns null on any failure, signaling the caller to fall back to full repack.
|
|
11
11
|
*/
|
|
@@ -20,6 +20,8 @@ interface SelectiveSaveOptions {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Attempt a selective save — patch only changed paragraphs in document.xml.
|
|
23
|
+
* Also updates comments, headers/footers, and core properties so that
|
|
24
|
+
* all document parts stay in sync even when only paragraphs are patched.
|
|
23
25
|
*
|
|
24
26
|
* Returns the saved ArrayBuffer, or null if selective save is not possible
|
|
25
27
|
* (caller should fall back to full repack).
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { D as Document, T as TextFormatting, O as StyleInfo, h as AgentContext, P as Position, R as Range, w as ParagraphFormatting, A as AgentCommand } from './agentApi-
|
|
1
|
+
import { D as Document, T as TextFormatting, O as StyleInfo, h as AgentContext, P as Position, R as Range, w as ParagraphFormatting, A as AgentCommand } from './agentApi-DmDuQm0e.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Selective Save Module
|
|
5
5
|
*
|
|
6
6
|
* Orchestrates selective XML patching for the save flow.
|
|
7
7
|
* Serializes full document.xml, validates patch safety, builds patched XML,
|
|
8
|
-
* and calls
|
|
8
|
+
* and calls applyUpdatesToZip() to produce the final DOCX.
|
|
9
9
|
*
|
|
10
10
|
* Returns null on any failure, signaling the caller to fall back to full repack.
|
|
11
11
|
*/
|
|
@@ -20,6 +20,8 @@ interface SelectiveSaveOptions {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Attempt a selective save — patch only changed paragraphs in document.xml.
|
|
23
|
+
* Also updates comments, headers/footers, and core properties so that
|
|
24
|
+
* all document parts stay in sync even when only paragraphs are patched.
|
|
23
25
|
*
|
|
24
26
|
* Returns the saved ArrayBuffer, or null if selective save is not possible
|
|
25
27
|
* (caller should fall back to full repack).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';require('./chunk-KR32M3S4.cjs'),require('./chunk-PCJ5ACUV.cjs');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var I=[{label:'Letter (8.5" \xD7 11")',width:12240,height:15840},{label:'A4 (8.27" \xD7 11.69")',width:11906,height:16838},{label:'Legal (8.5" \xD7 14")',width:12240,height:20160},{label:'A3 (11.69" \xD7 16.54")',width:16838,height:23811},{label:'A5 (5.83" \xD7 8.27")',width:8391,height:11906},{label:'B5 (6.93" \xD7 9.84")',width:9979,height:14175},{label:'Executive (7.25" \xD7 10.5")',width:10440,height:15120}];function v(i){return Math.round(i/1440*100)/100}function f(i){return Math.round(i*1440)}function O(i,a){let h=Math.min(i,a),n=Math.max(i,a);return I.findIndex(l=>Math.abs(l.width-h)<20&&Math.abs(l.height-n)<20)}var Z={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},q={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:14},A={fontSize:12,fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},c={display:"flex",alignItems:"center",gap:12},g={width:80,fontSize:13,color:"var(--doc-text-muted)"},b={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:13},W={...b},x={fontSize:11,color:"var(--doc-text-muted)",width:16},V={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"},N=12240,B=15840,s=1440;function ee({isOpen:i,onClose:a,onApply:h,currentProps:n}){let[l,y]=react.useState(N),[u,m]=react.useState(B),[p,M]=react.useState("portrait"),[C,R]=react.useState(s),[P,z]=react.useState(s),[w,k]=react.useState(s),[T,D]=react.useState(s);react.useEffect(()=>{if(!i)return;let e=n?.pageWidth||N,r=n?.pageHeight||B,U=n?.orientation||(e>r?"landscape":"portrait");y(e),m(r),M(U),R(n?.marginTop??s),z(n?.marginBottom??s),k(n?.marginLeft??s),D(n?.marginRight??s);},[i,n]);let F=react.useCallback(e=>{if(e<0)return;let r=I[e];p==="landscape"?(y(r.height),m(r.width)):(y(r.width),m(r.height));},[p]),G=react.useCallback(e=>{e!==p&&(M(e),y(u),m(l));},[p,l,u]),E=react.useCallback(()=>{h({pageWidth:l,pageHeight:u,orientation:p,marginTop:C,marginBottom:P,marginLeft:w,marginRight:T}),a();},[l,u,p,C,P,w,T,h,a]),K=react.useCallback(e=>{e.key==="Escape"&&a(),e.key==="Enter"&&E();},[a,E]);if(!i)return null;let L=O(l,u);return jsxRuntime.jsx("div",{style:Z,onClick:a,onKeyDown:K,children:jsxRuntime.jsxs("div",{style:q,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),role:"dialog","aria-label":"Page setup",children:[jsxRuntime.jsx("div",{style:J,children:"Page Setup"}),jsxRuntime.jsxs("div",{style:Q,children:[jsxRuntime.jsx("div",{style:A,children:"Page Size"}),jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:g,children:"Size"}),jsxRuntime.jsxs("select",{style:W,value:L,onChange:e=>F(Number(e.target.value)),children:[I.map((e,r)=>jsxRuntime.jsx("option",{value:r,children:e.label},e.label)),L<0&&jsxRuntime.jsx("option",{value:-1,children:"Custom"})]})]}),jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:g,children:"Orientation"}),jsxRuntime.jsxs("select",{style:W,value:p,onChange:e=>G(e.target.value),children:[jsxRuntime.jsx("option",{value:"portrait",children:"Portrait"}),jsxRuntime.jsx("option",{value:"landscape",children:"Landscape"})]})]}),jsxRuntime.jsx("div",{style:{...A,marginTop:4},children:"Margins"}),jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:g,children:"Top"}),jsxRuntime.jsx("input",{type:"number",style:b,min:0,max:10,step:.1,value:v(C),onChange:e=>R(f(Number(e.target.value)||0))}),jsxRuntime.jsx("span",{style:x,children:"in"})]}),jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:g,children:"Bottom"}),jsxRuntime.jsx("input",{type:"number",style:b,min:0,max:10,step:.1,value:v(P),onChange:e=>z(f(Number(e.target.value)||0))}),jsxRuntime.jsx("span",{style:x,children:"in"})]}),jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:g,children:"Left"}),jsxRuntime.jsx("input",{type:"number",style:b,min:0,max:10,step:.1,value:v(w),onChange:e=>k(f(Number(e.target.value)||0))}),jsxRuntime.jsx("span",{style:x,children:"in"})]}),jsxRuntime.jsxs("div",{style:c,children:[jsxRuntime.jsx("label",{style:g,children:"Right"}),jsxRuntime.jsx("input",{type:"number",style:b,min:0,max:10,step:.1,value:v(T),onChange:e=>D(f(Number(e.target.value)||0))}),jsxRuntime.jsx("span",{style:x,children:"in"})]})]}),jsxRuntime.jsxs("div",{style:V,children:[jsxRuntime.jsx("button",{type:"button",style:H,onClick:a,children:"Cancel"}),jsxRuntime.jsx("button",{type:"button",style:{...H,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:E,children:"Apply"})]})]})})}exports.PageSetupDialog=ee;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import'./chunk-SE5EN2QL.js';import'./chunk-H5NTJZO4.js';import {useState,useEffect,useCallback}from'react';import {jsx,jsxs}from'react/jsx-runtime';var I=[{label:'Letter (8.5" \xD7 11")',width:12240,height:15840},{label:'A4 (8.27" \xD7 11.69")',width:11906,height:16838},{label:'Legal (8.5" \xD7 14")',width:12240,height:20160},{label:'A3 (11.69" \xD7 16.54")',width:16838,height:23811},{label:'A5 (5.83" \xD7 8.27")',width:8391,height:11906},{label:'B5 (6.93" \xD7 9.84")',width:9979,height:14175},{label:'Executive (7.25" \xD7 10.5")',width:10440,height:15120}];function v(i){return Math.round(i/1440*100)/100}function f(i){return Math.round(i*1440)}function O(i,a){let h=Math.min(i,a),n=Math.max(i,a);return I.findIndex(l=>Math.abs(l.width-h)<20&&Math.abs(l.height-n)<20)}var Z={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},q={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:14},A={fontSize:12,fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},c={display:"flex",alignItems:"center",gap:12},g={width:80,fontSize:13,color:"var(--doc-text-muted)"},b={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:13},W={...b},x={fontSize:11,color:"var(--doc-text-muted)",width:16},V={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"},N=12240,B=15840,s=1440;function ee({isOpen:i,onClose:a,onApply:h,currentProps:n}){let[l,y]=useState(N),[u,m]=useState(B),[p,M]=useState("portrait"),[C,R]=useState(s),[P,z]=useState(s),[w,k]=useState(s),[T,D]=useState(s);useEffect(()=>{if(!i)return;let e=n?.pageWidth||N,r=n?.pageHeight||B,U=n?.orientation||(e>r?"landscape":"portrait");y(e),m(r),M(U),R(n?.marginTop??s),z(n?.marginBottom??s),k(n?.marginLeft??s),D(n?.marginRight??s);},[i,n]);let F=useCallback(e=>{if(e<0)return;let r=I[e];p==="landscape"?(y(r.height),m(r.width)):(y(r.width),m(r.height));},[p]),G=useCallback(e=>{e!==p&&(M(e),y(u),m(l));},[p,l,u]),E=useCallback(()=>{h({pageWidth:l,pageHeight:u,orientation:p,marginTop:C,marginBottom:P,marginLeft:w,marginRight:T}),a();},[l,u,p,C,P,w,T,h,a]),K=useCallback(e=>{e.key==="Escape"&&a(),e.key==="Enter"&&E();},[a,E]);if(!i)return null;let L=O(l,u);return jsx("div",{style:Z,onClick:a,onKeyDown:K,children:jsxs("div",{style:q,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),role:"dialog","aria-label":"Page setup",children:[jsx("div",{style:J,children:"Page Setup"}),jsxs("div",{style:Q,children:[jsx("div",{style:A,children:"Page Size"}),jsxs("div",{style:c,children:[jsx("label",{style:g,children:"Size"}),jsxs("select",{style:W,value:L,onChange:e=>F(Number(e.target.value)),children:[I.map((e,r)=>jsx("option",{value:r,children:e.label},e.label)),L<0&&jsx("option",{value:-1,children:"Custom"})]})]}),jsxs("div",{style:c,children:[jsx("label",{style:g,children:"Orientation"}),jsxs("select",{style:W,value:p,onChange:e=>G(e.target.value),children:[jsx("option",{value:"portrait",children:"Portrait"}),jsx("option",{value:"landscape",children:"Landscape"})]})]}),jsx("div",{style:{...A,marginTop:4},children:"Margins"}),jsxs("div",{style:c,children:[jsx("label",{style:g,children:"Top"}),jsx("input",{type:"number",style:b,min:0,max:10,step:.1,value:v(C),onChange:e=>R(f(Number(e.target.value)||0))}),jsx("span",{style:x,children:"in"})]}),jsxs("div",{style:c,children:[jsx("label",{style:g,children:"Bottom"}),jsx("input",{type:"number",style:b,min:0,max:10,step:.1,value:v(P),onChange:e=>z(f(Number(e.target.value)||0))}),jsx("span",{style:x,children:"in"})]}),jsxs("div",{style:c,children:[jsx("label",{style:g,children:"Left"}),jsx("input",{type:"number",style:b,min:0,max:10,step:.1,value:v(w),onChange:e=>k(f(Number(e.target.value)||0))}),jsx("span",{style:x,children:"in"})]}),jsxs("div",{style:c,children:[jsx("label",{style:g,children:"Right"}),jsx("input",{type:"number",style:b,min:0,max:10,step:.1,value:v(T),onChange:e=>D(f(Number(e.target.value)||0))}),jsx("span",{style:x,children:"in"})]})]}),jsxs("div",{style:V,children:[jsx("button",{type:"button",style:H,onClick:a,children:"Cancel"}),jsx("button",{type:"button",style:{...H,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:E,children:"Apply"})]})]})})}export{ee as PageSetupDialog};
|
|
@@ -824,6 +824,8 @@ interface Image {
|
|
|
824
824
|
padding?: ImagePadding;
|
|
825
825
|
/** Whether this is a decorative image */
|
|
826
826
|
decorative?: boolean;
|
|
827
|
+
/** Hyperlink URL for clickable image */
|
|
828
|
+
hlinkHref?: string;
|
|
827
829
|
/** Image outline/border */
|
|
828
830
|
outline?: ShapeOutline;
|
|
829
831
|
/** Image effects */
|
|
@@ -824,6 +824,8 @@ interface Image {
|
|
|
824
824
|
padding?: ImagePadding;
|
|
825
825
|
/** Whether this is a decorative image */
|
|
826
826
|
decorative?: boolean;
|
|
827
|
+
/** Hyperlink URL for clickable image */
|
|
828
|
+
hlinkHref?: string;
|
|
827
829
|
/** Image outline/border */
|
|
828
830
|
outline?: ShapeOutline;
|
|
829
831
|
/** Image effects */
|