@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.
- package/dist/FindReplaceDialog-K4GRE4JB.cjs +2 -0
- package/dist/FindReplaceDialog-K4GRE4JB.cjs.map +1 -0
- package/dist/{FindReplaceDialog-UMXCBBST.js → FindReplaceDialog-MMDEJORP.js} +2 -1
- package/dist/FindReplaceDialog-MMDEJORP.js.map +1 -0
- package/dist/{FootnotePropertiesDialog-TYQGPWPX.js → FootnotePropertiesDialog-HG4267LR.js} +2 -1
- package/dist/FootnotePropertiesDialog-HG4267LR.js.map +1 -0
- package/dist/{FootnotePropertiesDialog-OBQXOBJE.cjs → FootnotePropertiesDialog-V3YOIJCV.cjs} +2 -1
- package/dist/FootnotePropertiesDialog-V3YOIJCV.cjs.map +1 -0
- package/dist/{HyperlinkDialog-UOERZIBM.js → HyperlinkDialog-SCSX4RP7.js} +2 -1
- package/dist/HyperlinkDialog-SCSX4RP7.js.map +1 -0
- package/dist/HyperlinkDialog-YPKURBZK.cjs +2 -0
- package/dist/HyperlinkDialog-YPKURBZK.cjs.map +1 -0
- package/dist/{ImagePositionDialog-52FDANUK.js → ImagePositionDialog-CJYJ35PI.js} +2 -1
- package/dist/ImagePositionDialog-CJYJ35PI.js.map +1 -0
- package/dist/{ImagePositionDialog-ZK5WFBRC.cjs → ImagePositionDialog-IMVI7EXA.cjs} +2 -1
- package/dist/ImagePositionDialog-IMVI7EXA.cjs.map +1 -0
- package/dist/{ImagePropertiesDialog-YPSLPSF6.js → ImagePropertiesDialog-P7WN2ALR.js} +2 -1
- package/dist/ImagePropertiesDialog-P7WN2ALR.js.map +1 -0
- package/dist/{ImagePropertiesDialog-LU44RDIY.cjs → ImagePropertiesDialog-YS4KJRN7.cjs} +2 -1
- package/dist/ImagePropertiesDialog-YS4KJRN7.cjs.map +1 -0
- package/dist/{TablePropertiesDialog-KMOYHPGF.cjs → TablePropertiesDialog-CUQXUBQN.cjs} +2 -1
- package/dist/TablePropertiesDialog-CUQXUBQN.cjs.map +1 -0
- package/dist/{TablePropertiesDialog-OUUJAA7D.js → TablePropertiesDialog-ZHAYVHPZ.js} +2 -1
- package/dist/TablePropertiesDialog-ZHAYVHPZ.js.map +1 -0
- package/dist/{clipboard-BOocwmAM.d.ts → TableToolbar-RHX9L4h9.d.cts} +2 -125
- package/dist/{clipboard-Cx7cb3kX.d.cts → TableToolbar-RHX9L4h9.d.ts} +2 -125
- package/dist/chunk-7FEY3YWC.cjs +3 -0
- package/dist/chunk-7FEY3YWC.cjs.map +1 -0
- package/dist/chunk-AL62KQYJ.js +2 -0
- package/dist/chunk-AL62KQYJ.js.map +1 -0
- package/dist/{chunk-VTAS7VZ6.cjs → chunk-DJAEBZ33.cjs} +2 -1
- package/dist/chunk-DJAEBZ33.cjs.map +1 -0
- package/dist/{chunk-CTYOM6BE.js → chunk-M2T6XKT5.js} +2 -1
- package/dist/chunk-M2T6XKT5.js.map +1 -0
- package/dist/chunk-MXGYESPA.cjs +178 -0
- package/dist/chunk-MXGYESPA.cjs.map +1 -0
- package/dist/chunk-NMYD4OJZ.js +3 -0
- package/dist/chunk-NMYD4OJZ.js.map +1 -0
- package/dist/chunk-OD33FUTO.js +178 -0
- package/dist/chunk-OD33FUTO.js.map +1 -0
- package/dist/{chunk-PJVI53AH.js → chunk-Q6HUGWO6.js} +2 -1
- package/dist/chunk-Q6HUGWO6.js.map +1 -0
- package/dist/{chunk-XS2AQFMF.cjs → chunk-S26DZVRQ.cjs} +2 -1
- package/dist/chunk-S26DZVRQ.cjs.map +1 -0
- package/dist/chunk-V3MCDVZE.cjs +2 -0
- package/dist/chunk-V3MCDVZE.cjs.map +1 -0
- package/dist/{chunk-MLSHZVL7.js → chunk-VIEW4NAF.js} +6 -5
- package/dist/chunk-VIEW4NAF.js.map +1 -0
- package/dist/{chunk-OEOUMSWH.cjs → chunk-ZX4CSEL3.cjs} +6 -5
- package/dist/chunk-ZX4CSEL3.cjs.map +1 -0
- package/dist/core-plugins-reexport.cjs +2 -0
- package/dist/core-plugins-reexport.cjs.map +1 -0
- package/dist/core-plugins-reexport.d.cts +1 -0
- package/dist/core-plugins-reexport.d.ts +1 -0
- package/dist/core-plugins-reexport.js +2 -0
- package/dist/core-plugins-reexport.js.map +1 -0
- package/dist/core-reexport.cjs +2 -0
- package/dist/core-reexport.cjs.map +1 -0
- package/dist/core-reexport.d.cts +4 -0
- package/dist/core-reexport.d.ts +4 -0
- package/dist/core-reexport.js +2 -0
- package/dist/core-reexport.js.map +1 -0
- package/dist/headless-reexport.cjs +2 -0
- package/dist/headless-reexport.cjs.map +1 -0
- package/dist/headless-reexport.d.cts +1 -0
- package/dist/headless-reexport.d.ts +1 -0
- package/dist/headless-reexport.js +2 -0
- package/dist/headless-reexport.js.map +1 -0
- package/dist/index.cjs +10 -9
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +28 -257
- package/dist/index.d.ts +28 -257
- package/dist/index.js +10 -9
- package/dist/index.js.map +1 -0
- package/dist/mcp-reexport.cjs +2 -0
- package/dist/mcp-reexport.cjs.map +1 -0
- package/dist/mcp-reexport.d.cts +1 -0
- package/dist/mcp-reexport.d.ts +1 -0
- package/dist/mcp-reexport.js +2 -0
- package/dist/mcp-reexport.js.map +1 -0
- package/dist/react.cjs +2 -1
- package/dist/react.cjs.map +1 -0
- package/dist/react.d.cts +860 -9
- package/dist/react.d.ts +860 -9
- package/dist/react.js +2 -1
- package/dist/react.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/ui.cjs +2 -1
- package/dist/ui.cjs.map +1 -0
- package/dist/ui.d.cts +5 -3
- package/dist/ui.d.ts +5 -3
- package/dist/ui.js +2 -1
- package/dist/ui.js.map +1 -0
- package/package.json +28 -120
- package/LICENSE +0 -21
- package/README.md +0 -171
- package/dist/DocumentAgent-Ci6_T-XM.d.ts +0 -412
- package/dist/DocumentAgent-DEGFgYEN.d.cts +0 -412
- package/dist/FindReplaceDialog-46BE7Q2G.cjs +0 -1
- package/dist/HyperlinkDialog-22NH7ZLP.cjs +0 -1
- package/dist/agentApi-CbVUCZRu.d.cts +0 -2086
- package/dist/agentApi-CbVUCZRu.d.ts +0 -2086
- package/dist/chunk-24N3L4IL.cjs +0 -258
- package/dist/chunk-2ASOEN3V.js +0 -1
- package/dist/chunk-46OFHSPJ.cjs +0 -2
- package/dist/chunk-65OFYOHF.cjs +0 -58
- package/dist/chunk-6YFGCUHU.js +0 -4
- package/dist/chunk-DYQUXFE5.cjs +0 -1
- package/dist/chunk-EMKABJPH.js +0 -1
- package/dist/chunk-ESI4BSBF.js +0 -1
- package/dist/chunk-FYAWM7MP.cjs +0 -1
- package/dist/chunk-GLFFXY2X.js +0 -258
- package/dist/chunk-ITWEFKGQ.cjs +0 -1
- package/dist/chunk-JKN7TNPA.js +0 -12
- package/dist/chunk-KESNGXGO.js +0 -1
- package/dist/chunk-L34XFLQZ.cjs +0 -1
- package/dist/chunk-NO7WUK5E.cjs +0 -12
- package/dist/chunk-NT2REEAA.cjs +0 -1
- package/dist/chunk-O7QVCJN6.cjs +0 -4
- package/dist/chunk-OW5H5DNE.cjs +0 -1
- package/dist/chunk-OWMXCVKB.js +0 -1
- package/dist/chunk-PXC7ARQB.cjs +0 -1
- package/dist/chunk-R5SKERM2.js +0 -1
- package/dist/chunk-RM3ITJ2H.cjs +0 -10
- package/dist/chunk-SF53KLDZ.cjs +0 -1
- package/dist/chunk-TOI5W3HK.js +0 -8
- package/dist/chunk-UAVOWAIF.cjs +0 -8
- package/dist/chunk-ULNHBTYA.js +0 -2
- package/dist/chunk-UXXV4GT6.js +0 -10
- package/dist/chunk-VOWKSURW.cjs +0 -1
- package/dist/chunk-WFWLPKQA.js +0 -1
- package/dist/chunk-WFYRA2TH.js +0 -1
- package/dist/chunk-YMXKVLTU.js +0 -58
- package/dist/chunk-ZDYHAYN6.js +0 -1
- package/dist/colorResolver-CIDiSPWd.d.cts +0 -618
- package/dist/colorResolver-KXbUgzWC.d.ts +0 -618
- package/dist/core-plugins.cjs +0 -1
- package/dist/core-plugins.d.cts +0 -31
- package/dist/core-plugins.d.ts +0 -31
- package/dist/core-plugins.js +0 -1
- package/dist/core.cjs +0 -1
- package/dist/core.d.cts +0 -23
- package/dist/core.d.ts +0 -23
- package/dist/core.js +0 -1
- package/dist/executor-ITYZTNSH.cjs +0 -1
- package/dist/executor-TC7CLATE.js +0 -1
- package/dist/headless.cjs +0 -4
- package/dist/headless.d.cts +0 -195
- package/dist/headless.d.ts +0 -195
- package/dist/headless.js +0 -4
- package/dist/index.css +0 -1
- package/dist/insertOperations-CzB5b-Of.d.ts +0 -176
- package/dist/insertOperations-DKVmCV32.d.cts +0 -176
- package/dist/mcp-cli.js +0 -136
- package/dist/mcp.cjs +0 -16
- package/dist/mcp.d.cts +0 -156
- package/dist/mcp.d.ts +0 -156
- package/dist/mcp.js +0 -16
- package/dist/processTemplate-525HZL4S.cjs +0 -1
- package/dist/processTemplate-RJN6452W.js +0 -1
- package/dist/react-BZxD04XV.d.ts +0 -1350
- package/dist/react-D8eAYckC.d.cts +0 -1350
- package/dist/react.css +0 -1
- package/dist/registry-D4tvj9f3.d.ts +0 -165
- package/dist/registry-ngv6Bumt.d.cts +0 -165
- package/dist/selectionRects-PQEUEW35.cjs +0 -1
- package/dist/selectionRects-QAG5RSHD.js +0 -1
- package/dist/types-D96elyJF.d.cts +0 -310
- package/dist/types-xMzSPT4i.d.ts +0 -310
- package/dist/variableDetector-CPxKo9jP.d.cts +0 -173
- package/dist/variableDetector-DeM1N-_L.d.ts +0 -173
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/dialogs/TablePropertiesDialog.tsx"],"names":["overlayStyle","dialogStyle","headerStyle","bodyStyle","rowStyle","labelStyle","inputStyle","selectStyle","footerStyle","btnStyle","TablePropertiesDialog","isOpen","onClose","onApply","currentProps","width","setWidth","useState","widthType","setWidthType","justification","setJustification","useEffect","handleApply","useCallback","props","handleKeyDown","e","jsx","jsxs"],"mappings":"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","file":"TablePropertiesDialog-CUQXUBQN.cjs","sourcesContent":["/**\n * Table Properties Dialog\n *\n * Modal for editing table-level settings:\n * - Preferred width (twips or percentage)\n * - Alignment (left, center, right)\n */\n\nimport React, { useState, useCallback, useEffect } from 'react';\nimport type { CSSProperties } from 'react';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface TableProperties {\n width?: number | null;\n widthType?: string | null;\n justification?: 'left' | 'center' | 'right' | null;\n}\n\nexport interface TablePropertiesDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (props: TableProperties) => void;\n currentProps?: {\n width?: number;\n widthType?: string;\n justification?: string;\n };\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: 360,\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: 12,\n};\n\nconst rowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: 12,\n};\n\nconst labelStyle: CSSProperties = {\n width: 80,\n fontSize: 13,\n color: 'var(--doc-text-muted)',\n};\n\nconst inputStyle: CSSProperties = {\n flex: 1,\n padding: '6px 8px',\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n fontSize: 13,\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 TablePropertiesDialog({\n isOpen,\n onClose,\n onApply,\n currentProps,\n}: TablePropertiesDialogProps): React.ReactElement | null {\n const [width, setWidth] = useState<number>(currentProps?.width || 0);\n const [widthType, setWidthType] = useState<string>(currentProps?.widthType || 'auto');\n const [justification, setJustification] = useState<string>(currentProps?.justification || 'left');\n\n useEffect(() => {\n if (isOpen) {\n setWidth(currentProps?.width || 0);\n setWidthType(currentProps?.widthType || 'auto');\n setJustification(currentProps?.justification || 'left');\n }\n }, [isOpen, currentProps]);\n\n const handleApply = useCallback(() => {\n const props: TableProperties = {};\n if (widthType === 'auto') {\n props.width = null;\n props.widthType = 'auto';\n } else {\n props.width = width;\n props.widthType = widthType;\n }\n props.justification = justification as 'left' | 'center' | 'right';\n onApply(props);\n onClose();\n }, [width, widthType, justification, onApply, onClose]);\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=\"Table properties\"\n >\n <div style={headerStyle}>Table Properties</div>\n\n <div style={bodyStyle}>\n {/* Width type */}\n <div style={rowStyle}>\n <label style={labelStyle}>Width type</label>\n <select\n style={selectStyle}\n value={widthType}\n onChange={(e) => setWidthType(e.target.value)}\n >\n <option value=\"auto\">Auto</option>\n <option value=\"dxa\">Fixed (twips)</option>\n <option value=\"pct\">Percentage</option>\n </select>\n </div>\n\n {/* Width value */}\n {widthType !== 'auto' && (\n <div style={rowStyle}>\n <label style={labelStyle}>Width</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n step={widthType === 'pct' ? 5 : 100}\n value={width}\n onChange={(e) => setWidth(Number(e.target.value) || 0)}\n />\n <span style={{ fontSize: 11, color: 'var(--doc-text-muted)' }}>\n {widthType === 'pct' ? '(50ths of %)' : 'tw'}\n </span>\n </div>\n )}\n\n {/* Alignment */}\n <div style={rowStyle}>\n <label style={labelStyle}>Alignment</label>\n <select\n style={selectStyle}\n value={justification}\n onChange={(e) => setJustification(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 </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-
|
|
1
|
+
import'./chunk-AL62KQYJ.js';import {useState,useEffect,useCallback}from'react';import {jsx,jsxs}from'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]=useState(i?.width||0),[l,f]=useState(i?.widthType||"auto"),[p,g]=useState(i?.justification||"left");useEffect(()=>{n&&(b(i?.width||0),f(i?.widthType||"auto"),g(i?.justification||"left"));},[n,i]);let d=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=useCallback(t=>{t.key==="Escape"&&r(),t.key==="Enter"&&d();},[r,d]);return n?jsx("div",{style:C,onClick:r,onKeyDown:w,children:jsxs("div",{style:P,onClick:t=>t.stopPropagation(),role:"dialog","aria-label":"Table properties",children:[jsx("div",{style:T,children:"Table Properties"}),jsxs("div",{style:k,children:[jsxs("div",{style:c,children:[jsx("label",{style:u,children:"Width type"}),jsxs("select",{style:S,value:l,onChange:t=>f(t.target.value),children:[jsx("option",{value:"auto",children:"Auto"}),jsx("option",{value:"dxa",children:"Fixed (twips)"}),jsx("option",{value:"pct",children:"Percentage"})]})]}),l!=="auto"&&jsxs("div",{style:c,children:[jsx("label",{style:u,children:"Width"}),jsx("input",{type:"number",style:x,min:0,step:l==="pct"?5:100,value:a,onChange:t=>b(Number(t.target.value)||0)}),jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted)"},children:l==="pct"?"(50ths of %)":"tw"})]}),jsxs("div",{style:c,children:[jsx("label",{style:u,children:"Alignment"}),jsxs("select",{style:S,value:p,onChange:t=>g(t.target.value),children:[jsx("option",{value:"left",children:"Left"}),jsx("option",{value:"center",children:"Center"}),jsx("option",{value:"right",children:"Right"})]})]})]}),jsxs("div",{style:R,children:[jsx("button",{type:"button",style:h,onClick:r,children:"Cancel"}),jsx("button",{type:"button",style:{...h,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:d,children:"Apply"})]})]})}):null}export{z as TablePropertiesDialog};//# sourceMappingURL=TablePropertiesDialog-ZHAYVHPZ.js.map
|
|
2
|
+
//# sourceMappingURL=TablePropertiesDialog-ZHAYVHPZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/dialogs/TablePropertiesDialog.tsx"],"names":["overlayStyle","dialogStyle","headerStyle","bodyStyle","rowStyle","labelStyle","inputStyle","selectStyle","footerStyle","btnStyle","TablePropertiesDialog","isOpen","onClose","onApply","currentProps","width","setWidth","useState","widthType","setWidthType","justification","setJustification","useEffect","handleApply","useCallback","props","handleKeyDown","e","jsx","jsxs"],"mappings":"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","file":"TablePropertiesDialog-ZHAYVHPZ.js","sourcesContent":["/**\n * Table Properties Dialog\n *\n * Modal for editing table-level settings:\n * - Preferred width (twips or percentage)\n * - Alignment (left, center, right)\n */\n\nimport React, { useState, useCallback, useEffect } from 'react';\nimport type { CSSProperties } from 'react';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\nexport interface TableProperties {\n width?: number | null;\n widthType?: string | null;\n justification?: 'left' | 'center' | 'right' | null;\n}\n\nexport interface TablePropertiesDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (props: TableProperties) => void;\n currentProps?: {\n width?: number;\n widthType?: string;\n justification?: string;\n };\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: 360,\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: 12,\n};\n\nconst rowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: 12,\n};\n\nconst labelStyle: CSSProperties = {\n width: 80,\n fontSize: 13,\n color: 'var(--doc-text-muted)',\n};\n\nconst inputStyle: CSSProperties = {\n flex: 1,\n padding: '6px 8px',\n border: '1px solid var(--doc-border)',\n borderRadius: 4,\n fontSize: 13,\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 TablePropertiesDialog({\n isOpen,\n onClose,\n onApply,\n currentProps,\n}: TablePropertiesDialogProps): React.ReactElement | null {\n const [width, setWidth] = useState<number>(currentProps?.width || 0);\n const [widthType, setWidthType] = useState<string>(currentProps?.widthType || 'auto');\n const [justification, setJustification] = useState<string>(currentProps?.justification || 'left');\n\n useEffect(() => {\n if (isOpen) {\n setWidth(currentProps?.width || 0);\n setWidthType(currentProps?.widthType || 'auto');\n setJustification(currentProps?.justification || 'left');\n }\n }, [isOpen, currentProps]);\n\n const handleApply = useCallback(() => {\n const props: TableProperties = {};\n if (widthType === 'auto') {\n props.width = null;\n props.widthType = 'auto';\n } else {\n props.width = width;\n props.widthType = widthType;\n }\n props.justification = justification as 'left' | 'center' | 'right';\n onApply(props);\n onClose();\n }, [width, widthType, justification, onApply, onClose]);\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=\"Table properties\"\n >\n <div style={headerStyle}>Table Properties</div>\n\n <div style={bodyStyle}>\n {/* Width type */}\n <div style={rowStyle}>\n <label style={labelStyle}>Width type</label>\n <select\n style={selectStyle}\n value={widthType}\n onChange={(e) => setWidthType(e.target.value)}\n >\n <option value=\"auto\">Auto</option>\n <option value=\"dxa\">Fixed (twips)</option>\n <option value=\"pct\">Percentage</option>\n </select>\n </div>\n\n {/* Width value */}\n {widthType !== 'auto' && (\n <div style={rowStyle}>\n <label style={labelStyle}>Width</label>\n <input\n type=\"number\"\n style={inputStyle}\n min={0}\n step={widthType === 'pct' ? 5 : 100}\n value={width}\n onChange={(e) => setWidth(Number(e.target.value) || 0)}\n />\n <span style={{ fontSize: 11, color: 'var(--doc-text-muted)' }}>\n {widthType === 'pct' ? '(50ths of %)' : 'tw'}\n </span>\n </div>\n )}\n\n {/* Alignment */}\n <div style={rowStyle}>\n <label style={labelStyle}>Alignment</label>\n <select\n style={selectStyle}\n value={justification}\n onChange={(e) => setJustification(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 </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,5 +1,5 @@
|
|
|
1
1
|
import React__default, { CSSProperties, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Table, TableCell } from '@eigenpal/docx-core/types/document';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* PageNumberIndicator Component
|
|
@@ -413,127 +413,4 @@ declare function mergeCells(table: Table, selection: TableSelection): Table;
|
|
|
413
413
|
*/
|
|
414
414
|
declare function splitCell(table: Table, rowIndex: number, columnIndex: number): Table;
|
|
415
415
|
|
|
416
|
-
|
|
417
|
-
* Clipboard utilities for copy/paste with formatting
|
|
418
|
-
*
|
|
419
|
-
* Handles:
|
|
420
|
-
* - Copy: puts formatted HTML and plain text on clipboard
|
|
421
|
-
* - Paste: reads HTML clipboard, converts to runs with formatting
|
|
422
|
-
* - Handles paste from Word (cleans up Word HTML)
|
|
423
|
-
* - Ctrl+C, Ctrl+V, Ctrl+X keyboard shortcuts
|
|
424
|
-
*/
|
|
425
|
-
|
|
426
|
-
/**
|
|
427
|
-
* Clipboard content format
|
|
428
|
-
*/
|
|
429
|
-
interface ClipboardContent {
|
|
430
|
-
/** Plain text representation */
|
|
431
|
-
plainText: string;
|
|
432
|
-
/** HTML representation */
|
|
433
|
-
html: string;
|
|
434
|
-
/** Internal format (JSON) for preserving full formatting */
|
|
435
|
-
internal?: string;
|
|
436
|
-
}
|
|
437
|
-
/**
|
|
438
|
-
* Parsed clipboard content
|
|
439
|
-
*/
|
|
440
|
-
interface ParsedClipboardContent {
|
|
441
|
-
/** Runs parsed from clipboard */
|
|
442
|
-
runs: Run[];
|
|
443
|
-
/** Whether content came from Word */
|
|
444
|
-
fromWord: boolean;
|
|
445
|
-
/** Whether content came from our editor */
|
|
446
|
-
fromEditor: boolean;
|
|
447
|
-
/** Original plain text */
|
|
448
|
-
plainText: string;
|
|
449
|
-
}
|
|
450
|
-
/**
|
|
451
|
-
* Options for clipboard operations
|
|
452
|
-
*/
|
|
453
|
-
interface ClipboardOptions {
|
|
454
|
-
/** Whether to include formatting in copy */
|
|
455
|
-
includeFormatting?: boolean;
|
|
456
|
-
/** Whether to clean Word-specific formatting */
|
|
457
|
-
cleanWordFormatting?: boolean;
|
|
458
|
-
/** Callback for handling errors */
|
|
459
|
-
onError?: (error: Error) => void;
|
|
460
|
-
}
|
|
461
|
-
/**
|
|
462
|
-
* Custom MIME type for internal clipboard format
|
|
463
|
-
*/
|
|
464
|
-
declare const INTERNAL_CLIPBOARD_TYPE = "application/x-docx-editor";
|
|
465
|
-
/**
|
|
466
|
-
* Standard clipboard MIME types
|
|
467
|
-
*/
|
|
468
|
-
declare const CLIPBOARD_TYPES: {
|
|
469
|
-
readonly HTML: "text/html";
|
|
470
|
-
readonly PLAIN: "text/plain";
|
|
471
|
-
};
|
|
472
|
-
/**
|
|
473
|
-
* Copy runs to clipboard with formatting
|
|
474
|
-
*/
|
|
475
|
-
declare function copyRuns(runs: Run[], options?: ClipboardOptions): Promise<boolean>;
|
|
476
|
-
/**
|
|
477
|
-
* Copy paragraphs to clipboard with formatting
|
|
478
|
-
*/
|
|
479
|
-
declare function copyParagraphs(paragraphs: Paragraph[], options?: ClipboardOptions): Promise<boolean>;
|
|
480
|
-
/**
|
|
481
|
-
* Convert runs to clipboard content (HTML and plain text)
|
|
482
|
-
*/
|
|
483
|
-
declare function runsToClipboardContent(runs: Run[], includeFormatting?: boolean): ClipboardContent;
|
|
484
|
-
/**
|
|
485
|
-
* Convert paragraphs to clipboard content
|
|
486
|
-
*/
|
|
487
|
-
declare function paragraphsToClipboardContent(paragraphs: Paragraph[], includeFormatting?: boolean): ClipboardContent;
|
|
488
|
-
/**
|
|
489
|
-
* Write content to clipboard
|
|
490
|
-
*/
|
|
491
|
-
declare function writeToClipboard(content: ClipboardContent): Promise<boolean>;
|
|
492
|
-
/**
|
|
493
|
-
* Read content from clipboard
|
|
494
|
-
*/
|
|
495
|
-
declare function readFromClipboard(options?: ClipboardOptions): Promise<ParsedClipboardContent | null>;
|
|
496
|
-
/**
|
|
497
|
-
* Handle paste event
|
|
498
|
-
*/
|
|
499
|
-
declare function handlePasteEvent(event: ClipboardEvent, options?: ClipboardOptions): ParsedClipboardContent | null;
|
|
500
|
-
/**
|
|
501
|
-
* Parse HTML from clipboard
|
|
502
|
-
*/
|
|
503
|
-
declare function parseClipboardHtml(html: string, plainText: string, cleanWordFormatting?: boolean): ParsedClipboardContent;
|
|
504
|
-
/**
|
|
505
|
-
* Check if HTML is from Microsoft Word
|
|
506
|
-
*/
|
|
507
|
-
declare function isWordHtml(html: string): boolean;
|
|
508
|
-
/**
|
|
509
|
-
* Check if HTML is from our editor
|
|
510
|
-
*/
|
|
511
|
-
declare function isEditorHtml(html: string): boolean;
|
|
512
|
-
/**
|
|
513
|
-
* Clean Microsoft Word HTML
|
|
514
|
-
*/
|
|
515
|
-
declare function cleanWordHtml(html: string): string;
|
|
516
|
-
/**
|
|
517
|
-
* Convert HTML to runs
|
|
518
|
-
*/
|
|
519
|
-
declare function htmlToRuns(html: string, plainTextFallback: string): Run[];
|
|
520
|
-
/**
|
|
521
|
-
* Create clipboard keyboard handlers for an editor
|
|
522
|
-
*/
|
|
523
|
-
declare function createClipboardHandlers(options: {
|
|
524
|
-
onCopy?: () => {
|
|
525
|
-
runs: Run[];
|
|
526
|
-
} | null;
|
|
527
|
-
onCut?: () => {
|
|
528
|
-
runs: Run[];
|
|
529
|
-
} | null;
|
|
530
|
-
onPaste?: (content: ParsedClipboardContent) => void;
|
|
531
|
-
clipboardOptions?: ClipboardOptions;
|
|
532
|
-
}): {
|
|
533
|
-
handleCopy: (event: ClipboardEvent) => Promise<void>;
|
|
534
|
-
handleCut: (event: ClipboardEvent) => Promise<void>;
|
|
535
|
-
handlePaste: (event: ClipboardEvent) => void;
|
|
536
|
-
handleKeyDown: (event: KeyboardEvent) => Promise<void>;
|
|
537
|
-
};
|
|
538
|
-
|
|
539
|
-
export { openPrintWindow as $, copyRuns as A, createClipboardHandlers as B, CLIPBOARD_TYPES as C, createPageFormat as D, createTableContext as E, deleteColumn as F, deleteRow as G, formatPageOrdinal as H, INTERNAL_CLIPBOARD_TYPE as I, formatPageRange$1 as J, formatPageRange as K, getCellAt as L, getColumnCount as M, getDefaultPrintOptions as N, getNavigationShortcuts as O, type PageIndicatorPosition as P, getPageProgress as Q, handlePasteEvent as R, htmlToRuns as S, type TableAction as T, isEditorHtml as U, isFirstPage as V, isLastPage as W, isPrintSupported as X, isValidPageNumber as Y, isWordHtml as Z, mergeCells as _, type ClipboardContent as a, paragraphsToClipboardContent as a0, parseClipboardHtml as a1, parsePageInput as a2, parsePageRange as a3, readFromClipboard as a4, runsToClipboardContent as a5, splitCell as a6, triggerPrint as a7, writeToClipboard as a8, type ClipboardOptions as b, type PageIndicatorVariant as c, PageNavigator as d, type PageNavigatorPosition as e, type PageNavigatorProps as f, type PageNavigatorVariant as g, PageNumberIndicator as h, type PageNumberIndicatorProps as i, type ParsedClipboardContent as j, PrintButton as k, type PrintButtonProps as l, type PrintOptions as m, PrintStyles as n, type TableContext as o, type TableSelection as p, TableToolbar as q, type TableToolbarProps as r, addColumn as s, addRow as t, calculateProgress as u, calculateScrollToPage as v, calculateVisiblePage as w, clampPageNumber as x, cleanWordHtml as y, copyParagraphs as z };
|
|
416
|
+
export { formatPageRange$1 as A, formatPageRange as B, getCellAt as C, getColumnCount as D, getDefaultPrintOptions as E, getNavigationShortcuts as F, getPageProgress as G, isFirstPage as H, isLastPage as I, isPrintSupported as J, isValidPageNumber as K, mergeCells as L, openPrintWindow as M, parsePageInput as N, parsePageRange as O, type PageIndicatorPosition as P, splitCell as Q, triggerPrint as R, type TableAction as T, type PageIndicatorVariant as a, PageNavigator as b, type PageNavigatorPosition as c, type PageNavigatorProps as d, type PageNavigatorVariant as e, PageNumberIndicator as f, type PageNumberIndicatorProps as g, PrintButton as h, type PrintButtonProps as i, type PrintOptions as j, PrintStyles as k, type TableContext as l, type TableSelection as m, TableToolbar as n, type TableToolbarProps as o, addColumn as p, addRow as q, calculateProgress as r, calculateScrollToPage as s, calculateVisiblePage as t, clampPageNumber as u, createPageFormat as v, createTableContext as w, deleteColumn as x, deleteRow as y, formatPageOrdinal as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React__default, { CSSProperties, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Table, TableCell } from '@eigenpal/docx-core/types/document';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* PageNumberIndicator Component
|
|
@@ -413,127 +413,4 @@ declare function mergeCells(table: Table, selection: TableSelection): Table;
|
|
|
413
413
|
*/
|
|
414
414
|
declare function splitCell(table: Table, rowIndex: number, columnIndex: number): Table;
|
|
415
415
|
|
|
416
|
-
|
|
417
|
-
* Clipboard utilities for copy/paste with formatting
|
|
418
|
-
*
|
|
419
|
-
* Handles:
|
|
420
|
-
* - Copy: puts formatted HTML and plain text on clipboard
|
|
421
|
-
* - Paste: reads HTML clipboard, converts to runs with formatting
|
|
422
|
-
* - Handles paste from Word (cleans up Word HTML)
|
|
423
|
-
* - Ctrl+C, Ctrl+V, Ctrl+X keyboard shortcuts
|
|
424
|
-
*/
|
|
425
|
-
|
|
426
|
-
/**
|
|
427
|
-
* Clipboard content format
|
|
428
|
-
*/
|
|
429
|
-
interface ClipboardContent {
|
|
430
|
-
/** Plain text representation */
|
|
431
|
-
plainText: string;
|
|
432
|
-
/** HTML representation */
|
|
433
|
-
html: string;
|
|
434
|
-
/** Internal format (JSON) for preserving full formatting */
|
|
435
|
-
internal?: string;
|
|
436
|
-
}
|
|
437
|
-
/**
|
|
438
|
-
* Parsed clipboard content
|
|
439
|
-
*/
|
|
440
|
-
interface ParsedClipboardContent {
|
|
441
|
-
/** Runs parsed from clipboard */
|
|
442
|
-
runs: Run[];
|
|
443
|
-
/** Whether content came from Word */
|
|
444
|
-
fromWord: boolean;
|
|
445
|
-
/** Whether content came from our editor */
|
|
446
|
-
fromEditor: boolean;
|
|
447
|
-
/** Original plain text */
|
|
448
|
-
plainText: string;
|
|
449
|
-
}
|
|
450
|
-
/**
|
|
451
|
-
* Options for clipboard operations
|
|
452
|
-
*/
|
|
453
|
-
interface ClipboardOptions {
|
|
454
|
-
/** Whether to include formatting in copy */
|
|
455
|
-
includeFormatting?: boolean;
|
|
456
|
-
/** Whether to clean Word-specific formatting */
|
|
457
|
-
cleanWordFormatting?: boolean;
|
|
458
|
-
/** Callback for handling errors */
|
|
459
|
-
onError?: (error: Error) => void;
|
|
460
|
-
}
|
|
461
|
-
/**
|
|
462
|
-
* Custom MIME type for internal clipboard format
|
|
463
|
-
*/
|
|
464
|
-
declare const INTERNAL_CLIPBOARD_TYPE = "application/x-docx-editor";
|
|
465
|
-
/**
|
|
466
|
-
* Standard clipboard MIME types
|
|
467
|
-
*/
|
|
468
|
-
declare const CLIPBOARD_TYPES: {
|
|
469
|
-
readonly HTML: "text/html";
|
|
470
|
-
readonly PLAIN: "text/plain";
|
|
471
|
-
};
|
|
472
|
-
/**
|
|
473
|
-
* Copy runs to clipboard with formatting
|
|
474
|
-
*/
|
|
475
|
-
declare function copyRuns(runs: Run[], options?: ClipboardOptions): Promise<boolean>;
|
|
476
|
-
/**
|
|
477
|
-
* Copy paragraphs to clipboard with formatting
|
|
478
|
-
*/
|
|
479
|
-
declare function copyParagraphs(paragraphs: Paragraph[], options?: ClipboardOptions): Promise<boolean>;
|
|
480
|
-
/**
|
|
481
|
-
* Convert runs to clipboard content (HTML and plain text)
|
|
482
|
-
*/
|
|
483
|
-
declare function runsToClipboardContent(runs: Run[], includeFormatting?: boolean): ClipboardContent;
|
|
484
|
-
/**
|
|
485
|
-
* Convert paragraphs to clipboard content
|
|
486
|
-
*/
|
|
487
|
-
declare function paragraphsToClipboardContent(paragraphs: Paragraph[], includeFormatting?: boolean): ClipboardContent;
|
|
488
|
-
/**
|
|
489
|
-
* Write content to clipboard
|
|
490
|
-
*/
|
|
491
|
-
declare function writeToClipboard(content: ClipboardContent): Promise<boolean>;
|
|
492
|
-
/**
|
|
493
|
-
* Read content from clipboard
|
|
494
|
-
*/
|
|
495
|
-
declare function readFromClipboard(options?: ClipboardOptions): Promise<ParsedClipboardContent | null>;
|
|
496
|
-
/**
|
|
497
|
-
* Handle paste event
|
|
498
|
-
*/
|
|
499
|
-
declare function handlePasteEvent(event: ClipboardEvent, options?: ClipboardOptions): ParsedClipboardContent | null;
|
|
500
|
-
/**
|
|
501
|
-
* Parse HTML from clipboard
|
|
502
|
-
*/
|
|
503
|
-
declare function parseClipboardHtml(html: string, plainText: string, cleanWordFormatting?: boolean): ParsedClipboardContent;
|
|
504
|
-
/**
|
|
505
|
-
* Check if HTML is from Microsoft Word
|
|
506
|
-
*/
|
|
507
|
-
declare function isWordHtml(html: string): boolean;
|
|
508
|
-
/**
|
|
509
|
-
* Check if HTML is from our editor
|
|
510
|
-
*/
|
|
511
|
-
declare function isEditorHtml(html: string): boolean;
|
|
512
|
-
/**
|
|
513
|
-
* Clean Microsoft Word HTML
|
|
514
|
-
*/
|
|
515
|
-
declare function cleanWordHtml(html: string): string;
|
|
516
|
-
/**
|
|
517
|
-
* Convert HTML to runs
|
|
518
|
-
*/
|
|
519
|
-
declare function htmlToRuns(html: string, plainTextFallback: string): Run[];
|
|
520
|
-
/**
|
|
521
|
-
* Create clipboard keyboard handlers for an editor
|
|
522
|
-
*/
|
|
523
|
-
declare function createClipboardHandlers(options: {
|
|
524
|
-
onCopy?: () => {
|
|
525
|
-
runs: Run[];
|
|
526
|
-
} | null;
|
|
527
|
-
onCut?: () => {
|
|
528
|
-
runs: Run[];
|
|
529
|
-
} | null;
|
|
530
|
-
onPaste?: (content: ParsedClipboardContent) => void;
|
|
531
|
-
clipboardOptions?: ClipboardOptions;
|
|
532
|
-
}): {
|
|
533
|
-
handleCopy: (event: ClipboardEvent) => Promise<void>;
|
|
534
|
-
handleCut: (event: ClipboardEvent) => Promise<void>;
|
|
535
|
-
handlePaste: (event: ClipboardEvent) => void;
|
|
536
|
-
handleKeyDown: (event: KeyboardEvent) => Promise<void>;
|
|
537
|
-
};
|
|
538
|
-
|
|
539
|
-
export { openPrintWindow as $, copyRuns as A, createClipboardHandlers as B, CLIPBOARD_TYPES as C, createPageFormat as D, createTableContext as E, deleteColumn as F, deleteRow as G, formatPageOrdinal as H, INTERNAL_CLIPBOARD_TYPE as I, formatPageRange$1 as J, formatPageRange as K, getCellAt as L, getColumnCount as M, getDefaultPrintOptions as N, getNavigationShortcuts as O, type PageIndicatorPosition as P, getPageProgress as Q, handlePasteEvent as R, htmlToRuns as S, type TableAction as T, isEditorHtml as U, isFirstPage as V, isLastPage as W, isPrintSupported as X, isValidPageNumber as Y, isWordHtml as Z, mergeCells as _, type ClipboardContent as a, paragraphsToClipboardContent as a0, parseClipboardHtml as a1, parsePageInput as a2, parsePageRange as a3, readFromClipboard as a4, runsToClipboardContent as a5, splitCell as a6, triggerPrint as a7, writeToClipboard as a8, type ClipboardOptions as b, type PageIndicatorVariant as c, PageNavigator as d, type PageNavigatorPosition as e, type PageNavigatorProps as f, type PageNavigatorVariant as g, PageNumberIndicator as h, type PageNumberIndicatorProps as i, type ParsedClipboardContent as j, PrintButton as k, type PrintButtonProps as l, type PrintOptions as m, PrintStyles as n, type TableContext as o, type TableSelection as p, TableToolbar as q, type TableToolbarProps as r, addColumn as s, addRow as t, calculateProgress as u, calculateScrollToPage as v, calculateVisiblePage as w, clampPageNumber as x, cleanWordHtml as y, copyParagraphs as z };
|
|
416
|
+
export { formatPageRange$1 as A, formatPageRange as B, getCellAt as C, getColumnCount as D, getDefaultPrintOptions as E, getNavigationShortcuts as F, getPageProgress as G, isFirstPage as H, isLastPage as I, isPrintSupported as J, isValidPageNumber as K, mergeCells as L, openPrintWindow as M, parsePageInput as N, parsePageRange as O, type PageIndicatorPosition as P, splitCell as Q, triggerPrint as R, type TableAction as T, type PageIndicatorVariant as a, PageNavigator as b, type PageNavigatorPosition as c, type PageNavigatorProps as d, type PageNavigatorVariant as e, PageNumberIndicator as f, type PageNumberIndicatorProps as g, PrintButton as h, type PrintButtonProps as i, type PrintOptions as j, PrintStyles as k, type TableContext as l, type TableSelection as m, TableToolbar as n, type TableToolbarProps as o, addColumn as p, addRow as q, calculateProgress as r, calculateScrollToPage as s, calculateVisiblePage as t, clampPageNumber as u, createPageFormat as v, createTableContext as w, deleteColumn as x, deleteRow as y, formatPageOrdinal as z };
|