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