@kubit-ui-web/react-components 2.0.0-beta.45 → 2.0.0-beta.47
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),n=require("../../lib/hooks/useClassName/useClassName.js"),r=require("./sliderStandAlone.js"),a=require("./utils/accessibility.utils.js"),i=require("./utils/slider.utils.js"),s=t.forwardRef(({additionalClasses:s,ariaLabel:o,ariaLabelBy:l,decrementButton:u,defaultValue:c,disabled:d=!1,incrementButton:f,initialStepOffset:m,label:v,leftHelperText:g,max:p=100,min:h=0,onChange:b,onDragEnd:w,onDragStart:S,range:x=!1,rightAriaLabel:L,rightAriaLabelBy:C,rightHelperText:B,rightThumbIcon:E,rightTooltip:T,step:y=1,thumbExceedsTrack:R=!0,thumbIcon:V,tooltip:O,type:P="discrete",value:k,variant:q},A)=>{const j=e=>i.calcDefaultValue({initialStepOffset:m,max:p,min:h,range:x,step:y,value:e}),N=t.useRef(null),[D,H]=t.useState(j(k??c)),[I,z]=t.useState(!1),[K,M]=t.useState(!1),F=t.useRef("left"),[G,J]=t.useState({max:100,min:0}),Q=t.useRef();i.focusThumb({container:N.current,currentActivePointer:F.current,range:x});const U=t.useCallback(e=>{b&&(clearTimeout(Q.current),Q.current=setTimeout(()=>{b(e)},50))},[b]),W=e=>{if(!N.current||d)return;const t=i.calculateChange({container:N.current,event:e,offsetBoundaries:G}),n=i.calcValueByOffset({max:p,min:h,offset:t,offsetBoundaries:G,step:y}),r=i.calcScaleValue({initialStepOffset:m,max:p,min:h,step:y,value:n});H(e=>{let t=r;return x&&(t=i.calcNewRangeValue({activePointer:F,newValue:r,prevValue:e})),U(t),t})},X=()=>{w?.(),M(!1),te()},{scaleOffsets:Y,showScale:Z}=i.getScale({initialStepOffset:m,max:p,min:h,step:y,type:P}),{offset:$,offsetLeft:_,offsetRight:ee}=i.getOffset({max:p,min:h,offsetBoundaries:G,range:x,value:D}),te=()=>{window.removeEventListener("mousemove",W),window.removeEventListener("mouseup",X),window.removeEventListener("touchend",X)},ne=n.useClassName({additionalClassNames:s,component:"SLIDER",variant:q}),re=t.useCallback(()=>{if(R)return void J({max:100,min:0});if(!N.current)return;const e=N.current.querySelector('[role="slider"]');if(!e)return;const t=N.current.getBoundingClientRect().width,n=e.getBoundingClientRect().width/t*100/2;J({max:100-n,min:n})},[R]);return t.useEffect(()=>(re(),R||window.addEventListener("resize",re),()=>{R||window.removeEventListener("resize",re)}),[R]),t.useEffect(()=>{void 0!==k&&(x&&!i.equalsRangeValues({values1:k,values2:D})||!x&&k!==D)&&H(j(k))},[k]),t.useEffect(()=>te,[]),e.jsx(r.SliderStandAlone,{ref:A,activePointer:F,ariaLabel:o,ariaLabelBy:l,containerRef:N,cssClasses:ne,decrementButton:{...u,disabled:d||u?.disabled,onClick:e=>{const t=a.decrementValue({activePointer:F.current,min:h,range:x,step:y,value:D});void 0!==t&&(H(t),U(t)),u?.onClick?.(e)}},disabled:d,hover:I,incrementButton:{...f,disabled:d||f?.disabled,onClick:e=>{const t=a.incrementValue({activePointer:F.current,max:p,range:x,step:y,value:D});void 0!==t&&(H(t),U(t)),f?.onClick?.(e)}},label:v,leftHelperText:g,max:p,min:h,offset:$,offsetLeft:_,offsetRight:ee,pressed:K,range:x,rightAriaLabel:L,rightAriaLabelBy:C,rightHelperText:B,rightThumbIcon:E,rightTooltip:T,scaleOffsets:Y,setHover:z,showScale:Z,step:y,thumbIcon:V,tooltip:O,value:D,onChange:W,onKeyPress:e=>{if(d)return;const t=a.calcNewValueAfterKeyPress({activePointer:F.current,event:e,max:p,min:h,range:x,step:y,value:D});void 0!==t&&(H(t),U(t))},onMouseDown:e=>{S?.(),M(!0),W(e),window.addEventListener("mousemove",W),window.addEventListener("mouseup",X)},onTouchStart:e=>{S?.(),M(!0),W(e),window.addEventListener("touchend",X)}})});exports.Slider=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../selectorBoxFile/utils/translateValue/translateValue.js"),t=({initialStepOffset:e,max:t,min:a,step:n,value:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../selectorBoxFile/utils/translateValue/translateValue.js"),t=({initialStepOffset:e,max:t,min:a,step:n,value:l})=>{const u=e+Math.ceil((a-e)/n)*n;if(u>t)return l;let i=u+Math.round((l-u)/n)*n;return i=Math.max(a,i),i=Math.min(t,i),Math.abs(a-l)<Math.abs(i-l)&&(i=a),Math.abs(t-l)<Math.abs(i-l)&&(i=t),i},a=({max:e,min:t,step:a,value:n})=>{const l=n-t;let u=a/2;if((e-t)%a>0&&l/a>Math.floor((e-t)/a)&&(u=(e-t)%a/2),l%a>u){const n=t+Math.ceil(l/a)*a;return n>e?e:n}return t+Math.floor(l/a)*a},n=({initialStepOffset:e,max:n,min:l,step:u,value:i})=>u<=0?i:void 0!==e?t({initialStepOffset:e,max:n,min:l,step:u,value:i}):a({max:n,min:l,step:u,value:i}),l=({activePointer:e,newValue:t,prevValue:a})=>"left"===e&&t<a[1]||t<=a[0],u=({activePointer:e,newValue:t,prevValue:a})=>"right"===e&&t>a[0]||t>=a[1],i=({defaultValue:e,max:t,min:a,value:n})=>(({max:e,min:t,value:a})=>void 0!==a&&a>=t&&a<=e)({max:t,min:a,value:n})?n:e;exports.calcDefaultValue=({initialStepOffset:e,max:t,min:a,range:l,step:u,value:r})=>{if(l){let l=[a,t];if((({value:e})=>Boolean(e&&Array.isArray(e)&&2===e.length))({value:r})){const s=r[0],o=r[1],f=i({defaultValue:a,max:t,min:a,value:s}),p=i({defaultValue:t,max:t,min:a,value:o});l=[n({initialStepOffset:e,max:t,min:a,step:u,value:f}),n({initialStepOffset:e,max:t,min:a,step:u,value:p})]}return l}const s=i({defaultValue:a,max:t,min:a,value:r});return n({initialStepOffset:e,max:t,min:a,step:u,value:s})},exports.calcNewRangeValue=({activePointer:e,newValue:t,prevValue:a})=>l({activePointer:e.current,newValue:t,prevValue:a})?("right"===e.current&&(e.current="left"),[t,a[1]]):u({activePointer:e.current,newValue:t,prevValue:a})?("left"===e.current&&(e.current="right"),[a[0],t]):a,exports.calcScaleValue=n,exports.calcScaleValueWithStepOffset=t,exports.calcScaleValueWithoutStepOffset=a,exports.calcValueByOffset=({max:t,min:a,offset:n,offsetBoundaries:l,step:u})=>{let i=e.translateValue({inputMax:l.max,inputMin:l.min,outputMax:t,outputMin:a,value:n});const r=String(u).indexOf(".")>0?String(u).split(".")[1].length:0;if(r>0){const e=Math.pow(10,r);i=Math.round(i*e)/e}else i=Math.round(i);return i},exports.calculateChange=({container:e,event:t,offsetBoundaries:a})=>{t.preventDefault();const n=e.clientWidth;let l=100*(("number"==typeof t?.pageX?t.pageX:t.touches[0].pageX)-(e.getBoundingClientRect().left+window.scrollX))/n;return l=Math.min(a.max,Math.max(a.min,l)),l},exports.equalsRangeValues=({values1:e,values2:t})=>!(!Array.isArray(e)||!Array.isArray(t)||2!==e.length||2!==t.length)&&e[0]===t[0]&&e[1]===t[1],exports.focusThumb=({container:e,currentActivePointer:t,range:a})=>{if(!e)return;let n=null;if(a){const[a,l]=Array.from(e.querySelectorAll('[role="slider"]'));n="left"===t?a:l}else n=e.querySelector('[role="slider"]');n instanceof HTMLElement&&document.activeElement!==n&&n.focus()},exports.getOffset=({max:t,min:a,offsetBoundaries:n,range:l,value:u})=>{if(a===t)return{offset:100,offsetLeft:0,offsetRight:0};let i,r,s;return l?(r=e.translateValue({inputMax:t,inputMin:a,outputMax:n.max,outputMin:n.min,value:u[0]}),s=100-e.translateValue({inputMax:t,inputMin:a,outputMax:n.max,outputMin:n.min,value:u[1]})):i=e.translateValue({inputMax:t,inputMin:a,outputMax:n.max,outputMin:n.min,value:u}),{offset:i,offsetLeft:r,offsetRight:s}},exports.getScale=({initialStepOffset:t,max:a,min:n,step:l,type:u})=>{const i="discrete"===u&&l>0&&l<a-n;let r=[];if(i){const u=[n];for(let e=t??n;e<a;e+=l)e>n&&u.push(e);u.push(a),r=u.map(t=>e.translateValue({inputMax:a,inputMin:n,outputMax:100,outputMin:0,value:t}))}return{scaleOffsets:r,showScale:i}},exports.shouldUpdateLeftThumb=l,exports.shouldUpdateRightThumb=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{forwardRef as t,useRef as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{forwardRef as t,useRef as n,useState as i,useCallback as r,useEffect as o}from"react";import{useClassName as a}from"../../lib/hooks/useClassName/useClassName.js";import{SliderStandAlone as s}from"./sliderStandAlone.js";import{calcNewValueAfterKeyPress as l,incrementValue as u,decrementValue as c}from"./utils/accessibility.utils.js";import{calcDefaultValue as m,focusThumb as d,equalsRangeValues as f,getScale as v,getOffset as p,calculateChange as g,calcValueByOffset as h,calcNewRangeValue as b,calcScaleValue as w}from"./utils/slider.utils.js";const x=t(({additionalClasses:t,ariaLabel:x,ariaLabelBy:L,decrementButton:B,defaultValue:C,disabled:T=!1,incrementButton:E,initialStepOffset:S,label:y,leftHelperText:P,max:k=100,min:A=0,onChange:O,onDragEnd:R,onDragStart:j,range:H=!1,rightAriaLabel:I,rightAriaLabelBy:D,rightHelperText:N,rightThumbIcon:V,rightTooltip:z,step:q=1,thumbExceedsTrack:K=!0,thumbIcon:M,tooltip:F,type:G="discrete",value:J,variant:Q},U)=>{const W=e=>m({initialStepOffset:S,max:k,min:A,range:H,step:q,value:e}),X=n(null),[Y,Z]=i(W(J??C)),[$,_]=i(!1),[ee,te]=i(!1),ne=n("left"),[ie,re]=i({max:100,min:0}),oe=n();d({container:X.current,currentActivePointer:ne.current,range:H});const ae=r(e=>{O&&(clearTimeout(oe.current),oe.current=setTimeout(()=>{O(e)},50))},[O]),se=e=>{if(!X.current||T)return;const t=g({container:X.current,event:e,offsetBoundaries:ie}),n=h({max:k,min:A,offset:t,offsetBoundaries:ie,step:q}),i=w({initialStepOffset:S,max:k,min:A,step:q,value:n});Z(e=>{let t=i;return H&&(t=b({activePointer:ne,newValue:i,prevValue:e})),ae(t),t})},le=()=>{R?.(),te(!1),ve()},{scaleOffsets:ue,showScale:ce}=v({initialStepOffset:S,max:k,min:A,step:q,type:G}),{offset:me,offsetLeft:de,offsetRight:fe}=p({max:k,min:A,offsetBoundaries:ie,range:H,value:Y}),ve=()=>{window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",le),window.removeEventListener("touchend",le)},pe=a({additionalClassNames:t,component:"SLIDER",variant:Q}),ge=r(()=>{if(K)return void re({max:100,min:0});if(!X.current)return;const e=X.current.querySelector('[role="slider"]');if(!e)return;const t=X.current.getBoundingClientRect().width,n=e.getBoundingClientRect().width/t*100/2;re({max:100-n,min:n})},[K]);return o(()=>(ge(),K||window.addEventListener("resize",ge),()=>{K||window.removeEventListener("resize",ge)}),[K]),o(()=>{void 0!==J&&(H&&!f({values1:J,values2:Y})||!H&&J!==Y)&&Z(W(J))},[J]),o(()=>ve,[]),/* @__PURE__ */e(s,{ref:U,activePointer:ne,ariaLabel:x,ariaLabelBy:L,containerRef:X,cssClasses:pe,decrementButton:{...B,disabled:T||B?.disabled,onClick:e=>{const t=c({activePointer:ne.current,min:A,range:H,step:q,value:Y});void 0!==t&&(Z(t),ae(t)),B?.onClick?.(e)}},disabled:T,hover:$,incrementButton:{...E,disabled:T||E?.disabled,onClick:e=>{const t=u({activePointer:ne.current,max:k,range:H,step:q,value:Y});void 0!==t&&(Z(t),ae(t)),E?.onClick?.(e)}},label:y,leftHelperText:P,max:k,min:A,offset:me,offsetLeft:de,offsetRight:fe,pressed:ee,range:H,rightAriaLabel:I,rightAriaLabelBy:D,rightHelperText:N,rightThumbIcon:V,rightTooltip:z,scaleOffsets:ue,setHover:_,showScale:ce,step:q,thumbIcon:M,tooltip:F,value:Y,onChange:se,onKeyPress:e=>{if(T)return;const t=l({activePointer:ne.current,event:e,max:k,min:A,range:H,step:q,value:Y});void 0!==t&&(Z(t),ae(t))},onMouseDown:e=>{j?.(),te(!0),se(e),window.addEventListener("mousemove",se),window.addEventListener("mouseup",le)},onTouchStart:e=>{j?.(),te(!0),se(e),window.addEventListener("touchend",le)}})});export{x as Slider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{translateValue as
|
|
1
|
+
import{translateValue as e}from"../../selectorBoxFile/utils/translateValue/translateValue.js";const t=({container:e,event:t,offsetBoundaries:a})=>{t.preventDefault();const n=e.clientWidth;let i=100*(("number"==typeof t?.pageX?t.pageX:t.touches[0].pageX)-(e.getBoundingClientRect().left+window.scrollX))/n;return i=Math.min(a.max,Math.max(a.min,i)),i},a=({max:t,min:a,offset:n,offsetBoundaries:i,step:u})=>{let l=e({inputMax:i.max,inputMin:i.min,outputMax:t,outputMin:a,value:n});const r=String(u).indexOf(".")>0?String(u).split(".")[1].length:0;if(r>0){const e=Math.pow(10,r);l=Math.round(l*e)/e}else l=Math.round(l);return l},n=({initialStepOffset:e,max:t,min:a,step:n,value:i})=>{const u=e+Math.ceil((a-e)/n)*n;if(u>t)return i;let l=u+Math.round((i-u)/n)*n;return l=Math.max(a,l),l=Math.min(t,l),Math.abs(a-i)<Math.abs(l-i)&&(l=a),Math.abs(t-i)<Math.abs(l-i)&&(l=t),l},i=({max:e,min:t,step:a,value:n})=>{const i=n-t;let u=a/2;if((e-t)%a>0&&i/a>Math.floor((e-t)/a)&&(u=(e-t)%a/2),i%a>u){const n=t+Math.ceil(i/a)*a;return n>e?e:n}return t+Math.floor(i/a)*a},u=({initialStepOffset:e,max:t,min:a,step:u,value:l})=>u<=0?l:void 0!==e?n({initialStepOffset:e,max:t,min:a,step:u,value:l}):i({max:t,min:a,step:u,value:l}),l=({activePointer:e,newValue:t,prevValue:a})=>"left"===e&&t<a[1]||t<=a[0],r=({activePointer:e,newValue:t,prevValue:a})=>"right"===e&&t>a[0]||t>=a[1],o=({activePointer:e,newValue:t,prevValue:a})=>l({activePointer:e.current,newValue:t,prevValue:a})?("right"===e.current&&(e.current="left"),[t,a[1]]):r({activePointer:e.current,newValue:t,prevValue:a})?("left"===e.current&&(e.current="right"),[a[0],t]):a,s=({initialStepOffset:t,max:a,min:n,step:i,type:u})=>{const l="discrete"===u&&i>0&&i<a-n;let r=[];if(l){const u=[n];for(let e=t??n;e<a;e+=i)e>n&&u.push(e);u.push(a),r=u.map(t=>e({inputMax:a,inputMin:n,outputMax:100,outputMin:0,value:t}))}return{scaleOffsets:r,showScale:l}},f=({max:t,min:a,offsetBoundaries:n,range:i,value:u})=>{if(a===t)return{offset:100,offsetLeft:0,offsetRight:0};let l,r,o;return i?(r=e({inputMax:t,inputMin:a,outputMax:n.max,outputMin:n.min,value:u[0]}),o=100-e({inputMax:t,inputMin:a,outputMax:n.max,outputMin:n.min,value:u[1]})):l=e({inputMax:t,inputMin:a,outputMax:n.max,outputMin:n.min,value:u}),{offset:l,offsetLeft:r,offsetRight:o}},m=({values1:e,values2:t})=>!(!Array.isArray(e)||!Array.isArray(t)||2!==e.length||2!==t.length)&&e[0]===t[0]&&e[1]===t[1],p=({defaultValue:e,max:t,min:a,value:n})=>(({max:e,min:t,value:a})=>void 0!==a&&a>=t&&a<=e)({max:t,min:a,value:n})?n:e,c=({initialStepOffset:e,max:t,min:a,range:n,step:i,value:l})=>{if(n){let n=[a,t];if((({value:e})=>Boolean(e&&Array.isArray(e)&&2===e.length))({value:l})){const r=l[0],o=l[1],s=p({defaultValue:a,max:t,min:a,value:r}),f=p({defaultValue:t,max:t,min:a,value:o});n=[u({initialStepOffset:e,max:t,min:a,step:i,value:s}),u({initialStepOffset:e,max:t,min:a,step:i,value:f})]}return n}const r=p({defaultValue:a,max:t,min:a,value:l});return u({initialStepOffset:e,max:t,min:a,step:i,value:r})},v=({container:e,currentActivePointer:t,range:a})=>{if(!e)return;let n=null;if(a){const[a,i]=Array.from(e.querySelectorAll('[role="slider"]'));n="left"===t?a:i}else n=e.querySelector('[role="slider"]');n instanceof HTMLElement&&document.activeElement!==n&&n.focus()};export{c as calcDefaultValue,o as calcNewRangeValue,u as calcScaleValue,n as calcScaleValueWithStepOffset,i as calcScaleValueWithoutStepOffset,a as calcValueByOffset,t as calculateChange,m as equalsRangeValues,v as focusThumb,f as getOffset,s as getScale,l as shouldUpdateLeftThumb,r as shouldUpdateRightThumb};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubit-ui-web/react-components",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.47",
|
|
4
4
|
"description": "Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Kubit",
|
|
@@ -160,6 +160,7 @@
|
|
|
160
160
|
"eslint": "^9.39.2",
|
|
161
161
|
"eslint-config-kubit": "1.2.0",
|
|
162
162
|
"glob": "^13.0.0",
|
|
163
|
+
"happy-dom": "^20.3.7",
|
|
163
164
|
"html-validate": "^10.7.0",
|
|
164
165
|
"jsdom": "^27.4.0",
|
|
165
166
|
"prettier": "^3.8.1",
|
|
@@ -173,7 +174,7 @@
|
|
|
173
174
|
"vite-tsconfig-paths": "^6.0.5",
|
|
174
175
|
"vitest": "^4.0.18",
|
|
175
176
|
"vitest-axe": "^0.1.0",
|
|
176
|
-
"@kubit-ui-web/design-system": "2.0.0-beta.
|
|
177
|
+
"@kubit-ui-web/design-system": "2.0.0-beta.4"
|
|
177
178
|
},
|
|
178
179
|
"publishConfig": {
|
|
179
180
|
"access": "public",
|