{"version":3,"file":"realsoft-reusable-components-button.mjs","sources":["../../../src/reusable-components/button/src/button-base.ts","../../../src/reusable-components/button/src/button.ts","../../../src/reusable-components/button/src/button.html","../../../src/reusable-components/button/src/fab-button.ts","../../../src/reusable-components/button/src/icon-button.ts","../../../src/reusable-components/button/src/icon-button.html","../../../src/reusable-components/button/realsoft-reusable-components-button.ts"],"sourcesContent":["\r\nimport {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\r\nimport {\r\n  AfterViewInit,\r\n  ANIMATION_MODULE_TYPE,\r\n  booleanAttribute,\r\n  computed,\r\n  Directive,\r\n  ElementRef,\r\n  inject,\r\n  InjectionToken,\r\n  Input,\r\n  NgZone,\r\n  numberAttribute,\r\n  OnDestroy,\r\n  Renderer2,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n//Object that can be used to configure the default options for the button component\r\nexport interface RealsoftButtonConfig {\r\n  disabledInteractive?: boolean;\r\n}\r\n\r\n//Injection token that can be used to provide the default options for the button component.\r\nexport const REALSOFT_BUTTON_CONFIG = new InjectionToken<RealsoftButtonConfig>('REALSOFT_BUTTON_CONFIG');\r\n\r\n@Directive({})\r\nexport class RealsoftButtonBase implements AfterViewInit, OnDestroy {\r\n  elementRef = inject(ElementRef); //For accessing the host element\r\n  ngZone = inject(NgZone);\r\n  animationMode = inject(ANIMATION_MODULE_TYPE, {optional: true});\r\n  private readonly focusMonitor = inject(FocusMonitor);\r\n  private renderer = inject(Renderer2);\r\n  private _defaultConfig = inject<RealsoftButtonConfig>(REALSOFT_BUTTON_CONFIG, {optional:true});\r\n  private _cleanupClick = new Subscription();\r\n\r\n  protected _isAnchor = computed(() => this.elementRef.nativeElement.tagName === 'A');\r\n\r\n  protected _isFab = false;\r\n  private _disabled: boolean = false;\r\n\r\n  constructor() {\r\n    if(this._defaultConfig) this.disabledInteractive = this._defaultConfig.disabledInteractive ?? false;\r\n    const element = this.elementRef.nativeElement;\r\n    for(const {attribute, cssClasses} of HOST_SELECTOR_CSS_CLASS_PAIR) {\r\n      if(element.hasAttribute(attribute)) (element as HTMLElement).classList.add(...cssClasses);\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.focusMonitor.monitor(this.elementRef.nativeElement, true);\r\n\r\n    if(this._isAnchor()) this._anchorClick();\r\n  }\r\n\r\n  //Whether the button is disabled\r\n  @Input({transform:booleanAttribute}) \r\n  get disabled(): boolean {\r\n    return this._disabled;\r\n  }\r\n  set disabled(value: any) {\r\n    this._disabled = value;\r\n  }\r\n\r\n  //aria-disabled value of the button\r\n  @Input({transform: booleanAttribute, alias: 'aria-disabled'}) ariaDisabled: boolean | undefined;\r\n\r\n  //Disabled Interactive \r\n  @Input({transform: booleanAttribute}) disabledInteractive: boolean;\r\n\r\n  @Input({transform: numberAttribute}) tabIndex: number;\r\n\r\n  \r\n\r\n  //For focusing the button\r\n  focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\r\n    if(origin) {\r\n      this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, options);\r\n    } else {\r\n      this.elementRef.nativeElement.focus(options);\r\n    }\r\n  }\r\n\r\n  private _anchorClick() {\r\n    this._cleanupClick.add(\r\n      this.ngZone.runOutsideAngular(() => this.renderer.listen(this.elementRef.nativeElement, 'click', this._clickListener))\r\n    )\r\n  }\r\n\r\n  private _clickListener = (event: Event) => {\r\n    if(this.disabled) {\r\n      event.preventDefault();//Prevent the default behavior aka navigation\r\n      event.stopImmediatePropagation();\r\n    }\r\n  }\r\n\r\n  protected getDisabledAttribute() {\r\n    return !this.disabled || this.disabledInteractive ? null : true;\r\n  }\r\n\r\n  protected getTabIndex() {\r\n    return this.disabled && !this.disabledInteractive ? -1 : this.tabIndex;\r\n  }\r\n\r\n  protected getAriaDisabled() {\r\n    if(this.ariaDisabled !== null) return this.ariaDisabled;\r\n\r\n    if(this._isAnchor()) return this.disabled || null;\r\n\r\n    return this.disabled && this.disabledInteractive ? true : null;\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this._cleanupClick.unsubscribe();\r\n    this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\r\n  }\r\n}\r\n\r\nconst HOST_SELECTOR_CSS_CLASS_PAIR: {attribute: string; cssClasses: string[]}[] = [\r\n  {\r\n    attribute: 'realsoft-button',\r\n    cssClasses: ['realsoft-button'],\r\n  },\r\n  {\r\n    attribute: 'realsoft-flat-button',\r\n    cssClasses: ['realsoft-button', 'realsoft-button-unelevated', 'realsoft-unelevated-button'],\r\n  },\r\n  {\r\n    attribute: 'realsoft-raised-button',\r\n    cssClasses: ['realsoft-button', 'realsoft-button-raised', 'realsoft-raised-button'],\r\n  },\r\n  {\r\n    attribute: 'realsoft-stroked-button',\r\n    cssClasses: ['realsoft-button', 'realsoft-button-outlined', 'realsoft-outlined-button'],\r\n  },\r\n  {\r\n    attribute: 'realsoft-fab',\r\n    cssClasses: ['realsoft-fab', 'realsoft-fab-base', 'realsoft-fab'],\r\n  },\r\n  {\r\n    attribute: 'realsoft-mini-fab',\r\n    cssClasses: ['realsoft-fab', 'realsoft-fab-base', 'realsoft-fab--mini', 'realsoft-mini-fab'],\r\n  },\r\n  {\r\n    attribute: 'realsoft-icon-button',\r\n    cssClasses: ['realsoft-icon-button', 'realsoft-icon-button'],\r\n  }\r\n];\r\n\r\n","\r\nimport {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\r\nimport { RealsoftButtonBase } from './button-base';\r\n\r\n@Component({\r\n    selector: `button[realsoft-button], button[realsoft-raised-button], button[realsoft-flat-button], button[realsoft-stroked-button], a[realsoft-button], a[realsoft-raised-button], a[realsoft-flat-button], a[realsoft-stroked-button]`,\r\n    templateUrl: 'button.html',\r\n    styleUrl: 'button.scss',\r\n    standalone: true,\r\n    host: {\r\n        'class': 'realsoft-button-base',\r\n        '[class.realsoft-button-disabled]': 'disabled',\r\n        '[class.realsoft-button-disabled-interactive]': 'disabledInteractive',\r\n        '[class.realsoft-secondary]': 'color === \"secondary\"',\r\n        '[class.realsoft-ternary]': 'color === \"ternary\"',\r\n        '[class.realsoft-danger]': 'color === \"danger\"',\r\n        '[class.realsoft-success]': 'color === \"success\"',\r\n        '[class.realsoft-small]': 'size === \"small\"',\r\n        '[class.realsoft-large]': 'size === \"large\"',\r\n        '[class._realsoft-no-animation]': '_animationMode === \"NoopAnimations\"',\r\n        '[attr.tabindex]': 'getTabIndex()',\r\n        '[attr.disabled]': 'getDisabledAttribute()',\r\n        '[attr.aria-disabled]': 'getAriaDisabled()'\r\n    },\r\n    exportAs: 'realsoftButton, realsoftAnchor',\r\n    encapsulation: ViewEncapsulation.None,\r\n    changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RealsoftButton extends RealsoftButtonBase {\r\n    @Input() color: 'secondary' | 'primary' | 'danger' | 'success'| 'ternary' = 'primary';\r\n    @Input() size: 'small' | 'medium' | 'large' = 'medium';\r\n\r\n}\r\n","\r\n<span class=\"realsoft-button-persistent-ripple\"\r\n    [class.realsoft-button__ripple]=\"!_isFab\"\r\n    [class.realsoft-fab__ripple]=\"_isFab\"></span>\r\n\r\n<ng-content select=\".material-icons:not([iconPositionEnd]), [realsoftButtonIcon]:not([iconPositionEnd]), mat-icon:not([iconPositionEnd])\">\r\n</ng-content>\r\n\r\n<span class=\"realsoft-button__label\"><ng-content></ng-content></span>\r\n\r\n<ng-content select=\".material-icons[iconPositionEnd], [realsoftButtonIcon][iconPositionEnd], mat-icon[iconPositionEnd]\">\r\n</ng-content>\r\n\r\n\r\n<span class=\"realsoft-focus-indicator\"></span>\r\n\r\n<span class=\"realsoft-button-touch-target\"></span>","import {\r\n    ChangeDetectionStrategy,\r\n    Component,\r\n    Input,\r\n    ViewEncapsulation,\r\n    booleanAttribute,\r\n    inject,\r\n  } from '@angular/core';\r\n  \r\nimport {RealsoftButtonBase} from './button-base';\r\n\r\n\r\n@Component({\r\n    selector: 'button[realsoft-fab], a[realsoft-fab]',\r\n    templateUrl: 'button.html',\r\n    styleUrl: 'button.scss',\r\n    standalone: true,\r\n    host: {\r\n        'class': 'realsoft-button-base',\r\n        '[class.realsoft-button-disabled]': 'disabled',\r\n        '[class.realsoft-button-disabled-interactive]': 'disabledInteractive',\r\n        '[class._realsoft-no-animation]': '_animationMode === \"NoopAnimations\"',\r\n        '[class.realsoft-secondary]': 'color === \"secondary\"',\r\n        '[class.realsoft-ternary]': 'color === \"ternary\"',\r\n        '[class.realsoft-small]': 'size === \"small\"',\r\n        '[class.realsoft-large]': 'size === \"large\"',\r\n        '[class.realsoft-fab-extended]': 'extended',\r\n        '[class.realsoft-extended-fab]': 'extended',\r\n        '[attr.tabindex]': 'getTabIndex()',\r\n        '[attr.disabled]': 'getDisabledAttribute()',\r\n        '[attr.aria-disabled]': 'getAriaDisabled()'\r\n    },\r\n    exportAs: 'realsoftButton, realsoftAnchor',\r\n    encapsulation: ViewEncapsulation.None,\r\n    changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RealsoftFabButton extends RealsoftButtonBase {\r\n    override _isFab = true;\r\n\r\n    @Input({transform: booleanAttribute}) extended: boolean;\r\n    @Input() color: 'secondary' | 'primary' | 'ternary' = 'primary';\r\n    @Input() size: 'small' | 'medium' | 'large' = 'medium';\r\n}\r\n\r\n@Component({\r\n    selector: `button[realsoft-mini-fab], a[realsoft-mini-fab]`,\r\n    templateUrl: 'button.html',\r\n    styleUrl: 'button.scss',\r\n    host: {\r\n        'class': 'realsoft-button-base',\r\n        '[class.realsoft-button-disabled]': 'disabled',\r\n        '[class.realsoft-secondary]': 'color === \"secondary\"',\r\n        '[class.realsoft-ternary]': 'color === \"ternary\"',\r\n        '[class.realsoft-small]': 'size === \"small\"',\r\n        '[class.realsoft-large]': 'size === \"large\"',\r\n        '[class.realsoft-button-disabled-interactive]': 'disabledInteractive',\r\n        '[class._realsoft-no-animation]': '_animationMode === \"NoopAnimations\"',\r\n        '[attr.tabindex]': 'getTabIndex()',\r\n        '[attr.disabled]': 'getDisabledAttribute()',\r\n        '[attr.aria-disabled]': 'getAriaDisabled()'\r\n    },\r\n    exportAs: 'realsoftButton, realsoftAnchor',\r\n    encapsulation: ViewEncapsulation.None,\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    standalone: true\r\n})\r\nexport class RealsoftMiniFabButton extends RealsoftButtonBase {\r\n    override _isFab = true;\r\n    @Input() color: 'secondary' | 'primary' | 'ternary' = 'primary';\r\n    @Input() size: 'small' | 'medium' | 'large' = 'medium';\r\n\r\n\r\n}\r\n\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { RealsoftButtonBase } from \"./button-base\";\r\n\r\n@Component({\r\n    selector: `button[realsoft-icon-button], a[realsoft-icon-button]`,\r\n    templateUrl: 'icon-button.html',\r\n    styleUrl: 'button.scss',\r\n    standalone: true,\r\n    host: {\r\n        'class': 'realsoft-button-base',\r\n        '[class.realsoft-button-disabled]': 'disabled',\r\n        '[class.realsoft-button-disabled-interactive]': 'disabledInteractive',\r\n        '[class._realsoft-no-animation]': '_animationMode === \"NoopAnimations\"',\r\n        '[attr.tabindex]': 'getTabIndex()',\r\n        '[attr.disabled]': 'getDisabledAttribute()',\r\n        '[attr.aria-disabled]': 'getAriaDisabled()'\r\n    },\r\n    exportAs: 'realsoft-button, realsoftAnchor',\r\n    encapsulation: ViewEncapsulation.None,\r\n    changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RealsoftIconButton extends RealsoftButtonBase {}\r\n\r\n\r\n  ","<span class=\"realsoft-button-persistent-ripple realsoft-icon-button__ripple\"></span>\r\n\r\n<ng-content></ng-content>\r\n\r\n<span class=\"realsoft-focus-indicator\"></span>\r\n\r\n<span class=\"realsoft-button-touch-target\"></span>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}