@testgorilla/tgo-ui 11.9.0 → 11.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -0
- package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs +8 -2
- package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs +4 -3
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +5 -2
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs +10 -4
- package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-button.mjs +5 -2
- package/fesm2022/testgorilla-tgo-ui-components-button.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-card.mjs +5 -2
- package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +26 -3
- package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs +8 -3
- package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs +12 -3
- package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-device-control.mjs +7 -4
- package/fesm2022/testgorilla-tgo-ui-components-device-control.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs +13 -4
- package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +8 -2
- package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-field.mjs +6 -3
- package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs +9 -3
- package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +14 -2
- package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-infinite-scroll-table.mjs +17 -3
- package/fesm2022/testgorilla-tgo-ui-components-infinite-scroll-table.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +7 -4
- package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs +7 -4
- package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs +2 -2
- package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs +9 -2
- package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs +5 -2
- package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +8 -2
- package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs +13 -3
- package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-popover.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-popover.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-popup-tip.mjs +4 -3
- package/fesm2022/testgorilla-tgo-ui-components-popup-tip.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +21 -1
- package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +8 -2
- package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +11 -2
- package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +5 -2
- package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +15 -3
- package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs +11 -3
- package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs +7 -4
- package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs +5 -2
- package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs +11 -2
- package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +18 -3
- package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs +8 -2
- package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs +11 -2
- package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-table.mjs +8 -2
- package/fesm2022/testgorilla-tgo-ui-components-table.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs +4 -3
- package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +5 -3
- package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +10 -3
- package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs.map +1 -1
- package/mcp/catalog.json +1 -1
- package/package.json +1 -1
- package/types/testgorilla-tgo-ui-components-alert-banner.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-autocomplete-v2.d.ts +2 -1
- package/types/testgorilla-tgo-ui-components-autocomplete.d.ts +2 -1
- package/types/testgorilla-tgo-ui-components-breadcrumb.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-button.d.ts +2 -1
- package/types/testgorilla-tgo-ui-components-card.d.ts +2 -1
- package/types/testgorilla-tgo-ui-components-checkbox.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-checklist.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-datepicker.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-device-control.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-dialog.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-dropdown.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-field.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-file-upload.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-filter-button.d.ts +5 -1
- package/types/testgorilla-tgo-ui-components-infinite-scroll-table.d.ts +6 -1
- package/types/testgorilla-tgo-ui-components-inline-field.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-multi-input.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-overflow-menu.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-page-header.d.ts +2 -1
- package/types/testgorilla-tgo-ui-components-paginator.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-phone-input.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-popup-tip.d.ts +2 -1
- package/types/testgorilla-tgo-ui-components-radio-button.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-rating.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-scale.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-segmented-bar.d.ts +2 -1
- package/types/testgorilla-tgo-ui-components-segmented-button.d.ts +6 -1
- package/types/testgorilla-tgo-ui-components-segmented-toggle.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-selectable-card.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-side-panel.d.ts +3 -0
- package/types/testgorilla-tgo-ui-components-side-sheet.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-slider.d.ts +6 -1
- package/types/testgorilla-tgo-ui-components-snackbar.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-stepper.d.ts +4 -1
- package/types/testgorilla-tgo-ui-components-table.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-tabs.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-tag.d.ts +3 -1
- package/types/testgorilla-tgo-ui-components-toggle.d.ts +5 -1
|
@@ -14,7 +14,7 @@ class PopoverComponent {
|
|
|
14
14
|
this.popoverCardSize = input('medium', ...(ngDevMode ? [{ debugName: "popoverCardSize" }] : /* istanbul ignore next */ []));
|
|
15
15
|
}
|
|
16
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: PopoverComponent, isStandalone: true, selector: "ui-popover", inputs: { templateRef: { classPropertyName: "templateRef", publicName: "templateRef", isSignal: true, isRequired: false, transformFunction: null }, ctx: { classPropertyName: "ctx", publicName: "ctx", isSignal: true, isRequired: false, transformFunction: null }, popoverCard: { classPropertyName: "popoverCard", publicName: "popoverCard", isSignal: true, isRequired: false, transformFunction: null }, popoverCardSize: { classPropertyName: "popoverCardSize", publicName: "popoverCardSize", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (templateRef()) {\n @if (popoverCard()) {\n <ui-card [size]=\"popoverCardSize()\">\n <ng-container *ngTemplateOutlet=\"templateRef(); context: ctx()\"></ng-container>\n </ui-card>\n } @else {\n <ng-container *ngTemplateOutlet=\"templateRef(); context: ctx()\"></ng-container>\n }\n}\n", styles: [":host{display:block;pointer-events:auto;animation:popover-enter .15s ease-out}@keyframes popover-enter{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: CardComponentModule }, { kind: "component", type: i1.CardComponent, selector: "ui-card", inputs: ["size", "sizeVariant", "variant", "applicationTheme", "errors", "errorsSize", "selected", "allowSelect", "allowFocus"], outputs: ["cardSelected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: PopoverComponent, isStandalone: true, selector: "ui-popover", inputs: { templateRef: { classPropertyName: "templateRef", publicName: "templateRef", isSignal: true, isRequired: false, transformFunction: null }, ctx: { classPropertyName: "ctx", publicName: "ctx", isSignal: true, isRequired: false, transformFunction: null }, popoverCard: { classPropertyName: "popoverCard", publicName: "popoverCard", isSignal: true, isRequired: false, transformFunction: null }, popoverCardSize: { classPropertyName: "popoverCardSize", publicName: "popoverCardSize", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (templateRef()) {\n @if (popoverCard()) {\n <ui-card [size]=\"popoverCardSize()\">\n <ng-container *ngTemplateOutlet=\"templateRef(); context: ctx()\"></ng-container>\n </ui-card>\n } @else {\n <ng-container *ngTemplateOutlet=\"templateRef(); context: ctx()\"></ng-container>\n }\n}\n", styles: [":host{display:block;pointer-events:auto;animation:popover-enter .15s ease-out}@keyframes popover-enter{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: CardComponentModule }, { kind: "component", type: i1.CardComponent, selector: "ui-card", inputs: ["size", "sizeVariant", "variant", "applicationTheme", "errors", "errorsSize", "selected", "allowSelect", "allowFocus", "testId"], outputs: ["cardSelected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: PopoverComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testgorilla-tgo-ui-components-popover.mjs","sources":["../../../components/popover/popover.component.ts","../../../components/popover/popover.component.html","../../../components/popover/popover.directive.ts","../../../components/popover/public-api.ts","../../../components/popover/testgorilla-tgo-ui-components-popover.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\n\nimport { CardComponentModule, CardSize } from '@testgorilla/tgo-ui/components/card';\n\n@Component({\n selector: 'ui-popover',\n standalone: true,\n imports: [NgTemplateOutlet, CardComponentModule],\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PopoverComponent {\n templateRef = input<TemplateRef<unknown> | null>(null);\n ctx = input<Record<string, unknown>>({});\n popoverCard = input(true);\n popoverCardSize = input<CardSize>('medium');\n}\n","@if (templateRef()) {\n @if (popoverCard()) {\n <ui-card [size]=\"popoverCardSize()\">\n <ng-container *ngTemplateOutlet=\"templateRef(); context: ctx()\"></ng-container>\n </ui-card>\n } @else {\n <ng-container *ngTemplateOutlet=\"templateRef(); context: ctx()\"></ng-container>\n }\n}\n","import { HorizontalConnectionPos, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n HostListener,\n inject,\n Injector,\n input,\n NgZone,\n OnDestroy,\n OnInit,\n TemplateRef,\n} from '@angular/core';\n\nimport { CardSize } from '@testgorilla/tgo-ui/components/card';\n\nimport { PopoverComponent } from './popover.component';\n\n@Directive({\n selector: '[uiPopover]',\n standalone: true,\n})\nexport class PopoverDirective implements OnInit, OnDestroy {\n uiPopover = input.required<TemplateRef<unknown>>();\n popoverOffset = input(4);\n popoverAlign = input<HorizontalConnectionPos>('center');\n popoverOpen = input(false);\n popoverCard = input(true);\n popoverCardSize = input<CardSize>('medium');\n uiPopoverDisabled = input(false);\n\n private readonly overlay = inject(Overlay);\n private readonly elementRef = inject(ElementRef);\n private readonly injector = inject(Injector);\n private readonly ngZone = inject(NgZone);\n\n private overlayRef: OverlayRef | null = null;\n private openTimeout: ReturnType<typeof setTimeout> | null = null;\n private closeTimeout: ReturnType<typeof setTimeout> | null = null;\n private overlayListeners: { enter: () => void; leave: () => void } | null = null;\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n if (this.uiPopoverDisabled()) {\n return;\n }\n this.cancelClose();\n this.scheduleOpen();\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n this.cancelOpen();\n this.scheduleClose();\n }\n\n private open(): void {\n if (!this.overlayRef) {\n this.createOverlay();\n }\n\n const overlayRef = this.overlayRef;\n if (!overlayRef || overlayRef.hasAttached()) {\n return;\n }\n\n const portal = new ComponentPortal(PopoverComponent, null, this.injector);\n const ref = overlayRef.attach(portal);\n ref.setInput('templateRef', this.uiPopover());\n ref.setInput('ctx', { close: () => this.close() });\n ref.setInput('popoverCard', this.popoverCard());\n ref.setInput('popoverCardSize', this.popoverCardSize());\n\n const el = overlayRef.overlayElement;\n const enter = (): void => this.ngZone.run(() => this.cancelClose());\n const leave = (): void => this.ngZone.run(() => this.scheduleClose());\n el.addEventListener('mouseenter', enter);\n el.addEventListener('mouseleave', leave);\n this.overlayListeners = { enter, leave };\n }\n\n private createOverlay(): void {\n const align = this.popoverAlign();\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions([\n { originX: align, originY: 'bottom', overlayX: align, overlayY: 'top', offsetY: this.popoverOffset() },\n { originX: align, originY: 'top', overlayX: align, overlayY: 'bottom', offsetY: -this.popoverOffset() },\n ]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false,\n });\n }\n\n private scheduleOpen(): void {\n this.openTimeout = setTimeout(() => this.open(), 100);\n }\n\n private cancelOpen(): void {\n if (this.openTimeout) {\n clearTimeout(this.openTimeout);\n this.openTimeout = null;\n }\n }\n\n private scheduleClose(): void {\n this.closeTimeout = setTimeout(() => this.close(), 150);\n }\n\n private cancelClose(): void {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n this.closeTimeout = null;\n }\n }\n\n private close(): void {\n if (!this.overlayRef) {\n return;\n }\n\n if (this.overlayListeners) {\n const el = this.overlayRef.overlayElement;\n el.removeEventListener('mouseenter', this.overlayListeners.enter);\n el.removeEventListener('mouseleave', this.overlayListeners.leave);\n this.overlayListeners = null;\n }\n\n this.overlayRef.detach();\n }\n\n ngOnInit(): void {\n if (this.popoverOpen() && !this.uiPopoverDisabled()) {\n this.open();\n }\n }\n\n ngOnDestroy(): void {\n this.cancelOpen();\n this.cancelClose();\n this.close();\n this.overlayRef?.dispose();\n }\n}\n","export * from './popover.directive';\n// PopoverComponent is internal — not part of the public API\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testgorilla-tgo-ui-components-popover.mjs","sources":["../../../components/popover/popover.component.ts","../../../components/popover/popover.component.html","../../../components/popover/popover.directive.ts","../../../components/popover/public-api.ts","../../../components/popover/testgorilla-tgo-ui-components-popover.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\n\nimport { CardComponentModule, CardSize } from '@testgorilla/tgo-ui/components/card';\n\n@Component({\n selector: 'ui-popover',\n standalone: true,\n imports: [NgTemplateOutlet, CardComponentModule],\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PopoverComponent {\n templateRef = input<TemplateRef<unknown> | null>(null);\n ctx = input<Record<string, unknown>>({});\n popoverCard = input(true);\n popoverCardSize = input<CardSize>('medium');\n}\n","@if (templateRef()) {\n @if (popoverCard()) {\n <ui-card [size]=\"popoverCardSize()\">\n <ng-container *ngTemplateOutlet=\"templateRef(); context: ctx()\"></ng-container>\n </ui-card>\n } @else {\n <ng-container *ngTemplateOutlet=\"templateRef(); context: ctx()\"></ng-container>\n }\n}\n","import { HorizontalConnectionPos, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n HostListener,\n inject,\n Injector,\n input,\n NgZone,\n OnDestroy,\n OnInit,\n TemplateRef,\n} from '@angular/core';\n\nimport { CardSize } from '@testgorilla/tgo-ui/components/card';\n\nimport { PopoverComponent } from './popover.component';\n\n@Directive({\n selector: '[uiPopover]',\n standalone: true,\n})\nexport class PopoverDirective implements OnInit, OnDestroy {\n uiPopover = input.required<TemplateRef<unknown>>();\n popoverOffset = input(4);\n popoverAlign = input<HorizontalConnectionPos>('center');\n popoverOpen = input(false);\n popoverCard = input(true);\n popoverCardSize = input<CardSize>('medium');\n uiPopoverDisabled = input(false);\n\n private readonly overlay = inject(Overlay);\n private readonly elementRef = inject(ElementRef);\n private readonly injector = inject(Injector);\n private readonly ngZone = inject(NgZone);\n\n private overlayRef: OverlayRef | null = null;\n private openTimeout: ReturnType<typeof setTimeout> | null = null;\n private closeTimeout: ReturnType<typeof setTimeout> | null = null;\n private overlayListeners: { enter: () => void; leave: () => void } | null = null;\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n if (this.uiPopoverDisabled()) {\n return;\n }\n this.cancelClose();\n this.scheduleOpen();\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n this.cancelOpen();\n this.scheduleClose();\n }\n\n private open(): void {\n if (!this.overlayRef) {\n this.createOverlay();\n }\n\n const overlayRef = this.overlayRef;\n if (!overlayRef || overlayRef.hasAttached()) {\n return;\n }\n\n const portal = new ComponentPortal(PopoverComponent, null, this.injector);\n const ref = overlayRef.attach(portal);\n ref.setInput('templateRef', this.uiPopover());\n ref.setInput('ctx', { close: () => this.close() });\n ref.setInput('popoverCard', this.popoverCard());\n ref.setInput('popoverCardSize', this.popoverCardSize());\n\n const el = overlayRef.overlayElement;\n const enter = (): void => this.ngZone.run(() => this.cancelClose());\n const leave = (): void => this.ngZone.run(() => this.scheduleClose());\n el.addEventListener('mouseenter', enter);\n el.addEventListener('mouseleave', leave);\n this.overlayListeners = { enter, leave };\n }\n\n private createOverlay(): void {\n const align = this.popoverAlign();\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions([\n { originX: align, originY: 'bottom', overlayX: align, overlayY: 'top', offsetY: this.popoverOffset() },\n { originX: align, originY: 'top', overlayX: align, overlayY: 'bottom', offsetY: -this.popoverOffset() },\n ]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false,\n });\n }\n\n private scheduleOpen(): void {\n this.openTimeout = setTimeout(() => this.open(), 100);\n }\n\n private cancelOpen(): void {\n if (this.openTimeout) {\n clearTimeout(this.openTimeout);\n this.openTimeout = null;\n }\n }\n\n private scheduleClose(): void {\n this.closeTimeout = setTimeout(() => this.close(), 150);\n }\n\n private cancelClose(): void {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n this.closeTimeout = null;\n }\n }\n\n private close(): void {\n if (!this.overlayRef) {\n return;\n }\n\n if (this.overlayListeners) {\n const el = this.overlayRef.overlayElement;\n el.removeEventListener('mouseenter', this.overlayListeners.enter);\n el.removeEventListener('mouseleave', this.overlayListeners.leave);\n this.overlayListeners = null;\n }\n\n this.overlayRef.detach();\n }\n\n ngOnInit(): void {\n if (this.popoverOpen() && !this.uiPopoverDisabled()) {\n this.open();\n }\n }\n\n ngOnDestroy(): void {\n this.cancelOpen();\n this.cancelClose();\n this.close();\n this.overlayRef?.dispose();\n }\n}\n","export * from './popover.directive';\n// PopoverComponent is internal — not part of the public API\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ class PopupTipComponent {
|
|
|
15
15
|
this.linkUrl = input('', ...(ngDevMode ? [{ debugName: "linkUrl" }] : /* istanbul ignore next */ []));
|
|
16
16
|
/** Side of the anchor the tip sits on, which decides where its arrow is drawn. Default: 'top'. */
|
|
17
17
|
this.position = input('top', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
18
|
+
this.closeButtonTestId = input(null, ...(ngDevMode ? [{ debugName: "closeButtonTestId" }] : /* istanbul ignore next */ []));
|
|
18
19
|
this.includeCloseButton = input(true, { ...(ngDevMode ? { debugName: "includeCloseButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
19
20
|
/**
|
|
20
21
|
* Accessible name of the close button. Pass a localized string: the English default is only a
|
|
@@ -40,7 +41,7 @@ class PopupTipComponent {
|
|
|
40
41
|
this.closed.emit();
|
|
41
42
|
}
|
|
42
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: PopupTipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: PopupTipComponent, isStandalone: true, selector: "ui-popup-tip", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, linkText: { classPropertyName: "linkText", publicName: "linkText", isSignal: true, isRequired: false, transformFunction: null }, linkUrl: { classPropertyName: "linkUrl", publicName: "linkUrl", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, includeCloseButton: { classPropertyName: "includeCloseButton", publicName: "includeCloseButton", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { attributes: { "role": "alert", "aria-live": "assertive", "tabindex": "-1" }, listeners: { "keydown.escape": "close()" }, properties: { "attr.position": "position()", "attr.theme": "theme()" } }, ngImport: i0, template: "<span class=\"ui-popup-tip__message\">\n <ng-content>{{ message() }}</ng-content>\n @if (linkText() && linkUrl()) {\n <!-- Explicit space: Angular strips the whitespace around a control-flow block. -->\n {{ ' ' }}<a class=\"ui-popup-tip__link\" [href]=\"linkUrl()\" target=\"_blank\" rel=\"noopener\">{{ linkText() }}</a>\n }\n</span>\n\n@if (includeCloseButton()) {\n <button\n type=\"button\"\n class=\"ui-popup-tip__close\"\n data-testid=\"popup-tip-close\"\n [attr.aria-label]=\"closeButtonLabel()\"\n (click)=\"close()\"\n >\n <ui-icon size=\"24\" color=\"currentColor\" name=\"Close-in-line\"></ui-icon>\n </button>\n}\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{position:relative;box-sizing:border-box;display:flex;align-items:flex-start;gap:8px;width:248px;max-width:100%;padding:8px;border:1px solid #ffffff;border-radius:4px;background-color:#242424;color:#fff;text-align:left;outline:none}:host([position=top]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;bottom:-5px;left:20px;transform:rotate(135deg)}:host([position=bottom]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;top:-5px;left:20px;transform:rotate(-45deg)}:host([position=left]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;right:-5px;top:20px;transform:rotate(45deg)}:host([position=right]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;left:-5px;top:20px;transform:rotate(-135deg)}:host([theme=light]){border-color:#242424;background-color:#fff;color:#242424}:host([theme=light]):after{border-color:#242424}.ui-popup-tip__message{font-size:12px;font-weight:400;line-height:16px}.ui-popup-tip__link{font:inherit;color:inherit;text-decoration:underline}.ui-popup-tip__close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:none;color:inherit;cursor:pointer}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: PopupTipComponent, isStandalone: true, selector: "ui-popup-tip", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, linkText: { classPropertyName: "linkText", publicName: "linkText", isSignal: true, isRequired: false, transformFunction: null }, linkUrl: { classPropertyName: "linkUrl", publicName: "linkUrl", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, closeButtonTestId: { classPropertyName: "closeButtonTestId", publicName: "closeButtonTestId", isSignal: true, isRequired: false, transformFunction: null }, includeCloseButton: { classPropertyName: "includeCloseButton", publicName: "includeCloseButton", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { attributes: { "role": "alert", "aria-live": "assertive", "tabindex": "-1" }, listeners: { "keydown.escape": "close()" }, properties: { "attr.position": "position()", "attr.theme": "theme()" } }, ngImport: i0, template: "<span class=\"ui-popup-tip__message\">\n <ng-content>{{ message() }}</ng-content>\n @if (linkText() && linkUrl()) {\n <!-- Explicit space: Angular strips the whitespace around a control-flow block. -->\n {{ ' ' }}<a class=\"ui-popup-tip__link\" [href]=\"linkUrl()\" target=\"_blank\" rel=\"noopener\">{{ linkText() }}</a>\n }\n</span>\n\n@if (includeCloseButton()) {\n <button\n type=\"button\"\n class=\"ui-popup-tip__close\"\n [attr.data-testid]=\"closeButtonTestId() ?? 'popup-tip-close'\"\n [attr.aria-label]=\"closeButtonLabel()\"\n (click)=\"close()\"\n >\n <ui-icon size=\"24\" color=\"currentColor\" name=\"Close-in-line\"></ui-icon>\n </button>\n}\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{position:relative;box-sizing:border-box;display:flex;align-items:flex-start;gap:8px;width:248px;max-width:100%;padding:8px;border:1px solid #ffffff;border-radius:4px;background-color:#242424;color:#fff;text-align:left;outline:none}:host([position=top]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;bottom:-5px;left:20px;transform:rotate(135deg)}:host([position=bottom]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;top:-5px;left:20px;transform:rotate(-45deg)}:host([position=left]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;right:-5px;top:20px;transform:rotate(45deg)}:host([position=right]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;left:-5px;top:20px;transform:rotate(-135deg)}:host([theme=light]){border-color:#242424;background-color:#fff;color:#242424}:host([theme=light]):after{border-color:#242424}.ui-popup-tip__message{font-size:12px;font-weight:400;line-height:16px}.ui-popup-tip__link{font:inherit;color:inherit;text-decoration:underline}.ui-popup-tip__close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:none;color:inherit;cursor:pointer}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
45
|
}
|
|
45
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: PopupTipComponent, decorators: [{
|
|
46
47
|
type: Component,
|
|
@@ -52,8 +53,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
52
53
|
'[attr.position]': 'position()',
|
|
53
54
|
'[attr.theme]': 'theme()',
|
|
54
55
|
'(keydown.escape)': 'close()',
|
|
55
|
-
}, imports: [IconComponent], template: "<span class=\"ui-popup-tip__message\">\n <ng-content>{{ message() }}</ng-content>\n @if (linkText() && linkUrl()) {\n <!-- Explicit space: Angular strips the whitespace around a control-flow block. -->\n {{ ' ' }}<a class=\"ui-popup-tip__link\" [href]=\"linkUrl()\" target=\"_blank\" rel=\"noopener\">{{ linkText() }}</a>\n }\n</span>\n\n@if (includeCloseButton()) {\n <button\n type=\"button\"\n class=\"ui-popup-tip__close\"\n data-testid=\"popup-tip-close\"\n [attr.aria-label]=\"closeButtonLabel()\"\n (click)=\"close()\"\n >\n <ui-icon size=\"24\" color=\"currentColor\" name=\"Close-in-line\"></ui-icon>\n </button>\n}\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{position:relative;box-sizing:border-box;display:flex;align-items:flex-start;gap:8px;width:248px;max-width:100%;padding:8px;border:1px solid #ffffff;border-radius:4px;background-color:#242424;color:#fff;text-align:left;outline:none}:host([position=top]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;bottom:-5px;left:20px;transform:rotate(135deg)}:host([position=bottom]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;top:-5px;left:20px;transform:rotate(-45deg)}:host([position=left]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;right:-5px;top:20px;transform:rotate(45deg)}:host([position=right]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;left:-5px;top:20px;transform:rotate(-135deg)}:host([theme=light]){border-color:#242424;background-color:#fff;color:#242424}:host([theme=light]):after{border-color:#242424}.ui-popup-tip__message{font-size:12px;font-weight:400;line-height:16px}.ui-popup-tip__link{font:inherit;color:inherit;text-decoration:underline}.ui-popup-tip__close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:none;color:inherit;cursor:pointer}\n"] }]
|
|
56
|
-
}], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], linkText: [{ type: i0.Input, args: [{ isSignal: true, alias: "linkText", required: false }] }], linkUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "linkUrl", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], includeCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "includeCloseButton", required: false }] }], closeButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonLabel", required: false }] }], applicationTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "applicationTheme", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
|
|
56
|
+
}, imports: [IconComponent], template: "<span class=\"ui-popup-tip__message\">\n <ng-content>{{ message() }}</ng-content>\n @if (linkText() && linkUrl()) {\n <!-- Explicit space: Angular strips the whitespace around a control-flow block. -->\n {{ ' ' }}<a class=\"ui-popup-tip__link\" [href]=\"linkUrl()\" target=\"_blank\" rel=\"noopener\">{{ linkText() }}</a>\n }\n</span>\n\n@if (includeCloseButton()) {\n <button\n type=\"button\"\n class=\"ui-popup-tip__close\"\n [attr.data-testid]=\"closeButtonTestId() ?? 'popup-tip-close'\"\n [attr.aria-label]=\"closeButtonLabel()\"\n (click)=\"close()\"\n >\n <ui-icon size=\"24\" color=\"currentColor\" name=\"Close-in-line\"></ui-icon>\n </button>\n}\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{position:relative;box-sizing:border-box;display:flex;align-items:flex-start;gap:8px;width:248px;max-width:100%;padding:8px;border:1px solid #ffffff;border-radius:4px;background-color:#242424;color:#fff;text-align:left;outline:none}:host([position=top]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;bottom:-5px;left:20px;transform:rotate(135deg)}:host([position=bottom]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;top:-5px;left:20px;transform:rotate(-45deg)}:host([position=left]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;right:-5px;top:20px;transform:rotate(45deg)}:host([position=right]):after{content:\"\";position:absolute;height:8px;width:8px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:inherit;z-index:10;border-top-right-radius:0;left:-5px;top:20px;transform:rotate(-135deg)}:host([theme=light]){border-color:#242424;background-color:#fff;color:#242424}:host([theme=light]):after{border-color:#242424}.ui-popup-tip__message{font-size:12px;font-weight:400;line-height:16px}.ui-popup-tip__link{font:inherit;color:inherit;text-decoration:underline}.ui-popup-tip__close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:none;color:inherit;cursor:pointer}\n"] }]
|
|
57
|
+
}], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], linkText: [{ type: i0.Input, args: [{ isSignal: true, alias: "linkText", required: false }] }], linkUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "linkUrl", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], closeButtonTestId: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonTestId", required: false }] }], includeCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "includeCloseButton", required: false }] }], closeButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonLabel", required: false }] }], applicationTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "applicationTheme", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
|
|
57
58
|
|
|
58
59
|
class PopupTipComponentModule {
|
|
59
60
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: PopupTipComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testgorilla-tgo-ui-components-popup-tip.mjs","sources":["../../../components/popup-tip/popup-tip.component.ts","../../../components/popup-tip/popup-tip.component.html","../../../components/popup-tip/popup-tip.component.module.ts","../../../components/popup-tip/testgorilla-tgo-ui-components-popup-tip.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';\n\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponent } from '@testgorilla/tgo-ui/components/icon';\n\nimport { PopupTipPosition } from './popup-tip.model';\n\n/**\n * Tooltip that stays open until it is dismissed, with an optional inline link and a close button.\n * Unlike `ui-tooltip` it is not hover driven: the application opens it in response to a system state.\n */\n@Component({\n selector: 'ui-popup-tip',\n templateUrl: './popup-tip.component.html',\n styleUrls: ['./popup-tip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'alert',\n 'aria-live': 'assertive',\n // Focusable programmatically, so Escape can dismiss the tip even without the close button.\n tabindex: '-1',\n '[attr.position]': 'position()',\n '[attr.theme]': 'theme()',\n '(keydown.escape)': 'close()',\n },\n imports: [IconComponent],\n})\nexport class PopupTipComponent {\n readonly message = input('');\n\n /** Optional link rendered inline after the message. Needs `linkUrl` to render. */\n readonly linkText = input('');\n\n readonly linkUrl = input('');\n\n /** Side of the anchor the tip sits on, which decides where its arrow is drawn. Default: 'top'. */\n readonly position = input<PopupTipPosition>('top');\n\n readonly includeCloseButton = input(true, { transform: booleanAttribute });\n\n /**\n * Accessible name of the close button. Pass a localized string: the English default is only a\n * last-resort fallback so the button is never nameless. Default: 'Close'.\n */\n readonly closeButtonLabel = input('Close');\n\n /**\n * Defines the application theme. Defaults to dark because the design sheet only specifies the\n * dark tip; the light variant exists for reuse on light surfaces.\n */\n readonly applicationTheme = input<ApplicationTheme | undefined>(undefined);\n\n /**\n * Emits when the user dismisses the tip, with the close button or with Escape. Escape only fires\n * while focus is inside the tip: call `focus()` on it when opening, especially without the button.\n */\n readonly closed = output<void>();\n\n private readonly defaultAppTheme = inject<ApplicationTheme>('CANOPYUI_DEFAULT_APPLICATION_THEME' as never, {\n optional: true,\n });\n\n protected readonly theme = computed<ApplicationTheme>(\n () => this.applicationTheme() ?? this.defaultAppTheme ?? 'dark'\n );\n\n close(): void {\n this.closed.emit();\n }\n}\n","<span class=\"ui-popup-tip__message\">\n <ng-content>{{ message() }}</ng-content>\n @if (linkText() && linkUrl()) {\n <!-- Explicit space: Angular strips the whitespace around a control-flow block. -->\n {{ ' ' }}<a class=\"ui-popup-tip__link\" [href]=\"linkUrl()\" target=\"_blank\" rel=\"noopener\">{{ linkText() }}</a>\n }\n</span>\n\n@if (includeCloseButton()) {\n <button\n type=\"button\"\n class=\"ui-popup-tip__close\"\n data-testid=\"popup-tip-close\"\n [attr.aria-label]=\"closeButtonLabel()\"\n (click)=\"close()\"\n >\n <ui-icon size=\"24\" color=\"currentColor\" name=\"Close-in-line\"></ui-icon>\n </button>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { PopupTipComponent } from './popup-tip.component';\n\n@NgModule({\n imports: [CommonModule, PopupTipComponent],\n exports: [PopupTipComponent],\n})\nexport class PopupTipComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAOA;;;AAGG;MAiBU,iBAAiB,CAAA;AAhB9B,IAAA,WAAA,GAAA;AAiBW,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,EAAE,8EAAC;;AAGnB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,EAAE,+EAAC;AAEpB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,EAAE,8EAAC;;AAGnB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAmB,KAAK,+EAAC;
|
|
1
|
+
{"version":3,"file":"testgorilla-tgo-ui-components-popup-tip.mjs","sources":["../../../components/popup-tip/popup-tip.component.ts","../../../components/popup-tip/popup-tip.component.html","../../../components/popup-tip/popup-tip.component.module.ts","../../../components/popup-tip/testgorilla-tgo-ui-components-popup-tip.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';\n\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponent } from '@testgorilla/tgo-ui/components/icon';\n\nimport { PopupTipPosition } from './popup-tip.model';\n\n/**\n * Tooltip that stays open until it is dismissed, with an optional inline link and a close button.\n * Unlike `ui-tooltip` it is not hover driven: the application opens it in response to a system state.\n */\n@Component({\n selector: 'ui-popup-tip',\n templateUrl: './popup-tip.component.html',\n styleUrls: ['./popup-tip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'alert',\n 'aria-live': 'assertive',\n // Focusable programmatically, so Escape can dismiss the tip even without the close button.\n tabindex: '-1',\n '[attr.position]': 'position()',\n '[attr.theme]': 'theme()',\n '(keydown.escape)': 'close()',\n },\n imports: [IconComponent],\n})\nexport class PopupTipComponent {\n readonly message = input('');\n\n /** Optional link rendered inline after the message. Needs `linkUrl` to render. */\n readonly linkText = input('');\n\n readonly linkUrl = input('');\n\n /** Side of the anchor the tip sits on, which decides where its arrow is drawn. Default: 'top'. */\n readonly position = input<PopupTipPosition>('top');\n\n readonly closeButtonTestId = input<string | null>(null);\n\n readonly includeCloseButton = input(true, { transform: booleanAttribute });\n\n /**\n * Accessible name of the close button. Pass a localized string: the English default is only a\n * last-resort fallback so the button is never nameless. Default: 'Close'.\n */\n readonly closeButtonLabel = input('Close');\n\n /**\n * Defines the application theme. Defaults to dark because the design sheet only specifies the\n * dark tip; the light variant exists for reuse on light surfaces.\n */\n readonly applicationTheme = input<ApplicationTheme | undefined>(undefined);\n\n /**\n * Emits when the user dismisses the tip, with the close button or with Escape. Escape only fires\n * while focus is inside the tip: call `focus()` on it when opening, especially without the button.\n */\n readonly closed = output<void>();\n\n private readonly defaultAppTheme = inject<ApplicationTheme>('CANOPYUI_DEFAULT_APPLICATION_THEME' as never, {\n optional: true,\n });\n\n protected readonly theme = computed<ApplicationTheme>(\n () => this.applicationTheme() ?? this.defaultAppTheme ?? 'dark'\n );\n\n close(): void {\n this.closed.emit();\n }\n}\n","<span class=\"ui-popup-tip__message\">\n <ng-content>{{ message() }}</ng-content>\n @if (linkText() && linkUrl()) {\n <!-- Explicit space: Angular strips the whitespace around a control-flow block. -->\n {{ ' ' }}<a class=\"ui-popup-tip__link\" [href]=\"linkUrl()\" target=\"_blank\" rel=\"noopener\">{{ linkText() }}</a>\n }\n</span>\n\n@if (includeCloseButton()) {\n <button\n type=\"button\"\n class=\"ui-popup-tip__close\"\n [attr.data-testid]=\"closeButtonTestId() ?? 'popup-tip-close'\"\n [attr.aria-label]=\"closeButtonLabel()\"\n (click)=\"close()\"\n >\n <ui-icon size=\"24\" color=\"currentColor\" name=\"Close-in-line\"></ui-icon>\n </button>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { PopupTipComponent } from './popup-tip.component';\n\n@NgModule({\n imports: [CommonModule, PopupTipComponent],\n exports: [PopupTipComponent],\n})\nexport class PopupTipComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -354,7 +354,7 @@ class PromptComponent {
|
|
|
354
354
|
useExisting: forwardRef(() => PromptComponent),
|
|
355
355
|
multi: true,
|
|
356
356
|
},
|
|
357
|
-
], viewQueries: [{ propertyName: "fileDrop", first: true, predicate: ["fileDropRef"], descendants: true, isSignal: true }, { propertyName: "tagDropdown", first: true, predicate: ["tagDropdown"], descendants: true, isSignal: true }, { propertyName: "fieldComponentRef", first: true, predicate: ["textarea"], descendants: true, isSignal: true }, { propertyName: "promptContainer", first: true, predicate: ["promptContainerRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\n <div\n class=\"prompt-container\"\n [class.has-error]=\"!!errorMessage()\"\n [class.disabled]=\"isLocked()\"\n [attr.aria-disabled]=\"isLocked()\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n cdkOverlayOrigin\n #promptOrigin=\"cdkOverlayOrigin\"\n #promptContainerRef\n [class.prompt-container-focused]=\"showFocusRing()\"\n (focusin)=\"onContainerFocusIn()\"\n (focusout)=\"onContainerFocusOut($event)\"\n >\n @if (loading()) {\n <div class=\"prompt-loading\" aria-hidden=\"true\" animate.enter=\"cnp-prompt-fade-in\">\n <ui-skeleton [theme]=\"{ width: '100%', height: '20px', margin: '0' }\"></ui-skeleton>\n <ui-skeleton [theme]=\"{ width: '30%', height: '20px', margin: '0' }\"></ui-skeleton>\n </div>\n }\n <div class=\"prompt-autocomplete\" [hidden]=\"loading()\">\n <textarea tabindex=\"-1\" class=\"ghost\" id=\"autocomplete\" [value]=\"autocompleteSuggestion()\" readonly></textarea>\n\n @let showIcon = !isFieldFocused() && !promptTextValue();\n @if (showIcon) {\n <ui-icon\n class=\"prompt-icon\"\n animate.enter=\"cnp-prompt-icon-in\"\n animate.leave=\"cnp-prompt-icon-out\"\n [color]=\"'inherit'\"\n [class.hovered]=\"isFieldHovered()\"\n [name]=\"'Sparkle-in-line'\"\n ></ui-icon>\n }\n <!-- `keydown.enter` matches unmodified Enter only; Shift+Enter resolves to `shift.enter`\n and falls through to a newline. Do not add a shiftKey check. -->\n <ui-field\n #textarea\n class=\"prompt-text\"\n [class.show-icon]=\"showIcon\"\n role=\"input\"\n [showBottomContent]=\"false\"\n [borderless]=\"true\"\n [type]=\"'multi-line'\"\n [autosizableTextarea]=\"true\"\n [maxCharacters]=\"maxCharacters()\"\n [placeholder]=\"showIcon ? placeholder() || ('PROMPT.ASK_ANYTHING' | uiTranslate | async)! : ''\"\n [value]=\"promptTextValue() || ''\"\n [hasTextAreaCounter]=\"false\"\n [disabled]=\"disabled\"\n (mouseenter)=\"isFieldHovered.set(true)\"\n (mouseleave)=\"isFieldHovered.set(false)\"\n (focusin)=\"isFieldFocused.set(true)\"\n (fieldBlur)=\"onFieldBlur()\"\n (keydown.tab)=\"onTextareaTab($event)\"\n (keydown.enter)=\"onTextareaEnter($event)\"\n (keydown.escape)=\"onTextareaEscape($event)\"\n ></ui-field>\n </div>\n <div class=\"prompt-footer flex-container\">\n <div class=\"flex-container\">\n @if (actionTag(); as at) {\n <ui-tag\n [label]=\"at.label\"\n [icon]=\"at.icon ?? 'Plus'\"\n [ariaLabel]=\"at.ariaLabel ?? at.label\"\n [isDisabled]=\"isLocked() || !!at.disabled\"\n (press)=\"onActionTagPress()\"\n ></ui-tag>\n } @else if (enableFileUpload()) {\n <ui-button\n [variant]=\"'icon-button'\"\n [tooltip]=\"('PROMPT.ADD_FILES' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [ariaLabel]=\"('PROMPT.ADD_FILES' | uiTranslate | async)!\"\n [iconName]=\"'Plus'\"\n [disabled]=\"isLocked()\"\n (click)=\"fileDrop()?.nativeElement?.click()\"\n ></ui-button>\n\n @if (promptFilesList().length) {\n <div class=\"menu\" animate.enter=\"cnp-prompt-pop-in\">\n <ui-badge\n [notificationsAmount]=\"promptFilesList().length\"\n [variant]=\"'notification'\"\n class=\"menu-badge\"\n ></ui-badge>\n <ui-overflow-menu\n [matTooltip]=\"('PROMPT.FILES' | uiTranslate | async)!\"\n [matTooltipPosition]=\"'above'\"\n [buttonSize]=\"'medium'\"\n [iconTrigger]=\"'Document'\"\n [buttonVariant]=\"'ghost'\"\n [buttons]=\"fileListMenuConfig()\"\n [isDynamicMenu]=\"true\"\n [withRemovableOption]=\"true\"\n (selectItem)=\"selectedMenuOption($event)\"\n ></ui-overflow-menu>\n </div>\n }\n }\n\n @if (actionTag() || enableFileUpload()) {\n <input\n data-testid=\"prompt-file-input\"\n [tabIndex]=\"-1\"\n class=\"form-control\"\n #fileDropRef\n type=\"file\"\n id=\"file-upload\"\n [accept]=\"fileInputAccept()\"\n [disabled]=\"isLocked()\"\n (change)=\"onFileSelected($event)\"\n />\n }\n </div>\n\n @if (tags()?.length && !promptTextValue()) {\n <div class=\"flex-container carousel\" animate.enter=\"cnp-prompt-row-in\">\n <div class=\"tag-container flex-container\" role=\"list\" #tagsScrollContainer>\n @for (tag of tagsVisible(); track tag) {\n <ui-tag\n [label]=\"tag.label\"\n role=\"listitem\"\n [ariaLabel]=\"tag.label\"\n [isDisabled]=\"isLocked()\"\n (click)=\"selectTag(tag, $event)\"\n (keyup.enter)=\"selectTag(tag, $event)\"\n (keyup.space)=\"selectTag(tag, $event)\"\n ></ui-tag>\n }\n\n @if (tagsInDropdown().length) {\n <ui-button\n class=\"view-more\"\n variant=\"text-inline\"\n [label]=\"('PROMPT.VIEW_MORE' | uiTranslate | async)!\"\n [ariaLabel]=\"('PROMPT.VIEW_MORE' | uiTranslate | async)!\"\n [size]=\"'medium'\"\n [disabled]=\"isLocked()\"\n (click)=\"toggleDropdown()\"\n (keydown.enter)=\"focusTagDropdown()\"\n cdkOverlayOrigin\n #dropdownTrigger=\"cdkOverlayOrigin\"\n ></ui-button>\n }\n </div>\n\n <div class=\"flex-container\">\n <ui-button\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [ariaLabel]=\"'Scroll left button'\"\n [iconName]=\"'Arrow-chevron-left-in-line'\"\n [disabled]=\"isLocked() || tagsScrollContainer.scrollLeft === 0\"\n (click)=\"tagsScrollContainer.scrollBy({ left: -100, behavior: 'smooth' })\"\n ></ui-button>\n <ui-button\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [iconName]=\"'Arrow-chevron-right-in-line'\"\n [ariaLabel]=\"'Scroll right button'\"\n [disabled]=\"\n isLocked() ||\n tagsScrollContainer.scrollLeft + tagsScrollContainer.clientWidth >= tagsScrollContainer.scrollWidth\n \"\n (click)=\"tagsScrollContainer.scrollBy({ left: 100, behavior: 'smooth' })\"\n ></ui-button>\n </div>\n </div>\n }\n\n @if (showSendButton()) {\n <ui-button\n class=\"send-button\"\n animate.enter=\"cnp-prompt-pop-in\"\n [variant]=\"'secondary'\"\n [iconName]=\"'Arrow-up-in-line'\"\n [tooltip]=\"('COMMON.SEND' | uiTranslate | async)!\"\n [ariaLabel]=\"('COMMON.SEND' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [size]=\"'medium'\"\n [disabled]=\"!canSubmit()\"\n (click)=\"sendPromptData()\"\n ></ui-button>\n }\n </div>\n\n <div class=\"prompt-projected-footer\">\n <ng-content select=\"[promptFooter]\"></ng-content>\n </div>\n </div>\n\n @if (errorMessage()) {\n <div class=\"prompt-error\" animate.enter=\"cnp-prompt-error-in\">\n <ui-icon [name]=\"'Error'\" color=\"red\"></ui-icon>\n <span>{{ errorMessage() }}</span>\n </div>\n }\n\n <!-- Dropdown for hidden tags -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"promptOrigin\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpened() && !isLocked()\"\n [cdkConnectedOverlayPositions]=\"dropdownPositions\"\n [cdkConnectedOverlayWidth]=\"promptContainerRef?.offsetWidth || 0\"\n (overlayOutsideClick)=\"dropdownOutsideClick()\"\n >\n <div class=\"dropdown-container\" role=\"list\" #tagDropdown tabindex=\"0\" animate.enter=\"cnp-prompt-dropdown-in\">\n @for (tag of tagsInDropdown(); track tag) {\n <div\n class=\"dropdown-tag\"\n tabindex=\"0\"\n [attr.aria-label]=\"tag.label\"\n role=\"listitem\"\n (click)=\"selectTag(tag, $event)\"\n (keyup.enter)=\"selectTag(tag, $event)\"\n (keyup.space)=\"selectTag(tag, $event)\"\n >\n {{ tag.label }}\n </div>\n }\n </div>\n </ng-template>\n\n <!-- Built-in items dropdown (UI-877) \u2014 opens on focus, typing filters by label -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"promptOrigin\"\n [cdkConnectedOverlayOpen]=\"itemsDropdownVisible()\"\n [cdkConnectedOverlayPositions]=\"dropdownPositions\"\n [cdkConnectedOverlayWidth]=\"promptContainerRef?.offsetWidth || 0\"\n (overlayOutsideClick)=\"itemsDropdownOutsideClick($event)\"\n >\n <div\n class=\"dropdown-container custom-dropdown-container\"\n animate.enter=\"cnp-prompt-dropdown-in\"\n (mousedown)=\"$event.preventDefault()\"\n >\n @if (dropdownHeading() || showDropdownClose()) {\n <div class=\"dropdown-header\">\n @if (dropdownHeading()) {\n <span class=\"dropdown-heading\">{{ dropdownHeading() }}</span>\n }\n @if (showDropdownClose()) {\n <ui-button\n class=\"dropdown-close\"\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [iconName]=\"'Close-in-line'\"\n [tooltip]=\"('COMMON.CLOSE' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [ariaLabel]=\"('COMMON.CLOSE' | uiTranslate | async)!\"\n (click)=\"closeItemsDropdown()\"\n ></ui-button>\n }\n </div>\n }\n <div role=\"list\">\n @for (item of filteredDropdownItems(); track item.id) {\n <div\n class=\"dropdown-tag dropdown-item\"\n tabindex=\"0\"\n role=\"listitem\"\n [attr.aria-label]=\"item.label\"\n (click)=\"selectDropdownItem(item, $event)\"\n (keydown.enter)=\"selectDropdownItem(item, $event)\"\n (keydown.space)=\"selectDropdownItem(item, $event)\"\n >\n @if (item.icon) {\n <ui-icon class=\"dropdown-item-icon\" [name]=\"item.icon\" [color]=\"'inherit'\"></ui-icon>\n }\n <span class=\"dropdown-item-label\">{{ item.label }}</span>\n <ui-icon class=\"dropdown-item-chevron\" [name]=\"'Arrow-chevron-right-in-line'\" [color]=\"'inherit'\"></ui-icon>\n </div>\n }\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep ui-field.prompt-text>mat-form-field{vertical-align:top}:host ::ng-deep ui-field.prompt-text .mat-mdc-text-field-wrapper{border-radius:10px!important}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{background:transparent}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{padding-bottom:0!important}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper textarea{max-height:220px!important}:host ::ng-deep ui-button.send-button .rounded-icon .mdc-button{width:48px!important;height:48px!important}:host ::ng-deep ui-overflow-menu button.mat-mdc-unelevated-button.ghost.light-theme.only-icon{border:none}.prompt-container{border:1px solid #919191;border-radius:10px;background-color:#fff;outline:0 solid transparent;outline-offset:-2px;transition:border-color .18s cubic-bezier(.2,0,0,1),outline-color .18s cubic-bezier(.2,0,0,1),outline-width .12s cubic-bezier(.2,0,0,1);--ui-prompt-ring: inset 0 0 0 2px transparent}.prompt-container:after{content:\"\";position:absolute;z-index:1;inset:-1px;border-radius:inherit;box-shadow:var(--ui-prompt-ring);pointer-events:none;transition:box-shadow .18s cubic-bezier(.2,0,0,1)}.prompt-container-focused{--ui-prompt-ring: inset 0 0 0 2px #000000;border:1px solid black;outline:1px solid black}.prompt-container.disabled{border:1px solid #d3d3d3}.prompt-container.disabled.prompt-container-focused{--ui-prompt-ring: inset 0 0 0 2px transparent;outline-width:0}.prompt-container.disabled .prompt-icon{color:#d3d3d3}ui-field.prompt-text{transition:padding-left .12s cubic-bezier(.2,0,0,1)}ui-field.show-icon{padding-left:24px}.prompt-icon{position:absolute;top:14px;left:16px;color:#666;transition:color .12s cubic-bezier(.2,0,0,1)}.prompt-icon.hovered{color:#000}.dropdown-container{width:100%}.custom-dropdown-container{overflow:hidden;background-color:#fff;border-radius:0 0 8px 8px;box-shadow:0 8px 16px #00000014}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px}.dropdown-heading{font-weight:700}.dropdown-close{margin-left:auto}.dropdown-item{display:flex;gap:12px;align-items:center}.dropdown-item-icon,.dropdown-item-chevron{flex-shrink:0}.dropdown-item-label{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dropdown-tag{padding:16px;background-color:#fff;transition:background-color .12s cubic-bezier(.2,0,0,1)}.dropdown-tag:hover,.dropdown-tag:focus{background-color:#fff2fc;cursor:pointer}.carousel{flex-grow:1;min-width:0}.tag-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tag-container::-webkit-scrollbar{display:none}.tag-container{margin:0 8px}#file-upload{display:none}.prompt-footer,.flex-container{display:flex;flex-flow:row nowrap;align-items:center}.prompt-footer{justify-content:space-between;padding:8px 16px}@media(max-width:600px){.prompt-footer{padding:8px}}@media(max-width:320px){.prompt-footer{padding:8px}}.prompt-projected-footer{display:none}.prompt-projected-footer:has(*){display:block;overflow:hidden;border-radius:0 0 9px 9px}.menu{display:flex;flex-flow:column nowrap;position:relative}.menu .menu-badge{position:absolute;right:0;z-index:1000}.view-more{margin-left:4px;white-space:nowrap}.view-more ::ng-deep button.mat-mdc-unelevated-button .label{white-space:nowrap}.prompt-container{position:relative}.prompt-container.has-error{--ui-prompt-ring: inset 0 0 0 2px #e02800;border:1px solid #e02800;outline:1px solid #e02800}.prompt-error{margin-top:4px;align-items:center;display:flex;color:#e02800;font-size:12px;line-height:16px}.prompt-error ui-icon{margin-right:4px}.prompt-loading{display:flex;flex-direction:column;gap:4px;padding:12px 16px 0}.prompt-loading ui-skeleton{height:20px}.ghost{position:absolute;top:0;left:0;bottom:16px;color:#888;border:none;pointer-events:none;background:transparent;width:100%;padding:12px 16px;font-size:inherit;line-height:22px;letter-spacing:inherit;font-weight:inherit;font-family:ModernGothic,sans-serif;resize:none}@keyframes cnp-prompt-fade-in{0%{opacity:0}}@keyframes cnp-prompt-icon-in{0%{opacity:0;transform:translate(-4px) scale(.9)}}@keyframes cnp-prompt-icon-out{to{opacity:0;transform:translate(-4px) scale(.9)}}@keyframes cnp-prompt-row-in{0%{opacity:0;transform:translateY(6px)}}@keyframes cnp-prompt-pop-in{0%{opacity:0;transform:scale(.8)}}@keyframes cnp-prompt-error-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes cnp-prompt-dropdown-in{0%{opacity:0;transform:translateY(-6px)}}.cnp-prompt-fade-in{animation:cnp-prompt-fade-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-icon-in{animation:cnp-prompt-icon-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-icon-out{animation:cnp-prompt-icon-out .12s cubic-bezier(.2,0,0,1) both}.cnp-prompt-row-in{animation:cnp-prompt-row-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-pop-in{animation:cnp-prompt-pop-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-error-in{animation:cnp-prompt-error-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-dropdown-in{animation:cnp-prompt-dropdown-in .18s cubic-bezier(.2,0,0,1) both}@media(prefers-reduced-motion:reduce){.prompt-container,.prompt-container:after,.prompt-icon,.dropdown-tag,ui-field.prompt-text{transition:none}.cnp-prompt-fade-in,.cnp-prompt-icon-in,.cnp-prompt-icon-out,.cnp-prompt-row-in,.cnp-prompt-pop-in,.cnp-prompt-error-in,.cnp-prompt-dropdown-in{animation-duration:1ms}}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SkeletonComponent, selector: "ui-skeleton", inputs: ["count", "theme", "appearance", "isAiTheme", "applicationTheme"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "isAutocompleteOff", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "autosizableTextarea", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "component", type: TagComponent, selector: "ui-tag", inputs: ["label", "icon", "allowClose", "readOnly", "isSelected", "showIconWhenSelected", "pinnedBackground", "isDisabled", "applicationTheme", "ariaLabel", "ariaRequired", "showBadge", "notificationsAmount"], outputs: ["isSelectedChange", "close", "press"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "loadingWithLabel", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaExpanded", "ariaControls", "ariaPressed", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: BadgeComponent, selector: "ui-badge", inputs: ["label", "staticLabel", "icon", "iconColor", "trailingIcon", "trailingIconColor", "color", "variant", "notificationsAmount", "applicationTheme", "rebrandColor", "truncateLabel", "enableAnimation"] }, { kind: "component", type: OverflowMenuComponent, selector: "ui-overflow-menu", inputs: ["buttons", "iconTrigger", "menuLabel", "applicationTheme", "ariaLabel", "ariaRequired", "describedby", "contentTemplateRef", "buttonVariant", "buttonSize", "menuConfig", "selectionMode", "isDynamicMenu", "withRemovableOption"], outputs: ["selectItem", "menuOpened", "menuClosed"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
357
|
+
], viewQueries: [{ propertyName: "fileDrop", first: true, predicate: ["fileDropRef"], descendants: true, isSignal: true }, { propertyName: "tagDropdown", first: true, predicate: ["tagDropdown"], descendants: true, isSignal: true }, { propertyName: "fieldComponentRef", first: true, predicate: ["textarea"], descendants: true, isSignal: true }, { propertyName: "promptContainer", first: true, predicate: ["promptContainerRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\n <div\n class=\"prompt-container\"\n [class.has-error]=\"!!errorMessage()\"\n [class.disabled]=\"isLocked()\"\n [attr.aria-disabled]=\"isLocked()\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n cdkOverlayOrigin\n #promptOrigin=\"cdkOverlayOrigin\"\n #promptContainerRef\n [class.prompt-container-focused]=\"showFocusRing()\"\n (focusin)=\"onContainerFocusIn()\"\n (focusout)=\"onContainerFocusOut($event)\"\n >\n @if (loading()) {\n <div class=\"prompt-loading\" aria-hidden=\"true\" animate.enter=\"cnp-prompt-fade-in\">\n <ui-skeleton [theme]=\"{ width: '100%', height: '20px', margin: '0' }\"></ui-skeleton>\n <ui-skeleton [theme]=\"{ width: '30%', height: '20px', margin: '0' }\"></ui-skeleton>\n </div>\n }\n <div class=\"prompt-autocomplete\" [hidden]=\"loading()\">\n <textarea tabindex=\"-1\" class=\"ghost\" id=\"autocomplete\" [value]=\"autocompleteSuggestion()\" readonly></textarea>\n\n @let showIcon = !isFieldFocused() && !promptTextValue();\n @if (showIcon) {\n <ui-icon\n class=\"prompt-icon\"\n animate.enter=\"cnp-prompt-icon-in\"\n animate.leave=\"cnp-prompt-icon-out\"\n [color]=\"'inherit'\"\n [class.hovered]=\"isFieldHovered()\"\n [name]=\"'Sparkle-in-line'\"\n ></ui-icon>\n }\n <!-- `keydown.enter` matches unmodified Enter only; Shift+Enter resolves to `shift.enter`\n and falls through to a newline. Do not add a shiftKey check. -->\n <ui-field\n #textarea\n class=\"prompt-text\"\n [class.show-icon]=\"showIcon\"\n role=\"input\"\n [showBottomContent]=\"false\"\n [borderless]=\"true\"\n [type]=\"'multi-line'\"\n [autosizableTextarea]=\"true\"\n [maxCharacters]=\"maxCharacters()\"\n [placeholder]=\"showIcon ? placeholder() || ('PROMPT.ASK_ANYTHING' | uiTranslate | async)! : ''\"\n [value]=\"promptTextValue() || ''\"\n [hasTextAreaCounter]=\"false\"\n [disabled]=\"disabled\"\n (mouseenter)=\"isFieldHovered.set(true)\"\n (mouseleave)=\"isFieldHovered.set(false)\"\n (focusin)=\"isFieldFocused.set(true)\"\n (fieldBlur)=\"onFieldBlur()\"\n (keydown.tab)=\"onTextareaTab($event)\"\n (keydown.enter)=\"onTextareaEnter($event)\"\n (keydown.escape)=\"onTextareaEscape($event)\"\n ></ui-field>\n </div>\n <div class=\"prompt-footer flex-container\">\n <div class=\"flex-container\">\n @if (actionTag(); as at) {\n <ui-tag\n [label]=\"at.label\"\n [icon]=\"at.icon ?? 'Plus'\"\n [ariaLabel]=\"at.ariaLabel ?? at.label\"\n [isDisabled]=\"isLocked() || !!at.disabled\"\n (press)=\"onActionTagPress()\"\n ></ui-tag>\n } @else if (enableFileUpload()) {\n <ui-button\n [variant]=\"'icon-button'\"\n [tooltip]=\"('PROMPT.ADD_FILES' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [ariaLabel]=\"('PROMPT.ADD_FILES' | uiTranslate | async)!\"\n [iconName]=\"'Plus'\"\n [disabled]=\"isLocked()\"\n (click)=\"fileDrop()?.nativeElement?.click()\"\n ></ui-button>\n\n @if (promptFilesList().length) {\n <div class=\"menu\" animate.enter=\"cnp-prompt-pop-in\">\n <ui-badge\n [notificationsAmount]=\"promptFilesList().length\"\n [variant]=\"'notification'\"\n class=\"menu-badge\"\n ></ui-badge>\n <ui-overflow-menu\n [matTooltip]=\"('PROMPT.FILES' | uiTranslate | async)!\"\n [matTooltipPosition]=\"'above'\"\n [buttonSize]=\"'medium'\"\n [iconTrigger]=\"'Document'\"\n [buttonVariant]=\"'ghost'\"\n [buttons]=\"fileListMenuConfig()\"\n [isDynamicMenu]=\"true\"\n [withRemovableOption]=\"true\"\n (selectItem)=\"selectedMenuOption($event)\"\n ></ui-overflow-menu>\n </div>\n }\n }\n\n @if (actionTag() || enableFileUpload()) {\n <input\n data-testid=\"prompt-file-input\"\n [tabIndex]=\"-1\"\n class=\"form-control\"\n #fileDropRef\n type=\"file\"\n id=\"file-upload\"\n [accept]=\"fileInputAccept()\"\n [disabled]=\"isLocked()\"\n (change)=\"onFileSelected($event)\"\n />\n }\n </div>\n\n @if (tags()?.length && !promptTextValue()) {\n <div class=\"flex-container carousel\" animate.enter=\"cnp-prompt-row-in\">\n <div class=\"tag-container flex-container\" role=\"list\" #tagsScrollContainer>\n @for (tag of tagsVisible(); track tag) {\n <ui-tag\n [label]=\"tag.label\"\n role=\"listitem\"\n [ariaLabel]=\"tag.label\"\n [isDisabled]=\"isLocked()\"\n (click)=\"selectTag(tag, $event)\"\n (keyup.enter)=\"selectTag(tag, $event)\"\n (keyup.space)=\"selectTag(tag, $event)\"\n ></ui-tag>\n }\n\n @if (tagsInDropdown().length) {\n <ui-button\n class=\"view-more\"\n variant=\"text-inline\"\n [label]=\"('PROMPT.VIEW_MORE' | uiTranslate | async)!\"\n [ariaLabel]=\"('PROMPT.VIEW_MORE' | uiTranslate | async)!\"\n [size]=\"'medium'\"\n [disabled]=\"isLocked()\"\n (click)=\"toggleDropdown()\"\n (keydown.enter)=\"focusTagDropdown()\"\n cdkOverlayOrigin\n #dropdownTrigger=\"cdkOverlayOrigin\"\n ></ui-button>\n }\n </div>\n\n <div class=\"flex-container\">\n <ui-button\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [ariaLabel]=\"'Scroll left button'\"\n [iconName]=\"'Arrow-chevron-left-in-line'\"\n [disabled]=\"isLocked() || tagsScrollContainer.scrollLeft === 0\"\n (click)=\"tagsScrollContainer.scrollBy({ left: -100, behavior: 'smooth' })\"\n ></ui-button>\n <ui-button\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [iconName]=\"'Arrow-chevron-right-in-line'\"\n [ariaLabel]=\"'Scroll right button'\"\n [disabled]=\"\n isLocked() ||\n tagsScrollContainer.scrollLeft + tagsScrollContainer.clientWidth >= tagsScrollContainer.scrollWidth\n \"\n (click)=\"tagsScrollContainer.scrollBy({ left: 100, behavior: 'smooth' })\"\n ></ui-button>\n </div>\n </div>\n }\n\n @if (showSendButton()) {\n <ui-button\n class=\"send-button\"\n animate.enter=\"cnp-prompt-pop-in\"\n [variant]=\"'secondary'\"\n [iconName]=\"'Arrow-up-in-line'\"\n [tooltip]=\"('COMMON.SEND' | uiTranslate | async)!\"\n [ariaLabel]=\"('COMMON.SEND' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [size]=\"'medium'\"\n [disabled]=\"!canSubmit()\"\n (click)=\"sendPromptData()\"\n ></ui-button>\n }\n </div>\n\n <div class=\"prompt-projected-footer\">\n <ng-content select=\"[promptFooter]\"></ng-content>\n </div>\n </div>\n\n @if (errorMessage()) {\n <div class=\"prompt-error\" animate.enter=\"cnp-prompt-error-in\">\n <ui-icon [name]=\"'Error'\" color=\"red\"></ui-icon>\n <span>{{ errorMessage() }}</span>\n </div>\n }\n\n <!-- Dropdown for hidden tags -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"promptOrigin\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpened() && !isLocked()\"\n [cdkConnectedOverlayPositions]=\"dropdownPositions\"\n [cdkConnectedOverlayWidth]=\"promptContainerRef?.offsetWidth || 0\"\n (overlayOutsideClick)=\"dropdownOutsideClick()\"\n >\n <div class=\"dropdown-container\" role=\"list\" #tagDropdown tabindex=\"0\" animate.enter=\"cnp-prompt-dropdown-in\">\n @for (tag of tagsInDropdown(); track tag) {\n <div\n class=\"dropdown-tag\"\n tabindex=\"0\"\n [attr.aria-label]=\"tag.label\"\n role=\"listitem\"\n (click)=\"selectTag(tag, $event)\"\n (keyup.enter)=\"selectTag(tag, $event)\"\n (keyup.space)=\"selectTag(tag, $event)\"\n >\n {{ tag.label }}\n </div>\n }\n </div>\n </ng-template>\n\n <!-- Built-in items dropdown (UI-877) \u2014 opens on focus, typing filters by label -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"promptOrigin\"\n [cdkConnectedOverlayOpen]=\"itemsDropdownVisible()\"\n [cdkConnectedOverlayPositions]=\"dropdownPositions\"\n [cdkConnectedOverlayWidth]=\"promptContainerRef?.offsetWidth || 0\"\n (overlayOutsideClick)=\"itemsDropdownOutsideClick($event)\"\n >\n <div\n class=\"dropdown-container custom-dropdown-container\"\n animate.enter=\"cnp-prompt-dropdown-in\"\n (mousedown)=\"$event.preventDefault()\"\n >\n @if (dropdownHeading() || showDropdownClose()) {\n <div class=\"dropdown-header\">\n @if (dropdownHeading()) {\n <span class=\"dropdown-heading\">{{ dropdownHeading() }}</span>\n }\n @if (showDropdownClose()) {\n <ui-button\n class=\"dropdown-close\"\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [iconName]=\"'Close-in-line'\"\n [tooltip]=\"('COMMON.CLOSE' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [ariaLabel]=\"('COMMON.CLOSE' | uiTranslate | async)!\"\n (click)=\"closeItemsDropdown()\"\n ></ui-button>\n }\n </div>\n }\n <div role=\"list\">\n @for (item of filteredDropdownItems(); track item.id) {\n <div\n class=\"dropdown-tag dropdown-item\"\n tabindex=\"0\"\n role=\"listitem\"\n [attr.aria-label]=\"item.label\"\n (click)=\"selectDropdownItem(item, $event)\"\n (keydown.enter)=\"selectDropdownItem(item, $event)\"\n (keydown.space)=\"selectDropdownItem(item, $event)\"\n >\n @if (item.icon) {\n <ui-icon class=\"dropdown-item-icon\" [name]=\"item.icon\" [color]=\"'inherit'\"></ui-icon>\n }\n <span class=\"dropdown-item-label\">{{ item.label }}</span>\n <ui-icon class=\"dropdown-item-chevron\" [name]=\"'Arrow-chevron-right-in-line'\" [color]=\"'inherit'\"></ui-icon>\n </div>\n }\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep ui-field.prompt-text>mat-form-field{vertical-align:top}:host ::ng-deep ui-field.prompt-text .mat-mdc-text-field-wrapper{border-radius:10px!important}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{background:transparent}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{padding-bottom:0!important}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper textarea{max-height:220px!important}:host ::ng-deep ui-button.send-button .rounded-icon .mdc-button{width:48px!important;height:48px!important}:host ::ng-deep ui-overflow-menu button.mat-mdc-unelevated-button.ghost.light-theme.only-icon{border:none}.prompt-container{border:1px solid #919191;border-radius:10px;background-color:#fff;outline:0 solid transparent;outline-offset:-2px;transition:border-color .18s cubic-bezier(.2,0,0,1),outline-color .18s cubic-bezier(.2,0,0,1),outline-width .12s cubic-bezier(.2,0,0,1);--ui-prompt-ring: inset 0 0 0 2px transparent}.prompt-container:after{content:\"\";position:absolute;z-index:1;inset:-1px;border-radius:inherit;box-shadow:var(--ui-prompt-ring);pointer-events:none;transition:box-shadow .18s cubic-bezier(.2,0,0,1)}.prompt-container-focused{--ui-prompt-ring: inset 0 0 0 2px #000000;border:1px solid black;outline:1px solid black}.prompt-container.disabled{border:1px solid #d3d3d3}.prompt-container.disabled.prompt-container-focused{--ui-prompt-ring: inset 0 0 0 2px transparent;outline-width:0}.prompt-container.disabled .prompt-icon{color:#d3d3d3}ui-field.prompt-text{transition:padding-left .12s cubic-bezier(.2,0,0,1)}ui-field.show-icon{padding-left:24px}.prompt-icon{position:absolute;top:14px;left:16px;color:#666;transition:color .12s cubic-bezier(.2,0,0,1)}.prompt-icon.hovered{color:#000}.dropdown-container{width:100%}.custom-dropdown-container{overflow:hidden;background-color:#fff;border-radius:0 0 8px 8px;box-shadow:0 8px 16px #00000014}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px}.dropdown-heading{font-weight:700}.dropdown-close{margin-left:auto}.dropdown-item{display:flex;gap:12px;align-items:center}.dropdown-item-icon,.dropdown-item-chevron{flex-shrink:0}.dropdown-item-label{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dropdown-tag{padding:16px;background-color:#fff;transition:background-color .12s cubic-bezier(.2,0,0,1)}.dropdown-tag:hover,.dropdown-tag:focus{background-color:#fff2fc;cursor:pointer}.carousel{flex-grow:1;min-width:0}.tag-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tag-container::-webkit-scrollbar{display:none}.tag-container{margin:0 8px}#file-upload{display:none}.prompt-footer,.flex-container{display:flex;flex-flow:row nowrap;align-items:center}.prompt-footer{justify-content:space-between;padding:8px 16px}@media(max-width:600px){.prompt-footer{padding:8px}}@media(max-width:320px){.prompt-footer{padding:8px}}.prompt-projected-footer{display:none}.prompt-projected-footer:has(*){display:block;overflow:hidden;border-radius:0 0 9px 9px}.menu{display:flex;flex-flow:column nowrap;position:relative}.menu .menu-badge{position:absolute;right:0;z-index:1000}.view-more{margin-left:4px;white-space:nowrap}.view-more ::ng-deep button.mat-mdc-unelevated-button .label{white-space:nowrap}.prompt-container{position:relative}.prompt-container.has-error{--ui-prompt-ring: inset 0 0 0 2px #e02800;border:1px solid #e02800;outline:1px solid #e02800}.prompt-error{margin-top:4px;align-items:center;display:flex;color:#e02800;font-size:12px;line-height:16px}.prompt-error ui-icon{margin-right:4px}.prompt-loading{display:flex;flex-direction:column;gap:4px;padding:12px 16px 0}.prompt-loading ui-skeleton{height:20px}.ghost{position:absolute;top:0;left:0;bottom:16px;color:#888;border:none;pointer-events:none;background:transparent;width:100%;padding:12px 16px;font-size:inherit;line-height:22px;letter-spacing:inherit;font-weight:inherit;font-family:ModernGothic,sans-serif;resize:none}@keyframes cnp-prompt-fade-in{0%{opacity:0}}@keyframes cnp-prompt-icon-in{0%{opacity:0;transform:translate(-4px) scale(.9)}}@keyframes cnp-prompt-icon-out{to{opacity:0;transform:translate(-4px) scale(.9)}}@keyframes cnp-prompt-row-in{0%{opacity:0;transform:translateY(6px)}}@keyframes cnp-prompt-pop-in{0%{opacity:0;transform:scale(.8)}}@keyframes cnp-prompt-error-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes cnp-prompt-dropdown-in{0%{opacity:0;transform:translateY(-6px)}}.cnp-prompt-fade-in{animation:cnp-prompt-fade-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-icon-in{animation:cnp-prompt-icon-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-icon-out{animation:cnp-prompt-icon-out .12s cubic-bezier(.2,0,0,1) both}.cnp-prompt-row-in{animation:cnp-prompt-row-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-pop-in{animation:cnp-prompt-pop-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-error-in{animation:cnp-prompt-error-in .18s cubic-bezier(.2,0,0,1) both}.cnp-prompt-dropdown-in{animation:cnp-prompt-dropdown-in .18s cubic-bezier(.2,0,0,1) both}@media(prefers-reduced-motion:reduce){.prompt-container,.prompt-container:after,.prompt-icon,.dropdown-tag,ui-field.prompt-text{transition:none}.cnp-prompt-fade-in,.cnp-prompt-icon-in,.cnp-prompt-icon-out,.cnp-prompt-row-in,.cnp-prompt-pop-in,.cnp-prompt-error-in,.cnp-prompt-dropdown-in{animation-duration:1ms}}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SkeletonComponent, selector: "ui-skeleton", inputs: ["count", "theme", "appearance", "isAiTheme", "applicationTheme"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "isAutocompleteOff", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "testId", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "autosizableTextarea", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "component", type: TagComponent, selector: "ui-tag", inputs: ["label", "icon", "allowClose", "readOnly", "isSelected", "showIconWhenSelected", "pinnedBackground", "isDisabled", "applicationTheme", "ariaLabel", "testId", "ariaRequired", "showBadge", "notificationsAmount"], outputs: ["isSelectedChange", "close", "press"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "loadingWithLabel", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaExpanded", "ariaControls", "ariaPressed", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled", "testId"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: BadgeComponent, selector: "ui-badge", inputs: ["label", "staticLabel", "icon", "iconColor", "trailingIcon", "trailingIconColor", "color", "variant", "notificationsAmount", "applicationTheme", "rebrandColor", "truncateLabel", "enableAnimation"] }, { kind: "component", type: OverflowMenuComponent, selector: "ui-overflow-menu", inputs: ["buttons", "iconTrigger", "menuLabel", "applicationTheme", "ariaLabel", "testId", "ariaRequired", "describedby", "contentTemplateRef", "buttonVariant", "buttonSize", "menuConfig", "selectionMode", "isDynamicMenu", "withRemovableOption"], outputs: ["selectItem", "menuOpened", "menuClosed"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
358
358
|
}
|
|
359
359
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: PromptComponent, decorators: [{
|
|
360
360
|
type: Component,
|