UNPKG

beta-parity-react

Version:

Beta Parity React Components

1 lines 5.1 kB
"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(exports,"__esModule",{value:true});exports.Tag=void 0;var _react=_interopRequireDefault(require("react"));var _classnames=_interopRequireDefault(require("classnames"));var _lucideReact=require("lucide-react");require("./index.css");require("./variables.css");var _useKeyboard=_interopRequireDefault(require("../hooks/useKeyboard"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["className","children","label","icon","kind","size","color","value","disabled","onRemove","onClick"];function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}}return target}var colorMap={neutral:"neutral",accent:"accent"};var sizeMap={sm:"small",md:"medium",lg:"large"};var kindMap={glass:"glass",outlined:"outlined"};var Tag=exports.Tag=_react["default"].forwardRef(function(props,ref){var className=props.className,children=props.children,label=props.label,icon=props.icon,_props$kind=props.kind,kind=_props$kind===void 0?"outlined":_props$kind,_props$size=props.size,size=_props$size===void 0?"md":_props$size,_props$color=props.color,color=_props$color===void 0?"neutral":_props$color,value=props.value,_props$disabled=props.disabled,disabled=_props$disabled===void 0?false:_props$disabled,onRemove=props.onRemove,onClick=props.onClick,rest=_objectWithoutProperties(props,_excluded);var kindTag=kindMap[kind]||"outlined";var sizeTag=sizeMap[size]||"medium";var colorTag=colorMap[color]||"neutral";var handleButtonClick=function handleButtonClick(e){onClick&&onClick(e)};var clickHandlers={button:handleButtonClick,"default":handleButtonClick};var ButtonKeyupHandler=(0,_useKeyboard["default"])("Enter",handleButtonClick);var keyupHandlers={button:ButtonKeyupHandler,"default":ButtonKeyupHandler};var InnerTagContent=(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[icon?(0,_jsxRuntime.jsx)("span",{className:"tag-icon",children:icon}):null,(0,_jsxRuntime.jsx)("span",{className:"tag-label",children:label||children})]});var eventHandlers={onClick:function onClick(e){if(disabled)return;var handler=clickHandlers["default"];handler(e)},onKeyUp:function onKeyUp(e){if(disabled)return;var handler=keyupHandlers["default"];handler(e)}};var accessibilityProps={"aria-disabled":disabled,"aria-label":label,role:"tag"};var inputClassname=(0,_classnames["default"])("tag",className,kindTag,sizeTag,_defineProperty({},colorTag,true));var removeHandler=function removeHandler(e){e.stopPropagation();if("key"in e){var keyboardEvent=e;if(keyboardEvent.key==="Enter"){onRemove&&onRemove(value)}}else{onRemove&&onRemove(value)}};return(0,_jsxRuntime.jsxs)("span",_objectSpread(_objectSpread(_objectSpread(_objectSpread({className:inputClassname,ref:ref},eventHandlers),accessibilityProps),rest),{},{children:[InnerTagContent,(0,_jsxRuntime.jsx)("button",{type:"button",disabled:disabled,className:"tag-icon tag-close-btn",onClick:removeHandler,children:(0,_jsxRuntime.jsx)(_lucideReact.X,{})})]}))});Tag.displayName="Tag";