@synergy-design-system/components
Version:
88 lines (84 loc) • 2.21 kB
JavaScript
import {
tag_custom_styles_default
} from "./chunk.HU237XM2.js";
import {
tag_styles_default
} from "./chunk.X5NFOV5A.js";
import {
SynIconButton
} from "./chunk.5XHXH7QA.js";
import {
enableDefaultSettings
} from "./chunk.WYMKPLYK.js";
import {
LocalizeController
} from "./chunk.ZXMSJF2M.js";
import {
component_styles_default
} from "./chunk.2NT3B5WJ.js";
import {
SynergyElement
} from "./chunk.L2IYPRPF.js";
import {
__decorateClass
} from "./chunk.VK2FVWOF.js";
// src/components/tag/tag.component.ts
import { classMap } from "lit/directives/class-map.js";
import { html } from "lit";
import { property } from "lit/decorators.js";
var SynTag = class extends SynergyElement {
constructor() {
super(...arguments);
this.localize = new LocalizeController(this);
this.size = "medium";
this.removable = false;
}
handleRemoveClick() {
this.emit("syn-remove");
}
render() {
return html`
<span
part="base"
class=${classMap({
tag: true,
// Sizes
"tag--small": this.size === "small",
"tag--medium": this.size === "medium",
"tag--large": this.size === "large",
// Modifiers
"tag--removable": this.removable
})}
>
<slot part="content" class="tag__content"></slot>
${this.removable ? html`
<syn-icon-button
part="remove-button"
exportparts="base:remove-button__base"
name="x-lg"
library="system"
label=${this.localize.term("remove")}
class="tag__remove"
@click=${this.handleRemoveClick}
tabindex="-1"
></syn-icon-button>
` : ""}
</span>
`;
}
};
SynTag.styles = [component_styles_default, tag_styles_default, tag_custom_styles_default];
SynTag.dependencies = { "syn-icon-button": SynIconButton };
__decorateClass([
property({ reflect: true })
], SynTag.prototype, "size", 2);
__decorateClass([
property({ type: Boolean })
], SynTag.prototype, "removable", 2);
SynTag = __decorateClass([
enableDefaultSettings("SynTag")
], SynTag);
export {
SynTag
};
//# sourceMappingURL=chunk.3TG5EZUB.js.map