@dev-tcloud/tcloud-ui 4.2.2 → 5.0.1

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 (148) hide show
  1. package/README.md +106 -105
  2. package/datepicker/js/_info.txt +3 -3
  3. package/fesm2022/dev-tcloud-tcloud-ui.mjs +432 -365
  4. package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
  5. package/lib/_interfaces/theme.service.interface.d.ts +3 -0
  6. package/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.d.ts +1 -0
  7. package/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.d.ts +1 -1
  8. package/lib/_services/tcloud-ui-theme.services.d.ts +12 -0
  9. package/lib/tcloud-ui.config.d.ts +1 -0
  10. package/package.json +3 -5
  11. package/scss/components/custom/el-copy.scss +17 -17
  12. package/scss/components/custom/loading-transitions.scss +27 -27
  13. package/scss/components/custom/loading.scss +2 -2
  14. package/scss/components/custom/tab-menu.scss +57 -57
  15. package/scss/components/custom/table.scss +98 -98
  16. package/scss/components/custom/tooltip.scss +89 -89
  17. package/scss/components/custom/ui-datepicker.scss +15 -15
  18. package/scss/components/custom/validation.scss +7 -7
  19. package/scss/components/custom/variables.scss +32 -32
  20. package/scss/components/styles.scss +9 -9
  21. package/scss/tcloud/custom/alerts.scss +38 -37
  22. package/scss/tcloud/custom/buttons.scss +1002 -1002
  23. package/scss/tcloud/custom/card.scss +51 -51
  24. package/scss/tcloud/custom/colors.scss +97 -97
  25. package/scss/tcloud/custom/forms.scss +81 -81
  26. package/scss/tcloud/custom/layout.scss +5 -5
  27. package/scss/tcloud/custom/left-navigation.scss +47 -47
  28. package/scss/tcloud/custom/mixins.scss +318 -318
  29. package/scss/tcloud/custom/tcloud-prime.scss +4519 -4519
  30. package/scss/tcloud/custom/tcloud-standard.scss +121 -121
  31. package/scss/tcloud/custom/text.scss +57 -57
  32. package/scss/tcloud/custom/top-navigation.scss +59 -59
  33. package/scss/tcloud/custom/variables.scss +60 -60
  34. package/scss/tcloud/disaster-recovery/colors.scss +14 -14
  35. package/scss/tcloud/disaster-recovery/layout.scss +13 -13
  36. package/scss/tcloud/disaster-recovery/styles.scss +2 -2
  37. package/scss/tcloud/prime/cards-products.scss +333 -331
  38. package/scss/tcloud/prime/left-navigation.scss +329 -327
  39. package/scss/tcloud/prime/styles.scss +3 -3
  40. package/scss/tcloud/prime/tcloud-prime.scss +3874 -3872
  41. package/scss/tcloud/standard/left-navigation.scss +47 -47
  42. package/scss/tcloud/standard/styles.scss +3 -3
  43. package/scss/tcloud/standard/tcloud-standard.scss +125 -125
  44. package/scss/tcloud/standard/top-navigation.scss +61 -61
  45. package/scss/tcloud/styles.scss +19 -19
  46. package/scss/tcloud/tcloud-ui.scss +7 -7
  47. package/esm2022/dev-tcloud-tcloud-ui.mjs +0 -5
  48. package/esm2022/lib/_directives/align/align.directive.mjs +0 -42
  49. package/esm2022/lib/_directives/currency/currency.directive.mjs +0 -160
  50. package/esm2022/lib/_directives/directives.module.mjs +0 -76
  51. package/esm2022/lib/_directives/el-copy/el-copy.directive.mjs +0 -68
  52. package/esm2022/lib/_directives/hover-parent/hover-parent.directive.mjs +0 -58
  53. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.mjs +0 -66
  54. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.mjs +0 -50
  55. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.mjs +0 -44
  56. package/esm2022/lib/_directives/tcloud-ui-digit-only.directive.mjs +0 -64
  57. package/esm2022/lib/_directives/tcloud-ui-highlight.diretive.mjs +0 -36
  58. package/esm2022/lib/_directives/tcloud-ui-ip-mask.directive.mjs +0 -54
  59. package/esm2022/lib/_directives/tooltip/tooltip.directive.mjs +0 -196
  60. package/esm2022/lib/_interfaces/user.service.interface.mjs +0 -2
  61. package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.mjs +0 -35
  62. package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.mjs +0 -54
  63. package/esm2022/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.mjs +0 -38
  64. package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.mjs +0 -75
  65. package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.mjs +0 -35
  66. package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.mjs +0 -87
  67. package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.mjs +0 -32
  68. package/esm2022/lib/_modules/tcloud-ui-data-list/services/data-list.service.mjs +0 -38
  69. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.mjs +0 -65
  70. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.mjs +0 -317
  71. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.mjs +0 -3
  72. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.mjs +0 -37
  73. package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.mjs +0 -440
  74. package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.mjs +0 -32
  75. package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.mjs +0 -320
  76. package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.mjs +0 -40
  77. package/esm2022/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +0 -213
  78. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.mjs +0 -537
  79. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.mjs +0 -20
  80. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.mjs +0 -45
  81. package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.mjs +0 -142
  82. package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.mjs +0 -32
  83. package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.mjs +0 -66
  84. package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.mjs +0 -32
  85. package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.mjs +0 -36
  86. package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.mjs +0 -31
  87. package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.mjs +0 -93
  88. package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.mjs +0 -25
  89. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.mjs +0 -43
  90. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.mjs +0 -2
  91. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.mjs +0 -19
  92. package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.mjs +0 -65
  93. package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.mjs +0 -25
  94. package/esm2022/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.mjs +0 -11
  95. package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.mjs +0 -29
  96. package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.mjs +0 -21
  97. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.mjs +0 -14
  98. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.mjs +0 -61
  99. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.mjs +0 -24
  100. package/esm2022/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.mjs +0 -63
  101. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.mjs +0 -203
  102. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.mjs +0 -2
  103. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.mjs +0 -47
  104. package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.mjs +0 -155
  105. package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.mjs +0 -28
  106. package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.mjs +0 -170
  107. package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.mjs +0 -28
  108. package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.mjs +0 -348
  109. package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.mjs +0 -36
  110. package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.mjs +0 -20
  111. package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.mjs +0 -25
  112. package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.mjs +0 -33
  113. package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.mjs +0 -28
  114. package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.mjs +0 -165
  115. package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.mjs +0 -21
  116. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.mjs +0 -105
  117. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.mjs +0 -2
  118. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.mjs +0 -24
  119. package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.mjs +0 -46
  120. package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.mjs +0 -25
  121. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.mjs +0 -36
  122. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.mjs +0 -85
  123. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.mjs +0 -69
  124. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.mjs +0 -71
  125. package/esm2022/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.mjs +0 -104
  126. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.mjs +0 -64
  127. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.mjs +0 -2
  128. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.mjs +0 -45
  129. package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.mjs +0 -21
  130. package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.mjs +0 -25
  131. package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.mjs +0 -37
  132. package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.mjs +0 -25
  133. package/esm2022/lib/_pipes/array-to-text.mjs +0 -29
  134. package/esm2022/lib/_pipes/bytes.mjs +0 -31
  135. package/esm2022/lib/_pipes/cnpj.mjs +0 -37
  136. package/esm2022/lib/_pipes/cpf.mjs +0 -37
  137. package/esm2022/lib/_pipes/datebr.mjs +0 -102
  138. package/esm2022/lib/_pipes/index.mjs +0 -9
  139. package/esm2022/lib/_pipes/monthname.mjs +0 -25
  140. package/esm2022/lib/_pipes/respective.mjs +0 -73
  141. package/esm2022/lib/_pipes/statusinfo.mjs +0 -78
  142. package/esm2022/lib/_pipes/tcloud-pipes.module.mjs +0 -75
  143. package/esm2022/lib/_services/loading-transitions.service.mjs +0 -52
  144. package/esm2022/lib/_services/search-in-object.service.mjs +0 -99
  145. package/esm2022/lib/_services/tcloud-ui-check-access.service.mjs +0 -170
  146. package/esm2022/lib/tcloud-ui.config.mjs +0 -2
  147. package/esm2022/lib/tcloud-ui.module.mjs +0 -235
  148. package/esm2022/public-api.mjs +0 -116
@@ -1,20 +0,0 @@
1
- export var TCFiltersType;
2
- (function (TCFiltersType) {
3
- TCFiltersType["text"] = "text";
4
- TCFiltersType["number"] = "number";
5
- TCFiltersType["select"] = "select";
6
- TCFiltersType["boolean"] = "boolean";
7
- TCFiltersType["datetime"] = "datetime-local";
8
- TCFiltersType["hidden"] = "hidden";
9
- TCFiltersType["date"] = "date-local";
10
- })(TCFiltersType || (TCFiltersType = {}));
11
- export var TCCondition;
12
- (function (TCCondition) {
13
- TCCondition["equal"] = "equal";
14
- TCCondition["gte"] = "gte";
15
- TCCondition["lte"] = "lte";
16
- TCCondition["lt"] = "lt";
17
- TCCondition["gt"] = "gt";
18
- TCCondition["notEqual"] = "notEqual";
19
- })(TCCondition || (TCCondition = {}));
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZmlsdGVycy90Y2xvdWQtdWktZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QkEsTUFBTSxDQUFOLElBQVksYUFRWDtBQVJELFdBQVksYUFBYTtJQUNyQiw4QkFBYSxDQUFBO0lBQ2Isa0NBQWlCLENBQUE7SUFDakIsa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7SUFDbkIsNENBQTJCLENBQUE7SUFDM0Isa0NBQWlCLENBQUE7SUFDakIsb0NBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQVJXLGFBQWEsS0FBYixhQUFhLFFBUXhCO0FBRUQsTUFBTSxDQUFOLElBQVksV0FPWDtBQVBELFdBQVksV0FBVztJQUNuQiw4QkFBZSxDQUFBO0lBQ2YsMEJBQVcsQ0FBQTtJQUNYLDBCQUFXLENBQUE7SUFDWCx3QkFBUyxDQUFBO0lBQ1Qsd0JBQVMsQ0FBQTtJQUNULG9DQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVENEYXRhRmlsdGVyc3tcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nOyAgICBcbiAgICBzZWFyY2hJbjogc3RyaW5nO1xuICAgIG5vdEluPzogYm9vbGVhbjtcbiAgICB0eXBlPzogVENGaWx0ZXJzVHlwZTtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGlkPzogc3RyaW5nO1xuXG4gICAgc2VhcmNoVGV4dD86IGFueTtcbiAgICBhY2NlcHQ/OiBib29sZWFuO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHdpZHRoPzogc3RyaW5nO1xuICAgIGRhdGE/OiBUQ0RhdGFPdGlvbnNbXTtcbiAgICBjb25kaXRpb24/OiBUQ0NvbmRpdGlvbjtcbiAgICB2YWx1ZT86IGFueTtcblxuICAgIC8vIEZvciBkYXRlcGlja2VyXG4gICAgZGVmYXVsdFZhbHVlUGVyaW9kU3RhcnRTdG9wPzogYW55O1xuICAgIFVUQz86IGJvb2xlYW47XG4gICAgdXNlT3B0aW9uc0RhdGVUaW1lPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUQ0RhdGFPdGlvbnMge1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgdmFsdWU6IGFueTtcbiAgICBub3RWYWx1ZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGVudW0gVENGaWx0ZXJzVHlwZXtcbiAgICB0ZXh0ID0gXCJ0ZXh0XCIsXG4gICAgbnVtYmVyID0gXCJudW1iZXJcIixcbiAgICBzZWxlY3QgPSBcInNlbGVjdFwiLFxuICAgIGJvb2xlYW4gPSBcImJvb2xlYW5cIixcbiAgICBkYXRldGltZSA9IFwiZGF0ZXRpbWUtbG9jYWxcIixcbiAgICBoaWRkZW4gPSBcImhpZGRlblwiLFxuICAgIGRhdGUgPSBcImRhdGUtbG9jYWxcIixcbn1cblxuZXhwb3J0IGVudW0gVENDb25kaXRpb257XG4gICAgZXF1YWwgPSBcImVxdWFsXCIsXG4gICAgZ3RlID0gXCJndGVcIixcbiAgICBsdGUgPSBcImx0ZVwiLFxuICAgIGx0ID0gXCJsdFwiLFxuICAgIGd0ID0gXCJndFwiLFxuICAgIG5vdEVxdWFsID0gXCJub3RFcXVhbFwiXG59Il19
@@ -1,45 +0,0 @@
1
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
2
- import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';
5
- import { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';
6
- import { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';
7
- import { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';
8
- import * as i0 from "@angular/core";
9
- export class TCloudUiFiltersModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiFiltersModule, declarations: [TCloudUiFiltersComponent,
12
- TCloudUiRangeDateComponent], imports: [CommonModule,
13
- FormsModule,
14
- ReactiveFormsModule,
15
- TCloudUiDatepickerTimeModule,
16
- TCloudUiDatepickerModule], exports: [TCloudUiFiltersComponent,
17
- TCloudUiRangeDateComponent] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiFiltersModule, imports: [CommonModule,
19
- FormsModule,
20
- ReactiveFormsModule,
21
- TCloudUiDatepickerTimeModule,
22
- TCloudUiDatepickerModule] }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiFiltersModule, decorators: [{
25
- type: NgModule,
26
- args: [{
27
- declarations: [
28
- TCloudUiFiltersComponent,
29
- TCloudUiRangeDateComponent
30
- ],
31
- exports: [
32
- TCloudUiFiltersComponent,
33
- TCloudUiRangeDateComponent
34
- ],
35
- imports: [
36
- CommonModule,
37
- FormsModule,
38
- ReactiveFormsModule,
39
- TCloudUiDatepickerTimeModule,
40
- TCloudUiDatepickerModule
41
- ],
42
- schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]
43
- }]
44
- }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWZpbHRlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWZpbHRlcnMvdGNsb3VkLXVpLWZpbHRlcnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFzQi9GLE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjtnSEFBckIscUJBQXFCLGlCQWhCOUIsd0JBQXdCO1lBQ3hCLDBCQUEwQixhQU8xQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQiw0QkFBNEI7WUFDNUIsd0JBQXdCLGFBUnhCLHdCQUF3QjtZQUN4QiwwQkFBMEI7Z0hBV2pCLHFCQUFxQixZQVI5QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQiw0QkFBNEI7WUFDNUIsd0JBQXdCOzs0RkFJZixxQkFBcUI7a0JBbEJqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix3QkFBd0I7d0JBQ3hCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1Qix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRSxDQUFFLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUQ2xvdWRVaUZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuL3RjbG91ZC11aS1maWx0ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUQ2xvdWRVaURhdGVwaWNrZXJUaW1lTW9kdWxlIH0gZnJvbSAnLi4vdGNsb3VkLXVpLWRhdGVwaWNrZXItdGltZS90Y2xvdWQtdWktZGF0ZXBpY2tlci10aW1lLm1vZHVsZSc7XG5pbXBvcnQgeyBUQ2xvdWRVaVJhbmdlRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yYW5nZS1kYXRlL3JhbmdlLWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRDbG91ZFVpRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJy4uL3RjbG91ZC11aS1kYXRlcGlja2VyL3RjbG91ZC11aS1kYXRlcGlja2VyLm1vZHVsZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUQ2xvdWRVaUZpbHRlcnNDb21wb25lbnQsXG4gICAgVENsb3VkVWlSYW5nZURhdGVDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRDbG91ZFVpRmlsdGVyc0NvbXBvbmVudCxcbiAgICBUQ2xvdWRVaVJhbmdlRGF0ZUNvbXBvbmVudCAgXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUQ2xvdWRVaURhdGVwaWNrZXJUaW1lTW9kdWxlLFxuICAgIFRDbG91ZFVpRGF0ZXBpY2tlck1vZHVsZVxuICBdLFxuICBzY2hlbWFzOiBbIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5PX0VSUk9SU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpRmlsdGVyc01vZHVsZSB7IH1cbiJdfQ==
@@ -1,142 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- export const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
7
- provide: NG_VALUE_ACCESSOR,
8
- useExisting: forwardRef(() => TCloudUiInputPasswordComponent),
9
- multi: true
10
- };
11
- const noop = () => {
12
- };
13
- export class TCloudUiInputPasswordComponent {
14
- set ngModel(v) {
15
- this.innerValue = v;
16
- }
17
- constructor() {
18
- this.actionView = true;
19
- this.actionCopy = true;
20
- this.actionGeneratePassword = true;
21
- this.numberOfCharacter = 14;
22
- this.atLeastOneUppercaseLetter = true;
23
- this.atLeastOneLowercaseLetter = true;
24
- this.atLeastOneSpecialCharacter = true;
25
- this.innerValue = '';
26
- this.ngModelChange = new EventEmitter();
27
- this.mode = 'password';
28
- this.isCopy = false;
29
- //Placeholders for the callbacks which are later providesd
30
- //by the Control Value Accessor
31
- this.onTouchedCallback = noop;
32
- this.onChangeCallback = noop;
33
- }
34
- ngOnInit() {
35
- this.passwordRegex = this.getRegexValidation();
36
- }
37
- toggleMode() {
38
- if (this.mode === 'password') {
39
- this.mode = 'text';
40
- }
41
- else {
42
- this.mode = 'password';
43
- }
44
- }
45
- copyText() {
46
- this.isCopy = true;
47
- navigator.clipboard.writeText(this.innerValue);
48
- setTimeout(() => { this.isCopy = false; }, 3000);
49
- }
50
- generatePassword() {
51
- this.innerValue = this.createNewPass();
52
- }
53
- createNewPass() {
54
- const uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
55
- const lowercaseLetters = 'abcdefghijklmnopqrstuvwxyz';
56
- const numbers = '0123456789';
57
- const specialCharacters = '!@#$%^&*()_+{}[]:;<>,.?/~';
58
- const allCharacters = uppercaseLetters + lowercaseLetters + numbers + specialCharacters;
59
- const getRandomCharacter = (characters) => {
60
- const randomIndex = Math.floor(Math.random() * characters.length);
61
- return characters[randomIndex];
62
- };
63
- let password = '';
64
- password += getRandomCharacter(uppercaseLetters);
65
- password += getRandomCharacter(numbers);
66
- password += getRandomCharacter(specialCharacters);
67
- const remainingLength = this.numberOfCharacter - password.length;
68
- for (let i = 0; i < remainingLength; i++) {
69
- password += getRandomCharacter(allCharacters);
70
- }
71
- password = password.split('').sort(() => Math.random() - 0.5).join('');
72
- return password;
73
- }
74
- getRegexValidation() {
75
- /*
76
- (?=.*[A-Z]): Pelo menos uma letra maiúscula.
77
- (?=.*[0-9]): Pelo menos um número.
78
- (?=.*[!@#$%^&*()_+{}[\]:;<>,.?\/~]): Pelo menos um caractere especial.
79
- (?!.*\s): Não contém espaços em branco.
80
- .{14,}: Pelo menos 14 caracteres no total.
81
- */
82
- const maiusculas = (this.atLeastOneUppercaseLetter) ? `(?=.*[A-Z])` : '';
83
- const minusculas = (this.atLeastOneLowercaseLetter) ? `(?=.*[a-z])` : '';
84
- const especiais = (this.atLeastOneSpecialCharacter) ? `(?=.*[!@#$%^&*\\(\\)_+\\{\\}\\[\\]:;<>,.?\\/~])(?!.*\\s)` : '';
85
- return `^${maiusculas}${minusculas}${especiais}.{${this.numberOfCharacter},}$`;
86
- }
87
- //get accessor
88
- get value() {
89
- return this.innerValue;
90
- }
91
- ;
92
- //set accessor including call the onchange callback
93
- set value(v) {
94
- if (v !== this.innerValue) {
95
- this.innerValue = v;
96
- this.onChangeCallback(v);
97
- }
98
- }
99
- //Set touched on blur
100
- onBlur() {
101
- this.onTouchedCallback();
102
- }
103
- //From ControlValueAccessor interface
104
- writeValue(value) {
105
- if (value !== this.innerValue) {
106
- this.innerValue = value;
107
- }
108
- }
109
- //From ControlValueAccessor interface
110
- registerOnChange(fn) {
111
- this.onChangeCallback = fn;
112
- }
113
- //From ControlValueAccessor interface
114
- registerOnTouched(fn) {
115
- this.onTouchedCallback = fn;
116
- }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TCloudUiInputPasswordComponent, selector: "tcloud-ui-input-password", inputs: { actionView: "actionView", actionCopy: "actionCopy", actionGeneratePassword: "actionGeneratePassword", numberOfCharacter: "numberOfCharacter", atLeastOneUppercaseLetter: "atLeastOneUppercaseLetter", atLeastOneLowercaseLetter: "atLeastOneLowercaseLetter", atLeastOneSpecialCharacter: "atLeastOneSpecialCharacter", ngModel: "ngModel" }, outputs: { ngModelChange: "ngModelChange" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"tcloud-ui-input-password\">\n <table>\n <tr>\n <!-- input password -->\n <td>\n <form #_form=\"ngForm\">\n <ng-container *ngIf=\"passwordRegex\">\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\n </ng-container>\n </form>\n </td>\n\n <!-- action show hide -->\n <td *ngIf=\"actionView\">\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \n </button>\n </td>\n\n <!-- action generate pass -->\n <td *ngIf=\"actionGeneratePassword\">\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\n <i class=\"fa-solid fa-key\"></i>\n </button>\n </td>\n\n <!-- action copy pass -->\n <td *ngIf=\"actionCopy\">\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\n </button>\n </td>\n </tr>\n </table>\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
119
- }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputPasswordComponent, decorators: [{
121
- type: Component,
122
- args: [{ selector: 'tcloud-ui-input-password', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], template: "<div class=\"tcloud-ui-input-password\">\n <table>\n <tr>\n <!-- input password -->\n <td>\n <form #_form=\"ngForm\">\n <ng-container *ngIf=\"passwordRegex\">\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\n </ng-container>\n </form>\n </td>\n\n <!-- action show hide -->\n <td *ngIf=\"actionView\">\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \n </button>\n </td>\n\n <!-- action generate pass -->\n <td *ngIf=\"actionGeneratePassword\">\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\n <i class=\"fa-solid fa-key\"></i>\n </button>\n </td>\n\n <!-- action copy pass -->\n <td *ngIf=\"actionCopy\">\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\n </button>\n </td>\n </tr>\n </table>\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"] }]
123
- }], ctorParameters: () => [], propDecorators: { actionView: [{
124
- type: Input
125
- }], actionCopy: [{
126
- type: Input
127
- }], actionGeneratePassword: [{
128
- type: Input
129
- }], numberOfCharacter: [{
130
- type: Input
131
- }], atLeastOneUppercaseLetter: [{
132
- type: Input
133
- }], atLeastOneLowercaseLetter: [{
134
- type: Input
135
- }], atLeastOneSpecialCharacter: [{
136
- type: Input
137
- }], ngModel: [{
138
- type: Input
139
- }], ngModelChange: [{
140
- type: Output
141
- }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC90Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVuRCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBUTtJQUN0RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7SUFDN0QsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQztBQVFGLE1BQU0sT0FBTyw4QkFBOEI7SUFnQnZDLElBQWEsT0FBTyxDQUFDLENBQU07UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQU9EO1FBdkJTLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQiwyQkFBc0IsR0FBWSxJQUFJLENBQUM7UUFFdkMsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBRS9CLDhCQUF5QixHQUFZLElBQUksQ0FB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LENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7K0dBMUlRLDhCQUE4QjttR0FBOUIsOEJBQThCLHdiQUY5QixDQUFFLG1DQUFtQyxDQUFFLDBCQ2hCcEQsMnlEQXFDTTs7NEZEbkJPLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSwwQkFBMEIsYUFHekIsQ0FBRSxtQ0FBbUMsQ0FBRTt3REFJdkMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBTU8sT0FBTztzQkFBbkIsS0FBSztnQkFHSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVENsb3VkVWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogWyBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiBdLFxufSlcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUlucHV0UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgYWN0aW9uVmlldzogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWN0aW9uQ29weTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWN0aW9uR2VuZXJhdGVQYXNzd29yZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBudW1iZXJPZkNoYXJhY3RlcjogbnVtYmVyID0gMTQ7XG5cbiAgICBASW5wdXQoKSBhdExlYXN0T25lVXBwZXJjYXNlTGV0dGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBhdExlYXN0T25lTG93ZXJjYXNlTGV0dGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBhdExlYXN0T25lU3BlY2lhbENoYXJhY3RlcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgXG4gICAgaW5uZXJWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIF9uZ01vZGVsOiBhbnkgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgc2V0IG5nTW9kZWwodjogYW55KXtcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdjsgICAgICBcbiAgICB9XG4gICAgQE91dHB1dCgpIG5nTW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIG1vZGU6IHN0cmluZyA9ICdwYXNzd29yZCc7XG4gICAgaXNDb3B5OiBib29sZWFuID0gZmFsc2U7XG4gICAgcGFzc3dvcmRSZWdleDogYW55IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhc3N3b3JkUmVnZXggPSB0aGlzLmdldFJlZ2V4VmFsaWRhdGlvbigpO1xuICAgIH1cblxuICAgIHRvZ2dsZU1vZGUoKXtcbiAgICAgICAgaWYoIHRoaXMubW9kZSA9PT0gJ3Bhc3N3b3JkJyApe1xuICAgICAgICAgICAgdGhpcy5tb2RlID0gJ3RleHQnO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIHRoaXMubW9kZSA9ICdwYXNzd29yZCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb3B5VGV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NvcHkgPSB0cnVlO1xuICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5pc0NvcHkgPSBmYWxzZTsgfSwgMzAwMCk7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVQYXNzd29yZCgpe1xuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB0aGlzLmNyZWF0ZU5ld1Bhc3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU5ld1Bhc3MoKSB7XG4gICAgICAgIGNvbnN0IHVwcGVyY2FzZUxldHRlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonO1xuICAgICAgICBjb25zdCBsb3dlcmNhc2VMZXR0ZXJzID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JztcbiAgICAgICAgY29uc3QgbnVtYmVycyA9ICcwMTIzNDU2Nzg5JztcbiAgICAgICAgY29uc3Qgc3BlY2lhbENoYXJhY3RlcnMgPSAnIUAjJCVeJiooKV8re31bXTo7PD4sLj8vfic7XG4gICAgXG4gICAgICAgIGNvbnN0IGFsbENoYXJhY3RlcnMgPSB1cHBlcmNhc2VMZXR0ZXJzICsgbG93ZXJjYXNlTGV0dGVycyArIG51bWJlcnMgKyBzcGVjaWFsQ2hhcmFjdGVycztcbiAgICBcbiAgICAgICAgY29uc3QgZ2V0UmFuZG9tQ2hhcmFjdGVyID0gKGNoYXJhY3RlcnM6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGNoYXJhY3RlcnNbcmFuZG9tSW5kZXhdO1xuICAgICAgICB9O1xuICAgIFxuICAgICAgICBsZXQgcGFzc3dvcmQgPSAnJztcbiAgICAgICAgcGFzc3dvcmQgKz0gZ2V0UmFuZG9tQ2hhcmFjdGVyKHVwcGVyY2FzZUxldHRlcnMpO1xuICAgICAgICBwYXNzd29yZCArPSBnZXRSYW5kb21DaGFyYWN0ZXIobnVtYmVycyk7XG4gICAgICAgIHBhc3N3b3JkICs9IGdldFJhbmRvbUNoYXJhY3RlcihzcGVjaWFsQ2hhcmFjdGVycyk7XG4gICAgXG4gICAgICAgIGNvbnN0IHJlbWFpbmluZ0xlbmd0aCA9IHRoaXMubnVtYmVyT2ZDaGFyYWN0ZXIgLSBwYXNzd29yZC5sZW5ndGg7ICBcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZW1haW5pbmdMZW5ndGg7IGkrKykge1xuICAgICAgICBwYXNzd29yZCArPSBnZXRSYW5kb21DaGFyYWN0ZXIoYWxsQ2hhcmFjdGVycyk7XG4gICAgICAgIH0gIFxuICAgICAgICBwYXNzd29yZCA9IHBhc3N3b3JkLnNwbGl0KCcnKS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpLmpvaW4oJycpOyAgXG4gICAgICAgIHJldHVybiBwYXNzd29yZDtcbiAgICB9XG4gIFxuXG4gICAgZ2V0UmVnZXhWYWxpZGF0aW9uKCkge1xuICAgICAgICAvKlxuICAgICAgICAoPz0uKltBLVpdKTogUGVsbyBtZW5vcyB1bWEgbGV0cmEgbWFpw7pzY3VsYS5cbiAgICAgICAgKD89LipbMC05XSk6IFBlbG8gbWVub3MgdW0gbsO6bWVyby5cbiAgICAgICAgKD89LipbIUAjJCVeJiooKV8re31bXFxdOjs8PiwuP1xcL35dKTogUGVsbyBtZW5vcyB1bSBjYXJhY3RlcmUgZXNwZWNpYWwuXG4gICAgICAgICg/IS4qXFxzKTogTsOjbyBjb250w6ltIGVzcGHDp29zIGVtIGJyYW5jby5cbiAgICAgICAgLnsxNCx9OiBQZWxvIG1lbm9zIDE0IGNhcmFjdGVyZXMgbm8gdG90YWwuXG4gICAgICAgICovXG5cbiAgICAgICAgY29uc3QgbWFpdXNjdWxhcyA9ICh0aGlzLmF0TGVhc3RPbmVVcHBlcmNhc2VMZXR0ZXIpID8gYCg/PS4qW0EtWl0pYCA6ICcnO1xuICAgICAgICBjb25zdCBtaW51c2N1bGFzID0gKHRoaXMuYXRMZWFzdE9uZUxvd2VyY2FzZUxldHRlcikgPyBgKD89LipbYS16XSlgIDogJyc7XG4gICAgICAgIGNvbnN0IGVzcGVjaWFpcyAgPSAodGhpcy5hdExlYXN0T25lU3BlY2lhbENoYXJhY3RlcikgPyBgKD89LipbIUAjJCVeJipcXFxcKFxcXFwpXytcXFxce1xcXFx9XFxcXFtcXFxcXTo7PD4sLj9cXFxcL35dKSg/IS4qXFxcXHMpYDogJyc7XG5cbiAgICAgICAgcmV0dXJuIGBeJHttYWl1c2N1bGFzfSR7bWludXNjdWxhc30ke2VzcGVjaWFpc30ueyR7dGhpcy5udW1iZXJPZkNoYXJhY3Rlcn0sfSRgO1xuICAgIH1cblxuXG5cblxuXG5cblxuXG4gIFxuICAvL1BsYWNlaG9sZGVycyBmb3IgdGhlIGNhbGxiYWNrcyB3aGljaCBhcmUgbGF0ZXIgcHJvdmlkZXNkXG4gICAgLy9ieSB0aGUgQ29udHJvbCBWYWx1ZSBBY2Nlc3NvclxuICAgIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xuICAgIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgICAvL2dldCBhY2Nlc3NvclxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICAgIH07XG5cbiAgICAvL3NldCBhY2Nlc3NvciBpbmNsdWRpbmcgY2FsbCB0aGUgb25jaGFuZ2UgY2FsbGJhY2tcbiAgICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1NldCB0b3VjaGVkIG9uIGJsdXJcbiAgICBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB9XG5cbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgLy9Gcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmRcIj5cbiAgICA8dGFibGU+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICAgIDwhLS0gaW5wdXQgcGFzc3dvcmQgLS0+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgPGZvcm0gI19mb3JtPVwibmdGb3JtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYXNzd29yZFJlZ2V4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ0Yy1mb3JtLWNvbnRyb2xcIiAqbmdJZj1cIm1vZGUgPT0gJ3Bhc3N3b3JkJ1wiIHR5cGU9XCJwYXNzd29yZFwiIG5hbWU9XCJ0Y19wYXNzd29yZFwiIFtwYXR0ZXJuXT1cInBhc3N3b3JkUmVnZXhcIiBhdXRvQ29tcGxldGU9XCJuZXctcGFzc3dvcmRcIiBbKG5nTW9kZWwpXT1cImlubmVyVmFsdWVcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInRjLWZvcm0tY29udHJvbFwiICpuZ0lmPVwibW9kZSA9PSAndGV4dCdcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCJ0Y190ZXh0XCIgW3BhdHRlcm5dPVwicGFzc3dvcmRSZWdleFwiIFsobmdNb2RlbCldPVwiaW5uZXJWYWx1ZVwiIHJlcXVpcmVkPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgICA8IS0tIGFjdGlvbiBzaG93IGhpZGUgLS0+XG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpb25WaWV3XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZU1vZGUoKVwiIFt0aXRsZV09XCIobW9kZSA9PSAncGFzc3dvcmQnKSA/ICdWaXN1YWxpemFyIFNlbmhhJyA6ICdFc2NvbmRlciBTZW5oYSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJtb2RlID09ICdwYXNzd29yZCdcIiBjbGFzcz1cImZhciBmYS1leWUtc2xhc2hcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwibW9kZSA9PSAndGV4dCdcIiBjbGFzcz1cImZhciBmYS1leWVcIj48L2k+IFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC90ZD5cblxuICAgICAgICAgICAgPCEtLSBhY3Rpb24gZ2VuZXJhdGUgcGFzcyAtLT5cbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImFjdGlvbkdlbmVyYXRlUGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ0dlcmFyIFNlbmhhJ1wiIChjbGljayk9XCJnZW5lcmF0ZVBhc3N3b3JkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1rZXlcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgICA8IS0tIGFjdGlvbiBjb3B5IHBhc3MgLS0+XG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpb25Db3B5XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW3RpdGxlXT1cIidDb3BpYXIgU2VuaGEnXCIgKGNsaWNrKT1cImNvcHlUZXh0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhaXNDb3B5XCIgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNvcHlcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiaXNDb3B5XCIgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgPC90YWJsZT5cbjwvZGl2PiJdfQ==
@@ -1,32 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { TCloudUiInputPasswordComponent } from './tcloud-ui-input-password.component';
4
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- export class TCloudUiInputPasswordModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputPasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputPasswordModule, declarations: [TCloudUiInputPasswordComponent], imports: [CommonModule,
9
- FormsModule,
10
- ReactiveFormsModule], exports: [TCloudUiInputPasswordComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputPasswordModule, imports: [CommonModule,
12
- FormsModule,
13
- ReactiveFormsModule] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputPasswordModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- declarations: [
19
- TCloudUiInputPasswordComponent
20
- ],
21
- imports: [
22
- CommonModule,
23
- FormsModule,
24
- ReactiveFormsModule
25
- ],
26
- exports: [
27
- TCloudUiInputPasswordComponent
28
- ],
29
- schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC90Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFrQmxFLE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjtnSEFBM0IsMkJBQTJCLGlCQVpwQyw4QkFBOEIsYUFHOUIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUIsYUFHbkIsOEJBQThCO2dIQUlyQiwyQkFBMkIsWUFUcEMsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7OzRGQU9WLDJCQUEyQjtrQkFkdkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLENBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUQ2xvdWRVaUlucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUQ2xvdWRVaUlucHV0UGFzc3dvcmRDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUQ2xvdWRVaUlucHV0UGFzc3dvcmRDb21wb25lbnRcbiAgXSxcbiAgc2NoZW1hczogWyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUlucHV0UGFzc3dvcmRNb2R1bGUgeyB9XG4iXX0=
@@ -1,66 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../_services/search-in-object.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/forms";
6
- export class TCloudUiInputSearchComponent {
7
- set base_object(base_object) {
8
- if (base_object) {
9
- this._base_object = base_object;
10
- if (this.mirror) {
11
- this.result_object = base_object;
12
- this.toFound();
13
- }
14
- }
15
- }
16
- get base_object() { return this._base_object; }
17
- constructor(searchInObjectService) {
18
- this.searchInObjectService = searchInObjectService;
19
- /**
20
- * tcloud-ui-input-search - Procura pelo valor informado no objeto indicado
21
- * @param placeholder string - placeholder no input
22
- * @param mirror boolean - Exibir os valores espelhados ou somente os valores encontrados
23
- * @param base_object object - Objeto onde ser procurado
24
- * @param found - Emite o valor encontrado
25
- */
26
- this.placeholder = 'Procurar...';
27
- this.mirror = true;
28
- this.search_text = '';
29
- this.found = new EventEmitter();
30
- }
31
- ngOnInit() {
32
- }
33
- buscar(value) {
34
- const result = this.searchInObjectService.meet(`${value}`, this.base_object);
35
- this.result_object = JSON.parse(JSON.stringify(result));
36
- this.toFound();
37
- }
38
- clean() {
39
- if (this.mirror) {
40
- this.buscar('');
41
- }
42
- else {
43
- this.result_object = [];
44
- this.toFound();
45
- }
46
- this.search_text = '';
47
- }
48
- toFound() {
49
- this.found.emit(this.result_object);
50
- }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputSearchComponent, deps: [{ token: i1.TCloudUiSearchInObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TCloudUiInputSearchComponent, selector: "tcloud-ui-input-search", inputs: { placeholder: "placeholder", mirror: "mirror", base_object: "base_object" }, outputs: { found: "found" }, ngImport: i0, template: "<table class=\"tcloud-ui-input-search tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td><input class=\"tc-form-control box-ui-input-group\" [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\n <td> \n <ng-container *ngIf=\"search_text === ''\"> \n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\n </ng-container> \n\n <ng-container *ngIf=\"search_text !== ''\"> \n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\n </ng-container>\n </td>\n </tr>\n</table>", styles: [".tc-group-input-table{width:100%;border-collapse:collapse;border-spacing:0}.tc-group-input-table td{border:none;border-style:hidden;border-spacing:0;vertical-align:top}.tc-group-input-table td:first-child input{height:40px;width:100%;border:1px solid #ccc;border-radius:4px 0 0 4px!important}.tc-group-input-table td:last-child{width:40px}.tc-group-input-table td:last-child button{width:100%;height:40px;border:none;border-radius:0 10px 10px 0;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputSearchComponent, decorators: [{
55
- type: Component,
56
- args: [{ selector: 'tcloud-ui-input-search', template: "<table class=\"tcloud-ui-input-search tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td><input class=\"tc-form-control box-ui-input-group\" [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\n <td> \n <ng-container *ngIf=\"search_text === ''\"> \n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\n </ng-container> \n\n <ng-container *ngIf=\"search_text !== ''\"> \n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\n </ng-container>\n </td>\n </tr>\n</table>", styles: [".tc-group-input-table{width:100%;border-collapse:collapse;border-spacing:0}.tc-group-input-table td{border:none;border-style:hidden;border-spacing:0;vertical-align:top}.tc-group-input-table td:first-child input{height:40px;width:100%;border:1px solid #ccc;border-radius:4px 0 0 4px!important}.tc-group-input-table td:last-child{width:40px}.tc-group-input-table td:last-child button{width:100%;height:40px;border:none;border-radius:0 10px 10px 0;cursor:pointer}\n"] }]
57
- }], ctorParameters: () => [{ type: i1.TCloudUiSearchInObjectService }], propDecorators: { placeholder: [{
58
- type: Input
59
- }], mirror: [{
60
- type: Input
61
- }], base_object: [{
62
- type: Input
63
- }], found: [{
64
- type: Output
65
- }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWlucHV0LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktaW5wdXQtc2VhcmNoL3RjbG91ZC11aS1pbnB1dC1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWlucHV0LXNlYXJjaC90Y2xvdWQtdWktaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUS9FLE1BQU0sT0FBTyw0QkFBNEI7SUFpQnZDLElBQWEsV0FBVyxDQUFDLFdBQWdCO1FBQ3ZDLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7WUFFaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxXQUFXLEtBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQU05QyxZQUNVLHFCQUFvRDtRQUFwRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQStCO1FBaEM5RDs7Ozs7O1dBTUc7UUFFTSxnQkFBVyxHQUFXLGFBQWEsQ0FBQztRQUVwQyxXQUFNLEdBQVksSUFBSSxDQUFDO1FBRWhDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBaUJmLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBSXRDLENBQUM7SUFFTCxRQUFRO0lBQ1IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7YUFBSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxhQUFhLENBQUUsQ0FBQztJQUN4QyxDQUFDOytHQTFEVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixpTENSekMsa3VCQWFROzs0RkRMSyw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0Usd0JBQXdCO2tHQWN6QixXQUFXO3NCQUFuQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFLTyxXQUFXO3NCQUF2QixLQUFLO2dCQWNJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRDbG91ZFVpU2VhcmNoSW5PYmplY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3NlYXJjaC1pbi1vYmplY3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RjbG91ZC11aS1pbnB1dC1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGNsb3VkLXVpLWlucHV0LXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RjbG91ZC11aS1pbnB1dC1zZWFyY2guY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUlucHV0U2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKipcbiAgICogdGNsb3VkLXVpLWlucHV0LXNlYXJjaCAtIFByb2N1cmEgcGVsbyB2YWxvciBpbmZvcm1hZG8gbm8gb2JqZXRvIGluZGljYWRvXG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlciBzdHJpbmcgLSBwbGFjZWhvbGRlciBubyBpbnB1dFxuICAgKiBAcGFyYW0gbWlycm9yIGJvb2xlYW4gLSBFeGliaXIgb3MgdmFsb3JlcyBlc3BlbGhhZG9zIG91IHNvbWVudGUgb3MgdmFsb3JlcyBlbmNvbnRyYWRvc1xuICAgKiBAcGFyYW0gYmFzZV9vYmplY3Qgb2JqZWN0IC0gT2JqZXRvIG9uZGUgc2VyIHByb2N1cmFkbyBcbiAgICogQHBhcmFtIGZvdW5kIC0gRW1pdGUgbyB2YWxvciBlbmNvbnRyYWRvXG4gICAqL1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnUHJvY3VyYXIuLi4nO1xuXG4gIEBJbnB1dCgpIG1pcnJvcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgc2VhcmNoX3RleHQ6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2Jhc2Vfb2JqZWN0OiBhbnk7XG4gIEBJbnB1dCgpIHNldCBiYXNlX29iamVjdChiYXNlX29iamVjdDogYW55KXtcbiAgICBpZiggYmFzZV9vYmplY3QgKXtcbiAgICAgIHRoaXMuX2Jhc2Vfb2JqZWN0ID0gYmFzZV9vYmplY3Q7XG5cbiAgICAgIGlmKCB0aGlzLm1pcnJvciApe1xuICAgICAgICB0aGlzLnJlc3VsdF9vYmplY3QgPSBiYXNlX29iamVjdDtcbiAgICAgICAgdGhpcy50b0ZvdW5kKCk7XG4gICAgICB9XG4gICAgfSAgICBcbiAgfVxuICBnZXQgYmFzZV9vYmplY3QoKXsgcmV0dXJuIHRoaXMuX2Jhc2Vfb2JqZWN0OyB9XG5cbiAgcmVzdWx0X29iamVjdDogYW55IHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKSBmb3VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoSW5PYmplY3RTZXJ2aWNlOiBUQ2xvdWRVaVNlYXJjaEluT2JqZWN0U2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgYnVzY2FyKHZhbHVlOiBzdHJpbmcpe1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2VhcmNoSW5PYmplY3RTZXJ2aWNlLm1lZXQoYCR7dmFsdWV9YCwgdGhpcy5iYXNlX29iamVjdCk7XG4gICAgdGhpcy5yZXN1bHRfb2JqZWN0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXN1bHQpKTtcbiAgICB0aGlzLnRvRm91bmQoKTtcbiAgfVxuXG4gIGNsZWFuKCl7XG4gICAgaWYoIHRoaXMubWlycm9yICl7XG4gICAgICB0aGlzLmJ1c2NhcignJyk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLnJlc3VsdF9vYmplY3QgPSBbXTsgXG4gICAgICB0aGlzLnRvRm91bmQoKTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2hfdGV4dCA9ICcnO1xuICB9XG5cbiAgdG9Gb3VuZCgpe1xuICAgIHRoaXMuZm91bmQuZW1pdCggdGhpcy5yZXN1bHRfb2JqZWN0ICk7XG4gIH1cblxufVxuIiwiPHRhYmxlIGNsYXNzPVwidGNsb3VkLXVpLWlucHV0LXNlYXJjaCB0Yy1ncm91cC1pbnB1dC10YWJsZVwiIGNlbGxzcGFjaW5nPVwiMFwiIGNlbGxwYWRkaW5nPVwiMFwiPlxuICAgIDx0cj5cbiAgICAgICAgPHRkPjxpbnB1dCBjbGFzcz1cInRjLWZvcm0tY29udHJvbCBib3gtdWktaW5wdXQtZ3JvdXBcIiBbKG5nTW9kZWwpXT1cInNlYXJjaF90ZXh0XCIgdHlwZT1cInRleHRcIiAoa2V5dXApPVwiYnVzY2FyKHNlYXJjaF90ZXh0KVwiIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIiA+PC90ZD5cbiAgICAgICAgPHRkPiAgICAgXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VhcmNoX3RleHQgPT09ICcnXCI+ICBcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYnVzY2FyKHNlYXJjaF90ZXh0KVwiPjxpIGNsYXNzPVwiZmFzIGZhLXNlYXJjaFwiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiBcblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlYXJjaF90ZXh0ICE9PSAnJ1wiPiAgXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsZWFuKClcIj48aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3RkPlxuICAgIDwvdHI+XG48L3RhYmxlPiJdfQ==
@@ -1,32 +0,0 @@
1
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
2
- import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';
5
- import * as i0 from "@angular/core";
6
- export class TCloudUiInputSearchModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputSearchModule, declarations: [TCloudUiInputSearchComponent], imports: [CommonModule,
9
- FormsModule,
10
- ReactiveFormsModule], exports: [TCloudUiInputSearchComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputSearchModule, imports: [CommonModule,
12
- FormsModule,
13
- ReactiveFormsModule] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiInputSearchModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- declarations: [
19
- TCloudUiInputSearchComponent
20
- ],
21
- exports: [
22
- TCloudUiInputSearchComponent
23
- ],
24
- imports: [
25
- CommonModule,
26
- FormsModule,
27
- ReactiveFormsModule
28
- ],
29
- schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWlucHV0LXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktaW5wdXQtc2VhcmNoL3RjbG91ZC11aS1pbnB1dC1zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFrQmxGLE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGlCQVpsQyw0QkFBNEIsYUFNNUIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUIsYUFMbkIsNEJBQTRCO2dIQVNuQix5QkFBeUIsWUFObEMsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7OzRGQUlWLHlCQUF5QjtrQkFkckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRDbG91ZFVpSW5wdXRTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL3RjbG91ZC11aS1pbnB1dC1zZWFyY2guY29tcG9uZW50JztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRDbG91ZFVpSW5wdXRTZWFyY2hDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRDbG91ZFVpSW5wdXRTZWFyY2hDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIHNjaGVtYXM6IFsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgVENsb3VkVWlJbnB1dFNlYXJjaE1vZHVsZSB7IH1cbiJdfQ==
@@ -1,36 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class TCloudUiLabelTokenComponent {
5
- constructor() {
6
- this.copy = false;
7
- this.value = '';
8
- this.onClick = new EventEmitter();
9
- this.show = false;
10
- this.isCopy = false;
11
- }
12
- ngOnInit() {
13
- }
14
- copyText() {
15
- this.isCopy = true;
16
- // Copy the text inside the text field
17
- navigator.clipboard.writeText(this.value);
18
- this.onClick.emit(this.value);
19
- setTimeout(() => {
20
- this.isCopy = false;
21
- }, 3000);
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLabelTokenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TCloudUiLabelTokenComponent, selector: "tcloud-ui-label-token", inputs: { copy: "copy", value: "value" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div>\n\n <div class=\"mb-2 box-area\">\n <table>\n <tr>\n\n <td class=\"area-value\">\n <div *ngIf=\"show\">{{ value }}</div>\n <div class=\"no-show\" *ngIf=\"!show\">#*#*#*#*#*#*#*#*#</div>\n </td>\n\n <td class=\"area-action\">\n <div class=\"options-area-actions\">\n <button type=\"button\" *ngIf=\"show\" class=\"btn-icon-smart\" (click)=\"show = !show\" ><i class=\"fas fa-eye\"></i></button>\n <button type=\"button\" *ngIf=\"!show\" class=\"btn-icon-smart\" (click)=\"show = !show\"><i class=\"fas fa-eye-slash\"></i></button>\n\n <ng-container *ngIf=\"copy\">\n <button type=\"button\" [title]=\"'Copiar texto'\" *ngIf=\"!isCopy\" class=\"btn-icon-smart\" (click)=\"copyText()\" ><i class=\"fas fa-copy\"></i></button>\n <button type=\"button\" [title]=\"'Texto copiado'\" *ngIf=\"isCopy\" class=\"btn-icon-smart\"><i class=\"fas fa-check\"></i></button>\n </ng-container>\n </div>\n </td>\n\n </tr>\n </table>\n </div>\n\n </div>", styles: ["table{width:100%}table td.area-value{height:30px;width:100%;padding:6px 10px}table td.area-value div{color:#707070;font-size:18px;line-height:0;padding-left:7px}.box-area{border:1px solid #D5CCC3;border-radius:5px;background-color:#f1f1f1}.btn-icon-smart{color:#d5ccc3;border:none;background-color:#fff;padding:6px;cursor:pointer}.no-show{filter:blur(1.5px);color:#fff;font-size:18px;line-height:0;font-weight:400}.area-action{background:#fff;border-radius:0 5px 5px 0;height:30px}.options-area-actions{width:60px;display:flex;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLabelTokenComponent, decorators: [{
27
- type: Component,
28
- args: [{ selector: 'tcloud-ui-label-token', template: "<div>\n\n <div class=\"mb-2 box-area\">\n <table>\n <tr>\n\n <td class=\"area-value\">\n <div *ngIf=\"show\">{{ value }}</div>\n <div class=\"no-show\" *ngIf=\"!show\">#*#*#*#*#*#*#*#*#</div>\n </td>\n\n <td class=\"area-action\">\n <div class=\"options-area-actions\">\n <button type=\"button\" *ngIf=\"show\" class=\"btn-icon-smart\" (click)=\"show = !show\" ><i class=\"fas fa-eye\"></i></button>\n <button type=\"button\" *ngIf=\"!show\" class=\"btn-icon-smart\" (click)=\"show = !show\"><i class=\"fas fa-eye-slash\"></i></button>\n\n <ng-container *ngIf=\"copy\">\n <button type=\"button\" [title]=\"'Copiar texto'\" *ngIf=\"!isCopy\" class=\"btn-icon-smart\" (click)=\"copyText()\" ><i class=\"fas fa-copy\"></i></button>\n <button type=\"button\" [title]=\"'Texto copiado'\" *ngIf=\"isCopy\" class=\"btn-icon-smart\"><i class=\"fas fa-check\"></i></button>\n </ng-container>\n </div>\n </td>\n\n </tr>\n </table>\n </div>\n\n </div>", styles: ["table{width:100%}table td.area-value{height:30px;width:100%;padding:6px 10px}table td.area-value div{color:#707070;font-size:18px;line-height:0;padding-left:7px}.box-area{border:1px solid #D5CCC3;border-radius:5px;background-color:#f1f1f1}.btn-icon-smart{color:#d5ccc3;border:none;background-color:#fff;padding:6px;cursor:pointer}.no-show{filter:blur(1.5px);color:#fff;font-size:18px;line-height:0;font-weight:400}.area-action{background:#fff;border-radius:0 5px 5px 0;height:30px}.options-area-actions{width:60px;display:flex;justify-content:center}\n"] }]
29
- }], ctorParameters: () => [], propDecorators: { copy: [{
30
- type: Input
31
- }], value: [{
32
- type: Input
33
- }], onClick: [{
34
- type: Output
35
- }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWxhYmVsLXRva2VuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1sYWJlbC10b2tlbi90Y2xvdWQtdWktbGFiZWwtdG9rZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWxhYmVsLXRva2VuL3RjbG91ZC11aS1sYWJlbC10b2tlbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0UsTUFBTSxPQUFPLDJCQUEyQjtJQVN0QztRQVBTLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNmLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTVDLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsV0FBTSxHQUFZLEtBQUssQ0FBQztJQUVSLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsc0NBQXNDO1FBQ3ZDLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVYLENBQUM7K0dBeEJVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHdJQ1B4QyxnbkNBMkJROzs0RkRwQkssMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1Qjt3REFNeEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktbGFiZWwtdG9rZW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGNsb3VkLXVpLWxhYmVsLXRva2VuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLWxhYmVsLXRva2VuLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVENsb3VkVWlMYWJlbFRva2VuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBjb3B5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnkgPSAnJztcbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBzaG93OiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ29weTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgY29weVRleHQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0NvcHkgPSB0cnVlO1xuICAgICAvLyBDb3B5IHRoZSB0ZXh0IGluc2lkZSB0aGUgdGV4dCBmaWVsZFxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25DbGljay5lbWl0KHRoaXMudmFsdWUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzQ29weSA9IGZhbHNlO1xuICAgIH0sIDMwMDApO1xuXG4gIH1cblxufSIsIjxkaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWItMiBib3gtYXJlYVwiPlxuICAgICAgPHRhYmxlPlxuICAgICAgICA8dHI+XG5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJhcmVhLXZhbHVlXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1wiPnt7IHZhbHVlIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tc2hvd1wiICpuZ0lmPVwiIXNob3dcIj4jKiMqIyojKiMqIyojKiMqIzwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJhcmVhLWFjdGlvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnMtYXJlYS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwic2hvd1wiIGNsYXNzPVwiYnRuLWljb24tc21hcnRcIiAgKGNsaWNrKT1cInNob3cgPSAhc2hvd1wiID48aSBjbGFzcz1cImZhcyBmYS1leWVcIj48L2k+PC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiIXNob3dcIiBjbGFzcz1cImJ0bi1pY29uLXNtYXJ0XCIgKGNsaWNrKT1cInNob3cgPSAhc2hvd1wiPjxpIGNsYXNzPVwiZmFzIGZhLWV5ZS1zbGFzaFwiPjwvaT48L2J1dHRvbj5cblxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29weVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFt0aXRsZV09XCInQ29waWFyIHRleHRvJ1wiICpuZ0lmPVwiIWlzQ29weVwiIGNsYXNzPVwiYnRuLWljb24tc21hcnRcIiAoY2xpY2spPVwiY29weVRleHQoKVwiID48aSBjbGFzcz1cImZhcyBmYS1jb3B5XCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFt0aXRsZV09XCInVGV4dG8gY29waWFkbydcIiAqbmdJZj1cImlzQ29weVwiIGNsYXNzPVwiYnRuLWljb24tc21hcnRcIj48aSBjbGFzcz1cImZhcyBmYS1jaGVja1wiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuXG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PiJdfQ==
@@ -1,31 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { TCloudUiLabelTokenComponent } from './tcloud-ui-label-token.component';
4
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- export class TCloudUiLabelTokenModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLabelTokenModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLabelTokenModule, declarations: [TCloudUiLabelTokenComponent], imports: [CommonModule,
9
- FormsModule,
10
- ReactiveFormsModule], exports: [TCloudUiLabelTokenComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLabelTokenModule, imports: [CommonModule,
12
- FormsModule,
13
- ReactiveFormsModule] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLabelTokenModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- declarations: [
19
- TCloudUiLabelTokenComponent
20
- ],
21
- imports: [
22
- CommonModule,
23
- FormsModule,
24
- ReactiveFormsModule
25
- ],
26
- exports: [
27
- TCloudUiLabelTokenComponent
28
- ]
29
- }]
30
- }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWxhYmVsLXRva2VuLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1sYWJlbC10b2tlbi90Y2xvdWQtdWktbGFiZWwtdG9rZW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFpQmxFLE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjtnSEFBeEIsd0JBQXdCLGlCQVhqQywyQkFBMkIsYUFHM0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUIsYUFHbkIsMkJBQTJCO2dIQUdsQix3QkFBd0IsWUFSakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7OzRGQU1WLHdCQUF3QjtrQkFicEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRDbG91ZFVpTGFiZWxUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vdGNsb3VkLXVpLWxhYmVsLXRva2VuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRDbG91ZFVpTGFiZWxUb2tlbkNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRDbG91ZFVpTGFiZWxUb2tlbkNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpTGFiZWxUb2tlbk1vZHVsZSB7IH1cbiJdfQ==
@@ -1,93 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- class Step {
5
- constructor() {
6
- this.status = '';
7
- this.index = 0;
8
- this.class = '';
9
- this.second_class = '';
10
- }
11
- }
12
- export class TCloudUiLineStepCircleComponent {
13
- set active(active) {
14
- if (active && active !== this._active) {
15
- this._active = active;
16
- this.build_steps();
17
- }
18
- }
19
- get active() { return this._active; }
20
- set inactives(inactives) {
21
- if (inactives && inactives !== this._inactives) {
22
- this._inactives = inactives;
23
- this.build_steps();
24
- }
25
- }
26
- get inactives() { return this._inactives; }
27
- set complete(complete) {
28
- if (complete && complete !== this._complete) {
29
- this._complete = complete;
30
- this.build_steps();
31
- }
32
- }
33
- get complete() { return this._complete; }
34
- constructor() {
35
- this.step = 7;
36
- this._active = 0;
37
- this._inactives = [];
38
- this._complete = false;
39
- this.trilha = new Array();
40
- }
41
- ngOnInit() {
42
- setTimeout(() => { this.build_steps(); });
43
- }
44
- build_steps() {
45
- let trilha = new Array();
46
- if (this.step && this.step > 0) {
47
- for (let i = 0; i < this.step; i++) {
48
- (trilha).push({
49
- status: '',
50
- index: i + 1,
51
- class: 'step-default',
52
- second_class: '',
53
- });
54
- }
55
- }
56
- if (this.active > this.step) {
57
- this.active = this.step;
58
- this.complete = true;
59
- }
60
- if (this.active && this.active > 0) {
61
- for (let i = 0; i < this.active; i++) {
62
- trilha[i].class = "step-progress";
63
- if ((i + 1) === this.active && !this.complete) {
64
- trilha[i].class = "step-active";
65
- }
66
- }
67
- }
68
- if (this.inactives && (this.inactives).length > 0) {
69
- for (let i = 0; i < (this.inactives).length; i++) {
70
- const icon = this.inactives[i];
71
- if (icon && icon > 0) {
72
- trilha[(icon - 1)].second_class = "step-inactive";
73
- }
74
- }
75
- }
76
- this.trilha = trilha;
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLineStepCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TCloudUiLineStepCircleComponent, selector: "tcloud-ui-line-step-circle", inputs: { step: "step", active: "active", inactives: "inactives", complete: "complete" }, ngImport: i0, template: "<table class=\"tcloud-ui-line-step-circle table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\n <td class=\"area-circle\">\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\n\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\n \n </td>\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\n <div class=\"step-line {{ fase.class }}\"></div>\n </td>\n </ng-container>\n </tr>\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}table th,table td{vertical-align:middle}.step-default{background-color:var(--tc-gray-300)}.step-progress{background-color:var(--tc-complemt-2)!important}.icon-step-default{background-color:var(--tc-gray-300)}.icon-step-progress{background-color:var(--tc-complemt-2)}.icon-step-active{background-color:var(--orange)}.step-inactive{background-color:var(--tc-gray-300)!important}.tc-circle{height:13px;width:13px;border-radius:50%;position:relative;z-index:1;font-size:13px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLineStepCircleComponent, decorators: [{
82
- type: Component,
83
- args: [{ selector: 'tcloud-ui-line-step-circle', template: "<table class=\"tcloud-ui-line-step-circle table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\n <td class=\"area-circle\">\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\n\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\n \n </td>\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\n <div class=\"step-line {{ fase.class }}\"></div>\n </td>\n </ng-container>\n </tr>\n</table>", styles: [".table-trilha{width:100%;border-collapse:collapse;margin-top:3px;margin-bottom:2px}.table-trilha td{border:none}.table-trilha .area-circle{width:0px}.table-trilha .step-line{width:100%;height:2px;background-color:#ccc;padding:0;margin-left:-1px;width:calc(100% + 2px)}table tr{background-color:transparent!important}table th,table td{vertical-align:middle}.step-default{background-color:var(--tc-gray-300)}.step-progress{background-color:var(--tc-complemt-2)!important}.icon-step-default{background-color:var(--tc-gray-300)}.icon-step-progress{background-color:var(--tc-complemt-2)}.icon-step-active{background-color:var(--orange)}.step-inactive{background-color:var(--tc-gray-300)!important}.tc-circle{height:13px;width:13px;border-radius:50%;position:relative;z-index:1;font-size:13px}\n"] }]
84
- }], ctorParameters: () => [], propDecorators: { step: [{
85
- type: Input
86
- }], active: [{
87
- type: Input
88
- }], inactives: [{
89
- type: Input
90
- }], complete: [{
91
- type: Input
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUvdGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQUV6RCxNQUFNLElBQUk7SUFFUjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztDQU1GO0FBT0QsTUFBTSxPQUFPLCtCQUErQjtJQUsxQyxJQUFhLE1BQU0sQ0FBRSxNQUFjO1FBQ2pDLElBQUksTUFBTSxJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxNQUFNLEtBQVksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUc1QyxJQUFhLFNBQVMsQ0FBRSxTQUErQjtRQUNyRCxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssSUFB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QUFJLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3JCLE1BQU0sQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxlQUFlLENBQUM7Z0JBQ2xELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7K0dBN0VVLCtCQUErQjttR0FBL0IsK0JBQStCLDRKQ3RCNUMsMmtCQWNROzs0RkRRSywrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsNEJBQTRCO3dEQU03QixJQUFJO3NCQUFaLEtBQUs7Z0JBR08sTUFBTTtzQkFBbEIsS0FBSztnQkFTTyxTQUFTO3NCQUFyQixLQUFLO2dCQVVPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY2xhc3MgU3RlcCB7XG5cbiAgY29uc3RydWN0b3IoKXtcbiAgICB0aGlzLnN0YXR1cyA9ICcnO1xuICAgIHRoaXMuaW5kZXggPSAwO1xuICAgIHRoaXMuY2xhc3MgPSAnJztcbiAgICB0aGlzLnNlY29uZF9jbGFzcyA9ICcnO1xuICB9XG5cbiAgc3RhdHVzOiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG4gIGNsYXNzOiBzdHJpbmc7XG4gIHNlY29uZF9jbGFzczogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktbGluZS1zdGVwLWNpcmNsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90Y2xvdWQtdWktbGluZS1zdGVwLWNpcmNsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RjbG91ZC11aS1saW5lLXN0ZXAtY2lyY2xlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVENsb3VkVWlMaW5lU3RlcENpcmNsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gNztcbiAgXG4gIHByaXZhdGUgX2FjdGl2ZTogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc2V0IGFjdGl2ZSggYWN0aXZlOiBudW1iZXIgKXtcbiAgICBpZiggYWN0aXZlICYmIGFjdGl2ZSAhPT0gdGhpcy5fYWN0aXZlICl7XG4gICAgICB0aGlzLl9hY3RpdmUgPSBhY3RpdmU7XG4gICAgICB0aGlzLmJ1aWxkX3N0ZXBzKCk7XG4gICAgfSAgICBcbiAgfVxuICBnZXQgYWN0aXZlKCk6IG51bWJlcnsgcmV0dXJuIHRoaXMuX2FjdGl2ZTsgfVxuXG4gIHByaXZhdGUgX2luYWN0aXZlcyA9IFtdIGFzIG51bWJlcltdIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZXQgaW5hY3RpdmVzKCBpbmFjdGl2ZXM6IG51bWJlcltdIHwgdW5kZWZpbmVkKXtcbiAgICBpZiggaW5hY3RpdmVzICYmIGluYWN0aXZlcyAhPT0gdGhpcy5faW5hY3RpdmVzICl7XG4gICAgICB0aGlzLl9pbmFjdGl2ZXMgPSBpbmFjdGl2ZXM7XG4gICAgICB0aGlzLmJ1aWxkX3N0ZXBzKCk7XG4gICAgfVxuICB9XG4gIGdldCBpbmFjdGl2ZXMoKTogbnVtYmVyW10gfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5faW5hY3RpdmVzOyB9XG5cblxuICBwcml2YXRlIF9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZXQgY29tcGxldGUoIGNvbXBsZXRlOiBib29sZWFuICl7XG4gICAgaWYoIGNvbXBsZXRlICYmIGNvbXBsZXRlICE9PSB0aGlzLl9jb21wbGV0ZSApe1xuICAgICAgdGhpcy5fY29tcGxldGUgPSBjb21wbGV0ZTtcbiAgICAgIHRoaXMuYnVpbGRfc3RlcHMoKTtcbiAgICB9ICAgIFxuICB9XG4gIGdldCBjb21wbGV0ZSgpOiBib29sZWFueyByZXR1cm4gdGhpcy5fY29tcGxldGU7IH1cblxuICB0cmlsaGEgPSBuZXcgQXJyYXk8U3RlcD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLmJ1aWxkX3N0ZXBzKCk7IH0pOyAgICBcbiAgfVxuXG4gIGJ1aWxkX3N0ZXBzKCl7XG4gICAgbGV0IHRyaWxoYSA9IG5ldyBBcnJheTxTdGVwPigpO1xuICAgIGlmKCB0aGlzLnN0ZXAgJiYgdGhpcy5zdGVwID4gMCApe1xuICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCB0aGlzLnN0ZXA7IGkrKyApe1xuICAgICAgICAodHJpbGhhKS5wdXNoKHtcbiAgICAgICAgICBzdGF0dXM6ICcnLFxuICAgICAgICAgIGluZGV4OiBpKzEsXG4gICAgICAgICAgY2xhc3M6ICdzdGVwLWRlZmF1bHQnLFxuICAgICAgICAgIHNlY29uZF9jbGFzczogJycsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYoIHRoaXMuYWN0aXZlID4gdGhpcy5zdGVwICl7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuc3RlcDtcbiAgICAgIHRoaXMuY29tcGxldGUgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmKCB0aGlzLmFjdGl2ZSAmJiB0aGlzLmFjdGl2ZSA+IDAgKXtcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgdGhpcy5hY3RpdmU7IGkrKyApeyAgICAgICAgXG4gICAgICAgIHRyaWxoYVtpXS5jbGFzcyA9IFwic3RlcC1wcm9ncmVzc1wiOyAgICAgICAgXG4gICAgICAgIGlmKCAoaSsxKSA9PT0gdGhpcy5hY3RpdmUgJiYgIXRoaXMuY29tcGxldGUgKXtcbiAgICAgICAgICB0cmlsaGFbaV0uY2xhc3MgPSBcInN0ZXAtYWN0aXZlXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaWYoIHRoaXMuaW5hY3RpdmVzICYmICh0aGlzLmluYWN0aXZlcykubGVuZ3RoID4gMCApe1xuICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy5pbmFjdGl2ZXMpLmxlbmd0aDsgaSsrICl7XG4gICAgICAgIGNvbnN0IGljb24gPSB0aGlzLmluYWN0aXZlc1tpXTtcbiAgICAgICAgaWYoIGljb24gJiYgaWNvbiA+IDAgKXtcbiAgICAgICAgICB0cmlsaGFbKGljb24tMSldLnNlY29uZF9jbGFzcyA9IFwic3RlcC1pbmFjdGl2ZVwiOyAgICAgXG4gICAgICAgIH0gICAgXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50cmlsaGEgPSB0cmlsaGE7XG4gIH1cblxufVxuIiwiPHRhYmxlIGNsYXNzPVwidGNsb3VkLXVpLWxpbmUtc3RlcC1jaXJjbGUgdGFibGUtdHJpbGhhXCIgY2VsbHNwYWNpbmc9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCI+XG4gIDx0cj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmYXNlIG9mIHRyaWxoYTsgbGV0IGkgPSBpbmRleFwiID5cbiAgICAgIDx0ZCBjbGFzcz1cImFyZWEtY2lyY2xlXCI+XG4gICAgICAgIDwhLS0gPGkgY2xhc3M9XCJmYXMgZmEtY2lyY2xlIGljb24te3sgZmFzZS5jbGFzcyB9fSB7eyBmYXNlLnNlY29uZF9jbGFzcyB9fSBcIj48L2k+IC0tPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0Yy1jaXJjbGUgaWNvbi17eyBmYXNlLmNsYXNzIH19IHt7IGZhc2Uuc2Vjb25kX2NsYXNzIH19XCI+PC9kaXY+XG4gICAgICBcbiAgICAgIDwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJhcmVhLWxpbmVcIiAqbmdJZj1cIihpKzEpIDwgKHRyaWxoYSkubGVuZ3RoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLWxpbmUge3sgZmFzZS5jbGFzcyB9fVwiPjwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90cj5cbjwvdGFibGU+Il19