@kubit-ui-web/react-components 2.0.0-beta.54 → 2.0.0-beta.56

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @kubit-ui-web/react-components
2
2
 
3
+ ## 2.0.0-beta.56
4
+
5
+ ### Major Changes
6
+
7
+ - Update to react 19 (#68)
8
+
9
+ ## 2.0.0-beta.55
10
+
11
+ ### Major Changes
12
+
13
+ - Move files and improve cssTypes declaration
14
+
3
15
  ## 2.0.0-beta.54
4
16
 
5
17
  ### Major Changes
@@ -1 +1 @@
1
- const e=require(`../../../lib/hooks/useScrollBlock/useScrollBlock.js`),t=require(`./utils/calc.utils.js`),n=require(`./utils/constants.js`);let r=require(`react`);exports.useCarouselSwipe=({allowShiftRef:i,centerExtremesWhenExtraPadding:a,changePage:o,circular:s,contentContainerRef:c,currentPageRef:l,disabled:u=!1,elements:d,extraPadding:f,numElementsPerPageRef:p,numPagesRef:m,viewerContainerRef:h})=>{let g=(0,r.useRef)(!1),_=(0,r.useRef)(!1),v=(0,r.useRef)(!1),y=(0,r.useRef)(),b=(0,r.useRef)(0),x=(0,r.useRef)(0),S=(0,r.useRef)(0),C=(0,r.useRef)(0),w=(0,r.useCallback)(()=>{i.current&&(s||l.current!==m.current-1)&&o({newPage:l.current+1})},[s,o]),T=(0,r.useCallback)(()=>{i.current&&(s||l.current!==0)&&o({newPage:l.current-1})},[s,o]),{allowScroll:E,blockScroll:D}=e.useScrollBlock(),O=(0,r.useCallback)(e=>{let t=c.current;!t||m.current<=1||(y.current=parseFloat(t.style.left||`0`),e.type===`touchstart`?(b.current=e.touches[0].clientX,S.current=e.touches[0].clientX,C.current=e.touches[0].clientY):(b.current=e.clientX,S.current=e.clientX,C.current=e.clientY),g.current=!0)},[]),k=(0,r.useCallback)(e=>{let r=c.current;if(!r||!g.current||!p?.current||m.current<=1)return;let i,o;e.type===`touchmove`?(x.current=b.current-e.touches[0].clientX,b.current=e.touches[0].clientX,i=e.touches[0].clientX-S.current,o=e.touches[0].clientY-C.current):(x.current=b.current-e.clientX,b.current=e.clientX,i=e.clientX-S.current,o=e.clientY-C.current);let u=parseFloat(r.style.left||`0`)-x.current;if(!_.current&&!v.current&&(Math.abs(i)>n.default.THRESHOLD_TO_DECIDE_IF_ALLOW_DRAGGING?(_.current=!0,D()):Math.abs(o)>n.default.THRESHOLD_TO_DECIDE_IF_ALLOW_DRAGGING&&(v.current=!0)),_.current)if(s&&d.length>p.current)r.style.left=`${u}px`;else{let e=t.default.calcXDistanceBetween2Elements(r.firstChild,r.children[r.children.length-p.current]);if(a)u-f<0&&-u<e-f&&(r.style.left=`${u}px`);else{let t=s?f:0;!s&&f&&l.current===m.current-1&&(t=f*2),u-t<0&&-u<e-t&&(r.style.left=`${u}px`)}}},[D,a,s,d,f]),A=(0,r.useCallback)(()=>{let e=c.current;if(v.current=!1,_.current&&E(),_.current=!1,!e||!g.current||y.current===void 0||m.current<=1)return;g.current=!1;let t=parseFloat(e.style.left||`0`);t-y.current<-n.default.THRESHOLD_TO_DECIDE_IF_SWIPE_ON_DRAG_ENDS?w():t-y.current>n.default.THRESHOLD_TO_DECIDE_IF_SWIPE_ON_DRAG_ENDS?T():e.style.left=`${y.current}px`},[E,w,T]);(0,r.useEffect)(()=>{if(u)return;let e=h.current,t={passive:!0};return e?.addEventListener(`touchstart`,O,t),e?.addEventListener(`touchend`,A,t),e?.addEventListener(`touchmove`,k,t),e?.addEventListener(`mousedown`,O,t),e?.addEventListener(`mouseup`,A,t),e?.addEventListener(`mousemove`,k,t),e?.addEventListener(`mouseleave`,A,t),()=>{e?.removeEventListener(`touchstart`,O,t),e?.removeEventListener(`touchend`,A,t),e?.removeEventListener(`touchmove`,k,t),e?.removeEventListener(`mousedown`,O,t),e?.removeEventListener(`mouseup`,A,t),e?.removeEventListener(`mousemove`,k,t),e?.removeEventListener(`mouseleave`,A,t)}},[O,A,k,u])};
1
+ const e=require(`../../../lib/hooks/useScrollBlock/useScrollBlock.js`),t=require(`./utils/calc.utils.js`),n=require(`./utils/constants.js`);let r=require(`react`);exports.useCarouselSwipe=({allowShiftRef:i,centerExtremesWhenExtraPadding:a,changePage:o,circular:s,contentContainerRef:c,currentPageRef:l,disabled:u=!1,elements:d,extraPadding:f,numElementsPerPageRef:p,numPagesRef:m,viewerContainerRef:h})=>{let g=(0,r.useRef)(!1),_=(0,r.useRef)(!1),v=(0,r.useRef)(!1),y=(0,r.useRef)(void 0),b=(0,r.useRef)(0),x=(0,r.useRef)(0),S=(0,r.useRef)(0),C=(0,r.useRef)(0),w=(0,r.useCallback)(()=>{i.current&&(s||l.current!==m.current-1)&&o({newPage:l.current+1})},[s,o]),T=(0,r.useCallback)(()=>{i.current&&(s||l.current!==0)&&o({newPage:l.current-1})},[s,o]),{allowScroll:E,blockScroll:D}=e.useScrollBlock(),O=(0,r.useCallback)(e=>{let t=c.current;!t||m.current<=1||(y.current=parseFloat(t.style.left||`0`),e.type===`touchstart`?(b.current=e.touches[0].clientX,S.current=e.touches[0].clientX,C.current=e.touches[0].clientY):(b.current=e.clientX,S.current=e.clientX,C.current=e.clientY),g.current=!0)},[]),k=(0,r.useCallback)(e=>{let r=c.current;if(!r||!g.current||!p?.current||m.current<=1)return;let i,o;e.type===`touchmove`?(x.current=b.current-e.touches[0].clientX,b.current=e.touches[0].clientX,i=e.touches[0].clientX-S.current,o=e.touches[0].clientY-C.current):(x.current=b.current-e.clientX,b.current=e.clientX,i=e.clientX-S.current,o=e.clientY-C.current);let u=parseFloat(r.style.left||`0`)-x.current;if(!_.current&&!v.current&&(Math.abs(i)>n.default.THRESHOLD_TO_DECIDE_IF_ALLOW_DRAGGING?(_.current=!0,D()):Math.abs(o)>n.default.THRESHOLD_TO_DECIDE_IF_ALLOW_DRAGGING&&(v.current=!0)),_.current)if(s&&d.length>p.current)r.style.left=`${u}px`;else{let e=t.default.calcXDistanceBetween2Elements(r.firstChild,r.children[r.children.length-p.current]);if(a)u-f<0&&-u<e-f&&(r.style.left=`${u}px`);else{let t=s?f:0;!s&&f&&l.current===m.current-1&&(t=f*2),u-t<0&&-u<e-t&&(r.style.left=`${u}px`)}}},[D,a,s,d,f]),A=(0,r.useCallback)(()=>{let e=c.current;if(v.current=!1,_.current&&E(),_.current=!1,!e||!g.current||y.current===void 0||m.current<=1)return;g.current=!1;let t=parseFloat(e.style.left||`0`);t-y.current<-n.default.THRESHOLD_TO_DECIDE_IF_SWIPE_ON_DRAG_ENDS?w():t-y.current>n.default.THRESHOLD_TO_DECIDE_IF_SWIPE_ON_DRAG_ENDS?T():e.style.left=`${y.current}px`},[E,w,T]);(0,r.useEffect)(()=>{if(u)return;let e=h.current,t={passive:!0};return e?.addEventListener(`touchstart`,O,t),e?.addEventListener(`touchend`,A,t),e?.addEventListener(`touchmove`,k,t),e?.addEventListener(`mousedown`,O,t),e?.addEventListener(`mouseup`,A,t),e?.addEventListener(`mousemove`,k,t),e?.addEventListener(`mouseleave`,A,t),()=>{e?.removeEventListener(`touchstart`,O,t),e?.removeEventListener(`touchend`,A,t),e?.removeEventListener(`touchmove`,k,t),e?.removeEventListener(`mousedown`,O,t),e?.removeEventListener(`mouseup`,A,t),e?.removeEventListener(`mousemove`,k,t),e?.removeEventListener(`mouseleave`,A,t)}},[O,A,k,u])};
@@ -1 +1 @@
1
- let e=require(`react`);function t(e,t){if(e.width!==t.width||e.height!==t.height)return!1;for(let n=0;n<e.data.length;n++)if(e.data[n]!==t.data[n])return!1;return!0}exports.useDraw=n=>{let r=(0,e.useRef)(null),i=(0,e.useRef)(),a=(0,e.useRef)(!1),o=(0,e.useRef)(!1),s=(0,e.useRef)({color:`black`,lineWidth:2}),c=(0,e.useRef)(null),l=()=>{r.current&&(o.current=!1,i.current.clearRect(0,0,r.current.width,r.current.height))},u=e=>{e&&(s.current.color=e.color,s.current.lineWidth=e.lineWidth)},d=e=>{let t,n;if(e.type===`touchstart`&&r.current){let{touches:i}=e,{clientX:a,clientY:o}=i[0],{left:s,top:c}=r.current.getBoundingClientRect();t=a-s,n=o-c}else t=e.offsetX,n=e.offsetY;c.current=i.current.getImageData(0,0,r.current?.width,r.current?.height),i.current.beginPath(),i.current.moveTo(t,n),a.current=!0},f=e=>{if(!a.current)return;let t,n;if(e.preventDefault(),e.type===`touchmove`&&r.current){let{touches:i}=e,{clientX:a,clientY:o}=i[0],{left:s,top:c}=r.current.getBoundingClientRect();t=a-s,n=o-c}else t=e.offsetX,n=e.offsetY;i.current.lineTo(t,n),i.current.stroke()},p=()=>{let e=i.current.getImageData(0,0,r.current?.width,r.current?.height);if(i.current.closePath(),a.current=!1,c.current&&!t(e,c.current)){let e=r.current?.toDataURL();n?.(e),o.current=!0}};return(0,e.useEffect)(()=>{if(r.current===null)return;let e=r.current;if(i.current=e?.getContext(`2d`,{willReadFrequently:!0}),i.current)return i.current.strokeStyle=s.current.color,i.current.lineWidth=s.current.lineWidth,i.current.lineCap=`round`,i.current.lineJoin=`round`,e?.addEventListener(`mousedown`,d),e?.addEventListener(`mousemove`,f),e?.addEventListener(`mouseup`,p),e?.addEventListener(`mouseleave`,p),e?.addEventListener(`touchstart`,d),e?.addEventListener(`touchmove`,f,{passive:!1}),e?.addEventListener(`touchend`,p),()=>{e?.removeEventListener(`mousedown`,d),e?.removeEventListener(`mousemove`,f),e?.removeEventListener(`mouseup`,p),e?.removeEventListener(`mouseleave`,p),e?.removeEventListener(`touchstart`,d),e?.removeEventListener(`touchmove`,f),e?.removeEventListener(`touchend`,p)}},[]),{canvasRef:r,filled:o.current,resetCanvas:l,setSignatureStyles:u}};
1
+ let e=require(`react`);function t(e,t){if(e.width!==t.width||e.height!==t.height)return!1;for(let n=0;n<e.data.length;n++)if(e.data[n]!==t.data[n])return!1;return!0}exports.useDraw=n=>{let r=(0,e.useRef)(null),i=(0,e.useRef)(null),a=(0,e.useRef)(!1),o=(0,e.useRef)(!1),s=(0,e.useRef)({color:`black`,lineWidth:2}),c=(0,e.useRef)(null),l=()=>{r.current&&(o.current=!1,i.current.clearRect(0,0,r.current.width,r.current.height))},u=e=>{e&&(s.current.color=e.color,s.current.lineWidth=e.lineWidth)},d=e=>{let t,n;if(e.type===`touchstart`&&r.current){let{touches:i}=e,{clientX:a,clientY:o}=i[0],{left:s,top:c}=r.current.getBoundingClientRect();t=a-s,n=o-c}else t=e.offsetX,n=e.offsetY;c.current=i.current.getImageData(0,0,r.current?.width,r.current?.height),i.current.beginPath(),i.current.moveTo(t,n),a.current=!0},f=e=>{if(!a.current)return;let t,n;if(e.preventDefault(),e.type===`touchmove`&&r.current){let{touches:i}=e,{clientX:a,clientY:o}=i[0],{left:s,top:c}=r.current.getBoundingClientRect();t=a-s,n=o-c}else t=e.offsetX,n=e.offsetY;i.current.lineTo(t,n),i.current.stroke()},p=()=>{let e=i.current.getImageData(0,0,r.current?.width,r.current?.height);if(i.current.closePath(),a.current=!1,c.current&&!t(e,c.current)){let e=r.current?.toDataURL();n?.(e),o.current=!0}};return(0,e.useEffect)(()=>{if(r.current===null)return;let e=r.current;if(i.current=e?.getContext(`2d`,{willReadFrequently:!0}),i.current)return i.current.strokeStyle=s.current.color,i.current.lineWidth=s.current.lineWidth,i.current.lineCap=`round`,i.current.lineJoin=`round`,e?.addEventListener(`mousedown`,d),e?.addEventListener(`mousemove`,f),e?.addEventListener(`mouseup`,p),e?.addEventListener(`mouseleave`,p),e?.addEventListener(`touchstart`,d),e?.addEventListener(`touchmove`,f,{passive:!1}),e?.addEventListener(`touchend`,p),()=>{e?.removeEventListener(`mousedown`,d),e?.removeEventListener(`mousemove`,f),e?.removeEventListener(`mouseup`,p),e?.removeEventListener(`mouseleave`,p),e?.removeEventListener(`touchstart`,d),e?.removeEventListener(`touchmove`,f),e?.removeEventListener(`touchend`,p)}},[]),{canvasRef:r,filled:o.current,resetCanvas:l,setSignatureStyles:u}};
@@ -1 +1 @@
1
- const e=require(`../../lib/provider/genericComponentsProvider/genericComponentsProvider.js`),t=require(`../../lib/hooks/useClassName/useClassName.js`),n=require(`./optionStandAlone.js`);let r=require(`react`),i=require(`react/jsx-runtime`);const a=(0,r.forwardRef)(({additionalClasses:a,focus:o,onBlur:s,onFocus:c,variant:l,...u},d)=>{let f=t.useClassName({additionalClassNames:a,component:`OPTION`,variant:l}),{LINK:p}=e.useGenericComponents(),m=(0,r.useRef)(),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(!1);(0,r.useImperativeHandle)(d,()=>m.current,[]),(0,r.useEffect)(()=>{o&&m.current?.focus()},[o]);let y=e=>{c?.(e),v(!0)},b=e=>{s?.(e),v(!1)};return(0,i.jsx)(n.OptionStandAlone,{...u,ref:m,componentLink:p,cssClasses:f,focus:_,hover:h,onBlur:b,onFocus:y,onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1)})});exports.Option=a;
1
+ const e=require(`../../lib/provider/genericComponentsProvider/genericComponentsProvider.js`),t=require(`../../lib/hooks/useClassName/useClassName.js`),n=require(`./optionStandAlone.js`);let r=require(`react`),i=require(`react/jsx-runtime`);const a=(0,r.forwardRef)(({additionalClasses:a,focus:o,onBlur:s,onFocus:c,variant:l,...u},d)=>{let f=t.useClassName({additionalClassNames:a,component:`OPTION`,variant:l}),{LINK:p}=e.useGenericComponents(),m=(0,r.useRef)(null),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(!1);(0,r.useImperativeHandle)(d,()=>m.current,[]),(0,r.useEffect)(()=>{o&&m.current?.focus()},[o]);let y=e=>{c?.(e),v(!0)},b=e=>{s?.(e),v(!1)};return(0,i.jsx)(n.OptionStandAlone,{...u,ref:m,componentLink:p,cssClasses:f,focus:_,hover:h,onBlur:b,onFocus:y,onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1)})});exports.Option=a;
@@ -1 +1 @@
1
- const e=require(`../../lib/hooks/useClassName/useClassName.js`),t=require(`./utils/accessibility.utils.js`),n=require(`./sliderStandAlone.js`),r=require(`./utils/slider.utils.js`);let i=require(`react`),a=require(`react/jsx-runtime`);var o=50;const s=(0,i.forwardRef)(({additionalClasses:s,ariaLabel:c,ariaLabelBy:l,decrementButton:u,defaultValue:d,disabled:f=!1,incrementButton:p,initialStepOffset:m,label:h,leftHelperText:g,max:_=100,min:v=0,onChange:y,onDragEnd:b,onDragStart:x,range:S=!1,rightAriaLabel:C,rightAriaLabelBy:w,rightHelperText:T,rightThumbIcon:ee,rightTooltip:E,step:D=1,thumbExceedsTrack:O=!0,thumbIcon:k,tooltip:A,type:te=`discrete`,value:j,variant:M},N)=>{let P=e=>r.calcDefaultValue({initialStepOffset:m,max:_,min:v,range:S,step:D,value:e}),F=(0,i.useRef)(null),[I,L]=(0,i.useState)(P(j??d)),[R,z]=(0,i.useState)(!1),[B,V]=(0,i.useState)(!1),H=(0,i.useRef)(`left`),[U,W]=(0,i.useState)({max:100,min:0}),G=(0,i.useRef)();r.focusThumb({container:F.current,currentActivePointer:H.current,range:S});let K=(0,i.useCallback)(e=>{y&&(clearTimeout(G.current),G.current=setTimeout(()=>{y(e)},o))},[y]),q=e=>{if(!F.current||f)return;let t=r.calcScaleValue({initialStepOffset:m,max:_,min:v,step:D,value:r.calcValueByOffset({max:_,min:v,offset:r.calculateChange({container:F.current,event:e,offsetBoundaries:U}),offsetBoundaries:U,step:D})});L(e=>{let n=t;return S&&(n=r.calcNewRangeValue({activePointer:H,newValue:t,prevValue:e})),K(n),n})},J=e=>{if(f)return;let n=t.calcNewValueAfterKeyPress({activePointer:H.current,event:e,max:_,min:v,range:S,step:D,value:I});n!==void 0&&(L(n),K(n))},Y=e=>{let n=t.incrementValue({activePointer:H.current,max:_,range:S,step:D,value:I});n!==void 0&&(L(n),K(n)),p?.onClick?.(e)},X=e=>{let n=t.decrementValue({activePointer:H.current,min:v,range:S,step:D,value:I});n!==void 0&&(L(n),K(n)),u?.onClick?.(e)},Z=()=>{b?.(),V(!1),Q()},{scaleOffsets:ne,showScale:re}=r.getScale({initialStepOffset:m,max:_,min:v,step:D,type:te}),{offset:ie,offsetLeft:ae,offsetRight:oe}=r.getOffset({max:_,min:v,offsetBoundaries:U,range:S,value:I}),Q=()=>{window.removeEventListener(`mousemove`,q),window.removeEventListener(`mouseup`,Z),window.removeEventListener(`touchend`,Z)},se=e.useClassName({additionalClassNames:s,component:`SLIDER`,variant:M}),$=(0,i.useCallback)(()=>{if(O){W({max:100,min:0});return}if(!F.current)return;let e=F.current.querySelector(`[role="slider"]`);if(!e)return;let t=F.current.getBoundingClientRect().width,n=e.getBoundingClientRect().width/t*100/2;W({max:100-n,min:n})},[O]);(0,i.useEffect)(()=>($(),O||window.addEventListener(`resize`,$),()=>{O||window.removeEventListener(`resize`,$)}),[O]),(0,i.useEffect)(()=>{j!==void 0&&(S&&!r.equalsRangeValues({values1:j,values2:I})||!S&&j!==I)&&L(P(j))},[j]),(0,i.useEffect)(()=>Q,[]);let ce=e=>{x?.(),V(!0),q(e),window.addEventListener(`mousemove`,q),window.addEventListener(`mouseup`,Z)},le=e=>{x?.(),V(!0),q(e),window.addEventListener(`touchend`,Z)};return(0,a.jsx)(n.SliderStandAlone,{ref:N,activePointer:H,ariaLabel:c,ariaLabelBy:l,containerRef:F,cssClasses:se,decrementButton:{...u,disabled:f||u?.disabled,onClick:X},disabled:f,hover:R,incrementButton:{...p,disabled:f||p?.disabled,onClick:Y},label:h,leftHelperText:g,max:_,min:v,offset:ie,offsetLeft:ae,offsetRight:oe,pressed:B,range:S,rightAriaLabel:C,rightAriaLabelBy:w,rightHelperText:T,rightThumbIcon:ee,rightTooltip:E,scaleOffsets:ne,setHover:z,showScale:re,step:D,thumbIcon:k,tooltip:A,value:I,onChange:q,onKeyPress:J,onMouseDown:ce,onTouchStart:le})});exports.Slider=s;
1
+ const e=require(`../../lib/hooks/useClassName/useClassName.js`),t=require(`./utils/accessibility.utils.js`),n=require(`./sliderStandAlone.js`),r=require(`./utils/slider.utils.js`);let i=require(`react`),a=require(`react/jsx-runtime`);var o=50;const s=(0,i.forwardRef)(({additionalClasses:s,ariaLabel:c,ariaLabelBy:l,decrementButton:u,defaultValue:d,disabled:f=!1,incrementButton:p,initialStepOffset:m,label:h,leftHelperText:g,max:_=100,min:v=0,onChange:y,onDragEnd:b,onDragStart:x,range:S=!1,rightAriaLabel:C,rightAriaLabelBy:w,rightHelperText:T,rightThumbIcon:ee,rightTooltip:E,step:D=1,thumbExceedsTrack:O=!0,thumbIcon:k,tooltip:A,type:te=`discrete`,value:j,variant:M},N)=>{let P=e=>r.calcDefaultValue({initialStepOffset:m,max:_,min:v,range:S,step:D,value:e}),F=(0,i.useRef)(null),[I,L]=(0,i.useState)(P(j??d)),[R,z]=(0,i.useState)(!1),[B,V]=(0,i.useState)(!1),H=(0,i.useRef)(`left`),[U,W]=(0,i.useState)({max:100,min:0}),G=(0,i.useRef)(void 0);r.focusThumb({container:F.current,currentActivePointer:H.current,range:S});let K=(0,i.useCallback)(e=>{y&&(clearTimeout(G.current),G.current=setTimeout(()=>{y(e)},o))},[y]),q=e=>{if(!F.current||f)return;let t=r.calcScaleValue({initialStepOffset:m,max:_,min:v,step:D,value:r.calcValueByOffset({max:_,min:v,offset:r.calculateChange({container:F.current,event:e,offsetBoundaries:U}),offsetBoundaries:U,step:D})});L(e=>{let n=t;return S&&(n=r.calcNewRangeValue({activePointer:H,newValue:t,prevValue:e})),K(n),n})},J=e=>{if(f)return;let n=t.calcNewValueAfterKeyPress({activePointer:H.current,event:e,max:_,min:v,range:S,step:D,value:I});n!==void 0&&(L(n),K(n))},Y=e=>{let n=t.incrementValue({activePointer:H.current,max:_,range:S,step:D,value:I});n!==void 0&&(L(n),K(n)),p?.onClick?.(e)},X=e=>{let n=t.decrementValue({activePointer:H.current,min:v,range:S,step:D,value:I});n!==void 0&&(L(n),K(n)),u?.onClick?.(e)},Z=()=>{b?.(),V(!1),Q()},{scaleOffsets:ne,showScale:re}=r.getScale({initialStepOffset:m,max:_,min:v,step:D,type:te}),{offset:ie,offsetLeft:ae,offsetRight:oe}=r.getOffset({max:_,min:v,offsetBoundaries:U,range:S,value:I}),Q=()=>{window.removeEventListener(`mousemove`,q),window.removeEventListener(`mouseup`,Z),window.removeEventListener(`touchend`,Z)},se=e.useClassName({additionalClassNames:s,component:`SLIDER`,variant:M}),$=(0,i.useCallback)(()=>{if(O){W({max:100,min:0});return}if(!F.current)return;let e=F.current.querySelector(`[role="slider"]`);if(!e)return;let t=F.current.getBoundingClientRect().width,n=e.getBoundingClientRect().width/t*100/2;W({max:100-n,min:n})},[O]);(0,i.useEffect)(()=>($(),O||window.addEventListener(`resize`,$),()=>{O||window.removeEventListener(`resize`,$)}),[O]),(0,i.useEffect)(()=>{j!==void 0&&(S&&!r.equalsRangeValues({values1:j,values2:I})||!S&&j!==I)&&L(P(j))},[j]),(0,i.useEffect)(()=>Q,[]);let ce=e=>{x?.(),V(!0),q(e),window.addEventListener(`mousemove`,q),window.addEventListener(`mouseup`,Z)},le=e=>{x?.(),V(!0),q(e),window.addEventListener(`touchend`,Z)};return(0,a.jsx)(n.SliderStandAlone,{ref:N,activePointer:H,ariaLabel:c,ariaLabelBy:l,containerRef:F,cssClasses:se,decrementButton:{...u,disabled:f||u?.disabled,onClick:X},disabled:f,hover:R,incrementButton:{...p,disabled:f||p?.disabled,onClick:Y},label:h,leftHelperText:g,max:_,min:v,offset:ie,offsetLeft:ae,offsetRight:oe,pressed:B,range:S,rightAriaLabel:C,rightAriaLabelBy:w,rightHelperText:T,rightThumbIcon:ee,rightTooltip:E,scaleOffsets:ne,setHover:z,showScale:re,step:D,thumbIcon:k,tooltip:A,value:I,onChange:q,onKeyPress:J,onMouseDown:ce,onTouchStart:le})});exports.Slider=s;
@@ -1 +1 @@
1
- const e=require(`./utils/contentVisibility.js`);let t=require(`react`);exports.useContentVisibility=({minVisibleHeight:n=100,onContentInvisible:r,onContentVisible:i})=>{let a=(0,t.useRef)(null),o=(0,t.useRef)(null),s=(0,t.useRef)(),c=(0,t.useRef)(),l=(0,t.useRef)(void 0),u=(0,t.useCallback)(()=>{let e=a.current,t=o.current;!e||!t||(i?i():(e.style.overflowY=``,t.style.overflowY=``))},[i]),d=(0,t.useCallback)(()=>{let e=a.current,t=o.current;!e||!t||(r?r():(e.style.overflowY=`auto`,t.style.overflowY=`visible`))},[r]);return{handleContentVisibility:(0,t.useCallback)(({container:t,content:r})=>{if(a.current=t,o.current=r,t&&r){let i=()=>{let i=e.isContentVisibleEnough({container:t,content:r,minVisibleHeight:n});i!==l.current&&(i?u():d()),l.current=i};i(),s.current=new ResizeObserver(()=>{i()}),c.current=new ResizeObserver(()=>{i()}),s.current.observe(r),s.current.observe(t)}else s.current?.disconnect(),c.current?.disconnect()},[n,u,d])}};
1
+ const e=require(`./utils/contentVisibility.js`);let t=require(`react`);exports.useContentVisibility=({minVisibleHeight:n=100,onContentInvisible:r,onContentVisible:i})=>{let a=(0,t.useRef)(null),o=(0,t.useRef)(null),s=(0,t.useRef)(void 0),c=(0,t.useRef)(void 0),l=(0,t.useRef)(void 0),u=(0,t.useCallback)(()=>{let e=a.current,t=o.current;!e||!t||(i?i():(e.style.overflowY=``,t.style.overflowY=``))},[i]),d=(0,t.useCallback)(()=>{let e=a.current,t=o.current;!e||!t||(r?r():(e.style.overflowY=`auto`,t.style.overflowY=`visible`))},[r]);return{handleContentVisibility:(0,t.useCallback)(({container:t,content:r})=>{if(a.current=t,o.current=r,t&&r){let i=()=>{let i=e.isContentVisibleEnough({container:t,content:r,minVisibleHeight:n});i!==l.current&&(i?u():d()),l.current=i};i(),s.current=new ResizeObserver(()=>{i()}),c.current=new ResizeObserver(()=>{i()}),s.current.observe(r),s.current.observe(t)}else s.current?.disconnect(),c.current?.disconnect()},[n,u,d])}};
@@ -1 +1 @@
1
- const e=require(`../../utils/scroll/hasScroll.js`);let t=require(`react`);exports.useScrollDetection=({autoFocus:n=!1}={})=>{let[r,i]=(0,t.useState)(!1),a=(0,t.useRef)(),o=(0,t.useRef)(!1);return{handleScrollDetection:(0,t.useCallback)(t=>{if(t){let r=t=>{let r=e.hasScroll(t);i(r),n&&r&&!o.current&&(t.focus(),o.current=!0)};r(t),a.current=new ResizeObserver(()=>{r(t)}),a.current.observe(t)}else a.current?.disconnect()},[n]),hasScroll:r}};
1
+ const e=require(`../../utils/scroll/hasScroll.js`);let t=require(`react`);exports.useScrollDetection=({autoFocus:n=!1}={})=>{let[r,i]=(0,t.useState)(!1),a=(0,t.useRef)(void 0),o=(0,t.useRef)(!1);return{handleScrollDetection:(0,t.useCallback)(t=>{if(t){let r=t=>{let r=e.hasScroll(t);i(r),n&&r&&!o.current&&(t.focus(),o.current=!0)};r(t),a.current=new ResizeObserver(()=>{r(t)}),a.current.observe(t)}else a.current?.disconnect()},[n]),hasScroll:r}};
@@ -3,7 +3,7 @@ import calc_utils_default from "./utils/calc.utils.js";
3
3
  import constants_default from "./utils/constants.js";
4
4
  import { useCallback, useEffect, useRef } from "react";
5
5
  const useCarouselSwipe = ({ allowShiftRef: a, centerExtremesWhenExtraPadding: o, changePage: s, circular: c, contentContainerRef: l, currentPageRef: u, disabled: d = !1, elements: f, extraPadding: p, numElementsPerPageRef: m, numPagesRef: h, viewerContainerRef: g }) => {
6
- let _ = useRef(!1), v = useRef(!1), y = useRef(!1), b = useRef(), x = useRef(0), S = useRef(0), C = useRef(0), w = useRef(0), T = useCallback(() => {
6
+ let _ = useRef(!1), v = useRef(!1), y = useRef(!1), b = useRef(void 0), x = useRef(0), S = useRef(0), C = useRef(0), w = useRef(0), T = useCallback(() => {
7
7
  a.current && (c || u.current !== h.current - 1) && s({ newPage: u.current + 1 });
8
8
  }, [c, s]), E = useCallback(() => {
9
9
  a.current && (c || u.current !== 0) && s({ newPage: u.current - 1 });
@@ -5,7 +5,7 @@ function isImageDataEqual(e, t) {
5
5
  return !0;
6
6
  }
7
7
  const useDraw = (r) => {
8
- let i = useRef(null), a = useRef(), o = useRef(!1), s = useRef(!1), c = useRef({
8
+ let i = useRef(null), a = useRef(null), o = useRef(!1), s = useRef(!1), c = useRef({
9
9
  color: "black",
10
10
  lineWidth: 2
11
11
  }), l = useRef(null), u = () => {
@@ -8,7 +8,7 @@ const Option = forwardRef(({ additionalClasses: t, focus: n, onBlur: r, onFocus:
8
8
  additionalClassNames: t,
9
9
  component: "OPTION",
10
10
  variant: a
11
- }), { LINK: l } = useGenericComponents(), u = useRef(), [d, f] = useState(!1), [p, m] = useState(!1);
11
+ }), { LINK: l } = useGenericComponents(), u = useRef(null), [d, f] = useState(!1), [p, m] = useState(!1);
12
12
  useImperativeHandle(s, () => u.current, []), useEffect(() => {
13
13
  n && u.current?.focus();
14
14
  }, [n]);
@@ -16,7 +16,7 @@ const Slider = forwardRef(({ additionalClasses: r, ariaLabel: i, ariaLabelBy: a,
16
16
  }), j = useRef(null), [M, N] = useState(A(D ?? s)), [P, F] = useState(!1), [I, L] = useState(!1), R = useRef("left"), [z, B] = useState({
17
17
  max: 100,
18
18
  min: 0
19
- }), V = useRef();
19
+ }), V = useRef(void 0);
20
20
  focusThumb({
21
21
  container: j.current,
22
22
  currentActivePointer: R.current,
@@ -1,7 +1,7 @@
1
1
  import { isContentVisibleEnough } from "./utils/contentVisibility.js";
2
2
  import { useCallback, useRef } from "react";
3
3
  const useContentVisibility = ({ minVisibleHeight: r = 100, onContentInvisible: i, onContentVisible: a }) => {
4
- let o = useRef(null), s = useRef(null), c = useRef(), l = useRef(), u = useRef(void 0), d = useCallback(() => {
4
+ let o = useRef(null), s = useRef(null), c = useRef(void 0), l = useRef(void 0), u = useRef(void 0), d = useCallback(() => {
5
5
  let e = o.current, t = s.current;
6
6
  !e || !t || (a ? a() : (e.style.overflowY = "", t.style.overflowY = ""));
7
7
  }, [a]), f = useCallback(() => {
@@ -1,7 +1,7 @@
1
1
  import { hasScroll } from "../../utils/scroll/hasScroll.js";
2
2
  import { useCallback, useRef, useState } from "react";
3
3
  const useScrollDetection = ({ autoFocus: n = !1 } = {}) => {
4
- let [r, i] = useState(!1), a = useRef(), o = useRef(!1);
4
+ let [r, i] = useState(!1), a = useRef(void 0), o = useRef(!1);
5
5
  return {
6
6
  handleScrollDetection: useCallback((e) => {
7
7
  if (e) {
@@ -2562,8 +2562,8 @@ export declare interface ICarousel extends Omit<ICarouselStandAlone, 'cssClasses
2562
2562
 
2563
2563
  declare interface ICarouselStandAlone extends DataAttributes {
2564
2564
  cssClasses?: CarouselCssClasses;
2565
- viewerContainerRef: React.RefObject<HTMLDivElement>;
2566
- contentContainerRef: React.RefObject<HTMLDivElement>;
2565
+ viewerContainerRef: React.RefObject<HTMLDivElement | null>;
2566
+ contentContainerRef: React.RefObject<HTMLDivElement | null>;
2567
2567
  elements: JSX.Element[];
2568
2568
  screenReaderOnly?: CarouselScreenReaderOnlyType;
2569
2569
  allowModifySliceWidth?: boolean;
@@ -2951,7 +2951,7 @@ export declare interface InputSignatureLineStyles {
2951
2951
  */
2952
2952
  export declare interface InputSignatureStandAloneProps extends DataAttributes {
2953
2953
  state: InputSignatureState;
2954
- canvasRef: React.RefObject<HTMLCanvasElement>;
2954
+ canvasRef: React.RefObject<HTMLCanvasElement | null>;
2955
2955
  placeholder: CommonTextProps;
2956
2956
  errorText?: CommonTextProps;
2957
2957
  onClickContainer: (e: React.MouseEvent<HTMLDivElement>) => void;
@@ -4306,13 +4306,13 @@ export declare interface SelectStandAloneProps extends DataAttributes {
4306
4306
  listOptions: SelectListOptionsProps;
4307
4307
  optionSelected?: string;
4308
4308
  onOptionClick: (value: string) => void;
4309
- listOptionsRef: RefObject<HTMLDivElement>;
4309
+ listOptionsRef: RefObject<HTMLDivElement | null>;
4310
4310
  closePopoverOnScroll?: boolean;
4311
4311
  openAndCloseOnHover?: boolean;
4312
4312
  url?: string;
4313
4313
  urlTarget?: HTMLAttributeAnchorTarget;
4314
4314
  component: 'button' | GenericLinkType;
4315
- buttonOrLinkRef?: RefObject<HTMLButtonElement>;
4315
+ buttonOrLinkRef?: RefObject<HTMLButtonElement | null>;
4316
4316
  onFocus?: FocusEventHandler<HTMLDivElement>;
4317
4317
  onBlur?: FocusEventHandler<HTMLDivElement>;
4318
4318
  onKeyDown?: KeyboardEventHandler<HTMLDivElement>;
@@ -4513,7 +4513,7 @@ export declare interface SliderStandAloneProps extends DataAttributes {
4513
4513
  hover: boolean;
4514
4514
  pressed: boolean;
4515
4515
  activePointer: React.MutableRefObject<string>;
4516
- containerRef: React.RefObject<HTMLDivElement>;
4516
+ containerRef: React.RefObject<HTMLDivElement | null>;
4517
4517
  onMouseDown: React.MouseEventHandler<HTMLDivElement>;
4518
4518
  onChange: (event: MouseEvent | React.TouchEvent | React.MouseEvent) => void;
4519
4519
  onTouchStart: React.TouchEventHandler<HTMLDivElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubit-ui-web/react-components",
3
- "version": "2.0.0-beta.54",
3
+ "version": "2.0.0-beta.56",
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",
@@ -138,8 +138,8 @@
138
138
  }
139
139
  },
140
140
  "peerDependencies": {
141
- "react": ">=17.0.0 || >=18.3.1",
142
- "react-dom": ">=17.0.0 || >=18.3.1"
141
+ "react": "^18.3.0 || ^19.0.0",
142
+ "react-dom": "^18.3.0 || ^19.0.0"
143
143
  },
144
144
  "dependencies": {
145
145
  "@floating-ui/dom": "^1.7.5"
@@ -151,8 +151,8 @@
151
151
  "@testing-library/user-event": "^14.6.1",
152
152
  "@trivago/prettier-plugin-sort-imports": "^6.0.2",
153
153
  "@types/node": "^25.2.3",
154
- "@types/react": "^18.3.12",
155
- "@types/react-dom": "^18.3.1",
154
+ "@types/react": "^19.2.14",
155
+ "@types/react-dom": "^19.2.3",
156
156
  "@types/testing-library__jest-dom": "^6.0.0",
157
157
  "@vitejs/plugin-react": "^5.1.4",
158
158
  "@vitest/coverage-v8": "^4.0.18",
@@ -164,15 +164,15 @@
164
164
  "html-validate": "^10.7.0",
165
165
  "jsdom": "^28.0.0",
166
166
  "prettier": "^3.8.1",
167
- "react": "18.3.1",
168
- "react-dom": "18.3.1",
167
+ "react": "^19.2.4",
168
+ "react-dom": "^19.2.4",
169
169
  "typescript": "^5.9.3",
170
170
  "typescript-eslint": "^8.55.0",
171
171
  "vite": "8.0.0-beta.10",
172
172
  "vite-plugin-dts": "^4.5.4",
173
173
  "vitest": "^4.0.18",
174
174
  "vitest-axe": "^0.1.0",
175
- "@kubit-ui-web/design-system": "2.0.0-beta.13"
175
+ "@kubit-ui-web/design-system": "2.0.0-beta.15"
176
176
  },
177
177
  "publishConfig": {
178
178
  "access": "public",