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) 4.97 kB
import*as e from"react";import{PrimeReactContext as r}from"primereact/api";import{ComponentBase as t,useHandleStyle as n}from"primereact/componentbase";import{useMergeProps as o}from"primereact/hooks";import{TimesCircleIcon as i}from"primereact/icons/timescircle";import{classNames as l,ObjectUtils as a,UniqueComponentId as c,IconUtils as u}from"primereact/utils";function p(e){return p="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},p(e)}function m(e,r){if("object"!=p(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!=p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}function s(e){var r=m(e,"string");return"symbol"==p(r)?r:r+""}function f(e,r,t){return(r=s(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function b(){return b=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},b.apply(null,arguments)}function y(e){if(Array.isArray(e))return e}function v(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,i,l,a=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=i.call(t)).done)&&(a.push(n.value),a.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(u)throw o}}return a}}function g(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function h(e,r){if(e){if("string"==typeof e)return g(e,r);var t={}.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)?g(e,r):void 0}}function d(){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 O=t.extend({defaultProps:{__TYPE:"Chip",label:null,icon:null,image:null,removable:!1,removeIcon:null,className:null,style:null,template:null,imageAlt:"chip",onImageError:null,onRemove:null,children:void 0},css:{classes:{root:function(e){return l("p-chip p-component",{"p-chip-image":null!=e.props.image})},removeIcon:"p-chip-remove-icon",icon:"p-chip-icon",label:"p-chip-text"},styles:"\n@layer primereact {\n .p-chip {\n display: inline-flex;\n align-items: center;\n }\n \n .p-chip-text {\n line-height: 1.5;\n }\n \n .p-chip-icon.pi {\n line-height: 1.5;\n }\n \n .p-chip .p-chip-remove-icon {\n line-height: 1.5;\n cursor: pointer;\n }\n \n .p-chip img {\n border-radius: 50%;\n }\n}\n"}});function j(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 S(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?j(Object(t),!0).forEach((function(r){f(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):j(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var E=e.memo(e.forwardRef((function(t,p){var m,s,f=o(),g=e.useContext(r),j=O.getProps(t,g),E=e.useRef(null),P=e.useState(!0),w=(s=2,y(m=P)||v(m,s)||h(m,s)||d()),I=w[0],x=w[1],N=O.setMetaData({props:j}),A=N.ptm,k=N.cx;n(O.css.styles,N.isUnstyled,{name:"chip"});var D,C,R=function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code&&"Backspace"!==e.code||J(e)},J=function(e){x(!1),j.onRemove&&j.onRemove({originalEvent:e,value:j.label||j.image||j.icon})},T=function(){var r=[],t=f({role:"button",tabIndex:0,className:k("removeIcon"),onClick:J,onKeyDown:R},A("removeIcon")),n=j.removeIcon||e.createElement(i,b({},t,{key:c("removeIcon")}));if(j.image){var o=f({src:j.image,onError:j.onImageError},A("image"));r.push(e.createElement("img",b({alt:j.imageAlt},o)))}else if(j.icon){var l=f({className:k("icon")},A("icon"));r.push(u.getJSXIcon(j.icon,S({},l),{props:j}))}if(j.label){var a=f({className:k("label")},A("label"));r.push(e.createElement("span",b({},a,{key:"label"}),j.label))}return j.removable&&r.push(u.getJSXIcon(n,S({},t),{props:j})),r};return e.useImperativeHandle(p,(function(){return{props:j,getElement:function(){return E.current}}})),I&&(D=j.template?a.getJSXElement(j.template,j):T(),C=f({ref:E,style:j.style,className:l(j.className,k("root")),"aria-label":j.label},O.getOtherProps(j),A("root")),e.createElement("div",C,D))})));E.displayName="Chip";export{E as Chip};