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) 3.54 kB
import*as e from"react";import{localeOption as n}from"primereact/api";import{Button as t}from"primereact/button";import{ObjectUtils as r,classNames as l}from"primereact/utils";function o(){return o=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},o.apply(this,arguments)}function a(e){if(Array.isArray(e))return e}function i(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,l,o,a,i=[],c=!0,p=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=o.call(t)).done)&&(i.push(r.value),i.length!==n);c=!0);}catch(e){p=!0,l=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(p)throw l}}return i}}function c(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 p(e,n){if(e){if("string"==typeof e)return c(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)?c(e,n):void 0}}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s={defaultProps:{__TYPE:"InplaceDisplay",children:void 0},getOtherProps:function(e){return r.getComponentDiffProps(e,s.defaultProps)}},f={defaultProps:{__TYPE:"InplaceContent",children:void 0},getOtherProps:function(e){return r.getComponentDiffProps(e,f.defaultProps)}},d={defaultProps:{__TYPE:"Inplace",style:null,className:null,active:!1,closable:!1,disabled:!1,tabIndex:0,ariaLabel:null,onOpen:null,onClose:null,onToggle:null,children:void 0},getProps:function(e){return r.getMergedProps(e,d.defaultProps)},getOtherProps:function(e){return r.getDiffProps(e,d.defaultProps)}},m=function(e){return e.children},g=function(e){return e.children},b=e.forwardRef((function(c,m){var g,b,v=d.getProps(c),y=e.useState(v.active),h=(b=2,a(g=y)||i(g,b)||p(g,b)||u()),P=h[0],I=h[1],O=e.useRef(null),C=v.onToggle?v.active:P,E=function(e){v.disabled||(v.onOpen&&v.onOpen(e),v.onToggle?v.onToggle({originalEvent:e,value:!0}):I(!0))},T=function(e){v.onClose&&v.onClose(e),v.onToggle?v.onToggle({originalEvent:e,value:!1}):I(!1)},D=function(e){"Enter"===e.key&&(E(e),e.preventDefault())},N=function(n){var t=s.getOtherProps(n),r=l("p-inplace-display",{"p-disabled":v.disabled});return e.createElement("div",o({className:r},t,{onClick:E,onKeyDown:D,tabIndex:v.tabIndex,"aria-label":v.ariaLabel}),n)},j=function(r){var l=f.getOtherProps(r),a=v.closable?e.createElement(t,{type:"button",className:"p-inplace-content-close",icon:"pi pi-times",onClick:T,"aria-label":n("close")}):null;return e.createElement("div",o({className:"p-inplace-content"},l),r,a)};e.useImperativeHandle(m,(function(){return{props:v,getElement:function(){return O.current}}}));var w,A=d.getOtherProps(v),S=(w=["InplaceContent","InplaceDisplay"],e.Children.map(v.children,(function(e){return C&&r.isValidChild(e,"InplaceContent",w)?j(e):!C&&r.isValidChild(e,"InplaceDisplay",w)?N(e):void 0}))),_=l("p-inplace p-component",{"p-inplace-closable":v.closable},v.className);return e.createElement("div",o({ref:O,className:_},A),S)}));m.displayName="InplaceDisplay",g.displayName="InplaceContent",b.displayName="Inplace";export{b as Inplace,g as InplaceContent,m as InplaceDisplay};