import{s as U,r as a,a3 as k,u as H,a4 as S,e as B,j as n,l as O,O as j,T as _,P as K,W as $,x as q,a5 as w}from"./index.Bzd-hLkw.js";import{u as A}from"./uniqueId.01p_6wuC.js";import{I as G}from"./InputInstructions.CfhaDd2r.js";import{u as N}from"./useBasicWidgetState.OjIRYQBB.js";import{u as J,a as M,b as Q}from"./useUpdateUiValue.BcQ72DzY.js";import{I as X}from"./input.qaupJrH1.js";import"./FormClearHelper.DHOVMdUr.js";import"./inputUtils.CptNuJwn.js";import"./base-input.C6KgfIc1.js";const Y=U("div",{target:"e1o1zy6o0"})("position:relative;");function Z({disabled:o,element:t,widgetMgr:s,fragmentId:u}){const[r,c]=a.useState(()=>W(s,t)??null),{width:T,elementRef:y}=k(),[i,p]=a.useState(!1),x=a.useCallback(()=>{c(t.default??null),p(!0)},[t.default]),[V,m]=N({getStateFromWidgetMgr:W,getDefaultStateFromProto:tt,getCurrStateFromProto:et,updateWidgetMgrState:ot,element:t,widgetMgr:s,fragmentId:u,onFormCleared:x});J(V,r,c,i);const[C,g]=a.useState(!1),e=H(),[f]=a.useState(()=>A("text_input_")),{placeholder:F,formId:l,icon:d,maxChars:b}=t,h=a.useCallback(()=>{p(!1),m({value:r,fromUi:!0})},[r,m]),E=S({formId:l})?s.allowFormEnterToSubmit(l):i,v=C&&T>e.breakpoints.hideWidgetDetails,z=a.useCallback(()=>{i&&h(),g(!1)},[i,h]),P=a.useCallback(()=>{g(!0)},[]),R=M({formId:l,maxChars:b,setDirty:p,setUiValue:c,setValueWithSource:m}),L=Q(l,h,i,s,u),I=d?.startsWith(":material"),D=I?"lg":"base";return B(Y,{className:"stTextInput","data-testid":"stTextInput",ref:y,children:[n($,{label:t.label,disabled:o,labelVisibility:O(t.labelVisibility?.value),htmlFor:f,children:t.help&&n(j,{children:n(_,{content:t.help,placement:K.TOP_RIGHT})})}),n(X,{value:r??"",placeholder:F,onBlur:z,onFocus:P,onChange:R,onKeyPress:L,"aria-label":t.label,disabled:o,id:f,type:at(t),autoComplete:t.autocomplete,startEnhancer:d&&n(q,{"data-testid":"stTextInputIcon",iconValue:d,size:D}),overrides:{Input:{style:{fontWeight:e.fontWeights.normal,minWidth:0,lineHeight:e.lineHeights.inputWidget,paddingRight:e.spacing.sm,paddingLeft:e.spacing.md,paddingBottom:e.spacing.sm,paddingTop:e.spacing.sm,"::placeholder":{color:e.colors.fadedText60}}},Root:{props:{"data-testid":"stTextInputRootElement"},style:{height:e.sizes.minElementHeight,borderLeftWidth:e.sizes.borderWidth,borderRightWidth:e.sizes.borderWidth,borderTopWidth:e.sizes.borderWidth,borderBottomWidth:e.sizes.borderWidth,paddingLeft:d?e.spacing.sm:0}},StartEnhancer:{style:{paddingLeft:0,paddingRight:0,minWidth:e.iconSizes.lg,color:I?e.colors.fadedText60:"inherit"}}}}),v&&n(G,{dirty:i,value:r??"",maxLength:b,inForm:S({formId:l}),allowEnterToSubmit:E})]})}function W(o,t){return o.getStringValue(t)??null}function tt(o){return o.default??null}function et(o){return o.value??null}function ot(o,t,s,u){t.setStringValue(o,s.value,{fromUi:s.fromUi},u)}function at(o){return o.type===w.Type.PASSWORD?"password":"text"}const mt=a.memo(Z);export{mt as default};
