openstack-uicore-foundation
Version:
ui reactjs components for openstack marketing site
2 lines • 2.45 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={};(()=>{e.n=t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r}})(),(()=>{e.d=(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})}})(),(()=>{e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var t={};e.r(t),e.d(t,{default:()=>d});const r=require("@babel/runtime/helpers/extends");var n=e.n(r);const o=require("@babel/runtime/helpers/objectWithoutProperties");var a=e.n(o);const l=require("react");var c=e.n(l);const u=require("react-rte");var i=e.n(u);const s=["id","value","onChange","error","className","maxLength"],m=({value:e,onSave:t})=>{const[r,n]=(0,l.useState)(e);return c().createElement(c().Fragment,null,c().createElement("textarea",{style:{width:"100%"},value:r,onChange:e=>n(e.target.value)}),c().createElement("button",{className:"btn btn-xs btn-primary",onClick:()=>t(r)},"Save"))},d=e=>{var t;let{id:r,value:o,onChange:d,error:p,className:v,maxLength:g}=e,b=a()(e,s);const[f,y]=(0,l.useState)("text"),[h,S]=(0,l.useState)((0,u.createValueFromString)(o,"html",{customBlockFn:u.getTextAlignBlockMetadata})),x=p&&""!==p,k=g-(null==h||null===(t=h.toString("html"))||void 0===t?void 0:t.length),E=e=>{S(e);let t=e.toString("html",{blockStyleFn:u.getTextAlignStyles});t="<p><br></p>"===t?"":t;d({target:{id:r,value:t,type:"texteditor"}})};return c().createElement("div",null,"text"===f&&c().createElement(i(),n()({id:r,className:v+" "+(x?"error":""),value:h,onChange:E,customControls:[(e,t,r)=>c().createElement(u.Button,{key:"view-code-btn",onClick:e=>{e.preventDefault(),y("text"===f?"code":"text")}},"view code")],blockStyleFn:u.getTextAlignClassName},b)),"code"===f&&c().createElement(m,{value:h.toString("html"),onSave:e=>{const t=(0,u.createValueFromString)(e,"html");E(t),y("text")}}),!!g&&c().createElement("p",null,c().createElement("i",null,"characters left: ",k)),x&&c().createElement("p",{className:"error-label"},p))};return t})()));
//# sourceMappingURL=editor-input-v2.js.map