PageSourceSearch

http://node.cc/static/js/NumberInput.DstpPDIG.js

js node.cc collected 2026-10-06 13:17:48 UTC 10,768 bytes, 1 lines download raw bytes

1import{o as e}from"./rolldown-runtime.DAXXjFlN.js";import{r as t}from"./emotion-is-prop-valid.esm.CygBv61C.js";import{a as n,i as r,t as i,y as a}from"./emotion-styled.browser.esm.DsRKNFfx.js";import{t as o}from"./loglevel.BJBYxGId.js";import{Ut as ee,Xt as te,c as s}from"./utils.94RcZhG4.js";import{O as c}from"./protobuf.DC2L68b9.js";import{n as l,t as u}from"./types.cZoyy9Y-.js";import{r as ne}from"./StreamlitMarkdown.DJLoxxnS.js";import{n as d}from"./Icon.RiOK8SDN.js";import{r as re,t as ie}from"./DynamicIcon.44zobID_.js";import{t as ae}from"./useEmotionTheme.D29Ufy6b.js";import{n as oe,s as f,t as se}from"./Tooltip.PNC8NIZa.js";import{r as p}from"./useTextField.BYQ8oAlv.js";import{t as ce}from"./TextField.L8vxRwMe.js";import{t as le}from"./useCalculatedDimensions.BnLCBgVi.js";import{t as m}from"./index.esm.DCRlH4DP.js";import{t as ue}from"./ErrorOutline.esm.CZ5wypOV.js";import{t as de}from"./Cancel.esm.CTWwYXdL.js";import{t as fe}from"./WidgetLabel.CVV1ys75.js";import{t as pe}from"./WidgetLabelHelpIcon.BmvkC-YW.js";import{t as h}from"./sprintfjs.gMlXBjFJ.js";import{n as me}from"./useBasicWidgetState.CpWukz_T.js";import{t as he}from"./InputInstructions.D7oNXsUt.js";var g=e(t()),_=g.forwardRef(function(e,t){return g.createElement(m,a({iconAttrs:{fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`},iconVerticalAlign:`middle`,iconViewBox:`0 0 8 8`},e,{ref:t}),g.createElement(`path`,{d:`M0 3v2h8V3H0z`}))});_.displayName=`Minus`;var v=g.forwardRef(function(e,t){return g.createElement(m,a({iconAttrs:{fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`},iconVerticalAlign:`middle`,iconViewBox:`0 0 8 8`},e,{ref:t}),g.createElement(`path`,{d:`M3 0v3H0v2h3v3h2V5h3V3H5V0H3z`}))});v.displayName=`Plus`;var ge=i(`div`,{target:`e1rv0tzo0`})(({theme:e,$isFocused:t,$hasError:n})=>({display:`flex`,flexDirection:`row`,flexWrap:`nowrap`,alignItems:`center`,height:e.sizes.minElementHeight,borderWidth:e.sizes.borderWidth,borderStyle:`solid`,borderColor:n?e.colors.redTextColor:f(e.colors,t),backgroundColor:n?e.colors.redBackgroundColor:e.colors.secondaryBg,transitionDuration:`200ms`,transitionProperty:`border`,transitionTimingFunction:`cubic-bezier(0.2, 0.8, 0.4, 1)`,borderRadius:e.radii.default,overflow:`hidden`})),_e=i(`div`,{target:`e1rv0tzo1`})({display:`flex`,flexDirection:`row`,alignSelf:`stretch`}),y=i(`button`,{target:`e1rv0tzo2`})(({theme:e})=>({margin:e.spacing.none,border:`none`,height:e.sizes.full,display:`flex`,alignItems:`center`,width:e.sizes.numberInputControlsWidth,justifyContent:`center`,color:e.colors.bodyText,transition:`color 300ms, backgroundColor 300ms`,backgroundColor:e.colors.transparent,"&:hover:enabled, &:focus:enabled":{color:e.colors.white,backgroundColor:e.colors.primary,transition:`none`,outline:`none`},"&:active":{outline:`none`,border:`none`},"&:disabled":{cursor:`not-allowed`,color:e.colors.fadedText40}})),ve=i(p,{target:`e1rv0tzo3`})(({theme:e})=>({flex:1,minWidth:0,border:`none`,background:`transparent`,outline:`none`,color:e.colors.bodyText,fontFamily:e.genericFonts.bodyFont,fontSize:e.fontSizes.sm,fontWeight:e.fontWeights.normal,lineHeight:e.lineHeights.inputWidget,paddingTop:e.spacing.sm,paddingBottom:e.spacing.sm,paddingLeft:e.spacing.md,paddingRight:e.spacing.sm,"::placeholder":{color:e.colors.fadedText60},MozAppearance:`textfield`,"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button":{WebkitAppearance:`none`,margin:e.spacing.none},"&[disabled]":{cursor:`not-allowed`,color:e.colors.fadedText40,WebkitTextFillColor:e.colors.fadedText40,backgroundColor:`transparent`},"&[aria-invalid='true']":{color:e.colors.redTextColor}})),ye=i(`div`,{target:`e1rv0tzo4`})(({theme:e,$isMaterialIcon:t})=>({display:`flex`,alignItems:`center`,paddingLeft:e.spacing.sm,paddingRight:0,minWidth:e.iconSizes.base,color:t?e.colors.fadedText60:`inherit`,flexShrink:0})),be=i(`button`,{target:`e1rv0tzo5`})(({theme:e})=>({display:`flex`,alignItems:`center`,background:`none`,border:`none`,cursor:`pointer`,padding:`0 ${e.spacing.twoXS}`,color:e.colors.grayTextColor,flexShrink:0,"&:hover:not(:disabled)":{color:e.colors.bodyText},"&:disabled":{cursor:`not-allowed`}})),xe=i(`div`,{target:`e1rv0tzo6`})(({theme:e})=>({display:`flex`,alignItems:`center`,color:e.colors.redTextColor,backgroundColor:e.colors.transparent,paddingLeft:e.spacing.twoXS,paddingRight:e.spacing.twoXS,flexShrink:0})),Se=i(`div`,{target:`e1rv0tzo7`})(({theme:e,$clearable:t,$hasError:n})=>({position:`absolute`,marginRight:e.spacing.twoXS,left:0,right:`calc(${e.sizes.numberInputControlsWidth} * 2 + ${t?`1em`:`0em`} + ${n?`1em`:`0em`})`})),Ce=i(`span`,{target:`e1rv0tzo8`})({position:`absolute`,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0}),b=(0,e(o(),1).getLogger)(`NumberInput`);function x(e){return u(e)||e===``?void 0:e}var S=e=>{let t=e.toString();if(t.includes(`e-`)){let e=t.match(/(\d+(?:\.\d+)?)e-(\d+)/);return e?(e[1]?.split(`.`)[1]||``).length+parseInt(e[2],10):0}return(t.split(`.`)[1]||``).length},C=({value:e,format:t,step:n,dataType:r})=>{if(u(e))return null;let i=x(t);if(u(i)&&l(n)&&r===c.DataType.FLOAT&&n!==0){let e=S(n);e>0&&(i=`%0.${e}f`)}if(u(i))return e.toString();try{return h(i,e)}catch(t){return b.warn(`Error in sprintf(${i}, ${e}): ${t}`),String(e)}},we=(e,t,n)=>!u(e)&&e-t>
1=n,Te=(e,t,n)=>!u(e)&&e+t<=n,Ee=(e,t,n)=>{let r=S(t);if(r===0)switch(n){case`add`:return e+t;case`subtract`:return e-t}let i=10**r,a=Math.round(e*i),o=Math.round(t*i);switch(n){case`add`:return(a+o)/i;case`subtract`:return(a-o)/i}},De=({step:e,dataType:t})=>e||(t===c.DataType.INT?1:.01);function w(e,t){return t.dataType===c.DataType.INT?e.getIntValue(t):e.getDoubleValue(t)}function Oe(e){return e.default??null}function ke(e){return e.value??e.default??null}function T(e,t,n,r){switch(e.dataType){case c.DataType.INT:t.setIntValue(e,n.value,{fromUi:n.fromUi},r);break;case c.DataType.FLOAT:t.setDoubleValue(e,n.value,{fromUi:n.fromUi},r);break;default:throw Error(`Invalid data type`)}}var E=(0,g.memo)(({disabled:e,element:t,widgetMgr:i,fragmentId:a})=>{let o=ae(),{dataType:f,formId:p,default:m,format:h,icon:b,min:x,max:S,hasMin:E,hasMax:D}=t,{width:O,elementRef:Ae}=le(),k=(0,g.useMemo)(()=>De({step:t.step,dataType:t.dataType}),[t.step,t.dataType]),A=(0,g.useCallback)(e=>C({value:e,dataType:f,format:h,step:k}),[f,h,k]),[j,M]=(0,g.useState)(!1),[N,P]=(0,g.useState)(()=>C({value:w(i,t)??m??null,dataType:f,format:h,step:k})),[F,I]=(0,g.useState)(null),je=t.queryParamKey?{paramKey:t.queryParamKey,valueType:`double_value`,clearable:u(t.default)}:void 0,[L,R]=me({getStateFromWidgetMgr:w,getDefaultStateFromProto:Oe,getCurrStateFromProto:ke,updateWidgetMgrState:T,element:t,widgetMgr:i,fragmentId:a,formClearBehavior:`resetValueAndRunCallback`,onFormCleared:(0,g.useCallback)(()=>{let e=m??null;M(!1),P(A(e)),I(null)},[m,A]),queryParamBinding:je}),[z,B]=(0,g.useState)(!1),V=(0,g.useRef)(null),H=(0,g.useId)(),U=`${H}-validation-error`,W=ee({formId:p}),Me=W?i.allowFormEnterToSubmit(p):j,Ne=z&&O>s(o.breakpoints.hideWidgetDetails);(0,g.useEffect)(()=>{j||(P(A(L)),I(null))},[L,j,A]);let G=(0,g.useCallback)(e=>{let t=e<x;if(!t&&!(e>S))return null;let n=A(x)??String(x),r=A(S)??String(S);return E&&D?`Number is outside the allowed range. Please enter a value between ${n} and ${r}.`:t?E?`Number is below the allowed range. Please enter a value greater than or equal to ${n}.`:`Number is below the allowed range.`:D?`Number is above the allowed range. Please enter a value less than or equal to ${r}.`:`Number is above the allowed range.`},[A,D,E,S,x]),K=(0,g.useCallback)(({value:e,fromUi:n})=>{if(l(e)){let t=G(e);if(t)return I(t),!1}let r=e??m??null;return I(null),R({value:r,fromUi:n}),W&&T(t,i,{value:r,fromUi:n},a),M(!1),P(A(r)),!0},[m,A,G,R,W,t,i,a]),q=u(t.default)&&!e,J=(0,g.useCallback)(()=>{K({value:null,fromUi:!0})},[K]),Pe=(0,g.useCallback)(()=>{B(!0)},[]);(0,g.useEffect)(()=>{let e=V.current;if(e){let t=e=>{e.preventDefault()};return e.addEventListener(`wheel`,t),()=>{e.removeEventListener(`wheel`,t)}}},[]);let Fe=(0,g.useCallback)(e=>{let{value:t}=e.target;I(null),t===``?(M(!0),P(null)):(M(!0),P(t))},[]),Y=(0,g.useMemo)(()=>{if(N===null||N===``)return null;if(t.dataType===c.DataType.INT){let e=parseInt(N,10);return isNaN(e)?null:e}let e=parseFloat(N);return isNaN(e)?null:e},[N,t.dataType]),X=we(Y,k,x),Z=Te(Y,k,S),Ie=(0,g.useCallback)(()=>{j&&K({value:Y,fromUi:!0}),B(!1)},[j,Y,K]),Q=(0,g.useCallback)(()=>{if(Z){let e=Ee(Y??x,k,`add`);K({value:e,fromUi:!0})}},[Y,x,k,Z,K]),$=(0,g.useCallback)(()=>{if(X){let e=Ee(Y??S,k,`subtract`);K({value:e,fromUi:!0})}},[Y,S,k,X,K]),Le=(0,g.useCallback)(e=>{let{key:t}=e;switch(t){case`ArrowUp`:e.preventDefault(),Q();break;case`ArrowDown`:e.preventDefault(),$();break;case`Escape`:q&&(e.preventDefault(),J());break;case`Enter`:{let e=!0;j&&(e=K({value:Y,fromUi:!0})),e&&!F&&i.allowFormEnterToSubmit(p)&&i.submitForm(p,a);break}default:}},[Q,$,q,J,j,Y,K,F,i,p,a]),Re=s(o.iconSizes.base)+2*s(o.spacing.twoXS),ze=s(o.breakpoints.hideNumberInputControls),Be=b?ze+Re:ze;return n(`div`,{className:`stNumberInput`,"data-testid":`stNumberInput`,ref:Ae,children:[r(fe,{label:t.label,disabled:e,labelVisibility:te(t.labelVisibility?.value),htmlFor:H,children:t.help&&r(pe,{content:t.help,label:t.label})}),r(ce,{isDisabled:e,"aria-label":t.label,validationBehavior:`aria`,isInvalid:!!F,children:n(ge,{$isFocused:z,$hasError:!!F,"data-testid":`stNumberInputContainer`,children:[t.icon&&r(ye,{$isMaterialIcon:re(t.icon),children:r(ie,{"data-testid":`stNumberInputIcon`,iconValue:t.icon,size:`base`})}),r(ve,{ref:V,id:H,"data-testid":`stNumberInputField`,type:`number`,step:k,min:x,max:S,value:N??``,placeholder:t.placeholder,"aria-describedby":F?U:void 0,onFocus:Pe,onBlur:Ie,onChange:Fe,onKeyDown:Le}),F&&r(xe,{children:r(oe,{content:r(ne,{source:`**Error**: ${F}`,allowHTML:!1}),placement:se.TOP_RIGHT,error:!0,children:r(d,{content:ue,size:`base`})})}),q&&l(N)&&r(be,{type:`button`,"data-testid":`stNumberInputClearButton`,"aria-label":`Clear value`,disabled:e,tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:J,children:r(de,{size:o.iconSizes.base,"aria-hidden":`true`})}),O>Be&&n(_e,{children:[r(y,{type:`button`,"data-testid":`stNumberInputStepDown`,"aria-label":`Decrement`,onClick:$,disabled:!X||e,tabIndex:-1,
1children:r(d,{content:_,size:`xs`,color:X?`inherit`:o.colors.fadedText40})}),r(y,{type:`button`,"data-testid":`stNumberInputStepUp`,"aria-label":`Increment`,onClick:Q,disabled:!Z||e,tabIndex:-1,children:r(d,{content:v,size:`xs`,color:Z?`inherit`:o.colors.fadedText40})})]}),F&&r(Ce,{id:U,role:`alert`,children:`Error: ${F}`})]})}),Ne&&r(Se,{$clearable:q,$hasError:!!F,children:r(he,{dirty:j,value:N??``,inForm:W,allowEnterToSubmit:Me})})]})});export{E as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.