UNPKG

react-lightning-design-system

Version:

Salesforce Lightning Design System components built with React

74 lines (72 loc) 2.26 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.Pill = void 0; var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _Icon = require("./Icon"); var _Button = require("./Button"); var _hooks = require("./hooks"); /** * */ /** * */ var Pill = exports.Pill = function Pill(props) { var icon = props.icon, disabled = props.disabled, label = props.label, title = props.title, truncate = props.truncate, className = props.className, pillRef = props.pillRef, onClick = props.onClick, onRemove = props.onRemove; var onPillRemove = (0, _hooks.useEventCallback)(function (e) { e.preventDefault(); e.stopPropagation(); onRemove === null || onRemove === void 0 || onRemove(); }); var onKeyDown = (0, _hooks.useEventCallback)(function (e) { if (e.keyCode === 8 || e.keyCode === 46) { // Bacspace / DEL onPillRemove(e); } }); var pillClassNames = (0, _classnames["default"])('slds-pill', { 'slds-pill_link': !disabled }, { 'slds-truncate': truncate }, className); return /*#__PURE__*/_react["default"].createElement("span", { ref: pillRef, className: pillClassNames, onKeyDown: onKeyDown, onClick: onClick }, icon && icon.icon ? /*#__PURE__*/_react["default"].createElement("span", { className: "slds-pill__icon_container" }, /*#__PURE__*/_react["default"].createElement(_Icon.Icon, { category: icon.category, icon: icon.icon })) : undefined, disabled ? /*#__PURE__*/_react["default"].createElement("span", { className: "slds-pill__label", title: title }, label) : /*#__PURE__*/_react["default"].createElement("a", { className: "slds-pill__action", title: title }, /*#__PURE__*/_react["default"].createElement("span", { className: "slds-pill__label" }, label)), /*#__PURE__*/_react["default"].createElement(_Button.Button, { disabled: disabled, className: "slds-pill__remove", type: "icon", icon: "close", alt: "Remove", tabIndex: -1, onClick: onPillRemove })); }; //# sourceMappingURL=Pill.js.map