UNPKG

@umbraco-ui/uui-tag

Version:

Tag component from Umbraco UI components library. Comes in one shape, but different looks and sizes

129 lines (123 loc) 3.92 kB
import { defineElement } from '@umbraco-ui/uui-base/lib/registration'; import { css, LitElement, html } from 'lit'; import { property } from 'lit/decorators.js'; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __decorateClass = (decorators, target, key, kind) => { var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result; if (kind && result) __defProp(target, key, result); return result; }; let UUITagElement = class extends LitElement { constructor() { super(...arguments); this.color = "default"; this.look = "primary"; } render() { return html`<slot></slot>`; } }; UUITagElement.styles = [ css` :host { display: inline-block; font-size: var(--uui-tag-font-size, var(--uui-type-small-size,12px)); font-weight: 700; line-height: 1; padding: var( --uui-tag-padding, var(--uui-size-space-1,3px) calc(var(--uui-size-space-1,3px) + 0.5em) ); border-radius: 100px; user-select: none; border-radius: var(--uui-tag-border-radius, var(--uui-size-4,12px)); border: 1px solid var(--uui-tag-border-color, transparent); } slot { display: block; align-content: center; margin: 2px; } :host { --color: var(--uui-color-default,#1b264f); --color-standalone: var(--uui-color-default-standalone,rgb( 28, 35, 59 )); --color-contrast: var(--uui-color-default-contrast,#fff); } :host([color='positive']) { --color: var(--uui-color-positive,#0b8152); --color-standalone: var(--uui-color-positive-standalone,rgb( 10, 115, 73 )); --color-contrast: var(--uui-color-positive-contrast,#fff); } :host([color='warning']) { --color: var(--uui-color-warning,#fbd142); --color-standalone: var(--uui-color-warning-standalone,#a17700); --color-contrast: var(--uui-color-warning-contrast,#000); } :host([color='danger']) { --color: var(--uui-color-danger,#d42054); --color-standalone: var(--uui-color-danger-standalone,rgb( 191, 33, 78 )); --color-contrast: var(--uui-color-danger-contrast,white); } :host([color='invalid']) { --color: var(--uui-color-invalid,#d42054); --color-standalone: var(--uui-color-invalid-standalone,rgb( 191, 33, 78 )); --color-contrast: var(--uui-color-invalid-contrast,white); } :host { background-color: var(--uui-color-surface,#fff); color: var(--color-standalone); border-color: transparent; } :host([look='primary']) { background-color: var(--color); color: var(--color-contrast); border-color: transparent; } :host([look='secondary']) { background-color: var(--uui-color-surface-alt,#f3f3f5); color: var(--color-standalone); border-color: transparent; } :host([look='outline']) { background-color: transparent; color: var(--color-standalone); border-color: var(--color-standalone); } :host([look='placeholder']) { border-style: dashed; background-color: transparent; color: var(--color-standalone); border-color: var(--uui-color-border-standalone,#c2c2c2); } ` ]; __decorateClass([ property({ reflect: true }) ], UUITagElement.prototype, "color", 2); __decorateClass([ property({ reflect: true }) ], UUITagElement.prototype, "look", 2); UUITagElement = __decorateClass([ defineElement("uui-tag") ], UUITagElement); export { UUITagElement };