@testgorilla/tgo-ui 5.2.4 → 6.0.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.
Files changed (42) hide show
  1. package/components/ai-audio-circle/ai-audio-circle.component.d.ts +2 -1
  2. package/components/alert-banner/alert-banner.component.d.ts +4 -8
  3. package/components/autocomplete/autocomplete.component.d.ts +4 -6
  4. package/components/card/card.component.d.ts +12 -7
  5. package/components/card/card.model.d.ts +1 -0
  6. package/components/checklist/checklist.component.d.ts +1 -2
  7. package/components/datepicker/datepicker.component.d.ts +3 -5
  8. package/components/dialog/confirm-dialog/confirm-dialog.component.d.ts +3 -5
  9. package/components/empty-state/empty-state.component.d.ts +1 -4
  10. package/components/field/field.component.d.ts +4 -4
  11. package/components/media-dialog/media-dialog.component.d.ts +2 -4
  12. package/components/phone-input/phone-input.component.d.ts +4 -6
  13. package/components/snackbar/snackbar.component.d.ts +3 -5
  14. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs +16 -5
  15. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs.map +1 -1
  16. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs +1 -1
  17. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs.map +1 -1
  18. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs +16 -24
  19. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs.map +1 -1
  20. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +19 -21
  21. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -1
  22. package/fesm2022/testgorilla-tgo-ui-components-card.mjs +20 -12
  23. package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -1
  24. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs +2 -6
  25. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs.map +1 -1
  26. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs +13 -15
  27. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs.map +1 -1
  28. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs +4 -8
  29. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs.map +1 -1
  30. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +9 -16
  31. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -1
  32. package/fesm2022/testgorilla-tgo-ui-components-field.mjs +3 -5
  33. package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -1
  34. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs +9 -11
  35. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs.map +1 -1
  36. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs +13 -15
  37. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs.map +1 -1
  38. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs +1 -1
  39. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs.map +1 -1
  40. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs +11 -13
  41. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs.map +1 -1
  42. package/package.json +29 -29
@@ -1 +1 @@
1
- {"version":3,"file":"testgorilla-tgo-ui-components-empty-state.mjs","sources":["../../../components/empty-state/empty-state.component.ts","../../../components/empty-state/empty-state.component.html","../../../components/empty-state/empty-state.component.module.ts","../../../components/empty-state/testgorilla-tgo-ui-components-empty-state.ts"],"sourcesContent":["import { Component, EventEmitter, inject, Inject, Input, Optional, Output } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { ButtonColor, ButtonIconPosition, ButtonSize } from '@testgorilla/tgo-ui/components/button';\nimport { IconName } from '@testgorilla/tgo-ui/components/icon';\nimport { ButtonVariant, EmptyStateVariant, IllustrationVariant } from './empty-state.model';\n\n@Component({\n selector: 'ui-empty-state',\n templateUrl: './empty-state.component.html',\n styleUrls: ['./empty-state.component.scss'],\n standalone: false\n})\nexport class EmptyStateComponent {\n private domSanitizer = inject(DomSanitizer);\n\n safeBodyText: SafeHtml = '';\n /**\n * @description If the default image should be displayed.\n * @type {boolean}\n * @memberof EmptyStateComponent\n */\n @Input() showIllustration = false;\n /**\n * @description If the default image should be displayed.\n * @type {IllustrationVariant}\n * @memberof EmptyStateComponent\n */\n @Input() illustrationVariant: IllustrationVariant = 'Empty-search';\n /**\n * @description The icon to be displayed in the empty state.\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() icon: IconName = '';\n\n /**\n * @description The empty state variant.\n * @type {EmptyStateVariant}\n * @memberof EmptyStateComponent\n */\n @Input() emptyStateVariant: EmptyStateVariant = 'desktop';\n\n /**\n * @description The title of the empty state.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() title = '';\n\n /**\n * @description The body text or description of the empty state.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() set bodyText(value: string) {\n if (value) {\n this.safeBodyText = this.domSanitizer.bypassSecurityTrustHtml(value);\n }\n }\n\n /**\n * @description Displays primary button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() primaryButtonText = '';\n\n /**\n * Primary button variant - only for new theme.\n * @type {ButtonVariant}\n * @memberof EmptyStateComponent\n */\n @Input() primaryButtonVariant: ButtonVariant = 'pink';\n\n /**\n * General button variation - only for new theme.\n * @type {ButtonColor}\n * @memberof EmptyStateComponent\n */\n @Input() generalButtonVariation: ButtonColor = 'primary';\n\n /**\n * @description Name of ui-icon for primary button\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() primaryButtonIconName: IconName = '';\n\n /**\n * @description Position of ui-icon for primary button\n * @type {ButtonIconPosition}\n * @memberof EmptyStateComponent\n */\n @Input() primaryButtonIconPosition: ButtonIconPosition = 'left';\n\n /**\n * @description Displays secondary button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() secondaryButtonText = '';\n\n /**\n * Secondary button variant - only for new theme.\n * @type {ButtonVariant}\n * @memberof EmptyStateComponent\n */\n @Input() secondaryButtonVariant: ButtonVariant = 'black';\n\n /**\n * @description Name of ui-icon for secondary button\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() secondaryButtonIconName: IconName = '';\n\n /**\n * @description Position of ui-icon for secondary button\n * @type {ButtonIconPosition}\n * @memberof EmptyStateComponent\n */\n @Input() secondaryButtonIconPosition: ButtonIconPosition = 'left';\n\n /**\n * @description Displays tertiary button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() tertiaryButtonText = '';\n\n /**\n * Tertiary button variant - only for new theme.\n * @type {ButtonVariant}\n * @memberof EmptyStateComponent\n */\n @Input() tertiaryButtonVariant: ButtonVariant = 'ghost';\n\n /**\n * @description Name of ui-icon for tertiary button\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() tertiaryButtonIconName: IconName = '';\n\n /**\n * @description Position of ui-icon for tertiary button\n * @type {ButtonIconPosition}\n * @memberof EmptyStateComponent\n */\n @Input() tertiaryButtonIconPosition: ButtonIconPosition = 'left';\n\n /**\n * @description Displays general variation button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonText = '';\n\n /**\n * @description Displays general variation button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonSize: ButtonSize = 'big';\n\n /**\n * @description Name of ui-icon for general variation button\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonIconName: IconName = '';\n\n /**\n * @description Position of ui-icon for general variation button\n * @type {ButtonIconPosition}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonIconPosition: ButtonIconPosition = 'left';\n\n /**\n * @description Disabled state for general variation button\n * @type {boolean}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonDisabled = false;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof EmptyStateComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n /**\n * Event triggered when the primary button is clicked.\n * @type {Event}\n * @event\n * @memberof TagComponent\n */\n @Output() primaryButtonClick = new EventEmitter<Event>();\n\n /**\n * Event triggered when the secondary button is clicked.\n * @type {Event}\n * @event\n * @memberof TagComponent\n */\n @Output() secondaryButtonClick = new EventEmitter<Event>();\n\n /**\n * Event triggered when the tertiary button is clicked.\n * @type {Event}\n * @event\n * @memberof TagComponent\n */\n @Output() tertiaryButtonClick = new EventEmitter<Event>();\n\n /**\n * Event triggered when the general variation button is clicked.\n * @type {Event}\n * @event\n * @memberof TagComponent\n */\n @Output() generalVariationButtonClick = new EventEmitter<Event>();\n\n buttonApplicationTheme: ApplicationTheme;\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnInit() {\n if (this.applicationTheme !== 'classic') {\n this.buttonApplicationTheme = this.applicationTheme;\n }\n }\n\n onPrimaryButtonClick(event: Event): void {\n this.primaryButtonClick.emit(event);\n }\n\n onSecondaryButtonClick(event: Event): void {\n this.secondaryButtonClick.emit(event);\n }\n\n onTertiaryButtonClick(event: Event): void {\n this.tertiaryButtonClick.emit(event);\n }\n\n onGeneralVariationButtonClick(event: Event): void {\n this.generalVariationButtonClick.emit(event);\n }\n\n getVariant(variant: ButtonVariant) {\n if (variant === 'pink') {\n return 'primary';\n } else if (variant === 'black') {\n this.buttonApplicationTheme = 'light';\n return 'secondary';\n } else {\n this.buttonApplicationTheme = 'light';\n return 'ghost';\n }\n }\n}\n","<ng-container>\n <div class=\"empty-state-container\" [attr.theme]=\"applicationTheme\" [class.mobile]=\"emptyStateVariant === 'mobile'\">\n\n <div class=\"illustration\" *ngIf=\"showIllustration\" [attr.aria-hidden]=\"true\">\n <img *ngIf=\"applicationTheme === 'classic'\" [attr.src]=\"'/images/empty-state-default.svg'\" [width]=\"160\" [height]=\"160\" alt=\"illustration\">\n <img *ngIf=\"applicationTheme !== 'classic'\" [attr.src]=\"'/icons/rebrand/'+illustrationVariant+'-in-line.svg'\" [width]=\"160\" [height]=\"160\" alt=\"illustration\">\n </div>\n\n <div class=\"icon\" *ngIf=\"icon\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"icon\" size=\"40\"></ui-icon>\n </div>\n\n <div class=\"text-content\">\n <div class=\"title\">{{ title ? title : ('COMMON.NO_RESULTS') | uiTranslate | async }}</div>\n @if (safeBodyText) {\n <div class=\"body-text\" [innerHTML]=\"safeBodyText\"></div>\n }\n </div>\n\n <div class=\"actions\">\n <ui-button [fullWidth]=\"emptyStateVariant === 'mobile'\" [applicationTheme]=\"buttonApplicationTheme\" class=\"action-button\" *ngIf=\"primaryButtonText\" [variant]=\"applicationTheme !== 'classic' ? getVariant(primaryButtonVariant) : 'primary'\" [label]=\"primaryButtonText\" [iconName]=\"primaryButtonIconName\" [iconPosition]=\"primaryButtonIconPosition\" (buttonClickEvent)=\"onPrimaryButtonClick($event)\"></ui-button>\n <ui-button [fullWidth]=\"emptyStateVariant === 'mobile'\" [applicationTheme]=\"buttonApplicationTheme\" class=\"action-button\" *ngIf=\"secondaryButtonText\" [variant]=\"applicationTheme !== 'classic' ? getVariant(secondaryButtonVariant) : 'secondary'\" [label]=\"secondaryButtonText\" [iconName]=\"secondaryButtonIconName\" [iconPosition]=\"secondaryButtonIconPosition\" (buttonClickEvent)=\"onSecondaryButtonClick($event)\"></ui-button>\n <ui-button [fullWidth]=\"emptyStateVariant === 'mobile'\" [applicationTheme]=\"buttonApplicationTheme\" class=\"action-button\" *ngIf=\"tertiaryButtonText\" [variant]=\"applicationTheme !== 'classic' ? getVariant(tertiaryButtonVariant) : 'tertiary'\" [label]=\"tertiaryButtonText\" [iconName]=\"tertiaryButtonIconName\" [iconPosition]=\"tertiaryButtonIconPosition\" (buttonClickEvent)=\"onTertiaryButtonClick($event)\"></ui-button>\n @if (generalVariationButtonText) {\n <ui-button class=\"action-button\"\n [fullWidth]=\"emptyStateVariant === 'mobile'\"\n [applicationTheme]=\"buttonApplicationTheme\"\n [variant]=\"generalButtonVariation\"\n [label]=\"generalVariationButtonText\"\n [iconName]=\"generalVariationButtonIconName\"\n [iconPosition]=\"generalVariationButtonIconPosition\"\n [disabled]=\"generalVariationButtonDisabled\"\n [size]=\"generalVariationButtonSize\"\n (buttonClickEvent)=\"onGeneralVariationButtonClick($event)\"></ui-button>\n }\n </div>\n </div>\n</ng-container>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { EmptyStateComponent } from './empty-state.component';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\n\n@NgModule({\n declarations: [EmptyStateComponent],\n imports: [CommonModule, IconComponentModule, NgOptimizedImage, ButtonComponentModule, UiTranslatePipe],\n exports: [EmptyStateComponent],\n})\nexport class EmptyStateComponentModule {}\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-empty-state.mjs","sources":["../../../components/empty-state/empty-state.component.ts","../../../components/empty-state/empty-state.component.html","../../../components/empty-state/empty-state.component.module.ts","../../../components/empty-state/testgorilla-tgo-ui-components-empty-state.ts"],"sourcesContent":["import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { ButtonColor, ButtonIconPosition, ButtonSize } from '@testgorilla/tgo-ui/components/button';\nimport { IconName } from '@testgorilla/tgo-ui/components/icon';\nimport { ButtonVariant, EmptyStateVariant, IllustrationVariant } from './empty-state.model';\n\n@Component({\n selector: 'ui-empty-state',\n templateUrl: './empty-state.component.html',\n styleUrls: ['./empty-state.component.scss'],\n standalone: false,\n})\nexport class EmptyStateComponent {\n /**\n * @description If the default image should be displayed.\n * @type {boolean}\n * @memberof EmptyStateComponent\n */\n @Input() showIllustration = false;\n /**\n * @description If the default image should be displayed.\n * @type {IllustrationVariant}\n * @memberof EmptyStateComponent\n */\n @Input() illustrationVariant: IllustrationVariant = 'Empty-search';\n /**\n * @description The icon to be displayed in the empty state.\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() icon: IconName = '';\n\n /**\n * @description The empty state variant.\n * @type {EmptyStateVariant}\n * @memberof EmptyStateComponent\n */\n @Input() emptyStateVariant: EmptyStateVariant = 'desktop';\n\n /**\n * @description The title of the empty state.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() title = '';\n\n /**\n * @description The body text or description of the empty state.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() bodyText = '';\n\n /**\n * @description Displays primary button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() primaryButtonText = '';\n\n /**\n * Primary button variant - only for new theme.\n * @type {ButtonVariant}\n * @memberof EmptyStateComponent\n */\n @Input() primaryButtonVariant: ButtonVariant = 'pink';\n\n /**\n * General button variation - only for new theme.\n * @type {ButtonColor}\n * @memberof EmptyStateComponent\n */\n @Input() generalButtonVariation: ButtonColor = 'primary';\n\n /**\n * @description Name of ui-icon for primary button\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() primaryButtonIconName: IconName = '';\n\n /**\n * @description Position of ui-icon for primary button\n * @type {ButtonIconPosition}\n * @memberof EmptyStateComponent\n */\n @Input() primaryButtonIconPosition: ButtonIconPosition = 'left';\n\n /**\n * @description Displays secondary button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() secondaryButtonText = '';\n\n /**\n * Secondary button variant - only for new theme.\n * @type {ButtonVariant}\n * @memberof EmptyStateComponent\n */\n @Input() secondaryButtonVariant: ButtonVariant = 'black';\n\n /**\n * @description Name of ui-icon for secondary button\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() secondaryButtonIconName: IconName = '';\n\n /**\n * @description Position of ui-icon for secondary button\n * @type {ButtonIconPosition}\n * @memberof EmptyStateComponent\n */\n @Input() secondaryButtonIconPosition: ButtonIconPosition = 'left';\n\n /**\n * @description Displays tertiary button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() tertiaryButtonText = '';\n\n /**\n * Tertiary button variant - only for new theme.\n * @type {ButtonVariant}\n * @memberof EmptyStateComponent\n */\n @Input() tertiaryButtonVariant: ButtonVariant = 'ghost';\n\n /**\n * @description Name of ui-icon for tertiary button\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() tertiaryButtonIconName: IconName = '';\n\n /**\n * @description Position of ui-icon for tertiary button\n * @type {ButtonIconPosition}\n * @memberof EmptyStateComponent\n */\n @Input() tertiaryButtonIconPosition: ButtonIconPosition = 'left';\n\n /**\n * @description Displays general variation button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonText = '';\n\n /**\n * @description Displays general variation button if passed.\n * @type {string}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonSize: ButtonSize = 'big';\n\n /**\n * @description Name of ui-icon for general variation button\n * @type {IconName}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonIconName: IconName = '';\n\n /**\n * @description Position of ui-icon for general variation button\n * @type {ButtonIconPosition}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonIconPosition: ButtonIconPosition = 'left';\n\n /**\n * @description Disabled state for general variation button\n * @type {boolean}\n * @memberof EmptyStateComponent\n */\n @Input() generalVariationButtonDisabled = false;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof EmptyStateComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n /**\n * Event triggered when the primary button is clicked.\n * @type {Event}\n * @event\n * @memberof TagComponent\n */\n @Output() primaryButtonClick = new EventEmitter<Event>();\n\n /**\n * Event triggered when the secondary button is clicked.\n * @type {Event}\n * @event\n * @memberof TagComponent\n */\n @Output() secondaryButtonClick = new EventEmitter<Event>();\n\n /**\n * Event triggered when the tertiary button is clicked.\n * @type {Event}\n * @event\n * @memberof TagComponent\n */\n @Output() tertiaryButtonClick = new EventEmitter<Event>();\n\n /**\n * Event triggered when the general variation button is clicked.\n * @type {Event}\n * @event\n * @memberof TagComponent\n */\n @Output() generalVariationButtonClick = new EventEmitter<Event>();\n\n buttonApplicationTheme: ApplicationTheme;\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnInit() {\n if (this.applicationTheme !== 'classic') {\n this.buttonApplicationTheme = this.applicationTheme;\n }\n }\n\n onPrimaryButtonClick(event: Event): void {\n this.primaryButtonClick.emit(event);\n }\n\n onSecondaryButtonClick(event: Event): void {\n this.secondaryButtonClick.emit(event);\n }\n\n onTertiaryButtonClick(event: Event): void {\n this.tertiaryButtonClick.emit(event);\n }\n\n onGeneralVariationButtonClick(event: Event): void {\n this.generalVariationButtonClick.emit(event);\n }\n\n getVariant(variant: ButtonVariant) {\n if (variant === 'pink') {\n return 'primary';\n } else if (variant === 'black') {\n this.buttonApplicationTheme = 'light';\n return 'secondary';\n } else {\n this.buttonApplicationTheme = 'light';\n return 'ghost';\n }\n }\n}\n","<ng-container>\n <div class=\"empty-state-container\" [attr.theme]=\"applicationTheme\" [class.mobile]=\"emptyStateVariant === 'mobile'\">\n <div class=\"illustration\" *ngIf=\"showIllustration\" [attr.aria-hidden]=\"true\">\n <img\n *ngIf=\"applicationTheme === 'classic'\"\n [attr.src]=\"'/images/empty-state-default.svg'\"\n [width]=\"160\"\n [height]=\"160\"\n alt=\"illustration\"\n />\n <img\n *ngIf=\"applicationTheme !== 'classic'\"\n [attr.src]=\"'/icons/rebrand/' + illustrationVariant + '-in-line.svg'\"\n [width]=\"160\"\n [height]=\"160\"\n alt=\"illustration\"\n />\n </div>\n\n <div class=\"icon\" *ngIf=\"icon\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"icon\" size=\"40\"></ui-icon>\n </div>\n\n <div class=\"text-content\">\n <div class=\"title\">{{ title ? title : ('COMMON.NO_RESULTS' | uiTranslate | async) }}</div>\n @if (bodyText) {\n <div class=\"body-text\" [innerHTML]=\"bodyText\"></div>\n }\n </div>\n\n <div class=\"actions\">\n <ui-button\n [fullWidth]=\"emptyStateVariant === 'mobile'\"\n [applicationTheme]=\"buttonApplicationTheme\"\n class=\"action-button\"\n *ngIf=\"primaryButtonText\"\n [variant]=\"applicationTheme !== 'classic' ? getVariant(primaryButtonVariant) : 'primary'\"\n [label]=\"primaryButtonText\"\n [iconName]=\"primaryButtonIconName\"\n [iconPosition]=\"primaryButtonIconPosition\"\n (buttonClickEvent)=\"onPrimaryButtonClick($event)\"\n ></ui-button>\n <ui-button\n [fullWidth]=\"emptyStateVariant === 'mobile'\"\n [applicationTheme]=\"buttonApplicationTheme\"\n class=\"action-button\"\n *ngIf=\"secondaryButtonText\"\n [variant]=\"applicationTheme !== 'classic' ? getVariant(secondaryButtonVariant) : 'secondary'\"\n [label]=\"secondaryButtonText\"\n [iconName]=\"secondaryButtonIconName\"\n [iconPosition]=\"secondaryButtonIconPosition\"\n (buttonClickEvent)=\"onSecondaryButtonClick($event)\"\n ></ui-button>\n <ui-button\n [fullWidth]=\"emptyStateVariant === 'mobile'\"\n [applicationTheme]=\"buttonApplicationTheme\"\n class=\"action-button\"\n *ngIf=\"tertiaryButtonText\"\n [variant]=\"applicationTheme !== 'classic' ? getVariant(tertiaryButtonVariant) : 'tertiary'\"\n [label]=\"tertiaryButtonText\"\n [iconName]=\"tertiaryButtonIconName\"\n [iconPosition]=\"tertiaryButtonIconPosition\"\n (buttonClickEvent)=\"onTertiaryButtonClick($event)\"\n ></ui-button>\n @if (generalVariationButtonText) {\n <ui-button\n class=\"action-button\"\n [fullWidth]=\"emptyStateVariant === 'mobile'\"\n [applicationTheme]=\"buttonApplicationTheme\"\n [variant]=\"generalButtonVariation\"\n [label]=\"generalVariationButtonText\"\n [iconName]=\"generalVariationButtonIconName\"\n [iconPosition]=\"generalVariationButtonIconPosition\"\n [disabled]=\"generalVariationButtonDisabled\"\n [size]=\"generalVariationButtonSize\"\n (buttonClickEvent)=\"onGeneralVariationButtonClick($event)\"\n ></ui-button>\n }\n </div>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { EmptyStateComponent } from './empty-state.component';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\n\n@NgModule({\n declarations: [EmptyStateComponent],\n imports: [CommonModule, IconComponentModule, NgOptimizedImage, ButtonComponentModule, UiTranslatePipe],\n exports: [EmptyStateComponent],\n})\nexport class EmptyStateComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ class FieldComponent {
42
42
  * @memberof FieldComponent
43
43
  */
44
44
  set errors(errors) {
45
- this._errors = errors?.filter(Boolean).map(error => this.domSanitizer.bypassSecurityTrustHtml(error));
45
+ this._errors = errors?.filter(Boolean) ?? [];
46
46
  this.errorsLength = this.setErrorsLength();
47
47
  }
48
48
  get getPasswordIcon() {
@@ -94,9 +94,7 @@ class FieldComponent {
94
94
  *
95
95
  * @memberof FieldComponent
96
96
  */
97
- this.labelHtml = input(null, {
98
- transform: (value) => this.domSanitizer.bypassSecurityTrustHtml(value),
99
- });
97
+ this.labelHtml = input(null);
100
98
  /**
101
99
  * Input placeholder
102
100
  *
@@ -316,7 +314,7 @@ class FieldComponent {
316
314
  * @ignore
317
315
  */
318
316
  this.onTouch = () => { };
319
- this.trackByFn = (index, value) => value.changingThisBreaksApplicationSecurity;
317
+ this.trackByFn = (index, value) => value;
320
318
  if (defaultAppTheme) {
321
319
  this.applicationTheme = defaultAppTheme;
322
320
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testgorilla-tgo-ui-components-field.mjs","sources":["../../../components/field/field.component.ts","../../../components/field/field.component.html","../../../components/field/field.component.module.ts","../../../components/field/testgorilla-tgo-ui-components-field.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n input,\n Input,\n NgZone,\n OnInit,\n Optional,\n Output,\n Self,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { FieldType } from './field.model';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { BadgeVariant } from '@testgorilla/tgo-ui/components/badge';\nimport { IconName } from '@testgorilla/tgo-ui/components/icon';\n\n/**\n * A global counter used to generate unique field IDs.\n * This variable is incremented each time a new field ID is needed.\n *\n * @remarks\n * This is primarily used to ensure that each field component\n * has a unique identifier within the application / useful for their Aria Labels.\n */\nexport let fieldID = 0;\n\n@Component({\n selector: 'ui-field',\n templateUrl: './field.component.html',\n styleUrls: ['./field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n // eslint-disable-next-line @angular-eslint/prefer-standalone\n standalone: false,\n})\nexport class FieldComponent implements OnInit, ControlValueAccessor, DoCheck, AfterViewInit {\n @HostBinding() class = 'ui-field';\n\n /**\n * Indicator of the autocomplete width\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @HostBinding('class.full-width')\n @Input()\n fullWidth = true;\n\n /**\n * Indicator of the field height\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @HostBinding('class.full-height')\n @Input()\n fullHeight = false;\n\n /**\n * Form field label\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() label? = '';\n\n /**\n * Form field label from html\n *\n * @memberof FieldComponent\n */\n labelHtml = input(null, {\n transform: (value: string) => this.domSanitizer.bypassSecurityTrustHtml(value),\n });\n\n /**\n * Icon to display alongside the label\n *\n * @type {IconName}\n * @memberof FieldComponent\n */\n @Input() labelIcon?: IconName;\n\n /**\n * Input name attribute\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() fieldName?: string;\n\n /**\n * Input placeholder\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() placeholder? = '';\n\n /**\n * Input id\n *\n * @type {string}\n * @memberof FieldComponent\n */\n id = input(`field-${fieldID++}`);\n\n /**\n * Input value\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() value = '';\n\n /**\n * Variant of badge to use\n *\n * @type {BadgeVariant}\n * @memberof FieldComponent\n */\n @Input() badgeVariant?: BadgeVariant | undefined;\n\n _errors: SafeHtml[];\n /**\n * Input field errors\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() set errors(errors: string[]) {\n this._errors = errors?.filter(Boolean).map(error => this.domSanitizer.bypassSecurityTrustHtml(error));\n this.errorsLength = this.setErrorsLength();\n }\n\n /**\n * Determines if input is disabled\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() disabled: boolean;\n\n /**\n * Input is required or not\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() required: boolean;\n\n /**\n * Input is readonly or not\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() readOnly = false;\n\n /**\n * Hint text\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() hintMessage = '';\n\n /**\n * Input type\n *\n * @type {FieldType}\n * @memberof FieldComponent\n */\n @HostBinding('attr.field-class')\n @Input()\n type: FieldType = 'text';\n\n /**\n * Input is update only on blur\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() updateOnBlur = false;\n\n /**\n * allow only digits in input\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() allowOnlyDigits = false;\n\n /**\n * allow autocomplete off in input\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() isAutocompleteOff = false;\n\n /**\n * allow negative numbers\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() allowNegative = true;\n\n /**\n * Show reserved content below form field\n * @property showBottomContent\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() showBottomContent = true;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof FieldComponent\n */\n @HostBinding('attr.theme')\n @Input()\n applicationTheme: ApplicationTheme = 'light';\n\n /**\n * A string representing the ARIA label for accessibility.\n * This label is used to provide an accessible name for the input element.\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() ariaLabel: string;\n\n /**\n * Show loading button. Only for text\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() loading = false;\n\n /**\n * Show icon when field is valid\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() isValid = false;\n\n /**\n * Max characters number\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() maxCharacters = 255;\n\n /**\n * Trim text on blur\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() trimOnBlur = false;\n /**\n * Trim text on submit\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() trimOnSubmit = false;\n /**\n * Max rows for multi-line type\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() maxRows = 0;\n /**\n * has text area counter\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() hasTextAreaCounter = true;\n\n /**\n * Hide in build errors for Reactive Forms\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() hideBuiltInErrors = false;\n\n /**\n * Hide label in errors\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() hideLabelInErrors = false;\n\n /**\n * Set maximum number\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() max: number | undefined;\n\n /**\n * Set minimum number\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() min: number | undefined;\n\n /**\n * Sets textarea height. Default 110\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() textareaHeight = 110;\n\n /**\n * Sets textarea borderless. Default false\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() borderless = false;\n\n @Input() autosizableTextarea = false;\n\n /**\n * Indicates if this field is filled by AI\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() isAIVariant = false;\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used for input field Aria Labeled By Element Id.\n * @type {string}\n * @memberof FieldComponent\n */\n protected readonly ariaLabelledbyId = computed(() => `${this.id()}-labeledBy`);\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used for input field Aria LabeledBy Text.\n * @type {string}\n * @memberof FieldComponent\n */\n protected readonly ariaLabelledby = input<string | undefined>(undefined);\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used for input field Aria Described By Element Id.\n * @type {string}\n * @memberof FieldComponent\n */\n protected readonly ariaDescribedbyId = computed(() => `${this.id()}-describedBy`);\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used for input field Aria DescribedBy Text.\n * @type {string}\n * @memberof FieldComponent\n */\n protected readonly ariaDescribedby = input<string | undefined>(undefined);\n\n /**\n * Show state of error\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() hasError = false;\n\n @Output() validateEvent = new EventEmitter<string>();\n @Output() fieldBlur = new EventEmitter<void>();\n\n @ViewChild('inputElement', { read: ElementRef }) field: ElementRef<HTMLInputElement>;\n @ViewChild('autosize') autosize: CdkTextareaAutosize;\n\n get getPasswordIcon(): IconName {\n if (this.applicationTheme === 'classic') {\n return this.showPassword ? 'Eye-hide' : 'Eye-view';\n } else {\n if (!this.isActiveField && !this.isActiveHover) {\n return this.showPassword ? 'View-in-line' : 'Hide-in-line';\n } else {\n return this.showPassword ? 'View-filled' : 'Hide-filled';\n }\n }\n }\n\n isActiveField = false;\n isActiveHover = false;\n\n keyboardFocused = signal(false);\n\n protected readonly translationContext = 'FIELD.';\n\n /**\n * @ignore\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n private matIconRegistry: MatIconRegistry,\n private domSanitizer: DomSanitizer,\n private cdr: ChangeDetectorRef,\n @Optional() @Self() public ngControl: NgControl,\n private focusMonitor: FocusMonitor,\n private ngZone: NgZone,\n private destroyRef: DestroyRef\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor\n .monitor(this.field)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(origin =>\n this.ngZone.run(() => {\n queueMicrotask(() => {\n this.keyboardFocused.set(origin === 'keyboard');\n });\n })\n );\n\n if (this.type === 'multi-line') {\n this.autosize.resizeToFitContent(true);\n }\n }\n\n /**\n * Used to mark component view as dirty when touched programmatically with markAsTouched/markAllAsTouched or errors\n * to display validation errors that might happen (e.g. required)\n */\n ngDoCheck(): void {\n if (this.ngControl?.touched || this.ngControl?.errors) {\n this.cdr.markForCheck();\n }\n }\n\n showClose: boolean;\n showPassword: boolean;\n currentType: string;\n errorsLength: boolean;\n\n ngOnInit(): void {\n this.setSearchInput();\n this.currentType = this.getType();\n }\n\n validate(): void {\n this.validateEvent.emit(this.value);\n }\n\n //set search input initial value\n setSearchInput(): void {\n if (this.type === 'search' || this.type === 'collapsed-search') {\n this.matIconRegistry.addSvgIcon('Search', this.domSanitizer.bypassSecurityTrustResourceUrl('/icons/Search.svg'));\n if (this.value) {\n this.showClose = true;\n } else {\n this.showClose = false;\n }\n } else {\n this.showClose = false;\n }\n }\n\n //change type for reveal password\n getType(): string {\n if (this.type === 'password' && this.showPassword) {\n return 'text';\n }\n return this.type;\n }\n\n //Clear input value\n clearValue(): void {\n this.value = '';\n this.onChange(this.value);\n this.onChangeInputSearch();\n }\n\n //toggle for password\n showPasswordClick() {\n this.showPassword = !this.showPassword;\n this.currentType = this.getType();\n }\n\n //Set options for search input\n onChangeInputSearch() {\n if (this.type === 'search' || this.type === 'collapsed-search') {\n if (!this.value) {\n this.showClose = false;\n }\n if (this.value) {\n this.showClose = true;\n }\n }\n }\n\n // Set errors length for validation\n // Consider only those errors which which are not empty\n setErrorsLength(): boolean {\n if (this._errors) {\n return this._errors.filter(err => !!err).length > 0 ? true : false;\n }\n return false;\n }\n\n //Save input value\n onInput(event: any) {\n this.value = event.target.value;\n this.errorsLength = this.setErrorsLength();\n if (!this.updateOnBlur) {\n this.onTouch();\n }\n if (this.allowOnlyDigits && !this.allowNegative && +this.value < 0) {\n this.value = '0';\n } else {\n this.onChange(this.type === 'number' && this.value !== '' ? +this.value : this.value);\n }\n }\n\n writeValue(value?: any): void {\n if (value !== null && value !== undefined) {\n this.value = value;\n } else {\n this.value = '';\n }\n this.onChangeInputSearch();\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onActive(state: boolean, action: string): void {\n if (action === 'hover') {\n this.isActiveHover = state;\n } else if (action === 'focus') {\n this.isActiveField = state;\n\n if (!state && this.trimOnBlur) {\n this.clearSpace();\n }\n }\n }\n\n onSubmit(): void {\n if (this.trimOnSubmit) {\n this.clearSpace();\n }\n }\n\n private clearSpace(): void {\n this.value = this.value.trim();\n this.onChange(this.value);\n }\n\n onBlur(): void {\n this.fieldBlur.emit();\n }\n\n trackByFn = (index: number, value: any) => value.changingThisBreaksApplicationSecurity;\n\n focus(): void {\n this.field.nativeElement.focus();\n }\n\n refocusPasswordButton(btn: any) {\n setTimeout(() => {\n btn.focus('keyboard');\n }, 0);\n }\n}\n","<ng-container>\n <mat-form-field\n [ngStyle]=\"{\n '--textarea-height': textareaHeight - 10 + 'px',\n '--textarea-height-container': textareaHeight + 'px',\n }\"\n #uiField\n appearance=\"outline\"\n hideRequiredMarker=\"true\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError ? 'warn' : 'accent'\"\n [ngClass]=\"{\n 'hide-bottom-content': !showBottomContent,\n textarea: type === 'textarea' || type === 'textarea-scrollable',\n 'textarea-scrollable': type === 'textarea-scrollable',\n 'multi-line': type === 'multi-line',\n 'multi-line-textarea': type === 'multi-line' && autosizableTextarea && borderless,\n 'keyboard-focused': keyboardFocused(),\n 'has-label': !!label,\n 'has-value': !!value,\n 'text-area-borderless': borderless && (type === 'textarea' || type === 'textarea-scrollable'),\n }\"\n (mouseenter)=\"onActive(true, 'hover')\"\n (mouseleave)=\"onActive(false, 'hover')\"\n >\n <span [style.display]=\"'none'\" [id]=\"ariaDescribedbyId()\">\n @if (required) {\n <span>{{ 'ERRORS.REQUIRED' | uiTranslate | async }}</span>\n }\n {{ ariaDescribedby() }}\n </span>\n <span [style.display]=\"'none'\" [id]=\"ariaLabelledbyId()\">\n {{ ariaLabelledby() ?? label }}\n </span>\n <mat-label\n *ngIf=\"\n (label || labelHtml()) &&\n ((type !== 'search' && applicationTheme === 'classic') || applicationTheme !== 'classic')\n \"\n class=\"label-with-icon\"\n >\n @if (isAIVariant || labelIcon) {\n <ui-icon [name]=\"isAIVariant ? 'Sparkle-in-line' : labelIcon!\" [size]=\"'16'\" class=\"label-icon\"></ui-icon>\n }\n <span>\n @if (labelHtml()) {\n <span [innerHTML]=\"labelHtml()\"></span>\n } @else {\n {{ label }}\n }\n @if (required) {\n <span>*</span>\n }\n </span>\n </mat-label>\n <mat-icon\n *ngIf=\"type === 'search' || type === 'collapsed-search'\"\n matIconPrefix\n class=\"search-icon\"\n [svgIcon]=\"'Search'\"\n ></mat-icon>\n <input\n [readonly]=\"readOnly\"\n *ngIf=\"type !== 'textarea' && type !== 'textarea-scrollable' && type !== 'multi-line'; else textarea\"\n matInput\n #inputElement\n (blur)=\"onTouch(); onActive(false, 'focus'); onBlur()\"\n (input)=\"onInput($event)\"\n [id]=\"id()\"\n (keyup)=\"onChangeInputSearch()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled || loading\"\n [type]=\"currentType\"\n (keyup.enter)=\"onSubmit()\"\n [max]=\"max\"\n [min]=\"min\"\n [name]=\"fieldName!\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-invalid]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError\"\n [attr.aria-labelledby]=\"ariaLabelledbyId()\"\n [attr.aria-describedby]=\"ariaDescribedbyId()\"\n role=\"textbox\"\n digitsOnly\n [autocomplete]=\"isAutocompleteOff ? 'off' : 'on'\"\n [allowOnlyDigits]=\"allowOnlyDigits\"\n [allowNegative]=\"allowNegative\"\n (focusin)=\"onActive(true, 'focus')\"\n />\n\n <ng-template #textarea>\n <textarea\n matInput\n #inputElement\n #autosize=\"cdkTextareaAutosize\"\n [readonly]=\"readOnly\"\n (blur)=\"onTouch(); onActive(false, 'focus'); onBlur()\"\n (input)=\"onInput($event)\"\n [id]=\"id()\"\n (keyup)=\"onChangeInputSearch()\"\n (keyup.enter)=\"onSubmit()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [required]=\"required\"\n [attr.aria-label]=\"!label ? ariaLabel : ''\"\n [attr.aria-invalid]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError\"\n [attr.aria-labelledby]=\"ariaLabelledbyId()\"\n [attr.aria-describedby]=\"ariaDescribedbyId()\"\n role=\"textbox\"\n [cdkTextareaAutosize]=\"type === 'multi-line'\"\n [cdkAutosizeMinRows]=\"type === 'multi-line' ? 1 : 5\"\n [cdkAutosizeMaxRows]=\"type === 'multi-line' ? maxRows : 5\"\n (focusin)=\"onActive(true, 'focus')\"\n ></textarea>\n </ng-template>\n\n <div\n class=\"options\"\n *ngIf=\"type === 'search' || type === 'collapsed-search' || type === 'password' || type === 'validation-text'\"\n >\n <div class=\"options-container\">\n <ui-button\n *ngIf=\"showClose\"\n variant=\"secondary\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n [label]=\"('COMMON.CLEAR' | uiTranslate | async)!\"\n (buttonClickEvent)=\"clearValue()\"\n [ariaLabel]=\"ariaLabel + '--' + ('COMMON.CLEAR' | uiTranslate | async)\"\n ></ui-button>\n <ui-button\n class=\"password\"\n variant=\"secondary\"\n [tooltip]=\"((showPassword ? 'FIELD.HIDE_PASSWORD' : 'FIELD.SHOW_PASSWORD') | uiTranslate | async)!\"\n *ngIf=\"type === 'password'\"\n [justIcon]=\"true\"\n role=\"switch\"\n [attr.aria-checked]=\"showPassword\"\n [iconName]=\"getPasswordIcon\"\n [applicationTheme]=\"applicationTheme\"\n (click)=\"showPasswordClick()\"\n #btn\n (keydown.enter)=\"refocusPasswordButton(btn)\"\n (keydown.space)=\"refocusPasswordButton(btn)\"\n ></ui-button>\n\n <ng-container\n *ngIf=\"\n type === 'validation-text' && (applicationTheme === 'dark' || applicationTheme === 'light') && value.length\n \"\n >\n <ui-button\n *ngIf=\"!isValid\"\n class=\"validation\"\n [variant]=\"'text'\"\n [applicationTheme]=\"'light'\"\n [label]=\"'Validate'\"\n [loading]=\"loading\"\n (click)=\"validate()\"\n [disabled]=\"disabled\"\n [size]=\"'small'\"\n ></ui-button>\n <ui-icon class=\"valid\" [color]=\"'white'\" applicationTheme=\"light\" [name]=\"'Check'\" *ngIf=\"isValid\"></ui-icon>\n </ng-container>\n </div>\n </div>\n @if (hasTextAreaCounter) {\n <mat-hint\n class=\"info\"\n *ngIf=\"\n (type === 'textarea' || type === 'textarea-scrollable') &&\n !errorsLength &&\n !(ngControl?.errors | hasValidationError)\n \"\n >{{ value.length }} / {{ maxCharacters }}</mat-hint\n >\n }\n\n <mat-hint\n class=\"info\"\n *ngIf=\"\n hintMessage &&\n !errorsLength &&\n !(ngControl?.errors | hasValidationError) &&\n type !== 'textarea' &&\n type !== 'textarea-scrollable'\n \"\n >{{ hintMessage }}</mat-hint\n >\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-template [ngIf]=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-template>\n\n <ui-validation-error\n *ngIf=\"ngControl && !hideBuiltInErrors\"\n [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"\n ></ui-validation-error>\n </mat-hint>\n\n @if (badgeVariant) {\n <ui-badge class=\"field-badge\" [variant]=\"badgeVariant\"></ui-badge>\n }\n </mat-form-field>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { DigitsOnlyDirective } from '@testgorilla/tgo-ui/components/core';\nimport { FieldComponent } from './field.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { ValidationErrorModule } from '@testgorilla/tgo-ui/components/validation-error';\nimport { HasValidationErrorPipe } from '@testgorilla/tgo-ui/components/core';\nimport { BadgeComponentModule } from '@testgorilla/tgo-ui/components/badge';\n\n@NgModule({\n declarations: [FieldComponent],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n IconComponentModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonComponentModule,\n MatIconModule,\n UiTranslatePipe,\n ValidationErrorModule,\n HasValidationErrorPipe,\n DigitsOnlyDirective,\n BadgeComponentModule,\n ],\n exports: [FieldComponent],\n})\nexport class FieldComponentModule {}\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-field.mjs","sources":["../../../components/field/field.component.ts","../../../components/field/field.component.html","../../../components/field/field.component.module.ts","../../../components/field/testgorilla-tgo-ui-components-field.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n input,\n Input,\n NgZone,\n OnInit,\n Optional,\n Output,\n Self,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { FieldType } from './field.model';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { BadgeVariant } from '@testgorilla/tgo-ui/components/badge';\nimport { IconName } from '@testgorilla/tgo-ui/components/icon';\n\n/**\n * A global counter used to generate unique field IDs.\n * This variable is incremented each time a new field ID is needed.\n *\n * @remarks\n * This is primarily used to ensure that each field component\n * has a unique identifier within the application / useful for their Aria Labels.\n */\nexport let fieldID = 0;\n\n@Component({\n selector: 'ui-field',\n templateUrl: './field.component.html',\n styleUrls: ['./field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n // eslint-disable-next-line @angular-eslint/prefer-standalone\n standalone: false,\n})\nexport class FieldComponent implements OnInit, ControlValueAccessor, DoCheck, AfterViewInit {\n @HostBinding() class = 'ui-field';\n\n /**\n * Indicator of the autocomplete width\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @HostBinding('class.full-width')\n @Input()\n fullWidth = true;\n\n /**\n * Indicator of the field height\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @HostBinding('class.full-height')\n @Input()\n fullHeight = false;\n\n /**\n * Form field label\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() label? = '';\n\n /**\n * Form field label from html\n *\n * @memberof FieldComponent\n */\n labelHtml = input<string | null>(null);\n\n /**\n * Icon to display alongside the label\n *\n * @type {IconName}\n * @memberof FieldComponent\n */\n @Input() labelIcon?: IconName;\n\n /**\n * Input name attribute\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() fieldName?: string;\n\n /**\n * Input placeholder\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() placeholder? = '';\n\n /**\n * Input id\n *\n * @type {string}\n * @memberof FieldComponent\n */\n id = input(`field-${fieldID++}`);\n\n /**\n * Input value\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() value = '';\n\n /**\n * Variant of badge to use\n *\n * @type {BadgeVariant}\n * @memberof FieldComponent\n */\n @Input() badgeVariant?: BadgeVariant | undefined;\n\n _errors: string[];\n /**\n * Input field errors\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() set errors(errors: string[]) {\n this._errors = errors?.filter(Boolean) ?? [];\n this.errorsLength = this.setErrorsLength();\n }\n\n /**\n * Determines if input is disabled\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() disabled: boolean;\n\n /**\n * Input is required or not\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() required: boolean;\n\n /**\n * Input is readonly or not\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() readOnly = false;\n\n /**\n * Hint text\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() hintMessage = '';\n\n /**\n * Input type\n *\n * @type {FieldType}\n * @memberof FieldComponent\n */\n @HostBinding('attr.field-class')\n @Input()\n type: FieldType = 'text';\n\n /**\n * Input is update only on blur\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() updateOnBlur = false;\n\n /**\n * allow only digits in input\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() allowOnlyDigits = false;\n\n /**\n * allow autocomplete off in input\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() isAutocompleteOff = false;\n\n /**\n * allow negative numbers\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() allowNegative = true;\n\n /**\n * Show reserved content below form field\n * @property showBottomContent\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() showBottomContent = true;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof FieldComponent\n */\n @HostBinding('attr.theme')\n @Input()\n applicationTheme: ApplicationTheme = 'light';\n\n /**\n * A string representing the ARIA label for accessibility.\n * This label is used to provide an accessible name for the input element.\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() ariaLabel: string;\n\n /**\n * Show loading button. Only for text\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() loading = false;\n\n /**\n * Show icon when field is valid\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() isValid = false;\n\n /**\n * Max characters number\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() maxCharacters = 255;\n\n /**\n * Trim text on blur\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() trimOnBlur = false;\n /**\n * Trim text on submit\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() trimOnSubmit = false;\n /**\n * Max rows for multi-line type\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() maxRows = 0;\n /**\n * has text area counter\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() hasTextAreaCounter = true;\n\n /**\n * Hide in build errors for Reactive Forms\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() hideBuiltInErrors = false;\n\n /**\n * Hide label in errors\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() hideLabelInErrors = false;\n\n /**\n * Set maximum number\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() max: number | undefined;\n\n /**\n * Set minimum number\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() min: number | undefined;\n\n /**\n * Sets textarea height. Default 110\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() textareaHeight = 110;\n\n /**\n * Sets textarea borderless. Default false\n *\n * @type {number}\n * @memberof FieldComponent\n */\n @Input() borderless = false;\n\n @Input() autosizableTextarea = false;\n\n /**\n * Indicates if this field is filled by AI\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() isAIVariant = false;\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used for input field Aria Labeled By Element Id.\n * @type {string}\n * @memberof FieldComponent\n */\n protected readonly ariaLabelledbyId = computed(() => `${this.id()}-labeledBy`);\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used for input field Aria LabeledBy Text.\n * @type {string}\n * @memberof FieldComponent\n */\n protected readonly ariaLabelledby = input<string | undefined>(undefined);\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used for input field Aria Described By Element Id.\n * @type {string}\n * @memberof FieldComponent\n */\n protected readonly ariaDescribedbyId = computed(() => `${this.id()}-describedBy`);\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used for input field Aria DescribedBy Text.\n * @type {string}\n * @memberof FieldComponent\n */\n protected readonly ariaDescribedby = input<string | undefined>(undefined);\n\n /**\n * Show state of error\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() hasError = false;\n\n @Output() validateEvent = new EventEmitter<string>();\n @Output() fieldBlur = new EventEmitter<void>();\n\n @ViewChild('inputElement', { read: ElementRef }) field: ElementRef<HTMLInputElement>;\n @ViewChild('autosize') autosize: CdkTextareaAutosize;\n\n get getPasswordIcon(): IconName {\n if (this.applicationTheme === 'classic') {\n return this.showPassword ? 'Eye-hide' : 'Eye-view';\n } else {\n if (!this.isActiveField && !this.isActiveHover) {\n return this.showPassword ? 'View-in-line' : 'Hide-in-line';\n } else {\n return this.showPassword ? 'View-filled' : 'Hide-filled';\n }\n }\n }\n\n isActiveField = false;\n isActiveHover = false;\n\n keyboardFocused = signal(false);\n\n protected readonly translationContext = 'FIELD.';\n\n /**\n * @ignore\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n private matIconRegistry: MatIconRegistry,\n private domSanitizer: DomSanitizer,\n private cdr: ChangeDetectorRef,\n @Optional() @Self() public ngControl: NgControl,\n private focusMonitor: FocusMonitor,\n private ngZone: NgZone,\n private destroyRef: DestroyRef\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor\n .monitor(this.field)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(origin =>\n this.ngZone.run(() => {\n queueMicrotask(() => {\n this.keyboardFocused.set(origin === 'keyboard');\n });\n })\n );\n\n if (this.type === 'multi-line') {\n this.autosize.resizeToFitContent(true);\n }\n }\n\n /**\n * Used to mark component view as dirty when touched programmatically with markAsTouched/markAllAsTouched or errors\n * to display validation errors that might happen (e.g. required)\n */\n ngDoCheck(): void {\n if (this.ngControl?.touched || this.ngControl?.errors) {\n this.cdr.markForCheck();\n }\n }\n\n showClose: boolean;\n showPassword: boolean;\n currentType: string;\n errorsLength: boolean;\n\n ngOnInit(): void {\n this.setSearchInput();\n this.currentType = this.getType();\n }\n\n validate(): void {\n this.validateEvent.emit(this.value);\n }\n\n //set search input initial value\n setSearchInput(): void {\n if (this.type === 'search' || this.type === 'collapsed-search') {\n this.matIconRegistry.addSvgIcon('Search', this.domSanitizer.bypassSecurityTrustResourceUrl('/icons/Search.svg'));\n if (this.value) {\n this.showClose = true;\n } else {\n this.showClose = false;\n }\n } else {\n this.showClose = false;\n }\n }\n\n //change type for reveal password\n getType(): string {\n if (this.type === 'password' && this.showPassword) {\n return 'text';\n }\n return this.type;\n }\n\n //Clear input value\n clearValue(): void {\n this.value = '';\n this.onChange(this.value);\n this.onChangeInputSearch();\n }\n\n //toggle for password\n showPasswordClick() {\n this.showPassword = !this.showPassword;\n this.currentType = this.getType();\n }\n\n //Set options for search input\n onChangeInputSearch() {\n if (this.type === 'search' || this.type === 'collapsed-search') {\n if (!this.value) {\n this.showClose = false;\n }\n if (this.value) {\n this.showClose = true;\n }\n }\n }\n\n // Set errors length for validation\n // Consider only those errors which which are not empty\n setErrorsLength(): boolean {\n if (this._errors) {\n return this._errors.filter(err => !!err).length > 0 ? true : false;\n }\n return false;\n }\n\n //Save input value\n onInput(event: any) {\n this.value = event.target.value;\n this.errorsLength = this.setErrorsLength();\n if (!this.updateOnBlur) {\n this.onTouch();\n }\n if (this.allowOnlyDigits && !this.allowNegative && +this.value < 0) {\n this.value = '0';\n } else {\n this.onChange(this.type === 'number' && this.value !== '' ? +this.value : this.value);\n }\n }\n\n writeValue(value?: any): void {\n if (value !== null && value !== undefined) {\n this.value = value;\n } else {\n this.value = '';\n }\n this.onChangeInputSearch();\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onActive(state: boolean, action: string): void {\n if (action === 'hover') {\n this.isActiveHover = state;\n } else if (action === 'focus') {\n this.isActiveField = state;\n\n if (!state && this.trimOnBlur) {\n this.clearSpace();\n }\n }\n }\n\n onSubmit(): void {\n if (this.trimOnSubmit) {\n this.clearSpace();\n }\n }\n\n private clearSpace(): void {\n this.value = this.value.trim();\n this.onChange(this.value);\n }\n\n onBlur(): void {\n this.fieldBlur.emit();\n }\n\n trackByFn = (index: number, value: string) => value;\n\n focus(): void {\n this.field.nativeElement.focus();\n }\n\n refocusPasswordButton(btn: any) {\n setTimeout(() => {\n btn.focus('keyboard');\n }, 0);\n }\n}\n","<ng-container>\n <mat-form-field\n [ngStyle]=\"{\n '--textarea-height': textareaHeight - 10 + 'px',\n '--textarea-height-container': textareaHeight + 'px',\n }\"\n #uiField\n appearance=\"outline\"\n hideRequiredMarker=\"true\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError ? 'warn' : 'accent'\"\n [ngClass]=\"{\n 'hide-bottom-content': !showBottomContent,\n textarea: type === 'textarea' || type === 'textarea-scrollable',\n 'textarea-scrollable': type === 'textarea-scrollable',\n 'multi-line': type === 'multi-line',\n 'multi-line-textarea': type === 'multi-line' && autosizableTextarea && borderless,\n 'keyboard-focused': keyboardFocused(),\n 'has-label': !!label,\n 'has-value': !!value,\n 'text-area-borderless': borderless && (type === 'textarea' || type === 'textarea-scrollable'),\n }\"\n (mouseenter)=\"onActive(true, 'hover')\"\n (mouseleave)=\"onActive(false, 'hover')\"\n >\n <span [style.display]=\"'none'\" [id]=\"ariaDescribedbyId()\">\n @if (required) {\n <span>{{ 'ERRORS.REQUIRED' | uiTranslate | async }}</span>\n }\n {{ ariaDescribedby() }}\n </span>\n <span [style.display]=\"'none'\" [id]=\"ariaLabelledbyId()\">\n {{ ariaLabelledby() ?? label }}\n </span>\n <mat-label\n *ngIf=\"\n (label || labelHtml()) &&\n ((type !== 'search' && applicationTheme === 'classic') || applicationTheme !== 'classic')\n \"\n class=\"label-with-icon\"\n >\n @if (isAIVariant || labelIcon) {\n <ui-icon [name]=\"isAIVariant ? 'Sparkle-in-line' : labelIcon!\" [size]=\"'16'\" class=\"label-icon\"></ui-icon>\n }\n <span>\n @if (labelHtml()) {\n <span [innerHTML]=\"labelHtml()\"></span>\n } @else {\n {{ label }}\n }\n @if (required) {\n <span>*</span>\n }\n </span>\n </mat-label>\n <mat-icon\n *ngIf=\"type === 'search' || type === 'collapsed-search'\"\n matIconPrefix\n class=\"search-icon\"\n [svgIcon]=\"'Search'\"\n ></mat-icon>\n <input\n [readonly]=\"readOnly\"\n *ngIf=\"type !== 'textarea' && type !== 'textarea-scrollable' && type !== 'multi-line'; else textarea\"\n matInput\n #inputElement\n (blur)=\"onTouch(); onActive(false, 'focus'); onBlur()\"\n (input)=\"onInput($event)\"\n [id]=\"id()\"\n (keyup)=\"onChangeInputSearch()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled || loading\"\n [type]=\"currentType\"\n (keyup.enter)=\"onSubmit()\"\n [max]=\"max\"\n [min]=\"min\"\n [name]=\"fieldName!\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-invalid]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError\"\n [attr.aria-labelledby]=\"ariaLabelledbyId()\"\n [attr.aria-describedby]=\"ariaDescribedbyId()\"\n role=\"textbox\"\n digitsOnly\n [autocomplete]=\"isAutocompleteOff ? 'off' : 'on'\"\n [allowOnlyDigits]=\"allowOnlyDigits\"\n [allowNegative]=\"allowNegative\"\n (focusin)=\"onActive(true, 'focus')\"\n />\n\n <ng-template #textarea>\n <textarea\n matInput\n #inputElement\n #autosize=\"cdkTextareaAutosize\"\n [readonly]=\"readOnly\"\n (blur)=\"onTouch(); onActive(false, 'focus'); onBlur()\"\n (input)=\"onInput($event)\"\n [id]=\"id()\"\n (keyup)=\"onChangeInputSearch()\"\n (keyup.enter)=\"onSubmit()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [required]=\"required\"\n [attr.aria-label]=\"!label ? ariaLabel : ''\"\n [attr.aria-invalid]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError\"\n [attr.aria-labelledby]=\"ariaLabelledbyId()\"\n [attr.aria-describedby]=\"ariaDescribedbyId()\"\n role=\"textbox\"\n [cdkTextareaAutosize]=\"type === 'multi-line'\"\n [cdkAutosizeMinRows]=\"type === 'multi-line' ? 1 : 5\"\n [cdkAutosizeMaxRows]=\"type === 'multi-line' ? maxRows : 5\"\n (focusin)=\"onActive(true, 'focus')\"\n ></textarea>\n </ng-template>\n\n <div\n class=\"options\"\n *ngIf=\"type === 'search' || type === 'collapsed-search' || type === 'password' || type === 'validation-text'\"\n >\n <div class=\"options-container\">\n <ui-button\n *ngIf=\"showClose\"\n variant=\"secondary\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n [label]=\"('COMMON.CLEAR' | uiTranslate | async)!\"\n (buttonClickEvent)=\"clearValue()\"\n [ariaLabel]=\"ariaLabel + '--' + ('COMMON.CLEAR' | uiTranslate | async)\"\n ></ui-button>\n <ui-button\n class=\"password\"\n variant=\"secondary\"\n [tooltip]=\"((showPassword ? 'FIELD.HIDE_PASSWORD' : 'FIELD.SHOW_PASSWORD') | uiTranslate | async)!\"\n *ngIf=\"type === 'password'\"\n [justIcon]=\"true\"\n role=\"switch\"\n [attr.aria-checked]=\"showPassword\"\n [iconName]=\"getPasswordIcon\"\n [applicationTheme]=\"applicationTheme\"\n (click)=\"showPasswordClick()\"\n #btn\n (keydown.enter)=\"refocusPasswordButton(btn)\"\n (keydown.space)=\"refocusPasswordButton(btn)\"\n ></ui-button>\n\n <ng-container\n *ngIf=\"\n type === 'validation-text' && (applicationTheme === 'dark' || applicationTheme === 'light') && value.length\n \"\n >\n <ui-button\n *ngIf=\"!isValid\"\n class=\"validation\"\n [variant]=\"'text'\"\n [applicationTheme]=\"'light'\"\n [label]=\"'Validate'\"\n [loading]=\"loading\"\n (click)=\"validate()\"\n [disabled]=\"disabled\"\n [size]=\"'small'\"\n ></ui-button>\n <ui-icon class=\"valid\" [color]=\"'white'\" applicationTheme=\"light\" [name]=\"'Check'\" *ngIf=\"isValid\"></ui-icon>\n </ng-container>\n </div>\n </div>\n @if (hasTextAreaCounter) {\n <mat-hint\n class=\"info\"\n *ngIf=\"\n (type === 'textarea' || type === 'textarea-scrollable') &&\n !errorsLength &&\n !(ngControl?.errors | hasValidationError)\n \"\n >{{ value.length }} / {{ maxCharacters }}</mat-hint\n >\n }\n\n <mat-hint\n class=\"info\"\n *ngIf=\"\n hintMessage &&\n !errorsLength &&\n !(ngControl?.errors | hasValidationError) &&\n type !== 'textarea' &&\n type !== 'textarea-scrollable'\n \"\n >{{ hintMessage }}</mat-hint\n >\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-template [ngIf]=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-template>\n\n <ui-validation-error\n *ngIf=\"ngControl && !hideBuiltInErrors\"\n [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"\n ></ui-validation-error>\n </mat-hint>\n\n @if (badgeVariant) {\n <ui-badge class=\"field-badge\" [variant]=\"badgeVariant\"></ui-badge>\n }\n </mat-form-field>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { DigitsOnlyDirective } from '@testgorilla/tgo-ui/components/core';\nimport { FieldComponent } from './field.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { ValidationErrorModule } from '@testgorilla/tgo-ui/components/validation-error';\nimport { HasValidationErrorPipe } from '@testgorilla/tgo-ui/components/core';\nimport { BadgeComponentModule } from '@testgorilla/tgo-ui/components/badge';\n\n@NgModule({\n declarations: [FieldComponent],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n IconComponentModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonComponentModule,\n MatIconModule,\n UiTranslatePipe,\n ValidationErrorModule,\n HasValidationErrorPipe,\n DigitsOnlyDirective,\n BadgeComponentModule,\n ],\n exports: [FieldComponent],\n})\nexport class FieldComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,22 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Inject, Component } from '@angular/core';
3
- import * as i3 from '@angular/common';
3
+ import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@angular/material/dialog';
6
6
  import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
7
- import * as i4 from '@testgorilla/tgo-ui/components/button';
7
+ import * as i3 from '@testgorilla/tgo-ui/components/button';
8
8
  import { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';
9
- import * as i5 from '@testgorilla/tgo-ui/components/dialog';
9
+ import * as i4 from '@testgorilla/tgo-ui/components/dialog';
10
10
  import { DialogComponentModule } from '@testgorilla/tgo-ui/components/dialog';
11
- import * as i6 from '@testgorilla/tgo-ui/components/progress-bar';
11
+ import * as i5 from '@testgorilla/tgo-ui/components/progress-bar';
12
12
  import { ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';
13
- import * as i2 from '@angular/platform-browser';
14
13
 
15
14
  class MediaDialogComponent {
16
- constructor(dialogRef, data, domSanitizer) {
15
+ constructor(dialogRef, data) {
17
16
  this.dialogRef = dialogRef;
18
17
  this.data = data;
19
- this.domSanitizer = domSanitizer;
20
18
  this.primaryButtonDataTestId = 'media-dialog.confirm-button';
21
19
  this.secondaryButtonDataTestId = 'media-dialog.cancel-button';
22
20
  this.backButtonDataTestId = 'media-dialog.back-button';
@@ -34,7 +32,7 @@ class MediaDialogComponent {
34
32
  this.currentStepIndex = index;
35
33
  this.title = step.title;
36
34
  this.subheader = step.subheader;
37
- this.body = this.domSanitizer.bypassSecurityTrustHtml(step.body ?? '');
35
+ this.body = step.body ?? '';
38
36
  this.mediaContainer = step.mediaContainer;
39
37
  this.primaryButtonLabel = step?.primaryButtonLabel;
40
38
  this.secondaryButtonLabel = step?.secondaryButtonLabel;
@@ -63,8 +61,8 @@ class MediaDialogComponent {
63
61
  dismiss() {
64
62
  this.dialogRef.close(null);
65
63
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MediaDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: MediaDialogComponent, isStandalone: true, selector: "ui-media-dialog", ngImport: i0, template: "<ng-container>\n @if (steps && steps.length > 1) {\n <ui-progress-bar [progress]=\"(currentStepIndex + 1) * (100 / steps.length)\"></ui-progress-bar>\n }\n\n <ui-dialog\n [title]=\"title\"\n (closeEvent)=\"dialogRef.close(null)\"\n [showCloseButton]=\"true\"\n >\n @if (mediaContainer) {\n <div class=\"media-container\">\n <ng-container [ngTemplateOutlet]=\"mediaContainer\"></ng-container>\n </div>\n }\n\n @if (subheader) {\n <h4 class=\"subheader\">{{ subheader }}</h4>\n }\n\n @if (body) {\n <div [innerHTML]=\"body\"></div>\n }\n\n <div mat-dialog-actions class=\"footer\">\n <div>\n @if (backButtonLabel && currentStepIndex > 0) {\n <ui-button\n variant=\"text-inline\"\n size=\"medium\"\n [label]=\"backButtonLabel\"\n [attr.data-testid]=\"backButtonDataTestId\"\n (click)=\"onBackButtonClick()\"\n ></ui-button>\n }\n </div>\n\n <div class=\"action-buttons\">\n @if (secondaryButtonLabel) {\n <ui-button\n variant=\"ghost\"\n [label]=\"secondaryButtonLabel\"\n [attr.data-testid]=\"secondaryButtonDataTestId\"\n (click)=\"onSecondaryButtonClick()\"\n ></ui-button>\n }\n @if (primaryButtonLabel) {\n <ui-button\n variant=\"primary\"\n [label]=\"primaryButtonLabel\"\n [attr.data-testid]=\"primaryButtonDataTestId\"\n (click)=\"onPrimaryButtonClick()\"\n ></ui-button>\n }\n </div>\n </div>\n </ui-dialog>\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}ui-progress-bar{position:absolute;top:0;left:0;width:100%}.media-container{width:536px;height:302px;border-radius:10px;margin-bottom:16px;overflow:hidden}.subheader{margin:0 0 8px!important}.footer{display:flex;justify-content:space-between;align-items:center}.footer .action-buttons{display:flex;gap:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: ButtonComponentModule }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "ngmodule", type: DialogComponentModule }, { kind: "component", type: i5.DialogComponent, selector: "ui-dialog", inputs: ["title", "showCloseButton", "canCloseFn", "secondaryButtonLabel", "footerMessage", "primaryButtonLabel", "primaryButtonIconName", "secondaryButtonType", "primaryButtonType", "primaryButtonDataTestId", "secondaryButtonDataTestId", "companyColor", "applicationTheme", "disablePrimaryButton", "disableClose", "shouldDisableButtons", "ariaLabelledby", "ariaDescribedby", "keyboardOpen", "primaryButtonIconPosition"], outputs: ["closeEvent", "secondaryButtonClickEvent", "primaryButtonClickEvent"] }, { kind: "ngmodule", type: ProgressBarComponentModule }, { kind: "component", type: i6.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }] }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MediaDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: MediaDialogComponent, isStandalone: true, selector: "ui-media-dialog", ngImport: i0, template: "<ng-container>\n @if (steps && steps.length > 1) {\n <ui-progress-bar [progress]=\"(currentStepIndex + 1) * (100 / steps.length)\"></ui-progress-bar>\n }\n\n <ui-dialog\n [title]=\"title\"\n (closeEvent)=\"dialogRef.close(null)\"\n [showCloseButton]=\"true\"\n >\n @if (mediaContainer) {\n <div class=\"media-container\">\n <ng-container [ngTemplateOutlet]=\"mediaContainer\"></ng-container>\n </div>\n }\n\n @if (subheader) {\n <h4 class=\"subheader\">{{ subheader }}</h4>\n }\n\n @if (body) {\n <div [innerHTML]=\"body\"></div>\n }\n\n <div mat-dialog-actions class=\"footer\">\n <div>\n @if (backButtonLabel && currentStepIndex > 0) {\n <ui-button\n variant=\"text-inline\"\n size=\"medium\"\n [label]=\"backButtonLabel\"\n [attr.data-testid]=\"backButtonDataTestId\"\n (click)=\"onBackButtonClick()\"\n ></ui-button>\n }\n </div>\n\n <div class=\"action-buttons\">\n @if (secondaryButtonLabel) {\n <ui-button\n variant=\"ghost\"\n [label]=\"secondaryButtonLabel\"\n [attr.data-testid]=\"secondaryButtonDataTestId\"\n (click)=\"onSecondaryButtonClick()\"\n ></ui-button>\n }\n @if (primaryButtonLabel) {\n <ui-button\n variant=\"primary\"\n [label]=\"primaryButtonLabel\"\n [attr.data-testid]=\"primaryButtonDataTestId\"\n (click)=\"onPrimaryButtonClick()\"\n ></ui-button>\n }\n </div>\n </div>\n </ui-dialog>\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}ui-progress-bar{position:absolute;top:0;left:0;width:100%}.media-container{width:536px;height:302px;border-radius:10px;margin-bottom:16px;overflow:hidden}.subheader{margin:0 0 8px!important}.footer{display:flex;justify-content:space-between;align-items:center}.footer .action-buttons{display:flex;gap:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: ButtonComponentModule }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "ngmodule", type: DialogComponentModule }, { kind: "component", type: i4.DialogComponent, selector: "ui-dialog", inputs: ["title", "showCloseButton", "canCloseFn", "secondaryButtonLabel", "footerMessage", "primaryButtonLabel", "primaryButtonIconName", "secondaryButtonType", "primaryButtonType", "primaryButtonDataTestId", "secondaryButtonDataTestId", "companyColor", "applicationTheme", "disablePrimaryButton", "disableClose", "shouldDisableButtons", "ariaLabelledby", "ariaDescribedby", "keyboardOpen", "primaryButtonIconPosition"], outputs: ["closeEvent", "secondaryButtonClickEvent", "primaryButtonClickEvent"] }, { kind: "ngmodule", type: ProgressBarComponentModule }, { kind: "component", type: i5.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }] }); }
68
66
  }
69
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MediaDialogComponent, decorators: [{
70
68
  type: Component,
@@ -72,7 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
72
70
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
73
71
  type: Inject,
74
72
  args: [MAT_DIALOG_DATA]
75
- }] }, { type: i2.DomSanitizer }] });
73
+ }] }] });
76
74
 
77
75
  /**
78
76
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"testgorilla-tgo-ui-components-media-dialog.mjs","sources":["../../../components/media-dialog/media-dialog.component.ts","../../../components/media-dialog/media-dialog.component.html","../../../components/media-dialog/testgorilla-tgo-ui-components-media-dialog.ts"],"sourcesContent":["import { Component, Inject, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { DialogComponentModule } from '@testgorilla/tgo-ui/components/dialog';\nimport { MediaDialogData, MediaDialogStep } from './media-dialog.model';\nimport { ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';\n\n@Component({\n selector: 'ui-media-dialog',\n templateUrl: './media-dialog.component.html',\n styleUrls: ['./media-dialog.component.scss'],\n imports: [CommonModule, MatDialogModule, ButtonComponentModule, DialogComponentModule, ProgressBarComponentModule]\n})\nexport class MediaDialogComponent {\n primaryButtonLabel: string | undefined;\n secondaryButtonLabel: string | undefined;\n backButtonLabel: string | undefined;\n title: string | undefined;\n primaryButtonDataTestId = 'media-dialog.confirm-button';\n secondaryButtonDataTestId = 'media-dialog.cancel-button';\n backButtonDataTestId = 'media-dialog.back-button';\n\n mediaContainer: TemplateRef<any>;\n subheader: string | undefined;\n body: SafeHtml;\n\n currentStepIndex = 0;\n steps: MediaDialogStep[] = [];\n\n constructor(\n public dialogRef: MatDialogRef<MediaDialogComponent>,\n @Inject(MAT_DIALOG_DATA) private data: MediaDialogData,\n protected domSanitizer: DomSanitizer\n ) {\n this.steps = data.steps ?? [];\n if (this.steps.length < 1) {\n this.dialogRef.close();\n throw new Error('MediaDialogComponent: steps must contain at least one step.');\n }\n this.setStep(0);\n }\n\n private setStep(index: number): void {\n const step = this.steps[index];\n this.currentStepIndex = index;\n this.title = step.title;\n this.subheader = step.subheader;\n this.body = this.domSanitizer.bypassSecurityTrustHtml(step.body ?? '');\n this.mediaContainer = step.mediaContainer;\n this.primaryButtonLabel = step?.primaryButtonLabel;\n this.secondaryButtonLabel = step?.secondaryButtonLabel;\n this.backButtonLabel = step?.backButtonLabel;\n this.primaryButtonDataTestId = step?.primaryButtonDataTestId ?? 'media-dialog.confirm-button';\n this.secondaryButtonDataTestId = step?.secondaryButtonDataTestId ?? 'media-dialog.cancel-button';\n this.backButtonDataTestId = step?.backButtonDataTestId ?? 'media-dialog.back-button';\n }\n\n onPrimaryButtonClick(): void {\n const isLastStep = this.currentStepIndex === this.steps.length - 1;\n\n if (isLastStep) {\n this.dialogRef.close(true);\n } else {\n this.setStep(this.currentStepIndex + 1);\n }\n }\n\n onBackButtonClick(): void {\n if (this.currentStepIndex > 0) {\n this.setStep(this.currentStepIndex - 1);\n }\n }\n\n onSecondaryButtonClick(): void {\n this.dialogRef.close(false);\n }\n\n dismiss(): void {\n this.dialogRef.close(null);\n }\n}\n","<ng-container>\n @if (steps && steps.length > 1) {\n <ui-progress-bar [progress]=\"(currentStepIndex + 1) * (100 / steps.length)\"></ui-progress-bar>\n }\n\n <ui-dialog\n [title]=\"title\"\n (closeEvent)=\"dialogRef.close(null)\"\n [showCloseButton]=\"true\"\n >\n @if (mediaContainer) {\n <div class=\"media-container\">\n <ng-container [ngTemplateOutlet]=\"mediaContainer\"></ng-container>\n </div>\n }\n\n @if (subheader) {\n <h4 class=\"subheader\">{{ subheader }}</h4>\n }\n\n @if (body) {\n <div [innerHTML]=\"body\"></div>\n }\n\n <div mat-dialog-actions class=\"footer\">\n <div>\n @if (backButtonLabel && currentStepIndex > 0) {\n <ui-button\n variant=\"text-inline\"\n size=\"medium\"\n [label]=\"backButtonLabel\"\n [attr.data-testid]=\"backButtonDataTestId\"\n (click)=\"onBackButtonClick()\"\n ></ui-button>\n }\n </div>\n\n <div class=\"action-buttons\">\n @if (secondaryButtonLabel) {\n <ui-button\n variant=\"ghost\"\n [label]=\"secondaryButtonLabel\"\n [attr.data-testid]=\"secondaryButtonDataTestId\"\n (click)=\"onSecondaryButtonClick()\"\n ></ui-button>\n }\n @if (primaryButtonLabel) {\n <ui-button\n variant=\"primary\"\n [label]=\"primaryButtonLabel\"\n [attr.data-testid]=\"primaryButtonDataTestId\"\n (click)=\"onPrimaryButtonClick()\"\n ></ui-button>\n }\n </div>\n </div>\n </ui-dialog>\n</ng-container>\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-media-dialog.mjs","sources":["../../../components/media-dialog/media-dialog.component.ts","../../../components/media-dialog/media-dialog.component.html","../../../components/media-dialog/testgorilla-tgo-ui-components-media-dialog.ts"],"sourcesContent":["import { Component, Inject, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { DialogComponentModule } from '@testgorilla/tgo-ui/components/dialog';\nimport { MediaDialogData, MediaDialogStep } from './media-dialog.model';\nimport { ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';\n\n@Component({\n selector: 'ui-media-dialog',\n templateUrl: './media-dialog.component.html',\n styleUrls: ['./media-dialog.component.scss'],\n imports: [CommonModule, MatDialogModule, ButtonComponentModule, DialogComponentModule, ProgressBarComponentModule],\n})\nexport class MediaDialogComponent {\n primaryButtonLabel: string | undefined;\n secondaryButtonLabel: string | undefined;\n backButtonLabel: string | undefined;\n title: string | undefined;\n primaryButtonDataTestId = 'media-dialog.confirm-button';\n secondaryButtonDataTestId = 'media-dialog.cancel-button';\n backButtonDataTestId = 'media-dialog.back-button';\n\n mediaContainer: TemplateRef<any>;\n subheader: string | undefined;\n body: string;\n\n currentStepIndex = 0;\n steps: MediaDialogStep[] = [];\n\n constructor(\n public dialogRef: MatDialogRef<MediaDialogComponent>,\n @Inject(MAT_DIALOG_DATA) private data: MediaDialogData\n ) {\n this.steps = data.steps ?? [];\n if (this.steps.length < 1) {\n this.dialogRef.close();\n throw new Error('MediaDialogComponent: steps must contain at least one step.');\n }\n this.setStep(0);\n }\n\n private setStep(index: number): void {\n const step = this.steps[index];\n this.currentStepIndex = index;\n this.title = step.title;\n this.subheader = step.subheader;\n this.body = step.body ?? '';\n this.mediaContainer = step.mediaContainer;\n this.primaryButtonLabel = step?.primaryButtonLabel;\n this.secondaryButtonLabel = step?.secondaryButtonLabel;\n this.backButtonLabel = step?.backButtonLabel;\n this.primaryButtonDataTestId = step?.primaryButtonDataTestId ?? 'media-dialog.confirm-button';\n this.secondaryButtonDataTestId = step?.secondaryButtonDataTestId ?? 'media-dialog.cancel-button';\n this.backButtonDataTestId = step?.backButtonDataTestId ?? 'media-dialog.back-button';\n }\n\n onPrimaryButtonClick(): void {\n const isLastStep = this.currentStepIndex === this.steps.length - 1;\n\n if (isLastStep) {\n this.dialogRef.close(true);\n } else {\n this.setStep(this.currentStepIndex + 1);\n }\n }\n\n onBackButtonClick(): void {\n if (this.currentStepIndex > 0) {\n this.setStep(this.currentStepIndex - 1);\n }\n }\n\n onSecondaryButtonClick(): void {\n this.dialogRef.close(false);\n }\n\n dismiss(): void {\n this.dialogRef.close(null);\n }\n}\n","<ng-container>\n @if (steps && steps.length > 1) {\n <ui-progress-bar [progress]=\"(currentStepIndex + 1) * (100 / steps.length)\"></ui-progress-bar>\n }\n\n <ui-dialog\n [title]=\"title\"\n (closeEvent)=\"dialogRef.close(null)\"\n [showCloseButton]=\"true\"\n >\n @if (mediaContainer) {\n <div class=\"media-container\">\n <ng-container [ngTemplateOutlet]=\"mediaContainer\"></ng-container>\n </div>\n }\n\n @if (subheader) {\n <h4 class=\"subheader\">{{ subheader }}</h4>\n }\n\n @if (body) {\n <div [innerHTML]=\"body\"></div>\n }\n\n <div mat-dialog-actions class=\"footer\">\n <div>\n @if (backButtonLabel && currentStepIndex > 0) {\n <ui-button\n variant=\"text-inline\"\n size=\"medium\"\n [label]=\"backButtonLabel\"\n [attr.data-testid]=\"backButtonDataTestId\"\n (click)=\"onBackButtonClick()\"\n ></ui-button>\n }\n </div>\n\n <div class=\"action-buttons\">\n @if (secondaryButtonLabel) {\n <ui-button\n variant=\"ghost\"\n [label]=\"secondaryButtonLabel\"\n [attr.data-testid]=\"secondaryButtonDataTestId\"\n (click)=\"onSecondaryButtonClick()\"\n ></ui-button>\n }\n @if (primaryButtonLabel) {\n <ui-button\n variant=\"primary\"\n [label]=\"primaryButtonLabel\"\n [attr.data-testid]=\"primaryButtonDataTestId\"\n (click)=\"onPrimaryButtonClick()\"\n ></ui-button>\n }\n </div>\n </div>\n </ui-dialog>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}