@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.02 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 w=require("react"),z=require("@progress/kendo-react-dropdowns"),p=require("@progress/kendo-editor-common"),g=require("./utils.js"),v=require("@progress/kendo-react-intl"),D=require("../messages/index.js");function b(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const l=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,l.get?l:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const y=b(w);exports.FormatBlockToolNS=void 0;(t=>{t.createFormatBlockDropDownList=o=>{const n=class extends y.Component{constructor(){super(...arguments),this.onChange=a=>{const i=a.target.value,{view:r}=this.props;if(r&&p.formatBlockElements(i.value,o.commandName)(r.state,r.dispatch)){const{syntheticEvent:c}=a;c&&c.type==="click"&&r.focus()}}}render(){const{view:a,render:i,data:r,defaultItem:c,...k}=this.props,u=r||o.items;let e=c||o.defaultItem;const d=a&&a.state,m=d?p.getBlockFormats(d):[],h=v.provideLocalizationService(this);e&&e.localizationKey&&(e={...e},e.text=e.localizationKey?h.toLanguageString(e.localizationKey,D.messages[e.localizationKey]):e.text);const s=new Set(m).size===1?m[0]:null,f=y.createElement(z.DropDownList,{value:s&&u.find(S=>S.value===s),onChange:this.onChange,itemRender:g.itemRender,data:u,defaultItem:e,textField:"text",dataItemKey:"value",style:g.userSelectNone,leftRightKeysNavigation:!1,title:e.text,...k});return i?i.call(void 0,f,{view:a}):f}};return v.registerForLocalization(n),n}})(exports.FormatBlockToolNS||(exports.FormatBlockToolNS={}));