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.95 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("primereact/api"),t=require("primereact/csstransition"),n=require("primereact/hooks"),a=require("primereact/utils");function o(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var l=o(e);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},i.apply(this,arguments)}function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function u(e){if(Array.isArray(e))return s(e)}function p(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function d(e,r){if(e){if("string"==typeof e)return s(e,r);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)?s(e,r):void 0}}function f(){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 b(e){if(Array.isArray(e))return e}function m(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,a,o=[],l=!0,i=!1;try{for(t=t.call(e);!(l=(n=t.next()).done)&&(o.push(n.value),!r||o.length!==r);l=!0);}catch(e){i=!0,a=e}finally{try{l||null==t.return||t.return()}finally{if(i)throw a}}return o}}function y(){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 h(e,r){return b(e)||m(e,r)||d(e,r)||y()}function v(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function g(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?v(Object(t),!0).forEach((function(r){c(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var O=function(){},j=function(e){return e&&"AccordionTab"===e.props.__TYPE},N=l.forwardRef((function(e,o){var c=h(l.useState(e.id),2),s=c[0],b=c[1],m=h(l.useState(e.activeIndex),2),y=m[0],v=m[1],E=l.useRef(null),T=e.onTabChange?e.activeIndex:y,P=function(r,t,n){if(!t.props.disabled){var a=S(n),o=null;if(e.multiple){var l=T||[];o=a?l.filter((function(e){return e!==n})):[].concat(u(c=l)||p(c)||d(c)||f(),[n])}else o=a?null:n;var i=a?e.onTabClose:e.onTabOpen;i&&i({originalEvent:r,index:n}),e.onTabChange?e.onTabChange({originalEvent:r,index:o}):v(o)}var c;r.preventDefault()},S=function(r){return e.multiple?T&&T.some((function(e){return e===r})):T===r};if(l.useImperativeHandle(o,(function(){return{props:e,getElement:function(){return E.current}}})),n.useMountEffect((function(){s||b(a.UniqueComponentId())})),!s)return null;var x=function(t,n,o){var i=g(g({},t.props.style||{}),t.props.headerStyle||{}),c=a.classNames("p-accordion-header",{"p-highlight":n,"p-disabled":t.props.disabled},t.props.headerClassName,t.props.className),u=s+"_header_"+o,p=s+"_content_"+o,d=t.props.disabled?-1:t.props.tabIndex,f=t.props.headerTemplate?a.ObjectUtils.getJSXElement(t.props.headerTemplate,t.props):l.createElement("span",{className:"p-accordion-header-text"},t.props.header),b=a.IconUtils.getJSXIcon(n?e.collapseIcon:e.expandIcon,{className:"p-accordion-toggle-icon"},{props:e,selected:n}),m=r.ariaLabel(n?"collapseLabel":"expandLabel");return l.createElement("div",{className:c,style:i},l.createElement("a",{href:"#"+p,id:u,className:"p-accordion-header-link","aria-controls":p,role:"tab","aria-expanded":n,onClick:function(e){return P(e,t,o)},tabIndex:d,"aria-label":m},b,f))},I=function(r,n,o){var i=g(g({},r.props.style||{}),r.props.contentStyle||{}),c=a.classNames("p-toggleable-content",r.props.contentClassName,r.props.className),u=s+"_content_"+o,p=s+"_header_"+o,d=l.createRef();return l.createElement(t.CSSTransition,{nodeRef:d,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},in:n,unmountOnExit:!0,options:e.transitionOptions},l.createElement("div",{ref:d,id:u,className:c,style:i,role:"region","aria-labelledby":p},l.createElement("div",{className:"p-accordion-content"},r.props.children)))},_=function(e,r){if(j(e)){var t=s+"_"+r,n=S(r),o=a.ObjectUtils.findDiffKeys(e.props,O.defaultProps),c=x(e,n,r),u=I(e,n,r),p=a.classNames("p-accordion-tab",{"p-accordion-tab-active":n});return l.createElement("div",i({key:t,className:p},o),c,u)}return null},w=a.ObjectUtils.findDiffKeys(e,N.defaultProps),A=a.classNames("p-accordion p-component",e.className),C=l.Children.map(e.children,_);return l.createElement("div",i({id:s,ref:E,className:A,style:e.style},w),C)}));O.displayName="AccordionTab",O.defaultProps={__TYPE:"AccordionTab",className:null,contentClassName:null,contentStyle:null,disabled:!1,header:null,headerClassName:null,headerStyle:null,headerTemplate:null,style:null,tabIndex:0},N.displayName="Accordion",N.defaultProps={__TYPE:"Accordion",id:null,activeIndex:null,className:null,style:null,multiple:!1,expandIcon:"pi pi-chevron-right",collapseIcon:"pi pi-chevron-down",transitionOptions:null,onTabOpen:null,onTabClose:null,onTabChange:null},exports.Accordion=N,exports.AccordionTab=O;