UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 90+ 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) 11.3 kB
this.primereact=this.primereact||{},this.primereact.dock=function(e,n,t,r,o,i,a){"use strict";function c(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var l=c(n);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},u.apply(this,arguments)}function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function d(e,n){if("object"!==s(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!==s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function p(e){var n=d(e,"string");return"symbol"===s(n)?n:String(n)}function f(e,n,t){return(n=p(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function m(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function b(e){if(Array.isArray(e))return m(e)}function v(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function y(e,n){if(e){if("string"==typeof e)return m(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?m(e,n):void 0}}function k(){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 g(e){return b(e)||v(e)||y(e)||k()}function h(e){if(Array.isArray(e))return e}function O(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=i.call(t)).done)&&(c.push(r.value),c.length!==n);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}function x(){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 j(e,n){return h(e)||O(e,n)||y(e,n)||x()}var S=r.ComponentBase.extend({defaultProps:{__TYPE:"Dock",id:null,style:null,className:null,model:null,tabIndex:0,onFocus:null,onBlur:null,position:"bottom",magnification:!0,header:null,footer:null,children:void 0},css:{classes:{icon:"p-dock-action-icon",action:function(e){return a.classNames("p-dock-action",{"p-disabled":e.disabled})},menuitem:function(e){var n=e.currentIndexState,t=e.index;return a.classNames("p-dock-item",{"p-dock-item-second-prev":n-2===t,"p-dock-item-prev":n-1===t,"p-dock-item-current":n===t,"p-dock-item-next":n+1===t,"p-dock-item-second-next":n+2===t,"p-focus":e.active})},content:"p-menuitem-content",header:"p-dock-header",menu:"p-dock-list",footer:"p-dock-footer",root:function(e){var n=e.props;return a.classNames("p-dock p-component p-dock-".concat(n.position),{"p-dock-magnification":n.magnification})},container:"p-dock-list-container"},styles:"\n@layer primereact {\n .p-dock {\n position: absolute;\n z-index: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n }\n\n .p-dock-list-container {\n display: flex;\n pointer-events: auto;\n }\n\n .p-dock-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: auto;\n }\n\n .p-dock-magnification .p-dock-item {\n transition: all .2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n }\n\n .p-dock-action {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n cursor: default;\n }\n\n .p-dock-magnification .p-dock-item-second-prev,\n .p-dock-magnification .p-dock-item-second-next {\n transform: scale(1.2);\n }\n\n .p-dock-magnification .p-dock-item-prev,\n .p-dock-magnification .p-dock-item-next {\n transform: scale(1.4);\n }\n\n .p-dock-magnification .p-dock-item-current {\n transform: scale(1.6);\n z-index: 1;\n }\n\n /* Position */\n /* top */\n .p-dock-top {\n left: 0;\n top: 0;\n width: 100%;\n }\n\n .p-dock-top.p-dock-magnification .p-dock-item {\n transform-origin: center top;\n }\n\n .p-dock-top .p-dock-list-container {\n flex-direction: column-reverse;\n }\n\n /* bottom */\n .p-dock-bottom {\n left: 0;\n bottom: 0;\n width: 100%;\n }\n\n .p-dock-bottom.p-dock-magnification .p-dock-item {\n transform-origin: center bottom;\n }\n\n .p-dock-bottom .p-dock-list-container {\n flex-direction: column;\n }\n\n /* right */\n .p-dock-right {\n right: 0;\n top: 0;\n height: 100%;\n }\n\n .p-dock-right.p-dock-magnification .p-dock-item {\n transform-origin: center right;\n }\n\n .p-dock-right .p-dock-list {\n flex-direction: column;\n }\n\n /* left */\n .p-dock-left {\n left: 0;\n top: 0;\n height: 100%;\n }\n\n .p-dock-left.p-dock-magnification .p-dock-item {\n transform-origin: center left;\n }\n\n .p-dock-left .p-dock-list {\n flex-direction: column;\n }\n\n .p-dock-left .p-dock-list-container {\n flex-direction: row-reverse;\n }\n}\n"}});function w(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function E(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?w(Object(t),!0).forEach((function(n){f(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):w(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var D=l.memo(l.forwardRef((function(e,n){var c=j(l.useState(-3),2),s=c[0],d=c[1],p=j(l.useState(!1),2),m=p[0],b=p[1],v=j(l.useState(-1),2),y=v[0],k=v[1],h=o.useMergeProps(),O=l.useContext(t.PrimeReactContext),x=S.getProps(e,O),w=j(l.useState(x.id),2),D=w[0],P=w[1],N=S.setMetaData({props:x,state:{id:D,currentIndex:s}}),I=N.ptm,A=N.cx,H=N.isUnstyled,C=l.useRef(null),M=l.useRef(null);r.useHandleStyle(S.css.styles,H,{name:"dock"});var U=function(e,n,t){return I(e,{context:{index:t,item:n}})},R=function(){d(-3)},_=function(e){d(e)},z=function(e,n){n.command&&n.command({originalEvent:e,item:n}),e.preventDefault()},B=function(e){b(!0),G(0),x.onFocus&&x.onFocus(e)},F=function(e){b(!1),k(-1),x.onBlur&&x.onBlur(e)},J=function(e){switch(e.code){case"ArrowDown":"left"!==x.position&&"right"!==x.position||T(),e.preventDefault();break;case"ArrowUp":"left"!==x.position&&"right"!==x.position||X(),e.preventDefault();break;case"ArrowRight":"top"!==x.position&&"bottom"!==x.position||T(),e.preventDefault();break;case"ArrowLeft":"top"!==x.position&&"bottom"!==x.position||X(),e.preventDefault();break;case"Home":L(),e.preventDefault();break;case"End":q(),e.preventDefault();break;case"Enter":case"NumpadEnter":case"Space":K(),e.preventDefault()}},T=function(){var e=Y(y);G(e)},X=function(){var e=$(y);G(e)},L=function(){G(0)},q=function(){G(a.DomHandler.find(M.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]').length-1)},K=function(){var e=a.DomHandler.findSingle(M.current,'li[id="'.concat("".concat(y),'"]')),n=e&&a.DomHandler.findSingle(e,'[data-pc-section="action"]');n?n.click():e&&e.click()},Y=function(e){var n=g(a.DomHandler.find(M.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n+1:0},$=function(e){var n=g(a.DomHandler.find(M.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n-1:0},G=function(e){var n=a.DomHandler.find(M.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]');k(n[e>=n.length?n.length-1:e<0?0:e].getAttribute("id"))},Q=function(e){return e===y},V=function(e,n){if(!1===e.visible)return null;var t=e.disabled,r=e.icon,o=e.label,c=e.template,u=e.url,d=e.target,p=e.id||D+"_"+n,m=a.classNames("p-dock-action",{"p-disabled":t}),b=a.classNames("p-dock-action-icon",r),v=h({className:A("icon")},U("icon",e,n)),y=a.IconUtils.getJSXIcon(r,E({},v),{props:x}),k=h({href:u||"#",onFocus:function(e){return e.stopPropagation()},className:A("action",{disabled:t}),"aria-hidden":"true",tabIndex:-1,target:d,"data-pr-tooltip":o,onClick:function(n){return z(n,e)}},U("action",e,n)),g=l.createElement("a",k,y,l.createElement(i.Ripple,null));c&&(g=a.ObjectUtils.getJSXElement(c,e,{onClick:function(n){return z(n,e)},className:m,iconClassName:b,"aria-hidden":"true",tabIndex:-1,element:g,props:x,index:n}));var O=h({className:A("content")},U("content",e,n)),j=Q(p),S=h(f(f({id:p,role:"menuitem",key:p,"aria-label":o,"aria-disabled":t,"data-p-focused":j,"data-p-disabled":t||!1,className:A("menuitem",{currentIndexState:s,index:n,active:Q(p)})},"role","none"),"onMouseEnter",(function(){return _(n)})),U("menuitem",e,n));return l.createElement("li",S,l.createElement("div",O,g))};o.useMountEffect((function(){D||P(a.UniqueComponentId())})),l.useImperativeHandle(n,(function(){return{props:x,getElement:function(){return C.current}}}));var W,Z,ee=function(){if(x.header){var e=a.ObjectUtils.getJSXElement(x.header,{props:x}),n=h({className:A("header")},I("header"));return l.createElement("div",n,e)}return null}(),ne=(W=x.model?x.model.map(V):null,Z=h({ref:M,className:A("menu"),role:"menu","aria-orientation":"bottom"===x.position||"top"===x.position?"horizontal":"vertical","aria-activedescendant":m?-1!==y?y:null:void 0,tabIndex:x.tabIndex||0,onFocus:B,onBlur:F,onKeyDown:J,onMouseLeave:R},I("menu")),l.createElement("ul",Z,W)),te=function(){if(x.footer){var e=a.ObjectUtils.getJSXElement(x.footer,{props:x}),n=h({className:A("footer")},I("footer"));return l.createElement("div",n,e)}return null}(),re=h({className:a.classNames(x.className,A("root")),style:x.style},S.getOtherProps(x),I("root")),oe=h({className:A("container")},I("container"));return l.createElement("div",u({id:x.id,ref:C},re),l.createElement("div",oe,ee,ne,te))})));return D.displayName="Dock",e.Dock=D,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.hooks,primereact.ripple,primereact.utils);