{"version":3,"file":"lucca-front-ng-tag.mjs","sources":["../../../packages/ng/tag/tag.component.ts","../../../packages/ng/tag/tag.component.html","../../../packages/ng/tag/lucca-front-ng-tag.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { DecorativePalette, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\n\n@Component({\n\tselector: 'lu-tag',\n\ttemplateUrl: './tag.component.html',\n\tstyleUrl: './tag.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent, RouterLink, LuTooltipModule],\n})\nexport class TagComponent {\n\t/**\n\t * Which text should the tag be? Defaults to medium\n\t */\n\treadonly label = input.required<string>();\n\n\t/**\n\t * Which size should the tag be? Defaults to medium\n\t */\n\treadonly size = input<'S' | 'M' | 'L'>('M');\n\n\t/**\n\t * Which palette should be used for the entire tag.\n\t * Defaults to none (inherits parent palette)\n\t */\n\treadonly palette = input<Palette | DecorativePalette>('none');\n\n\t/**\n\t * Should display be outlined?\n\t */\n\treadonly outlined = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * For routerLink usage\n\t */\n\treadonly link = input<string>();\n\n\t/**\n\t * Which icon should we display in the tag if any?\n\t * Defaults to no icon.\n\t */\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\t/**\n\t * Truncates the text with an ellipsis and adds a tooltip when the label is too long\n\t */\n\treadonly withEllipsis = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Applies AI colors\n\t */\n\treadonly AI = input(false, { transform: booleanAttribute });\n\n\treadonly tagClasses = computed(() => {\n\t\tconst size = this.size();\n\t\tconst palette = this.palette();\n\t\treturn {\n\t\t\t[`mod-${size}`]: !!size,\n\t\t\t[`palette-${palette}`]: !this.AI() && !!palette,\n\t\t};\n\t});\n}\n","@if (link()) {\n\t<a [routerLink]=\"link()\" class=\"tag\" [class]=\"tagClasses()\" [class.mod-outlined]=\"!AI() && outlined()\" [class.mod-AI]=\"AI()\">\n\t\t@if (icon()) {\n\t\t\t<lu-icon [icon]=\"icon()\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label() }}</span>\n\t</a>\n} @else {\n\t<span class=\"tag\" [class]=\"tagClasses()\" [class.mod-outlined]=\"!AI() && outlined()\" [class.mod-AI]=\"AI()\">\n\t\t@if (icon()) {\n\t\t\t<lu-icon [icon]=\"icon()\" />\n\t\t}\n\t\t@if (withEllipsis()) {\n\t\t\t<span class=\"tag-content pr-u-ellipsis\" luTooltip luTooltipWhenEllipsis>{{ label() }}</span>\n\t\t} @else {\n\t\t\t<span class=\"tag-content\">{{ label() }}</span>\n\t\t}\n\t</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}