{"version":3,"file":"carbon-components-angular-ai-label.mjs","sources":["../../src/ai-label/ai-label-actions.directive.ts","../../src/ai-label/ai-label-content.directive.ts","../../src/ai-label/ai-label-popover.directive.ts","../../src/ai-label/ai-label.component.ts","../../src/ai-label/ai-label.module.ts","../../src/ai-label/carbon-components-angular-ai-label.ts"],"sourcesContent":["import { Directive, HostBinding } from \"@angular/core\";\r\n\r\n/**\r\n * Host for actions inside a `<cds-ai-label>` popover. Applies `cds--toggletip-actions`\r\n * and `cds--ai-label-actions`.\r\n *\r\n * ```html\r\n * <cds-ai-label>\r\n *   <div cdsAILabelContent>\r\n *     <p>Explanation text</p>\r\n *     <div cdsAILabelActions>\r\n *       <button cdsButton=\"ghost\" size=\"sm\">View details</button>\r\n *     </div>\r\n *   </div>\r\n * </cds-ai-label>\r\n * ```\r\n */\r\n@Directive({\r\n\tselector: \"[cdsAILabelActions], [ibmAILabelActions]\"\r\n})\r\nexport class AILabelActions {\r\n\t@HostBinding(\"class.cds--toggletip-actions\") toggletipActions = true;\r\n\t@HostBinding(\"class.cds--ai-label-actions\") aiLabelActions = true;\r\n}\r\n","import { Directive } from \"@angular/core\";\r\n\r\n/**\r\n * Optional marker for the main body region inside `<cds-ai-label>`. Implementing this for semantics only.\r\n * The structure also matches that of toggletip, in future we may need this.\r\n *\r\n * ```html\r\n * <cds-ai-label size=\"md\">\r\n *   <div cdsAILabelContent>\r\n *     <p>AI Explained</p>\r\n *   </div>\r\n *   <div cdsAILabelActions>\r\n *     <button cdsButton=\"ghost\" size=\"sm\">View details</button>\r\n *   </div>\r\n * </cds-ai-label>\r\n * ```\r\n */\r\n@Directive({\r\n\tselector: \"[cdsAILabelContent], [ibmAILabelContent]\"\r\n})\r\nexport class AILabelContent {}\r\n","import {\r\n\tChangeDetectorRef,\r\n\tDirective,\r\n\tElementRef,\r\n\tNgZone,\r\n\tOnChanges,\r\n\tRenderer2,\r\n\tSimpleChanges\r\n} from \"@angular/core\";\r\n\r\nimport { PopoverContainer } from \"carbon-components-angular/popover\";\r\n\r\n/**\r\n * Popover/toggletip behavior for `cds-ai-label`, applied to an inner wrapper so\r\n * `cds--popover-*` classes are not merged onto the `cds--ai-label` host.\r\n */\r\n@Directive({\r\n\tselector: \"[cdsAILabelPopover]\"\r\n})\r\nexport class AILabelPopoverDirective extends PopoverContainer implements OnChanges {\r\n\tconstructor(\r\n\t\tprotected elementRef: ElementRef,\r\n\t\tprotected ngZone: NgZone,\r\n\t\tprotected renderer: Renderer2,\r\n\t\tprotected changeDetectorRef: ChangeDetectorRef\r\n\t) {\r\n\t\tsuper(elementRef, ngZone, renderer, changeDetectorRef);\r\n\t\tthis.highContrast = true;\r\n\t\tthis.dropShadow = false;\r\n\t}\r\n\r\n\toverride initializeReferences(): void {\r\n\t\tthis.updateAlignmentClass(this._align);\r\n\t\tthis.bindPopoverRefs();\r\n\t\tthis.handleChange(this.isOpen);\r\n\t}\r\n\r\n\toverride ngOnChanges(changes: SimpleChanges): void {\r\n\t\tconst originalState = this.isOpen;\r\n\t\tthis.handleChange(false);\r\n\r\n\t\tif (changes.autoAlign && !changes.autoAlign.firstChange) {\r\n\t\t\tthis.popoverContentRef?.setAttribute(\"style\", \"\");\r\n\t\t\tthis.bindPopoverRefs();\r\n\t\t}\r\n\r\n\t\tthis.handleChange(originalState);\r\n\t}\r\n\r\n\tprivate bindPopoverRefs(): void {\r\n\t\tconst host = this.elementRef.nativeElement;\r\n\t\tconst panel = host.querySelector(\":scope > span.cds--popover\");\r\n\t\tif (!panel) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.popoverContentRef = panel.querySelector(\":scope > span.cds--popover-content\");\r\n\t\tthis.caretRef = this.resolveCaretRef(panel);\r\n\t}\r\n\r\n\tprivate resolveCaretRef(panel: HTMLElement): HTMLElement | null {\r\n\t\tif (this.autoAlign) {\r\n\t\t\treturn panel.querySelector(\r\n\t\t\t\t\"span.cds--popover-content > span.cds--popover-caret.cds--popover--auto-align\"\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn panel.querySelector(\":scope > span.cds--popover-caret\");\r\n\t}\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tChangeDetectionStrategy,\r\n\tComponent,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tHostBinding,\r\n\tHostListener,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild\r\n} from \"@angular/core\";\r\nimport { Placement } from \"@floating-ui/dom\";\r\n\r\nimport { AILabelPopoverDirective } from \"./ai-label-popover.directive\";\r\n\r\n/**\r\n * @deprecated alignments — use `Placement` names\r\n */\r\ntype DeprecatedAILabelAlign =\r\n\t| \"top-left\"\r\n\t| \"top-right\"\r\n\t| \"bottom-left\"\r\n\t| \"bottom-right\"\r\n\t| \"left-bottom\"\r\n\t| \"left-top\"\r\n\t| \"right-bottom\"\r\n\t| \"right-top\";\r\n\r\n/**\r\n * AI-branded toggletip control (`cds-ai-label`). Renders an \"AI\" badge that opens a\r\n * popover; projected content and optional actions use `ng-content`.\r\n *\r\n * Get started with importing the module:\r\n *\r\n * ```typescript\r\n * import { AILabelModule } from 'carbon-components-angular';\r\n * ```\r\n *\r\n * ```html\r\n * <cds-ai-label size=\"md\">\r\n *   <div>\r\n *     <p>AI Explained</p>\r\n *     <h2>84%</h2>\r\n *     <p>Confidence score</p>\r\n *   </div>\r\n *   <div cdsAILabelActions>\r\n *     <button cdsButton=\"ghost\" size=\"sm\">View details</button>\r\n *   </div>\r\n * </cds-ai-label>\r\n * ```\r\n *\r\n * `[cdsAILabelActions]` adds `cds--toggletip-actions` and `cds--ai-label-actions`\r\n * to its host. Place it as a **sibling** of the body content, both direct\r\n * children of `<cds-ai-label>`. `[cdsAILabelContent]` is an optional marker; the\r\n * `cds--ai-label-content` / `cds--toggletip-content` classes come from this\r\n * component’s template.\r\n *\r\n * [See demo](../../?path=/story/components-ai-label--default)\r\n */\r\n@Component({\r\n\tselector: \"cds-ai-label, ibm-ai-label\",\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\ttemplate: `\r\n\t\t<ng-container *ngIf=\"!revertActive\">\r\n\t\t\t<span\r\n\t\t\t\t#aiLabelPopoverHost\r\n\t\t\t\tcdsAILabelPopover\r\n\t\t\t\tclass=\"cds--toggletip\"\r\n\t\t\t\t[isOpen]=\"isOpen\"\r\n\t\t\t\t(isOpenChange)=\"onPopoverIsOpenChange($event)\"\r\n\t\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t\t(onClose)=\"onClose.emit($event)\"\r\n\t\t\t\t[align]=\"align\"\r\n\t\t\t\t[caret]=\"caret\"\r\n\t\t\t\t[dropShadow]=\"dropShadow\"\r\n\t\t\t\t[highContrast]=\"highContrast\"\r\n\t\t\t\t[autoAlign]=\"autoAlign\"\r\n\t\t\t\t[alignmentAxisOffset]=\"alignmentAxisOffset\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t[attr.aria-label]=\"computedAriaLabel\"\r\n\t\t\t\t\t[attr.aria-expanded]=\"isOpen\"\r\n\t\t\t\t\t[attr.aria-controls]=\"id\"\r\n\t\t\t\t\t[ngClass]=\"triggerClasses\"\r\n\t\t\t\t\t(click)=\"onTriggerClick($event)\">\r\n\t\t\t\t\t<span class=\"cds--ai-label__text\">{{aiText}}</span>\r\n\t\t\t\t\t<span *ngIf=\"kind === 'inline' && textLabel\" class=\"cds--ai-label__additional-text\">{{textLabel}}</span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<span\r\n\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\tclass=\"cds--popover\"\r\n\t\t\t\t\taria-live=\"polite\">\r\n\t\t\t\t\t<span class=\"cds--popover-content cds--ai-label-content\">\r\n\t\t\t\t\t\t<div class=\"cds--toggletip-content\">\r\n\t\t\t\t\t\t\t<ng-content></ng-content>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<span *ngIf=\"autoAlign\" class=\"cds--popover-caret cds--popover--auto-align\"></span>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span *ngIf=\"!autoAlign\" class=\"cds--popover-caret\"></span>\r\n\t\t\t\t</span>\r\n\t\t\t</span>\r\n\t\t</ng-container>\r\n\r\n\t\t<cds-icon-button\r\n\t\t\t*ngIf=\"revertActive\"\r\n\t\t\tkind=\"ghost\"\r\n\t\t\tsize=\"sm\"\r\n\t\t\t[description]=\"revertLabel\"\r\n\t\t\t[autoAlign]=\"autoAlign\"\r\n\t\t\t[buttonAttributes]=\"{ 'aria-label': revertLabel }\"\r\n\t\t\t(click)=\"onRevertButtonClick($event)\">\r\n\t\t\t<svg cdsIcon=\"undo\" size=\"16\"></svg>\r\n\t\t</cds-icon-button>\r\n\t`\r\n})\r\nexport class AILabelComponent implements AfterViewInit, OnChanges, OnDestroy {\r\n\tstatic labelCounter = 0;\r\n\r\n\t@HostBinding(\"class.cds--ai-label\") aiLabelClass = true;\r\n\t@HostBinding(\"class.cds--ai-label--revert\") get revertClass() {\r\n\t\treturn this.revertActive;\r\n\t}\r\n\r\n\t/**\r\n\t * Set alignment of popover. Deprecated Carbon alignments are mapped to\r\n\t * floating-ui placements.\r\n\t */\r\n\t@Input() align: DeprecatedAILabelAlign | Placement;\r\n\r\n\t/**\r\n\t * Show caret at the alignment position.\r\n\t */\r\n\t@Input() caret = true;\r\n\r\n\t/**\r\n\t * Enable drop shadow around the popover container.\r\n\t */\r\n\t@Input() dropShadow = false;\r\n\r\n\t/**\r\n\t * Enable high contrast for popover container.\r\n\t */\r\n\t@Input() highContrast = true;\r\n\r\n\t/**\r\n\t * **Experimental**: Use floating-ui to position the tooltip.\r\n\t */\r\n\t@Input() autoAlign = false;\r\n\r\n\t/**\r\n\t * Whether the callout is open.\r\n\t */\r\n\t@Input() isOpen = false;\r\n\r\n\t/**\r\n\t * Emits when the callout is closed.\r\n\t */\r\n\t@Output() onClose = new EventEmitter<Event>();\r\n\r\n\t/**\r\n\t * Emits when the callout is opened.\r\n\t */\r\n\t@Output() onOpen = new EventEmitter<Event>();\r\n\r\n\t/**\r\n\t * Emits when `isOpen` changes (two-way binding).\r\n\t */\r\n\t@Output() isOpenChange = new EventEmitter<boolean>();\r\n\r\n\t/**\r\n\t * Unique id used to associate the trigger button with the popover panel\r\n\t * via `aria-controls` / `id`.\r\n\t */\r\n\t@Input() id = `ai-label-${AILabelComponent.labelCounter++}`;\r\n\r\n\t/**\r\n\t * Text inside the AI badge.\r\n\t */\r\n\t@Input() aiText = \"AI\";\r\n\r\n\t/**\r\n\t * Extra text beside the badge when `kind` is `\"inline\"`.\r\n\t */\r\n\t@Input() textLabel: string;\r\n\r\n\t/**\r\n\t * Set badge shape: `\"default\"` (circular) or `\"inline\"` (pill, optional `textLabel`).\r\n\t */\r\n\t@Input() kind: \"default\" | \"inline\" = \"default\";\r\n\r\n\t/**\r\n\t * Set badge size\r\n\t */\r\n\t@Input() size: \"mini\" | \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" = \"xs\";\r\n\r\n\t/**\r\n\t * Horizontal shift along the alignment axis when `autoAlign` is on, matching\r\n\t * React `AILabel` (`alignmentAxisOffset={isSmallIcon ? -24 : 0}` on `Toggletip`).\r\n\t */\r\n\tget alignmentAxisOffset(): number {\r\n\t\treturn [\"mini\", \"2xs\", \"xs\"].includes(this.size) ? -24 : 0;\r\n\t}\r\n\r\n\t/**\r\n\t * When `true`, shows the revert icon instead of the badge (AI-generated value\r\n\t * is active and can be reverted).\r\n\t */\r\n\t@Input() revertActive = false;\r\n\r\n\t/**\r\n\t * Accessible label / tooltip for the revert icon button.\r\n\t */\r\n\t@Input() revertLabel = \"Revert to AI input\";\r\n\r\n\t/**\r\n\t * `aria-label` for the AI badge trigger (combined with `aiText` in `computedAriaLabel`).\r\n\t */\r\n\t@Input() ariaLabel = \"Show information\";\r\n\r\n\t/**\r\n\t * Emitted when the revert icon is clicked.\r\n\t */\r\n\t@Output() revertClick = new EventEmitter<MouseEvent>();\r\n\r\n\t@ViewChild(\"aiLabelPopoverHost\", { read: AILabelPopoverDirective })\r\n\tprivate aiLabelPopover: AILabelPopoverDirective;\r\n\r\n\tprivate readonly documentClick = this.handleOutsideClick.bind(this);\r\n\r\n\tconstructor(private elementRef: ElementRef) {}\r\n\r\n\tonPopoverIsOpenChange(open: boolean): void {\r\n\t\tthis.isOpen = open;\r\n\t\tthis.isOpenChange.emit(open);\r\n\t}\r\n\r\n\tget triggerClasses(): Record<string, boolean> {\r\n\t\treturn {\r\n\t\t\t\"cds--toggletip-button\": true,\r\n\t\t\t\"cds--ai-label__button\": true,\r\n\t\t\t[`cds--ai-label__button--${this.size}`]: true,\r\n\t\t\t[`cds--ai-label__button--${this.kind}`]: true,\r\n\t\t\t\"cds--ai-label__button--inline-with-content\": this.kind === \"inline\" && !!this.textLabel\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Trigger `aria-label`: `\"${aiText} ${ariaLabel}\"`, or\r\n\t * `\"${aiText} ${textLabel}\"` when `kind` is `\"inline\"` and `textLabel` is set.\r\n\t */\r\n\tget computedAriaLabel(): string {\r\n\t\tconst suffix = (this.kind === \"inline\" && this.textLabel) ? this.textLabel : this.ariaLabel;\r\n\t\treturn `${this.aiText} ${suffix}`;\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tif (this.isOpen) {\r\n\t\t\tdocument.addEventListener(\"click\", this.documentClick);\r\n\t\t}\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes.revertActive && !changes.revertActive.firstChange && changes.revertActive.currentValue) {\r\n\t\t\tthis.isOpen = false;\r\n\t\t\tdocument.removeEventListener(\"click\", this.documentClick);\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tdocument.removeEventListener(\"click\", this.documentClick);\r\n\t}\r\n\r\n\tonTriggerClick(event: MouseEvent): void {\r\n\t\tconst opening = !this.isOpen;\r\n\t\tif (opening) {\r\n\t\t\tdocument.addEventListener(\"click\", this.documentClick);\r\n\t\t} else {\r\n\t\t\tdocument.removeEventListener(\"click\", this.documentClick);\r\n\t\t}\r\n\t\tthis.aiLabelPopover?.handleChange(opening, event);\r\n\t}\r\n\r\n\tonRevertButtonClick(event: MouseEvent): void {\r\n\t\tthis.revertClick.emit(event);\r\n\t}\r\n\r\n\t@HostListener(\"keyup\", [\"$event\"])\r\n\thostkeys(event: KeyboardEvent): void {\r\n\t\tif (this.isOpen && event.key === \"Escape\") {\r\n\t\t\tevent.stopPropagation();\r\n\t\t\tdocument.removeEventListener(\"click\", this.documentClick);\r\n\t\t\tthis.aiLabelPopover?.handleChange(false, event);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Dismisses the popover when a click lands outside the host element.\r\n\t */\r\n\tprivate handleOutsideClick(event: MouseEvent): void {\r\n\t\tif (!this.elementRef.nativeElement.contains(event.target as Node)) {\r\n\t\t\tthis.aiLabelPopover?.handleChange(false, event);\r\n\t\t\tdocument.removeEventListener(\"click\", this.documentClick);\r\n\t\t}\r\n\t}\r\n}\r\n","/**\r\n * Copyright IBM Corp. 2024, 2026\r\n *\r\n * This source code is licensed under the Apache-2.0 license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { ButtonModule } from \"carbon-components-angular/button\";\r\nimport { IconModule } from \"carbon-components-angular/icon\";\r\nimport { PopoverModule } from \"carbon-components-angular/popover\";\r\n\r\nimport { AILabelComponent } from \"./ai-label.component\";\r\nimport { AILabelPopoverDirective } from \"./ai-label-popover.directive\";\r\nimport { AILabelContent } from \"./ai-label-content.directive\";\r\nimport { AILabelActions } from \"./ai-label-actions.directive\";\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tAILabelComponent,\r\n\t\tAILabelPopoverDirective,\r\n\t\tAILabelContent,\r\n\t\tAILabelActions\r\n\t],\r\n\texports: [\r\n\t\tAILabelComponent,\r\n\t\tAILabelContent,\r\n\t\tAILabelActions\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tButtonModule,\r\n\t\tIconModule,\r\n\t\tPopoverModule\r\n\t]\r\n})\r\nexport class AILabelModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.AILabelPopoverDirective"],"mappings":"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"}