{"version":3,"file":"sixbell-telco-sdk-components-badge.mjs","sources":["../../../projects/sdk/components/badge/src/badge.component.ts","../../../projects/sdk/components/badge/src/badge.component.html","../../../projects/sdk/components/badge/sixbell-telco-sdk-components-badge.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { IconComponent } from '@sixbell-telco/sdk/components/icon';\nimport { cn } from '@sixbell-telco/sdk/utils/cn';\nimport { cva } from 'class-variance-authority';\n\nexport type Route = {\n\tlabel: string;\n\tpath: string;\n};\n\n/**\n * @internal\n * Generates base badge classes with style variants\n */\nexport const badgeComponent = cva(['badge', 'font-body', 'font-normal', 'inline-flex', 'align-top', 'items-center', 'leading-normal'], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tprimary: ['badge-primary'],\n\t\t\tsecondary: ['badge-secondary'],\n\t\t\ttertiary: ['badge-tertiary'],\n\t\t\taccent: ['badge-accent'],\n\t\t\tsuccess: ['badge-success'],\n\t\t\tinfo: ['badge-info'],\n\t\t\twarning: ['badge-warning'],\n\t\t\terror: ['badge-error'],\n\t\t},\n\t\tsize: {\n\t\t\txs: ['badge-xs'],\n\t\t\tsm: ['badge-sm'],\n\t\t\tmd: ['badge-md'],\n\t\t\tlg: ['badge-lg'],\n\t\t\txl: ['badge-xl'],\n\t\t},\n\t\ticonPosition: {\n\t\t\tleft: [''],\n\t\t\tright: ['flex-row-reverse'],\n\t\t},\n\t},\n\tcompoundVariants: [],\n\tdefaultVariants: {\n\t\tvariant: 'primary',\n\t\tsize: 'md',\n\t\ticonPosition: 'left',\n\t},\n});\n\n/** Possible badge style variants */\nexport type BadgeVariantProps = 'primary' | 'secondary' | 'tertiary' | 'accent' | 'success' | 'info' | 'warning' | 'error' | null | undefined;\n\n/** Possible badge size variants */\nexport type BadgeSizeProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null | undefined;\n\n/** Possible icon positions relative to badge text */\nexport type BadgeIconPositionProps = 'left' | 'right' | null | undefined;\n\n/** Configuration object for badge styling variants */\nexport type BadgeProps = {\n\tvariant?: BadgeVariantProps;\n\tsize?: BadgeSizeProps;\n\ticonPosition?: BadgeIconPositionProps;\n};\n\n/**\n * A customizable badge component with multiple variants and icon support\n *\n * @remarks\n * Built with Tailwind CSS and class-variance-authority for style management.\n * Supports various styling variants, sizes, icon positions, and state modifiers.\n *\n * @example\n * ```html\n * <st-badge\n *   variant=\"primary\"\n *   size=\"md\"\n *   icon=\"info\"\n *   iconPosition=\"left\"\n * >\n *   New Feature\n * </st-badge>\n * ```\n */\n@Component({\n\tselector: 'st-badge',\n\timports: [IconComponent, CommonModule],\n\ttemplateUrl: './badge.component.html',\n\tstyles: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent {\n\t/**\n\t * Badge style variant\n\t * @defaultValue 'primary'\n\t */\n\tvariant = input<BadgeVariantProps>();\n\n\t/**\n\t * Badge size variant\n\t * @defaultValue 'md'\n\t */\n\tsize = input<BadgeSizeProps>();\n\n\t/**\n\t * Outline style (border with transparent fill)\n\t * @defaultValue false\n\t */\n\toutline = input<boolean>(false);\n\n\t/**\n\t * Soft style (muted/subdued color variant)\n\t * @defaultValue false\n\t */\n\tsoft = input<boolean>(false);\n\n\t/**\n\t * Dash style (dashed border)\n\t * @defaultValue false\n\t */\n\tdash = input<boolean>(false);\n\n\t/**\n\t * Ghost style (transparent background)\n\t * @defaultValue false\n\t */\n\tghost = input<boolean>(false);\n\n\t/**\n\t * Icon name (from icon library)\n\t */\n\ticon = input<string | undefined>();\n\n\t/**\n\t * Position of icon relative to text\n\t * @defaultValue 'left'\n\t */\n\ticonPosition = input<BadgeIconPositionProps>();\n\n\t/**\n\t * @internal\n\t * Computed class string for the badge container\n\t */\n\tcomponentClass = computed(() =>\n\t\tcn(\n\t\t\tbadgeComponent({\n\t\t\t\tvariant: this.variant(),\n\t\t\t\tsize: this.size(),\n\t\t\t\ticonPosition: this.iconPosition(),\n\t\t\t}),\n\t\t\t{\n\t\t\t\t'badge-outline': this.outline(),\n\t\t\t\t'badge-soft': this.soft(),\n\t\t\t\t'badge-dash': this.dash(),\n\t\t\t\t'badge-ghost': this.ghost(),\n\t\t\t},\n\t\t),\n\t);\n}\n","@let iconVar = this.icon();\n@let componentClassVar = this.componentClass();\n\n<span [class]=\"componentClassVar\">\n\t@if (iconVar) {\n\t\t<st-icon [icon]=\"iconVar\" color=\"inherit\" size=\"auto\"></st-icon>\n\t}\n\t<ng-content></ng-content>\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}