amotify
Version:
UI Component for React,NextJS,esbuild
2 lines (1 loc) • 1.8 kB
JavaScript
import{b as o,c as l,d as y}from"../../chunk-C5N2D3ZX.js";import{jsx as d}from"react/jsx-runtime";import{UUID as w}from"jmini";import{useState as R}from"react";import{OptionalInputWrapper as D,BoxWrapper as S,CoreEffects as s,DefaultBoxishStyles as g}from"./core";import{Box as B}from"../../atoms";function U(t){let{value:e,states:c}=t,{required:u}=c,n=[];return u&&!e&&n.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!n.filter(({type:r})=>r=="invalid").length,notice:n}}const F=t=>{let f=t,{componentId:e,tone:c,required:u,form:n,value:r,enableFormSubmit:h,showInitValidation:T,onInput:m,onKeyDown:I,onValidate:H,onValidateDelay:L,onUpdateValue:M,onUpdateValidValue:_,onUserAction:W,children:x="",leftIndicator:q,rightIndicator:A,leftIcon:K,rightIcon:k,xcss:N,wrapStyles:O}=f,E=y(f,["componentId","tone","required","form","value","enableFormSubmit","showInitValidation","onInput","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","children","leftIndicator","rightIndicator","leftIcon","rightIcon","xcss","wrapStyles"]),[i,p]=R(s.DefaultStatus(e,r));return s.CommonEffects({type:"contenteditable",states:t,val_status:i,set_status:p,SystemValidation:U}),d(S,{val_status:i,set_status:p,states:t,children:d(B,l(o({contentEditable:!0,"data-show-validation":s.isShowValidation(i,!!T),"data-component-id":i.componentId,onKeyDown:a=>{I&&I(a),h&&s.SubmitForm(a,n)},onInput:a=>{let V=a.currentTarget,{innerHTML:z,innerText:C}=V;p(v=>l(o({},v),{rawValue:C,eventType:"update",eventID:w(12),isInspected:!1,isValidated:!1,notice:[]})),m&&m(a)}},E),{children:x}))})},b=t=>{t=l(o({rows:5},t),{xcss:o({whiteSpace:"pre-wrap"},t.xcss)});let e=g(t);return d(D,{componentId:t.componentId,children:F,states:e})};export{b as Contenteditable,b as default};