@progress/kendo-react-editor
Version:
React Editor enables users to create rich text content through a WYSIWYG interface. KendoReact Editor package
9 lines (8 loc) • 2 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
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("react"),f=require("@progress/kendo-react-buttons"),b=require("@progress/kendo-editor-common"),h=require("./utils.js"),v=require("../dialogs/index.js"),g=require("@progress/kendo-react-intl"),L=require("../messages/index.js"),S=require("@progress/kendo-react-common");function y(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const i=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>t[o]})}}return e.default=t,Object.freeze(e)}const l=y(D);exports.LinkToolNS=void 0;(t=>{t.createLinkTool=e=>{const o=class extends l.Component{constructor(){super(...arguments),this.state={openedDialog:!1},this.toggleDialog=()=>{this.setState({openedDialog:!this.state.openedDialog})}}render(){const{view:n,render:c,...s}=this.props,r=n&&n.state,p=r?r.selection.empty:!0,k=r&&b.getMark(r,r.schema.marks[e.mark]),m=g.provideLocalizationService(this),{insertHyperlink:d}=e.messages,a=p&&!k,u=[l.createElement(f.Button,{onClick:a?void 0:this.toggleDialog,"aria-disabled":a?!0:void 0,key:"link",...h.onDownPreventDefault,title:m.toLanguageString(d,L.messages[d]),...e.props,...s,className:S.classNames(s.className,e.props.className,{"k-disabled":a})}),this.state.openedDialog&&n&&l.createElement(v.EditorDialogs.InsertLinkDialog,{key:"insertLinkDialog",settings:e,dir:s.dir,view:n,onClose:this.toggleDialog})||null];return c?c.call(void 0,u,{view:n}):u}};return g.registerForLocalization(o),o}})(exports.LinkToolNS||(exports.LinkToolNS={}));