@qualcomm-ui/core 1.0.9 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/combobox/combobox.api.d.ts.map +1 -1
- package/dist/combobox/index.cjs +1 -1
- package/dist/combobox/index.cjs.map +2 -2
- package/dist/combobox/index.js +1 -1
- package/dist/combobox/index.js.map +2 -2
- package/dist/input/input.types.d.ts +1 -0
- package/dist/input/input.types.d.ts.map +1 -1
- package/dist/number-input/index.cjs +1 -1
- package/dist/number-input/index.cjs.map +2 -2
- package/dist/number-input/index.js +1 -1
- package/dist/number-input/index.js.map +2 -2
- package/dist/number-input/number-input.api.d.ts.map +1 -1
- package/dist/password-input/index.cjs +1 -1
- package/dist/password-input/index.cjs.map +2 -2
- package/dist/password-input/index.js +1 -1
- package/dist/password-input/index.js.map +2 -2
- package/dist/password-input/password-input.api.d.ts.map +1 -1
- package/dist/progress/index.cjs +1 -1
- package/dist/progress/index.cjs.map +2 -2
- package/dist/progress/index.js +1 -1
- package/dist/progress/index.js.map +2 -2
- package/dist/progress/progress.api.d.ts.map +1 -1
- package/dist/progress/progress.types.d.ts +1 -0
- package/dist/progress/progress.types.d.ts.map +1 -1
- package/dist/select/index.cjs +1 -1
- package/dist/select/index.cjs.map +2 -2
- package/dist/select/index.js +1 -1
- package/dist/select/index.js.map +2 -2
- package/dist/select/select.api.d.ts.map +1 -1
- package/dist/text-input/index.cjs +1 -1
- package/dist/text-input/index.cjs.map +2 -2
- package/dist/text-input/index.js +1 -1
- package/dist/text-input/index.js.map +2 -2
- package/dist/text-input/text-input.api.d.ts.map +1 -1
- package/dist/tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var O=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var q=Object.prototype.hasOwnProperty;var K=(e,t)=>{for(var r in t)O(e,r,{get:t[r],enumerable:!0})},Y=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of W(t))!q.call(e,i)&&i!==r&&O(e,i,{get:()=>t[i],enumerable:!(n=_(t,i))||n.enumerable});return e};var X=e=>Y(O({},"__esModule",{value:!0}),e);var Z={};K(Z,{createFormatter:()=>x,createNumberInputApi:()=>j,createParser:()=>S,formatValue:()=>I,getDefaultStep:()=>B,numberInputMachine:()=>J,numberInputProps:()=>F,parseValue:()=>y,splitNumberInputProps:()=>Q});module.exports=X(Z);var f=require("@qualcomm-ui/dom/query"),o=require("@qualcomm-ui/utils/attributes");var s={decrementTrigger:e=>e.ids.get("decrementTrigger"),errorText:e=>e.ids.get("errorText"),hint:e=>e.ids.get("hint"),incrementTrigger:e=>e.ids.get("incrementTrigger"),input:e=>e.ids.get("input"),label:e=>e.ids.get("label")},b={decrementTrigger:e=>e.getById(s.decrementTrigger(e)),errorText:e=>e.getById(s.errorText(e)),hint:e=>e.getById(s.hint(e)),incrementTrigger:e=>e.getById(s.incrementTrigger(e)),input:e=>e.getById(s.input(e)),label:e=>e.getById(s.label(e))};function H(e,t){let r=null;return t==="increment"&&(r=b.incrementTrigger(e)),t==="decrement"&&(r=b.decrementTrigger(e)),r}var p={"data-scope":"number-input"};function j(e,t){let{computed:r,prop:n,scope:i,send:u,state:v}=e,N=v.hasTag("focus"),d=r("isDisabled"),E=n("readOnly"),C=r("isValueEmpty"),g=r("isOutOfRange")||!!n("invalid"),R=d||!r("canIncrement")||E,P=d||!r("canDecrement")||E,U=n("translations");return{clearValue(){u({type:"VALUE.CLEAR"})},decrement(){u({type:"VALUE.DECREMENT"})},empty:C,focus(){b.input(i)?.focus()},focused:N,increment(){u({type:"VALUE.INCREMENT"})},invalid:g,required:n("required"),setToMax(){u({type:"VALUE.SET",value:n("max")})},setToMin(){u({type:"VALUE.SET",value:n("min")})},setValue(l){u({type:"VALUE.SET",value:l})},value:r("formattedValue"),valueAsNumber:r("valueAsNumber"),getControlBindings(){return t.element({...p,"aria-disabled":(0,o.booleanAriaAttr)(d),"aria-invalid":(0,o.booleanAriaAttr)(g),"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(g),"data-part":"control",dir:n("dir"),role:"group"})},getDecrementTriggerBindings(l){return i.ids.register("decrementTrigger",l),t.button({...p,"aria-controls":s.input(i),"aria-label":U.decrementLabel,"data-disabled":(0,o.booleanDataAttr)(P),"data-part":"decrement-trigger",dir:n("dir"),disabled:P,id:s.decrementTrigger(i),onPointerDown(a){P||!(0,f.isLeftClick)(a)||(u({hint:"decrement",pointerType:a.pointerType,type:"TRIGGER.PRESS_DOWN"}),a.pointerType==="mouse"&&a.preventDefault(),a.pointerType==="touch"&&a.currentTarget?.focus({preventScroll:!0}))},onPointerLeave(){P||u({hint:"decrement",type:"TRIGGER.PRESS_UP"})},onPointerUp(a){u({hint:"decrement",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},tabIndex:-1,type:"button"})},getErrorIndicatorBindings(){return t.element({...p,"aria-label":"Error","data-part":"error-indicator",dir:n("dir"),hidden:!n("invalid")})},getErrorTextBindings(l){return i.ids.register("errorText",l),t.element({...p,"aria-live":"polite","data-part":"error-text",dir:n("dir"),hidden:!g,id:s.errorText(i)})},getHintBindings(l){return i.ids.register("hint",l),t.element({...p,"data-disabled":(0,o.booleanDataAttr)(d),"data-part":"hint",dir:n("dir"),id:s.hint(i)})},getIncrementTriggerBindings(l){return i.ids.register("incrementTrigger",l),t.button({...p,"aria-controls":s.input(i),"aria-label":U.incrementLabel,"data-disabled":(0,o.booleanDataAttr)(R),"data-part":"increment-trigger",dir:n("dir"),disabled:R,id:s.incrementTrigger(i),onPointerDown(a){R||!(0,f.isLeftClick)(a)||(u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_DOWN"}),a.pointerType==="mouse"&&a.preventDefault(),a.pointerType==="touch"&&a.currentTarget?.focus({preventScroll:!0}))},onPointerLeave(a){u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},onPointerUp(a){u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},tabIndex:-1,type:"button"})},getInputBindings(l){return i.ids.register("input",l),t.input({...p,"aria-invalid":(0,o.booleanAriaAttr)(g),"aria-roledescription":"numberfield","aria-valuemax":n("max"),"aria-valuemin":n("min"),"aria-valuenow":Number.isNaN(r("valueAsNumber"))?void 0:r("valueAsNumber"),"aria-valuetext":r("valueText"),autoComplete:"off",autoCorrect:"off","data-disabled":(0,o.booleanDataAttr)(d),"data-empty":(0,o.booleanDataAttr)(C),"data-invalid":(0,o.booleanDataAttr)(g),"data-part":"input",defaultValue:r("formattedValue"),dir:n("dir"),disabled:d,form:n("form"),id:s.input(i),inputMode:n("inputMode"),name:n("name"),onBeforeInput(a){try{let{selectionEnd:h,selectionStart:M,value:V}=a.currentTarget,k=V.slice(0,M??void 0)+(a.data??"")+V.slice(h??void 0);r("parser").isValidPartialNumber(k)||a.preventDefault()}catch{}},onBlur(){u({type:"INPUT.BLUR"})},onFocus(){u({type:"INPUT.FOCUS"})},onInput(a){u({hint:"set",target:a.currentTarget,type:"INPUT.CHANGE"})},onKeyDown(a){if(a.defaultPrevented||E||(0,f.isComposingEvent)(a))return;let h=(0,f.getEventStep)(a)*n("step"),V={ArrowDown(){u({step:h,type:"INPUT.ARROW_DOWN"}),a.preventDefault()},ArrowUp(){u({step:h,type:"INPUT.ARROW_UP"}),a.preventDefault()},End(){(0,f.isModifierKey)(a)||(u({type:"INPUT.END"}),a.preventDefault())},Enter(){u({type:"INPUT.ENTER"})},Home(){(0,f.isModifierKey)(a)||(u({type:"INPUT.HOME"}),a.preventDefault())}}[a.key];V?.(a)},pattern:n("pattern"),readOnly:E,required:n("required"),role:"spinbutton",spellCheck:"false",type:"text"})},getInputGroupBindings(){return t.element({...p,"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(g),"data-part":"input-group","data-readonly":(0,o.booleanDataAttr)(E),dir:n("dir"),onClick:l=>{l.defaultPrevented||d||u({type:"INPUT.FOCUS"})}})},getLabelBindings(l){return i.ids.register("label",l),t.label({...p,"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(g),"data-part":"label",dir:n("dir"),htmlFor:s.input(i),id:s.label(i)})},getRootBindings(){return t.element({...p,"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(g),"data-part":"root",dir:n("dir")})},getValueTextBindings(){return t.element({...p,"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(g),"data-part":"value-text",dir:n("dir")})}}}var c=require("@qualcomm-ui/dom/query"),T=require("@qualcomm-ui/utils/machine"),D=require("@qualcomm-ui/utils/memo"),m=require("@qualcomm-ui/utils/number");var w=require("@internationalized/number");function x(e,t={}){return new Intl.NumberFormat(e,t)}function S(e,t={}){return new w.NumberParser(e,t)}function y(e,t){let{computed:r,prop:n}=t;return n("formatOptions")?e===""?Number.NaN:r("parser").parse(e):parseFloat(e)}function I(e,t){let{computed:r,prop:n}=t;return Number.isNaN(e)?"":n("formatOptions")?r("formatter").format(e):e.toString()}function B(e,t){let r=e!==void 0&&!Number.isNaN(e)?e:1;return t?.style==="percent"&&(e===void 0||Number.isNaN(e))&&(r=.01),r}var{and:L,not:G}=(0,T.createGuards)(),J=(0,T.createMachine)({actions:{clearHint({context:e}){e.set("hint",null)},clearValue({context:e}){e.set("value","")},decrement({computed:e,context:t,event:r,prop:n}){let i=(0,m.decrementValue)(e("valueAsNumber"),"step"in r?r.step??n("step"):n("step"));n("allowOverflow")||(i=(0,m.clampValue)(i,n("min"),n("max"))),t.set("value",I(i,{computed:e,prop:n}))},decrementToMin({computed:e,context:t,prop:r}){let n=I(r("min"),{computed:e,prop:r});t.set("value",n)},focusInput({prop:e,scope:t}){if(!e("focusInputOnChange"))return;let r=b.input(t);t.isActiveElement(r)||(0,c.raf)(()=>r?.focus({preventScroll:!0}))},increment({computed:e,context:t,event:r,prop:n}){let i=(0,m.incrementValue)(e("valueAsNumber"),"step"in r?r.step??n("step"):n("step"));n("allowOverflow")||(i=(0,m.clampValue)(i,n("min"),n("max"))),t.set("value",I(i,{computed:e,prop:n}))},incrementToMax({computed:e,context:t,prop:r}){let n=I(r("max"),{computed:e,prop:r});t.set("value",n)},invokeOnBlur({computed:e,prop:t}){t("onFocusChange")?.({focused:!1,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},invokeOnFocus({computed:e,prop:t}){t("onFocusChange")?.({focused:!0,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},invokeOnInvalid({computed:e,event:t,prop:r}){if(t.type==="INPUT.CHANGE")return;let n=e("valueAsNumber")>r("max")?"rangeOverflow":"rangeUnderflow";r("onValueInvalid")?.({reason:n,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},setClampedValue({computed:e,context:t,prop:r}){let n=(0,m.clampValue)(e("valueAsNumber"),r("min"),r("max"));t.set("value",I(n,{computed:e,prop:r}))},setFormattedValue({computed:e,context:t}){t.set("value",e("formattedValue"))},setHint({context:e,event:t}){e.set("hint",t.hint||null)},setRawValue({computed:e,context:t,event:r,prop:n}){let i=y(r.value,{computed:e,prop:n});n("allowOverflow")||(i=(0,m.clampValue)(i,n("min"),n("max"))),t.set("value",I(i,{computed:e,prop:n}))},setValue({context:e,event:t}){let r=t.target?.value??t.value;e.set("value",r)},syncInputElement({computed:e,context:t,event:r,scope:n}){let i=r.type.endsWith("CHANGE")?t.get("value"):e("formattedValue"),u=b.input(n);(0,c.raf)(()=>{(0,c.setElementValue)(u,i)})}},computed:{canDecrement:({computed:e,prop:t})=>t("allowOverflow")||!e("isAtMin"),canIncrement:({computed:e,prop:t})=>t("allowOverflow")||!e("isAtMax"),formattedValue:({computed:e,prop:t})=>I(e("valueAsNumber"),{computed:e,prop:t}),formatter:(0,D.memo)(({prop:e})=>[e("locale"),e("formatOptions")],(e,t)=>x(e,t)),isAtMax:({computed:e,prop:t})=>(0,m.isValueAtMax)(e("valueAsNumber"),t("max")),isAtMin:({computed:e,prop:t})=>(0,m.isValueAtMin)(e("valueAsNumber"),t("min")),isDisabled:({context:e,prop:t})=>!!t("disabled")||e.get("fieldsetDisabled"),isOutOfRange:({computed:e,prop:t})=>!(0,m.isValueWithinRange)(e("valueAsNumber"),t("min"),t("max")),isRtl:({prop:e})=>e("dir")==="rtl",isValueEmpty:({context:e})=>e.get("value")==="",parser:(0,D.memo)(({prop:e})=>[e("locale"),e("formatOptions")],(e,t)=>S(e,t)),valueAsNumber:({computed:e,context:t,prop:r})=>y(t.get("value"),{computed:e,prop:r}),valueText:({context:e,prop:t})=>t("translations").valueText?.(e.get("value"))},context:({bindable:e,getComputed:t,prop:r})=>({fieldsetDisabled:e(()=>({defaultValue:!1})),hint:e(()=>({defaultValue:null})),ssr:e(()=>({defaultValue:!0})),value:e(()=>({defaultValue:r("defaultValue"),onChange(n){let i=t(),u=y(n,{computed:i,prop:r});r("onValueChange")?.({value:n,valueAsNumber:u})},value:r("value")}))}),effects:{attachWheelListener({prop:e,scope:t,send:r}){let n=b.input(t);if(!n||!t.isActiveElement(n)||!e("allowMouseWheel"))return;function i(u){u.preventDefault();let v=Math.sign(u.deltaY)*-1;v===1?r({type:"VALUE.INCREMENT"}):v===-1&&r({type:"VALUE.DECREMENT"})}return(0,c.addDomEvent)(n,"wheel",i,{passive:!1})},spinValue({send:e}){let t=setInterval(()=>{e({type:"SPIN"})},50);return()=>clearInterval(t)},trackButtonDisabled({context:e,scope:t,send:r}){let n=e.get("hint"),i=H(t,n);return(0,c.observeAttributes)(i,{attributes:["disabled"],callback(){r({src:"attr",type:"TRIGGER.PRESS_UP"})}})},trackFormControl({context:e,scope:t}){return(0,c.trackFormControl)(b.input(t),{onFieldsetDisabledChange:r=>{e.set("fieldsetDisabled",r)},onFormReset:()=>{e.set("value",e.initial("value"))}})},waitForChangeDelay({send:e}){let t=setTimeout(()=>{e({type:"CHANGE_DELAY"})},300);return()=>clearTimeout(t)}},guards:{clampValueOnBlur:({prop:e})=>e("clampValueOnBlur"),isDecrementHint:({context:e,event:t})=>(t.hint??e.get("hint"))==="decrement",isIncrementHint:({context:e,event:t})=>(t.hint??e.get("hint"))==="increment",isInRange:({computed:e})=>!e("isOutOfRange"),isTouchPointer:({event:e})=>"pointerType"in e&&e.pointerType==="touch",spinOnPress:({prop:e})=>!!e("spinOnPress")},ids:({bindableId:e,ids:t})=>({decrementTrigger:e(t?.decrementTrigger),errorText:e(t?.errorText),hint:e(t?.hint),incrementTrigger:e(t?.incrementTrigger),input:e(t?.input),label:e(t?.label)}),initialState(){return"idle"},on:{"VALUE.CLEAR":{actions:["clearValue"]},"VALUE.DECREMENT":{actions:["decrement"]},"VALUE.INCREMENT":{actions:["increment"]},"VALUE.SET":{actions:["setRawValue"]}},onInit:{effects:["trackFormControl"]},props({props:e}){let t=B(e.step,e.formatOptions);return{allowOverflow:!1,clampValueOnBlur:!e.allowOverflow,defaultValue:"",dir:"ltr",focusInputOnChange:!0,inputMode:"decimal",locale:"en-US",max:Number.MAX_SAFE_INTEGER,min:Number.MIN_SAFE_INTEGER,pattern:"-?[0-9]*(.[0-9]+)?",spinOnPress:!0,step:t,...e,translations:{decrementLabel:"decrease value",incrementLabel:"increment value",...e.translations}}},states:{"before:spin":{effects:["trackButtonDisabled","waitForChangeDelay"],entry:(0,T.createChoose)([{actions:["increment"],guard:"isIncrementHint"},{actions:["decrement"],guard:"isDecrementHint"}]),on:{CHANGE_DELAY:{guard:L("isInRange","spinOnPress"),target:"spinning"},"TRIGGER.PRESS_UP":[{actions:["clearHint"],guard:"isTouchPointer",target:"focused"},{actions:["focusInput","clearHint"],target:"focused"}]},tags:["focus"]},focused:{effects:["attachWheelListener"],on:{"INPUT.ARROW_DOWN":{actions:["decrement"]},"INPUT.ARROW_UP":{actions:["increment"]},"INPUT.BLUR":[{actions:["setClampedValue","clearHint","invokeOnBlur"],guard:L("clampValueOnBlur",G("isInRange")),target:"idle"},{actions:["setFormattedValue","clearHint","invokeOnBlur","invokeOnInvalid"],guard:G("isInRange"),target:"idle"},{actions:["setFormattedValue","clearHint","invokeOnBlur"],target:"idle"}],"INPUT.CHANGE":{actions:["setValue","setHint"]},"INPUT.END":{actions:["incrementToMax"]},"INPUT.ENTER":{actions:["setFormattedValue","clearHint","invokeOnBlur"]},"INPUT.HOME":{actions:["decrementToMin"]},"TRIGGER.PRESS_DOWN":[{actions:["setHint"],guard:"isTouchPointer",target:"before:spin"},{actions:["focusInput","setHint"],target:"before:spin"}]},tags:["focus"]},idle:{on:{"INPUT.FOCUS":{actions:["focusInput","invokeOnFocus"],target:"focused"},"TRIGGER.PRESS_DOWN":[{actions:["setHint"],guard:"isTouchPointer",target:"before:spin"},{actions:["focusInput","invokeOnFocus","setHint"],target:"before:spin"}]}},spinning:{effects:["trackButtonDisabled","spinValue"],on:{SPIN:[{actions:["increment"],guard:"isIncrementHint"},{actions:["decrement"],guard:"isDecrementHint"}],"TRIGGER.PRESS_UP":{actions:["focusInput","clearHint"],target:"focused"}},tags:["focus"]}},watch({action:e,computed:t,context:r,prop:n,track:i}){i([()=>r.get("value"),()=>n("locale")],()=>{e(["syncInputElement"])}),i([()=>t("isOutOfRange")],()=>{e(["invokeOnInvalid"])})}});var A=require("@qualcomm-ui/utils/object"),F=(0,A.createProps)()("allowMouseWheel","allowOverflow","clampValueOnBlur","defaultValue","dir","disabled","focusInputOnChange","form","formatOptions","getRootNode","ids","inputMode","invalid","locale","max","min","name","onFocusChange","onValueChange","onValueInvalid","pattern","readOnly","required","spinOnPress","step","translations","value"),Q=(0,A.createSplitProps)(F);
|
|
1
|
+
"use strict";var O=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var q=Object.prototype.hasOwnProperty;var K=(e,t)=>{for(var r in t)O(e,r,{get:t[r],enumerable:!0})},Y=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of W(t))!q.call(e,i)&&i!==r&&O(e,i,{get:()=>t[i],enumerable:!(n=_(t,i))||n.enumerable});return e};var X=e=>Y(O({},"__esModule",{value:!0}),e);var Z={};K(Z,{createFormatter:()=>x,createNumberInputApi:()=>j,createParser:()=>S,formatValue:()=>I,getDefaultStep:()=>B,numberInputMachine:()=>J,numberInputProps:()=>F,parseValue:()=>y,splitNumberInputProps:()=>Q});module.exports=X(Z);var f=require("@qualcomm-ui/dom/query"),o=require("@qualcomm-ui/utils/attributes");var s={decrementTrigger:e=>e.ids.get("decrementTrigger"),errorText:e=>e.ids.get("errorText"),hint:e=>e.ids.get("hint"),incrementTrigger:e=>e.ids.get("incrementTrigger"),input:e=>e.ids.get("input"),label:e=>e.ids.get("label")},b={decrementTrigger:e=>e.getById(s.decrementTrigger(e)),errorText:e=>e.getById(s.errorText(e)),hint:e=>e.getById(s.hint(e)),incrementTrigger:e=>e.getById(s.incrementTrigger(e)),input:e=>e.getById(s.input(e)),label:e=>e.getById(s.label(e))};function H(e,t){let r=null;return t==="increment"&&(r=b.incrementTrigger(e)),t==="decrement"&&(r=b.decrementTrigger(e)),r}var c={"data-scope":"number-input"};function j(e,t){let{computed:r,prop:n,scope:i,send:u,state:v}=e,N=v.hasTag("focus"),d=r("isDisabled"),E=n("readOnly"),C=r("isValueEmpty"),p=r("isOutOfRange")||!!n("invalid"),R=d||!r("canIncrement")||E,P=d||!r("canDecrement")||E,U=n("translations");return{clearValue(){u({type:"VALUE.CLEAR"})},decrement(){u({type:"VALUE.DECREMENT"})},empty:C,focus(){b.input(i)?.focus()},focused:N,increment(){u({type:"VALUE.INCREMENT"})},invalid:p,required:n("required"),setToMax(){u({type:"VALUE.SET",value:n("max")})},setToMin(){u({type:"VALUE.SET",value:n("min")})},setValue(l){u({type:"VALUE.SET",value:l})},value:r("formattedValue"),valueAsNumber:r("valueAsNumber"),getControlBindings(){return t.element({...c,"aria-disabled":(0,o.booleanAriaAttr)(d),"aria-invalid":(0,o.booleanAriaAttr)(p),"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(p),"data-part":"control",dir:n("dir"),role:"group"})},getDecrementTriggerBindings(l){return i.ids.register("decrementTrigger",l),t.button({...c,"aria-controls":s.input(i),"aria-label":U.decrementLabel,"data-disabled":(0,o.booleanDataAttr)(P),"data-part":"decrement-trigger",dir:n("dir"),disabled:P,id:s.decrementTrigger(i),onPointerDown(a){P||!(0,f.isLeftClick)(a)||(u({hint:"decrement",pointerType:a.pointerType,type:"TRIGGER.PRESS_DOWN"}),a.pointerType==="mouse"&&a.preventDefault(),a.pointerType==="touch"&&a.currentTarget?.focus({preventScroll:!0}))},onPointerLeave(){P||u({hint:"decrement",type:"TRIGGER.PRESS_UP"})},onPointerUp(a){u({hint:"decrement",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},tabIndex:-1,type:"button"})},getErrorIndicatorBindings(){return t.element({...c,"aria-label":"Error","data-part":"error-indicator",dir:n("dir"),hidden:!n("invalid")})},getErrorTextBindings(l){return i.ids.register("errorText",l),t.element({...c,"aria-live":"polite","data-part":"error-text",dir:n("dir"),hidden:!p,id:s.errorText(i)})},getHintBindings(l){return i.ids.register("hint",l),t.element({...c,"data-disabled":(0,o.booleanDataAttr)(d),"data-part":"hint",dir:n("dir"),hidden:!!p,id:s.hint(i)})},getIncrementTriggerBindings(l){return i.ids.register("incrementTrigger",l),t.button({...c,"aria-controls":s.input(i),"aria-label":U.incrementLabel,"data-disabled":(0,o.booleanDataAttr)(R),"data-part":"increment-trigger",dir:n("dir"),disabled:R,id:s.incrementTrigger(i),onPointerDown(a){R||!(0,f.isLeftClick)(a)||(u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_DOWN"}),a.pointerType==="mouse"&&a.preventDefault(),a.pointerType==="touch"&&a.currentTarget?.focus({preventScroll:!0}))},onPointerLeave(a){u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},onPointerUp(a){u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},tabIndex:-1,type:"button"})},getInputBindings(l){return i.ids.register("input",l),t.input({...c,"aria-invalid":(0,o.booleanAriaAttr)(p),"aria-roledescription":"numberfield","aria-valuemax":n("max"),"aria-valuemin":n("min"),"aria-valuenow":Number.isNaN(r("valueAsNumber"))?void 0:r("valueAsNumber"),"aria-valuetext":r("valueText"),autoComplete:"off",autoCorrect:"off","data-disabled":(0,o.booleanDataAttr)(d),"data-empty":(0,o.booleanDataAttr)(C),"data-invalid":(0,o.booleanDataAttr)(p),"data-part":"input",defaultValue:r("formattedValue"),dir:n("dir"),disabled:d,form:n("form"),id:s.input(i),inputMode:n("inputMode"),name:n("name"),onBeforeInput(a){try{let{selectionEnd:h,selectionStart:M,value:V}=a.currentTarget,k=V.slice(0,M??void 0)+(a.data??"")+V.slice(h??void 0);r("parser").isValidPartialNumber(k)||a.preventDefault()}catch{}},onBlur(){u({type:"INPUT.BLUR"})},onFocus(){u({type:"INPUT.FOCUS"})},onInput(a){u({hint:"set",target:a.currentTarget,type:"INPUT.CHANGE"})},onKeyDown(a){if(a.defaultPrevented||E||(0,f.isComposingEvent)(a))return;let h=(0,f.getEventStep)(a)*n("step"),V={ArrowDown(){u({step:h,type:"INPUT.ARROW_DOWN"}),a.preventDefault()},ArrowUp(){u({step:h,type:"INPUT.ARROW_UP"}),a.preventDefault()},End(){(0,f.isModifierKey)(a)||(u({type:"INPUT.END"}),a.preventDefault())},Enter(){u({type:"INPUT.ENTER"})},Home(){(0,f.isModifierKey)(a)||(u({type:"INPUT.HOME"}),a.preventDefault())}}[a.key];V?.(a)},pattern:n("pattern"),readOnly:E,required:n("required"),role:"spinbutton",spellCheck:"false",type:"text"})},getInputGroupBindings(){return t.element({...c,"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(p),"data-part":"input-group","data-readonly":(0,o.booleanDataAttr)(E),dir:n("dir"),onClick:l=>{l.defaultPrevented||d||u({type:"INPUT.FOCUS"})}})},getLabelBindings(l){return i.ids.register("label",l),t.label({...c,"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(p),"data-part":"label",dir:n("dir"),htmlFor:s.input(i),id:s.label(i)})},getRootBindings(){return t.element({...c,"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(p),"data-part":"root",dir:n("dir")})},getValueTextBindings(){return t.element({...c,"data-disabled":(0,o.booleanDataAttr)(d),"data-focus":(0,o.booleanDataAttr)(N),"data-invalid":(0,o.booleanDataAttr)(p),"data-part":"value-text",dir:n("dir")})}}}var g=require("@qualcomm-ui/dom/query"),T=require("@qualcomm-ui/utils/machine"),D=require("@qualcomm-ui/utils/memo"),m=require("@qualcomm-ui/utils/number");var w=require("@internationalized/number");function x(e,t={}){return new Intl.NumberFormat(e,t)}function S(e,t={}){return new w.NumberParser(e,t)}function y(e,t){let{computed:r,prop:n}=t;return n("formatOptions")?e===""?Number.NaN:r("parser").parse(e):parseFloat(e)}function I(e,t){let{computed:r,prop:n}=t;return Number.isNaN(e)?"":n("formatOptions")?r("formatter").format(e):e.toString()}function B(e,t){let r=e!==void 0&&!Number.isNaN(e)?e:1;return t?.style==="percent"&&(e===void 0||Number.isNaN(e))&&(r=.01),r}var{and:L,not:G}=(0,T.createGuards)(),J=(0,T.createMachine)({actions:{clearHint({context:e}){e.set("hint",null)},clearValue({context:e}){e.set("value","")},decrement({computed:e,context:t,event:r,prop:n}){let i=(0,m.decrementValue)(e("valueAsNumber"),"step"in r?r.step??n("step"):n("step"));n("allowOverflow")||(i=(0,m.clampValue)(i,n("min"),n("max"))),t.set("value",I(i,{computed:e,prop:n}))},decrementToMin({computed:e,context:t,prop:r}){let n=I(r("min"),{computed:e,prop:r});t.set("value",n)},focusInput({prop:e,scope:t}){if(!e("focusInputOnChange"))return;let r=b.input(t);t.isActiveElement(r)||(0,g.raf)(()=>r?.focus({preventScroll:!0}))},increment({computed:e,context:t,event:r,prop:n}){let i=(0,m.incrementValue)(e("valueAsNumber"),"step"in r?r.step??n("step"):n("step"));n("allowOverflow")||(i=(0,m.clampValue)(i,n("min"),n("max"))),t.set("value",I(i,{computed:e,prop:n}))},incrementToMax({computed:e,context:t,prop:r}){let n=I(r("max"),{computed:e,prop:r});t.set("value",n)},invokeOnBlur({computed:e,prop:t}){t("onFocusChange")?.({focused:!1,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},invokeOnFocus({computed:e,prop:t}){t("onFocusChange")?.({focused:!0,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},invokeOnInvalid({computed:e,event:t,prop:r}){if(t.type==="INPUT.CHANGE")return;let n=e("valueAsNumber")>r("max")?"rangeOverflow":"rangeUnderflow";r("onValueInvalid")?.({reason:n,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},setClampedValue({computed:e,context:t,prop:r}){let n=(0,m.clampValue)(e("valueAsNumber"),r("min"),r("max"));t.set("value",I(n,{computed:e,prop:r}))},setFormattedValue({computed:e,context:t}){t.set("value",e("formattedValue"))},setHint({context:e,event:t}){e.set("hint",t.hint||null)},setRawValue({computed:e,context:t,event:r,prop:n}){let i=y(r.value,{computed:e,prop:n});n("allowOverflow")||(i=(0,m.clampValue)(i,n("min"),n("max"))),t.set("value",I(i,{computed:e,prop:n}))},setValue({context:e,event:t}){let r=t.target?.value??t.value;e.set("value",r)},syncInputElement({computed:e,context:t,event:r,scope:n}){let i=r.type.endsWith("CHANGE")?t.get("value"):e("formattedValue"),u=b.input(n);(0,g.raf)(()=>{(0,g.setElementValue)(u,i)})}},computed:{canDecrement:({computed:e,prop:t})=>t("allowOverflow")||!e("isAtMin"),canIncrement:({computed:e,prop:t})=>t("allowOverflow")||!e("isAtMax"),formattedValue:({computed:e,prop:t})=>I(e("valueAsNumber"),{computed:e,prop:t}),formatter:(0,D.memo)(({prop:e})=>[e("locale"),e("formatOptions")],(e,t)=>x(e,t)),isAtMax:({computed:e,prop:t})=>(0,m.isValueAtMax)(e("valueAsNumber"),t("max")),isAtMin:({computed:e,prop:t})=>(0,m.isValueAtMin)(e("valueAsNumber"),t("min")),isDisabled:({context:e,prop:t})=>!!t("disabled")||e.get("fieldsetDisabled"),isOutOfRange:({computed:e,prop:t})=>!(0,m.isValueWithinRange)(e("valueAsNumber"),t("min"),t("max")),isRtl:({prop:e})=>e("dir")==="rtl",isValueEmpty:({context:e})=>e.get("value")==="",parser:(0,D.memo)(({prop:e})=>[e("locale"),e("formatOptions")],(e,t)=>S(e,t)),valueAsNumber:({computed:e,context:t,prop:r})=>y(t.get("value"),{computed:e,prop:r}),valueText:({context:e,prop:t})=>t("translations").valueText?.(e.get("value"))},context:({bindable:e,getComputed:t,prop:r})=>({fieldsetDisabled:e(()=>({defaultValue:!1})),hint:e(()=>({defaultValue:null})),ssr:e(()=>({defaultValue:!0})),value:e(()=>({defaultValue:r("defaultValue"),onChange(n){let i=t(),u=y(n,{computed:i,prop:r});r("onValueChange")?.({value:n,valueAsNumber:u})},value:r("value")}))}),effects:{attachWheelListener({prop:e,scope:t,send:r}){let n=b.input(t);if(!n||!t.isActiveElement(n)||!e("allowMouseWheel"))return;function i(u){u.preventDefault();let v=Math.sign(u.deltaY)*-1;v===1?r({type:"VALUE.INCREMENT"}):v===-1&&r({type:"VALUE.DECREMENT"})}return(0,g.addDomEvent)(n,"wheel",i,{passive:!1})},spinValue({send:e}){let t=setInterval(()=>{e({type:"SPIN"})},50);return()=>clearInterval(t)},trackButtonDisabled({context:e,scope:t,send:r}){let n=e.get("hint"),i=H(t,n);return(0,g.observeAttributes)(i,{attributes:["disabled"],callback(){r({src:"attr",type:"TRIGGER.PRESS_UP"})}})},trackFormControl({context:e,scope:t}){return(0,g.trackFormControl)(b.input(t),{onFieldsetDisabledChange:r=>{e.set("fieldsetDisabled",r)},onFormReset:()=>{e.set("value",e.initial("value"))}})},waitForChangeDelay({send:e}){let t=setTimeout(()=>{e({type:"CHANGE_DELAY"})},300);return()=>clearTimeout(t)}},guards:{clampValueOnBlur:({prop:e})=>e("clampValueOnBlur"),isDecrementHint:({context:e,event:t})=>(t.hint??e.get("hint"))==="decrement",isIncrementHint:({context:e,event:t})=>(t.hint??e.get("hint"))==="increment",isInRange:({computed:e})=>!e("isOutOfRange"),isTouchPointer:({event:e})=>"pointerType"in e&&e.pointerType==="touch",spinOnPress:({prop:e})=>!!e("spinOnPress")},ids:({bindableId:e,ids:t})=>({decrementTrigger:e(t?.decrementTrigger),errorText:e(t?.errorText),hint:e(t?.hint),incrementTrigger:e(t?.incrementTrigger),input:e(t?.input),label:e(t?.label)}),initialState(){return"idle"},on:{"VALUE.CLEAR":{actions:["clearValue"]},"VALUE.DECREMENT":{actions:["decrement"]},"VALUE.INCREMENT":{actions:["increment"]},"VALUE.SET":{actions:["setRawValue"]}},onInit:{effects:["trackFormControl"]},props({props:e}){let t=B(e.step,e.formatOptions);return{allowOverflow:!1,clampValueOnBlur:!e.allowOverflow,defaultValue:"",dir:"ltr",focusInputOnChange:!0,inputMode:"decimal",locale:"en-US",max:Number.MAX_SAFE_INTEGER,min:Number.MIN_SAFE_INTEGER,pattern:"-?[0-9]*(.[0-9]+)?",spinOnPress:!0,step:t,...e,translations:{decrementLabel:"decrease value",incrementLabel:"increment value",...e.translations}}},states:{"before:spin":{effects:["trackButtonDisabled","waitForChangeDelay"],entry:(0,T.createChoose)([{actions:["increment"],guard:"isIncrementHint"},{actions:["decrement"],guard:"isDecrementHint"}]),on:{CHANGE_DELAY:{guard:L("isInRange","spinOnPress"),target:"spinning"},"TRIGGER.PRESS_UP":[{actions:["clearHint"],guard:"isTouchPointer",target:"focused"},{actions:["focusInput","clearHint"],target:"focused"}]},tags:["focus"]},focused:{effects:["attachWheelListener"],on:{"INPUT.ARROW_DOWN":{actions:["decrement"]},"INPUT.ARROW_UP":{actions:["increment"]},"INPUT.BLUR":[{actions:["setClampedValue","clearHint","invokeOnBlur"],guard:L("clampValueOnBlur",G("isInRange")),target:"idle"},{actions:["setFormattedValue","clearHint","invokeOnBlur","invokeOnInvalid"],guard:G("isInRange"),target:"idle"},{actions:["setFormattedValue","clearHint","invokeOnBlur"],target:"idle"}],"INPUT.CHANGE":{actions:["setValue","setHint"]},"INPUT.END":{actions:["incrementToMax"]},"INPUT.ENTER":{actions:["setFormattedValue","clearHint","invokeOnBlur"]},"INPUT.HOME":{actions:["decrementToMin"]},"TRIGGER.PRESS_DOWN":[{actions:["setHint"],guard:"isTouchPointer",target:"before:spin"},{actions:["focusInput","setHint"],target:"before:spin"}]},tags:["focus"]},idle:{on:{"INPUT.FOCUS":{actions:["focusInput","invokeOnFocus"],target:"focused"},"TRIGGER.PRESS_DOWN":[{actions:["setHint"],guard:"isTouchPointer",target:"before:spin"},{actions:["focusInput","invokeOnFocus","setHint"],target:"before:spin"}]}},spinning:{effects:["trackButtonDisabled","spinValue"],on:{SPIN:[{actions:["increment"],guard:"isIncrementHint"},{actions:["decrement"],guard:"isDecrementHint"}],"TRIGGER.PRESS_UP":{actions:["focusInput","clearHint"],target:"focused"}},tags:["focus"]}},watch({action:e,computed:t,context:r,prop:n,track:i}){i([()=>r.get("value"),()=>n("locale")],()=>{e(["syncInputElement"])}),i([()=>t("isOutOfRange")],()=>{e(["invokeOnInvalid"])})}});var A=require("@qualcomm-ui/utils/object"),F=(0,A.createProps)()("allowMouseWheel","allowOverflow","clampValueOnBlur","defaultValue","dir","disabled","focusInputOnChange","form","formatOptions","getRootNode","ids","inputMode","invalid","locale","max","min","name","onFocusChange","onValueChange","onValueInvalid","pattern","readOnly","required","spinOnPress","step","translations","value"),Q=(0,A.createSplitProps)(F);
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/number-input/index.ts", "../../src/number-input/number-input.api.ts", "../../src/number-input/internal/number-input.dom.ts", "../../src/number-input/number-input.machine.ts", "../../src/number-input/number-input.utils.ts", "../../src/number-input/number-input.props.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"./number-input.api\"\nexport * from \"./number-input.machine\"\nexport * from \"./number-input.props\"\nexport type * from \"./number-input.types\"\nexport * from \"./number-input.utils\"\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n getEventStep,\n isComposingEvent,\n isLeftClick,\n isModifierKey,\n} from \"@qualcomm-ui/dom/query\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {\n EventKeyMap,\n IdRegistrationProps,\n Machine,\n PropNormalizer,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport {domEls, domIds} from \"./internal\"\nimport type {\n NumberInputApi,\n NumberInputControlBindings,\n NumberInputDecrementTriggerBindings,\n NumberInputErrorIndicatorBindings,\n NumberInputErrorTextBindings,\n NumberInputHintBindings,\n NumberInputIncrementTriggerBindings,\n NumberInputInputBindings,\n NumberInputInputGroupBindings,\n NumberInputLabelBindings,\n NumberInputRootBindings,\n NumberInputSchema,\n NumberInputScopeAttribute,\n NumberInputValueTextBindings,\n} from \"./number-input.types\"\n\nconst commonBindings: NumberInputScopeAttribute = {\n \"data-scope\": \"number-input\",\n}\n\nexport function createNumberInputApi(\n machine: Machine<NumberInputSchema>,\n normalize: PropNormalizer,\n): NumberInputApi {\n const {computed, prop, scope, send, state} = machine\n\n const focused = state.hasTag(\"focus\")\n const disabled = computed(\"isDisabled\")\n const readOnly = prop(\"readOnly\")\n\n const empty = computed(\"isValueEmpty\")\n const invalid = computed(\"isOutOfRange\") || !!prop(\"invalid\")\n\n const isIncrementDisabled = disabled || !computed(\"canIncrement\") || readOnly\n const isDecrementDisabled = disabled || !computed(\"canDecrement\") || readOnly\n\n const translations = prop(\"translations\")\n\n return {\n clearValue() {\n send({type: \"VALUE.CLEAR\"})\n },\n decrement() {\n send({type: \"VALUE.DECREMENT\"})\n },\n empty,\n focus() {\n domEls.input(scope)?.focus()\n },\n focused,\n\n increment() {\n send({type: \"VALUE.INCREMENT\"})\n },\n\n invalid,\n\n required: prop(\"required\"),\n\n setToMax() {\n send({type: \"VALUE.SET\", value: prop(\"max\")})\n },\n\n setToMin() {\n send({type: \"VALUE.SET\", value: prop(\"min\")})\n },\n\n setValue(value) {\n send({type: \"VALUE.SET\", value})\n },\n\n value: computed(\"formattedValue\"),\n\n valueAsNumber: computed(\"valueAsNumber\"),\n\n // group: prop getters\n getControlBindings(): NumberInputControlBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-disabled\": booleanAriaAttr(disabled),\n \"aria-invalid\": booleanAriaAttr(invalid),\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"control\",\n dir: prop(\"dir\"),\n role: \"group\",\n })\n },\n getDecrementTriggerBindings(props): NumberInputDecrementTriggerBindings {\n scope.ids.register(\"decrementTrigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.input(scope),\n \"aria-label\": translations.decrementLabel,\n \"data-disabled\": booleanDataAttr(isDecrementDisabled),\n \"data-part\": \"decrement-trigger\",\n dir: prop(\"dir\"),\n disabled: isDecrementDisabled,\n id: domIds.decrementTrigger(scope),\n onPointerDown(event) {\n if (isDecrementDisabled || !isLeftClick(event)) {\n return\n }\n send({\n hint: \"decrement\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_DOWN\",\n })\n if (event.pointerType === \"mouse\") {\n event.preventDefault()\n }\n if (event.pointerType === \"touch\") {\n event.currentTarget?.focus({preventScroll: true})\n }\n },\n onPointerLeave() {\n if (isDecrementDisabled) {\n return\n }\n send({hint: \"decrement\", type: \"TRIGGER.PRESS_UP\"})\n },\n onPointerUp(event) {\n send({\n hint: \"decrement\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_UP\",\n })\n },\n tabIndex: -1,\n type: \"button\",\n })\n },\n getErrorIndicatorBindings(): NumberInputErrorIndicatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-label\": \"Error\",\n \"data-part\": \"error-indicator\",\n dir: prop(\"dir\"),\n hidden: !prop(\"invalid\"),\n })\n },\n getErrorTextBindings(\n props: IdRegistrationProps,\n ): NumberInputErrorTextBindings {\n scope.ids.register(\"errorText\", props)\n return normalize.element({\n ...commonBindings,\n \"aria-live\": \"polite\",\n \"data-part\": \"error-text\",\n dir: prop(\"dir\"),\n hidden: !invalid,\n id: domIds.errorText(scope),\n })\n },\n getHintBindings(props: IdRegistrationProps): NumberInputHintBindings {\n scope.ids.register(\"hint\", props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"hint\",\n dir: prop(\"dir\"),\n id: domIds.hint(scope),\n })\n },\n getIncrementTriggerBindings(props): NumberInputIncrementTriggerBindings {\n scope.ids.register(\"incrementTrigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.input(scope),\n \"aria-label\": translations.incrementLabel,\n \"data-disabled\": booleanDataAttr(isIncrementDisabled),\n \"data-part\": \"increment-trigger\",\n dir: prop(\"dir\"),\n disabled: isIncrementDisabled,\n id: domIds.incrementTrigger(scope),\n onPointerDown(event) {\n if (isIncrementDisabled || !isLeftClick(event)) {\n return\n }\n send({\n hint: \"increment\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_DOWN\",\n })\n if (event.pointerType === \"mouse\") {\n event.preventDefault()\n }\n if (event.pointerType === \"touch\") {\n event.currentTarget?.focus({preventScroll: true})\n }\n },\n onPointerLeave(event) {\n send({\n hint: \"increment\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_UP\",\n })\n },\n onPointerUp(event) {\n send({\n hint: \"increment\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_UP\",\n })\n },\n tabIndex: -1,\n type: \"button\",\n })\n },\n getInputBindings(props): NumberInputInputBindings {\n scope.ids.register(\"input\", props)\n return normalize.input({\n ...commonBindings,\n \"aria-invalid\": booleanAriaAttr(invalid),\n \"aria-roledescription\": \"numberfield\",\n \"aria-valuemax\": prop(\"max\"),\n \"aria-valuemin\": prop(\"min\"),\n \"aria-valuenow\": Number.isNaN(computed(\"valueAsNumber\"))\n ? undefined\n : computed(\"valueAsNumber\"),\n \"aria-valuetext\": computed(\"valueText\"),\n autoComplete: \"off\",\n autoCorrect: \"off\",\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-empty\": booleanDataAttr(empty),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"input\",\n defaultValue: computed(\"formattedValue\"),\n dir: prop(\"dir\"),\n disabled,\n form: prop(\"form\"),\n id: domIds.input(scope),\n inputMode: prop(\"inputMode\"),\n name: prop(\"name\"),\n onBeforeInput(event) {\n try {\n const {selectionEnd, selectionStart, value} = event.currentTarget\n\n const nextValue =\n value.slice(0, selectionStart ?? undefined) +\n ((event as any).data ?? \"\") +\n value.slice(selectionEnd ?? undefined)\n const isValid = computed(\"parser\").isValidPartialNumber(nextValue)\n\n if (!isValid) {\n event.preventDefault()\n }\n } catch {\n // noop\n }\n },\n onBlur() {\n send({type: \"INPUT.BLUR\"})\n },\n onFocus() {\n send({type: \"INPUT.FOCUS\"})\n },\n onInput(event) {\n send({hint: \"set\", target: event.currentTarget, type: \"INPUT.CHANGE\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (readOnly) {\n return\n }\n if (isComposingEvent(event)) {\n return\n }\n\n const step = getEventStep(event) * prop(\"step\")\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({step, type: \"INPUT.ARROW_DOWN\"})\n event.preventDefault()\n },\n ArrowUp() {\n send({step, type: \"INPUT.ARROW_UP\"})\n event.preventDefault()\n },\n End() {\n if (isModifierKey(event)) {\n return\n }\n send({type: \"INPUT.END\"})\n event.preventDefault()\n },\n Enter() {\n send({type: \"INPUT.ENTER\"})\n },\n Home() {\n if (isModifierKey(event)) {\n return\n }\n send({type: \"INPUT.HOME\"})\n event.preventDefault()\n },\n }\n\n const exec = keyMap[event.key]\n exec?.(event)\n },\n pattern: prop(\"pattern\"),\n readOnly,\n required: prop(\"required\"),\n role: \"spinbutton\",\n spellCheck: \"false\",\n type: \"text\",\n })\n },\n getInputGroupBindings(): NumberInputInputGroupBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"input-group\",\n \"data-readonly\": booleanDataAttr(readOnly),\n dir: prop(\"dir\"),\n onClick: (event) => {\n if (event.defaultPrevented || disabled) {\n return\n }\n send({type: \"INPUT.FOCUS\"})\n },\n })\n },\n\n getLabelBindings(props): NumberInputLabelBindings {\n scope.ids.register(\"label\", props)\n return normalize.label({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"label\",\n dir: prop(\"dir\"),\n htmlFor: domIds.input(scope),\n id: domIds.label(scope),\n })\n },\n getRootBindings(): NumberInputRootBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"root\",\n dir: prop(\"dir\"),\n })\n },\n\n getValueTextBindings(): NumberInputValueTextBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"value-text\",\n dir: prop(\"dir\"),\n })\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {\n HintValue,\n NumberInputElementIds,\n NumberInputScope,\n} from \"../number-input.types\"\n\nexport const domIds: ScopeDomIds<NumberInputElementIds, NumberInputScope> = {\n decrementTrigger: (scope) => scope.ids.get(\"decrementTrigger\"),\n errorText: (scope) => scope.ids.get(\"errorText\"),\n hint: (scope) => scope.ids.get(\"hint\"),\n incrementTrigger: (scope) => scope.ids.get(\"incrementTrigger\"),\n input: (scope) => scope.ids.get(\"input\"),\n label: (scope) => scope.ids.get(\"label\"),\n}\n\nexport const domEls: ScopeDomElements<\n NumberInputElementIds,\n NumberInputScope,\n {\n decrementTrigger: HTMLButtonElement | null\n incrementTrigger: HTMLButtonElement | null\n input: HTMLInputElement | null\n }\n> = {\n decrementTrigger: (scope) => scope.getById(domIds.decrementTrigger(scope)),\n errorText: (scope) => scope.getById(domIds.errorText(scope)),\n hint: (scope) => scope.getById(domIds.hint(scope)),\n incrementTrigger: (scope) => scope.getById(domIds.incrementTrigger(scope)),\n input: (scope: NumberInputScope) => scope.getById(domIds.input(scope)),\n label: (scope) => scope.getById(domIds.label(scope)),\n}\n\nexport function getPressedTriggerEl(\n ctx: NumberInputScope,\n hint: HintValue | null,\n): HTMLButtonElement | null {\n let btnEl: HTMLButtonElement | null = null\n if (hint === \"increment\") {\n btnEl = domEls.incrementTrigger(ctx)\n }\n if (hint === \"decrement\") {\n btnEl = domEls.decrementTrigger(ctx)\n }\n return btnEl\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n addDomEvent,\n observeAttributes,\n raf,\n setElementValue,\n trackFormControl,\n} from \"@qualcomm-ui/dom/query\"\nimport {\n createChoose,\n createGuards,\n createMachine,\n type MachineConfig,\n} from \"@qualcomm-ui/utils/machine\"\nimport {memo} from \"@qualcomm-ui/utils/memo\"\nimport {\n clampValue,\n decrementValue,\n incrementValue,\n isValueAtMax,\n isValueAtMin,\n isValueWithinRange,\n} from \"@qualcomm-ui/utils/number\"\n\nimport {domEls, getPressedTriggerEl} from \"./internal\"\nimport type {HintValue, NumberInputSchema} from \"./number-input.types\"\nimport {\n createFormatter,\n createParser,\n formatValue,\n getDefaultStep,\n parseValue,\n} from \"./number-input.utils\"\n\nconst {and, not} = createGuards<NumberInputSchema>()\n\nexport const numberInputMachine: MachineConfig<NumberInputSchema> =\n createMachine({\n actions: {\n clearHint({context}) {\n context.set(\"hint\", null)\n },\n clearValue({context}) {\n context.set(\"value\", \"\")\n },\n decrement({computed, context, event, prop}) {\n let nextValue = decrementValue(\n computed(\"valueAsNumber\"),\n \"step\" in event ? (event.step ?? prop(\"step\")) : prop(\"step\"),\n )\n if (!prop(\"allowOverflow\")) {\n nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"))\n }\n context.set(\"value\", formatValue(nextValue, {computed, prop}))\n },\n decrementToMin({computed, context, prop}) {\n const value = formatValue(prop(\"min\"), {computed, prop})\n context.set(\"value\", value)\n },\n focusInput({prop, scope}) {\n if (!prop(\"focusInputOnChange\")) {\n return\n }\n const inputEl = domEls.input(scope)\n if (scope.isActiveElement(inputEl)) {\n return\n }\n raf(() => inputEl?.focus({preventScroll: true}))\n },\n increment({computed, context, event, prop}) {\n let nextValue = incrementValue(\n computed(\"valueAsNumber\"),\n \"step\" in event ? (event.step ?? prop(\"step\")) : prop(\"step\"),\n )\n if (!prop(\"allowOverflow\")) {\n nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"))\n }\n context.set(\"value\", formatValue(nextValue, {computed, prop}))\n },\n incrementToMax({computed, context, prop}) {\n const value = formatValue(prop(\"max\"), {computed, prop})\n context.set(\"value\", value)\n },\n invokeOnBlur({computed, prop}) {\n prop(\"onFocusChange\")?.({\n focused: false,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\"),\n })\n },\n invokeOnFocus({computed, prop}) {\n prop(\"onFocusChange\")?.({\n focused: true,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\"),\n })\n },\n invokeOnInvalid({computed, event, prop}) {\n if (event.type === \"INPUT.CHANGE\") {\n return\n }\n const reason =\n computed(\"valueAsNumber\") > prop(\"max\")\n ? \"rangeOverflow\"\n : \"rangeUnderflow\"\n prop(\"onValueInvalid\")?.({\n reason,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\"),\n })\n },\n setClampedValue({computed, context, prop}) {\n const nextValue = clampValue(\n computed(\"valueAsNumber\"),\n prop(\"min\"),\n prop(\"max\"),\n )\n context.set(\"value\", formatValue(nextValue, {computed, prop}))\n },\n setFormattedValue({computed, context}) {\n context.set(\"value\", computed(\"formattedValue\"))\n },\n setHint({context, event}) {\n context.set(\"hint\", (event as any).hint || null)\n },\n setRawValue({computed, context, event, prop}) {\n let nextValue = parseValue((event as any).value, {computed, prop})\n if (!prop(\"allowOverflow\")) {\n nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"))\n }\n context.set(\"value\", formatValue(nextValue, {computed, prop}))\n },\n setValue({context, event}) {\n const value = (event as any).target?.value ?? (event as any).value\n context.set(\"value\", value)\n },\n syncInputElement({computed, context, event, scope}) {\n const value = event.type.endsWith(\"CHANGE\")\n ? context.get(\"value\")\n : computed(\"formattedValue\")\n const inputEl = domEls.input(scope)\n raf(() => {\n setElementValue(inputEl, value)\n })\n },\n },\n computed: {\n canDecrement: ({computed, prop}) =>\n prop(\"allowOverflow\") || !computed(\"isAtMin\"),\n canIncrement: ({computed, prop}) =>\n prop(\"allowOverflow\") || !computed(\"isAtMax\"),\n formattedValue: ({computed, prop}) =>\n formatValue(computed(\"valueAsNumber\"), {computed, prop}),\n formatter: memo(\n ({prop}) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => createFormatter(locale, formatOptions),\n ),\n isAtMax: ({computed, prop}) =>\n isValueAtMax(computed(\"valueAsNumber\"), prop(\"max\")),\n isAtMin: ({computed, prop}) =>\n isValueAtMin(computed(\"valueAsNumber\"), prop(\"min\")),\n isDisabled: ({context, prop}) =>\n !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isOutOfRange: ({computed, prop}) =>\n !isValueWithinRange(\n computed(\"valueAsNumber\"),\n prop(\"min\"),\n prop(\"max\"),\n ),\n isRtl: ({prop}) => prop(\"dir\") === \"rtl\",\n isValueEmpty: ({context}) => context.get(\"value\") === \"\",\n parser: memo(\n ({prop}) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => createParser(locale, formatOptions),\n ),\n valueAsNumber: ({computed, context, prop}) =>\n parseValue(context.get(\"value\"), {computed, prop}),\n valueText: ({context, prop}) =>\n prop(\"translations\").valueText?.(context.get(\"value\")),\n },\n context: ({bindable, getComputed, prop}) => {\n return {\n fieldsetDisabled: bindable<boolean>(() => ({defaultValue: false})),\n hint: bindable<HintValue | null>(() => ({defaultValue: null})),\n ssr: bindable<boolean>(() => ({defaultValue: true})),\n value: bindable<string>(() => ({\n defaultValue: prop(\"defaultValue\"),\n onChange(value) {\n const computed = getComputed()\n const valueAsNumber = parseValue(value, {computed, prop})\n prop(\"onValueChange\")?.({value, valueAsNumber})\n },\n value: prop(\"value\"),\n })),\n }\n },\n effects: {\n attachWheelListener({prop, scope, send}) {\n const inputEl = domEls.input(scope)\n if (\n !inputEl ||\n !scope.isActiveElement(inputEl) ||\n !prop(\"allowMouseWheel\")\n ) {\n return\n }\n\n function onWheel(event: WheelEvent) {\n event.preventDefault()\n const dir = Math.sign(event.deltaY) * -1\n if (dir === 1) {\n send({type: \"VALUE.INCREMENT\"})\n } else if (dir === -1) {\n send({type: \"VALUE.DECREMENT\"})\n }\n }\n\n return addDomEvent(inputEl, \"wheel\", onWheel, {passive: false})\n },\n spinValue({send}) {\n const id = setInterval(() => {\n send({type: \"SPIN\"})\n }, 50)\n return () => clearInterval(id)\n },\n trackButtonDisabled({context, scope, send}) {\n const hint = context.get(\"hint\")\n const btn = getPressedTriggerEl(scope, hint)\n return observeAttributes(btn, {\n attributes: [\"disabled\"],\n callback() {\n send({src: \"attr\", type: \"TRIGGER.PRESS_UP\"})\n },\n })\n },\n trackFormControl({context, scope}) {\n return trackFormControl(domEls.input(scope), {\n onFieldsetDisabledChange: (disabled) => {\n context.set(\"fieldsetDisabled\", disabled)\n },\n onFormReset: () => {\n context.set(\"value\", context.initial(\"value\")!)\n },\n })\n },\n waitForChangeDelay({send}) {\n const id = setTimeout(() => {\n send({type: \"CHANGE_DELAY\"})\n }, 300)\n return () => clearTimeout(id)\n },\n },\n guards: {\n clampValueOnBlur: ({prop}) => prop(\"clampValueOnBlur\"),\n isDecrementHint: ({context, event}) =>\n ((event as any).hint ?? context.get(\"hint\")) === \"decrement\",\n isIncrementHint: ({context, event}) =>\n ((event as any).hint ?? context.get(\"hint\")) === \"increment\",\n isInRange: ({computed}) => !computed(\"isOutOfRange\"),\n isTouchPointer: ({event}) =>\n \"pointerType\" in event && event.pointerType === \"touch\",\n spinOnPress: ({prop}) => !!prop(\"spinOnPress\"),\n },\n ids: ({bindableId, ids}) => {\n return {\n decrementTrigger: bindableId<string>(ids?.decrementTrigger),\n errorText: bindableId<string>(ids?.errorText),\n hint: bindableId<string>(ids?.hint),\n incrementTrigger: bindableId<string>(ids?.incrementTrigger),\n input: bindableId<string>(ids?.input),\n label: bindableId<string>(ids?.label),\n }\n },\n initialState() {\n return \"idle\"\n },\n on: {\n \"VALUE.CLEAR\": {\n actions: [\"clearValue\"],\n },\n \"VALUE.DECREMENT\": {\n actions: [\"decrement\"],\n },\n \"VALUE.INCREMENT\": {\n actions: [\"increment\"],\n },\n \"VALUE.SET\": {\n actions: [\"setRawValue\"],\n },\n },\n onInit: {\n effects: [\"trackFormControl\"],\n },\n\n props({props}) {\n const step = getDefaultStep(props.step, props.formatOptions)\n return {\n allowOverflow: false,\n clampValueOnBlur: !props.allowOverflow,\n defaultValue: \"\",\n dir: \"ltr\",\n focusInputOnChange: true,\n inputMode: \"decimal\",\n locale: \"en-US\",\n max: Number.MAX_SAFE_INTEGER,\n min: Number.MIN_SAFE_INTEGER,\n pattern: \"-?[0-9]*(.[0-9]+)?\",\n spinOnPress: true,\n step,\n ...props,\n translations: {\n decrementLabel: \"decrease value\",\n incrementLabel: \"increment value\",\n ...props.translations,\n },\n }\n },\n\n states: {\n \"before:spin\": {\n effects: [\"trackButtonDisabled\", \"waitForChangeDelay\"],\n entry: createChoose<NumberInputSchema>([\n {actions: [\"increment\"], guard: \"isIncrementHint\"},\n {actions: [\"decrement\"], guard: \"isDecrementHint\"},\n ]),\n on: {\n CHANGE_DELAY: {\n guard: and(\"isInRange\", \"spinOnPress\"),\n target: \"spinning\",\n },\n \"TRIGGER.PRESS_UP\": [\n {\n actions: [\"clearHint\"],\n guard: \"isTouchPointer\",\n target: \"focused\",\n },\n {actions: [\"focusInput\", \"clearHint\"], target: \"focused\"},\n ],\n },\n tags: [\"focus\"],\n },\n focused: {\n effects: [\"attachWheelListener\"],\n on: {\n \"INPUT.ARROW_DOWN\": {\n actions: [\"decrement\"],\n },\n \"INPUT.ARROW_UP\": {\n actions: [\"increment\"],\n },\n \"INPUT.BLUR\": [\n {\n actions: [\"setClampedValue\", \"clearHint\", \"invokeOnBlur\"],\n guard: and(\"clampValueOnBlur\", not(\"isInRange\")),\n target: \"idle\",\n },\n {\n actions: [\n \"setFormattedValue\",\n \"clearHint\",\n \"invokeOnBlur\",\n \"invokeOnInvalid\",\n ],\n guard: not(\"isInRange\"),\n target: \"idle\",\n },\n {\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\"],\n target: \"idle\",\n },\n ],\n \"INPUT.CHANGE\": {\n actions: [\"setValue\", \"setHint\"],\n },\n \"INPUT.END\": {\n actions: [\"incrementToMax\"],\n },\n \"INPUT.ENTER\": {\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\"],\n },\n \"INPUT.HOME\": {\n actions: [\"decrementToMin\"],\n },\n \"TRIGGER.PRESS_DOWN\": [\n {\n actions: [\"setHint\"],\n guard: \"isTouchPointer\",\n target: \"before:spin\",\n },\n {actions: [\"focusInput\", \"setHint\"], target: \"before:spin\"},\n ],\n },\n tags: [\"focus\"],\n },\n\n idle: {\n on: {\n \"INPUT.FOCUS\": {\n actions: [\"focusInput\", \"invokeOnFocus\"],\n target: \"focused\",\n },\n \"TRIGGER.PRESS_DOWN\": [\n {\n actions: [\"setHint\"],\n guard: \"isTouchPointer\",\n target: \"before:spin\",\n },\n {\n actions: [\"focusInput\", \"invokeOnFocus\", \"setHint\"],\n target: \"before:spin\",\n },\n ],\n },\n },\n spinning: {\n effects: [\"trackButtonDisabled\", \"spinValue\"],\n on: {\n SPIN: [\n {\n actions: [\"increment\"],\n guard: \"isIncrementHint\",\n },\n {\n actions: [\"decrement\"],\n guard: \"isDecrementHint\",\n },\n ],\n \"TRIGGER.PRESS_UP\": {\n actions: [\"focusInput\", \"clearHint\"],\n target: \"focused\",\n },\n },\n tags: [\"focus\"],\n },\n },\n watch({action, computed, context, prop, track}) {\n track([() => context.get(\"value\"), () => prop(\"locale\")], () => {\n action([\"syncInputElement\"])\n })\n\n track([() => computed(\"isOutOfRange\")], () => {\n action([\"invokeOnInvalid\"])\n })\n },\n })\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {NumberParser} from \"@internationalized/number\"\n\nimport type {Params} from \"@qualcomm-ui/utils/machine\"\n\nimport type {NumberInputSchema} from \"./number-input.types\"\n\nexport function createFormatter(\n locale: string,\n options: Intl.NumberFormatOptions = {},\n): Intl.NumberFormat {\n return new Intl.NumberFormat(locale, options)\n}\n\nexport function createParser(\n locale: string,\n options: Intl.NumberFormatOptions = {},\n): NumberParser {\n return new NumberParser(locale, options)\n}\n\ntype Ctx = Pick<Params<NumberInputSchema>, \"prop\" | \"computed\">\n\nexport function parseValue(value: string | number, params: Ctx): any {\n const {computed, prop} = params\n if (!prop(\"formatOptions\")) {\n return parseFloat(value as string)\n }\n if (value === \"\") {\n return Number.NaN\n }\n return computed(\"parser\").parse(value as string)\n}\n\nexport function formatValue(value: number, params: Ctx): string {\n const {computed, prop} = params\n if (Number.isNaN(value)) {\n return \"\"\n }\n if (!prop(\"formatOptions\")) {\n return value.toString()\n }\n return computed(\"formatter\").format(value)\n}\n\nexport function getDefaultStep(\n step: number | undefined,\n formatOptions: Intl.NumberFormatOptions | undefined,\n): number {\n let defaultStep = step !== undefined && !Number.isNaN(step) ? step : 1\n if (\n formatOptions?.style === \"percent\" &&\n (step === undefined || Number.isNaN(step))\n ) {\n defaultStep = 0.01\n }\n return defaultStep\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {NumberInputApiProps} from \"./number-input.types\"\n\nexport const numberInputProps: (keyof NumberInputApiProps)[] =\n createProps<NumberInputApiProps>()(\n \"allowMouseWheel\",\n \"allowOverflow\",\n \"clampValueOnBlur\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"focusInputOnChange\",\n \"form\",\n \"formatOptions\",\n \"getRootNode\",\n \"ids\",\n \"inputMode\",\n \"invalid\",\n \"locale\",\n \"max\",\n \"min\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueInvalid\",\n \"pattern\",\n \"readOnly\",\n \"required\",\n \"spinOnPress\",\n \"step\",\n \"translations\",\n \"value\",\n )\n\nexport const splitNumberInputProps: <Props extends NumberInputApiProps>(\n props: Props,\n) => [NumberInputApiProps, Omit<Props, keyof NumberInputApiProps>] =\n createSplitProps<NumberInputApiProps>(numberInputProps)\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["export * from \"./number-input.api\"\nexport * from \"./number-input.machine\"\nexport * from \"./number-input.props\"\nexport type * from \"./number-input.types\"\nexport * from \"./number-input.utils\"\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n getEventStep,\n isComposingEvent,\n isLeftClick,\n isModifierKey,\n} from \"@qualcomm-ui/dom/query\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {\n EventKeyMap,\n IdRegistrationProps,\n Machine,\n PropNormalizer,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport {domEls, domIds} from \"./internal\"\nimport type {\n NumberInputApi,\n NumberInputControlBindings,\n NumberInputDecrementTriggerBindings,\n NumberInputErrorIndicatorBindings,\n NumberInputErrorTextBindings,\n NumberInputHintBindings,\n NumberInputIncrementTriggerBindings,\n NumberInputInputBindings,\n NumberInputInputGroupBindings,\n NumberInputLabelBindings,\n NumberInputRootBindings,\n NumberInputSchema,\n NumberInputScopeAttribute,\n NumberInputValueTextBindings,\n} from \"./number-input.types\"\n\nconst commonBindings: NumberInputScopeAttribute = {\n \"data-scope\": \"number-input\",\n}\n\nexport function createNumberInputApi(\n machine: Machine<NumberInputSchema>,\n normalize: PropNormalizer,\n): NumberInputApi {\n const {computed, prop, scope, send, state} = machine\n\n const focused = state.hasTag(\"focus\")\n const disabled = computed(\"isDisabled\")\n const readOnly = prop(\"readOnly\")\n\n const empty = computed(\"isValueEmpty\")\n const invalid = computed(\"isOutOfRange\") || !!prop(\"invalid\")\n\n const isIncrementDisabled = disabled || !computed(\"canIncrement\") || readOnly\n const isDecrementDisabled = disabled || !computed(\"canDecrement\") || readOnly\n\n const translations = prop(\"translations\")\n\n return {\n clearValue() {\n send({type: \"VALUE.CLEAR\"})\n },\n decrement() {\n send({type: \"VALUE.DECREMENT\"})\n },\n empty,\n focus() {\n domEls.input(scope)?.focus()\n },\n focused,\n\n increment() {\n send({type: \"VALUE.INCREMENT\"})\n },\n\n invalid,\n\n required: prop(\"required\"),\n\n setToMax() {\n send({type: \"VALUE.SET\", value: prop(\"max\")})\n },\n\n setToMin() {\n send({type: \"VALUE.SET\", value: prop(\"min\")})\n },\n\n setValue(value) {\n send({type: \"VALUE.SET\", value})\n },\n\n value: computed(\"formattedValue\"),\n\n valueAsNumber: computed(\"valueAsNumber\"),\n\n // group: prop getters\n getControlBindings(): NumberInputControlBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-disabled\": booleanAriaAttr(disabled),\n \"aria-invalid\": booleanAriaAttr(invalid),\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"control\",\n dir: prop(\"dir\"),\n role: \"group\",\n })\n },\n getDecrementTriggerBindings(props): NumberInputDecrementTriggerBindings {\n scope.ids.register(\"decrementTrigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.input(scope),\n \"aria-label\": translations.decrementLabel,\n \"data-disabled\": booleanDataAttr(isDecrementDisabled),\n \"data-part\": \"decrement-trigger\",\n dir: prop(\"dir\"),\n disabled: isDecrementDisabled,\n id: domIds.decrementTrigger(scope),\n onPointerDown(event) {\n if (isDecrementDisabled || !isLeftClick(event)) {\n return\n }\n send({\n hint: \"decrement\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_DOWN\",\n })\n if (event.pointerType === \"mouse\") {\n event.preventDefault()\n }\n if (event.pointerType === \"touch\") {\n event.currentTarget?.focus({preventScroll: true})\n }\n },\n onPointerLeave() {\n if (isDecrementDisabled) {\n return\n }\n send({hint: \"decrement\", type: \"TRIGGER.PRESS_UP\"})\n },\n onPointerUp(event) {\n send({\n hint: \"decrement\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_UP\",\n })\n },\n tabIndex: -1,\n type: \"button\",\n })\n },\n getErrorIndicatorBindings(): NumberInputErrorIndicatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-label\": \"Error\",\n \"data-part\": \"error-indicator\",\n dir: prop(\"dir\"),\n hidden: !prop(\"invalid\"),\n })\n },\n getErrorTextBindings(\n props: IdRegistrationProps,\n ): NumberInputErrorTextBindings {\n scope.ids.register(\"errorText\", props)\n return normalize.element({\n ...commonBindings,\n \"aria-live\": \"polite\",\n \"data-part\": \"error-text\",\n dir: prop(\"dir\"),\n hidden: !invalid,\n id: domIds.errorText(scope),\n })\n },\n getHintBindings(props: IdRegistrationProps): NumberInputHintBindings {\n scope.ids.register(\"hint\", props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-part\": \"hint\",\n dir: prop(\"dir\"),\n hidden: !!invalid,\n id: domIds.hint(scope),\n })\n },\n getIncrementTriggerBindings(props): NumberInputIncrementTriggerBindings {\n scope.ids.register(\"incrementTrigger\", props)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.input(scope),\n \"aria-label\": translations.incrementLabel,\n \"data-disabled\": booleanDataAttr(isIncrementDisabled),\n \"data-part\": \"increment-trigger\",\n dir: prop(\"dir\"),\n disabled: isIncrementDisabled,\n id: domIds.incrementTrigger(scope),\n onPointerDown(event) {\n if (isIncrementDisabled || !isLeftClick(event)) {\n return\n }\n send({\n hint: \"increment\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_DOWN\",\n })\n if (event.pointerType === \"mouse\") {\n event.preventDefault()\n }\n if (event.pointerType === \"touch\") {\n event.currentTarget?.focus({preventScroll: true})\n }\n },\n onPointerLeave(event) {\n send({\n hint: \"increment\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_UP\",\n })\n },\n onPointerUp(event) {\n send({\n hint: \"increment\",\n pointerType: event.pointerType,\n type: \"TRIGGER.PRESS_UP\",\n })\n },\n tabIndex: -1,\n type: \"button\",\n })\n },\n getInputBindings(props): NumberInputInputBindings {\n scope.ids.register(\"input\", props)\n return normalize.input({\n ...commonBindings,\n \"aria-invalid\": booleanAriaAttr(invalid),\n \"aria-roledescription\": \"numberfield\",\n \"aria-valuemax\": prop(\"max\"),\n \"aria-valuemin\": prop(\"min\"),\n \"aria-valuenow\": Number.isNaN(computed(\"valueAsNumber\"))\n ? undefined\n : computed(\"valueAsNumber\"),\n \"aria-valuetext\": computed(\"valueText\"),\n autoComplete: \"off\",\n autoCorrect: \"off\",\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-empty\": booleanDataAttr(empty),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"input\",\n defaultValue: computed(\"formattedValue\"),\n dir: prop(\"dir\"),\n disabled,\n form: prop(\"form\"),\n id: domIds.input(scope),\n inputMode: prop(\"inputMode\"),\n name: prop(\"name\"),\n onBeforeInput(event) {\n try {\n const {selectionEnd, selectionStart, value} = event.currentTarget\n\n const nextValue =\n value.slice(0, selectionStart ?? undefined) +\n ((event as any).data ?? \"\") +\n value.slice(selectionEnd ?? undefined)\n const isValid = computed(\"parser\").isValidPartialNumber(nextValue)\n\n if (!isValid) {\n event.preventDefault()\n }\n } catch {\n // noop\n }\n },\n onBlur() {\n send({type: \"INPUT.BLUR\"})\n },\n onFocus() {\n send({type: \"INPUT.FOCUS\"})\n },\n onInput(event) {\n send({hint: \"set\", target: event.currentTarget, type: \"INPUT.CHANGE\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (readOnly) {\n return\n }\n if (isComposingEvent(event)) {\n return\n }\n\n const step = getEventStep(event) * prop(\"step\")\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({step, type: \"INPUT.ARROW_DOWN\"})\n event.preventDefault()\n },\n ArrowUp() {\n send({step, type: \"INPUT.ARROW_UP\"})\n event.preventDefault()\n },\n End() {\n if (isModifierKey(event)) {\n return\n }\n send({type: \"INPUT.END\"})\n event.preventDefault()\n },\n Enter() {\n send({type: \"INPUT.ENTER\"})\n },\n Home() {\n if (isModifierKey(event)) {\n return\n }\n send({type: \"INPUT.HOME\"})\n event.preventDefault()\n },\n }\n\n const exec = keyMap[event.key]\n exec?.(event)\n },\n pattern: prop(\"pattern\"),\n readOnly,\n required: prop(\"required\"),\n role: \"spinbutton\",\n spellCheck: \"false\",\n type: \"text\",\n })\n },\n getInputGroupBindings(): NumberInputInputGroupBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"input-group\",\n \"data-readonly\": booleanDataAttr(readOnly),\n dir: prop(\"dir\"),\n onClick: (event) => {\n if (event.defaultPrevented || disabled) {\n return\n }\n send({type: \"INPUT.FOCUS\"})\n },\n })\n },\n\n getLabelBindings(props): NumberInputLabelBindings {\n scope.ids.register(\"label\", props)\n return normalize.label({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"label\",\n dir: prop(\"dir\"),\n htmlFor: domIds.input(scope),\n id: domIds.label(scope),\n })\n },\n getRootBindings(): NumberInputRootBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"root\",\n dir: prop(\"dir\"),\n })\n },\n\n getValueTextBindings(): NumberInputValueTextBindings {\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-part\": \"value-text\",\n dir: prop(\"dir\"),\n })\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {\n HintValue,\n NumberInputElementIds,\n NumberInputScope,\n} from \"../number-input.types\"\n\nexport const domIds: ScopeDomIds<NumberInputElementIds, NumberInputScope> = {\n decrementTrigger: (scope) => scope.ids.get(\"decrementTrigger\"),\n errorText: (scope) => scope.ids.get(\"errorText\"),\n hint: (scope) => scope.ids.get(\"hint\"),\n incrementTrigger: (scope) => scope.ids.get(\"incrementTrigger\"),\n input: (scope) => scope.ids.get(\"input\"),\n label: (scope) => scope.ids.get(\"label\"),\n}\n\nexport const domEls: ScopeDomElements<\n NumberInputElementIds,\n NumberInputScope,\n {\n decrementTrigger: HTMLButtonElement | null\n incrementTrigger: HTMLButtonElement | null\n input: HTMLInputElement | null\n }\n> = {\n decrementTrigger: (scope) => scope.getById(domIds.decrementTrigger(scope)),\n errorText: (scope) => scope.getById(domIds.errorText(scope)),\n hint: (scope) => scope.getById(domIds.hint(scope)),\n incrementTrigger: (scope) => scope.getById(domIds.incrementTrigger(scope)),\n input: (scope: NumberInputScope) => scope.getById(domIds.input(scope)),\n label: (scope) => scope.getById(domIds.label(scope)),\n}\n\nexport function getPressedTriggerEl(\n ctx: NumberInputScope,\n hint: HintValue | null,\n): HTMLButtonElement | null {\n let btnEl: HTMLButtonElement | null = null\n if (hint === \"increment\") {\n btnEl = domEls.incrementTrigger(ctx)\n }\n if (hint === \"decrement\") {\n btnEl = domEls.decrementTrigger(ctx)\n }\n return btnEl\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n addDomEvent,\n observeAttributes,\n raf,\n setElementValue,\n trackFormControl,\n} from \"@qualcomm-ui/dom/query\"\nimport {\n createChoose,\n createGuards,\n createMachine,\n type MachineConfig,\n} from \"@qualcomm-ui/utils/machine\"\nimport {memo} from \"@qualcomm-ui/utils/memo\"\nimport {\n clampValue,\n decrementValue,\n incrementValue,\n isValueAtMax,\n isValueAtMin,\n isValueWithinRange,\n} from \"@qualcomm-ui/utils/number\"\n\nimport {domEls, getPressedTriggerEl} from \"./internal\"\nimport type {HintValue, NumberInputSchema} from \"./number-input.types\"\nimport {\n createFormatter,\n createParser,\n formatValue,\n getDefaultStep,\n parseValue,\n} from \"./number-input.utils\"\n\nconst {and, not} = createGuards<NumberInputSchema>()\n\nexport const numberInputMachine: MachineConfig<NumberInputSchema> =\n createMachine({\n actions: {\n clearHint({context}) {\n context.set(\"hint\", null)\n },\n clearValue({context}) {\n context.set(\"value\", \"\")\n },\n decrement({computed, context, event, prop}) {\n let nextValue = decrementValue(\n computed(\"valueAsNumber\"),\n \"step\" in event ? (event.step ?? prop(\"step\")) : prop(\"step\"),\n )\n if (!prop(\"allowOverflow\")) {\n nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"))\n }\n context.set(\"value\", formatValue(nextValue, {computed, prop}))\n },\n decrementToMin({computed, context, prop}) {\n const value = formatValue(prop(\"min\"), {computed, prop})\n context.set(\"value\", value)\n },\n focusInput({prop, scope}) {\n if (!prop(\"focusInputOnChange\")) {\n return\n }\n const inputEl = domEls.input(scope)\n if (scope.isActiveElement(inputEl)) {\n return\n }\n raf(() => inputEl?.focus({preventScroll: true}))\n },\n increment({computed, context, event, prop}) {\n let nextValue = incrementValue(\n computed(\"valueAsNumber\"),\n \"step\" in event ? (event.step ?? prop(\"step\")) : prop(\"step\"),\n )\n if (!prop(\"allowOverflow\")) {\n nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"))\n }\n context.set(\"value\", formatValue(nextValue, {computed, prop}))\n },\n incrementToMax({computed, context, prop}) {\n const value = formatValue(prop(\"max\"), {computed, prop})\n context.set(\"value\", value)\n },\n invokeOnBlur({computed, prop}) {\n prop(\"onFocusChange\")?.({\n focused: false,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\"),\n })\n },\n invokeOnFocus({computed, prop}) {\n prop(\"onFocusChange\")?.({\n focused: true,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\"),\n })\n },\n invokeOnInvalid({computed, event, prop}) {\n if (event.type === \"INPUT.CHANGE\") {\n return\n }\n const reason =\n computed(\"valueAsNumber\") > prop(\"max\")\n ? \"rangeOverflow\"\n : \"rangeUnderflow\"\n prop(\"onValueInvalid\")?.({\n reason,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\"),\n })\n },\n setClampedValue({computed, context, prop}) {\n const nextValue = clampValue(\n computed(\"valueAsNumber\"),\n prop(\"min\"),\n prop(\"max\"),\n )\n context.set(\"value\", formatValue(nextValue, {computed, prop}))\n },\n setFormattedValue({computed, context}) {\n context.set(\"value\", computed(\"formattedValue\"))\n },\n setHint({context, event}) {\n context.set(\"hint\", (event as any).hint || null)\n },\n setRawValue({computed, context, event, prop}) {\n let nextValue = parseValue((event as any).value, {computed, prop})\n if (!prop(\"allowOverflow\")) {\n nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"))\n }\n context.set(\"value\", formatValue(nextValue, {computed, prop}))\n },\n setValue({context, event}) {\n const value = (event as any).target?.value ?? (event as any).value\n context.set(\"value\", value)\n },\n syncInputElement({computed, context, event, scope}) {\n const value = event.type.endsWith(\"CHANGE\")\n ? context.get(\"value\")\n : computed(\"formattedValue\")\n const inputEl = domEls.input(scope)\n raf(() => {\n setElementValue(inputEl, value)\n })\n },\n },\n computed: {\n canDecrement: ({computed, prop}) =>\n prop(\"allowOverflow\") || !computed(\"isAtMin\"),\n canIncrement: ({computed, prop}) =>\n prop(\"allowOverflow\") || !computed(\"isAtMax\"),\n formattedValue: ({computed, prop}) =>\n formatValue(computed(\"valueAsNumber\"), {computed, prop}),\n formatter: memo(\n ({prop}) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => createFormatter(locale, formatOptions),\n ),\n isAtMax: ({computed, prop}) =>\n isValueAtMax(computed(\"valueAsNumber\"), prop(\"max\")),\n isAtMin: ({computed, prop}) =>\n isValueAtMin(computed(\"valueAsNumber\"), prop(\"min\")),\n isDisabled: ({context, prop}) =>\n !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isOutOfRange: ({computed, prop}) =>\n !isValueWithinRange(\n computed(\"valueAsNumber\"),\n prop(\"min\"),\n prop(\"max\"),\n ),\n isRtl: ({prop}) => prop(\"dir\") === \"rtl\",\n isValueEmpty: ({context}) => context.get(\"value\") === \"\",\n parser: memo(\n ({prop}) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => createParser(locale, formatOptions),\n ),\n valueAsNumber: ({computed, context, prop}) =>\n parseValue(context.get(\"value\"), {computed, prop}),\n valueText: ({context, prop}) =>\n prop(\"translations\").valueText?.(context.get(\"value\")),\n },\n context: ({bindable, getComputed, prop}) => {\n return {\n fieldsetDisabled: bindable<boolean>(() => ({defaultValue: false})),\n hint: bindable<HintValue | null>(() => ({defaultValue: null})),\n ssr: bindable<boolean>(() => ({defaultValue: true})),\n value: bindable<string>(() => ({\n defaultValue: prop(\"defaultValue\"),\n onChange(value) {\n const computed = getComputed()\n const valueAsNumber = parseValue(value, {computed, prop})\n prop(\"onValueChange\")?.({value, valueAsNumber})\n },\n value: prop(\"value\"),\n })),\n }\n },\n effects: {\n attachWheelListener({prop, scope, send}) {\n const inputEl = domEls.input(scope)\n if (\n !inputEl ||\n !scope.isActiveElement(inputEl) ||\n !prop(\"allowMouseWheel\")\n ) {\n return\n }\n\n function onWheel(event: WheelEvent) {\n event.preventDefault()\n const dir = Math.sign(event.deltaY) * -1\n if (dir === 1) {\n send({type: \"VALUE.INCREMENT\"})\n } else if (dir === -1) {\n send({type: \"VALUE.DECREMENT\"})\n }\n }\n\n return addDomEvent(inputEl, \"wheel\", onWheel, {passive: false})\n },\n spinValue({send}) {\n const id = setInterval(() => {\n send({type: \"SPIN\"})\n }, 50)\n return () => clearInterval(id)\n },\n trackButtonDisabled({context, scope, send}) {\n const hint = context.get(\"hint\")\n const btn = getPressedTriggerEl(scope, hint)\n return observeAttributes(btn, {\n attributes: [\"disabled\"],\n callback() {\n send({src: \"attr\", type: \"TRIGGER.PRESS_UP\"})\n },\n })\n },\n trackFormControl({context, scope}) {\n return trackFormControl(domEls.input(scope), {\n onFieldsetDisabledChange: (disabled) => {\n context.set(\"fieldsetDisabled\", disabled)\n },\n onFormReset: () => {\n context.set(\"value\", context.initial(\"value\")!)\n },\n })\n },\n waitForChangeDelay({send}) {\n const id = setTimeout(() => {\n send({type: \"CHANGE_DELAY\"})\n }, 300)\n return () => clearTimeout(id)\n },\n },\n guards: {\n clampValueOnBlur: ({prop}) => prop(\"clampValueOnBlur\"),\n isDecrementHint: ({context, event}) =>\n ((event as any).hint ?? context.get(\"hint\")) === \"decrement\",\n isIncrementHint: ({context, event}) =>\n ((event as any).hint ?? context.get(\"hint\")) === \"increment\",\n isInRange: ({computed}) => !computed(\"isOutOfRange\"),\n isTouchPointer: ({event}) =>\n \"pointerType\" in event && event.pointerType === \"touch\",\n spinOnPress: ({prop}) => !!prop(\"spinOnPress\"),\n },\n ids: ({bindableId, ids}) => {\n return {\n decrementTrigger: bindableId<string>(ids?.decrementTrigger),\n errorText: bindableId<string>(ids?.errorText),\n hint: bindableId<string>(ids?.hint),\n incrementTrigger: bindableId<string>(ids?.incrementTrigger),\n input: bindableId<string>(ids?.input),\n label: bindableId<string>(ids?.label),\n }\n },\n initialState() {\n return \"idle\"\n },\n on: {\n \"VALUE.CLEAR\": {\n actions: [\"clearValue\"],\n },\n \"VALUE.DECREMENT\": {\n actions: [\"decrement\"],\n },\n \"VALUE.INCREMENT\": {\n actions: [\"increment\"],\n },\n \"VALUE.SET\": {\n actions: [\"setRawValue\"],\n },\n },\n onInit: {\n effects: [\"trackFormControl\"],\n },\n\n props({props}) {\n const step = getDefaultStep(props.step, props.formatOptions)\n return {\n allowOverflow: false,\n clampValueOnBlur: !props.allowOverflow,\n defaultValue: \"\",\n dir: \"ltr\",\n focusInputOnChange: true,\n inputMode: \"decimal\",\n locale: \"en-US\",\n max: Number.MAX_SAFE_INTEGER,\n min: Number.MIN_SAFE_INTEGER,\n pattern: \"-?[0-9]*(.[0-9]+)?\",\n spinOnPress: true,\n step,\n ...props,\n translations: {\n decrementLabel: \"decrease value\",\n incrementLabel: \"increment value\",\n ...props.translations,\n },\n }\n },\n\n states: {\n \"before:spin\": {\n effects: [\"trackButtonDisabled\", \"waitForChangeDelay\"],\n entry: createChoose<NumberInputSchema>([\n {actions: [\"increment\"], guard: \"isIncrementHint\"},\n {actions: [\"decrement\"], guard: \"isDecrementHint\"},\n ]),\n on: {\n CHANGE_DELAY: {\n guard: and(\"isInRange\", \"spinOnPress\"),\n target: \"spinning\",\n },\n \"TRIGGER.PRESS_UP\": [\n {\n actions: [\"clearHint\"],\n guard: \"isTouchPointer\",\n target: \"focused\",\n },\n {actions: [\"focusInput\", \"clearHint\"], target: \"focused\"},\n ],\n },\n tags: [\"focus\"],\n },\n focused: {\n effects: [\"attachWheelListener\"],\n on: {\n \"INPUT.ARROW_DOWN\": {\n actions: [\"decrement\"],\n },\n \"INPUT.ARROW_UP\": {\n actions: [\"increment\"],\n },\n \"INPUT.BLUR\": [\n {\n actions: [\"setClampedValue\", \"clearHint\", \"invokeOnBlur\"],\n guard: and(\"clampValueOnBlur\", not(\"isInRange\")),\n target: \"idle\",\n },\n {\n actions: [\n \"setFormattedValue\",\n \"clearHint\",\n \"invokeOnBlur\",\n \"invokeOnInvalid\",\n ],\n guard: not(\"isInRange\"),\n target: \"idle\",\n },\n {\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\"],\n target: \"idle\",\n },\n ],\n \"INPUT.CHANGE\": {\n actions: [\"setValue\", \"setHint\"],\n },\n \"INPUT.END\": {\n actions: [\"incrementToMax\"],\n },\n \"INPUT.ENTER\": {\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\"],\n },\n \"INPUT.HOME\": {\n actions: [\"decrementToMin\"],\n },\n \"TRIGGER.PRESS_DOWN\": [\n {\n actions: [\"setHint\"],\n guard: \"isTouchPointer\",\n target: \"before:spin\",\n },\n {actions: [\"focusInput\", \"setHint\"], target: \"before:spin\"},\n ],\n },\n tags: [\"focus\"],\n },\n\n idle: {\n on: {\n \"INPUT.FOCUS\": {\n actions: [\"focusInput\", \"invokeOnFocus\"],\n target: \"focused\",\n },\n \"TRIGGER.PRESS_DOWN\": [\n {\n actions: [\"setHint\"],\n guard: \"isTouchPointer\",\n target: \"before:spin\",\n },\n {\n actions: [\"focusInput\", \"invokeOnFocus\", \"setHint\"],\n target: \"before:spin\",\n },\n ],\n },\n },\n spinning: {\n effects: [\"trackButtonDisabled\", \"spinValue\"],\n on: {\n SPIN: [\n {\n actions: [\"increment\"],\n guard: \"isIncrementHint\",\n },\n {\n actions: [\"decrement\"],\n guard: \"isDecrementHint\",\n },\n ],\n \"TRIGGER.PRESS_UP\": {\n actions: [\"focusInput\", \"clearHint\"],\n target: \"focused\",\n },\n },\n tags: [\"focus\"],\n },\n },\n watch({action, computed, context, prop, track}) {\n track([() => context.get(\"value\"), () => prop(\"locale\")], () => {\n action([\"syncInputElement\"])\n })\n\n track([() => computed(\"isOutOfRange\")], () => {\n action([\"invokeOnInvalid\"])\n })\n },\n })\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {NumberParser} from \"@internationalized/number\"\n\nimport type {Params} from \"@qualcomm-ui/utils/machine\"\n\nimport type {NumberInputSchema} from \"./number-input.types\"\n\nexport function createFormatter(\n locale: string,\n options: Intl.NumberFormatOptions = {},\n): Intl.NumberFormat {\n return new Intl.NumberFormat(locale, options)\n}\n\nexport function createParser(\n locale: string,\n options: Intl.NumberFormatOptions = {},\n): NumberParser {\n return new NumberParser(locale, options)\n}\n\ntype Ctx = Pick<Params<NumberInputSchema>, \"prop\" | \"computed\">\n\nexport function parseValue(value: string | number, params: Ctx): any {\n const {computed, prop} = params\n if (!prop(\"formatOptions\")) {\n return parseFloat(value as string)\n }\n if (value === \"\") {\n return Number.NaN\n }\n return computed(\"parser\").parse(value as string)\n}\n\nexport function formatValue(value: number, params: Ctx): string {\n const {computed, prop} = params\n if (Number.isNaN(value)) {\n return \"\"\n }\n if (!prop(\"formatOptions\")) {\n return value.toString()\n }\n return computed(\"formatter\").format(value)\n}\n\nexport function getDefaultStep(\n step: number | undefined,\n formatOptions: Intl.NumberFormatOptions | undefined,\n): number {\n let defaultStep = step !== undefined && !Number.isNaN(step) ? step : 1\n if (\n formatOptions?.style === \"percent\" &&\n (step === undefined || Number.isNaN(step))\n ) {\n defaultStep = 0.01\n }\n return defaultStep\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {NumberInputApiProps} from \"./number-input.types\"\n\nexport const numberInputProps: (keyof NumberInputApiProps)[] =\n createProps<NumberInputApiProps>()(\n \"allowMouseWheel\",\n \"allowOverflow\",\n \"clampValueOnBlur\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"focusInputOnChange\",\n \"form\",\n \"formatOptions\",\n \"getRootNode\",\n \"ids\",\n \"inputMode\",\n \"invalid\",\n \"locale\",\n \"max\",\n \"min\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueInvalid\",\n \"pattern\",\n \"readOnly\",\n \"required\",\n \"spinOnPress\",\n \"step\",\n \"translations\",\n \"value\",\n )\n\nexport const splitNumberInputProps: <Props extends NumberInputApiProps>(\n props: Props,\n) => [NumberInputApiProps, Omit<Props, keyof NumberInputApiProps>] =\n createSplitProps<NumberInputApiProps>(numberInputProps)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["number_input_exports", "__export", "createFormatter", "createNumberInputApi", "createParser", "formatValue", "getDefaultStep", "numberInputMachine", "numberInputProps", "parseValue", "splitNumberInputProps", "__toCommonJS", "import_query", "import_attributes", "domIds", "scope", "domEls", "getPressedTriggerEl", "ctx", "hint", "btnEl", "commonBindings", "createNumberInputApi", "machine", "normalize", "computed", "prop", "scope", "send", "state", "focused", "disabled", "readOnly", "empty", "invalid", "isIncrementDisabled", "isDecrementDisabled", "translations", "domEls", "value", "props", "domIds", "event", "selectionEnd", "selectionStart", "nextValue", "step", "exec", "import_query", "import_machine", "import_memo", "import_number", "import_number", "createFormatter", "locale", "options", "createParser", "parseValue", "value", "params", "computed", "prop", "formatValue", "getDefaultStep", "step", "formatOptions", "defaultStep", "and", "not", "numberInputMachine", "context", "computed", "event", "prop", "nextValue", "formatValue", "value", "scope", "inputEl", "domEls", "reason", "parseValue", "locale", "formatOptions", "createFormatter", "createParser", "bindable", "getComputed", "valueAsNumber", "send", "onWheel", "dir", "id", "hint", "btn", "getPressedTriggerEl", "disabled", "bindableId", "ids", "props", "step", "getDefaultStep", "action", "track", "import_object", "numberInputProps", "splitNumberInputProps"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getEventStep as G,isComposingEvent as F,isLeftClick as x,isModifierKey as S}from"@qualcomm-ui/dom/query";import{booleanAriaAttr as h,booleanDataAttr as o}from"@qualcomm-ui/utils/attributes";var s={decrementTrigger:e=>e.ids.get("decrementTrigger"),errorText:e=>e.ids.get("errorText"),hint:e=>e.ids.get("hint"),incrementTrigger:e=>e.ids.get("incrementTrigger"),input:e=>e.ids.get("input"),label:e=>e.ids.get("label")},c={decrementTrigger:e=>e.getById(s.decrementTrigger(e)),errorText:e=>e.getById(s.errorText(e)),hint:e=>e.getById(s.hint(e)),incrementTrigger:e=>e.getById(s.incrementTrigger(e)),input:e=>e.getById(s.input(e)),label:e=>e.getById(s.label(e))};function O(e,t){let r=null;return t==="increment"&&(r=c.incrementTrigger(e)),t==="decrement"&&(r=c.decrementTrigger(e)),r}var d={"data-scope":"number-input"};function se(e,t){let{computed:r,prop:n,scope:i,send:u,state:I}=e,f=I.hasTag("focus"),m=r("isDisabled"),b=n("readOnly"),V=r("isValueEmpty"),p=r("isOutOfRange")||!!n("invalid"),P=m||!r("canIncrement")||b,N=m||!r("canDecrement")||b,A=n("translations");return{clearValue(){u({type:"VALUE.CLEAR"})},decrement(){u({type:"VALUE.DECREMENT"})},empty:V,focus(){c.input(i)?.focus()},focused:f,increment(){u({type:"VALUE.INCREMENT"})},invalid:p,required:n("required"),setToMax(){u({type:"VALUE.SET",value:n("max")})},setToMin(){u({type:"VALUE.SET",value:n("min")})},setValue(l){u({type:"VALUE.SET",value:l})},value:r("formattedValue"),valueAsNumber:r("valueAsNumber"),getControlBindings(){return t.element({...d,"aria-disabled":h(m),"aria-invalid":h(p),"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(p),"data-part":"control",dir:n("dir"),role:"group"})},getDecrementTriggerBindings(l){return i.ids.register("decrementTrigger",l),t.button({...d,"aria-controls":s.input(i),"aria-label":A.decrementLabel,"data-disabled":o(N),"data-part":"decrement-trigger",dir:n("dir"),disabled:N,id:s.decrementTrigger(i),onPointerDown(a){N||!x(a)||(u({hint:"decrement",pointerType:a.pointerType,type:"TRIGGER.PRESS_DOWN"}),a.pointerType==="mouse"&&a.preventDefault(),a.pointerType==="touch"&&a.currentTarget?.focus({preventScroll:!0}))},onPointerLeave(){N||u({hint:"decrement",type:"TRIGGER.PRESS_UP"})},onPointerUp(a){u({hint:"decrement",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},tabIndex:-1,type:"button"})},getErrorIndicatorBindings(){return t.element({...d,"aria-label":"Error","data-part":"error-indicator",dir:n("dir"),hidden:!n("invalid")})},getErrorTextBindings(l){return i.ids.register("errorText",l),t.element({...d,"aria-live":"polite","data-part":"error-text",dir:n("dir"),hidden:!p,id:s.errorText(i)})},getHintBindings(l){return i.ids.register("hint",l),t.element({...d,"data-disabled":o(m),"data-part":"hint",dir:n("dir"),id:s.hint(i)})},getIncrementTriggerBindings(l){return i.ids.register("incrementTrigger",l),t.button({...d,"aria-controls":s.input(i),"aria-label":A.incrementLabel,"data-disabled":o(P),"data-part":"increment-trigger",dir:n("dir"),disabled:P,id:s.incrementTrigger(i),onPointerDown(a){P||!x(a)||(u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_DOWN"}),a.pointerType==="mouse"&&a.preventDefault(),a.pointerType==="touch"&&a.currentTarget?.focus({preventScroll:!0}))},onPointerLeave(a){u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},onPointerUp(a){u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},tabIndex:-1,type:"button"})},getInputBindings(l){return i.ids.register("input",l),t.input({...d,"aria-invalid":h(p),"aria-roledescription":"numberfield","aria-valuemax":n("max"),"aria-valuemin":n("min"),"aria-valuenow":Number.isNaN(r("valueAsNumber"))?void 0:r("valueAsNumber"),"aria-valuetext":r("valueText"),autoComplete:"off",autoCorrect:"off","data-disabled":o(m),"data-empty":o(V),"data-invalid":o(p),"data-part":"input",defaultValue:r("formattedValue"),dir:n("dir"),disabled:m,form:n("form"),id:s.input(i),inputMode:n("inputMode"),name:n("name"),onBeforeInput(a){try{let{selectionEnd:T,selectionStart:R,value:E}=a.currentTarget,L=E.slice(0,R??void 0)+(a.data??"")+E.slice(T??void 0);r("parser").isValidPartialNumber(L)||a.preventDefault()}catch{}},onBlur(){u({type:"INPUT.BLUR"})},onFocus(){u({type:"INPUT.FOCUS"})},onInput(a){u({hint:"set",target:a.currentTarget,type:"INPUT.CHANGE"})},onKeyDown(a){if(a.defaultPrevented||b||F(a))return;let T=G(a)*n("step"),E={ArrowDown(){u({step:T,type:"INPUT.ARROW_DOWN"}),a.preventDefault()},ArrowUp(){u({step:T,type:"INPUT.ARROW_UP"}),a.preventDefault()},End(){S(a)||(u({type:"INPUT.END"}),a.preventDefault())},Enter(){u({type:"INPUT.ENTER"})},Home(){S(a)||(u({type:"INPUT.HOME"}),a.preventDefault())}}[a.key];E?.(a)},pattern:n("pattern"),readOnly:b,required:n("required"),role:"spinbutton",spellCheck:"false",type:"text"})},getInputGroupBindings(){return t.element({...d,"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(p),"data-part":"input-group","data-readonly":o(b),dir:n("dir"),onClick:l=>{l.defaultPrevented||m||u({type:"INPUT.FOCUS"})}})},getLabelBindings(l){return i.ids.register("label",l),t.label({...d,"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(p),"data-part":"label",dir:n("dir"),htmlFor:s.input(i),id:s.label(i)})},getRootBindings(){return t.element({...d,"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(p),"data-part":"root",dir:n("dir")})},getValueTextBindings(){return t.element({...d,"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(p),"data-part":"value-text",dir:n("dir")})}}}import{addDomEvent as _,observeAttributes as W,raf as U,setElementValue as q,trackFormControl as K}from"@qualcomm-ui/dom/query";import{createChoose as Y,createGuards as X,createMachine as j}from"@qualcomm-ui/utils/machine";import{memo as M}from"@qualcomm-ui/utils/memo";import{clampValue as v,decrementValue as J,incrementValue as Q,isValueAtMax as Z,isValueAtMin as $,isValueWithinRange as z}from"@qualcomm-ui/utils/number";import{NumberParser as k}from"@internationalized/number";function B(e,t={}){return new Intl.NumberFormat(e,t)}function D(e,t={}){return new k(e,t)}function y(e,t){let{computed:r,prop:n}=t;return n("formatOptions")?e===""?Number.NaN:r("parser").parse(e):parseFloat(e)}function g(e,t){let{computed:r,prop:n}=t;return Number.isNaN(e)?"":n("formatOptions")?r("formatter").format(e):e.toString()}function C(e,t){let r=e!==void 0&&!Number.isNaN(e)?e:1;return t?.style==="percent"&&(e===void 0||Number.isNaN(e))&&(r=.01),r}var{and:H,not:w}=X(),Ne=j({actions:{clearHint({context:e}){e.set("hint",null)},clearValue({context:e}){e.set("value","")},decrement({computed:e,context:t,event:r,prop:n}){let i=J(e("valueAsNumber"),"step"in r?r.step??n("step"):n("step"));n("allowOverflow")||(i=v(i,n("min"),n("max"))),t.set("value",g(i,{computed:e,prop:n}))},decrementToMin({computed:e,context:t,prop:r}){let n=g(r("min"),{computed:e,prop:r});t.set("value",n)},focusInput({prop:e,scope:t}){if(!e("focusInputOnChange"))return;let r=c.input(t);t.isActiveElement(r)||U(()=>r?.focus({preventScroll:!0}))},increment({computed:e,context:t,event:r,prop:n}){let i=Q(e("valueAsNumber"),"step"in r?r.step??n("step"):n("step"));n("allowOverflow")||(i=v(i,n("min"),n("max"))),t.set("value",g(i,{computed:e,prop:n}))},incrementToMax({computed:e,context:t,prop:r}){let n=g(r("max"),{computed:e,prop:r});t.set("value",n)},invokeOnBlur({computed:e,prop:t}){t("onFocusChange")?.({focused:!1,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},invokeOnFocus({computed:e,prop:t}){t("onFocusChange")?.({focused:!0,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},invokeOnInvalid({computed:e,event:t,prop:r}){if(t.type==="INPUT.CHANGE")return;let n=e("valueAsNumber")>r("max")?"rangeOverflow":"rangeUnderflow";r("onValueInvalid")?.({reason:n,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},setClampedValue({computed:e,context:t,prop:r}){let n=v(e("valueAsNumber"),r("min"),r("max"));t.set("value",g(n,{computed:e,prop:r}))},setFormattedValue({computed:e,context:t}){t.set("value",e("formattedValue"))},setHint({context:e,event:t}){e.set("hint",t.hint||null)},setRawValue({computed:e,context:t,event:r,prop:n}){let i=y(r.value,{computed:e,prop:n});n("allowOverflow")||(i=v(i,n("min"),n("max"))),t.set("value",g(i,{computed:e,prop:n}))},setValue({context:e,event:t}){let r=t.target?.value??t.value;e.set("value",r)},syncInputElement({computed:e,context:t,event:r,scope:n}){let i=r.type.endsWith("CHANGE")?t.get("value"):e("formattedValue"),u=c.input(n);U(()=>{q(u,i)})}},computed:{canDecrement:({computed:e,prop:t})=>t("allowOverflow")||!e("isAtMin"),canIncrement:({computed:e,prop:t})=>t("allowOverflow")||!e("isAtMax"),formattedValue:({computed:e,prop:t})=>g(e("valueAsNumber"),{computed:e,prop:t}),formatter:M(({prop:e})=>[e("locale"),e("formatOptions")],(e,t)=>B(e,t)),isAtMax:({computed:e,prop:t})=>Z(e("valueAsNumber"),t("max")),isAtMin:({computed:e,prop:t})=>$(e("valueAsNumber"),t("min")),isDisabled:({context:e,prop:t})=>!!t("disabled")||e.get("fieldsetDisabled"),isOutOfRange:({computed:e,prop:t})=>!z(e("valueAsNumber"),t("min"),t("max")),isRtl:({prop:e})=>e("dir")==="rtl",isValueEmpty:({context:e})=>e.get("value")==="",parser:M(({prop:e})=>[e("locale"),e("formatOptions")],(e,t)=>D(e,t)),valueAsNumber:({computed:e,context:t,prop:r})=>y(t.get("value"),{computed:e,prop:r}),valueText:({context:e,prop:t})=>t("translations").valueText?.(e.get("value"))},context:({bindable:e,getComputed:t,prop:r})=>({fieldsetDisabled:e(()=>({defaultValue:!1})),hint:e(()=>({defaultValue:null})),ssr:e(()=>({defaultValue:!0})),value:e(()=>({defaultValue:r("defaultValue"),onChange(n){let i=t(),u=y(n,{computed:i,prop:r});r("onValueChange")?.({value:n,valueAsNumber:u})},value:r("value")}))}),effects:{attachWheelListener({prop:e,scope:t,send:r}){let n=c.input(t);if(!n||!t.isActiveElement(n)||!e("allowMouseWheel"))return;function i(u){u.preventDefault();let I=Math.sign(u.deltaY)*-1;I===1?r({type:"VALUE.INCREMENT"}):I===-1&&r({type:"VALUE.DECREMENT"})}return _(n,"wheel",i,{passive:!1})},spinValue({send:e}){let t=setInterval(()=>{e({type:"SPIN"})},50);return()=>clearInterval(t)},trackButtonDisabled({context:e,scope:t,send:r}){let n=e.get("hint"),i=O(t,n);return W(i,{attributes:["disabled"],callback(){r({src:"attr",type:"TRIGGER.PRESS_UP"})}})},trackFormControl({context:e,scope:t}){return K(c.input(t),{onFieldsetDisabledChange:r=>{e.set("fieldsetDisabled",r)},onFormReset:()=>{e.set("value",e.initial("value"))}})},waitForChangeDelay({send:e}){let t=setTimeout(()=>{e({type:"CHANGE_DELAY"})},300);return()=>clearTimeout(t)}},guards:{clampValueOnBlur:({prop:e})=>e("clampValueOnBlur"),isDecrementHint:({context:e,event:t})=>(t.hint??e.get("hint"))==="decrement",isIncrementHint:({context:e,event:t})=>(t.hint??e.get("hint"))==="increment",isInRange:({computed:e})=>!e("isOutOfRange"),isTouchPointer:({event:e})=>"pointerType"in e&&e.pointerType==="touch",spinOnPress:({prop:e})=>!!e("spinOnPress")},ids:({bindableId:e,ids:t})=>({decrementTrigger:e(t?.decrementTrigger),errorText:e(t?.errorText),hint:e(t?.hint),incrementTrigger:e(t?.incrementTrigger),input:e(t?.input),label:e(t?.label)}),initialState(){return"idle"},on:{"VALUE.CLEAR":{actions:["clearValue"]},"VALUE.DECREMENT":{actions:["decrement"]},"VALUE.INCREMENT":{actions:["increment"]},"VALUE.SET":{actions:["setRawValue"]}},onInit:{effects:["trackFormControl"]},props({props:e}){let t=C(e.step,e.formatOptions);return{allowOverflow:!1,clampValueOnBlur:!e.allowOverflow,defaultValue:"",dir:"ltr",focusInputOnChange:!0,inputMode:"decimal",locale:"en-US",max:Number.MAX_SAFE_INTEGER,min:Number.MIN_SAFE_INTEGER,pattern:"-?[0-9]*(.[0-9]+)?",spinOnPress:!0,step:t,...e,translations:{decrementLabel:"decrease value",incrementLabel:"increment value",...e.translations}}},states:{"before:spin":{effects:["trackButtonDisabled","waitForChangeDelay"],entry:Y([{actions:["increment"],guard:"isIncrementHint"},{actions:["decrement"],guard:"isDecrementHint"}]),on:{CHANGE_DELAY:{guard:H("isInRange","spinOnPress"),target:"spinning"},"TRIGGER.PRESS_UP":[{actions:["clearHint"],guard:"isTouchPointer",target:"focused"},{actions:["focusInput","clearHint"],target:"focused"}]},tags:["focus"]},focused:{effects:["attachWheelListener"],on:{"INPUT.ARROW_DOWN":{actions:["decrement"]},"INPUT.ARROW_UP":{actions:["increment"]},"INPUT.BLUR":[{actions:["setClampedValue","clearHint","invokeOnBlur"],guard:H("clampValueOnBlur",w("isInRange")),target:"idle"},{actions:["setFormattedValue","clearHint","invokeOnBlur","invokeOnInvalid"],guard:w("isInRange"),target:"idle"},{actions:["setFormattedValue","clearHint","invokeOnBlur"],target:"idle"}],"INPUT.CHANGE":{actions:["setValue","setHint"]},"INPUT.END":{actions:["incrementToMax"]},"INPUT.ENTER":{actions:["setFormattedValue","clearHint","invokeOnBlur"]},"INPUT.HOME":{actions:["decrementToMin"]},"TRIGGER.PRESS_DOWN":[{actions:["setHint"],guard:"isTouchPointer",target:"before:spin"},{actions:["focusInput","setHint"],target:"before:spin"}]},tags:["focus"]},idle:{on:{"INPUT.FOCUS":{actions:["focusInput","invokeOnFocus"],target:"focused"},"TRIGGER.PRESS_DOWN":[{actions:["setHint"],guard:"isTouchPointer",target:"before:spin"},{actions:["focusInput","invokeOnFocus","setHint"],target:"before:spin"}]}},spinning:{effects:["trackButtonDisabled","spinValue"],on:{SPIN:[{actions:["increment"],guard:"isIncrementHint"},{actions:["decrement"],guard:"isDecrementHint"}],"TRIGGER.PRESS_UP":{actions:["focusInput","clearHint"],target:"focused"}},tags:["focus"]}},watch({action:e,computed:t,context:r,prop:n,track:i}){i([()=>r.get("value"),()=>n("locale")],()=>{e(["syncInputElement"])}),i([()=>t("isOutOfRange")],()=>{e(["invokeOnInvalid"])})}});import{createProps as ee,createSplitProps as te}from"@qualcomm-ui/utils/object";var ne=ee()("allowMouseWheel","allowOverflow","clampValueOnBlur","defaultValue","dir","disabled","focusInputOnChange","form","formatOptions","getRootNode","ids","inputMode","invalid","locale","max","min","name","onFocusChange","onValueChange","onValueInvalid","pattern","readOnly","required","spinOnPress","step","translations","value"),ye=te(ne);export{B as createFormatter,se as createNumberInputApi,D as createParser,g as formatValue,C as getDefaultStep,Ne as numberInputMachine,ne as numberInputProps,y as parseValue,ye as splitNumberInputProps};
|
|
1
|
+
import{getEventStep as G,isComposingEvent as F,isLeftClick as x,isModifierKey as S}from"@qualcomm-ui/dom/query";import{booleanAriaAttr as h,booleanDataAttr as o}from"@qualcomm-ui/utils/attributes";var s={decrementTrigger:e=>e.ids.get("decrementTrigger"),errorText:e=>e.ids.get("errorText"),hint:e=>e.ids.get("hint"),incrementTrigger:e=>e.ids.get("incrementTrigger"),input:e=>e.ids.get("input"),label:e=>e.ids.get("label")},c={decrementTrigger:e=>e.getById(s.decrementTrigger(e)),errorText:e=>e.getById(s.errorText(e)),hint:e=>e.getById(s.hint(e)),incrementTrigger:e=>e.getById(s.incrementTrigger(e)),input:e=>e.getById(s.input(e)),label:e=>e.getById(s.label(e))};function O(e,t){let r=null;return t==="increment"&&(r=c.incrementTrigger(e)),t==="decrement"&&(r=c.decrementTrigger(e)),r}var p={"data-scope":"number-input"};function se(e,t){let{computed:r,prop:n,scope:i,send:u,state:I}=e,f=I.hasTag("focus"),m=r("isDisabled"),b=n("readOnly"),V=r("isValueEmpty"),d=r("isOutOfRange")||!!n("invalid"),P=m||!r("canIncrement")||b,N=m||!r("canDecrement")||b,A=n("translations");return{clearValue(){u({type:"VALUE.CLEAR"})},decrement(){u({type:"VALUE.DECREMENT"})},empty:V,focus(){c.input(i)?.focus()},focused:f,increment(){u({type:"VALUE.INCREMENT"})},invalid:d,required:n("required"),setToMax(){u({type:"VALUE.SET",value:n("max")})},setToMin(){u({type:"VALUE.SET",value:n("min")})},setValue(l){u({type:"VALUE.SET",value:l})},value:r("formattedValue"),valueAsNumber:r("valueAsNumber"),getControlBindings(){return t.element({...p,"aria-disabled":h(m),"aria-invalid":h(d),"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(d),"data-part":"control",dir:n("dir"),role:"group"})},getDecrementTriggerBindings(l){return i.ids.register("decrementTrigger",l),t.button({...p,"aria-controls":s.input(i),"aria-label":A.decrementLabel,"data-disabled":o(N),"data-part":"decrement-trigger",dir:n("dir"),disabled:N,id:s.decrementTrigger(i),onPointerDown(a){N||!x(a)||(u({hint:"decrement",pointerType:a.pointerType,type:"TRIGGER.PRESS_DOWN"}),a.pointerType==="mouse"&&a.preventDefault(),a.pointerType==="touch"&&a.currentTarget?.focus({preventScroll:!0}))},onPointerLeave(){N||u({hint:"decrement",type:"TRIGGER.PRESS_UP"})},onPointerUp(a){u({hint:"decrement",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},tabIndex:-1,type:"button"})},getErrorIndicatorBindings(){return t.element({...p,"aria-label":"Error","data-part":"error-indicator",dir:n("dir"),hidden:!n("invalid")})},getErrorTextBindings(l){return i.ids.register("errorText",l),t.element({...p,"aria-live":"polite","data-part":"error-text",dir:n("dir"),hidden:!d,id:s.errorText(i)})},getHintBindings(l){return i.ids.register("hint",l),t.element({...p,"data-disabled":o(m),"data-part":"hint",dir:n("dir"),hidden:!!d,id:s.hint(i)})},getIncrementTriggerBindings(l){return i.ids.register("incrementTrigger",l),t.button({...p,"aria-controls":s.input(i),"aria-label":A.incrementLabel,"data-disabled":o(P),"data-part":"increment-trigger",dir:n("dir"),disabled:P,id:s.incrementTrigger(i),onPointerDown(a){P||!x(a)||(u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_DOWN"}),a.pointerType==="mouse"&&a.preventDefault(),a.pointerType==="touch"&&a.currentTarget?.focus({preventScroll:!0}))},onPointerLeave(a){u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},onPointerUp(a){u({hint:"increment",pointerType:a.pointerType,type:"TRIGGER.PRESS_UP"})},tabIndex:-1,type:"button"})},getInputBindings(l){return i.ids.register("input",l),t.input({...p,"aria-invalid":h(d),"aria-roledescription":"numberfield","aria-valuemax":n("max"),"aria-valuemin":n("min"),"aria-valuenow":Number.isNaN(r("valueAsNumber"))?void 0:r("valueAsNumber"),"aria-valuetext":r("valueText"),autoComplete:"off",autoCorrect:"off","data-disabled":o(m),"data-empty":o(V),"data-invalid":o(d),"data-part":"input",defaultValue:r("formattedValue"),dir:n("dir"),disabled:m,form:n("form"),id:s.input(i),inputMode:n("inputMode"),name:n("name"),onBeforeInput(a){try{let{selectionEnd:T,selectionStart:R,value:E}=a.currentTarget,L=E.slice(0,R??void 0)+(a.data??"")+E.slice(T??void 0);r("parser").isValidPartialNumber(L)||a.preventDefault()}catch{}},onBlur(){u({type:"INPUT.BLUR"})},onFocus(){u({type:"INPUT.FOCUS"})},onInput(a){u({hint:"set",target:a.currentTarget,type:"INPUT.CHANGE"})},onKeyDown(a){if(a.defaultPrevented||b||F(a))return;let T=G(a)*n("step"),E={ArrowDown(){u({step:T,type:"INPUT.ARROW_DOWN"}),a.preventDefault()},ArrowUp(){u({step:T,type:"INPUT.ARROW_UP"}),a.preventDefault()},End(){S(a)||(u({type:"INPUT.END"}),a.preventDefault())},Enter(){u({type:"INPUT.ENTER"})},Home(){S(a)||(u({type:"INPUT.HOME"}),a.preventDefault())}}[a.key];E?.(a)},pattern:n("pattern"),readOnly:b,required:n("required"),role:"spinbutton",spellCheck:"false",type:"text"})},getInputGroupBindings(){return t.element({...p,"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(d),"data-part":"input-group","data-readonly":o(b),dir:n("dir"),onClick:l=>{l.defaultPrevented||m||u({type:"INPUT.FOCUS"})}})},getLabelBindings(l){return i.ids.register("label",l),t.label({...p,"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(d),"data-part":"label",dir:n("dir"),htmlFor:s.input(i),id:s.label(i)})},getRootBindings(){return t.element({...p,"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(d),"data-part":"root",dir:n("dir")})},getValueTextBindings(){return t.element({...p,"data-disabled":o(m),"data-focus":o(f),"data-invalid":o(d),"data-part":"value-text",dir:n("dir")})}}}import{addDomEvent as _,observeAttributes as W,raf as U,setElementValue as q,trackFormControl as K}from"@qualcomm-ui/dom/query";import{createChoose as Y,createGuards as X,createMachine as j}from"@qualcomm-ui/utils/machine";import{memo as M}from"@qualcomm-ui/utils/memo";import{clampValue as v,decrementValue as J,incrementValue as Q,isValueAtMax as Z,isValueAtMin as $,isValueWithinRange as z}from"@qualcomm-ui/utils/number";import{NumberParser as k}from"@internationalized/number";function B(e,t={}){return new Intl.NumberFormat(e,t)}function D(e,t={}){return new k(e,t)}function y(e,t){let{computed:r,prop:n}=t;return n("formatOptions")?e===""?Number.NaN:r("parser").parse(e):parseFloat(e)}function g(e,t){let{computed:r,prop:n}=t;return Number.isNaN(e)?"":n("formatOptions")?r("formatter").format(e):e.toString()}function C(e,t){let r=e!==void 0&&!Number.isNaN(e)?e:1;return t?.style==="percent"&&(e===void 0||Number.isNaN(e))&&(r=.01),r}var{and:H,not:w}=X(),Ne=j({actions:{clearHint({context:e}){e.set("hint",null)},clearValue({context:e}){e.set("value","")},decrement({computed:e,context:t,event:r,prop:n}){let i=J(e("valueAsNumber"),"step"in r?r.step??n("step"):n("step"));n("allowOverflow")||(i=v(i,n("min"),n("max"))),t.set("value",g(i,{computed:e,prop:n}))},decrementToMin({computed:e,context:t,prop:r}){let n=g(r("min"),{computed:e,prop:r});t.set("value",n)},focusInput({prop:e,scope:t}){if(!e("focusInputOnChange"))return;let r=c.input(t);t.isActiveElement(r)||U(()=>r?.focus({preventScroll:!0}))},increment({computed:e,context:t,event:r,prop:n}){let i=Q(e("valueAsNumber"),"step"in r?r.step??n("step"):n("step"));n("allowOverflow")||(i=v(i,n("min"),n("max"))),t.set("value",g(i,{computed:e,prop:n}))},incrementToMax({computed:e,context:t,prop:r}){let n=g(r("max"),{computed:e,prop:r});t.set("value",n)},invokeOnBlur({computed:e,prop:t}){t("onFocusChange")?.({focused:!1,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},invokeOnFocus({computed:e,prop:t}){t("onFocusChange")?.({focused:!0,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},invokeOnInvalid({computed:e,event:t,prop:r}){if(t.type==="INPUT.CHANGE")return;let n=e("valueAsNumber")>r("max")?"rangeOverflow":"rangeUnderflow";r("onValueInvalid")?.({reason:n,value:e("formattedValue"),valueAsNumber:e("valueAsNumber")})},setClampedValue({computed:e,context:t,prop:r}){let n=v(e("valueAsNumber"),r("min"),r("max"));t.set("value",g(n,{computed:e,prop:r}))},setFormattedValue({computed:e,context:t}){t.set("value",e("formattedValue"))},setHint({context:e,event:t}){e.set("hint",t.hint||null)},setRawValue({computed:e,context:t,event:r,prop:n}){let i=y(r.value,{computed:e,prop:n});n("allowOverflow")||(i=v(i,n("min"),n("max"))),t.set("value",g(i,{computed:e,prop:n}))},setValue({context:e,event:t}){let r=t.target?.value??t.value;e.set("value",r)},syncInputElement({computed:e,context:t,event:r,scope:n}){let i=r.type.endsWith("CHANGE")?t.get("value"):e("formattedValue"),u=c.input(n);U(()=>{q(u,i)})}},computed:{canDecrement:({computed:e,prop:t})=>t("allowOverflow")||!e("isAtMin"),canIncrement:({computed:e,prop:t})=>t("allowOverflow")||!e("isAtMax"),formattedValue:({computed:e,prop:t})=>g(e("valueAsNumber"),{computed:e,prop:t}),formatter:M(({prop:e})=>[e("locale"),e("formatOptions")],(e,t)=>B(e,t)),isAtMax:({computed:e,prop:t})=>Z(e("valueAsNumber"),t("max")),isAtMin:({computed:e,prop:t})=>$(e("valueAsNumber"),t("min")),isDisabled:({context:e,prop:t})=>!!t("disabled")||e.get("fieldsetDisabled"),isOutOfRange:({computed:e,prop:t})=>!z(e("valueAsNumber"),t("min"),t("max")),isRtl:({prop:e})=>e("dir")==="rtl",isValueEmpty:({context:e})=>e.get("value")==="",parser:M(({prop:e})=>[e("locale"),e("formatOptions")],(e,t)=>D(e,t)),valueAsNumber:({computed:e,context:t,prop:r})=>y(t.get("value"),{computed:e,prop:r}),valueText:({context:e,prop:t})=>t("translations").valueText?.(e.get("value"))},context:({bindable:e,getComputed:t,prop:r})=>({fieldsetDisabled:e(()=>({defaultValue:!1})),hint:e(()=>({defaultValue:null})),ssr:e(()=>({defaultValue:!0})),value:e(()=>({defaultValue:r("defaultValue"),onChange(n){let i=t(),u=y(n,{computed:i,prop:r});r("onValueChange")?.({value:n,valueAsNumber:u})},value:r("value")}))}),effects:{attachWheelListener({prop:e,scope:t,send:r}){let n=c.input(t);if(!n||!t.isActiveElement(n)||!e("allowMouseWheel"))return;function i(u){u.preventDefault();let I=Math.sign(u.deltaY)*-1;I===1?r({type:"VALUE.INCREMENT"}):I===-1&&r({type:"VALUE.DECREMENT"})}return _(n,"wheel",i,{passive:!1})},spinValue({send:e}){let t=setInterval(()=>{e({type:"SPIN"})},50);return()=>clearInterval(t)},trackButtonDisabled({context:e,scope:t,send:r}){let n=e.get("hint"),i=O(t,n);return W(i,{attributes:["disabled"],callback(){r({src:"attr",type:"TRIGGER.PRESS_UP"})}})},trackFormControl({context:e,scope:t}){return K(c.input(t),{onFieldsetDisabledChange:r=>{e.set("fieldsetDisabled",r)},onFormReset:()=>{e.set("value",e.initial("value"))}})},waitForChangeDelay({send:e}){let t=setTimeout(()=>{e({type:"CHANGE_DELAY"})},300);return()=>clearTimeout(t)}},guards:{clampValueOnBlur:({prop:e})=>e("clampValueOnBlur"),isDecrementHint:({context:e,event:t})=>(t.hint??e.get("hint"))==="decrement",isIncrementHint:({context:e,event:t})=>(t.hint??e.get("hint"))==="increment",isInRange:({computed:e})=>!e("isOutOfRange"),isTouchPointer:({event:e})=>"pointerType"in e&&e.pointerType==="touch",spinOnPress:({prop:e})=>!!e("spinOnPress")},ids:({bindableId:e,ids:t})=>({decrementTrigger:e(t?.decrementTrigger),errorText:e(t?.errorText),hint:e(t?.hint),incrementTrigger:e(t?.incrementTrigger),input:e(t?.input),label:e(t?.label)}),initialState(){return"idle"},on:{"VALUE.CLEAR":{actions:["clearValue"]},"VALUE.DECREMENT":{actions:["decrement"]},"VALUE.INCREMENT":{actions:["increment"]},"VALUE.SET":{actions:["setRawValue"]}},onInit:{effects:["trackFormControl"]},props({props:e}){let t=C(e.step,e.formatOptions);return{allowOverflow:!1,clampValueOnBlur:!e.allowOverflow,defaultValue:"",dir:"ltr",focusInputOnChange:!0,inputMode:"decimal",locale:"en-US",max:Number.MAX_SAFE_INTEGER,min:Number.MIN_SAFE_INTEGER,pattern:"-?[0-9]*(.[0-9]+)?",spinOnPress:!0,step:t,...e,translations:{decrementLabel:"decrease value",incrementLabel:"increment value",...e.translations}}},states:{"before:spin":{effects:["trackButtonDisabled","waitForChangeDelay"],entry:Y([{actions:["increment"],guard:"isIncrementHint"},{actions:["decrement"],guard:"isDecrementHint"}]),on:{CHANGE_DELAY:{guard:H("isInRange","spinOnPress"),target:"spinning"},"TRIGGER.PRESS_UP":[{actions:["clearHint"],guard:"isTouchPointer",target:"focused"},{actions:["focusInput","clearHint"],target:"focused"}]},tags:["focus"]},focused:{effects:["attachWheelListener"],on:{"INPUT.ARROW_DOWN":{actions:["decrement"]},"INPUT.ARROW_UP":{actions:["increment"]},"INPUT.BLUR":[{actions:["setClampedValue","clearHint","invokeOnBlur"],guard:H("clampValueOnBlur",w("isInRange")),target:"idle"},{actions:["setFormattedValue","clearHint","invokeOnBlur","invokeOnInvalid"],guard:w("isInRange"),target:"idle"},{actions:["setFormattedValue","clearHint","invokeOnBlur"],target:"idle"}],"INPUT.CHANGE":{actions:["setValue","setHint"]},"INPUT.END":{actions:["incrementToMax"]},"INPUT.ENTER":{actions:["setFormattedValue","clearHint","invokeOnBlur"]},"INPUT.HOME":{actions:["decrementToMin"]},"TRIGGER.PRESS_DOWN":[{actions:["setHint"],guard:"isTouchPointer",target:"before:spin"},{actions:["focusInput","setHint"],target:"before:spin"}]},tags:["focus"]},idle:{on:{"INPUT.FOCUS":{actions:["focusInput","invokeOnFocus"],target:"focused"},"TRIGGER.PRESS_DOWN":[{actions:["setHint"],guard:"isTouchPointer",target:"before:spin"},{actions:["focusInput","invokeOnFocus","setHint"],target:"before:spin"}]}},spinning:{effects:["trackButtonDisabled","spinValue"],on:{SPIN:[{actions:["increment"],guard:"isIncrementHint"},{actions:["decrement"],guard:"isDecrementHint"}],"TRIGGER.PRESS_UP":{actions:["focusInput","clearHint"],target:"focused"}},tags:["focus"]}},watch({action:e,computed:t,context:r,prop:n,track:i}){i([()=>r.get("value"),()=>n("locale")],()=>{e(["syncInputElement"])}),i([()=>t("isOutOfRange")],()=>{e(["invokeOnInvalid"])})}});import{createProps as ee,createSplitProps as te}from"@qualcomm-ui/utils/object";var ne=ee()("allowMouseWheel","allowOverflow","clampValueOnBlur","defaultValue","dir","disabled","focusInputOnChange","form","formatOptions","getRootNode","ids","inputMode","invalid","locale","max","min","name","onFocusChange","onValueChange","onValueInvalid","pattern","readOnly","required","spinOnPress","step","translations","value"),ye=te(ne);export{B as createFormatter,se as createNumberInputApi,D as createParser,g as formatValue,C as getDefaultStep,Ne as numberInputMachine,ne as numberInputProps,y as parseValue,ye as splitNumberInputProps};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|