{"version":3,"file":"sixbell-telco-sdk-components-tooltip.mjs","sources":["../../../projects/sdk/components/tooltip/tooltip-content/tooltip-content.component.ts","../../../projects/sdk/components/tooltip/tooltip-content/tooltip-content.component.html","../../../projects/sdk/components/tooltip/src/tooltip.component.ts","../../../projects/sdk/components/tooltip/src/tooltip.component.html","../../../projects/sdk/components/tooltip/sixbell-telco-sdk-components-tooltip.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * A container component for custom tooltip content\n *\n * @remarks\n * Designed to be used within `<st-tooltip>` components to provide\n * rich, customized tooltip content. When used, replaces the default\n * text label with any arbitrary content.\n *\n * @example\n * ```html\n * <st-tooltip variant=\"warning\">\n *   <button class=\"btn\">Hover me</button>\n *   <st-tooltip-content>\n *     <div class=\"animate-pulse text-red-500\">\n *       ⚠️ Critical warning!\n *     </div>\n *   </st-tooltip-content>\n * </st-tooltip>\n * ```\n *\n * @example\n * ```html\n * <st-tooltip position=\"right\">\n *   <st-tooltip-content>\n *     <div class=\"flex items-center gap-2\">\n *       <st-icon icon=\"info\"></st-icon>\n *       <span>Custom tooltip layout</span>\n *     </div>\n *   </st-tooltip-content>\n *   <p class=\"cursor-pointer\">Hover for details</p>\n * </st-tooltip>\n * ```\n */\n@Component({\n\tselector: 'st-tooltip-content',\n\timports: [CommonModule],\n\ttemplateUrl: './tooltip-content.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TooltipContentComponent {}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, contentChild, input } from '@angular/core';\nimport { cn } from '@sixbell-telco/sdk/utils/cn';\nimport { cva } from 'class-variance-authority';\nimport { TooltipContentComponent } from '../tooltip-content/tooltip-content.component';\n\n/**\n * @internal\n * Generates base tooltip classes with style variants\n */\nexport const tooltipComponent = cva(['tooltip', 'inline-flex', 'items-center', 'align-top'], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tprimary: ['tooltip-primary'],\n\t\t\tsecondary: ['tooltip-secondary'],\n\t\t\ttertiary: ['tooltip-tertiary'],\n\t\t\tsuccess: ['tooltip-success'],\n\t\t\tneutral: ['tooltip-neutral'],\n\t\t\twarning: ['tooltip-warning'],\n\t\t\terror: ['tooltip-error'],\n\t\t\tinfo: ['tooltip-info'],\n\t\t},\n\t\tposition: {\n\t\t\ttop: ['tooltip-top'],\n\t\t\tbottom: ['tooltip-bottom'],\n\t\t\tright: ['tooltip-right'],\n\t\t\tleft: ['tooltip-left'],\n\t\t},\n\t},\n\tcompoundVariants: [],\n\tdefaultVariants: {\n\t\tvariant: 'primary',\n\t\tposition: 'bottom',\n\t},\n});\n\n/** Possible tooltip color variants */\nexport type TooltipVariantProps = 'primary' | 'secondary' | 'tertiary' | 'success' | 'neutral' | 'warning' | 'error' | 'info' | null | undefined;\n\n/** Possible tooltip position variants */\nexport type TooltipPositionProps = 'top' | 'bottom' | 'right' | 'left' | null | undefined;\n\n/** Configuration object for tooltip styling */\nexport type TooltipProps = {\n\tvariant?: TooltipVariantProps;\n\tposition?: TooltipPositionProps;\n};\n\n/**\n * A customizable tooltip component with multiple variants and content options\n *\n * @remarks\n * Built with Tailwind CSS and class-variance-authority for style management.\n * Supports both simple text labels and custom content tooltips.\n *\n * @example\n * ```html\n * <!-- Simple text tooltip -->\n * <st-tooltip variant=\"primary\" label=\"Information tooltip\">\n *   <button class=\"btn\">Hover me</button>\n * </st-tooltip>\n * ```\n *\n * @example\n * ```html\n * <!-- Custom content tooltip -->\n * <st-tooltip position=\"right\" variant=\"warning\">\n *   <button class=\"btn\">Dangerous action</button>\n *   <st-tooltip-content>\n *     <div class=\"text-red-500 font-bold\">\n *       ⚠️ Proceed with caution!\n *     </div>\n *   </st-tooltip-content>\n * </st-tooltip>\n * ```\n */\n@Component({\n\tselector: 'st-tooltip',\n\timports: [CommonModule],\n\ttemplateUrl: './tooltip.component.html',\n\tstyles: '',\n})\nexport class TooltipComponent {\n\t/**\n\t * Tooltip color variant\n\t * @defaultValue 'primary'\n\t */\n\tvariant = input<TooltipVariantProps>();\n\n\t/**\n\t * Tooltip position relative to target element\n\t * @defaultValue 'bottom'\n\t */\n\tposition = input<TooltipPositionProps>();\n\n\t/**\n\t * Text label for simple tooltip content\n\t */\n\tlabel = input<string>();\n\n\t/**\n\t * @internal\n\t * Reference to custom tooltip content component\n\t */\n\tcustomContent = contentChild(TooltipContentComponent);\n\n\t/**\n\t * @internal\n\t * Computed flag indicating presence of custom content\n\t */\n\thasCustomContent = computed(() => !!this.customContent());\n\n\t/**\n\t * @internal\n\t * Computed class string for the tooltip container\n\t */\n\tcomponentClass = computed(() => {\n\t\treturn cn(\n\t\t\ttooltipComponent({\n\t\t\t\tvariant: this.variant(),\n\t\t\t\tposition: this.position(),\n\t\t\t}),\n\t\t);\n\t});\n}\n","@let labelVar = label();\n@let hasCustomContentVar = hasCustomContent();\n@let componentClassVar = componentClass();\n\n<!-- tooltip.component.html -->\n<div [class]=\"componentClassVar\" [attr.data-tip]=\"hasCustomContentVar ? null : labelVar\">\n\t<ng-content></ng-content>\n\n\t@if (hasCustomContentVar) {\n\t\t<div class=\"tooltip-content\">\n\t\t\t<ng-content select=\"st-tooltip-content\"></ng-content>\n\t\t</div>\n\t}\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}