@progress/kendo-react-editor 7.2.4-develop.3 → 7.3.0-develop.1
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/Editor.js +8 -0
- package/Editor.mjs +327 -0
- package/config/defaultStyles.js +229 -0
- package/config/defaultStyles.mjs +235 -0
- package/config/shortcuts.js +8 -0
- package/config/shortcuts.mjs +34 -0
- package/config/toolsSettings.js +8 -0
- package/config/toolsSettings.mjs +549 -0
- package/dialogs/FindReplace.js +8 -0
- package/dialogs/FindReplace.mjs +214 -0
- package/dialogs/index.js +8 -0
- package/dialogs/index.mjs +30 -0
- package/dialogs/insertImage.js +8 -0
- package/dialogs/insertImage.mjs +117 -0
- package/dialogs/insertLink.js +8 -0
- package/dialogs/insertLink.mjs +96 -0
- package/dialogs/viewHtml.js +8 -0
- package/dialogs/viewHtml.mjs +70 -0
- package/dist/cdn/js/kendo-react-editor.js +8 -226
- package/index.d.mts +2943 -5
- package/index.d.ts +2941 -178
- package/index.js +8 -226
- package/index.mjs +165 -4118
- package/messages/index.js +8 -0
- package/messages/index.mjs +345 -0
- package/package-metadata.js +8 -0
- package/package-metadata.mjs +19 -0
- package/package.json +11 -11
- package/tools/align.js +8 -0
- package/tools/align.mjs +38 -0
- package/tools/applyColor.js +8 -0
- package/tools/applyColor.mjs +34 -0
- package/tools/cleanFormatting.js +8 -0
- package/tools/cleanFormatting.mjs +41 -0
- package/tools/findReplace.js +8 -0
- package/tools/findReplace.mjs +53 -0
- package/tools/fontStyle.js +8 -0
- package/tools/fontStyle.mjs +61 -0
- package/tools/formatBlock.js +8 -0
- package/tools/formatBlock.mjs +60 -0
- package/tools/history.js +8 -0
- package/tools/history.mjs +17 -0
- package/tools/indent.js +8 -0
- package/tools/indent.mjs +43 -0
- package/tools/index.js +8 -0
- package/tools/index.mjs +278 -0
- package/tools/inlineFormat.js +8 -0
- package/tools/inlineFormat.mjs +43 -0
- package/tools/insertImage.js +8 -0
- package/tools/insertImage.mjs +58 -0
- package/tools/insertLink.js +8 -0
- package/tools/insertLink.mjs +61 -0
- package/tools/insertTable/popup.js +8 -0
- package/tools/insertTable/popup.mjs +94 -0
- package/tools/insertTable/popupGrid.js +8 -0
- package/tools/insertTable/popupGrid.mjs +58 -0
- package/tools/insertTable/tool.js +8 -0
- package/tools/insertTable/tool.mjs +73 -0
- package/tools/lists-styled.js +8 -0
- package/tools/lists-styled.mjs +61 -0
- package/tools/lists.js +8 -0
- package/tools/lists.mjs +47 -0
- package/tools/outdent.js +8 -0
- package/tools/outdent.mjs +43 -0
- package/tools/pdf.js +8 -0
- package/tools/pdf.mjs +36 -0
- package/tools/print.js +8 -0
- package/tools/print.mjs +38 -0
- package/tools/proseMirrorTool.js +8 -0
- package/tools/proseMirrorTool.mjs +37 -0
- package/tools/selectAll.js +8 -0
- package/tools/selectAll.mjs +36 -0
- package/tools/table-wizard/cellPropsUtils.js +8 -0
- package/tools/table-wizard/cellPropsUtils.mjs +124 -0
- package/tools/table-wizard/tableCellProperties.js +8 -0
- package/tools/table-wizard/tableCellProperties.mjs +238 -0
- package/tools/table-wizard/tableProperties.js +8 -0
- package/tools/table-wizard/tableProperties.mjs +292 -0
- package/tools/table-wizard/tablePropsUtils.js +8 -0
- package/tools/table-wizard/tablePropsUtils.mjs +288 -0
- package/tools/table-wizard/utils.js +8 -0
- package/tools/table-wizard/utils.mjs +91 -0
- package/tools/tableEdit.js +8 -0
- package/tools/tableEdit.mjs +36 -0
- package/tools/unlink.js +8 -0
- package/tools/unlink.mjs +41 -0
- package/tools/utils.js +8 -0
- package/tools/utils.mjs +51 -0
- package/tools/viewHtml.js +8 -0
- package/tools/viewHtml.mjs +57 -0
- package/utils/browser-detection.js +8 -0
- package/utils/browser-detection.mjs +12 -0
- package/utils/controlled-value.js +8 -0
- package/utils/controlled-value.mjs +19 -0
- package/utils/index.js +8 -0
- package/utils/index.mjs +162 -0
- package/utils/props-key.js +8 -0
- package/utils/props-key.mjs +13 -0
- package/Editor.d.ts +0 -122
- package/EditorProps.d.ts +0 -200
- package/config/defaultStyles.d.ts +0 -16
- package/config/pasteSettings.d.ts +0 -10
- package/config/schema.d.ts +0 -5
- package/config/shortcuts.d.ts +0 -28
- package/config/toolsSettings.d.ts +0 -493
- package/dialogs/EditorDialogProps.d.ts +0 -30
- package/dialogs/FindReplace.d.ts +0 -75
- package/dialogs/index.d.ts +0 -53
- package/dialogs/insertImage.d.ts +0 -32
- package/dialogs/insertLink.d.ts +0 -30
- package/dialogs/viewHtml.d.ts +0 -29
- package/messages/index.d.ts +0 -338
- package/package-metadata.d.ts +0 -9
- package/tools/ToolProps.d.ts +0 -41
- package/tools/align.d.ts +0 -11
- package/tools/applyColor.d.ts +0 -16
- package/tools/cleanFormatting.d.ts +0 -20
- package/tools/findReplace.d.ts +0 -33
- package/tools/fontStyle.d.ts +0 -32
- package/tools/formatBlock.d.ts +0 -22
- package/tools/history.d.ts +0 -30
- package/tools/indent.d.ts +0 -21
- package/tools/index.d.ts +0 -718
- package/tools/inlineFormat.d.ts +0 -51
- package/tools/insertImage.d.ts +0 -17
- package/tools/insertLink.d.ts +0 -28
- package/tools/insertTable/index.d.ts +0 -7
- package/tools/insertTable/popup.d.ts +0 -97
- package/tools/insertTable/popupGrid.d.ts +0 -35
- package/tools/insertTable/tool.d.ts +0 -28
- package/tools/lists-styled.d.ts +0 -8
- package/tools/lists.d.ts +0 -31
- package/tools/outdent.d.ts +0 -21
- package/tools/pdf.d.ts +0 -29
- package/tools/print.d.ts +0 -20
- package/tools/proseMirrorTool.d.ts +0 -16
- package/tools/selectAll.d.ts +0 -20
- package/tools/table-wizard/cellPropsUtils.d.ts +0 -40
- package/tools/table-wizard/tableCellProperties.d.ts +0 -24
- package/tools/table-wizard/tableProperties.d.ts +0 -15
- package/tools/table-wizard/tablePropsUtils.d.ts +0 -56
- package/tools/table-wizard/utils.d.ts +0 -43
- package/tools/tableEdit.d.ts +0 -102
- package/tools/unlink.d.ts +0 -21
- package/tools/utils.d.ts +0 -54
- package/tools/viewHtml.d.ts +0 -28
- package/utils/browser-detection.d.ts +0 -8
- package/utils/controlled-value.d.ts +0 -9
- package/utils/index.d.ts +0 -367
- package/utils/props-key.d.ts +0 -9
package/tools/print.mjs
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as l from "react";
|
|
10
|
+
import { Button as u } from "@progress/kendo-react-buttons";
|
|
11
|
+
import { useLocalization as f } from "@progress/kendo-react-intl";
|
|
12
|
+
import { onDownPreventDefault as g } from "./utils.mjs";
|
|
13
|
+
import { messages as w } from "../messages/index.mjs";
|
|
14
|
+
import { EditorToolsSettings as b } from "../config/toolsSettings.mjs";
|
|
15
|
+
import { classNames as v } from "@progress/kendo-react-common";
|
|
16
|
+
const { print: k } = b, S = (d) => {
|
|
17
|
+
const { view: t, render: i, settings: e = k, ...n } = d, r = t && t.dom, a = r && r.ownerDocument, o = a && a.defaultView, c = e.messages.title, s = !o || o === window, p = l.useCallback(
|
|
18
|
+
() => {
|
|
19
|
+
o && o.print();
|
|
20
|
+
},
|
|
21
|
+
[o]
|
|
22
|
+
), m = /* @__PURE__ */ l.createElement(
|
|
23
|
+
u,
|
|
24
|
+
{
|
|
25
|
+
onClick: s ? void 0 : p,
|
|
26
|
+
"aria-disabled": s ? !0 : void 0,
|
|
27
|
+
title: f().toLanguageString(c, w[c]),
|
|
28
|
+
...g,
|
|
29
|
+
...e.props,
|
|
30
|
+
...n,
|
|
31
|
+
className: v(n.className, e.props.className, { "k-disabled": s })
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
return i ? i.call(void 0, m, { view: t }) : m;
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
S as Print
|
|
38
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),g=require("@progress/kendo-react-buttons"),v=require("./utils.js"),d=require("@progress/kendo-react-intl"),P=require("../messages/index.js"),N=require("@progress/kendo-react-common");function k(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const m=k(f),q=(e,o)=>{const t=class extends m.Component{render(){const{view:r,render:a,...c}=this.props,p=d.provideLocalizationService(this),i=e.messages.title,l=r&&r.state,s=l?!o(l):!1,u=m.createElement(g.Button,{onClick:s?void 0:()=>r&&o(r.state,b=>r.dispatch(b.setMeta("commandName",e.commandName))),"aria-disabled":s?!0:void 0,...v.onDownPreventDefault,title:p.toLanguageString(i,P.messages[i]),...e.props,...c,className:N.classNames(c.className,e.props.className,{"k-disabled":s})});return a?a.call(void 0,u,{view:r}):u}};return d.registerForLocalization(t),t};exports.createProseMirrorTool=q;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as m from "react";
|
|
10
|
+
import { Button as u } from "@progress/kendo-react-buttons";
|
|
11
|
+
import { onDownPreventDefault as f } from "./utils.mjs";
|
|
12
|
+
import { registerForLocalization as v, provideLocalizationService as N } from "@progress/kendo-react-intl";
|
|
13
|
+
import { messages as b } from "../messages/index.mjs";
|
|
14
|
+
import { classNames as P } from "@progress/kendo-react-common";
|
|
15
|
+
const k = (e, r) => {
|
|
16
|
+
const s = class extends m.Component {
|
|
17
|
+
render() {
|
|
18
|
+
const { view: o, render: a, ...i } = this.props, p = N(this), n = e.messages.title, c = o && o.state, t = c ? !r(c) : !1, l = /* @__PURE__ */ m.createElement(
|
|
19
|
+
u,
|
|
20
|
+
{
|
|
21
|
+
onClick: t ? void 0 : () => o && r(o.state, (d) => o.dispatch(d.setMeta("commandName", e.commandName))),
|
|
22
|
+
"aria-disabled": t ? !0 : void 0,
|
|
23
|
+
...f,
|
|
24
|
+
title: p.toLanguageString(n, b[n]),
|
|
25
|
+
...e.props,
|
|
26
|
+
...i,
|
|
27
|
+
className: P(i.className, e.props.className, { "k-disabled": t })
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
return a ? a.call(void 0, l, { view: o }) : l;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return v(s), s;
|
|
34
|
+
};
|
|
35
|
+
export {
|
|
36
|
+
k as createProseMirrorTool
|
|
37
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),a=require("@progress/kendo-react-buttons"),d=require("@progress/kendo-react-intl"),g=require("./utils.js"),f=require("../messages/index.js"),b=require("@progress/kendo-editor-common"),p=require("../config/toolsSettings.js");function m(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const r=m(u),{selectAll:S}=p.EditorToolsSettings,q=t=>{const{view:e,render:n,settings:o=S,...l}=t,s=o.messages.title,i=r.useCallback(()=>{e&&(b.selectAll(e.state,e.dispatch),e.focus())},[e]),c=r.createElement(a.Button,{onClick:i,title:d.useLocalization().toLanguageString(s,f.messages[s]),...g.onDownPreventDefault,...o.props,...l});return n?n.call(void 0,c,{view:e}):c};exports.SelectAll=q;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as r from "react";
|
|
10
|
+
import { Button as m } from "@progress/kendo-react-buttons";
|
|
11
|
+
import { useLocalization as a } from "@progress/kendo-react-intl";
|
|
12
|
+
import { onDownPreventDefault as p } from "./utils.mjs";
|
|
13
|
+
import { messages as f } from "../messages/index.mjs";
|
|
14
|
+
import { selectAll as u } from "@progress/kendo-editor-common";
|
|
15
|
+
import { EditorToolsSettings as g } from "../config/toolsSettings.mjs";
|
|
16
|
+
const { selectAll: d } = g, C = (i) => {
|
|
17
|
+
const { view: t, render: e, settings: o = d, ...n } = i, s = o.messages.title, c = r.useCallback(
|
|
18
|
+
() => {
|
|
19
|
+
t && (u(t.state, t.dispatch), t.focus());
|
|
20
|
+
},
|
|
21
|
+
[t]
|
|
22
|
+
), l = /* @__PURE__ */ r.createElement(
|
|
23
|
+
m,
|
|
24
|
+
{
|
|
25
|
+
onClick: c,
|
|
26
|
+
title: a().toLanguageString(s, f[s]),
|
|
27
|
+
...p,
|
|
28
|
+
...o.props,
|
|
29
|
+
...n
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
return e ? e.call(void 0, l, { view: t }) : l;
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
C as SelectAll
|
|
36
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("@progress/kendo-editor-common"),s=require("./utils.js"),N=require("../utils.js"),b="k-colgroup-data",x=(o,e,n)=>{const l={cellWidth:null,widthUnit:""},r=e.node,t=n.start(e.depth);if(!r.attrs[b])return l;const h=new Set;let i="";const y=w.htmlToFragment(r.attrs[b]).firstChild;return o.forEach(a=>{const u=r.resolve(a.pos-t),c=u.parent,C=u.index();let g=0;for(let f=0;f<=C;f++)g+=c.child(f).attrs.colspan;let d=y.children[g-1];d&&(i=d.style.width,h.add(i))}),h.size===1&&i&&(l.cellWidth=parseFloat(i)||null,l.widthUnit=s.getUnit(i)),l},v=(o,e,n)=>{const l={cellHeight:null,heightUnit:""},r=e.node,t=n.start(e.depth),h=new Set;let i="";return o.forEach(y=>{var c;const u=r.resolve(y.pos-t).parent;i=s.parseStyle(((c=u.attrs)==null?void 0:c.style)||"").height||"",h.add(i)}),h.size===1&&i&&(l.cellHeight=parseFloat(i)||null,l.heightUnit=s.getUnit(i)),l},p=(o,e)=>{const n=new Set;let l="";return o.forEach(r=>{var t;l=s.parseStyle(((t=r.node.attrs)==null?void 0:t.style)||"")[e]||"",n.add(l)}),n.size===1&&l?l:""},S=(o,e)=>{const n=new Set;let l="";return o.forEach(r=>{l=(r.node.attrs||{})[e]||"",n.add(l)}),n.size===1&&l?l:""},m={applyToAll:!1,cellWidth:null,widthUnit:"",cellHeight:null,heightUnit:"",alignment:{x:"",y:""},textControl:"",backgroundColor:void 0,cellPadding:null,borderWidth:null,borderColor:void 0,borderStyle:null,id:"",className:""},k=o=>{const e=s.selectedCells(o),n=o.selection.$from,l=e.length?N.parentNode(n,r=>r.type.spec.tableRole==="table"):null;return l?{...m,...x(e,l,n),...v(e,l,n),alignment:{x:p(e,"text-align"),y:p(e,"vertical-align")},textControl:p(e,"white-space"),backgroundColor:p(e,"background-color")||void 0,cellPadding:parseFloat(p(e,"padding"))||null,borderWidth:parseFloat(p(e,"border-width"))||null,borderColor:p(e,"border-color")||void 0,borderStyle:p(e,"border-style")||null,id:S(e,"id"),className:S(e,"class")}:m},W=(o,e,n)=>{const l=o.doc.resolve(e),r=l.parent,t=l.index();let h=0;for(let c=0;c<=t;c++)h+=r.child(c).attrs.colspan;const i=l.node(l.depth-1),y=l.posAtIndex(0,l.depth-1)-1;let a=i.attrs,u;if(a&&a[b]){const c=w.htmlToFragment(a[b]).firstChild;u=c.children[h-1],u.style.width=n,a={...a,[b]:c.outerHTML},o.setNodeMarkup(y,null,a)}else{let c=0;for(let d=0;d<r.childCount;d++)c+=r.child(d).attrs.colspan;const C=document.createElement("colgroup"),g=new Array(c);for(let d=0;d<c;d++)g[d]=document.createElement("col"),C.appendChild(g[d]);u=g[t],u.style.width=n,a={...a,[b]:"<colgroup>"+g.reduce((d,f)=>d+f.outerHTML,"")+"</colgroup>"},o.setNodeMarkup(y,null,a)}},P=(o,e,n)=>{let l=o.doc.resolve(e),r=l.parent;const t=l.posAtIndex(0)-1;o.setNodeMarkup(t,null,s.setNodeStyle(r.attrs,"height",n))},U=(o,e,n)=>{n.forEach(({node:l,pos:r})=>{let t={...l.attrs};t=s.setNodeStyle(t,"border-color",e.borderColor||""),t=s.setNodeStyle(t,"border-style",e.borderStyle||""),t=s.setNodeStyle(t,"border-width",typeof e.borderWidth=="number"?e.borderWidth+"px":""),t=s.setNodeStyle(t,"padding",typeof e.cellPadding=="number"?e.cellPadding+"px":""),t=s.setNodeStyle(t,"background-color",e.backgroundColor||""),t=s.setNodeStyle(t,"text-align",e.alignment.x||""),t=s.setNodeStyle(t,"vertical-align",e.alignment.y||""),t=s.setNodeStyle(t,"white-space",e.textControl||""),t.id=e.id||null,t.class=e.className||null,o.setNodeMarkup(r,null,t),typeof e.cellWidth=="number"&&W(o,r,e.cellWidth+(e.widthUnit||"px")),typeof e.cellHeight=="number"&&P(o,r,e.cellHeight+(e.heightUnit||"px"))})},H=(o,e)=>{const n=o.tr,l=e.applyToAll?s.tableCells(o):s.selectedCells(o);return U(n,e,l),n};exports.applyCellsData=H;exports.cellsDefaultData=k;exports.initialCellData=m;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import { htmlToFragment as x } from "@progress/kendo-editor-common";
|
|
10
|
+
import { selectedCells as v, tableCells as W, getUnit as N, parseStyle as S, setNodeStyle as u } from "./utils.mjs";
|
|
11
|
+
import { parentNode as k } from "../utils.mjs";
|
|
12
|
+
const f = "k-colgroup-data", H = (o, e, r) => {
|
|
13
|
+
const l = {
|
|
14
|
+
cellWidth: null,
|
|
15
|
+
widthUnit: ""
|
|
16
|
+
}, n = e.node, t = r.start(e.depth);
|
|
17
|
+
if (!n.attrs[f])
|
|
18
|
+
return l;
|
|
19
|
+
const h = /* @__PURE__ */ new Set();
|
|
20
|
+
let s = "";
|
|
21
|
+
const b = x(n.attrs[f]).firstChild;
|
|
22
|
+
return o.forEach((d) => {
|
|
23
|
+
const a = n.resolve(d.pos - t), c = a.parent, m = a.index();
|
|
24
|
+
let g = 0;
|
|
25
|
+
for (let y = 0; y <= m; y++)
|
|
26
|
+
g += c.child(y).attrs.colspan;
|
|
27
|
+
let i = b.children[g - 1];
|
|
28
|
+
i && (s = i.style.width, h.add(s));
|
|
29
|
+
}), h.size === 1 && s && (l.cellWidth = parseFloat(s) || null, l.widthUnit = N(s)), l;
|
|
30
|
+
}, P = (o, e, r) => {
|
|
31
|
+
const l = {
|
|
32
|
+
cellHeight: null,
|
|
33
|
+
heightUnit: ""
|
|
34
|
+
}, n = e.node, t = r.start(e.depth), h = /* @__PURE__ */ new Set();
|
|
35
|
+
let s = "";
|
|
36
|
+
return o.forEach((b) => {
|
|
37
|
+
var c;
|
|
38
|
+
const a = n.resolve(b.pos - t).parent;
|
|
39
|
+
s = S(((c = a.attrs) == null ? void 0 : c.style) || "").height || "", h.add(s);
|
|
40
|
+
}), h.size === 1 && s && (l.cellHeight = parseFloat(s) || null, l.heightUnit = N(s)), l;
|
|
41
|
+
}, p = (o, e) => {
|
|
42
|
+
const r = /* @__PURE__ */ new Set();
|
|
43
|
+
let l = "";
|
|
44
|
+
return o.forEach((n) => {
|
|
45
|
+
var t;
|
|
46
|
+
l = S(((t = n.node.attrs) == null ? void 0 : t.style) || "")[e] || "", r.add(l);
|
|
47
|
+
}), r.size === 1 && l ? l : "";
|
|
48
|
+
}, w = (o, e) => {
|
|
49
|
+
const r = /* @__PURE__ */ new Set();
|
|
50
|
+
let l = "";
|
|
51
|
+
return o.forEach((n) => {
|
|
52
|
+
l = (n.node.attrs || {})[e] || "", r.add(l);
|
|
53
|
+
}), r.size === 1 && l ? l : "";
|
|
54
|
+
}, C = {
|
|
55
|
+
applyToAll: !1,
|
|
56
|
+
cellWidth: null,
|
|
57
|
+
widthUnit: "",
|
|
58
|
+
cellHeight: null,
|
|
59
|
+
heightUnit: "",
|
|
60
|
+
alignment: { x: "", y: "" },
|
|
61
|
+
textControl: "",
|
|
62
|
+
backgroundColor: void 0,
|
|
63
|
+
cellPadding: null,
|
|
64
|
+
borderWidth: null,
|
|
65
|
+
borderColor: void 0,
|
|
66
|
+
borderStyle: null,
|
|
67
|
+
id: "",
|
|
68
|
+
className: ""
|
|
69
|
+
}, T = (o) => {
|
|
70
|
+
const e = v(o), r = o.selection.$from, l = e.length ? k(r, (n) => n.type.spec.tableRole === "table") : null;
|
|
71
|
+
return l ? {
|
|
72
|
+
...C,
|
|
73
|
+
...H(e, l, r),
|
|
74
|
+
...P(e, l, r),
|
|
75
|
+
alignment: { x: p(e, "text-align"), y: p(e, "vertical-align") },
|
|
76
|
+
textControl: p(e, "white-space"),
|
|
77
|
+
backgroundColor: p(e, "background-color") || void 0,
|
|
78
|
+
cellPadding: parseFloat(p(e, "padding")) || null,
|
|
79
|
+
borderWidth: parseFloat(p(e, "border-width")) || null,
|
|
80
|
+
borderColor: p(e, "border-color") || void 0,
|
|
81
|
+
borderStyle: p(e, "border-style") || null,
|
|
82
|
+
id: w(e, "id"),
|
|
83
|
+
className: w(e, "class")
|
|
84
|
+
} : C;
|
|
85
|
+
}, U = (o, e, r) => {
|
|
86
|
+
const l = o.doc.resolve(e), n = l.parent, t = l.index();
|
|
87
|
+
let h = 0;
|
|
88
|
+
for (let c = 0; c <= t; c++)
|
|
89
|
+
h += n.child(c).attrs.colspan;
|
|
90
|
+
const s = l.node(l.depth - 1), b = l.posAtIndex(0, l.depth - 1) - 1;
|
|
91
|
+
let d = s.attrs, a;
|
|
92
|
+
if (d && d[f]) {
|
|
93
|
+
const c = x(d[f]).firstChild;
|
|
94
|
+
a = c.children[h - 1], a.style.width = r, d = { ...d, [f]: c.outerHTML }, o.setNodeMarkup(b, null, d);
|
|
95
|
+
} else {
|
|
96
|
+
let c = 0;
|
|
97
|
+
for (let i = 0; i < n.childCount; i++)
|
|
98
|
+
c += n.child(i).attrs.colspan;
|
|
99
|
+
const m = document.createElement("colgroup"), g = new Array(c);
|
|
100
|
+
for (let i = 0; i < c; i++)
|
|
101
|
+
g[i] = document.createElement("col"), m.appendChild(g[i]);
|
|
102
|
+
a = g[t], a.style.width = r, d = {
|
|
103
|
+
...d,
|
|
104
|
+
[f]: "<colgroup>" + g.reduce((i, y) => i + y.outerHTML, "") + "</colgroup>"
|
|
105
|
+
}, o.setNodeMarkup(b, null, d);
|
|
106
|
+
}
|
|
107
|
+
}, E = (o, e, r) => {
|
|
108
|
+
let l = o.doc.resolve(e), n = l.parent;
|
|
109
|
+
const t = l.posAtIndex(0) - 1;
|
|
110
|
+
o.setNodeMarkup(t, null, u(n.attrs, "height", r));
|
|
111
|
+
}, $ = (o, e, r) => {
|
|
112
|
+
r.forEach(({ node: l, pos: n }) => {
|
|
113
|
+
let t = { ...l.attrs };
|
|
114
|
+
t = u(t, "border-color", e.borderColor || ""), t = u(t, "border-style", e.borderStyle || ""), t = u(t, "border-width", typeof e.borderWidth == "number" ? e.borderWidth + "px" : ""), t = u(t, "padding", typeof e.cellPadding == "number" ? e.cellPadding + "px" : ""), t = u(t, "background-color", e.backgroundColor || ""), t = u(t, "text-align", e.alignment.x || ""), t = u(t, "vertical-align", e.alignment.y || ""), t = u(t, "white-space", e.textControl || ""), t.id = e.id || null, t.class = e.className || null, o.setNodeMarkup(n, null, t), typeof e.cellWidth == "number" && U(o, n, e.cellWidth + (e.widthUnit || "px")), typeof e.cellHeight == "number" && E(o, n, e.cellHeight + (e.heightUnit || "px"));
|
|
115
|
+
});
|
|
116
|
+
}, z = (o, e) => {
|
|
117
|
+
const r = o.tr, l = e.applyToAll ? W(o) : v(o);
|
|
118
|
+
return $(r, e, l), r;
|
|
119
|
+
};
|
|
120
|
+
export {
|
|
121
|
+
z as applyCellsData,
|
|
122
|
+
T as cellsDefaultData,
|
|
123
|
+
C as initialCellData
|
|
124
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ke=require("react"),x=require("@progress/kendo-react-buttons"),c=require("@progress/kendo-react-inputs"),g=require("@progress/kendo-react-dropdowns"),X=require("@progress/kendo-react-dialogs"),o=require("@progress/kendo-svg-icons"),n=require("../utils.js"),ee=require("@progress/kendo-react-common"),te=require("@progress/kendo-react-intl"),t=require("../../messages/index.js"),le=require("./cellPropsUtils.js");function ye(r){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const a in r)if(a!=="default"){const i=Object.getOwnPropertyDescriptor(r,a);Object.defineProperty(l,a,i.get?i:{enumerable:!0,get:()=>r[a]})}}return l.default=r,Object.freeze(l)}const e=ye(ke),be=r=>{const{view:l,...a}=r,[i,p]=e.useState(!1),f=te.useLocalization(),b=!!(l&&n.parentNode(l.state.selection.$from,m=>m.type.spec.tableRole==="table")),k=e.useCallback(()=>{p(!0)},[]),u=e.useCallback(()=>{p(!1),l==null||l.focus()},[l]),y=e.useCallback(m=>{if(l&&m){const d=le.applyCellsData(l.state,m);d.docChanged&&l.dispatch(d)}u()},[l,u]);return e.createElement(e.Fragment,null,e.createElement(x.Button,{type:"button",title:f.toLanguageString(t.keys.cellProperties,t.messages[t.keys.cellProperties]),icon:"table-cell-properties",svgIcon:o.tableCellPropertiesIcon,onClick:k,disabled:!b,...n.onDownPreventDefault,...a}),i&&l&&e.createElement(ve,{view:l,onCancel:u,onSave:y}))},Y=[{textKey:t.keys.cellPropertiesLeftTop,text:t.messages[t.keys.cellPropertiesLeftTop],icon:"table-align-top-left",svgIcon:o.tableAlignTopLeftIcon,value:{x:"left",y:"top"}},{textKey:t.keys.cellPropertiesCenterTop,text:t.messages[t.keys.cellPropertiesCenterTop],icon:"table-align-top-center",svgIcon:o.tableAlignTopCenterIcon,value:{x:"center",y:"top"}},{textKey:t.keys.cellPropertiesRightTop,text:t.messages[t.keys.cellPropertiesRightTop],icon:"table-align-top-right",svgIcon:o.tableAlignTopRightIcon,value:{x:"right",y:"top"}},{textKey:t.keys.cellPropertiesLeftMiddle,text:t.messages[t.keys.cellPropertiesLeftMiddle],icon:"table-align-middle-left",svgIcon:o.tableAlignMiddleLeftIcon,value:{x:"left",y:"middle"}},{textKey:t.keys.cellPropertiesCenterMiddle,text:t.messages[t.keys.cellPropertiesCenterMiddle],icon:"table-align-middle-center",svgIcon:o.tableAlignMiddleCenterIcon,value:{x:"center",y:"middle"}},{textKey:t.keys.cellPropertiesRightMiddle,text:t.messages[t.keys.cellPropertiesRightMiddle],icon:"table-align-middle-right",svgIcon:o.tableAlignMiddleRightIcon,value:{x:"right",y:"middle"}},{textKey:t.keys.cellPropertiesLeftBottom,text:t.messages[t.keys.cellPropertiesLeftBottom],icon:"table-align-bottom-left",svgIcon:o.tableAlignBottomLeftIcon,value:{x:"left",y:"bottom"}},{textKey:t.keys.cellPropertiesCenterBottom,text:t.messages[t.keys.cellPropertiesCenterBottom],icon:"table-align-bottom-center",svgIcon:o.tableAlignBottomCenterIcon,value:{x:"center",y:"bottom"}},{textKey:t.keys.cellPropertiesRightBottom,text:t.messages[t.keys.cellPropertiesRightBottom],icon:"table-align-bottom-right",svgIcon:o.tableAlignBottomRightIcon,value:{x:"right",y:"bottom"}},{textKey:t.keys.cellPropertiesNoAlignment,text:t.messages[t.keys.cellPropertiesNoAlignment],icon:"align-remove",svgIcon:o.tableAlignRemoveIcon,value:{x:"",y:""}}],Z=[{textKey:t.keys.cellPropertiesWrap,text:t.messages[t.keys.cellPropertiesWrap],value:"",icon:"text-wrap",svgIcon:o.textWrapIcon},{textKey:t.keys.cellPropertiesFitToCell,text:t.messages[t.keys.cellPropertiesFitToCell],value:"nowrap",icon:"parameter-string",svgIcon:o.parameterStringIcon}],P=(r,l)=>l?e.createElement(e.Fragment,null,e.createElement(c.InputPrefix,null,e.createElement(ee.IconWrap,{icon:l.svgIcon,name:l.icon})),r):r,E=(r,l)=>{const a=e.createElement(e.Fragment,null,e.createElement(c.InputPrefix,null,e.createElement(ee.IconWrap,{icon:l.dataItem.svgIcon,name:l.dataItem.icon})),r.props.children);return e.cloneElement(r,r.props,a)},ve=r=>{const l=e.useMemo(()=>le.cellsDefaultData(r.view.state),[r.view]),a=te.useLocalization(),i=e.useRef(null),p=l.applyToAll,f=e.useRef(null),b=l.cellWidth,k=e.useRef(null);l.widthUnit&&!n.units.includes(l.widthUnit)&&n.units.push(l.widthUnit);const u=l.widthUnit||"",y=e.useRef(null),m=l.cellHeight,d=e.useRef(null);l.heightUnit&&!n.units.includes(l.heightUnit)&&n.units.push(l.heightUnit);const ae=l.heightUnit||"",C=e.useRef(null),re=Y.find(s=>s.value.x!==void 0&&l.alignment&&s.value.x===l.alignment.x&&s.value.y===l.alignment.y)||null,N=e.useRef(null),se=Z.find(s=>s.value===l.textControl),S=e.useRef(null),ne=l.backgroundColor,v=e.useRef(null),oe=l.cellPadding,h=e.useRef(null),ce=l.borderWidth,I=e.useRef(null),ie=l.borderColor,w=e.useRef(null),me=n.borderStyles.find(s=>s.value===l.borderStyle),R=e.useRef(null),ue=l.id,L=e.useRef(null),de=l.className,ge=e.useCallback(()=>{var D,T,A,B,W,K,U,V,M,q,z,F,H,O,j,_,$,G,J,Q;const s={applyToAll:!!((T=(D=i.current)==null?void 0:D.element)!=null&&T.checked),cellWidth:((A=f.current)==null?void 0:A.value)||null,widthUnit:((B=k.current)==null?void 0:B.value)||"",cellHeight:((W=y.current)==null?void 0:W.value)||null,heightUnit:((K=d.current)==null?void 0:K.value)||"",alignment:(V=(U=C.current)==null?void 0:U.value)==null?void 0:V.value,textControl:(q=(M=N.current)==null?void 0:M.value)==null?void 0:q.value,backgroundColor:(z=S.current)==null?void 0:z.value,cellPadding:typeof((F=v.current)==null?void 0:F.value)=="number"?(H=v.current)==null?void 0:H.value:null,borderWidth:typeof((O=h.current)==null?void 0:O.value)=="number"?(j=h.current)==null?void 0:j.value:null,borderColor:(_=I.current)==null?void 0:_.value,borderStyle:((G=($=w.current)==null?void 0:$.value)==null?void 0:G.value)||null,id:String(((J=R.current)==null?void 0:J.value)||""),className:String(((Q=L.current)==null?void 0:Q.value)||"")};r.onSave.call(void 0,s)},[r.onSave]),pe=e.createElement("div",{className:"k-form k-form-md"},e.createElement("fieldset",{className:"k-form-fieldset"},e.createElement("div",{className:"k-form-layout k-d-grid k-grid-cols-4 k-gap-x-4"},e.createElement("div",{className:"k-form-field k-col-span-full"},e.createElement("div",{className:"k-form-field-wrap"},e.createElement("span",{className:"k-checkbox-wrap"},e.createElement(c.Checkbox,{ref:i,defaultChecked:p})),e.createElement("label",{className:"k-checkbox-label"},a.toLanguageString(t.keys.cellPropertiesApplyToAllCells,t.messages[t.keys.cellPropertiesApplyToAllCells])))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesWidth,t.messages[t.keys.cellPropertiesWidth])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(c.NumericTextBox,{ref:f,defaultValue:b,min:0,placeholder:a.toLanguageString(t.keys.sizeAuto,t.messages[t.keys.sizeAuto])}),e.createElement("div",{className:"k-form-hint"},a.toLanguageString(t.keys.cellPropertiesApplyToColumn,t.messages[t.keys.cellPropertiesApplyToColumn])))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"}," "),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(g.AutoComplete,{ref:k,defaultValue:u,data:n.units,popupSettings:n.popupSettings}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesHeight,t.messages[t.keys.cellPropertiesHeight])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(c.NumericTextBox,{ref:y,defaultValue:m,min:0,placeholder:a.toLanguageString(t.keys.sizeAuto,t.messages[t.keys.sizeAuto])}),e.createElement("div",{className:"k-form-hint"},a.toLanguageString(t.keys.cellPropertiesApplyToRow,t.messages[t.keys.cellPropertiesApplyToRow])))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"}," "),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(g.AutoComplete,{ref:d,defaultValue:ae,data:n.units,popupSettings:n.popupSettings}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesAlignment,t.messages[t.keys.cellPropertiesAlignment])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(g.DropDownList,{ref:C,defaultValue:re,data:Y.map(s=>({...s,text:a.toLanguageString(s.textKey,s.text)})),textField:"text",dataItemKey:"text",popupSettings:n.popupSettings,valueRender:P,itemRender:E}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesTextControl,t.messages[t.keys.cellPropertiesTextControl])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(g.DropDownList,{ref:N,defaultValue:se,data:Z.map(s=>({...s,text:a.toLanguageString(s.textKey,s.text)})),textField:"text",dataItemKey:"value",popupSettings:n.popupSettings,valueRender:P,itemRender:E}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesCellPadding,t.messages[t.keys.cellPropertiesCellPadding])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(c.NumericTextBox,{ref:v,defaultValue:oe,min:0}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesBackground,t.messages[t.keys.cellPropertiesBackground])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(c.ColorPicker,{ref:S,defaultValue:ne}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesBorderWidth,t.messages[t.keys.cellPropertiesBorderWidth])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(c.NumericTextBox,{ref:h,defaultValue:ce,min:0}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesBorderColor,t.messages[t.keys.cellPropertiesBorderColor])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(c.ColorPicker,{ref:I,defaultValue:ie}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesBorderStyle,t.messages[t.keys.cellPropertiesBorderStyle])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(g.DropDownList,{ref:w,defaultValue:me,popupSettings:n.popupSettings,data:n.borderStyles,textField:"text",dataItemKey:"value"}))),e.createElement("div",{className:"k-form-field k-col-span-full"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesId,t.messages[t.keys.cellPropertiesId])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(c.TextBox,{ref:R,defaultValue:ue}))),e.createElement("div",{className:"k-form-field k-col-span-full"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.cellPropertiesCssClass,t.messages[t.keys.cellPropertiesCssClass])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(c.TextBox,{ref:L,defaultValue:de})))))),fe=[e.createElement(x.Button,{themeColor:"primary",key:"save",onClick:ge},a.toLanguageString(t.keys.cellPropertiesSave,t.messages[t.keys.cellPropertiesSave])),e.createElement(x.Button,{onClick:r.onCancel,key:"cancel"},a.toLanguageString(t.keys.cellPropertiesCancel,t.messages[t.keys.cellPropertiesCancel]))];return e.createElement(X.Window,{className:"k-editor-window k-editor-table-wizard-window",title:a.toLanguageString(t.keys.cellProperties,t.messages[t.keys.cellProperties]),onClose:r.onCancel,key:"dialog",style:{userSelect:"none"},width:408,height:587,modal:!0,minimizeButton:()=>null,maximizeButton:()=>null,resizable:!1},pe,e.createElement(X.WindowActionsBar,{layout:"start"},...fe))};exports.TableCellProperties=be;exports.itemRenderWithIcon=E;exports.valueRenderWithIcon=P;
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as e from "react";
|
|
10
|
+
import { Button as x } from "@progress/kendo-react-buttons";
|
|
11
|
+
import { Checkbox as Ee, NumericTextBox as k, ColorPicker as X, TextBox as Y, InputPrefix as re } from "@progress/kendo-react-inputs";
|
|
12
|
+
import { AutoComplete as Z, DropDownList as P } from "@progress/kendo-react-dropdowns";
|
|
13
|
+
import { Window as Pe, WindowActionsBar as xe } from "@progress/kendo-react-dialogs";
|
|
14
|
+
import { tableCellPropertiesIcon as Ce, tableAlignTopLeftIcon as ye, tableAlignTopCenterIcon as Ne, tableAlignTopRightIcon as Se, tableAlignMiddleLeftIcon as we, tableAlignMiddleCenterIcon as Ie, tableAlignMiddleRightIcon as Re, tableAlignBottomLeftIcon as Le, tableAlignBottomCenterIcon as Ae, tableAlignBottomRightIcon as Te, tableAlignRemoveIcon as De, textWrapIcon as Be, parameterStringIcon as We } from "@progress/kendo-svg-icons";
|
|
15
|
+
import { parentNode as Ke, onDownPreventDefault as Ue, units as i, borderStyles as _, popupSettings as d } from "../utils.mjs";
|
|
16
|
+
import { IconWrap as oe } from "@progress/kendo-react-common";
|
|
17
|
+
import { useLocalization as ne } from "@progress/kendo-react-intl";
|
|
18
|
+
import { keys as l, messages as a } from "../../messages/index.mjs";
|
|
19
|
+
import { applyCellsData as Ve, cellsDefaultData as Me } from "./cellPropsUtils.mjs";
|
|
20
|
+
const Ye = (n) => {
|
|
21
|
+
const { view: t, ...r } = n, [u, f] = e.useState(!1), g = ne(), v = !!(t && Ke(t.state.selection.$from, (c) => c.type.spec.tableRole === "table")), p = e.useCallback(() => {
|
|
22
|
+
f(!0);
|
|
23
|
+
}, []), s = e.useCallback(() => {
|
|
24
|
+
f(!1), t == null || t.focus();
|
|
25
|
+
}, [t]), b = e.useCallback((c) => {
|
|
26
|
+
if (t && c) {
|
|
27
|
+
const m = Ve(t.state, c);
|
|
28
|
+
m.docChanged && t.dispatch(m);
|
|
29
|
+
}
|
|
30
|
+
s();
|
|
31
|
+
}, [t, s]);
|
|
32
|
+
return /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(
|
|
33
|
+
x,
|
|
34
|
+
{
|
|
35
|
+
type: "button",
|
|
36
|
+
title: g.toLanguageString(l.cellProperties, a[l.cellProperties]),
|
|
37
|
+
icon: "table-cell-properties",
|
|
38
|
+
svgIcon: Ce,
|
|
39
|
+
onClick: p,
|
|
40
|
+
disabled: !v,
|
|
41
|
+
...Ue,
|
|
42
|
+
...r
|
|
43
|
+
}
|
|
44
|
+
), u && t && /* @__PURE__ */ e.createElement(ze, { view: t, onCancel: s, onSave: b }));
|
|
45
|
+
}, ee = [
|
|
46
|
+
{
|
|
47
|
+
textKey: l.cellPropertiesLeftTop,
|
|
48
|
+
text: a[l.cellPropertiesLeftTop],
|
|
49
|
+
icon: "table-align-top-left",
|
|
50
|
+
svgIcon: ye,
|
|
51
|
+
value: { x: "left", y: "top" }
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
textKey: l.cellPropertiesCenterTop,
|
|
55
|
+
text: a[l.cellPropertiesCenterTop],
|
|
56
|
+
icon: "table-align-top-center",
|
|
57
|
+
svgIcon: Ne,
|
|
58
|
+
value: { x: "center", y: "top" }
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
textKey: l.cellPropertiesRightTop,
|
|
62
|
+
text: a[l.cellPropertiesRightTop],
|
|
63
|
+
icon: "table-align-top-right",
|
|
64
|
+
svgIcon: Se,
|
|
65
|
+
value: { x: "right", y: "top" }
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
textKey: l.cellPropertiesLeftMiddle,
|
|
69
|
+
text: a[l.cellPropertiesLeftMiddle],
|
|
70
|
+
icon: "table-align-middle-left",
|
|
71
|
+
svgIcon: we,
|
|
72
|
+
value: { x: "left", y: "middle" }
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
textKey: l.cellPropertiesCenterMiddle,
|
|
76
|
+
text: a[l.cellPropertiesCenterMiddle],
|
|
77
|
+
icon: "table-align-middle-center",
|
|
78
|
+
svgIcon: Ie,
|
|
79
|
+
value: { x: "center", y: "middle" }
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
textKey: l.cellPropertiesRightMiddle,
|
|
83
|
+
text: a[l.cellPropertiesRightMiddle],
|
|
84
|
+
icon: "table-align-middle-right",
|
|
85
|
+
svgIcon: Re,
|
|
86
|
+
value: { x: "right", y: "middle" }
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
textKey: l.cellPropertiesLeftBottom,
|
|
90
|
+
text: a[l.cellPropertiesLeftBottom],
|
|
91
|
+
icon: "table-align-bottom-left",
|
|
92
|
+
svgIcon: Le,
|
|
93
|
+
value: { x: "left", y: "bottom" }
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
textKey: l.cellPropertiesCenterBottom,
|
|
97
|
+
text: a[l.cellPropertiesCenterBottom],
|
|
98
|
+
icon: "table-align-bottom-center",
|
|
99
|
+
svgIcon: Ae,
|
|
100
|
+
value: { x: "center", y: "bottom" }
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
textKey: l.cellPropertiesRightBottom,
|
|
104
|
+
text: a[l.cellPropertiesRightBottom],
|
|
105
|
+
icon: "table-align-bottom-right",
|
|
106
|
+
svgIcon: Te,
|
|
107
|
+
value: { x: "right", y: "bottom" }
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
textKey: l.cellPropertiesNoAlignment,
|
|
111
|
+
text: a[l.cellPropertiesNoAlignment],
|
|
112
|
+
icon: "align-remove",
|
|
113
|
+
svgIcon: De,
|
|
114
|
+
value: { x: "", y: "" }
|
|
115
|
+
}
|
|
116
|
+
], le = [
|
|
117
|
+
{
|
|
118
|
+
textKey: l.cellPropertiesWrap,
|
|
119
|
+
text: a[l.cellPropertiesWrap],
|
|
120
|
+
value: "",
|
|
121
|
+
icon: "text-wrap",
|
|
122
|
+
svgIcon: Be
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
textKey: l.cellPropertiesFitToCell,
|
|
126
|
+
text: a[l.cellPropertiesFitToCell],
|
|
127
|
+
value: "nowrap",
|
|
128
|
+
icon: "parameter-string",
|
|
129
|
+
svgIcon: We
|
|
130
|
+
}
|
|
131
|
+
], te = (n, t) => t ? /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(re, null, /* @__PURE__ */ e.createElement(oe, { icon: t.svgIcon, name: t.icon })), n) : n, ae = (n, t) => {
|
|
132
|
+
const r = /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(re, null, /* @__PURE__ */ e.createElement(oe, { icon: t.dataItem.svgIcon, name: t.dataItem.icon })), n.props.children);
|
|
133
|
+
return e.cloneElement(n, n.props, r);
|
|
134
|
+
}, ze = (n) => {
|
|
135
|
+
const t = e.useMemo(() => Me(n.view.state), [n.view]), r = ne(), u = e.useRef(null), f = t.applyToAll, g = e.useRef(null), v = t.cellWidth, p = e.useRef(null);
|
|
136
|
+
t.widthUnit && !i.includes(t.widthUnit) && i.push(t.widthUnit);
|
|
137
|
+
const s = t.widthUnit || "", b = e.useRef(null), c = t.cellHeight, m = e.useRef(null);
|
|
138
|
+
t.heightUnit && !i.includes(t.heightUnit) && i.push(t.heightUnit);
|
|
139
|
+
const ce = t.heightUnit || "", C = e.useRef(null), ie = ee.find((o) => o.value.x !== void 0 && t.alignment && o.value.x === t.alignment.x && o.value.y === t.alignment.y) || null, y = e.useRef(null), se = le.find((o) => o.value === t.textControl), N = e.useRef(null), me = t.backgroundColor, h = e.useRef(null), de = t.cellPadding, E = e.useRef(null), ue = t.borderWidth, S = e.useRef(null), fe = t.borderColor, w = e.useRef(null), ge = _.find((o) => o.value === t.borderStyle), I = e.useRef(null), pe = t.id, R = e.useRef(null), be = t.className, ke = e.useCallback(() => {
|
|
140
|
+
var L, A, T, D, B, W, K, U, V, M, z, F, H, $, j, q, G, J, O, Q;
|
|
141
|
+
const o = {
|
|
142
|
+
applyToAll: !!((A = (L = u.current) == null ? void 0 : L.element) != null && A.checked),
|
|
143
|
+
cellWidth: ((T = g.current) == null ? void 0 : T.value) || null,
|
|
144
|
+
widthUnit: ((D = p.current) == null ? void 0 : D.value) || "",
|
|
145
|
+
cellHeight: ((B = b.current) == null ? void 0 : B.value) || null,
|
|
146
|
+
heightUnit: ((W = m.current) == null ? void 0 : W.value) || "",
|
|
147
|
+
alignment: (U = (K = C.current) == null ? void 0 : K.value) == null ? void 0 : U.value,
|
|
148
|
+
textControl: (M = (V = y.current) == null ? void 0 : V.value) == null ? void 0 : M.value,
|
|
149
|
+
backgroundColor: (z = N.current) == null ? void 0 : z.value,
|
|
150
|
+
cellPadding: typeof ((F = h.current) == null ? void 0 : F.value) == "number" ? (H = h.current) == null ? void 0 : H.value : null,
|
|
151
|
+
borderWidth: typeof (($ = E.current) == null ? void 0 : $.value) == "number" ? (j = E.current) == null ? void 0 : j.value : null,
|
|
152
|
+
borderColor: (q = S.current) == null ? void 0 : q.value,
|
|
153
|
+
borderStyle: ((J = (G = w.current) == null ? void 0 : G.value) == null ? void 0 : J.value) || null,
|
|
154
|
+
id: String(((O = I.current) == null ? void 0 : O.value) || ""),
|
|
155
|
+
className: String(((Q = R.current) == null ? void 0 : Q.value) || "")
|
|
156
|
+
};
|
|
157
|
+
n.onSave.call(void 0, o);
|
|
158
|
+
}, [n.onSave]), ve = /* @__PURE__ */ e.createElement("div", { className: "k-form k-form-md" }, /* @__PURE__ */ e.createElement("fieldset", { className: "k-form-fieldset" }, /* @__PURE__ */ e.createElement("div", { className: "k-form-layout k-d-grid k-grid-cols-4 k-gap-x-4" }, /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-full" }, /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement("span", { className: "k-checkbox-wrap" }, /* @__PURE__ */ e.createElement(Ee, { ref: u, defaultChecked: f })), /* @__PURE__ */ e.createElement(
|
|
159
|
+
"label",
|
|
160
|
+
{
|
|
161
|
+
className: "k-checkbox-label"
|
|
162
|
+
},
|
|
163
|
+
r.toLanguageString(l.cellPropertiesApplyToAllCells, a[l.cellPropertiesApplyToAllCells])
|
|
164
|
+
))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-1" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesWidth, a[l.cellPropertiesWidth])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(
|
|
165
|
+
k,
|
|
166
|
+
{
|
|
167
|
+
ref: g,
|
|
168
|
+
defaultValue: v,
|
|
169
|
+
min: 0,
|
|
170
|
+
placeholder: r.toLanguageString(l.sizeAuto, a[l.sizeAuto])
|
|
171
|
+
}
|
|
172
|
+
), /* @__PURE__ */ e.createElement("div", { className: "k-form-hint" }, r.toLanguageString(l.cellPropertiesApplyToColumn, a[l.cellPropertiesApplyToColumn])))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-1" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, " "), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(Z, { ref: p, defaultValue: s, data: i, popupSettings: d }))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-1" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesHeight, a[l.cellPropertiesHeight])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(
|
|
173
|
+
k,
|
|
174
|
+
{
|
|
175
|
+
ref: b,
|
|
176
|
+
defaultValue: c,
|
|
177
|
+
min: 0,
|
|
178
|
+
placeholder: r.toLanguageString(l.sizeAuto, a[l.sizeAuto])
|
|
179
|
+
}
|
|
180
|
+
), /* @__PURE__ */ e.createElement("div", { className: "k-form-hint" }, r.toLanguageString(l.cellPropertiesApplyToRow, a[l.cellPropertiesApplyToRow])))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-1" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, " "), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(Z, { ref: m, defaultValue: ce, data: i, popupSettings: d }))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-2" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesAlignment, a[l.cellPropertiesAlignment])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(
|
|
181
|
+
P,
|
|
182
|
+
{
|
|
183
|
+
ref: C,
|
|
184
|
+
defaultValue: ie,
|
|
185
|
+
data: ee.map((o) => ({ ...o, text: r.toLanguageString(o.textKey, o.text) })),
|
|
186
|
+
textField: "text",
|
|
187
|
+
dataItemKey: "text",
|
|
188
|
+
popupSettings: d,
|
|
189
|
+
valueRender: te,
|
|
190
|
+
itemRender: ae
|
|
191
|
+
}
|
|
192
|
+
))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-2" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesTextControl, a[l.cellPropertiesTextControl])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(
|
|
193
|
+
P,
|
|
194
|
+
{
|
|
195
|
+
ref: y,
|
|
196
|
+
defaultValue: se,
|
|
197
|
+
data: le.map((o) => ({ ...o, text: r.toLanguageString(o.textKey, o.text) })),
|
|
198
|
+
textField: "text",
|
|
199
|
+
dataItemKey: "value",
|
|
200
|
+
popupSettings: d,
|
|
201
|
+
valueRender: te,
|
|
202
|
+
itemRender: ae
|
|
203
|
+
}
|
|
204
|
+
))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-2" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesCellPadding, a[l.cellPropertiesCellPadding])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(k, { ref: h, defaultValue: de, min: 0 }))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-2" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesBackground, a[l.cellPropertiesBackground])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(X, { ref: N, defaultValue: me }))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-1" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesBorderWidth, a[l.cellPropertiesBorderWidth])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(k, { ref: E, defaultValue: ue, min: 0 }))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-1" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesBorderColor, a[l.cellPropertiesBorderColor])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(X, { ref: S, defaultValue: fe }))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-2" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesBorderStyle, a[l.cellPropertiesBorderStyle])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(
|
|
205
|
+
P,
|
|
206
|
+
{
|
|
207
|
+
ref: w,
|
|
208
|
+
defaultValue: ge,
|
|
209
|
+
popupSettings: d,
|
|
210
|
+
data: _,
|
|
211
|
+
textField: "text",
|
|
212
|
+
dataItemKey: "value"
|
|
213
|
+
}
|
|
214
|
+
))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-full" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesId, a[l.cellPropertiesId])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(Y, { ref: I, defaultValue: pe }))), /* @__PURE__ */ e.createElement("div", { className: "k-form-field k-col-span-full" }, /* @__PURE__ */ e.createElement("label", { className: "k-label k-form-label" }, r.toLanguageString(l.cellPropertiesCssClass, a[l.cellPropertiesCssClass])), /* @__PURE__ */ e.createElement("div", { className: "k-form-field-wrap" }, /* @__PURE__ */ e.createElement(Y, { ref: R, defaultValue: be })))))), he = [/* @__PURE__ */ e.createElement(x, { themeColor: "primary", key: "save", onClick: ke }, r.toLanguageString(l.cellPropertiesSave, a[l.cellPropertiesSave])), /* @__PURE__ */ e.createElement(x, { onClick: n.onCancel, key: "cancel" }, r.toLanguageString(l.cellPropertiesCancel, a[l.cellPropertiesCancel]))];
|
|
215
|
+
return /* @__PURE__ */ e.createElement(
|
|
216
|
+
Pe,
|
|
217
|
+
{
|
|
218
|
+
className: "k-editor-window k-editor-table-wizard-window",
|
|
219
|
+
title: r.toLanguageString(l.cellProperties, a[l.cellProperties]),
|
|
220
|
+
onClose: n.onCancel,
|
|
221
|
+
key: "dialog",
|
|
222
|
+
style: { userSelect: "none" },
|
|
223
|
+
width: 408,
|
|
224
|
+
height: 587,
|
|
225
|
+
modal: !0,
|
|
226
|
+
minimizeButton: () => null,
|
|
227
|
+
maximizeButton: () => null,
|
|
228
|
+
resizable: !1
|
|
229
|
+
},
|
|
230
|
+
ve,
|
|
231
|
+
/* @__PURE__ */ e.createElement(xe, { layout: "start" }, ...he)
|
|
232
|
+
);
|
|
233
|
+
};
|
|
234
|
+
export {
|
|
235
|
+
Ye as TableCellProperties,
|
|
236
|
+
ae as itemRenderWithIcon,
|
|
237
|
+
te as valueRenderWithIcon
|
|
238
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const be=require("react"),A=require("@progress/kendo-react-buttons"),n=require("@progress/kendo-react-inputs"),m=require("@progress/kendo-react-dropdowns"),oe=require("@progress/kendo-react-dialogs"),L=require("@progress/kendo-react-layout"),i=require("@progress/kendo-svg-icons"),o=require("../utils.js"),u=require("./tableCellProperties.js"),ue=require("@progress/kendo-react-intl"),t=require("../../messages/index.js"),E=require("./tablePropsUtils.js");function ve(r){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const a in r)if(a!=="default"){const g=Object.getOwnPropertyDescriptor(r,a);Object.defineProperty(s,a,g.get?g:{enumerable:!0,get:()=>r[a]})}}return s.default=r,Object.freeze(s)}const e=ve(be),ye=r=>{const{view:s,...a}=r,g=ue.useLocalization(),[P,f]=e.useState(!1),b=!!(s&&o.parentNode(s.state.selection.$from,c=>c.type.spec.tableRole==="table")),v=e.useCallback(()=>{f(!0)},[]),d=e.useCallback(()=>{f(!1),s==null||s.focus()},[s]),k=e.useCallback(c=>{if(s&&c){const p=E.applyTableData(s.state,c);p&&s.dispatch(p)}d()},[s,d]);return e.createElement(e.Fragment,null,e.createElement(A.Button,{type:"button",title:g.toLanguageString(t.keys.tableProperties,t.messages[t.keys.tableProperties]),icon:"table-properties",svgIcon:i.tablePropertiesIcon,onClick:v,disabled:!b,...o.onDownPreventDefault,...a}),P&&e.createElement(Ee,{onClose:d,onSave:k,view:s}))},y=[{textKey:t.keys.tablePropertiesAlignLeft,text:t.messages[t.keys.tablePropertiesAlignLeft],value:"left",icon:"table-align-middle-left",svgIcon:i.tableAlignMiddleLeftIcon},{textKey:t.keys.tablePropertiesAlignCenter,text:t.messages[t.keys.tablePropertiesAlignCenter],value:"center",icon:"table-align-middle-center",svgIcon:i.tableAlignMiddleCenterIcon},{textKey:t.keys.tablePropertiesAlignRight,text:t.messages[t.keys.tablePropertiesAlignRight],value:"right",icon:"table-align-middle-right",svgIcon:i.tableAlignMiddleRightIcon},{textKey:t.keys.tablePropertiesNoAlignment,text:t.messages[t.keys.tablePropertiesNoAlignment],value:"",icon:"align-remove",svgIcon:i.tableAlignRemoveIcon}],ie=[{textKey:t.keys.tablePropertiesLeft,text:t.messages[t.keys.tablePropertiesLeft],value:"left",style:{},icon:"table-position-left",svgIcon:i.tablePositionStartIcon},{textKey:t.keys.tablePropertiesCenter,text:t.messages[t.keys.tablePropertiesCenter],value:"center",style:{},icon:"table-position-center",svgIcon:i.tablePositionCenterIcon},{textKey:t.keys.tablePropertiesRight,text:t.messages[t.keys.tablePropertiesRight],value:"right",style:{},icon:"table-position-right",svgIcon:i.tablePositionEndIcon}].map(r=>({...r,style:E.tablePositionStyles[r.value]})),ce=[{textKey:t.keys.tablePropertiesTop,text:t.messages[t.keys.tablePropertiesTop],value:"top",icon:"position-top",svgIcon:i.positionTopIcon},{textKey:t.keys.tablePropertiesBottom,text:t.messages[t.keys.tablePropertiesBottom],value:"bottom",icon:"position-bottom",svgIcon:i.positionBottomIcon}],me=[{textKey:t.keys.tablePropertiesNone,text:t.messages[t.keys.tablePropertiesNone],value:"none"},{textKey:t.keys.tablePropertiesUsingScopeAttribute,text:t.messages[t.keys.tablePropertiesUsingScopeAttribute],value:"scope"},{textKey:t.keys.tablePropertiesUsingIdAttributes,text:t.messages[t.keys.tablePropertiesUsingIdAttributes],value:"id"}],Ee=r=>{const s=e.useMemo(()=>{const l=r.view&&r.view.state;return l?E.tableDefaultData(l):E.initialTableData},[r.view]),a=ue.useLocalization(),[g,P]=e.useState(0),f=e.useCallback(l=>{P(l.selected)},[]),b=e.useRef(null),v=e.useRef(null),d=e.useRef(null),k=e.useRef(null),c=e.useRef(null),p=e.useRef(null),N=e.useRef(null),I=e.useRef(null),B=e.useRef(null),T=e.useRef(null),S=e.useRef(null),x=e.useRef(null),D=e.useRef(null),K=e.useRef(null),V=e.useRef(null),W=e.useRef(null),z=e.useRef(null),q=e.useRef(null),H=e.useRef(null),U=e.useRef(null),h=e.useRef(null),w=e.useRef(null),R=e.useRef(null),de=e.useCallback(()=>{var C,F,M,O,j,_,G,$,J,Q,X,Y,Z,ee,te,ae,le,se,re,ne;const l={rows:((C=b.current)==null?void 0:C.value)||0,columns:((F=v.current)==null?void 0:F.value)||0,width:d.current?d.current.value:null,height:k.current?k.current.value:null,cellSpacing:c.current?c.current.value:null,cellPadding:p.current?p.current.value:null,borderWidth:N.current?N.current.value:null,widthUnit:((M=I.current)==null?void 0:M.value)||"",heightUnit:((O=B.current)==null?void 0:O.value)||"",position:((_=(j=T.current)==null?void 0:j.value)==null?void 0:_.value)||null,textAlign:(G=S.current)!=null&&G.value?S.current.value.value:null,borderStyle:($=x.current)!=null&&$.value?x.current.value.value:null,backgroundColor:(J=D.current)==null?void 0:J.value,borderColor:(Q=K.current)==null?void 0:Q.value,collapseBorders:!!((Y=(X=V.current)==null?void 0:X.element)!=null&&Y.checked),id:String(((Z=W.current)==null?void 0:Z.value)||""),className:String(((ee=z.current)==null?void 0:ee.value)||""),caption:String(((te=q.current)==null?void 0:te.value)||""),headerRows:((ae=H.current)==null?void 0:ae.value)||0,headerColumns:((le=U.current)==null?void 0:le.value)||0,captionAlignment:(se=h.current)!=null&&se.value?h.current.value.value:null,captionPosition:(re=w.current)!=null&&re.value?w.current.value.value:null,associateHeaders:(ne=R.current)!=null&&ne.value?R.current.value.value:"none"};r.onSave.call(void 0,l)},[r.onSave]),ge=e.createElement("div",{className:"k-form k-form-md"},e.createElement("fieldset",{className:"k-form-fieldset"},e.createElement("div",{className:"k-form-layout k-d-grid k-grid-cols-4 k-gap-x-4"},e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesRows,t.messages[t.keys.tablePropertiesRows])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:b,defaultValue:s.rows,min:1}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesColumns,t.messages[t.keys.tablePropertiesColumns])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:v,defaultValue:s.columns,min:1}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesWidth,t.messages[t.keys.tablePropertiesWidth])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:d,defaultValue:s.width,min:0,placeholder:a.toLanguageString(t.keys.sizeAuto,t.messages[t.keys.sizeAuto])}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"}," "),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(m.AutoComplete,{ref:I,defaultValue:s.widthUnit,data:o.units,popupSettings:o.popupSettings}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesHeight,t.messages[t.keys.tablePropertiesHeight])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:k,defaultValue:s.height,min:0,placeholder:a.toLanguageString(t.keys.sizeAuto,t.messages[t.keys.sizeAuto])}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"}," "),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(m.AutoComplete,{ref:B,defaultValue:s.heightUnit,data:o.units.filter(l=>l!=="%"),popupSettings:o.popupSettings}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesPosition,t.messages[t.keys.tablePropertiesPosition])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(m.DropDownList,{ref:T,defaultValue:ie.find(l=>l.value===s.position),popupSettings:o.popupSettings,data:ie.map(l=>({...l,text:a.toLanguageString(l.textKey,l.text)})),textField:"text",dataItemKey:"value",valueRender:u.valueRenderWithIcon,itemRender:u.itemRenderWithIcon}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesAlignment,t.messages[t.keys.tablePropertiesAlignment])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(m.DropDownList,{ref:S,defaultValue:y.find(l=>l.value===s.textAlign),data:y.map(l=>({...l,text:a.toLanguageString(l.textKey,l.text)})),textField:"text",dataItemKey:"value",popupSettings:o.popupSettings,valueRender:u.valueRenderWithIcon,itemRender:u.itemRenderWithIcon}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesCellSpacing,t.messages[t.keys.tablePropertiesCellSpacing])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:c,defaultValue:s.cellSpacing,placeholder:a.toLanguageString(t.keys.sizeAuto,t.messages[t.keys.sizeAuto]),min:0}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesCellPadding,t.messages[t.keys.tablePropertiesCellPadding])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:p,defaultValue:s.cellPadding,placeholder:a.toLanguageString(t.keys.sizeAuto,t.messages[t.keys.sizeAuto]),min:0}))),e.createElement("div",{className:"k-form-field k-col-span-full"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesTableBackground,t.messages[t.keys.tablePropertiesTableBackground])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.ColorPicker,{ref:D,defaultValue:s.backgroundColor}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesBorderWidth,t.messages[t.keys.tablePropertiesBorderWidth])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:N,defaultValue:s.borderWidth,min:0}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesBorderColor,t.messages[t.keys.tablePropertiesBorderColor])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.ColorPicker,{ref:K,defaultValue:s.borderColor}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesBorderStyle,t.messages[t.keys.tablePropertiesBorderStyle])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(m.DropDownList,{ref:x,defaultValue:o.borderStyles.find(l=>l.value===s.borderStyle),popupSettings:o.popupSettings,data:o.borderStyles.map(l=>({...l,text:a.toLanguageString(l.textKey,l.text)})),textField:"text",dataItemKey:"value"}))),e.createElement("div",{className:"k-form-field k-col-span-full"},e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.Checkbox,{ref:V,className:"k-checkbox-wrap",label:a.toLanguageString(t.keys.tablePropertiesCollapseBorders,t.messages[t.keys.tablePropertiesCollapseBorders]),defaultChecked:s.collapseBorders})))))),pe=e.createElement("div",{className:"k-form k-form-md"},e.createElement("fieldset",{className:"k-form-fieldset"},e.createElement("div",{className:"k-form-layout k-d-grid"},e.createElement("div",{className:"k-form-field"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesId,t.messages[t.keys.tablePropertiesId])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.TextBox,{ref:W,defaultValue:s.id}))),e.createElement("div",{className:"k-form-field"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesCssClass,t.messages[t.keys.tablePropertiesCssClass])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.TextBox,{ref:z,defaultValue:s.className}))),e.createElement("fieldset",{className:"k-form-fieldset"},e.createElement("legend",{className:"k-form-legend"},a.toLanguageString(t.keys.tablePropertiesAccessibility,t.messages[t.keys.tablePropertiesAccessibility])),e.createElement("div",{className:"k-d-grid k-grid-cols-4 k-gap-x-4"},e.createElement("div",{className:"k-form-field k-col-span-full"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesCaption,t.messages[t.keys.tablePropertiesCaption])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.TextBox,{ref:q,defaultValue:s.caption}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesCaptionPosition,t.messages[t.keys.tablePropertiesCaptionPosition])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(m.DropDownList,{ref:w,defaultValue:ce.find(l=>l.value===s.captionPosition),data:ce.map(l=>({...l,text:a.toLanguageString(l.textKey,l.text)})),popupSettings:o.popupSettings,textField:"text",dataItemKey:"value",valueRender:u.valueRenderWithIcon,itemRender:u.itemRenderWithIcon}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesCaptionAlignment,t.messages[t.keys.tablePropertiesCaptionAlignment])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(m.DropDownList,{ref:h,defaultValue:y.find(l=>l.value===s.captionAlignment),data:y.map(l=>({...l,text:a.toLanguageString(l.textKey,l.text)})),popupSettings:o.popupSettings,textField:"text",dataItemKey:"value",valueRender:u.valueRenderWithIcon,itemRender:u.itemRenderWithIcon}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesHeaderRows,t.messages[t.keys.tablePropertiesHeaderRows])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:H,defaultValue:s.headerRows,min:0}))),e.createElement("div",{className:"k-form-field k-col-span-1"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesHeaderCols,t.messages[t.keys.tablePropertiesHeaderCols])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(n.NumericTextBox,{ref:U,defaultValue:s.headerColumns,min:0}))),e.createElement("div",{className:"k-form-field k-col-span-2"},e.createElement("label",{className:"k-label k-form-label"},a.toLanguageString(t.keys.tablePropertiesAssociateHeaders,t.messages[t.keys.tablePropertiesAssociateHeaders])),e.createElement("div",{className:"k-form-field-wrap"},e.createElement(m.DropDownList,{ref:R,defaultValue:me.find(l=>l.value===s.associateHeaders),data:me.map(l=>({...l,text:a.toLanguageString(l.textKey,l.text)})),popupSettings:o.popupSettings,textField:"text",dataItemKey:"value"})))))))),ke=e.createElement(L.TabStrip,{selected:g,onSelect:f,animation:!1,keepTabsMounted:!0},e.createElement(L.TabStripTab,{title:a.toLanguageString(t.keys.tablePropertiesGeneral,t.messages[t.keys.tablePropertiesGeneral])},ge),e.createElement(L.TabStripTab,{title:a.toLanguageString(t.keys.tablePropertiesAdvanced,t.messages[t.keys.tablePropertiesAdvanced])},pe)),fe=[e.createElement(A.Button,{themeColor:"primary",key:"save",onClick:de},a.toLanguageString(t.keys.tablePropertiesSave,t.messages[t.keys.tablePropertiesSave])),e.createElement(A.Button,{onClick:r.onClose,key:"cancel"},a.toLanguageString(t.keys.tablePropertiesCancel,t.messages[t.keys.tablePropertiesCancel]))];return e.createElement(oe.Window,{className:"k-editor-window k-editor-table-wizard-window",title:a.toLanguageString(t.keys.tableProperties,t.messages[t.keys.tableProperties]),onClose:r.onClose,key:"dialog",style:{userSelect:"none"},width:480,height:630,modal:!0,minimizeButton:()=>null,maximizeButton:()=>null,resizable:!1},ke,e.createElement(oe.WindowActionsBar,{layout:"start"},...fe))};exports.TableProperties=ye;
|