UNPKG

design-react-kit

Version:

Componenti React per Bootstrap 5

2 lines 4.42 kB
"use strict";var z=Object.create;var A=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var J=(e,t)=>{for(var n in t)A(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of W(t))!G.call(e,r)&&r!==n&&A(e,r,{get:()=>t[r],enumerable:!(o=D(t,r))||o.enumerable});return e};var O=(e,t,n)=>(n=e!=null?z(q(e)):{},h(t||!e||!e.__esModule?A(n,"default",{value:e,enumerable:!0}):n,e)),K=e=>h(A({},"__esModule",{value:!0}),e);var X={};J(X,{TextArea:()=>R});module.exports=K(X);var x=O(require("react"),1);var s=O(require("react"),1),I=({id:e,infoId:t,infoText:n,testId:o,activeClass:r,extraLabelClass:a,label:i,validationTextClass:f,validationText:g,wrapperClass:u,hasButtonRight:m,buttonRight:b,hasIconLeft:c,iconLeft:l,children:p})=>m||c?s.default.createElement("div",{className:u,"data-testid":o},s.default.createElement("div",{className:"input-group"},c&&s.default.createElement("span",{className:"input-group-text"},l),s.default.createElement("label",{htmlFor:e,className:r+" "+a},i),p,n&&s.default.createElement("small",{id:t,className:"form-text"},n),s.default.createElement("div",{className:f},g),m&&s.default.createElement("div",{className:"input-group-append"},b))):s.default.createElement("div",{className:u,"data-testid":o},s.default.createElement("label",{htmlFor:e,className:r+" "+a},i),p,n&&s.default.createElement("small",{id:t,className:"form-text"},n),s.default.createElement("div",{className:f},g));var C=O(require("classnames"),1),v=require("react");function d(e,t){let n=e??"";return t?n.split(" ").map(o=>t[o]??o).join(" "):n}function Q({plaintext:e,staticInput:t,type:n="text",normalized:o}){let r="form-control";return e||t||o?`${r}-plaintext`:n==="file"?`${r}-file`:["radio","checkbox"].indexOf(n)>-1?null:r}function j(e,t){return d(Q(e),t)}function B({valid:e},t){return d((0,C.default)({"form-text":!0,"form-feedback just-validate-error-label":e==!1}),t)}function V(e,t,{isFocused:n,valid:o,bsSize:r,placeholder:a,value:i,label:f,validationText:g,normalized:u,inputPassword:m,formControlClass:b,validationTextControlClass:c,originalWrapperClass:l},p){let P=a||f||g,L=P&&!u&&!m,N=m&&!P&&!u,T=u&&!P&&!m,S=d((0,C.default)(e,{"is-invalid":o==!1,"just-validate-success-field":o,[`form-control-${r}`]:r},b),p),F=d((0,C.default)(l,"form-group"),p),w=d((0,C.default)({"valid-feedback":o,"invalid-feedback form-feedback just-validate-error-label":o==!1},c),p),M=d((0,C.default)(S,!L&&{"form-control-plaintext":T,"form-control":N,"input-password":N}),p),H=d((0,C.default)({active:n||a||i||["date","time"].includes(t)}),p),y=d((0,C.default)({"input-number-label":["number","currency","adaptive","percentage"].includes(t)}));return{wrapperClass:F,inputClasses:M,activeClass:H,extraLabelClass:y,validationTextClass:w}}function $({onFocus:e,onBlur:t}){let[n,o]=(0,v.useState)(!1),r=(0,v.useCallback)(i=>{o(!0),e?.(i)},[e]),a=(0,v.useCallback)(i=>{i.target.value===""&&o(!n),t?.(i)},[n,t]);return{toggleFocusLabel:r,toggleBlurLabel:a,isFocused:n}}var R=({id:e,className:t,cssModule:n,innerRef:o,label:r,validationText:a,infoText:i,placeholder:f,normalized:g,value:u,wrapperClassName:m,valid:b,testId:c,...l})=>{let{toggleFocusLabel:p,toggleBlurLabel:P,isFocused:L}=$({onFocus:l.onFocus,onBlur:l.onBlur}),N=B({valid:b},n),T={},S=j({},n),F=e?`${e}Description`:void 0;e&&(T["aria-describedby"]=F);let{activeClass:w,extraLabelClass:M,validationTextClass:H,inputClasses:y,wrapperClass:U}=V(t,"textarea",{valid:b,placeholder:f,value:u,label:r,validationText:a,normalized:!!g,formControlClass:S,validationTextControlClass:N,isFocused:L,originalWrapperClass:m},n),k={id:e,onFocus:p,onBlur:P,value:u,ref:o},E={id:e,infoId:F,infoText:i,activeClass:w,extraLabelClass:M,label:r,validationTextClass:H,validationText:a,wrapperClass:U};return f?x.default.createElement(I,{...E},x.default.createElement("textarea",{...l,...T,...k,className:y,placeholder:f,"data-testid":c})):g?x.default.createElement(I,{...E},x.default.createElement("textarea",{...l,...T,...k,className:y,readOnly:!0,"data-testid":c})):r||a?x.default.createElement(I,{...E},x.default.createElement("textarea",{...l,...T,...k,className:y,"data-testid":c})):x.default.createElement("textarea",{...l,...T,className:y,...k,ref:o,"data-testid":c})};0&&(module.exports={TextArea}); //# sourceMappingURL=TextArea.cjs.map