{"version":3,"file":"uib-angular-components-button.mjs","sources":["../../../../libs/angular-components/components/button/src/lib/directives/base-button.directive.ts","../../../../libs/angular-components/components/button/src/lib/models/button-variant.ts","../../../../libs/angular-components/components/button/src/lib/models/dashboard-button-state.ts","../../../../libs/angular-components/components/button/src/lib/models/icon-button-variant.ts","../../../../libs/angular-components/components/button/src/lib/components/button/button.component.ts","../../../../libs/angular-components/components/button/src/lib/components/dashboard-button/dashboard-button.component.ts","../../../../libs/angular-components/components/button/src/lib/components/icon-button/icon-button.component.ts","../../../../libs/angular-components/components/button/src/lib/button.module.ts","../../../../libs/angular-components/components/button/src/uib-angular-components-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { Attribute, Directive, ElementRef, Inject, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { FormGroupDirective, NgForm } from '@angular/forms';\nimport { DisabledController, DISABLED_CONTROLLER_PROVIDER, DISABLED_WATCHED_CONTROLLER } from '@uib/angular/common';\nimport { FOCUSED_CLASS } from '@uib/angular/core';\nimport { toggleClass } from '@uib/angular/utils';\n\n/**\n * Uib Base Button\n */\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: '[ɵuibBaseButton]',\n  providers: [DISABLED_CONTROLLER_PROVIDER],\n  host: {\n    '[class.is-disabled]': 'isDisabled',\n    '[attr.disabled]': 'isDisabled || null',\n    '[attr.role]': '\"button\"',\n  },\n})\nexport class BaseButtonDirective implements OnDestroy {\n  private readonly isSubmitButton = this.type === 'submit';\n  private readonly isResetButton = this.type === 'reset';\n\n  public get isDisabled(): boolean {\n    return (\n      this.disabledController?.disabled ||\n      (this.isSubmitButton && this.isParentFormInvalid) ||\n      (this.isResetButton && this.isParentFormDirty)\n    );\n  }\n\n  public get isParentFormInvalid(): boolean {\n    return !!this.form?.invalid || !!this.formGroup?.invalid;\n  }\n\n  public get isParentFormDirty(): boolean {\n    return !!this.form?.dirty || !!this.formGroup?.dirty;\n  }\n\n  constructor(\n    @Attribute('type') public readonly type: string | null,\n    public readonly element: ElementRef<HTMLElement>,\n    public readonly renderer: Renderer2,\n    @Optional() protected readonly focusMonitor?: FocusMonitor,\n    @Optional() protected readonly form?: NgForm,\n    @Optional() protected readonly formGroup?: FormGroupDirective,\n    @Optional() @Inject(DISABLED_WATCHED_CONTROLLER) protected readonly disabledController?: DisabledController,\n  ) {\n    this.focusMonitor?.monitor(this.element.nativeElement, false).subscribe((event) => {\n      const isFocused = !this.isDisabled && (event === 'keyboard' || event === 'program');\n      toggleClass(this.renderer, this.element, FOCUSED_CLASS, isFocused);\n    });\n  }\n\n  public ngOnDestroy(): void {\n    this.focusMonitor?.stopMonitoring(this.element.nativeElement);\n  }\n}\n","/** @ignore */\nexport type ButtonVariant = typeof ButtonVariant[keyof typeof ButtonVariant];\n/**\n * Available button variants for {@link ButtonComponent#variant}\n */\nexport const ButtonVariant = {\n  PRIMARY: 'primary',\n  SECONDARY: 'secondary',\n  CIRCULAR: 'circular',\n  SQUARE: 'square',\n  ACTION: 'action',\n} as const;\n","/** @ignore */\nexport type DashboardButtonState = typeof DashboardButtonState[keyof typeof DashboardButtonState];\n/**\n * Available dashboard button states for {@link DashboardButton#state}\n */\nexport const DashboardButtonState = {\n  DEFAULT: 'default',\n  WARNING: 'warning',\n  CRITICAL: 'critical',\n} as const;\n","/** @ignore */\nexport type IconButtonVariant = typeof IconButtonVariant[keyof typeof IconButtonVariant];\n/**\n * Available icon button variants for {@link IconButtonComponent#variant}\n */\nexport const IconButtonVariant = {\n  BLOCK: 'block',\n} as const;\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { DISABLED_CONTROLLER_PROVIDER } from '@uib/angular/common';\nimport { UibComponent, UibCSSModifier } from '@uib/angular/core';\nimport { BaseButtonDirective } from '../../directives/base-button.directive';\nimport { ButtonVariant } from '../../models';\n\n/**\n * Uib Button\n */\n@UibComponent('button')\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'button[uibButton], a[uibButton]',\n  template: '<ng-content></ng-content>',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [DISABLED_CONTROLLER_PROVIDER],\n})\nexport class ButtonComponent extends BaseButtonDirective {\n  /**\n   * Sets the button variant\n   */\n  @UibCSSModifier({\n    default: ButtonVariant.PRIMARY,\n  })\n  @Input()\n  public variant?: ButtonVariant | null;\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { UibComponent, UibCSSModifier } from '@uib/angular/core';\nimport { BaseButtonDirective } from '../../directives/base-button.directive';\nimport { DashboardButtonState } from '../../models';\n\n/**\n * Uib Dashboard Button\n */\n@UibComponent('dashbutton')\n@Component({\n  selector: 'uib-dashboard-button, button[uibDashboardButton]',\n  template: '',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class.is-active]': 'isActive',\n  },\n})\nexport class DashboardButtonComponent extends BaseButtonDirective {\n  @Input()\n  public isActive: boolean;\n\n  /**\n   * Sets the dashboard button state\n   */\n  @UibCSSModifier({\n    default: DashboardButtonState.DEFAULT,\n  })\n  @Input()\n  public state?: DashboardButtonState | null;\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { DISABLED_CONTROLLER_PROVIDER } from '@uib/angular/common';\nimport { UibComponent, UibCSSModifier } from '@uib/angular/core';\nimport { BaseButtonDirective } from '../../directives/base-button.directive';\nimport { IconButtonVariant } from '../../models';\n\n/**\n * Uib Icon Button\n */\n@UibComponent('iconbutton')\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'button[uibIconButton], a[uibIconButton]',\n  template: '<uib-icon [name]=\"icon\"></uib-icon>',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [DISABLED_CONTROLLER_PROVIDER],\n})\nexport class IconButtonComponent extends BaseButtonDirective {\n  /**\n   * Sets the icon button variant\n   */\n  @UibCSSModifier()\n  @Input()\n  public variant?: IconButtonVariant | null;\n\n  /**\n   * Sets the icon button icon\n   */\n  @Input()\n  public icon: string;\n}\n","import { NgModule } from '@angular/core';\nimport { DisabledControllerModule } from '@uib/angular/common';\nimport { IconModule } from '@uib/angular/components/icon';\nimport { ButtonComponent } from './components/button/button.component';\nimport { DashboardButtonComponent } from './components/dashboard-button/dashboard-button.component';\nimport { IconButtonComponent } from './components/icon-button/icon-button.component';\nimport { BaseButtonDirective } from './directives/base-button.directive';\n\nconst components = [ButtonComponent, DashboardButtonComponent, IconButtonComponent];\n\n@NgModule({\n  imports: [IconModule],\n  declarations: [BaseButtonDirective, ...components],\n  exports: [...components, DisabledControllerModule],\n})\nexport class ButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}