primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime
2 lines (1 loc) • 5.93 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/hooks"),r=require("primereact/utils");function t(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,Object.freeze(n)}var a=t(e);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},i.apply(this,arguments)}function l(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,t=new Array(n);r<n;r++)t[r]=e[r];return t}function o(e){if(Array.isArray(e))return l(e)}function u(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function c(e,n){if(e){if("string"==typeof e)return l(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,n):void 0}}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(e){if(Array.isArray(e))return e}function d(e,n){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var t,a,i=[],l=!0,o=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(i.push(t.value),!n||i.length!==n);l=!0);}catch(e){o=!0,a=e}finally{try{l||null==r.return||r.return()}finally{if(o)throw a}}return i}}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(e,n){return f(e)||d(e,n)||c(e,n)||m()}var v=a.memo(a.forwardRef((function(e,t){var l=a.useRef(null),f=a.useRef(0),d=a.useRef(!1),m=a.useRef(!1),h=a.useRef(0),y=a.useRef(0),g=a.useRef(0),b=a.useRef(0),E=e.range?e.value||[0,100]:e.value||0,w="horizontal"===e.orientation,x="vertical"===e.orientation,S=p(n.useEventListener({type:"mousemove",listener:function(e){return T(e)}}),2),O=S[0],j=S[1],A=p(n.useEventListener({type:"mouseup",listener:function(e){return k(e)}}),2),R=A[0],D=A[1],I=p(n.useEventListener({type:"touchmove",listener:function(e){return T(e)}}),2),N=I[0],P=I[1],C=p(n.useEventListener({type:"touchend",listener:function(e){return k(e)}}),2),M=C[0],_=C[1],L=function(n,r){W(n,(e.range?E[f.current]:E)+(e.step||1)*r),n.preventDefault()},H=function(n,r){e.disabled||(m.current=!0,q(),d.current=!0,f.current=r)},T=function(e){m.current&&(K(e),e.preventDefault())},k=function(n){m.current&&(m.current=!1,e.onSlideEnd&&e.onSlideEnd({originalEvent:n,value:e.value}),j(),D(),P(),_())},z=function(e,n){O(),R(),H(0,n)},F=function(e,n){N(),M(),H(0,n)},U=function(n,r){if(!e.disabled){f.current=r;var t=n.key;"ArrowRight"===t||"ArrowUp"===t?L(n,1):"ArrowLeft"!==t&&"ArrowDown"!==t||L(n,-1)}},q=function(){var e=l.current.getBoundingClientRect();h.current=e.left+r.DomHandler.getWindowScrollLeft(),y.current=e.top+r.DomHandler.getWindowScrollTop(),g.current=l.current.offsetWidth,b.current=l.current.offsetHeight},K=function(n){var r=(w?100*((n.touches?n.touches[0].pageX:n.pageX)-h.current)/g.current:100*(y.current+b.current-(n.touches?n.touches[0].pageY:n.pageY))/b.current)/100*(e.max-e.min)+e.min;if(e.step){var t=e.range?E[f.current]:E,a=r-t;a<0?r=t+Math.ceil(r/e.step-t/e.step)*e.step:a>0&&(r=t+Math.floor(r/e.step-t/e.step)*e.step)}else r=Math.floor(r);return W(n,r)},W=function(n,r){var t,a=parseFloat(r.toFixed(10)),i=a;return e.range?(0===f.current?a<e.min?a=e.min:a>E[1]&&(a=E[1]):a>e.max?a=e.max:a<E[0]&&(a=E[0]),(i=o(t=E)||u(t)||c(t)||s())[f.current]=a,e.onChange&&e.onChange({originalEvent:n,value:i})):(a<e.min?a=e.min:a>e.max&&(a=e.max),i=a,e.onChange&&e.onChange({originalEvent:n,value:i})),i},Y=function(n,t,l){var o={transition:m.current?"none":null,left:null!==n&&n+"%",bottom:t&&t+"%"},u=r.classNames("p-slider-handle",{"p-slider-handle-start":0===l,"p-slider-handle-end":1===l,"p-slider-handle-active":f.current===l});return a.createElement("span",i({className:u,style:o,tabIndex:e.tabIndex,role:"slider",onMouseDown:function(e){return z(0,l)},onTouchStart:function(e){return F(0,l)},onKeyDown:function(e){return U(e,l)},"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":n||t,"aria-orientation":e.orientation},Q))};a.useImperativeHandle(t,(function(){return{props:e,getElement:function(){return l.current}}}));var X,B,$,G,J=r.ObjectUtils.findDiffKeys(e,v.defaultProps),Q=r.ObjectUtils.reduceKeys(J,r.DomHandler.ARIA_PROPS),V=r.classNames("p-slider p-component",e.className,{"p-disabled":e.disabled,"p-slider-horizontal":w,"p-slider-vertical":x}),Z=e.range?(X=100*(E[0]<e.min?0:E[0]-e.min)/(e.max-e.min),B=100*(E[1]>e.max?100:E[1]-e.min)/(e.max-e.min),$=w?Y(X,null,0):Y(null,X,0),G=w?Y(B,null,1):Y(null,B,1),a.createElement(a.Fragment,null,a.createElement("span",{className:"p-slider-range",style:w?{left:X+"%",width:B-X+"%"}:{bottom:X+"%",height:B-X+"%"}}),$,G)):function(){var n;n=E<e.min?0:E>e.max?100:100*(E-e.min)/(e.max-e.min);var r=w?{width:n+"%"}:{height:n+"%"},t=w?Y(n,null,null):Y(null,n,null);return a.createElement(a.Fragment,null,a.createElement("span",{className:"p-slider-range",style:r}),t)}();return a.createElement("div",i({ref:l,id:e.id,style:e.style,className:V},J,{onClick:function(n){if(!e.disabled){if(!d.current){q();var r=K(n);e.onSlideEnd&&e.onSlideEnd({originalEvent:n,value:r})}d.current=!1}}}),Z)})));v.displayName="Slider",v.defaultProps={__TYPE:"Slider",id:null,value:null,min:0,max:100,orientation:"horizontal",step:null,range:!1,style:null,className:null,disabled:!1,tabIndex:0,onChange:null,onSlideEnd:null},exports.Slider=v;