@dev-tcloud/tcloud-ui 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/esm2022/lib/_directives/align/align.directive.mjs +3 -3
  2. package/esm2022/lib/_directives/currency/currency.directive.mjs +3 -3
  3. package/esm2022/lib/_directives/directives.module.mjs +4 -4
  4. package/esm2022/lib/_directives/el-copy/el-copy.directive.mjs +3 -3
  5. package/esm2022/lib/_directives/hover-parent/hover-parent.directive.mjs +3 -3
  6. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.mjs +3 -3
  7. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.mjs +3 -3
  8. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.mjs +3 -3
  9. package/esm2022/lib/_directives/tcloud-ui-digit-only.directive.mjs +3 -3
  10. package/esm2022/lib/_directives/tcloud-ui-highlight.diretive.mjs +3 -3
  11. package/esm2022/lib/_directives/tcloud-ui-ip-mask.directive.mjs +3 -3
  12. package/esm2022/lib/_directives/tooltip/tooltip.directive.mjs +133 -88
  13. package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.mjs +4 -4
  14. package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.mjs +4 -4
  15. package/esm2022/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.mjs +3 -3
  16. package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.mjs +4 -4
  17. package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.mjs +4 -4
  18. package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.mjs +3 -3
  19. package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.mjs +4 -4
  20. package/esm2022/lib/_modules/tcloud-ui-data-list/services/data-list.service.mjs +3 -3
  21. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.mjs +3 -3
  22. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.mjs +3 -3
  23. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.mjs +4 -4
  24. package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.mjs +3 -3
  25. package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.mjs +4 -4
  26. package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.mjs +3 -3
  27. package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.mjs +4 -4
  28. package/esm2022/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +3 -3
  29. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.mjs +3 -3
  30. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.mjs +4 -4
  31. package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.mjs +3 -3
  32. package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.mjs +4 -4
  33. package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.mjs +4 -4
  34. package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.mjs +4 -4
  35. package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.mjs +3 -3
  36. package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.mjs +4 -4
  37. package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.mjs +3 -3
  38. package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.mjs +4 -4
  39. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.mjs +3 -3
  40. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.mjs +4 -4
  41. package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.mjs +3 -3
  42. package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.mjs +4 -4
  43. package/esm2022/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.mjs +3 -3
  44. package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.mjs +3 -3
  45. package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.mjs +4 -4
  46. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.mjs +3 -3
  47. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.mjs +3 -3
  48. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.mjs +3 -3
  49. package/esm2022/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.mjs +3 -3
  50. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.mjs +3 -3
  51. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.mjs +4 -4
  52. package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.mjs +8 -5
  53. package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.mjs +4 -4
  54. package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.mjs +8 -5
  55. package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.mjs +4 -4
  56. package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.mjs +3 -3
  57. package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.mjs +4 -4
  58. package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.mjs +3 -3
  59. package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.mjs +4 -4
  60. package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.mjs +4 -4
  61. package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.mjs +4 -4
  62. package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.mjs +3 -3
  63. package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.mjs +4 -4
  64. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.mjs +5 -5
  65. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.mjs +5 -5
  66. package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.mjs +3 -3
  67. package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.mjs +4 -4
  68. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.mjs +3 -3
  69. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.mjs +3 -3
  70. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.mjs +3 -3
  71. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.mjs +3 -3
  72. package/esm2022/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.mjs +3 -3
  73. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.mjs +3 -3
  74. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.mjs +4 -4
  75. package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.mjs +5 -5
  76. package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.mjs +4 -4
  77. package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.mjs +3 -3
  78. package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.mjs +4 -4
  79. package/esm2022/lib/_pipes/array-to-text.mjs +3 -3
  80. package/esm2022/lib/_pipes/bytes.mjs +3 -3
  81. package/esm2022/lib/_pipes/cnpj.mjs +3 -3
  82. package/esm2022/lib/_pipes/cpf.mjs +3 -3
  83. package/esm2022/lib/_pipes/datebr.mjs +3 -3
  84. package/esm2022/lib/_pipes/monthname.mjs +3 -3
  85. package/esm2022/lib/_pipes/respective.mjs +3 -3
  86. package/esm2022/lib/_pipes/statusinfo.mjs +3 -3
  87. package/esm2022/lib/_pipes/tcloud-pipes.module.mjs +4 -4
  88. package/esm2022/lib/_services/loading-transitions.service.mjs +3 -3
  89. package/esm2022/lib/_services/search-in-object.service.mjs +3 -3
  90. package/esm2022/lib/_services/tcloud-ui-check-access.service.mjs +3 -3
  91. package/esm2022/lib/tcloud-ui.module.mjs +4 -4
  92. package/fesm2022/dev-tcloud-tcloud-ui.mjs +440 -389
  93. package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
  94. package/lib/_directives/tooltip/tooltip.directive.d.ts +14 -6
  95. package/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.d.ts +2 -1
  96. package/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.d.ts +2 -1
  97. package/package.json +1 -1
@@ -28,10 +28,10 @@ export class TCloudUiAlignDirective {
28
28
  this.renderer.setStyle(el, 'text-align', 'justify');
29
29
  }
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiAlignDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiAlignDirective, selector: "[TCalign]", inputs: { TCalign: "TCalign" }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiAlignDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiAlignDirective, selector: "[TCalign]", inputs: { TCalign: "TCalign" }, ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiAlignDirective, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiAlignDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: '[TCalign]'
@@ -133,14 +133,14 @@ export class TCloudUiCurrencyDirective {
133
133
  }
134
134
  return _value;
135
135
  }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiCurrencyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
137
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiCurrencyDirective, selector: "[TCcurrency]", host: { listeners: { "focus": "onFocus()", "input": "onInput($event.target.value)" } }, providers: [{
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiCurrencyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
137
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiCurrencyDirective, selector: "[TCcurrency]", host: { listeners: { "focus": "onFocus()", "input": "onInput($event.target.value)" } }, providers: [{
138
138
  provide: NG_VALUE_ACCESSOR,
139
139
  useExisting: TCloudUiCurrencyDirective,
140
140
  multi: true
141
141
  }], ngImport: i0 }); }
142
142
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiCurrencyDirective, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiCurrencyDirective, decorators: [{
144
144
  type: Directive,
145
145
  args: [{
146
146
  selector: '[TCcurrency]',
@@ -13,8 +13,8 @@ import { TCloudUiHighLightDirective } from './tcloud-ui-highlight.diretive';
13
13
  import { TCloudUiIpMaskDirective } from './tcloud-ui-ip-mask.directive';
14
14
  import * as i0 from "@angular/core";
15
15
  export class TCloudUiDirectiveModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiDirectiveModule, declarations: [TCloudUiTooltipDirective,
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiDirectiveModule, declarations: [TCloudUiTooltipDirective,
18
18
  TCloudUiAlignDirective,
19
19
  TCloudUiHoverParentDirective,
20
20
  TCloudUiElCopyDirective,
@@ -35,11 +35,11 @@ export class TCloudUiDirectiveModule {
35
35
  TCloudUiDigitOnlyDirective,
36
36
  TCloudUiHighLightDirective,
37
37
  TCloudUiIpMaskDirective] }); }
38
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiDirectiveModule, providers: [
38
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiDirectiveModule, providers: [
39
39
  TCloudUiCheckAccessService
40
40
  ] }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiDirectiveModule, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiDirectiveModule, decorators: [{
43
43
  type: NgModule,
44
44
  args: [{
45
45
  declarations: [
@@ -56,10 +56,10 @@ export class TCloudUiElCopyDirective {
56
56
  const ref = (target) ? `-${target}` : '';
57
57
  return `tc-el-copy-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiElCopyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
60
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiElCopyDirective, selector: "[TCCopy]", ngImport: i0 }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiElCopyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
60
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiElCopyDirective, selector: "[TCCopy]", ngImport: i0 }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiElCopyDirective, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiElCopyDirective, decorators: [{
63
63
  type: Directive,
64
64
  args: [{
65
65
  selector: '[TCCopy]'
@@ -36,10 +36,10 @@ export class TCloudUiHoverParentDirective {
36
36
  }
37
37
  return undefined;
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiHoverParentDirective, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiHoverParentDirective, selector: "[TCHoverParent]", inputs: { TCHoverParent: "TCHoverParent", TCHoverParentClass: "TCHoverParentClass" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseout": "onMouseOut()" } }, ngImport: i0 }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiHoverParentDirective, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiHoverParentDirective, selector: "[TCHoverParent]", inputs: { TCHoverParent: "TCHoverParent", TCHoverParentClass: "TCHoverParentClass" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseout": "onMouseOut()" } }, ngImport: i0 }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiHoverParentDirective, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiHoverParentDirective, decorators: [{
43
43
  type: Directive,
44
44
  args: [{
45
45
  selector: '[TCHoverParent]'
@@ -52,10 +52,10 @@ export class TCloudUiCheckAccessDirective {
52
52
  catch (error) { }
53
53
  }
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiCheckAccessDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.TCloudUiCheckAccessService }], target: i0.ɵɵFactoryTarget.Directive }); }
56
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiCheckAccessDirective, selector: "[TCCheckAccess]", inputs: { TCCheckAccess: "TCCheckAccess" }, ngImport: i0 }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiCheckAccessDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.TCloudUiCheckAccessService }], target: i0.ɵɵFactoryTarget.Directive }); }
56
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiCheckAccessDirective, selector: "[TCCheckAccess]", inputs: { TCCheckAccess: "TCCheckAccess" }, ngImport: i0 }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiCheckAccessDirective, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiCheckAccessDirective, decorators: [{
59
59
  type: Directive,
60
60
  args: [{
61
61
  selector: '[TCCheckAccess]'
@@ -34,10 +34,10 @@ export class TCloudUiNgCheckAccessDirective {
34
34
  this.viewContainer.clear();
35
35
  }
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiNgCheckAccessDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.TCloudUiCheckAccessService }], target: i0.ɵɵFactoryTarget.Directive }); }
38
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiNgCheckAccessDirective, selector: "[ngTCCheckAccess]", inputs: { ngTCCheckAccess: "ngTCCheckAccess", ngTCCheckAccessNgIf: "ngTCCheckAccessNgIf" }, ngImport: i0 }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiNgCheckAccessDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.TCloudUiCheckAccessService }], target: i0.ɵɵFactoryTarget.Directive }); }
38
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiNgCheckAccessDirective, selector: "[ngTCCheckAccess]", inputs: { ngTCCheckAccess: "ngTCCheckAccess", ngTCCheckAccessNgIf: "ngTCCheckAccessNgIf" }, ngImport: i0 }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiNgCheckAccessDirective, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiNgCheckAccessDirective, decorators: [{
41
41
  type: Directive,
42
42
  args: [{
43
43
  selector: '[ngTCCheckAccess]'
@@ -28,10 +28,10 @@ export class TCloudUiNgFeatureFlagsDirective {
28
28
  this.viewContainer.clear();
29
29
  }
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiNgFeatureFlagsDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.TCloudUiCheckAccessService }], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiNgFeatureFlagsDirective, selector: "[ngTCFeatureFlags]", inputs: { ngTCFeatureFlags: "ngTCFeatureFlags", TCNgFeatureFlagsNgIf: "TCNgFeatureFlagsNgIf" }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiNgFeatureFlagsDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.TCloudUiCheckAccessService }], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiNgFeatureFlagsDirective, selector: "[ngTCFeatureFlags]", inputs: { ngTCFeatureFlags: "ngTCFeatureFlags", TCNgFeatureFlagsNgIf: "TCNgFeatureFlagsNgIf" }, ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiNgFeatureFlagsDirective, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiNgFeatureFlagsDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: '[ngTCFeatureFlags]'
@@ -43,10 +43,10 @@ export class TCloudUiDigitOnlyDirective {
43
43
  document?.execCommand('insertText', false, textData);
44
44
  }
45
45
  }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiDigitOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
47
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiDigitOnlyDirective, selector: "[TCDigitOnly]", host: { listeners: { "keydown": "onKeyDown($event)", "paste": "onPaste($event)", "drop": "onDrop($event)" } }, ngImport: i0 }); }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiDigitOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
47
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiDigitOnlyDirective, selector: "[TCDigitOnly]", host: { listeners: { "keydown": "onKeyDown($event)", "paste": "onPaste($event)", "drop": "onDrop($event)" } }, ngImport: i0 }); }
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiDigitOnlyDirective, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiDigitOnlyDirective, decorators: [{
50
50
  type: Directive,
51
51
  args: [{
52
52
  selector: '[TCDigitOnly]'
@@ -22,10 +22,10 @@ export class TCloudUiHighLightDirective {
22
22
  }
23
23
  this.inputElement.insertBefore(block, this.inputElement.firstChild);
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiHighLightDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiHighLightDirective, selector: "[TCHighlight]", inputs: { TCHighlight: "TCHighlight" }, ngImport: i0 }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiHighLightDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiHighLightDirective, selector: "[TCHighlight]", inputs: { TCHighlight: "TCHighlight" }, ngImport: i0 }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiHighLightDirective, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiHighLightDirective, decorators: [{
29
29
  type: Directive,
30
30
  args: [{
31
31
  selector: '[TCHighlight]'
@@ -36,10 +36,10 @@ export class TCloudUiIpMaskDirective {
36
36
  document?.execCommand('insertText', false, pastedInput);
37
37
  }
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiIpMaskDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiIpMaskDirective, selector: "[TCIpMask]", host: { listeners: { "keydown": "onKeyDown($event)", "paste": "onPaste($event)" } }, ngImport: i0 }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiIpMaskDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiIpMaskDirective, selector: "[TCIpMask]", host: { listeners: { "keydown": "onKeyDown($event)", "paste": "onPaste($event)" } }, ngImport: i0 }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiIpMaskDirective, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiIpMaskDirective, decorators: [{
43
43
  type: Directive,
44
44
  args: [{
45
45
  selector: '[TCIpMask]'
@@ -1,79 +1,14 @@
1
1
  import { Directive, Input, HostListener } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class TCloudUiTooltipDirective {
4
- onMouseOver(event) {
5
- let hoverInCallback = () => {
6
- this.remove = false;
7
- };
8
- let hoverOutCallback = () => {
9
- this.remove = true;
10
- const customDivAll = document.querySelectorAll('.tc-directive-tooltip');
11
- if (customDivAll && customDivAll.length > 0) {
12
- customDivAll.forEach((_customDiv) => {
13
- if (_customDiv) {
14
- _customDiv.remove();
15
- }
16
- });
17
- }
18
- };
19
- hoverOutCallback;
20
- setTimeout(() => {
21
- const scrollTop = window?.scrollY || window?.pageYOffset;
22
- const tooltip = this.renderer.createElement('div');
23
- const rect = this.el.nativeElement?.getBoundingClientRect();
24
- // const direction = this.el.nativeElement?.attributes['ng-reflect--t-cdirection']?.value || 'top';
25
- const direction = this._direction || 'top';
26
- const el_position_x = (rect?.left) ? parseInt(rect?.left) : 0;
27
- const el_position_y = (rect?.top) ? parseInt(rect?.top + scrollTop) : 0;
28
- let width = 0;
29
- let height = 0;
30
- if (event && event.target) {
31
- const _event = event.target;
32
- height = _event.offsetHeight;
33
- width = _event.offsetWidth;
34
- }
35
- const top = `${(el_position_y - ((height / 2) + 10))}px`;
36
- const left = `${el_position_x + (width / 2)}px`;
37
- this.renderer.setStyle(tooltip, 'top', '0px');
38
- this.renderer.setStyle(tooltip, 'left', '0px');
39
- this.renderer.setStyle(tooltip, 'opacity', '0');
40
- this.renderer.addClass(tooltip, 'tc-directive-tooltip');
41
- this.renderer.addClass(tooltip, `tc-directive-tooltip-${direction}`);
42
- const id = this.generateID();
43
- this.renderer.setAttribute(tooltip, 'id', id);
44
- const textNode = this.info_text;
45
- if (textNode !== undefined && textNode !== null && textNode !== '') {
46
- tooltip.innerHTML = textNode;
47
- this.renderer.appendChild(document.body, tooltip);
48
- this.start_tooltip(id, height, width, el_position_x, el_position_y, direction);
49
- if (tooltip) {
50
- tooltip.addEventListener('mouseenter', hoverInCallback);
51
- tooltip.addEventListener('mouseleave', hoverOutCallback);
52
- }
53
- }
54
- });
55
- }
56
- onMouseOut(event) {
57
- this.remove = true;
58
- const customDivAll = document.querySelectorAll('.tc-directive-tooltip');
59
- if (customDivAll && customDivAll.length > 0) {
60
- setTimeout(() => {
61
- if (this.remove) {
62
- customDivAll.forEach((_customDiv) => {
63
- if (_customDiv) {
64
- _customDiv.remove();
65
- }
66
- });
67
- }
68
- }, 25);
69
- }
70
- }
71
4
  set TCtooltip(tooltip) {
72
5
  if (tooltip) {
73
- if (typeof tooltip === 'object') {
74
- }
75
- else {
76
- this.info_text = tooltip;
6
+ this.info_text = typeof tooltip === 'object' ? '' : tooltip;
7
+ if (this.tooltipVisible && this.tooltipElement) {
8
+ // Atualiza o conteúdo do tooltip diretamente
9
+ this.tooltipElement.innerHTML = this.info_text;
10
+ // Reaplica a posição calculada anteriormente para manter a centralização
11
+ this.repositionTooltip();
77
12
  }
78
13
  }
79
14
  }
@@ -85,12 +20,121 @@ export class TCloudUiTooltipDirective {
85
20
  constructor(el, renderer) {
86
21
  this.el = el;
87
22
  this.renderer = renderer;
23
+ this.tooltipMode = 'hover';
88
24
  this.remove = false;
89
25
  this.info_text = '';
26
+ this.tooltipVisible = false;
27
+ this.tooltipElement = null;
90
28
  this._direction = 'top';
91
29
  }
30
+ onDocumentClick(event) {
31
+ if (this.tooltipMode === 'click' && this.tooltipVisible && this.info_text) {
32
+ const clickedInside = this.el.nativeElement.contains(event.target) || (this.tooltipElement?.contains(event.target));
33
+ if (!clickedInside) {
34
+ this.removeTooltip();
35
+ }
36
+ }
37
+ }
38
+ onMouseOver(event) {
39
+ if (this.tooltipMode === 'hover' && !this.tooltipVisible && this.info_text) {
40
+ this.createTooltip(event);
41
+ this.tooltipVisible = true;
42
+ }
43
+ }
44
+ onMouseOut(event) {
45
+ if (this.tooltipVisible) {
46
+ const relatedTarget = event.relatedTarget;
47
+ if (!this.el.nativeElement.contains(relatedTarget) && !this.tooltipElement?.contains(relatedTarget)) {
48
+ this.removeTooltip();
49
+ }
50
+ }
51
+ }
52
+ onClick(event) {
53
+ if (this.tooltipMode === 'click') {
54
+ if (this.tooltipVisible) {
55
+ this.removeTooltip();
56
+ }
57
+ else {
58
+ this.createTooltip(event);
59
+ }
60
+ this.tooltipVisible = !this.tooltipVisible;
61
+ }
62
+ }
63
+ createTooltip(event) {
64
+ const scrollTop = window?.scrollY || window?.pageYOffset;
65
+ const tooltip = this.renderer.createElement('div');
66
+ const rect = this.el.nativeElement?.getBoundingClientRect();
67
+ const direction = this._direction || 'top';
68
+ const el_position_x = rect?.left || 0;
69
+ const el_position_y = rect?.top + scrollTop || 0;
70
+ let width = 0;
71
+ let height = 0;
72
+ if (event && event.target) {
73
+ const _event = event.target;
74
+ height = _event.offsetHeight;
75
+ width = _event.offsetWidth;
76
+ }
77
+ this.renderer.setStyle(tooltip, 'top', '0px');
78
+ this.renderer.setStyle(tooltip, 'left', '0px');
79
+ this.renderer.setStyle(tooltip, 'opacity', '0');
80
+ this.renderer.addClass(tooltip, 'tc-directive-tooltip');
81
+ this.renderer.addClass(tooltip, `tc-directive-tooltip-${direction}`);
82
+ const id = this.generateID();
83
+ this.renderer.setAttribute(tooltip, 'id', id);
84
+ tooltip.innerHTML = this.info_text;
85
+ this.renderer.appendChild(document.body, tooltip);
86
+ this.start_tooltip(id, height, width, el_position_x, el_position_y, direction);
87
+ this.tooltipElement = tooltip;
88
+ tooltip.addEventListener('mouseenter', () => this.tooltipVisible = true);
89
+ tooltip.addEventListener('mouseleave', () => this.removeTooltip());
90
+ }
91
+ removeTooltip() {
92
+ const customDivAll = document.querySelectorAll('.tc-directive-tooltip');
93
+ if (customDivAll && customDivAll.length > 0) {
94
+ setTimeout(() => {
95
+ customDivAll.forEach((_customDiv) => {
96
+ if (_customDiv) {
97
+ _customDiv.remove();
98
+ }
99
+ });
100
+ }, 25);
101
+ }
102
+ this.tooltipVisible = false;
103
+ this.tooltipElement = null;
104
+ }
105
+ repositionTooltip() {
106
+ if (!this.tooltipElement)
107
+ return;
108
+ const rect = this.el.nativeElement?.getBoundingClientRect();
109
+ const height = this.el.nativeElement.offsetHeight;
110
+ const width = this.el.nativeElement.offsetWidth;
111
+ const tooltipHeight = this.tooltipElement.clientHeight;
112
+ const tooltipWidth = this.tooltipElement.clientWidth;
113
+ let p_y = 0;
114
+ let p_x = 0;
115
+ const scrollTop = window?.scrollY || window?.pageYOffset;
116
+ const center_position = (rect.left + (width / 2)) - (tooltipWidth / 2);
117
+ if (this._direction === 'top') {
118
+ p_y = (rect.top + scrollTop - tooltipHeight) - 15;
119
+ p_x = center_position;
120
+ }
121
+ else if (this._direction === 'bottom') {
122
+ p_y = (rect.top + scrollTop + height) + 15;
123
+ p_x = center_position;
124
+ }
125
+ else if (this._direction === 'left') {
126
+ p_y = (rect.top + scrollTop - (tooltipHeight / 2) + (height / 2));
127
+ p_x = rect.left - tooltipWidth - 15;
128
+ }
129
+ else if (this._direction === 'right') {
130
+ p_y = (rect.top + scrollTop - (tooltipHeight / 2) + (height / 2));
131
+ p_x = rect.left + width + 15;
132
+ }
133
+ this.renderer.setStyle(this.tooltipElement, 'top', `${p_y}px`);
134
+ this.renderer.setStyle(this.tooltipElement, 'left', `${p_x}px`);
135
+ }
92
136
  generateID(target) {
93
- const ref = (target) ? `-${target}` : '';
137
+ const ref = target ? `-${target}` : '';
94
138
  return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;
95
139
  }
96
140
  start_tooltip(id, height, width, el_position_x, el_position_y, direction) {
@@ -98,13 +142,6 @@ export class TCloudUiTooltipDirective {
98
142
  const tooltip = document.getElementById(id);
99
143
  const tooltip_height = tooltip.clientHeight;
100
144
  const tooltip_width = tooltip.clientWidth;
101
- /*
102
- console.log('altura do target: ', height);
103
- console.log('largura do target: ', width);
104
- console.log('el_position_x do target: ', el_position_x);
105
- console.log('el_position_y do target: ', el_position_y);
106
- console.log('direction do tooltip: ', direction);
107
- */
108
145
  let p_y = 0;
109
146
  let p_x = 0;
110
147
  const center_position = (el_position_x + (width / 2)) - (tooltip_width / 2);
@@ -129,23 +166,31 @@ export class TCloudUiTooltipDirective {
129
166
  this.renderer.addClass(tooltip, 'tc-tooltip-fade-in');
130
167
  });
131
168
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
133
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiTooltipDirective, selector: "[TCtooltip]", inputs: { TCtooltip: "TCtooltip", TCdirection: "TCdirection" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)" } }, ngImport: i0 }); }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
170
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiTooltipDirective, selector: "[TCtooltip]", inputs: { tooltipMode: "tooltipMode", TCtooltip: "TCtooltip", TCdirection: "TCdirection" }, host: { listeners: { "document:click": "onDocumentClick($event)", "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "click": "onClick($event)" } }, ngImport: i0 }); }
134
171
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiTooltipDirective, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiTooltipDirective, decorators: [{
136
173
  type: Directive,
137
174
  args: [{
138
175
  selector: '[TCtooltip]'
139
176
  }]
140
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { onMouseOver: [{
177
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltipMode: [{
178
+ type: Input
179
+ }], TCtooltip: [{
180
+ type: Input
181
+ }], TCdirection: [{
182
+ type: Input
183
+ }], onDocumentClick: [{
184
+ type: HostListener,
185
+ args: ['document:click', ['$event']]
186
+ }], onMouseOver: [{
141
187
  type: HostListener,
142
188
  args: ['mouseover', ['$event']]
143
189
  }], onMouseOut: [{
144
190
  type: HostListener,
145
191
  args: ['mouseout', ['$event']]
146
- }], TCtooltip: [{
147
- type: Input
148
- }], TCdirection: [{
149
- type: Input
192
+ }], onClick: [{
193
+ type: HostListener,
194
+ args: ['click', ['$event']]
150
195
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLEtBQUssRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTXJGLE1BQU0sT0FBTyx3QkFBd0I7SUFNSSxXQUFXLENBQUMsS0FBaUI7UUFFbEUsSUFBSSxlQUFlLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQTtRQUVELElBQUksZ0JBQWdCLEdBQUcsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLE1BQU0sWUFBWSxHQUFTLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzlFLElBQUcsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDLENBQUM7Z0JBQzFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBRSxVQUFlLEVBQUUsRUFBRTtvQkFDeEMsSUFBSSxVQUFVLEVBQUUsQ0FBQzt3QkFBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQUMsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFBO1FBRUQsZ0JBQWdCLENBQUM7UUFFakIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxPQUFPLElBQUksTUFBTSxFQUFFLFdBQVcsQ0FBQztZQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRCxNQUFNLElB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBJbnB1dCwgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tUQ3Rvb2x0aXBdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVENsb3VkVWlUb29sdGlwRGlyZWN0aXZlIHtcclxuXHJcbiAgcmVtb3ZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGluZm9fdGV4dDogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicsIFsnJGV2ZW50J10pIG9uTW91c2VPdmVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcblxyXG4gICAgbGV0IGhvdmVySW5DYWxsYmFjayA9ICgpID0+IHtcclxuICAgICAgdGhpcy5yZW1vdmUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaG92ZXJPdXRDYWxsYmFjayA9ICgpID0+IHtcclxuICAgICAgdGhpcy5yZW1vdmUgPSB0cnVlOyBcclxuICAgICAgY29uc3QgY3VzdG9tRGl2QWxsID0gPGFueT4gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRjLWRpcmVjdGl2ZS10b29sdGlwJyk7XHJcbiAgICAgIGlmKGN1c3RvbURpdkFsbCAmJiBjdXN0b21EaXZBbGwubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgY3VzdG9tRGl2QWxsLmZvckVhY2goKCBfY3VzdG9tRGl2OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmKCBfY3VzdG9tRGl2ICl7IF9jdXN0b21EaXYucmVtb3ZlKCk7IH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhvdmVyT3V0Q2FsbGJhY2s7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdz8uc2Nyb2xsWSB8fCB3aW5kb3c/LnBhZ2VZT2Zmc2V0O1xyXG4gICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgY29uc3QgcmVjdCAgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAvLyBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ/LmF0dHJpYnV0ZXNbJ25nLXJlZmxlY3QtLXQtY2RpcmVjdGlvbiddPy52YWx1ZSB8fCAndG9wJztcclxuICAgICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5fZGlyZWN0aW9uIHx8ICd0b3AnO1xyXG4gICAgICBjb25zdCBlbF9wb3NpdGlvbl94ID0gKHJlY3Q/LmxlZnQpID8gcGFyc2VJbnQocmVjdD8ubGVmdCkgOiAwO1xyXG4gICAgICBjb25zdCBlbF9wb3NpdGlvbl95ID0gKHJlY3Q/LnRvcCApID8gcGFyc2VJbnQocmVjdD8udG9wICArIHNjcm9sbFRvcCkgOiAwO1xyXG5cclxuICAgICAgbGV0IHdpZHRoID0gMDtcclxuICAgICAgbGV0IGhlaWdodCA9IDA7XHJcbiAgICAgIGlmKCBldmVudCAmJiBldmVudC50YXJnZXQgKXtcclxuICAgICAgICBjb25zdCBfZXZlbnQgPSBldmVudC50YXJnZXQgYXMgYW55O1xyXG4gICAgICAgIGhlaWdodCAgPSBfZXZlbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgICAgIHdpZHRoICAgPSBfZXZlbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHRvcCA9IGAkeyhlbF9wb3NpdGlvbl95IC0gKChoZWlnaHQvMikgKyAxMCkgKX1weGA7XHJcbiAgICAgIGNvbnN0IGxlZnQgPSBgJHtlbF9wb3NpdGlvbl94ICsgKHdpZHRoLzIpIH1weGA7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodG9vbHRpcCwgJ3RvcCcsICcwcHgnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwLCAnbGVmdCcsICcwcHgnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwLCAnb3BhY2l0eScsICcwJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModG9vbHRpcCwgJ3RjLWRpcmVjdGl2ZS10b29sdGlwJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModG9vbHRpcCwgYHRjLWRpcmVjdGl2ZS10b29sdGlwLSR7ZGlyZWN0aW9ufWApO1xyXG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2VuZXJhdGVJRCgpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0b29sdGlwLCAnaWQnLCBpZCk7XHJcbiAgICAgIGNvbnN0IHRleHROb2RlID0gdGhpcy5pbmZvX3RleHQ7XHJcblxyXG4gICAgICBpZiggdGV4dE5vZGUgIT09IHVuZGVmaW5lZCAmJiB0ZXh0Tm9kZSAhPT0gbnVsbCAmJiB0ZXh0Tm9kZSAhPT0gJycgKXtcclxuXHJcbiAgICAgICAgdG9vbHRpcC5pbm5lckhUTUwgPSB0ZXh0Tm9kZTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRvb2x0aXApOyAgICBcclxuICAgICAgICB0aGlzLnN0YXJ0X3Rvb2x0aXAoaWQsIGhlaWdodCwgd2lkdGgsIGVsX3Bvc2l0aW9uX3gsIGVsX3Bvc2l0aW9uX3ksIGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgIGlmICh0b29sdGlwKSB7XHJcbiAgICAgICAgICB0b29sdGlwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBob3ZlckluQ2FsbGJhY2spO1xyXG4gICAgICAgICAgdG9vbHRpcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgaG92ZXJPdXRDYWxsYmFjayk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfSk7XHJcblxyXG4gIH0gIFxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcsIFsnJGV2ZW50J10pIG9uTW91c2VPdXQoZXZlbnQ6IE1vdXNlRXZlbnQpIHsgICBcclxuICAgIHRoaXMucmVtb3ZlID0gdHJ1ZTtcclxuICAgIGNvbnN0IGN1c3RvbURpdkFsbCA9IDxhbnk+IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50Yy1kaXJlY3RpdmUtdG9vbHRpcCcpO1xyXG4gICAgaWYoY3VzdG9tRGl2QWxsICYmIGN1c3RvbURpdkFsbC5sZW5ndGggPiAwKXtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYoIHRoaXMucmVtb3ZlICl7XHJcbiAgICAgICAgICBjdXN0b21EaXZBbGwuZm9yRWFjaCgoIF9jdXN0b21EaXY6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiggX2N1c3RvbURpdiApeyBfY3VzdG9tRGl2LnJlbW92ZSgpOyB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDI1KTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKSBzZXQgVEN0b29sdGlwICh0b29sdGlwOiBhbnkpe1xyXG4gICAgaWYgKHRvb2x0aXApe1xyXG4gICAgICBpZiggdHlwZW9mIHRvb2x0aXAgPT09ICdvYmplY3QnICl7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuaW5mb190ZXh0ID0gdG9vbHRpcDtcclxuICAgICAgfSAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGlyZWN0aW9uOiAndG9wJyB8ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0JyA9ICd0b3AnO1xyXG4gIEBJbnB1dCgpIHNldCBUQ2RpcmVjdGlvbiAoZGlyZWN0aW9uOiBhbnkpe1xyXG4gICAgaWYgKGRpcmVjdGlvbil7XHJcbiAgICAgIHRoaXMuX2RpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXHJcbiAgKSB7fVxyXG5cclxuXHJcbiAgZ2VuZXJhdGVJRCh0YXJnZXQ/OiBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgICBjb25zdCByZWYgPSAodGFyZ2V0KSA/IGAtJHt0YXJnZXR9YCA6ICcnO1xyXG4gICAgcmV0dXJuIGB0Yy10b29sdGlwLSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkpfSR7cmVmfWA7XHJcbiAgfVxyXG5cclxuICBzdGFydF90b29sdGlwKGlkOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBlbF9wb3NpdGlvbl94OiBudW1iZXIsIGVsX3Bvc2l0aW9uX3k6IG51bWJlciwgZGlyZWN0aW9uOiBzdHJpbmcpe1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7ICAgICAgXHJcbiAgICAgIGNvbnN0IHRvb2x0aXA6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcclxuICAgICAgY29uc3QgdG9vbHRpcF9oZWlnaHQgPSB0b29sdGlwLmNsaWVudEhlaWdodDtcclxuICAgICAgY29uc3QgdG9vbHRpcF93aWR0aCA9IHRvb2x0aXAuY2xpZW50V2lkdGg7XHJcblxyXG4gICAgICAvKlxyXG4gICAgICBjb25zb2xlLmxvZygnYWx0dXJhIGRvIHRhcmdldDogJywgaGVpZ2h0KTtcclxuICAgICAgY29uc29sZS5sb2coJ2xhcmd1cmEgZG8gdGFyZ2V0OiAnLCB3aWR0aCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdlbF9wb3NpdGlvbl94IGRvIHRhcmdldDogJywgZWxfcG9zaXRpb25feCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdlbF9wb3NpdGlvbl95IGRvIHRhcmdldDogJywgZWxfcG9zaXRpb25feSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdkaXJlY3Rpb24gZG8gdG9vbHRpcDogJywgZGlyZWN0aW9uKTtcclxuICAgICAgKi9cclxuXHJcbiAgICAgIGxldCBwX3kgPSAwO1xyXG4gICAgICBsZXQgcF94ID0gMDtcclxuICAgICAgY29uc3QgY2VudGVyX3Bvc2l0aW9uID0gKGVsX3Bvc2l0aW9uX3ggKyAod2lkdGgvMikpIC0gKHRvb2x0aXBfd2lkdGgvMik7XHJcblxyXG4gICAgICBpZiggZGlyZWN0aW9uID09PSAndG9wJyApe1xyXG4gICAgICAgIHBfeSA9IChlbF9wb3NpdGlvbl95IC0gdG9vbHRpcF9oZWlnaHQpIC0gMTU7XHJcbiAgICAgICAgcF94ID0gY2VudGVyX3Bvc2l0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiggZGlyZWN0aW9uID09PSAnYm90dG9tJyApe1xyXG4gICAgICAgIHBfeSA9IChlbF9wb3NpdGlvbl95ICsgaGVpZ2h0KSArIDE1O1xyXG4gICAgICAgIHBfeCA9IGNlbnRlcl9wb3NpdGlvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoIGRpcmVjdGlvbiA9PT0gJ2xlZnQnICl7XHJcbiAgICAgICAgcF95ID0gZWxfcG9zaXRpb25feSAtICh0b29sdGlwX2hlaWdodC8yKSArIChoZWlnaHQvMik7XHJcbiAgICAgICAgcF94ID0gY2VudGVyX3Bvc2l0aW9uIC0gdG9vbHRpcF93aWR0aC8yIC0gd2lkdGgvMiAtIDE1O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiggZGlyZWN0aW9uID09PSAncmlnaHQnICl7XHJcbiAgICAgICAgcF95ID0gZWxfcG9zaXRpb25feSAtICh0b29sdGlwX2hlaWdodC8yKSArIChoZWlnaHQvMik7XHJcbiAgICAgICAgcF94ID0gY2VudGVyX3Bvc2l0aW9uICsgdG9vbHRpcF93aWR0aC8yICsgd2lkdGgvMiArIDE1O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRvb2x0aXAsICd0b3AnLCBgJHtwX3l9cHhgKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwLCAnbGVmdCcsIGAke3BfeH1weGApO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRvb2x0aXAsICd0Yy10b29sdGlwLWZhZGUtaW4nKTtcclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59Il19
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3RGLE1BQU0sT0FBTyx3QkFBd0I7SUFVbkMsSUFBYSxTQUFTLENBQUMsT0FBWTtRQUVqQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQzVELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQy9DLDZDQUE2QztnQkFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFFL0MseUVBQXlFO2dCQUN6RSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFhLFdBQVcsQ0FBQyxTQUFjO1FBQ3JDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQ1UsRUFBYyxFQUNkLFFBQW1CO1FBRG5CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBOUJwQixnQkFBVyxHQUFzQixPQUFPLENBQUM7UUFDbEQsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdBQVksS0FB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LEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFdkUsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzlCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNsRCxHQUFHLEdBQUcsZUFBZSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzNDLEdBQUcsR0FBRyxlQUFlLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxD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QUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7dUdBR1UsV0FBVztzQkFBbkIsS0FBSztnQkFRTyxTQUFTO3NCQUFyQixLQUFLO2dCQWNPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBV3NDLGVBQWU7c0JBQTFELFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU0gsV0FBVztzQkFBakQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT0MsVUFBVTtzQkFBL0MsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU0QsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgSW5wdXQsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbVEN0b29sdGlwXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpVG9vbHRpcERpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgpIHRvb2x0aXBNb2RlOiAnY2xpY2snIHwgJ2hvdmVyJyA9ICdob3Zlcic7XHJcbiAgcmVtb3ZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW5mb190ZXh0OiBzdHJpbmcgPSAnJztcclxuICB0b29sdGlwVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgdG9vbHRpcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgX2RpcmVjdGlvbjogJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCcgPSAndG9wJztcclxuXHJcbiAgQElucHV0KCkgc2V0IFRDdG9vbHRpcCh0b29sdGlwOiBhbnkpIHtcclxuXHJcbiAgICBpZiAodG9vbHRpcCkge1xyXG4gICAgICB0aGlzLmluZm9fdGV4dCA9IHR5cGVvZiB0b29sdGlwID09PSAnb2JqZWN0JyA/ICcnIDogdG9vbHRpcDtcclxuICAgICAgaWYgKHRoaXMudG9vbHRpcFZpc2libGUgJiYgdGhpcy50b29sdGlwRWxlbWVudCkge1xyXG4gICAgICAgIC8vIEF0dWFsaXphIG8gY29udGXDumRvIGRvIHRvb2x0aXAgZGlyZXRhbWVudGVcclxuICAgICAgICB0aGlzLnRvb2x0aXBFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuaW5mb190ZXh0O1xyXG5cclxuICAgICAgICAvLyBSZWFwbGljYSBhIHBvc2nDp8OjbyBjYWxjdWxhZGEgYW50ZXJpb3JtZW50ZSBwYXJhIG1hbnRlciBhIGNlbnRyYWxpemHDp8Ojb1xyXG4gICAgICAgIHRoaXMucmVwb3NpdGlvblRvb2x0aXAoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IFRDZGlyZWN0aW9uKGRpcmVjdGlvbjogYW55KSB7XHJcbiAgICBpZiAoZGlyZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuX2RpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxyXG4gICkge31cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKSBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBNb2RlID09PSAnY2xpY2snICYmIHRoaXMudG9vbHRpcFZpc2libGUgJiYgdGhpcy5pbmZvX3RleHQpIHtcclxuICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpIHx8ICh0aGlzLnRvb2x0aXBFbGVtZW50Py5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpO1xyXG4gICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuICAgICAgICB0aGlzLnJlbW92ZVRvb2x0aXAoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJywgWyckZXZlbnQnXSkgb25Nb3VzZU92ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBNb2RlID09PSAnaG92ZXInICYmICF0aGlzLnRvb2x0aXBWaXNpYmxlICYmIHRoaXMuaW5mb190ZXh0KSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcChldmVudCk7XHJcbiAgICAgIHRoaXMudG9vbHRpcFZpc2libGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdXQnLCBbJyRldmVudCddKSBvbk1vdXNlT3V0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwVmlzaWJsZSkge1xyXG4gICAgICBjb25zdCByZWxhdGVkVGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlO1xyXG4gICAgICBpZiAoIXRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhyZWxhdGVkVGFyZ2V0KSAmJiAhdGhpcy50b29sdGlwRWxlbWVudD8uY29udGFpbnMocmVsYXRlZFRhcmdldCkpIHtcclxuICAgICAgICB0aGlzLnJlbW92ZVRvb2x0aXAoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKSBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwTW9kZSA9PT0gJ2NsaWNrJykge1xyXG4gICAgICBpZiAodGhpcy50b29sdGlwVmlzaWJsZSkge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlVG9vbHRpcCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcChldmVudCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50b29sdGlwVmlzaWJsZSA9ICF0aGlzLnRvb2x0aXBWaXNpYmxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVUb29sdGlwKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBzY3JvbGxUb3AgPSB3aW5kb3c/LnNjcm9sbFkgfHwgd2luZG93Py5wYWdlWU9mZnNldDtcclxuICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgY29uc3QgcmVjdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLl9kaXJlY3Rpb24gfHwgJ3RvcCc7XHJcbiAgICBjb25zdCBlbF9wb3NpdGlvbl94ID0gcmVjdD8ubGVmdCB8fCAwO1xyXG4gICAgY29uc3QgZWxfcG9zaXRpb25feSA9IHJlY3Q/LnRvcCArIHNjcm9sbFRvcCB8fCAwO1xyXG5cclxuICAgIGxldCB3aWR0aCA9IDA7XHJcbiAgICBsZXQgaGVpZ2h0ID0gMDtcclxuICAgIGlmIChldmVudCAmJiBldmVudC50YXJnZXQpIHtcclxuICAgICAgY29uc3QgX2V2ZW50ID0gZXZlbnQudGFyZ2V0IGFzIGFueTtcclxuICAgICAgaGVpZ2h0ID0gX2V2ZW50Lm9mZnNldEhlaWdodDtcclxuICAgICAgd2lkdGggPSBfZXZlbnQub2Zmc2V0V2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwLCAndG9wJywgJzBweCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwLCAnbGVmdCcsICcwcHgnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodG9vbHRpcCwgJ29wYWNpdHknLCAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0b29sdGlwLCAndGMtZGlyZWN0aXZlLXRvb2x0aXAnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModG9vbHRpcCwgYHRjLWRpcmVjdGl2ZS10b29sdGlwLSR7ZGlyZWN0aW9ufWApO1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLmdlbmVyYXRlSUQoKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRvb2x0aXAsICdpZCcsIGlkKTtcclxuICAgIHRvb2x0aXAuaW5uZXJIVE1MID0gdGhpcy5pbmZvX3RleHQ7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRvb2x0aXApO1xyXG4gICAgdGhpcy5zdGFydF90b29sdGlwKGlkLCBoZWlnaHQsIHdpZHRoLCBlbF9wb3NpdGlvbl94LCBlbF9wb3NpdGlvbl95LCBkaXJlY3Rpb24pO1xyXG4gICAgdGhpcy50b29sdGlwRWxlbWVudCA9IHRvb2x0aXA7XHJcblxyXG4gICAgdG9vbHRpcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy50b29sdGlwVmlzaWJsZSA9IHRydWUpO1xyXG4gICAgdG9vbHRpcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5yZW1vdmVUb29sdGlwKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVUb29sdGlwKCkge1xyXG4gICAgY29uc3QgY3VzdG9tRGl2QWxsID0gPGFueT5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudGMtZGlyZWN0aXZlLXRvb2x0aXAnKTtcclxuICAgIGlmIChjdXN0b21EaXZBbGwgJiYgY3VzdG9tRGl2QWxsLmxlbmd0aCA+IDApIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY3VzdG9tRGl2QWxsLmZvckVhY2goKF9jdXN0b21EaXY6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKF9jdXN0b21EaXYpIHsgX2N1c3RvbURpdi5yZW1vdmUoKTsgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCAyNSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnRvb2x0aXBFbGVtZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVwb3NpdGlvblRvb2x0aXAoKSB7XHJcbiAgICBpZiAoIXRoaXMudG9vbHRpcEVsZW1lbnQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCByZWN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSB0aGlzLnRvb2x0aXBFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgIGNvbnN0IHRvb2x0aXBXaWR0aCA9IHRoaXMudG9vbHRpcEVsZW1lbnQuY2xpZW50V2lkdGg7XHJcblxyXG4gICAgbGV0IHBfeSA9IDA7XHJcbiAgICBsZXQgcF94ID0gMDtcclxuICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdz8uc2Nyb2xsWSB8fCB3aW5kb3c/LnBhZ2VZT2Zmc2V0O1xyXG4gICAgY29uc3QgY2VudGVyX3Bvc2l0aW9uID0gKHJlY3QubGVmdCArICh3aWR0aCAvIDIpKSAtICh0b29sdGlwV2lkdGggLyAyKTtcclxuXHJcbiAgICBpZiAodGhpcy5fZGlyZWN0aW9uID09PSAndG9wJykge1xyXG4gICAgICBwX3kgPSAocmVjdC50b3AgKyBzY3JvbGxUb3AgLSB0b29sdGlwSGVpZ2h0KSAtIDE1O1xyXG4gICAgICBwX3ggPSBjZW50ZXJfcG9zaXRpb247XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2RpcmVjdGlvbiA9PT0gJ2JvdHRvbScpIHtcclxuICAgICAgcF95ID0gKHJlY3QudG9wICsgc2Nyb2xsVG9wICsgaGVpZ2h0KSArIDE1O1xyXG4gICAgICBwX3ggPSBjZW50ZXJfcG9zaXRpb247XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2RpcmVjdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHBfeSA9IChyZWN0LnRvcCArIHNjcm9sbFRvcCAtICh0b29sdGlwSGVpZ2h0IC8gMikgKyAoaGVpZ2h0IC8gMikpO1xyXG4gICAgICBwX3ggPSByZWN0LmxlZnQgLSB0b29sdGlwV2lkdGggLSAxNTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5fZGlyZWN0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgIHBfeSA9IChyZWN0LnRvcCArIHNjcm9sbFRvcCAtICh0b29sdGlwSGVpZ2h0IC8gMikgKyAoaGVpZ2h0IC8gMikpO1xyXG4gICAgICBwX3ggPSByZWN0LmxlZnQgKyB3aWR0aCArIDE1O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ3RvcCcsIGAke3BfeX1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnbGVmdCcsIGAke3BfeH1weGApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUlEKHRhcmdldD86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCByZWYgPSB0YXJnZXQgPyBgLSR7dGFyZ2V0fWAgOiAnJztcclxuICAgIHJldHVybiBgdGMtdG9vbHRpcC0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpKX0ke3JlZn1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGFydF90b29sdGlwKGlkOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBlbF9wb3NpdGlvbl94OiBudW1iZXIsIGVsX3Bvc2l0aW9uX3k6IG51bWJlciwgZGlyZWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCB0b29sdGlwOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICAgIGNvbnN0IHRvb2x0aXBfaGVpZ2h0ID0gdG9vbHRpcC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIGNvbnN0IHRvb2x0aXBfd2lkdGggPSB0b29sdGlwLmNsaWVudFdpZHRoO1xyXG5cclxuICAgICAgbGV0IHBfeSA9IDA7XHJcbiAgICAgIGxldCBwX3ggPSAwO1xyXG4gICAgICBjb25zdCBjZW50ZXJfcG9zaXRpb24gPSAoZWxfcG9zaXRpb25feCArICh3aWR0aCAvIDIpKSAtICh0b29sdGlwX3dpZHRoIC8gMik7XHJcblxyXG4gICAgICBpZiAoZGlyZWN0aW9uID09PSAndG9wJykge1xyXG4gICAgICAgIHBfeSA9IChlbF9wb3NpdGlvbl95IC0gdG9vbHRpcF9oZWlnaHQpIC0gMTU7XHJcbiAgICAgICAgcF94ID0gY2VudGVyX3Bvc2l0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZGlyZWN0aW9uID09PSAnYm90dG9tJykge1xyXG4gICAgICAgIHBfeSA9IChlbF9wb3NpdGlvbl95ICsgaGVpZ2h0KSArIDE1O1xyXG4gICAgICAgIHBfeCA9IGNlbnRlcl9wb3NpdGlvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgcF95ID0gZWxfcG9zaXRpb25feSAtICh0b29sdGlwX2hlaWdodCAvIDIpICsgKGhlaWdodCAvIDIpO1xyXG4gICAgICAgIHBfeCA9IGNlbnRlcl9wb3NpdGlvbiAtIHRvb2x0aXBfd2lkdGggLyAyIC0gd2lkdGggLyAyIC0gMTU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICBwX3kgPSBlbF9wb3NpdGlvbl95IC0gKHRvb2x0aXBfaGVpZ2h0IC8gMikgKyAoaGVpZ2h0IC8gMik7XHJcbiAgICAgICAgcF94ID0gY2VudGVyX3Bvc2l0aW9uICsgdG9vbHRpcF93aWR0aCAvIDIgKyB3aWR0aCAvIDIgKyAxNTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwLCAndG9wJywgYCR7cF95fXB4YCk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodG9vbHRpcCwgJ2xlZnQnLCBgJHtwX3h9cHhgKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0b29sdGlwLCAndGMtdG9vbHRpcC1mYWRlLWluJyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -13,8 +13,8 @@ export class TCloudUiAccordionBodyComponent {
13
13
  this.show = show;
14
14
  });
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiAccordionBodyComponent, deps: [{ token: i1.TCloudUiAccordionService }], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: TCloudUiAccordionBodyComponent, selector: "tcloud-ui-accordion-body", ngImport: i0, template: "<div class=\"tcloud-ui-accordion-body tc-accordion-content\" [class.show]=\"show\" [@expandAccordion]=\"(show) ? 'open' : 'close' \">\r\n <ng-content></ng-content>\r\n</div>", styles: [".show{display:block!important;padding-top:15px;padding-bottom:15px}.tc-accordion-content{overflow:hidden}\n"], animations: [
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiAccordionBodyComponent, deps: [{ token: i1.TCloudUiAccordionService }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: TCloudUiAccordionBodyComponent, selector: "tcloud-ui-accordion-body", ngImport: i0, template: "<div class=\"tcloud-ui-accordion-body tc-accordion-content\" [class.show]=\"show\" [@expandAccordion]=\"(show) ? 'open' : 'close' \">\r\n <ng-content></ng-content>\r\n</div>", styles: [".show{display:block!important;padding-top:15px;padding-bottom:15px}.tc-accordion-content{overflow:hidden}\n"], animations: [
18
18
  trigger('expandAccordion', [
19
19
  state('close', style({ height: '0' })),
20
20
  state('open', style({ height: '*' })),
@@ -22,7 +22,7 @@ export class TCloudUiAccordionBodyComponent {
22
22
  ]),
23
23
  ] }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TCloudUiAccordionBodyComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TCloudUiAccordionBodyComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'tcloud-ui-accordion-body', animations: [
28
28
  trigger('expandAccordion', [
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
32
32
  ]),
33
33
  ], template: "<div class=\"tcloud-ui-accordion-body tc-accordion-content\" [class.show]=\"show\" [@expandAccordion]=\"(show) ? 'open' : 'close' \">\r\n <ng-content></ng-content>\r\n</div>", styles: [".show{display:block!important;padding-top:15px;padding-bottom:15px}.tc-accordion-content{overflow:hidden}\n"] }]
34
34
  }], ctorParameters: () => [{ type: i1.TCloudUiAccordionService }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1hY2NvcmRpb24vY29tcG9uZW50cy90Y2xvdWQtdWktYWNjb3JkaW9uLWJvZHkvdGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1hY2NvcmRpb24vY29tcG9uZW50cy90Y2xvdWQtdWktYWNjb3JkaW9uLWJvZHkvdGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBY2pGLE1BQU0sT0FBTyw4QkFBOEI7SUFJekMsWUFDVSx5QkFBbUQ7UUFBbkQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUg3RCxTQUFJLEdBQVksS0FBSyxDQUFDO0lBSWxCLENBQUM7SUFFTCxRQUFRO1FBRU4sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxDQUFDO1FBQzlELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDdEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUE7SUFFSixDQUFDOzhHQWZVLDhCQUE4QjtrR0FBOUIsOEJBQThCLGdFQ2hCM0MsbUxBRU0sdUlETVE7WUFDVixPQUFPLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3pCLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUMzRCxDQUFDO1NBQ0g7OzJGQUVVLDhCQUE4QjtrQkFaMUMsU0FBUzsrQkFDRSwwQkFBMEIsY0FHeEI7d0JBQ1YsT0FBTyxDQUFDLGlCQUFpQixFQUFFOzRCQUN6QixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzRCQUN0QyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzRCQUNyQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7eUJBQzNELENBQUM7cUJBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVENsb3VkVWlBY2NvcmRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGNsb3VkLXVpLWFjY29yZGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgYW5pbWF0ZSwgdHJhbnNpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktYWNjb3JkaW9uLWJvZHknLFxuICB0ZW1wbGF0ZVVybDogJy4vdGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdleHBhbmRBY2NvcmRpb24nLCBbXG4gICAgICBzdGF0ZSgnY2xvc2UnLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKSxcbiAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdjbG9zZSA8PT4gb3BlbicsIGFuaW1hdGUoJzAuMzVzIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUFjY29yZGlvbkJvZHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3RDbG91ZFVpQWNjb3JkaW9uU2VydmljZTogVENsb3VkVWlBY2NvcmRpb25TZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLnNob3cgPSB0aGlzLl90Q2xvdWRVaUFjY29yZGlvblNlcnZpY2UuZ2V0U2hvdygpIHx8IGZhbHNlO1xuICAgIHRoaXMuX3RDbG91ZFVpQWNjb3JkaW9uU2VydmljZS5zdGF0ZVRvZ2dsZSQuc3Vic2NyaWJlKChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLnNob3cgPSBzaG93O1xuICAgIH0pXG5cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwidGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5IHRjLWFjY29yZGlvbi1jb250ZW50XCIgIFtjbGFzcy5zaG93XT1cInNob3dcIiBbQGV4cGFuZEFjY29yZGlvbl09XCIoc2hvdykgPyAnb3BlbicgOiAnY2xvc2UnIFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1hY2NvcmRpb24vY29tcG9uZW50cy90Y2xvdWQtdWktYWNjb3JkaW9uLWJvZHkvdGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1hY2NvcmRpb24vY29tcG9uZW50cy90Y2xvdWQtdWktYWNjb3JkaW9uLWJvZHkvdGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBY2pGLE1BQU0sT0FBTyw4QkFBOEI7SUFJekMsWUFDVSx5QkFBbUQ7UUFBbkQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUg3RCxTQUFJLEdBQVksS0FBSyxDQUFDO0lBSWxCLENBQUM7SUFFTCxRQUFRO1FBRU4sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxDQUFDO1FBQzlELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDdEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUE7SUFFSixDQUFDOzhHQWZVLDhCQUE4QjtrR0FBOUIsOEJBQThCLGdFQ2hCM0MsbUxBRU0sdUlETVE7WUFDVixPQUFPLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3pCLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUMzRCxDQUFDO1NBQ0g7OzJGQUVVLDhCQUE4QjtrQkFaMUMsU0FBUzsrQkFDRSwwQkFBMEIsY0FHeEI7d0JBQ1YsT0FBTyxDQUFDLGlCQUFpQixFQUFFOzRCQUN6QixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzRCQUN0QyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzRCQUNyQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7eUJBQzNELENBQUM7cUJBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUQ2xvdWRVaUFjY29yZGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90Y2xvdWQtdWktYWNjb3JkaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIGFuaW1hdGUsIHRyYW5zaXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGNsb3VkLXVpLWFjY29yZGlvbi1ib2R5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90Y2xvdWQtdWktYWNjb3JkaW9uLWJvZHkuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdleHBhbmRBY2NvcmRpb24nLCBbXHJcbiAgICAgIHN0YXRlKCdjbG9zZScsIHN0eWxlKHsgaGVpZ2h0OiAnMCcgfSkpLFxyXG4gICAgICBzdGF0ZSgnb3BlbicsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdjbG9zZSA8PT4gb3BlbicsIGFuaW1hdGUoJzAuMzVzIGVhc2UtaW4tb3V0JykpLFxyXG4gICAgXSksXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpQWNjb3JkaW9uQm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RDbG91ZFVpQWNjb3JkaW9uU2VydmljZTogVENsb3VkVWlBY2NvcmRpb25TZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gICAgdGhpcy5zaG93ID0gdGhpcy5fdENsb3VkVWlBY2NvcmRpb25TZXJ2aWNlLmdldFNob3coKSB8fCBmYWxzZTtcclxuICAgIHRoaXMuX3RDbG91ZFVpQWNjb3JkaW9uU2VydmljZS5zdGF0ZVRvZ2dsZSQuc3Vic2NyaWJlKChzaG93OiBib29sZWFuKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvdyA9IHNob3c7XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0Y2xvdWQtdWktYWNjb3JkaW9uLWJvZHkgdGMtYWNjb3JkaW9uLWNvbnRlbnRcIiAgW2NsYXNzLnNob3ddPVwic2hvd1wiIFtAZXhwYW5kQWNjb3JkaW9uXT1cIihzaG93KSA/ICdvcGVuJyA6ICdjbG9zZScgXCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PiJdfQ==