@progress/kendo-react-editor
Version:
React Editor enables users to create rich text content through a WYSIWYG interface. KendoReact Editor package
94 lines (93 loc) • 2.89 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import * as r from "react";
import o from "prop-types";
import { Popup as c } from "@progress/kendo-react-popup";
import h from "./popupGrid.mjs";
var a;
((d) => {
const e = class e extends r.Component {
constructor() {
super(...arguments), this.pointerdown = !1, this.onWindowDown = (t) => {
const { anchor: n } = this.props;
n && (n === t.target || n.firstElementChild === t.target) || (this.props.show && !this.pointerdown && this.props.onClose(), this.pointerdown = !1);
}, this.onPointerDown = () => this.pointerdown = !0;
}
/**
* @hidden
*/
componentDidUpdate(t) {
t.show && this.props.show && this.props.onClose();
}
/**
* @hidden
*/
componentDidMount() {
window.addEventListener("mousedown", this.onWindowDown), window.addEventListener("pointerdown", this.onWindowDown);
}
/**
* @hidden
*/
componentWillUnmount() {
window.removeEventListener("mousedown", this.onWindowDown), window.removeEventListener("pointerdown", this.onWindowDown);
}
/**
* @hidden
*/
render() {
const {
show: t,
anchor: n,
dir: i,
rows: l = e.defaultProps.rows,
columns: w = e.defaultProps.columns
} = this.props, p = i === "rtl" ? "right" : "left";
return /* @__PURE__ */ r.createElement(
c,
{
anchor: n,
anchorAlign: { horizontal: p, vertical: "bottom" },
popupAlign: { horizontal: p, vertical: "top" },
popupClass: "k-ct-popup k-group k-reset k-state-border-up",
show: t,
style: i === "rtl" ? { direction: "rtl" } : void 0
},
/* @__PURE__ */ r.createElement(
h,
{
rows: l,
columns: w,
createTableMessage: this.props.createTableMessage,
createTableHintMessage: this.props.createTableHintMessage,
onCellClick: this.props.onTableInsert,
onDown: this.onPointerDown
}
)
);
}
};
e.propTypes = {
show: o.bool.isRequired,
createTableMessage: o.string.isRequired,
createTableHintMessage: o.string.isRequired,
onClose: o.func.isRequired,
onTableInsert: o.func.isRequired,
anchor: o.any,
rows: o.number,
columns: o.number,
dir: o.string
}, e.defaultProps = {
rows: 6,
columns: 8
};
let s = e;
d.InsertTablePopup = s;
})(a || (a = {}));
export {
a as InsertTablePopupNS
};