@libs-ui/components-buttons-button 0.2.9 → 0.2.10-6.2

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.
@@ -1,7 +1,7 @@
1
1
  import { OnDestroy } from '@angular/core';
2
2
  import { IFlagMouse, IPopover, IPopoverFunctionControlEvent, TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';
3
3
  import { TYPE_SPINNER } from '@libs-ui/components-spinner';
4
- import { TYPE_OBJECT } from '@libs-ui/interfaces-types';
4
+ import { IColorButton } from '@libs-ui/services-config-project';
5
5
  import { TYPE_BUTTON, TYPE_SIZE_BUTTON } from './interfaces/button.interface';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class LibsUiComponentsButtonsButtonComponent implements OnDestroy {
@@ -13,7 +13,8 @@ export declare class LibsUiComponentsButtonsButtonComponent implements OnDestroy
13
13
  private configProjectService;
14
14
  readonly flagMouse: import("@angular/core").InputSignal<IFlagMouse>;
15
15
  readonly type: import("@angular/core").InputSignal<TYPE_BUTTON>;
16
- readonly sizeButton: import("@angular/core").InputSignal<TYPE_SIZE_BUTTON>;
16
+ readonly buttonCustom: import("@angular/core").InputSignal<IColorButton | undefined>;
17
+ readonly sizeButton: import("@angular/core").InputSignalWithTransform<TYPE_SIZE_BUTTON, TYPE_SIZE_BUTTON | undefined>;
17
18
  readonly label: import("@angular/core").InputSignal<string>;
18
19
  readonly disable: import("@angular/core").InputSignal<boolean>;
19
20
  readonly isPending: import("@angular/core").InputSignal<boolean | undefined>;
@@ -30,8 +31,8 @@ export declare class LibsUiComponentsButtonsButtonComponent implements OnDestroy
30
31
  readonly ignoreStopPropagationEvent: import("@angular/core").InputSignal<boolean | undefined>;
31
32
  readonly zIndex: import("@angular/core").InputSignal<number>;
32
33
  readonly widthLabelPopover: import("@angular/core").InputSignal<number | undefined>;
33
- readonly styleIconLeft: import("@angular/core").InputSignal<TYPE_OBJECT | undefined>;
34
- readonly styleButton: import("@angular/core").InputSignal<TYPE_OBJECT | undefined>;
34
+ readonly styleIconLeft: import("@angular/core").InputSignal<Record<string, any> | undefined>;
35
+ readonly styleButton: import("@angular/core").InputSignal<Record<string, any> | undefined>;
35
36
  readonly ignoreFocusWhenInputTab: import("@angular/core").InputSignal<boolean | undefined>;
36
37
  readonly ignoreSetClickWhenShowPopover: import("@angular/core").InputSignal<boolean | undefined>;
37
38
  readonly ignorePointerEvent: import("@angular/core").InputSignal<boolean | undefined>;
@@ -49,5 +50,5 @@ export declare class LibsUiComponentsButtonsButtonComponent implements OnDestroy
49
50
  protected handlerPopoverEvent(event: TYPE_POPOVER_EVENT): Promise<void>;
50
51
  ngOnDestroy(): void;
51
52
  static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsButtonsButtonComponent, never>;
52
- static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsButtonsButtonComponent, "libs_ui-components-buttons-button", never, { "flagMouse": { "alias": "flagMouse"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "sizeButton": { "alias": "sizeButton"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disable": { "alias": "disable"; "required": false; "isSignal": true; }; "isPending": { "alias": "isPending"; "required": false; "isSignal": true; }; "imageLeft": { "alias": "imageLeft"; "required": false; "isSignal": true; }; "classInclude": { "alias": "classInclude"; "required": false; "isSignal": true; }; "classIconLeft": { "alias": "classIconLeft"; "required": false; "isSignal": true; }; "classIconRight": { "alias": "classIconRight"; "required": false; "isSignal": true; }; "classLabel": { "alias": "classLabel"; "required": false; "isSignal": true; }; "iconOnlyType": { "alias": "iconOnlyType"; "required": false; "isSignal": true; }; "popover": { "alias": "popover"; "required": false; "isSignal": true; }; "ignoreStopPropagationEvent": { "alias": "ignoreStopPropagationEvent"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "widthLabelPopover": { "alias": "widthLabelPopover"; "required": false; "isSignal": true; }; "styleIconLeft": { "alias": "styleIconLeft"; "required": false; "isSignal": true; }; "styleButton": { "alias": "styleButton"; "required": false; "isSignal": true; }; "ignoreFocusWhenInputTab": { "alias": "ignoreFocusWhenInputTab"; "required": false; "isSignal": true; }; "ignoreSetClickWhenShowPopover": { "alias": "ignoreSetClickWhenShowPopover"; "required": false; "isSignal": true; }; "ignorePointerEvent": { "alias": "ignorePointerEvent"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; }, { "outClick": "outClick"; "outPopoverEvent": "outPopoverEvent"; "outFunctionsControl": "outFunctionsControl"; }, never, never, true, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsButtonsButtonComponent, "libs_ui-components-buttons-button", never, { "flagMouse": { "alias": "flagMouse"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "buttonCustom": { "alias": "buttonCustom"; "required": false; "isSignal": true; }; "sizeButton": { "alias": "sizeButton"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disable": { "alias": "disable"; "required": false; "isSignal": true; }; "isPending": { "alias": "isPending"; "required": false; "isSignal": true; }; "imageLeft": { "alias": "imageLeft"; "required": false; "isSignal": true; }; "classInclude": { "alias": "classInclude"; "required": false; "isSignal": true; }; "classIconLeft": { "alias": "classIconLeft"; "required": false; "isSignal": true; }; "classIconRight": { "alias": "classIconRight"; "required": false; "isSignal": true; }; "classLabel": { "alias": "classLabel"; "required": false; "isSignal": true; }; "iconOnlyType": { "alias": "iconOnlyType"; "required": false; "isSignal": true; }; "popover": { "alias": "popover"; "required": false; "isSignal": true; }; "ignoreStopPropagationEvent": { "alias": "ignoreStopPropagationEvent"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "widthLabelPopover": { "alias": "widthLabelPopover"; "required": false; "isSignal": true; }; "styleIconLeft": { "alias": "styleIconLeft"; "required": false; "isSignal": true; }; "styleButton": { "alias": "styleButton"; "required": false; "isSignal": true; }; "ignoreFocusWhenInputTab": { "alias": "ignoreFocusWhenInputTab"; "required": false; "isSignal": true; }; "ignoreSetClickWhenShowPopover": { "alias": "ignoreSetClickWhenShowPopover"; "required": false; "isSignal": true; }; "ignorePointerEvent": { "alias": "ignorePointerEvent"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; }, { "outClick": "outClick"; "outPopoverEvent": "outPopoverEvent"; "outFunctionsControl": "outFunctionsControl"; }, never, never, true, never>;
53
54
  }
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { NgStyle } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, effect, inject, input, output, signal, viewChild } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, effect, inject, input, output, signal, untracked, viewChild } from '@angular/core';
4
4
  import { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';
5
5
  import { LibsUiComponentsSpinnerComponent } from '@libs-ui/components-spinner';
6
6
  import { LibsUiConfigProjectService } from '@libs-ui/services-config-project';
@@ -21,7 +21,8 @@ export class LibsUiComponentsButtonsButtonComponent {
21
21
  /* INPUT */
22
22
  flagMouse = input({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false });
23
23
  type = input('button-primary');
24
- sizeButton = input('medium');
24
+ buttonCustom = input(); // bắt buộc khi type là button-custom hoặc button-link-custom
25
+ sizeButton = input('medium', { transform: value => value ?? 'medium' });
25
26
  label = input(' ');
26
27
  disable = input(false);
27
28
  isPending = input();
@@ -49,8 +50,10 @@ export class LibsUiComponentsButtonsButtonComponent {
49
50
  buttonEl = viewChild('buttonEl');
50
51
  constructor() {
51
52
  effect(() => {
52
- this.setClassByType();
53
- }, { allowSignalWrites: true });
53
+ this.type();
54
+ this.buttonCustom();
55
+ untracked(() => this.setClassByType());
56
+ });
54
57
  }
55
58
  /* FUNCTIONS */
56
59
  handlerClick(e) {
@@ -75,7 +78,7 @@ export class LibsUiComponentsButtonsButtonComponent {
75
78
  this.typeButton.set(true);
76
79
  }
77
80
  this.setClassAndIconLoadingByType();
78
- const config = get(this.configProjectService.ConfigButton(), this.type());
81
+ const config = this.type().includes('custom') ? this.buttonCustom() : get(this.configProjectService.ConfigButton(), this.type());
79
82
  this.setVariableStyles(config.rootColor, config.configStepColor);
80
83
  if (!this.sizeButton || !this.typeButton()) {
81
84
  return this.classBinding.update(value => `${value} ${this.classInclude()}`);
@@ -112,12 +115,13 @@ export class LibsUiComponentsButtonsButtonComponent {
112
115
  const colors = colorContrastFromOrigin(color);
113
116
  Object.keys(configStep).forEach(key => {
114
117
  const valueStep = get(configStep, key);
118
+ const typeLink = this.type().includes('link');
115
119
  if (typeof valueStep === 'string') {
116
- this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${this.type().includes('link') ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);
120
+ this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);
117
121
  return;
118
122
  }
119
123
  const color = colors.find(item => item.step === Math.abs(valueStep));
120
- this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${this.type().includes('link') ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));
124
+ this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));
121
125
  });
122
126
  }
123
127
  async handlerPopoverEvent(event) {
@@ -138,7 +142,7 @@ export class LibsUiComponentsButtonsButtonComponent {
138
142
  this.onDestroy.complete();
139
143
  }
140
144
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
141
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsButtonsButtonComponent, isStandalone: true, selector: "libs_ui-components-buttons-button", inputs: { flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, sizeButton: { classPropertyName: "sizeButton", publicName: "sizeButton", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, isPending: { classPropertyName: "isPending", publicName: "isPending", isSignal: true, isRequired: false, transformFunction: null }, imageLeft: { classPropertyName: "imageLeft", publicName: "imageLeft", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classIconLeft: { classPropertyName: "classIconLeft", publicName: "classIconLeft", isSignal: true, isRequired: false, transformFunction: null }, classIconRight: { classPropertyName: "classIconRight", publicName: "classIconRight", isSignal: true, isRequired: false, transformFunction: null }, classLabel: { classPropertyName: "classLabel", publicName: "classLabel", isSignal: true, isRequired: false, transformFunction: null }, iconOnlyType: { classPropertyName: "iconOnlyType", publicName: "iconOnlyType", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, widthLabelPopover: { classPropertyName: "widthLabelPopover", publicName: "widthLabelPopover", isSignal: true, isRequired: false, transformFunction: null }, styleIconLeft: { classPropertyName: "styleIconLeft", publicName: "styleIconLeft", isSignal: true, isRequired: false, transformFunction: null }, styleButton: { classPropertyName: "styleButton", publicName: "styleButton", isSignal: true, isRequired: false, transformFunction: null }, ignoreFocusWhenInputTab: { classPropertyName: "ignoreFocusWhenInputTab", publicName: "ignoreFocusWhenInputTab", isSignal: true, isRequired: false, transformFunction: null }, ignoreSetClickWhenShowPopover: { classPropertyName: "ignoreSetClickWhenShowPopover", publicName: "ignoreSetClickWhenShowPopover", isSignal: true, isRequired: false, transformFunction: null }, ignorePointerEvent: { classPropertyName: "ignorePointerEvent", publicName: "ignorePointerEvent", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick", outPopoverEvent: "outPopoverEvent", outFunctionsControl: "outFunctionsControl" }, viewQueries: [{ propertyName: "buttonEl", first: true, predicate: ["buttonEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' mo-button-class-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' mo-button-class-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:12px;line-height:16px;text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme>[class*=libs-ui-icon]{font-size:16px;margin:0}.libs-ui-button.libs-ui-button-theme .mo-button-class-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .mo-button-class-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:11px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-icon]{font-size:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:16px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:20px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:7px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:5px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:6px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:2px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:2px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:11px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
145
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsButtonsButtonComponent, isStandalone: true, selector: "libs_ui-components-buttons-button", inputs: { flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, buttonCustom: { classPropertyName: "buttonCustom", publicName: "buttonCustom", isSignal: true, isRequired: false, transformFunction: null }, sizeButton: { classPropertyName: "sizeButton", publicName: "sizeButton", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, isPending: { classPropertyName: "isPending", publicName: "isPending", isSignal: true, isRequired: false, transformFunction: null }, imageLeft: { classPropertyName: "imageLeft", publicName: "imageLeft", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classIconLeft: { classPropertyName: "classIconLeft", publicName: "classIconLeft", isSignal: true, isRequired: false, transformFunction: null }, classIconRight: { classPropertyName: "classIconRight", publicName: "classIconRight", isSignal: true, isRequired: false, transformFunction: null }, classLabel: { classPropertyName: "classLabel", publicName: "classLabel", isSignal: true, isRequired: false, transformFunction: null }, iconOnlyType: { classPropertyName: "iconOnlyType", publicName: "iconOnlyType", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, widthLabelPopover: { classPropertyName: "widthLabelPopover", publicName: "widthLabelPopover", isSignal: true, isRequired: false, transformFunction: null }, styleIconLeft: { classPropertyName: "styleIconLeft", publicName: "styleIconLeft", isSignal: true, isRequired: false, transformFunction: null }, styleButton: { classPropertyName: "styleButton", publicName: "styleButton", isSignal: true, isRequired: false, transformFunction: null }, ignoreFocusWhenInputTab: { classPropertyName: "ignoreFocusWhenInputTab", publicName: "ignoreFocusWhenInputTab", isSignal: true, isRequired: false, transformFunction: null }, ignoreSetClickWhenShowPopover: { classPropertyName: "ignoreSetClickWhenShowPopover", publicName: "ignoreSetClickWhenShowPopover", isSignal: true, isRequired: false, transformFunction: null }, ignorePointerEvent: { classPropertyName: "ignorePointerEvent", publicName: "ignorePointerEvent", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick", outPopoverEvent: "outPopoverEvent", outFunctionsControl: "outFunctionsControl" }, viewQueries: [{ propertyName: "buttonEl", first: true, predicate: ["buttonEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:12px;line-height:16px;text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme>[class*=libs-ui-button-icon]{font-size:16px;margin:0}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:11px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:16px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:20px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:7px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:5px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:6px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:2px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:2px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:11px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
142
146
  }
143
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsButtonComponent, decorators: [{
144
148
  type: Component,
@@ -146,6 +150,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
146
150
  NgStyle, TranslateModule,
147
151
  LibsUiComponentsSpinnerComponent,
148
152
  LibsUiComponentsPopoverComponent
149
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' mo-button-class-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' mo-button-class-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:12px;line-height:16px;text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme>[class*=libs-ui-icon]{font-size:16px;margin:0}.libs-ui-button.libs-ui-button-theme .mo-button-class-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .mo-button-class-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:11px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-icon]{font-size:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:16px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:20px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:7px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:5px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:6px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:2px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:2px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:11px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"] }]
153
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:12px;line-height:16px;text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme>[class*=libs-ui-button-icon]{font-size:16px;margin:0}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:11px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:16px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:20px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:7px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:5px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:6px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:2px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:2px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:11px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"] }]
150
154
  }], ctorParameters: () => [] });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQXNELGdDQUFnQyxFQUFzQixNQUFNLDZCQUE2QixDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBZ0IzQyxNQUFNLE9BQU8sc0NBQXNDO0lBRWpELGNBQWM7SUFDTixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUU5QixZQUFZLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENB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bGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIG91dHB1dCwgc2lnbmFsLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElGbGFnTW91c2UsIElQb3BvdmVyLCBJUG9wb3ZlckZ1bmN0aW9uQ29udHJvbEV2ZW50LCBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckNvbXBvbmVudCwgVFlQRV9QT1BPVkVSX0VWRU5UIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyJztcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNTcGlubmVyQ29tcG9uZW50LCBUWVBFX1NQSU5ORVIgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXNwaW5uZXInO1xuaW1wb3J0IHsgVFlQRV9PQkpFQ1QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IExpYnNVaUNvbmZpZ1Byb2plY3RTZXJ2aWNlIH0gZnJvbSAnQGxpYnMtdWkvc2VydmljZXMtY29uZmlnLXByb2plY3QnO1xuaW1wb3J0IHsgY29sb3JDb250cmFzdEZyb21PcmlnaW4sIGdldCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRZUEVfQlVUVE9OLCBUWVBFX1NJWkVfQlVUVE9OIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2J1dHRvbi5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtYnV0dG9ucy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1N0eWxlLCBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQsXG4gICAgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJDb21wb25lbnRcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0J1dHRvbnNCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIC8qIFBST1BFUlRZICovXG4gIHByaXZhdGUgb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgY2xhc3NCaW5kaW5nID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIGlzQ2xpY2sgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgdHlwZUljb25Mb2FkaW5nID0gc2lnbmFsPFRZUEVfU1BJTk5FUj4oJ3NwaW4tYmx1ZScpO1xuICBwcm90ZWN0ZWQgdHlwZUJ1dHRvbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBjb25maWdQcm9qZWN0U2VydmljZSA9IGluamVjdChMaWJzVWlDb25maWdQcm9qZWN0U2VydmljZSk7XG5cbiAgLyogSU5QVVQgKi9cbiAgcmVhZG9ubHkgZmxhZ01vdXNlID0gaW5wdXQ8SUZsYWdNb3VzZT4oeyBpc01vdXNlRW50ZXI6IGZhbHNlLCBpc01vdXNlRW50ZXJDb250ZW50OiBmYWxzZSwgaXNDb250YWluZXJIYXNTY3JvbGw6IGZhbHNlIH0pO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8VFlQRV9CVVRUT04+KCdidXR0b24tcHJpbWFyeScpO1xuICByZWFkb25seSBzaXplQnV0dG9uID0gaW5wdXQ8VFlQRV9TSVpFX0JVVFRPTj4oJ21lZGl1bScpO1xuICByZWFkb25seSBsYWJlbCA9IGlucHV0PHN0cmluZz4oJyAnKTtcbiAgcmVhZG9ubHkgZGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNQZW5kaW5nID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgaW1hZ2VMZWZ0ID0gaW5wdXQ8eyBzcmM6IHN0cmluZzsgY2xhc3NJbmNsdWRlPzogc3RyaW5nIH0+KCk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBjbGFzc0ljb25MZWZ0ID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGNsYXNzSWNvblJpZ2h0ID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGNsYXNzTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgaWNvbk9ubHlUeXBlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBwb3BvdmVyID0gaW5wdXQ8SVBvcG92ZXI+KHt9KTtcbiAgcmVhZG9ubHkgaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnQgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSB6SW5kZXggPSBpbnB1dDxudW1iZXI+KDEwKTtcbiAgcmVhZG9ubHkgd2lkdGhMYWJlbFBvcG92ZXIgPSBpbnB1dDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IHN0eWxlSWNvbkxlZnQgPSBpbnB1dDxUWVBFX09CSkVDVD4oKTtcbiAgcmVhZG9ubHkgc3R5bGVCdXR0b24gPSBpbnB1dDxUWVBFX09CSkVDVD4oKTtcbiAgcmVhZG9ubHkgaWdub3JlRm9jdXNXaGVuSW5wdXRUYWIgPSBpbnB1dDxib29sZWFuPigpOyAvLyBkw7luZyDEkeG7gyBi4buPIHF1YSBmb2N1cyBraGkgYuG6pW0gbsO6dCBUQUIgdOG7qyBiw6FuIHBow61tXG4gIHJlYWRvbmx5IGlnbm9yZVNldENsaWNrV2hlblNob3dQb3BvdmVyID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgaWdub3JlUG9pbnRlckV2ZW50ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgaXNBY3RpdmUgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIC8qIE9VVFBVVCAqL1xuICByZWFkb25seSBvdXRDbGljayA9IG91dHB1dDxFdmVudD4oKTtcbiAgcmVhZG9ubHkgb3V0UG9wb3ZlckV2ZW50ID0gb3V0cHV0PFRZUEVfUE9QT1ZFUl9FVkVOVD4oKTtcbiAgcmVhZG9ubHkgb3V0RnVuY3Rpb25zQ29udHJvbCA9IG91dHB1dDxJUG9wb3ZlckZ1bmN0aW9uQ29udHJvbEV2ZW50PigpO1xuXG4gIC8qIFZJRVcgQ0hJTEQgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBidXR0b25FbCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignYnV0dG9uRWwnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRDbGFzc0J5VHlwZSgpO1xuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gIH1cblxuICAvKiBGVU5DVElPTlMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZXJDbGljayhlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLmlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50KCkgPT09IGZhbHNlKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLmJ1dHRvbkVsKCk/Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgIGlmICh0aGlzLmRpc2FibGUoKSB8fCB0aGlzLmlzUGVuZGluZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3V0Q2xpY2suZW1pdChlKTtcbiAgICB0aGlzLmlzQ2xpY2suc2V0KHRydWUpO1xuICAgIHRpbWVyKDEwMCkucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pc0NsaWNrLnNldChmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlclBvcG92ZXJDb250cm9sRXZlbnQoY29udHJvbDogSVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudCkge1xuICAgIHRoaXMub3V0RnVuY3Rpb25zQ29udHJvbC5lbWl0KGNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRDbGFzc0J5VHlwZSgpIHtcbiAgICBpZiAodGhpcy50eXBlKCkuc2VhcmNoKCdidXR0b24nKSA9PT0gMCkge1xuICAgICAgdGhpcy50eXBlQnV0dG9uLnNldCh0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5zZXRDbGFzc0FuZEljb25Mb2FkaW5nQnlUeXBlKCk7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0KHRoaXMuY29uZmlnUHJvamVjdFNlcnZpY2UuQ29uZmlnQnV0dG9uKCksIHRoaXMudHlwZSgpKTtcblxuICAgIHRoaXMuc2V0VmFyaWFibGVTdHlsZXMoY29uZmlnLnJvb3RDb2xvciwgY29uZmlnLmNvbmZpZ1N0ZXBDb2xvcik7XG4gICAgaWYgKCF0aGlzLnNpemVCdXR0b24gfHwgIXRoaXMudHlwZUJ1dHRvbigpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jbGFzc0JpbmRpbmcudXBkYXRlKHZhbHVlID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9YCk7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0aGlzLnNpemVCdXR0b24oKSkge1xuICAgICAgY2FzZSAnbGFyZ2UnOlxuICAgICAgICByZXR1cm4gdGhpcy5jbGFzc0JpbmRpbmcudXBkYXRlKHZhbHVlID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9IGxpYnMtdWktYnV0dG9uLWxhcmdlYCk7XG4gICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICByZXR1cm4gdGhpcy5jbGFzc0JpbmRpbmcudXBkYXRlKHZhbHVlID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9IGxpYnMtdWktYnV0dG9uLW1lZGl1bWApO1xuXG4gICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNsYXNzQmluZGluZy51cGRhdGUodmFsdWUgPT4gYCR7dmFsdWV9ICR7dGhpcy5jbGFzc0luY2x1ZGUoKX0gbGlicy11aS1idXR0b24tc21hbGxgKTtcblxuICAgICAgY2FzZSAnc21hbGxlcic6XG4gICAgICAgIHJldHVybiB0aGlzLmNsYXNzQmluZGluZy51cGRhdGUodmFsdWUgPT4gYCR7dmFsdWV9ICR7dGhpcy5jbGFzc0luY2x1ZGUoKX0gbGlicy11aS1idXR0b24tc21hbGxlcmApO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRDbGFzc0FuZEljb25Mb2FkaW5nQnlUeXBlKCkge1xuICAgIGlmICghdGhpcy50eXBlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGUoKS5pbmNsdWRlcygnbGluaycpKSB7XG4gICAgICB0aGlzLmNsYXNzQmluZGluZy5zZXQoJ2xpYnMtdWktYnV0dG9uIGxpYnMtdWktYnV0dG9uLXRoZW1lIGxpYnMtdWktYnV0dG9uLWxpbmsgbGlicy11aS1idXR0b24tbGluay1vdGhlci1jb2xvcicpO1xuICAgICAgcmV0dXJuIHRoaXMudHlwZUljb25Mb2FkaW5nLnNldCgnc3Bpbi1ibHVlJyk7XG4gICAgfVxuICAgIHRoaXMuY2xhc3NCaW5kaW5nLnNldCgnbGlicy11aS1idXR0b24gbGlicy11aS1idXR0b24tdGhlbWUgbGlicy11aS1idXR0b24tb3RoZXItY29sb3InKTtcbiAgICBpZiAoWydidXR0b24tc2Vjb25kYXJ5JywgJ2J1dHRvbi10aGlyZCcsICdidXR0b24tb3V0bGluZScsICdidXR0b24tb3V0bGluZS1ncmVlbiddLmluY2x1ZGVzKHRoaXMudHlwZSgpKSkge1xuICAgICAgcmV0dXJuIHRoaXMudHlwZUljb25Mb2FkaW5nLnNldCgnc3Bpbi1ibHVlJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnR5cGVJY29uTG9hZGluZy5zZXQoJ3NwaW4td2hpdGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2V0VmFyaWFibGVTdHlsZXMoY29sb3I6IHN0cmluZywgY29uZmlnU3RlcDogYW55KSB7XG4gICAgaWYgKCFjb2xvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbG9ycyA9IGNvbG9yQ29udHJhc3RGcm9tT3JpZ2luKGNvbG9yKTtcblxuICAgIE9iamVjdC5rZXlzKGNvbmZpZ1N0ZXApLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlU3RlcCA9IGdldChjb25maWdTdGVwLCBrZXkpO1xuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlU3RlcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5idXR0b25FbCgpPy5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLWxpYnMtdWktYnV0dG9uJHt0aGlzLnR5cGUoKS5pbmNsdWRlcygnbGluaycpID8gJy1saW5rJyA6ICcnfS1vdGhlci1jb2xvci0ke2tleS5yZXBsYWNlKCdfJywgJy0nKX1gLCB2YWx1ZVN0ZXApO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JzLmZpbmQoaXRlbSA9PiBpdGVtLnN0ZXAgPT09IE1hdGguYWJzKHZhbHVlU3RlcCkpO1xuXG4gICAgICB0aGlzLmJ1dHRvbkVsKCk/Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tbGlicy11aS1idXR0b24ke3RoaXMudHlwZSgpLmluY2x1ZGVzKCdsaW5rJykgPyAnLWxpbmsnIDogJyd9LW90aGVyLWNvbG9yLSR7a2V5LnJlcGxhY2UoJ18nLCAnLScpfWAsIGdldChjb2xvciB8fCB7fSwgdmFsdWVTdGVwIDwgMCA/ICdkYXJrJyA6ICdsaWdodCcpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVyUG9wb3ZlckV2ZW50KGV2ZW50OiBUWVBFX1BPUE9WRVJfRVZFTlQpIHtcbiAgICB0aGlzLm91dFBvcG92ZXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgICBpZiAoZXZlbnQgPT09ICdjbGljaycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50ID09PSAncmVtb3ZlJykge1xuICAgICAgdGhpcy5pc0NsaWNrLnNldChmYWxzZSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlnbm9yZVNldENsaWNrV2hlblNob3dQb3BvdmVyKCkpIHtcbiAgICAgIHRoaXMuaXNDbGljay5zZXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbkRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxsaWJzX3VpLWNvbXBvbmVudHMtcG9wb3ZlciBbdHlwZV09XCJwb3BvdmVyKCkudHlwZSB8fCAnb3RoZXInXCJcbiAgW21vZGVdPVwicG9wb3ZlcigpLm1vZGUgfHwgJ2hvdmVyJ1wiXG4gIFtpZ25vcmVIaWRkZW5Qb3BvdmVyQ29udGVudFdoZW5Nb3VzZUxlYXZlXT1cInBvcG92ZXIoKS5pZ25vcmVIaWRkZW5Qb3BvdmVyQ29udGVudFdoZW5Nb3VzZUxlYXZlIHx8IGZhbHNlXCJcbiAgW2lnbm9yZVNob3dQb3BvdmVyXT1cInBvcG92ZXIoKS5jb25maWcgPyAhcG9wb3ZlcigpLmlnbm9yZVNob3dQb3BvdmVyID8gZmFsc2U6IHRydWUgOiB0cnVlXCJcbiAgW2VsZW1lbnRSZWZDdXN0b21dPVwicG9wb3ZlcigpLmVsZW1lbnRSZWZDdXN0b21cIlxuICBbY29uZmlnXT1cInBvcG92ZXIoKS5jb25maWcgfHwge31cIlxuICBbZmxhZ01vdXNlXT1cImZsYWdNb3VzZSgpXCJcbiAgW2lnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50XT1cImlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50KClcIlxuICAob3V0RnVuY3Rpb25zQ29udHJvbCk9XCJoYW5kbGVyUG9wb3ZlckNvbnRyb2xFdmVudCgkZXZlbnQpXCJcbiAgKG91dEV2ZW50KT1cImhhbmRsZXJQb3BvdmVyRXZlbnQoJGV2ZW50KVwiPlxuICA8YnV0dG9uICNidXR0b25FbFxuICAgIFtjbGFzc109XCJjbGFzc0JpbmRpbmcoKVwiXG4gICAgW2NsYXNzLmxpYnMtdWktYnV0dG9uLWRpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgICBbY2xhc3MucG9pbnRlci1ldmVudHMtbm9uZV09XCJkaXNhYmxlKCkgJiYgIWlnbm9yZVBvaW50ZXJFdmVudCgpXCJcbiAgICBbYXR0ci5pc1BlbmRpbmddPVwiaXNQZW5kaW5nKClcIlxuICAgIFthdHRyLmlzQ2xpY2tdPVwiaXNDbGljaygpXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJpZ25vcmVGb2N1c1doZW5JbnB1dFRhYigpPyctMSc6JzAnXCJcbiAgICBbYXR0ci5oYXNMYWJlbF09XCIoKGxhYmVsKCkgfHwgJyAnKSB8IHRyYW5zbGF0ZSkgIT09ICcgJ1wiXG4gICAgW2F0dHIuaGFzSWNvbkxlZnRdPVwiISFjbGFzc0ljb25MZWZ0KClcIlxuICAgIFthdHRyLmhhc0ljb25SaWdodF09XCIhIWNsYXNzSWNvblJpZ2h0KClcIlxuICAgIFthdHRyLmFjdGl2ZV09XCIhIWlzQWN0aXZlKClcIlxuICAgIFtuZ1N0eWxlXT1cInN0eWxlQnV0dG9uKClcIlxuICAgIChjbGljayk9XCJoYW5kbGVyQ2xpY2soJGV2ZW50KVwiPlxuICAgIEBpZiAoaW1hZ2VMZWZ0KCk7IGFzIGltYWdlQ29uZmlnKSB7XG4gICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VDb25maWcuc3JjXCJcbiAgICAgICAgW2NsYXNzXT1cImltYWdlQ29uZmlnLmNsYXNzSW5jbHVkZSB8fCAnbXItWzhweF0nXCIgLz5cbiAgICB9XG4gICAgQGlmIChjbGFzc0ljb25MZWZ0KCkgJiYgKCFpY29uT25seVR5cGUoKSB8fCAoaWNvbk9ubHlUeXBlKCkgJiYgIWlzUGVuZGluZygpKSkpIHtcbiAgICAgIDxpIFthdHRyLmljb25Pbmx5VHlwZV09XCJpY29uT25seVR5cGUoKVwiXG4gICAgICAgIFtjbGFzc109XCJjbGFzc0ljb25MZWZ0KCkgKyAnIG1vLWJ1dHRvbi1jbGFzcy1pY29uLWxlZnQnXCJcbiAgICAgICAgW25nU3R5bGVdPVwic3R5bGVJY29uTGVmdCgpXCI+XG4gICAgICA8L2k+XG4gICAgfVxuICAgIEBpZiAoIWljb25Pbmx5VHlwZSgpKSB7XG4gICAgICA8bGlic191aS1jb21wb25lbnRzLXBvcG92ZXIgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW2NvbmZpZ109XCJ7XG4gICAgICAgIHpJbmRleDogekluZGV4KCksXG4gICAgICAgIHdpZHRoOiB3aWR0aExhYmVsUG9wb3ZlcigpXG4gICAgICB9XCJcbiAgICAgICAgW2NsYXNzXT1cIihjbGFzc0xhYmVsKCkgfHwgJycpICsgJyBsaWJzLXVpLWJ1dHRvbi1sYWJlbCdcIlxuICAgICAgICBbaW5uZXJIdG1sXT1cIihsYWJlbCgpIHx8ICcgJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnRdPVwiaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnQoKSA/PyB0cnVlXCIgLz5cbiAgICB9XG4gICAgQGlmIChjbGFzc0ljb25SaWdodCgpICYmICghaWNvbk9ubHlUeXBlKCkgfHwgKGljb25Pbmx5VHlwZSgpICYmICFpc1BlbmRpbmcoKSkpKSB7XG4gICAgICA8aSBbYXR0ci5pY29uT25seVR5cGVdPVwiaWNvbk9ubHlUeXBlKClcIlxuICAgICAgICBbY2xhc3NdPVwiY2xhc3NJY29uUmlnaHQoKSsnIG1vLWJ1dHRvbi1jbGFzcy1pY29uLXJpZ2h0J1wiPjwvaT5cbiAgICB9XG4gICAgQGlmIChpc1BlbmRpbmcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCJcbiAgICAgICAgW2NsYXNzLnctWzE2cHhdXT1cIiF0eXBlQnV0dG9uKCkgJiYgIWljb25Pbmx5VHlwZSgpXCJcbiAgICAgICAgW2NsYXNzLmxlZnQtWzE2cHhdXT1cIiF0eXBlQnV0dG9uKCkgJiYgIWljb25Pbmx5VHlwZSgpXCJcbiAgICAgICAgW2NsYXNzLm1sLVs4cHhdXT1cInR5cGVCdXR0b24oKSAmJiAhaWNvbk9ubHlUeXBlKClcIj5cbiAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1zcGlubmVyIFt0eXBlXT1cInR5cGVJY29uTG9hZGluZygpXCJcbiAgICAgICAgICBbc2l6ZV09XCJzaXplQnV0dG9uKCkgPT09ICdsYXJnZSc/J21lZGl1bSc6c2l6ZUJ1dHRvbigpID09PSAnc21hbGxlcic/J3NtYWxsZXInOidzbWFsbCdcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvbGlic191aS1jb21wb25lbnRzLXBvcG92ZXI+XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFzRCxnQ0FBZ0MsRUFBc0IsTUFBTSw2QkFBNkIsQ0FBQztBQUN2SixPQUFPLEVBQUUsZ0NBQWdDLEVBQWdCLE1BQU0sNkJBQTZCLENBQUM7QUFDN0YsT0FBTyxFQUFnQiwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFnQjNDLE1BQU0sT0FBTyxzQ0FBc0M7SUFFakQsY0FBYztJQUNOLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTlCLFlBQVksR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxL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QUM7d0dBekpVLHNDQUFzQzs0RkFBdEMsc0NBQXNDLHFoSEN6Qm5ELDJuRkEwREEsbzBTRHZDSSxPQUFPLDBFQUFFLGVBQWUsNEZBQ3hCLGdDQUFnQyxpR0FDaEMsZ0NBQWdDOzs0RkFJdkIsc0NBQXNDO2tCQWJsRCxTQUFTOytCQUVFLG1DQUFtQyxjQUdqQyxJQUFJLFdBQ1A7d0JBQ1AsT0FBTyxFQUFFLGVBQWU7d0JBQ3hCLGdDQUFnQzt3QkFDaEMsZ0NBQWdDO3FCQUNqQyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIG91dHB1dCwgc2lnbmFsLCB1bnRyYWNrZWQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUZsYWdNb3VzZSwgSVBvcG92ZXIsIElQb3BvdmVyRnVuY3Rpb25Db250cm9sRXZlbnQsIExpYnNVaUNvbXBvbmVudHNQb3BvdmVyQ29tcG9uZW50LCBUWVBFX1BPUE9WRVJfRVZFTlQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXInO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQsIFRZUEVfU1BJTk5FUiB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtc3Bpbm5lcic7XG5pbXBvcnQgeyBJQ29sb3JCdXR0b24sIExpYnNVaUNvbmZpZ1Byb2plY3RTZXJ2aWNlIH0gZnJvbSAnQGxpYnMtdWkvc2VydmljZXMtY29uZmlnLXByb2plY3QnO1xuaW1wb3J0IHsgY29sb3JDb250cmFzdEZyb21PcmlnaW4sIGdldCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRZUEVfQlVUVE9OLCBUWVBFX1NJWkVfQlVUVE9OIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2J1dHRvbi5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtYnV0dG9ucy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1N0eWxlLCBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQsXG4gICAgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJDb21wb25lbnRcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0J1dHRvbnNCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIC8qIFBST1BFUlRZICovXG4gIHByaXZhdGUgb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgY2xhc3NCaW5kaW5nID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIGlzQ2xpY2sgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgdHlwZUljb25Mb2FkaW5nID0gc2lnbmFsPFRZUEVfU1BJTk5FUj4oJ3NwaW4tYmx1ZScpO1xuICBwcm90ZWN0ZWQgdHlwZUJ1dHRvbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBjb25maWdQcm9qZWN0U2VydmljZSA9IGluamVjdChMaWJzVWlDb25maWdQcm9qZWN0U2VydmljZSk7XG5cbiAgLyogSU5QVVQgKi9cbiAgcmVhZG9ubHkgZmxhZ01vdXNlID0gaW5wdXQ8SUZsYWdNb3VzZT4oeyBpc01vdXNlRW50ZXI6IGZhbHNlLCBpc01vdXNlRW50ZXJDb250ZW50OiBmYWxzZSwgaXNDb250YWluZXJIYXNTY3JvbGw6IGZhbHNlIH0pO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8VFlQRV9CVVRUT04+KCdidXR0b24tcHJpbWFyeScpO1xuICByZWFkb25seSBidXR0b25DdXN0b20gPSBpbnB1dDxJQ29sb3JCdXR0b24+KCk7IC8vIGLhuq90IGJ14buZYyBraGkgdHlwZSBsw6AgYnV0dG9uLWN1c3RvbSBob+G6t2MgYnV0dG9uLWxpbmstY3VzdG9tXG4gIHJlYWRvbmx5IHNpemVCdXR0b24gPSBpbnB1dDxUWVBFX1NJWkVfQlVUVE9OLCBUWVBFX1NJWkVfQlVUVE9OIHwgdW5kZWZpbmVkPignbWVkaXVtJywgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/ICdtZWRpdW0nIH0pO1xuICByZWFkb25seSBsYWJlbCA9IGlucHV0PHN0cmluZz4oJyAnKTtcbiAgcmVhZG9ubHkgZGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNQZW5kaW5nID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgaW1hZ2VMZWZ0ID0gaW5wdXQ8eyBzcmM6IHN0cmluZzsgY2xhc3NJbmNsdWRlPzogc3RyaW5nIH0+KCk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBjbGFzc0ljb25MZWZ0ID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGNsYXNzSWNvblJpZ2h0ID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGNsYXNzTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgaWNvbk9ubHlUeXBlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBwb3BvdmVyID0gaW5wdXQ8SVBvcG92ZXI+KHt9KTtcbiAgcmVhZG9ubHkgaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnQgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSB6SW5kZXggPSBpbnB1dDxudW1iZXI+KDEwKTtcbiAgcmVhZG9ubHkgd2lkdGhMYWJlbFBvcG92ZXIgPSBpbnB1dDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IHN0eWxlSWNvbkxlZnQgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+PigpO1xuICByZWFkb25seSBzdHlsZUJ1dHRvbiA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KCk7XG4gIHJlYWRvbmx5IGlnbm9yZUZvY3VzV2hlbklucHV0VGFiID0gaW5wdXQ8Ym9vbGVhbj4oKTsgLy8gZMO5bmcgxJHhu4MgYuG7jyBxdWEgZm9jdXMga2hpIGLhuqVtIG7DunQgVEFCIHThu6sgYsOhbiBwaMOtbVxuICByZWFkb25seSBpZ25vcmVTZXRDbGlja1doZW5TaG93UG9wb3ZlciA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGlnbm9yZVBvaW50ZXJFdmVudCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGlzQWN0aXZlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAvKiBPVVRQVVQgKi9cbiAgcmVhZG9ubHkgb3V0Q2xpY2sgPSBvdXRwdXQ8RXZlbnQ+KCk7XG4gIHJlYWRvbmx5IG91dFBvcG92ZXJFdmVudCA9IG91dHB1dDxUWVBFX1BPUE9WRVJfRVZFTlQ+KCk7XG4gIHJlYWRvbmx5IG91dEZ1bmN0aW9uc0NvbnRyb2wgPSBvdXRwdXQ8SVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudD4oKTtcblxuICAvKiBWSUVXIENISUxEICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uRWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2J1dHRvbkVsJyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMudHlwZSgpOyB0aGlzLmJ1dHRvbkN1c3RvbSgpO1xuICAgICAgdW50cmFja2VkKCgpID0+IHRoaXMuc2V0Q2xhc3NCeVR5cGUoKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiBGVU5DVElPTlMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZXJDbGljayhlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLmlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50KCkgPT09IGZhbHNlKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLmJ1dHRvbkVsKCk/Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgIGlmICh0aGlzLmRpc2FibGUoKSB8fCB0aGlzLmlzUGVuZGluZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3V0Q2xpY2suZW1pdChlKTtcbiAgICB0aGlzLmlzQ2xpY2suc2V0KHRydWUpO1xuICAgIHRpbWVyKDEwMCkucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pc0NsaWNrLnNldChmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlclBvcG92ZXJDb250cm9sRXZlbnQoY29udHJvbDogSVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudCkge1xuICAgIHRoaXMub3V0RnVuY3Rpb25zQ29udHJvbC5lbWl0KGNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRDbGFzc0J5VHlwZSgpIHtcbiAgICBpZiAodGhpcy50eXBlKCkuc2VhcmNoKCdidXR0b24nKSA9PT0gMCkge1xuICAgICAgdGhpcy50eXBlQnV0dG9uLnNldCh0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5zZXRDbGFzc0FuZEljb25Mb2FkaW5nQnlUeXBlKCk7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy50eXBlKCkuaW5jbHVkZXMoJ2N1c3RvbScpID8gdGhpcy5idXR0b25DdXN0b20oKSA6IGdldCh0aGlzLmNvbmZpZ1Byb2plY3RTZXJ2aWNlLkNvbmZpZ0J1dHRvbigpLCB0aGlzLnR5cGUoKSk7XG5cbiAgICB0aGlzLnNldFZhcmlhYmxlU3R5bGVzKGNvbmZpZy5yb290Q29sb3IsIGNvbmZpZy5jb25maWdTdGVwQ29sb3IpO1xuICAgIGlmICghdGhpcy5zaXplQnV0dG9uIHx8ICF0aGlzLnR5cGVCdXR0b24oKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2xhc3NCaW5kaW5nLnVwZGF0ZSh2YWx1ZSA9PiBgJHt2YWx1ZX0gJHt0aGlzLmNsYXNzSW5jbHVkZSgpfWApO1xuICAgIH1cblxuICAgIHN3aXRjaCAodGhpcy5zaXplQnV0dG9uKCkpIHtcbiAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhc3NCaW5kaW5nLnVwZGF0ZSh2YWx1ZSA9PiBgJHt2YWx1ZX0gJHt0aGlzLmNsYXNzSW5jbHVkZSgpfSBsaWJzLXVpLWJ1dHRvbi1sYXJnZWApO1xuICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhc3NCaW5kaW5nLnVwZGF0ZSh2YWx1ZSA9PiBgJHt2YWx1ZX0gJHt0aGlzLmNsYXNzSW5jbHVkZSgpfSBsaWJzLXVpLWJ1dHRvbi1tZWRpdW1gKTtcblxuICAgICAgY2FzZSAnc21hbGwnOlxuICAgICAgICByZXR1cm4gdGhpcy5jbGFzc0JpbmRpbmcudXBkYXRlKHZhbHVlID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9IGxpYnMtdWktYnV0dG9uLXNtYWxsYCk7XG5cbiAgICAgIGNhc2UgJ3NtYWxsZXInOlxuICAgICAgICByZXR1cm4gdGhpcy5jbGFzc0JpbmRpbmcudXBkYXRlKHZhbHVlID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9IGxpYnMtdWktYnV0dG9uLXNtYWxsZXJgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldENsYXNzQW5kSWNvbkxvYWRpbmdCeVR5cGUoKSB7XG4gICAgaWYgKCF0aGlzLnR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSgpLmluY2x1ZGVzKCdsaW5rJykpIHtcbiAgICAgIHRoaXMuY2xhc3NCaW5kaW5nLnNldCgnbGlicy11aS1idXR0b24gbGlicy11aS1idXR0b24tdGhlbWUgbGlicy11aS1idXR0b24tbGluayBsaWJzLXVpLWJ1dHRvbi1saW5rLW90aGVyLWNvbG9yJyk7XG4gICAgICByZXR1cm4gdGhpcy50eXBlSWNvbkxvYWRpbmcuc2V0KCdzcGluLWJsdWUnKTtcbiAgICB9XG4gICAgdGhpcy5jbGFzc0JpbmRpbmcuc2V0KCdsaWJzLXVpLWJ1dHRvbiBsaWJzLXVpLWJ1dHRvbi10aGVtZSBsaWJzLXVpLWJ1dHRvbi1vdGhlci1jb2xvcicpO1xuICAgIGlmIChbJ2J1dHRvbi1zZWNvbmRhcnknLCAnYnV0dG9uLXRoaXJkJywgJ2J1dHRvbi1vdXRsaW5lJywgJ2J1dHRvbi1vdXRsaW5lLWdyZWVuJ10uaW5jbHVkZXModGhpcy50eXBlKCkpKSB7XG4gICAgICByZXR1cm4gdGhpcy50eXBlSWNvbkxvYWRpbmcuc2V0KCdzcGluLWJsdWUnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHlwZUljb25Mb2FkaW5nLnNldCgnc3Bpbi13aGl0ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRWYXJpYWJsZVN0eWxlcyhjb2xvcjogc3RyaW5nLCBjb25maWdTdGVwOiBhbnkpIHtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29sb3JzID0gY29sb3JDb250cmFzdEZyb21PcmlnaW4oY29sb3IpO1xuXG4gICAgT2JqZWN0LmtleXMoY29uZmlnU3RlcCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVTdGVwID0gZ2V0KGNvbmZpZ1N0ZXAsIGtleSk7XG4gICAgICBjb25zdCB0eXBlTGluayA9IHRoaXMudHlwZSgpLmluY2x1ZGVzKCdsaW5rJyk7XG5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWVTdGVwID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmJ1dHRvbkVsKCk/Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tbGlicy11aS1idXR0b24ke3R5cGVMaW5rID8gJy1saW5rJyA6ICcnfS1vdGhlci1jb2xvci0ke2tleS5yZXBsYWNlKCdfJywgJy0nKX1gLCB2YWx1ZVN0ZXApO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JzLmZpbmQoaXRlbSA9PiBpdGVtLnN0ZXAgPT09IE1hdGguYWJzKHZhbHVlU3RlcCkpO1xuXG4gICAgICB0aGlzLmJ1dHRvbkVsKCk/Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tbGlicy11aS1idXR0b24ke3R5cGVMaW5rID8gJy1saW5rJyA6ICcnfS1vdGhlci1jb2xvci0ke2tleS5yZXBsYWNlKCdfJywgJy0nKX1gLCBnZXQoY29sb3IgfHwge30sIHZhbHVlU3RlcCA8IDAgPyAnZGFyaycgOiAnbGlnaHQnKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlclBvcG92ZXJFdmVudChldmVudDogVFlQRV9QT1BPVkVSX0VWRU5UKSB7XG4gICAgdGhpcy5vdXRQb3BvdmVyRXZlbnQuZW1pdChldmVudCk7XG4gICAgaWYgKGV2ZW50ID09PSAnY2xpY2snKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChldmVudCA9PT0gJ3JlbW92ZScpIHtcbiAgICAgIHRoaXMuaXNDbGljay5zZXQoZmFsc2UpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5pZ25vcmVTZXRDbGlja1doZW5TaG93UG9wb3ZlcigpKSB7XG4gICAgICB0aGlzLmlzQ2xpY2suc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8bGlic191aS1jb21wb25lbnRzLXBvcG92ZXIgW3R5cGVdPVwicG9wb3ZlcigpLnR5cGUgfHwgJ290aGVyJ1wiXG4gIFttb2RlXT1cInBvcG92ZXIoKS5tb2RlIHx8ICdob3ZlcidcIlxuICBbaWdub3JlSGlkZGVuUG9wb3ZlckNvbnRlbnRXaGVuTW91c2VMZWF2ZV09XCJwb3BvdmVyKCkuaWdub3JlSGlkZGVuUG9wb3ZlckNvbnRlbnRXaGVuTW91c2VMZWF2ZSB8fCBmYWxzZVwiXG4gIFtpZ25vcmVTaG93UG9wb3Zlcl09XCJwb3BvdmVyKCkuY29uZmlnID8gIXBvcG92ZXIoKS5pZ25vcmVTaG93UG9wb3ZlciA/IGZhbHNlOiB0cnVlIDogdHJ1ZVwiXG4gIFtlbGVtZW50UmVmQ3VzdG9tXT1cInBvcG92ZXIoKS5lbGVtZW50UmVmQ3VzdG9tXCJcbiAgW2NvbmZpZ109XCJwb3BvdmVyKCkuY29uZmlnIHx8IHt9XCJcbiAgW2ZsYWdNb3VzZV09XCJmbGFnTW91c2UoKVwiXG4gIFtpZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudF09XCJpZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudCgpXCJcbiAgKG91dEZ1bmN0aW9uc0NvbnRyb2wpPVwiaGFuZGxlclBvcG92ZXJDb250cm9sRXZlbnQoJGV2ZW50KVwiXG4gIChvdXRFdmVudCk9XCJoYW5kbGVyUG9wb3ZlckV2ZW50KCRldmVudClcIj5cbiAgPGJ1dHRvbiAjYnV0dG9uRWxcbiAgICBbY2xhc3NdPVwiY2xhc3NCaW5kaW5nKClcIlxuICAgIFtjbGFzcy5saWJzLXVpLWJ1dHRvbi1kaXNhYmxlXT1cImRpc2FibGUoKVwiXG4gICAgW2NsYXNzLnBvaW50ZXItZXZlbnRzLW5vbmVdPVwiZGlzYWJsZSgpICYmICFpZ25vcmVQb2ludGVyRXZlbnQoKVwiXG4gICAgW2F0dHIuaXNQZW5kaW5nXT1cImlzUGVuZGluZygpXCJcbiAgICBbYXR0ci5pc0NsaWNrXT1cImlzQ2xpY2soKVwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwiaWdub3JlRm9jdXNXaGVuSW5wdXRUYWIoKT8nLTEnOicwJ1wiXG4gICAgW2F0dHIuaGFzTGFiZWxdPVwiKChsYWJlbCgpIHx8ICcgJykgfCB0cmFuc2xhdGUpICE9PSAnICdcIlxuICAgIFthdHRyLmhhc0ljb25MZWZ0XT1cIiEhY2xhc3NJY29uTGVmdCgpXCJcbiAgICBbYXR0ci5oYXNJY29uUmlnaHRdPVwiISFjbGFzc0ljb25SaWdodCgpXCJcbiAgICBbYXR0ci5hY3RpdmVdPVwiISFpc0FjdGl2ZSgpXCJcbiAgICBbbmdTdHlsZV09XCJzdHlsZUJ1dHRvbigpXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlckNsaWNrKCRldmVudClcIj5cbiAgICBAaWYgKGltYWdlTGVmdCgpOyBhcyBpbWFnZUNvbmZpZykge1xuICAgICAgPGltZyBbc3JjXT1cImltYWdlQ29uZmlnLnNyY1wiXG4gICAgICAgIFtjbGFzc109XCJpbWFnZUNvbmZpZy5jbGFzc0luY2x1ZGUgfHwgJ21yLVs4cHhdJ1wiIC8+XG4gICAgfVxuICAgIEBpZiAoY2xhc3NJY29uTGVmdCgpICYmICghaWNvbk9ubHlUeXBlKCkgfHwgKGljb25Pbmx5VHlwZSgpICYmICFpc1BlbmRpbmcoKSkpKSB7XG4gICAgICA8aSBbYXR0ci5pY29uT25seVR5cGVdPVwiaWNvbk9ubHlUeXBlKClcIlxuICAgICAgICBbY2xhc3NdPVwiY2xhc3NJY29uTGVmdCgpICsgJyBsaWJzLXVpLWJ1dHRvbi1pY29uLWxlZnQnXCJcbiAgICAgICAgW25nU3R5bGVdPVwic3R5bGVJY29uTGVmdCgpXCI+XG4gICAgICA8L2k+XG4gICAgfVxuICAgIEBpZiAoIWljb25Pbmx5VHlwZSgpKSB7XG4gICAgICA8bGlic191aS1jb21wb25lbnRzLXBvcG92ZXIgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW2NvbmZpZ109XCJ7XG4gICAgICAgIHpJbmRleDogekluZGV4KCksXG4gICAgICAgIHdpZHRoOiB3aWR0aExhYmVsUG9wb3ZlcigpXG4gICAgICB9XCJcbiAgICAgICAgW2NsYXNzXT1cIihjbGFzc0xhYmVsKCkgfHwgJycpICsgJyBsaWJzLXVpLWJ1dHRvbi1sYWJlbCdcIlxuICAgICAgICBbaW5uZXJIdG1sXT1cIihsYWJlbCgpIHx8ICcgJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnRdPVwiaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnQoKSA/PyB0cnVlXCIgLz5cbiAgICB9XG4gICAgQGlmIChjbGFzc0ljb25SaWdodCgpICYmICghaWNvbk9ubHlUeXBlKCkgfHwgKGljb25Pbmx5VHlwZSgpICYmICFpc1BlbmRpbmcoKSkpKSB7XG4gICAgICA8aSBbYXR0ci5pY29uT25seVR5cGVdPVwiaWNvbk9ubHlUeXBlKClcIlxuICAgICAgICBbY2xhc3NdPVwiY2xhc3NJY29uUmlnaHQoKSsnIGxpYnMtdWktYnV0dG9uLWljb24tcmlnaHQnXCI+PC9pPlxuICAgIH1cbiAgICBAaWYgKGlzUGVuZGluZygpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIlxuICAgICAgICBbY2xhc3Mudy1bMTZweF1dPVwiIXR5cGVCdXR0b24oKSAmJiAhaWNvbk9ubHlUeXBlKClcIlxuICAgICAgICBbY2xhc3MubGVmdC1bMTZweF1dPVwiIXR5cGVCdXR0b24oKSAmJiAhaWNvbk9ubHlUeXBlKClcIlxuICAgICAgICBbY2xhc3MubWwtWzhweF1dPVwidHlwZUJ1dHRvbigpICYmICFpY29uT25seVR5cGUoKVwiPlxuICAgICAgICA8bGlic191aS1jb21wb25lbnRzLXNwaW5uZXIgW3R5cGVdPVwidHlwZUljb25Mb2FkaW5nKClcIlxuICAgICAgICAgIFtzaXplXT1cInNpemVCdXR0b24oKSA9PT0gJ2xhcmdlJz8nbWVkaXVtJzpzaXplQnV0dG9uKCkgPT09ICdzbWFsbGVyJz8nc21hbGxlcic6J3NtYWxsJ1wiIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvYnV0dG9uPlxuPC9saWJzX3VpLWNvbXBvbmVudHMtcG9wb3Zlcj5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvaW50ZXJmYWNlcy9idXR0b24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9wb3ZlciwgVFlQRV9QT1BPVkVSX0RJUkVDVElPTiB9IGZyb20gXCJAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXJcIjtcbmltcG9ydCB7IFRZUEVfT0JKRUNUIH0gZnJvbSBcIkBsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXNcIjtcblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnV0dG9uIHtcbiAga2V5Pzogc3RyaW5nO1xuICB0eXBlPzogVFlQRV9CVVRUT047XG4gIHNpemVCdXR0b24/OiBUWVBFX1NJWkVfQlVUVE9OO1xuICBpY29uT25seVR5cGU/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgZGlzYWJsZT86IGJvb2xlYW47XG4gIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgY2xhc3NJY29uTGVmdD86IHN0cmluZztcbiAgY2xhc3NJY29uUmlnaHQ/OiBzdHJpbmc7XG4gIGNsYXNzTGFiZWw/OiBzdHJpbmc7XG4gIHBvcG92ZXI/OiBJUG9wb3ZlcjtcbiAgaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnQ/OiBib29sZWFuO1xuICB6SW5kZXg/OiBudW1iZXI7XG4gIGdldERhdGFCdXR0b25Ecm9wZG93bj86ICh2YWx1ZT86IGFueSwgaXRlbT86IGFueSkgPT4gUHJvbWlzZTxhbnk+OyAvLyBz4butIGThu6VuZyBjaG8gYnV0dG9uIGRyb3Bkb3duIHRyb25nIHRhYmxlID86IHPhur0gc+G7rWEgdHlwZSBjaGkgdGnhur90IGtoaSBsw6BtIHRhYmxlXG4gIGlzUGVuZGluZz86IGJvb2xlYW47XG4gIGFjdGlvbj86IChkYXRhPzogYW55KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBwb3B1cENvbmZpZ0J1dHRvbkRyb3Bkb3duPzogSVBvcHVwQ29uZmlnQnV0dG9uRHJvcGRvd247XG4gIHN0eWxlSWNvbkxlZnQ/OiBUWVBFX09CSkVDVDtcbiAgc3R5bGVCdXR0b24/OiBUWVBFX09CSkVDVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQnV0dG9uRHJvcGRvd24ge1xuICBsYWJlbD86IHN0cmluZztcbiAgZmllbGRDbGFzcz86IHN0cmluZzsgLy8gY2hhbmdlIGNvbG9yIGxhYmVsIGl0ZW0gb2YgaXRlbXNcbiAgZmllbGRDbGFzc0ljb25MZWZ0Pzogc3RyaW5nOyAvLyBpY29uY2xhc3MgaXRlbSBvZiBpdGVtc1xuICBpdGVtcz86IEFycmF5PGFueT47IC8vIHJlcXVyaWVkXG4gIGZpZWxkRGlzcGxheT86IGFueTsgLy8gcmVxdXJpZWRcbiAga2V5RmllbGQ/OiBhbnk7XG4gIGtleVNlbGVjdGVkPzogc3RyaW5nO1xuICBhcHBseU5vdz86IGJvb2xlYW47IC8vIGlmIG5vdCBhcHBseU5vdz86IGtleUZpZWxkIGlzIHJlcXVyaWVkXG5cbiAgY2xhc3NJY29uUmlnaHQ/OiBzdHJpbmc7XG4gIGNsYXNzSWNvbkxlZnQ/OiBzdHJpbmc7XG4gIHR5cGVCdXR0b24/OiBUWVBFX0JVVFRPTjtcbiAgcG9wdXBDb25maWc/OiBJUG9wdXBDb25maWdCdXR0b25Ecm9wZG93bjtcbiAgZGVtb01vZGU/OiBzdHJpbmc7XG4gIGlnbm9yZUhpZGRlblBvcG92ZXJDb250ZW50V2hlbk1vdXNlTGVhdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQb3B1cENvbmZpZ0J1dHRvbkRyb3Bkb3duIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIG1heFdpZHRoPzogbnVtYmVyO1xuICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gIHpJbmRleD86IG51bWJlcjtcbiAgZGlyZWN0aW9uPzogVFlQRV9QT1BPVkVSX0RJUkVDVElPTjtcbiAgdGltZURlc3Ryb3k/OiBudW1iZXI7XG4gIHdpZHRoQnlQYXJlbnQ/OiBib29sZWFuLFxuICBwb3NpdGlvbj86IHtcbiAgICBtb2RlOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcbiAgICBkaXN0YW5jZTogbnVtYmVyO1xuICB9O1xuICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRZUEVfQlVUVE9OID0gJ2J1dHRvbi1wcmltYXJ5JyB8ICdidXR0b24tcHJpbWFyeS1yZXZlcnQnIHwgJ2J1dHRvbi1zZWNvbmRhcnknIHwgJ2J1dHRvbi10aGlyZCcgfCAnYnV0dG9uLW91dGxpbmUnIHwgJ2J1dHRvbi1kYW5nZXItaGlnaCcgfCAnYnV0dG9uLWRhbmdlci1sb3cnIHwgJ2J1dHRvbi1ncmVlbicgfCAnYnV0dG9uLXZpb2xldCcgfCAnYnV0dG9uLXNlY29uZGFyeS1ncmVlbicgfFxuICAnYnV0dG9uLWxpbmstcHJpbWFyeScgfCAnYnV0dG9uLWxpbmstdGhpcmQnIHwgJ2J1dHRvbi1saW5rLWRhbmdlci1oaWdoJyB8ICdidXR0b24tbGluay1kYW5nZXItbG93JyB8ICdidXR0b24tbGluay1ncmVlbicgfCAnYnV0dG9uLWxpbmstdmlvbGV0JyB8ICdidXR0b24tb3V0bGluZS1ncmVlbicgfCAnYnV0dG9uLWN1c3RvbSc7XG5cbmV4cG9ydCB0eXBlIFRZUEVfU0laRV9CVVRUT04gPSAnbGFyZ2UnIHwgJ21lZGl1bScgfCAnc21hbGwnIHwgJ3NtYWxsZXInOyJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvaW50ZXJmYWNlcy9idXR0b24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9wb3ZlciwgVFlQRV9QT1BPVkVSX0RJUkVDVElPTiB9IGZyb20gXCJAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXJcIjtcbmltcG9ydCB7IElDb2xvckJ1dHRvbiB9IGZyb20gXCJAbGlicy11aS9zZXJ2aWNlcy1jb25maWctcHJvamVjdFwiO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5leHBvcnQgaW50ZXJmYWNlIElCdXR0b24ge1xuICBrZXk/OiBzdHJpbmc7XG4gIHR5cGU/OiBUWVBFX0JVVFRPTjtcbiAgc2l6ZUJ1dHRvbj86IFRZUEVfU0laRV9CVVRUT047XG4gIGljb25Pbmx5VHlwZT86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBkaXNhYmxlPzogYm9vbGVhbjtcbiAgY2xhc3NJbmNsdWRlPzogc3RyaW5nO1xuICBjbGFzc0ljb25MZWZ0Pzogc3RyaW5nO1xuICBjbGFzc0ljb25SaWdodD86IHN0cmluZztcbiAgY2xhc3NMYWJlbD86IHN0cmluZztcbiAgcG9wb3Zlcj86IElQb3BvdmVyO1xuICBpZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudD86IGJvb2xlYW47XG4gIHpJbmRleD86IG51bWJlcjtcbiAgZ2V0RGF0YUJ1dHRvbkRyb3Bkb3duPzogKHZhbHVlPzogYW55LCBpdGVtPzogYW55KSA9PiBQcm9taXNlPGFueT47IC8vIHPhu60gZOG7pW5nIGNobyBidXR0b24gZHJvcGRvd24gdHJvbmcgdGFibGUgPzogc+G6vSBz4butYSB0eXBlIGNoaSB0aeG6v3Qga2hpIGzDoG0gdGFibGVcbiAgaXNQZW5kaW5nPzogYm9vbGVhbjtcbiAgYWN0aW9uPzogKGRhdGE/OiBhbnkpID0+IFByb21pc2U8dm9pZD47XG4gIHBvcHVwQ29uZmlnQnV0dG9uRHJvcGRvd24/OiBJUG9wdXBDb25maWdCdXR0b25Ecm9wZG93bjtcbiAgc3R5bGVJY29uTGVmdD86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHN0eWxlQnV0dG9uPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgYnV0dG9uQ3VzdG9tPzogSUNvbG9yQnV0dG9uOyAvLyBi4bqvdCBideG7mWMga2hpIHR5cGUgbMOgIGJ1dHRvbi1jdXN0b21cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQnV0dG9uRHJvcGRvd24ge1xuICBsYWJlbD86IHN0cmluZztcbiAgZmllbGRDbGFzcz86IHN0cmluZzsgLy8gY2hhbmdlIGNvbG9yIGxhYmVsIGl0ZW0gb2YgaXRlbXNcbiAgZmllbGRDbGFzc0ljb25MZWZ0Pzogc3RyaW5nOyAvLyBpY29uY2xhc3MgaXRlbSBvZiBpdGVtc1xuICBpdGVtcz86IEFycmF5PGFueT47IC8vIHJlcXVyaWVkXG4gIGZpZWxkRGlzcGxheT86IGFueTsgLy8gcmVxdXJpZWRcbiAga2V5RmllbGQ/OiBhbnk7XG4gIGtleVNlbGVjdGVkPzogc3RyaW5nO1xuICBhcHBseU5vdz86IGJvb2xlYW47IC8vIGlmIG5vdCBhcHBseU5vdz86IGtleUZpZWxkIGlzIHJlcXVyaWVkXG5cbiAgY2xhc3NJY29uUmlnaHQ/OiBzdHJpbmc7XG4gIGNsYXNzSWNvbkxlZnQ/OiBzdHJpbmc7XG4gIHR5cGVCdXR0b24/OiBUWVBFX0JVVFRPTjtcbiAgcG9wdXBDb25maWc/OiBJUG9wdXBDb25maWdCdXR0b25Ecm9wZG93bjtcbiAgZGVtb01vZGU/OiBzdHJpbmc7XG4gIGlnbm9yZUhpZGRlblBvcG92ZXJDb250ZW50V2hlbk1vdXNlTGVhdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQb3B1cENvbmZpZ0J1dHRvbkRyb3Bkb3duIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIG1heFdpZHRoPzogbnVtYmVyO1xuICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gIHpJbmRleD86IG51bWJlcjtcbiAgZGlyZWN0aW9uPzogVFlQRV9QT1BPVkVSX0RJUkVDVElPTjtcbiAgdGltZURlc3Ryb3k/OiBudW1iZXI7XG4gIHdpZHRoQnlQYXJlbnQ/OiBib29sZWFuLFxuICBwb3NpdGlvbj86IHtcbiAgICBtb2RlOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcbiAgICBkaXN0YW5jZTogbnVtYmVyO1xuICB9O1xuICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRZUEVfQlVUVE9OID0gJ2J1dHRvbi1wcmltYXJ5JyB8ICdidXR0b24tcHJpbWFyeS1yZXZlcnQnIHwgJ2J1dHRvbi1zZWNvbmRhcnknIHwgJ2J1dHRvbi10aGlyZCcgfCAnYnV0dG9uLW91dGxpbmUnIHwgJ2J1dHRvbi1kYW5nZXItaGlnaCcgfCAnYnV0dG9uLWRhbmdlci1sb3cnIHwgJ2J1dHRvbi1ncmVlbicgfCAnYnV0dG9uLXZpb2xldCcgfCAnYnV0dG9uLXNlY29uZGFyeS1ncmVlbicgfFxuICAnYnV0dG9uLWxpbmstcHJpbWFyeScgfCAnYnV0dG9uLWxpbmstdGhpcmQnIHwgJ2J1dHRvbi1saW5rLWRhbmdlci1oaWdoJyB8ICdidXR0b24tbGluay1kYW5nZXItbG93JyB8ICdidXR0b24tbGluay1ncmVlbicgfCAnYnV0dG9uLWxpbmstdmlvbGV0JyB8ICdidXR0b24tb3V0bGluZS1ncmVlbicgfCAnYnV0dG9uLWN1c3RvbScgfCAnYnV0dG9uLWxpbmstY3VzdG9tJztcblxuZXhwb3J0IHR5cGUgVFlQRV9TSVpFX0JVVFRPTiA9ICdsYXJnZScgfCAnbWVkaXVtJyB8ICdzbWFsbCcgfCAnc21hbGxlcic7Il19
@@ -1,6 +1,6 @@
1
1
  import { NgStyle } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { signal, inject, input, output, viewChild, effect, Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { signal, inject, input, output, viewChild, effect, untracked, Component, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';
5
5
  import { LibsUiComponentsSpinnerComponent } from '@libs-ui/components-spinner';
6
6
  import { LibsUiConfigProjectService } from '@libs-ui/services-config-project';
@@ -22,7 +22,8 @@ class LibsUiComponentsButtonsButtonComponent {
22
22
  /* INPUT */
23
23
  flagMouse = input({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false });
24
24
  type = input('button-primary');
25
- sizeButton = input('medium');
25
+ buttonCustom = input(); // bắt buộc khi type là button-custom hoặc button-link-custom
26
+ sizeButton = input('medium', { transform: value => value ?? 'medium' });
26
27
  label = input(' ');
27
28
  disable = input(false);
28
29
  isPending = input();
@@ -50,8 +51,10 @@ class LibsUiComponentsButtonsButtonComponent {
50
51
  buttonEl = viewChild('buttonEl');
51
52
  constructor() {
52
53
  effect(() => {
53
- this.setClassByType();
54
- }, { allowSignalWrites: true });
54
+ this.type();
55
+ this.buttonCustom();
56
+ untracked(() => this.setClassByType());
57
+ });
55
58
  }
56
59
  /* FUNCTIONS */
57
60
  handlerClick(e) {
@@ -76,7 +79,7 @@ class LibsUiComponentsButtonsButtonComponent {
76
79
  this.typeButton.set(true);
77
80
  }
78
81
  this.setClassAndIconLoadingByType();
79
- const config = get(this.configProjectService.ConfigButton(), this.type());
82
+ const config = this.type().includes('custom') ? this.buttonCustom() : get(this.configProjectService.ConfigButton(), this.type());
80
83
  this.setVariableStyles(config.rootColor, config.configStepColor);
81
84
  if (!this.sizeButton || !this.typeButton()) {
82
85
  return this.classBinding.update(value => `${value} ${this.classInclude()}`);
@@ -113,12 +116,13 @@ class LibsUiComponentsButtonsButtonComponent {
113
116
  const colors = colorContrastFromOrigin(color);
114
117
  Object.keys(configStep).forEach(key => {
115
118
  const valueStep = get(configStep, key);
119
+ const typeLink = this.type().includes('link');
116
120
  if (typeof valueStep === 'string') {
117
- this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${this.type().includes('link') ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);
121
+ this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);
118
122
  return;
119
123
  }
120
124
  const color = colors.find(item => item.step === Math.abs(valueStep));
121
- this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${this.type().includes('link') ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));
125
+ this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));
122
126
  });
123
127
  }
124
128
  async handlerPopoverEvent(event) {
@@ -139,7 +143,7 @@ class LibsUiComponentsButtonsButtonComponent {
139
143
  this.onDestroy.complete();
140
144
  }
141
145
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsButtonsButtonComponent, isStandalone: true, selector: "libs_ui-components-buttons-button", inputs: { flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, sizeButton: { classPropertyName: "sizeButton", publicName: "sizeButton", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, isPending: { classPropertyName: "isPending", publicName: "isPending", isSignal: true, isRequired: false, transformFunction: null }, imageLeft: { classPropertyName: "imageLeft", publicName: "imageLeft", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classIconLeft: { classPropertyName: "classIconLeft", publicName: "classIconLeft", isSignal: true, isRequired: false, transformFunction: null }, classIconRight: { classPropertyName: "classIconRight", publicName: "classIconRight", isSignal: true, isRequired: false, transformFunction: null }, classLabel: { classPropertyName: "classLabel", publicName: "classLabel", isSignal: true, isRequired: false, transformFunction: null }, iconOnlyType: { classPropertyName: "iconOnlyType", publicName: "iconOnlyType", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, widthLabelPopover: { classPropertyName: "widthLabelPopover", publicName: "widthLabelPopover", isSignal: true, isRequired: false, transformFunction: null }, styleIconLeft: { classPropertyName: "styleIconLeft", publicName: "styleIconLeft", isSignal: true, isRequired: false, transformFunction: null }, styleButton: { classPropertyName: "styleButton", publicName: "styleButton", isSignal: true, isRequired: false, transformFunction: null }, ignoreFocusWhenInputTab: { classPropertyName: "ignoreFocusWhenInputTab", publicName: "ignoreFocusWhenInputTab", isSignal: true, isRequired: false, transformFunction: null }, ignoreSetClickWhenShowPopover: { classPropertyName: "ignoreSetClickWhenShowPopover", publicName: "ignoreSetClickWhenShowPopover", isSignal: true, isRequired: false, transformFunction: null }, ignorePointerEvent: { classPropertyName: "ignorePointerEvent", publicName: "ignorePointerEvent", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick", outPopoverEvent: "outPopoverEvent", outFunctionsControl: "outFunctionsControl" }, viewQueries: [{ propertyName: "buttonEl", first: true, predicate: ["buttonEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' mo-button-class-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' mo-button-class-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:12px;line-height:16px;text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme>[class*=libs-ui-icon]{font-size:16px;margin:0}.libs-ui-button.libs-ui-button-theme .mo-button-class-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .mo-button-class-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:11px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-icon]{font-size:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:16px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:20px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:7px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:5px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:6px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:2px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:2px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:11px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
146
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsButtonsButtonComponent, isStandalone: true, selector: "libs_ui-components-buttons-button", inputs: { flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, buttonCustom: { classPropertyName: "buttonCustom", publicName: "buttonCustom", isSignal: true, isRequired: false, transformFunction: null }, sizeButton: { classPropertyName: "sizeButton", publicName: "sizeButton", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, isPending: { classPropertyName: "isPending", publicName: "isPending", isSignal: true, isRequired: false, transformFunction: null }, imageLeft: { classPropertyName: "imageLeft", publicName: "imageLeft", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classIconLeft: { classPropertyName: "classIconLeft", publicName: "classIconLeft", isSignal: true, isRequired: false, transformFunction: null }, classIconRight: { classPropertyName: "classIconRight", publicName: "classIconRight", isSignal: true, isRequired: false, transformFunction: null }, classLabel: { classPropertyName: "classLabel", publicName: "classLabel", isSignal: true, isRequired: false, transformFunction: null }, iconOnlyType: { classPropertyName: "iconOnlyType", publicName: "iconOnlyType", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, widthLabelPopover: { classPropertyName: "widthLabelPopover", publicName: "widthLabelPopover", isSignal: true, isRequired: false, transformFunction: null }, styleIconLeft: { classPropertyName: "styleIconLeft", publicName: "styleIconLeft", isSignal: true, isRequired: false, transformFunction: null }, styleButton: { classPropertyName: "styleButton", publicName: "styleButton", isSignal: true, isRequired: false, transformFunction: null }, ignoreFocusWhenInputTab: { classPropertyName: "ignoreFocusWhenInputTab", publicName: "ignoreFocusWhenInputTab", isSignal: true, isRequired: false, transformFunction: null }, ignoreSetClickWhenShowPopover: { classPropertyName: "ignoreSetClickWhenShowPopover", publicName: "ignoreSetClickWhenShowPopover", isSignal: true, isRequired: false, transformFunction: null }, ignorePointerEvent: { classPropertyName: "ignorePointerEvent", publicName: "ignorePointerEvent", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick", outPopoverEvent: "outPopoverEvent", outFunctionsControl: "outFunctionsControl" }, viewQueries: [{ propertyName: "buttonEl", first: true, predicate: ["buttonEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:12px;line-height:16px;text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme>[class*=libs-ui-button-icon]{font-size:16px;margin:0}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:11px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:16px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:20px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:7px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:5px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:6px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:2px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:2px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:11px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
147
  }
144
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsButtonComponent, decorators: [{
145
149
  type: Component,
@@ -147,7 +151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
147
151
  NgStyle, TranslateModule,
148
152
  LibsUiComponentsSpinnerComponent,
149
153
  LibsUiComponentsPopoverComponent
150
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' mo-button-class-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' mo-button-class-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:12px;line-height:16px;text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme>[class*=libs-ui-icon]{font-size:16px;margin:0}.libs-ui-button.libs-ui-button-theme .mo-button-class-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .mo-button-class-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:11px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-icon]{font-size:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:16px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:20px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:7px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:5px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:6px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:2px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:2px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:11px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"] }]
154
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:12px;line-height:16px;text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme>[class*=libs-ui-button-icon]{font-size:16px;margin:0}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:11px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:16px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:20px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:7px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:5px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:6px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:12px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:2px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:2px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:11px;font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"] }]
151
155
  }], ctorParameters: () => [] });
152
156
 
153
157
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-components-buttons-button.mjs","sources":["../../../../../../libs-ui/components/buttons/button/src/button.component.ts","../../../../../../libs-ui/components/buttons/button/src/button.component.html","../../../../../../libs-ui/components/buttons/button/src/libs-ui-components-buttons-button.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { NgStyle } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, OnDestroy, output, signal, viewChild } from '@angular/core';\nimport { IFlagMouse, IPopover, IPopoverFunctionControlEvent, LibsUiComponentsPopoverComponent, TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';\nimport { LibsUiComponentsSpinnerComponent, TYPE_SPINNER } from '@libs-ui/components-spinner';\nimport { TYPE_OBJECT } from '@libs-ui/interfaces-types';\nimport { LibsUiConfigProjectService } from '@libs-ui/services-config-project';\nimport { colorContrastFromOrigin, get } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, timer } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TYPE_BUTTON, TYPE_SIZE_BUTTON } from './interfaces/button.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-buttons-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n standalone: true,\n imports: [\n NgStyle, TranslateModule,\n LibsUiComponentsSpinnerComponent,\n LibsUiComponentsPopoverComponent\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LibsUiComponentsButtonsButtonComponent implements OnDestroy {\n\n /* PROPERTY */\n private onDestroy = new Subject<void>();\n\n protected classBinding = signal('');\n protected isClick = signal(false);\n protected typeIconLoading = signal<TYPE_SPINNER>('spin-blue');\n protected typeButton = signal(false);\n\n private configProjectService = inject(LibsUiConfigProjectService);\n\n /* INPUT */\n readonly flagMouse = input<IFlagMouse>({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false });\n readonly type = input<TYPE_BUTTON>('button-primary');\n readonly sizeButton = input<TYPE_SIZE_BUTTON>('medium');\n readonly label = input<string>(' ');\n readonly disable = input<boolean>(false);\n readonly isPending = input<boolean>();\n readonly imageLeft = input<{ src: string; classInclude?: string }>();\n readonly classInclude = input<string>('');\n readonly classIconLeft = input<string>('');\n readonly classIconRight = input<string>('');\n readonly classLabel = input<string>('');\n readonly iconOnlyType = input<boolean>(false);\n readonly popover = input<IPopover>({});\n readonly ignoreStopPropagationEvent = input<boolean>();\n readonly zIndex = input<number>(10);\n readonly widthLabelPopover = input<number>();\n readonly styleIconLeft = input<TYPE_OBJECT>();\n readonly styleButton = input<TYPE_OBJECT>();\n readonly ignoreFocusWhenInputTab = input<boolean>(); // dùng để bỏ qua focus khi bấm nút TAB từ bán phím\n readonly ignoreSetClickWhenShowPopover = input<boolean>();\n readonly ignorePointerEvent = input<boolean>();\n readonly isActive = input<boolean>();\n\n /* OUTPUT */\n readonly outClick = output<Event>();\n readonly outPopoverEvent = output<TYPE_POPOVER_EVENT>();\n readonly outFunctionsControl = output<IPopoverFunctionControlEvent>();\n\n /* VIEW CHILD */\n private readonly buttonEl = viewChild<ElementRef>('buttonEl');\n\n constructor() {\n effect(() => {\n this.setClassByType();\n }, { allowSignalWrites: true });\n }\n\n /* FUNCTIONS */\n protected handlerClick(e: Event) {\n if (this.ignoreStopPropagationEvent() === false) {\n e.stopPropagation();\n }\n this.buttonEl()?.nativeElement.blur();\n if (this.disable() || this.isPending()) {\n return;\n }\n this.outClick.emit(e);\n this.isClick.set(true);\n timer(100).pipe(takeUntil(this.onDestroy)).subscribe(() => {\n this.isClick.set(false);\n });\n }\n\n protected async handlerPopoverControlEvent(control: IPopoverFunctionControlEvent) {\n this.outFunctionsControl.emit(control);\n }\n\n private async setClassByType() {\n if (this.type().search('button') === 0) {\n this.typeButton.set(true);\n }\n this.setClassAndIconLoadingByType();\n const config = get(this.configProjectService.ConfigButton(), this.type());\n\n this.setVariableStyles(config.rootColor, config.configStepColor);\n if (!this.sizeButton || !this.typeButton()) {\n return this.classBinding.update(value => `${value} ${this.classInclude()}`);\n }\n\n switch (this.sizeButton()) {\n case 'large':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-large`);\n case 'medium':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-medium`);\n\n case 'small':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-small`);\n\n case 'smaller':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-smaller`);\n }\n\n }\n\n private async setClassAndIconLoadingByType() {\n if (!this.type) {\n return;\n }\n if (this.type().includes('link')) {\n this.classBinding.set('libs-ui-button libs-ui-button-theme libs-ui-button-link libs-ui-button-link-other-color');\n return this.typeIconLoading.set('spin-blue');\n }\n this.classBinding.set('libs-ui-button libs-ui-button-theme libs-ui-button-other-color');\n if (['button-secondary', 'button-third', 'button-outline', 'button-outline-green'].includes(this.type())) {\n return this.typeIconLoading.set('spin-blue');\n }\n return this.typeIconLoading.set('spin-white');\n }\n\n private async setVariableStyles(color: string, configStep: any) {\n if (!color) {\n return;\n }\n\n const colors = colorContrastFromOrigin(color);\n\n Object.keys(configStep).forEach(key => {\n const valueStep = get(configStep, key);\n\n if (typeof valueStep === 'string') {\n this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${this.type().includes('link') ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);\n\n return;\n }\n const color = colors.find(item => item.step === Math.abs(valueStep));\n\n this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${this.type().includes('link') ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));\n });\n }\n\n protected async handlerPopoverEvent(event: TYPE_POPOVER_EVENT) {\n this.outPopoverEvent.emit(event);\n if (event === 'click') {\n return;\n }\n if (event === 'remove') {\n this.isClick.set(false);\n\n return;\n }\n if (!this.ignoreSetClickWhenShowPopover()) {\n this.isClick.set(true);\n }\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' mo-button-class-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' mo-button-class-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libs-ui-components-buttons-button.mjs","sources":["../../../../../../libs-ui/components/buttons/button/src/button.component.ts","../../../../../../libs-ui/components/buttons/button/src/button.component.html","../../../../../../libs-ui/components/buttons/button/src/libs-ui-components-buttons-button.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { NgStyle } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, OnDestroy, output, signal, untracked, viewChild } from '@angular/core';\nimport { IFlagMouse, IPopover, IPopoverFunctionControlEvent, LibsUiComponentsPopoverComponent, TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';\nimport { LibsUiComponentsSpinnerComponent, TYPE_SPINNER } from '@libs-ui/components-spinner';\nimport { IColorButton, LibsUiConfigProjectService } from '@libs-ui/services-config-project';\nimport { colorContrastFromOrigin, get } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, timer } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TYPE_BUTTON, TYPE_SIZE_BUTTON } from './interfaces/button.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-buttons-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n standalone: true,\n imports: [\n NgStyle, TranslateModule,\n LibsUiComponentsSpinnerComponent,\n LibsUiComponentsPopoverComponent\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LibsUiComponentsButtonsButtonComponent implements OnDestroy {\n\n /* PROPERTY */\n private onDestroy = new Subject<void>();\n\n protected classBinding = signal('');\n protected isClick = signal(false);\n protected typeIconLoading = signal<TYPE_SPINNER>('spin-blue');\n protected typeButton = signal(false);\n\n private configProjectService = inject(LibsUiConfigProjectService);\n\n /* INPUT */\n readonly flagMouse = input<IFlagMouse>({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false });\n readonly type = input<TYPE_BUTTON>('button-primary');\n readonly buttonCustom = input<IColorButton>(); // bắt buộc khi type là button-custom hoặc button-link-custom\n readonly sizeButton = input<TYPE_SIZE_BUTTON, TYPE_SIZE_BUTTON | undefined>('medium', { transform: value => value ?? 'medium' });\n readonly label = input<string>(' ');\n readonly disable = input<boolean>(false);\n readonly isPending = input<boolean>();\n readonly imageLeft = input<{ src: string; classInclude?: string }>();\n readonly classInclude = input<string>('');\n readonly classIconLeft = input<string>('');\n readonly classIconRight = input<string>('');\n readonly classLabel = input<string>('');\n readonly iconOnlyType = input<boolean>(false);\n readonly popover = input<IPopover>({});\n readonly ignoreStopPropagationEvent = input<boolean>();\n readonly zIndex = input<number>(10);\n readonly widthLabelPopover = input<number>();\n readonly styleIconLeft = input<Record<string, any>>();\n readonly styleButton = input<Record<string, any>>();\n readonly ignoreFocusWhenInputTab = input<boolean>(); // dùng để bỏ qua focus khi bấm nút TAB từ bán phím\n readonly ignoreSetClickWhenShowPopover = input<boolean>();\n readonly ignorePointerEvent = input<boolean>();\n readonly isActive = input<boolean>();\n\n /* OUTPUT */\n readonly outClick = output<Event>();\n readonly outPopoverEvent = output<TYPE_POPOVER_EVENT>();\n readonly outFunctionsControl = output<IPopoverFunctionControlEvent>();\n\n /* VIEW CHILD */\n private readonly buttonEl = viewChild<ElementRef>('buttonEl');\n\n constructor() {\n effect(() => {\n this.type(); this.buttonCustom();\n untracked(() => this.setClassByType());\n });\n }\n\n /* FUNCTIONS */\n protected handlerClick(e: Event) {\n if (this.ignoreStopPropagationEvent() === false) {\n e.stopPropagation();\n }\n this.buttonEl()?.nativeElement.blur();\n if (this.disable() || this.isPending()) {\n return;\n }\n this.outClick.emit(e);\n this.isClick.set(true);\n timer(100).pipe(takeUntil(this.onDestroy)).subscribe(() => {\n this.isClick.set(false);\n });\n }\n\n protected async handlerPopoverControlEvent(control: IPopoverFunctionControlEvent) {\n this.outFunctionsControl.emit(control);\n }\n\n private async setClassByType() {\n if (this.type().search('button') === 0) {\n this.typeButton.set(true);\n }\n this.setClassAndIconLoadingByType();\n const config = this.type().includes('custom') ? this.buttonCustom() : get(this.configProjectService.ConfigButton(), this.type());\n\n this.setVariableStyles(config.rootColor, config.configStepColor);\n if (!this.sizeButton || !this.typeButton()) {\n return this.classBinding.update(value => `${value} ${this.classInclude()}`);\n }\n\n switch (this.sizeButton()) {\n case 'large':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-large`);\n case 'medium':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-medium`);\n\n case 'small':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-small`);\n\n case 'smaller':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-smaller`);\n }\n }\n\n private async setClassAndIconLoadingByType() {\n if (!this.type) {\n return;\n }\n if (this.type().includes('link')) {\n this.classBinding.set('libs-ui-button libs-ui-button-theme libs-ui-button-link libs-ui-button-link-other-color');\n return this.typeIconLoading.set('spin-blue');\n }\n this.classBinding.set('libs-ui-button libs-ui-button-theme libs-ui-button-other-color');\n if (['button-secondary', 'button-third', 'button-outline', 'button-outline-green'].includes(this.type())) {\n return this.typeIconLoading.set('spin-blue');\n }\n return this.typeIconLoading.set('spin-white');\n }\n\n private async setVariableStyles(color: string, configStep: any) {\n if (!color) {\n return;\n }\n\n const colors = colorContrastFromOrigin(color);\n\n Object.keys(configStep).forEach(key => {\n const valueStep = get(configStep, key);\n const typeLink = this.type().includes('link');\n\n if (typeof valueStep === 'string') {\n this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);\n\n return;\n }\n const color = colors.find(item => item.step === Math.abs(valueStep));\n\n this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));\n });\n }\n\n protected async handlerPopoverEvent(event: TYPE_POPOVER_EVENT) {\n this.outPopoverEvent.emit(event);\n if (event === 'click') {\n return;\n }\n if (event === 'remove') {\n this.isClick.set(false);\n\n return;\n }\n if (!this.ignoreSetClickWhenShowPopover()) {\n this.isClick.set(true);\n }\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !popover().ignoreShowPopover ? false: true : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent() ?? true\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { IPopover, TYPE_POPOVER_DIRECTION } from "@libs-ui/components-popover";
2
- import { TYPE_OBJECT } from "@libs-ui/interfaces-types";
2
+ import { IColorButton } from "@libs-ui/services-config-project";
3
3
  export interface IButton {
4
4
  key?: string;
5
5
  type?: TYPE_BUTTON;
@@ -18,8 +18,9 @@ export interface IButton {
18
18
  isPending?: boolean;
19
19
  action?: (data?: any) => Promise<void>;
20
20
  popupConfigButtonDropdown?: IPopupConfigButtonDropdown;
21
- styleIconLeft?: TYPE_OBJECT;
22
- styleButton?: TYPE_OBJECT;
21
+ styleIconLeft?: Record<string, any>;
22
+ styleButton?: Record<string, any>;
23
+ buttonCustom?: IColorButton;
23
24
  }
24
25
  export interface IButtonDropdown {
25
26
  label?: string;
@@ -51,5 +52,5 @@ export interface IPopupConfigButtonDropdown {
51
52
  };
52
53
  classInclude?: string;
53
54
  }
54
- export type TYPE_BUTTON = 'button-primary' | 'button-primary-revert' | 'button-secondary' | 'button-third' | 'button-outline' | 'button-danger-high' | 'button-danger-low' | 'button-green' | 'button-violet' | 'button-secondary-green' | 'button-link-primary' | 'button-link-third' | 'button-link-danger-high' | 'button-link-danger-low' | 'button-link-green' | 'button-link-violet' | 'button-outline-green' | 'button-custom';
55
+ export type TYPE_BUTTON = 'button-primary' | 'button-primary-revert' | 'button-secondary' | 'button-third' | 'button-outline' | 'button-danger-high' | 'button-danger-low' | 'button-green' | 'button-violet' | 'button-secondary-green' | 'button-link-primary' | 'button-link-third' | 'button-link-danger-high' | 'button-link-danger-low' | 'button-link-green' | 'button-link-violet' | 'button-outline-green' | 'button-custom' | 'button-link-custom';
55
56
  export type TYPE_SIZE_BUTTON = 'large' | 'medium' | 'small' | 'smaller';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libs-ui/components-buttons-button",
3
- "version": "0.2.9",
3
+ "version": "0.2.106.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"