@yoozsoft/yoozsoft-ng 3.1.4 → 4.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 (154) hide show
  1. package/README.md +11 -4
  2. package/assets/js/UTIF.js-master/LICENSE +21 -0
  3. package/assets/js/UTIF.js-master/README.md +72 -0
  4. package/assets/js/UTIF.js-master/UTIF.js +1763 -0
  5. package/assets/js/UTIF.js-master/package-lock.json +13 -0
  6. package/assets/styles/ys-layout.scss +21 -47
  7. package/assets/styles/ys-preloader-9.scss +254 -0
  8. package/assets/styles/ys-preloader.scss +12 -12
  9. package/datepicker/src/models/date-time-format.d.ts +0 -1
  10. package/datepicker/src/ys-datepicker/ys-datepicker.component.d.ts +7 -1
  11. package/directives/src/password-match/ys-password-match.directive.d.ts +1 -1
  12. package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs +172 -162
  13. package/fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs.map +1 -1
  14. package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs +6 -10
  15. package/fesm2022/yoozsoft-yoozsoft-ng-directives.mjs.map +1 -1
  16. package/fesm2022/yoozsoft-yoozsoft-ng-file-upload.mjs +145 -0
  17. package/fesm2022/yoozsoft-yoozsoft-ng-file-upload.mjs.map +1 -0
  18. package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs +8 -15
  19. package/fesm2022/yoozsoft-yoozsoft-ng-footer.mjs.map +1 -1
  20. package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs +16 -9
  21. package/fesm2022/yoozsoft-yoozsoft-ng-loading.mjs.map +1 -1
  22. package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs +36 -31
  23. package/fesm2022/yoozsoft-yoozsoft-ng-navbar.mjs.map +1 -1
  24. package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs +6 -8
  25. package/fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs.map +1 -1
  26. package/fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs +90 -62
  27. package/fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs.map +1 -1
  28. package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs +17 -17
  29. package/fesm2022/yoozsoft-yoozsoft-ng-progress.mjs.map +1 -1
  30. package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs +64 -23
  31. package/fesm2022/yoozsoft-yoozsoft-ng-select.mjs.map +1 -1
  32. package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs +50 -57
  33. package/fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs.map +1 -1
  34. package/fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs +150 -0
  35. package/fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs.map +1 -0
  36. package/fesm2022/yoozsoft-yoozsoft-ng-toast.mjs +106 -0
  37. package/fesm2022/yoozsoft-yoozsoft-ng-toast.mjs.map +1 -0
  38. package/{toasts → file-upload}/index.d.ts +1 -1
  39. package/file-upload/public-api.d.ts +1 -0
  40. package/file-upload/src/ys-file-upload/ys-file-upload.component.d.ts +51 -0
  41. package/loading/src/ys-loading-mask/ys-loading-mask.component.d.ts +5 -2
  42. package/navbar/src/models/navbar-brand.d.ts +2 -0
  43. package/navbar/src/models/navbar-item.d.ts +1 -0
  44. package/navbar/src/ys-navbar/ys-navbar.component.d.ts +13 -12
  45. package/overlay/src/ys-overlay/ys-overlay.component.d.ts +1 -1
  46. package/package.json +23 -43
  47. package/password-strength/public-api.d.ts +1 -0
  48. package/password-strength/src/directives/index.d.ts +1 -0
  49. package/password-strength/src/directives/ys-password-strength.directive.d.ts +18 -0
  50. package/password-strength/src/models/strength-validation-feedback.d.ts +2 -0
  51. package/password-strength/src/ys-password-strength/ys-password-strength.component.d.ts +4 -5
  52. package/select/src/ys-select/ys-select.component.d.ts +14 -4
  53. package/sidebar/src/models/index.d.ts +0 -1
  54. package/sidebar/src/models/sidebar-item-active.d.ts +1 -0
  55. package/sidebar/src/models/sidebar-item.d.ts +1 -1
  56. package/sidebar/src/services/sidebar.service.d.ts +7 -10
  57. package/sidebar/src/ys-sidebar/ys-sidebar.component.d.ts +13 -15
  58. package/tiff-viewer/index.d.ts +5 -0
  59. package/tiff-viewer/public-api.d.ts +1 -0
  60. package/tiff-viewer/src/ys-tiff-viewer/ys-tiff-viewer.component.d.ts +48 -0
  61. package/{layout → toast}/index.d.ts +1 -1
  62. package/toast/public-api.d.ts +3 -0
  63. package/{toasts/src/ys-toasts/ys-toasts.component.d.ts → toast/src/ys-toast/ys-toast.component.d.ts} +4 -4
  64. package/assets/images/user.jpg +0 -0
  65. package/assets/styles/ys-layout-pin.scss +0 -153
  66. package/esm2022/datepicker/public-api.mjs +0 -12
  67. package/esm2022/datepicker/src/models/date-range.mjs +0 -2
  68. package/esm2022/datepicker/src/models/date-time-format.mjs +0 -4
  69. package/esm2022/datepicker/src/models/index.mjs +0 -4
  70. package/esm2022/datepicker/src/models/jalali-date.mjs +0 -74
  71. package/esm2022/datepicker/src/services/index.mjs +0 -3
  72. package/esm2022/datepicker/src/services/ys-date-parser-formatter.service.mjs +0 -32
  73. package/esm2022/datepicker/src/services/ys-datepicker-i18n.service.mjs +0 -66
  74. package/esm2022/datepicker/src/ys-datepicker/ys-datepicker.component.mjs +0 -108
  75. package/esm2022/datepicker/src/ys-datepicker-persian/ys-datepicker-persian.component.mjs +0 -127
  76. package/esm2022/datepicker/src/ys-datepicker-popup/ys-datepicker-popup.component.mjs +0 -130
  77. package/esm2022/datepicker/src/ys-datepicker-popup-persian/ys-datepicker-popup-persian.component.mjs +0 -136
  78. package/esm2022/datepicker/src/ys-datepicker-range-popup/ys-datepicker-range-popup.component.mjs +0 -157
  79. package/esm2022/datepicker/src/ys-datepicker-range-popup-persian/ys-datepicker-range-popup-persian.component.mjs +0 -167
  80. package/esm2022/datepicker/yoozsoft-yoozsoft-ng-datepicker.mjs +0 -5
  81. package/esm2022/directives/public-api.mjs +0 -6
  82. package/esm2022/directives/src/password-match/ys-password-match.directive.mjs +0 -49
  83. package/esm2022/directives/yoozsoft-yoozsoft-ng-directives.mjs +0 -5
  84. package/esm2022/footer/public-api.mjs +0 -6
  85. package/esm2022/footer/src/models/footer-brand.mjs +0 -2
  86. package/esm2022/footer/src/models/index.mjs +0 -3
  87. package/esm2022/footer/src/models/social-network.mjs +0 -2
  88. package/esm2022/footer/src/ys-footer/ys-footer.component.mjs +0 -32
  89. package/esm2022/footer/yoozsoft-yoozsoft-ng-footer.mjs +0 -5
  90. package/esm2022/layout/public-api.mjs +0 -5
  91. package/esm2022/layout/src/ys-layout/ys-layout.component.mjs +0 -72
  92. package/esm2022/layout/yoozsoft-yoozsoft-ng-layout.mjs +0 -5
  93. package/esm2022/loading/public-api.mjs +0 -5
  94. package/esm2022/loading/src/ys-loading-mask/ys-loading-mask.component.mjs +0 -20
  95. package/esm2022/loading/yoozsoft-yoozsoft-ng-loading.mjs +0 -5
  96. package/esm2022/navbar/public-api.mjs +0 -6
  97. package/esm2022/navbar/src/models/index.mjs +0 -3
  98. package/esm2022/navbar/src/models/navbar-brand.mjs +0 -2
  99. package/esm2022/navbar/src/models/navbar-item.mjs +0 -2
  100. package/esm2022/navbar/src/ys-navbar/ys-navbar.component.mjs +0 -86
  101. package/esm2022/navbar/yoozsoft-yoozsoft-ng-navbar.mjs +0 -5
  102. package/esm2022/overlay/public-api.mjs +0 -5
  103. package/esm2022/overlay/src/ys-overlay/ys-overlay.component.mjs +0 -20
  104. package/esm2022/overlay/yoozsoft-yoozsoft-ng-overlay.mjs +0 -5
  105. package/esm2022/password-strength/public-api.mjs +0 -6
  106. package/esm2022/password-strength/src/models/index.mjs +0 -5
  107. package/esm2022/password-strength/src/models/regx.mjs +0 -7
  108. package/esm2022/password-strength/src/models/strength-validation-control.mjs +0 -2
  109. package/esm2022/password-strength/src/models/strength-validation-feedback.mjs +0 -25
  110. package/esm2022/password-strength/src/models/strength-validation-option.mjs +0 -25
  111. package/esm2022/password-strength/src/ys-password-strength/ys-password-strength.component.mjs +0 -69
  112. package/esm2022/password-strength/yoozsoft-yoozsoft-ng-password-strength.mjs +0 -5
  113. package/esm2022/progress/public-api.mjs +0 -6
  114. package/esm2022/progress/src/services/index.mjs +0 -2
  115. package/esm2022/progress/src/services/progress.service.mjs +0 -18
  116. package/esm2022/progress/src/ys-progress/ys-progress.component.mjs +0 -32
  117. package/esm2022/progress/yoozsoft-yoozsoft-ng-progress.mjs +0 -5
  118. package/esm2022/public-api.mjs +0 -5
  119. package/esm2022/select/public-api.mjs +0 -5
  120. package/esm2022/select/src/ys-select/ys-select.component.mjs +0 -63
  121. package/esm2022/select/yoozsoft-yoozsoft-ng-select.mjs +0 -5
  122. package/esm2022/sidebar/public-api.mjs +0 -8
  123. package/esm2022/sidebar/src/models/index.mjs +0 -6
  124. package/esm2022/sidebar/src/models/sidebar-item-active.mjs +0 -2
  125. package/esm2022/sidebar/src/models/sidebar-item.mjs +0 -2
  126. package/esm2022/sidebar/src/models/sidebar-state.mjs +0 -2
  127. package/esm2022/sidebar/src/models/user-image.mjs +0 -2
  128. package/esm2022/sidebar/src/models/user-profile.mjs +0 -2
  129. package/esm2022/sidebar/src/services/index.mjs +0 -2
  130. package/esm2022/sidebar/src/services/sidebar.service.mjs +0 -39
  131. package/esm2022/sidebar/src/ys-sidebar/ys-sidebar.component.mjs +0 -68
  132. package/esm2022/sidebar/yoozsoft-yoozsoft-ng-sidebar.mjs +0 -5
  133. package/esm2022/toasts/public-api.mjs +0 -7
  134. package/esm2022/toasts/src/models/index.mjs +0 -3
  135. package/esm2022/toasts/src/models/toast-info.mjs +0 -2
  136. package/esm2022/toasts/src/models/toast-type.mjs +0 -8
  137. package/esm2022/toasts/src/services/index.mjs +0 -2
  138. package/esm2022/toasts/src/services/toast.service.mjs +0 -44
  139. package/esm2022/toasts/src/ys-toasts/ys-toasts.component.mjs +0 -53
  140. package/esm2022/toasts/yoozsoft-yoozsoft-ng-toasts.mjs +0 -5
  141. package/esm2022/yoozsoft-yoozsoft-ng.mjs +0 -5
  142. package/fesm2022/yoozsoft-yoozsoft-ng-layout.mjs +0 -83
  143. package/fesm2022/yoozsoft-yoozsoft-ng-layout.mjs.map +0 -1
  144. package/fesm2022/yoozsoft-yoozsoft-ng-toasts.mjs +0 -111
  145. package/fesm2022/yoozsoft-yoozsoft-ng-toasts.mjs.map +0 -1
  146. package/layout/public-api.d.ts +0 -1
  147. package/layout/src/ys-layout/ys-layout.component.d.ts +0 -24
  148. package/sidebar/src/models/sidebar-state.d.ts +0 -4
  149. package/toasts/public-api.d.ts +0 -3
  150. /package/{toasts → toast}/src/models/index.d.ts +0 -0
  151. /package/{toasts → toast}/src/models/toast-info.d.ts +0 -0
  152. /package/{toasts → toast}/src/models/toast-type.d.ts +0 -0
  153. /package/{toasts → toast}/src/services/index.d.ts +0 -0
  154. /package/{toasts → toast}/src/services/toast.service.d.ts +0 -0
@@ -1,86 +0,0 @@
1
- import { NgClass, NgFor, NgIf } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { ReactiveFormsModule } from '@angular/forms';
4
- import { RouterLink, RouterLinkActive } from '@angular/router';
5
- import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "@ng-bootstrap/ng-bootstrap";
9
- export class YsNavbarComponent {
10
- constructor(formBuilder) {
11
- this.formBuilder = formBuilder;
12
- this.id = 'navbar01';
13
- this.theme = 'dark';
14
- this.styleClass = 'navbar-expand-lg bg-primary';
15
- this.items = [];
16
- this.sideItems = [];
17
- this.search = false;
18
- this.searchLabel = 'Search';
19
- this.searchPlaceholder = 'Search';
20
- this.brand = null;
21
- this.sidebarToggler = false;
22
- this.sidebarToggled = false;
23
- // @Input() sidebarPinnerIconClass: string = "fa-solid fa-angle-left";
24
- this.sidebarTogglerIconClass = "fa-solid fa-angle-right";
25
- this.toggleSidebar = new EventEmitter();
26
- this.onSearch = new EventEmitter();
27
- this.searchForm = this.formBuilder.group({
28
- searchValue: ['']
29
- });
30
- }
31
- onToggleSidebar() {
32
- this.sidebarToggled = !this.sidebarToggled;
33
- this.toggleSidebar.emit(this.sidebarToggled);
34
- }
35
- submitSearch() {
36
- this.onSearch.emit(this.searchForm.get('searchValue')?.value);
37
- }
38
- isDropdown(item) {
39
- return item.items?.length > 0;
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsNavbarComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: YsNavbarComponent, isStandalone: true, selector: "ys-navbar", inputs: { id: "id", theme: "theme", styleClass: "styleClass", items: "items", sideItems: "sideItems", search: "search", searchLabel: "searchLabel", searchIconClass: "searchIconClass", searchPlaceholder: "searchPlaceholder", brand: "brand", sidebarToggler: "sidebarToggler", sidebarToggled: "sidebarToggled", sidebarTogglerIconClass: "sidebarTogglerIconClass" }, outputs: { toggleSidebar: "toggleSidebar", onSearch: "onSearch" }, ngImport: i0, template: "<nav class=\"navbar\" [ngClass]=\"styleClass\" [attr.data-bs-theme]=\"theme\">\r\n <div class=\"container-fluid\">\r\n <button *ngIf=\"sidebarToggler\" class=\"sidebar-toggler me-2\" type=\"button\" (click)=\"onToggleSidebar()\">\r\n <i class=\"{{sidebarTogglerIconClass}} sidebar-toggler-icon p-1\" [ngClass]=\"{'toggled': sidebarToggled}\"></i>\r\n </button>\r\n\r\n <a class=\"navbar-brand\" [ngClass]=\"{'me-auto': items.length <= 0}\" href=\"{{brand?.href}}\">\r\n <img *ngIf=\"brand?.src\" src=\"{{brand?.src}}\" alt=\"{{brand?.alt}}\" width=\"30\" height=\"24\">\r\n {{brand?.label}}\r\n </a>\r\n <button *ngIf=\"items.length > 0 || sideItems.length > 0 || search\" class=\"navbar-toggler ms-auto\" type=\"button\"\r\n data-bs-toggle=\"collapse\" [attr.data-bs-target]=\"'#' + id\" [attr.aria-controls]=\"id\" aria-expanded=\"false\"\r\n aria-label=\"Toggle navigation\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n\r\n <div class=\"collapse navbar-collapse\" [id]=\"id\">\r\n\r\n <ul *ngIf=\"items.length > 0\" class=\"navbar-nav me-auto\">\r\n <ng-container *ngFor=\"let navItem of items\">\r\n <li *ngIf=\"!isDropdown(navItem)\" class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]=\"navItem.routerLink\" [routerLinkActive]=\"['active']\"\r\n ngbTooltip=\"{{navItem.tooltipLabel}}\">\r\n <i *ngIf=\"navItem.iconClass\" class=\"pe-2 {{navItem.iconClass}}\"></i>\r\n {{navItem.label}}\r\n <span class=\"visually-hidden\">(current)</span>\r\n </a>\r\n </li>\r\n\r\n <li *ngIf=\"isDropdown(navItem)\" class=\"nav-item dropdown\">\r\n <a class=\"nav-link dropdown-toggle\" ngbTooltip=\"{{navItem.tooltipLabel}}\" data-bs-toggle=\"dropdown\"\r\n role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n <i *ngIf=\"navItem.iconClass\" class=\"pe-2 {{navItem.iconClass}}\"></i>\r\n <span *ngIf=\"navItem.label\">{{navItem.label}}</span>\r\n </a>\r\n <div class=\"dropdown-menu px-2\">\r\n <ng-container *ngFor=\"let navSubItem of navItem.items\">\r\n\r\n <a *ngIf=\"!navSubItem.isDivider\" class=\"dropdown-item rounded\" [routerLink]=\"navSubItem.routerLink\"\r\n [routerLinkActive]=\"['active']\" ngbTooltip=\"{{navSubItem.tooltipLabel}}\">\r\n <i *ngIf=\"navSubItem.iconClass\" class=\"me-2 {{navSubItem.iconClass}}\"></i>\r\n <span *ngIf=\"navSubItem.label\">{{navSubItem.label}}</span>\r\n </a>\r\n\r\n <div *ngIf=\"navSubItem.isDivider\" class=\"dropdown-divider\"></div>\r\n\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n\r\n <ul *ngIf=\"sideItems.length > 0\" class=\"navbar-nav flex-row ms-auto nav-side\" [ngClass]=\"{'me-md-2': search}\">\r\n <ng-container *ngFor=\"let sideItem of sideItems\">\r\n\r\n <li *ngIf=\"!isDropdown(sideItem)\" class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]=\"sideItem.routerLink\" [routerLinkActive]=\"['active']\"\r\n (click)=\"sideItem.onClick && sideItem.onClick($event)\" role=\"button\"\r\n ngbTooltip=\"{{sideItem.tooltipLabel}}\">\r\n <i *ngIf=\"sideItem.iconClass\" class=\"pe-2 {{sideItem.iconClass}}\"></i>\r\n <span *ngIf=\"sideItem.label\">{{sideItem.label}}</span>\r\n </a>\r\n </li>\r\n\r\n <li *ngIf=\"isDropdown(sideItem)\" class=\"nav-item dropdown\">\r\n <a class=\"nav-link dropdown-toggle\" ngbTooltip=\"{{sideItem.tooltipLabel}}\" data-bs-toggle=\"dropdown\"\r\n data-bs-display=\"static\" aria-expanded=\"false\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n <i *ngIf=\"sideItem.iconClass\" class=\"pe-2 {{sideItem.iconClass}}\"></i>\r\n <span *ngIf=\"sideItem.label\">{{sideItem.label}}</span>\r\n </a>\r\n <div class=\"dropdown-menu px-2 dropdown-menu-end\">\r\n <ng-container *ngFor=\"let sideItemSubItem of sideItem.items\">\r\n\r\n <a *ngIf=\"!sideItemSubItem.isDivider\" class=\"dropdown-item text-center rounded\"\r\n [routerLink]=\"sideItemSubItem.routerLink\" [routerLinkActive]=\"['active']\"\r\n (click)=\"sideItemSubItem.onClick && sideItemSubItem.onClick($event)\" role=\"button\"\r\n ngbTooltip=\"{{sideItemSubItem.tooltipLabel}}\">\r\n <i *ngIf=\"sideItemSubItem.iconClass\" class=\"me-2 {{sideItemSubItem.iconClass}}\"></i>\r\n <span *ngIf=\"sideItemSubItem.label\">{{sideItemSubItem.label}}</span>\r\n </a>\r\n\r\n <div *ngIf=\"sideItemSubItem.isDivider\" class=\"dropdown-divider\"></div>\r\n\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <form *ngIf=\"search\" class=\"d-flex mt-2 mt-md-0\" [ngClass]=\"{'ms-auto': sideItems.length <= 0}\"\r\n [formGroup]=\"searchForm\" (submit)=\"submitSearch()\">\r\n <input class=\"form-control me-sm-2\" type=\"search\" placeholder=\"{{searchPlaceholder}}\"\r\n formControlName=\"searchValue\">\r\n <button class=\"btn btn-secondary my-2 my-sm-0\" type=\"submit\">\r\n <i *ngIf=\"searchIconClass\" class=\"{{searchIconClass}}\"></i>\r\n <span *ngIf=\"searchLabel\">{{searchLabel}}</span>\r\n </button>\r\n </form>\r\n </div>\r\n </div>\r\n</nav>", styles: [".sidebar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}.sidebar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.sidebar-toggler-icon.toggled{-webkit-transform:scaleX(-1);transform:scaleX(-1)}@media (max-width: 768px){.nav-side .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}}::ng-deep html[dir=rtl] .sidebar-toggler-icon{-webkit-transform:scaleX(-1);transform:scaleX(-1)}::ng-deep html[dir=rtl] .sidebar-toggler-icon.toggled{-webkit-transform:scaleX(1);transform:scaleX(1)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }] }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsNavbarComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: 'ys-navbar', standalone: true, imports: [
47
- NgIf,
48
- NgFor,
49
- NgClass,
50
- RouterLink,
51
- RouterLinkActive,
52
- ReactiveFormsModule,
53
- NgbTooltipModule
54
- ], template: "<nav class=\"navbar\" [ngClass]=\"styleClass\" [attr.data-bs-theme]=\"theme\">\r\n <div class=\"container-fluid\">\r\n <button *ngIf=\"sidebarToggler\" class=\"sidebar-toggler me-2\" type=\"button\" (click)=\"onToggleSidebar()\">\r\n <i class=\"{{sidebarTogglerIconClass}} sidebar-toggler-icon p-1\" [ngClass]=\"{'toggled': sidebarToggled}\"></i>\r\n </button>\r\n\r\n <a class=\"navbar-brand\" [ngClass]=\"{'me-auto': items.length <= 0}\" href=\"{{brand?.href}}\">\r\n <img *ngIf=\"brand?.src\" src=\"{{brand?.src}}\" alt=\"{{brand?.alt}}\" width=\"30\" height=\"24\">\r\n {{brand?.label}}\r\n </a>\r\n <button *ngIf=\"items.length > 0 || sideItems.length > 0 || search\" class=\"navbar-toggler ms-auto\" type=\"button\"\r\n data-bs-toggle=\"collapse\" [attr.data-bs-target]=\"'#' + id\" [attr.aria-controls]=\"id\" aria-expanded=\"false\"\r\n aria-label=\"Toggle navigation\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n\r\n <div class=\"collapse navbar-collapse\" [id]=\"id\">\r\n\r\n <ul *ngIf=\"items.length > 0\" class=\"navbar-nav me-auto\">\r\n <ng-container *ngFor=\"let navItem of items\">\r\n <li *ngIf=\"!isDropdown(navItem)\" class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]=\"navItem.routerLink\" [routerLinkActive]=\"['active']\"\r\n ngbTooltip=\"{{navItem.tooltipLabel}}\">\r\n <i *ngIf=\"navItem.iconClass\" class=\"pe-2 {{navItem.iconClass}}\"></i>\r\n {{navItem.label}}\r\n <span class=\"visually-hidden\">(current)</span>\r\n </a>\r\n </li>\r\n\r\n <li *ngIf=\"isDropdown(navItem)\" class=\"nav-item dropdown\">\r\n <a class=\"nav-link dropdown-toggle\" ngbTooltip=\"{{navItem.tooltipLabel}}\" data-bs-toggle=\"dropdown\"\r\n role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n <i *ngIf=\"navItem.iconClass\" class=\"pe-2 {{navItem.iconClass}}\"></i>\r\n <span *ngIf=\"navItem.label\">{{navItem.label}}</span>\r\n </a>\r\n <div class=\"dropdown-menu px-2\">\r\n <ng-container *ngFor=\"let navSubItem of navItem.items\">\r\n\r\n <a *ngIf=\"!navSubItem.isDivider\" class=\"dropdown-item rounded\" [routerLink]=\"navSubItem.routerLink\"\r\n [routerLinkActive]=\"['active']\" ngbTooltip=\"{{navSubItem.tooltipLabel}}\">\r\n <i *ngIf=\"navSubItem.iconClass\" class=\"me-2 {{navSubItem.iconClass}}\"></i>\r\n <span *ngIf=\"navSubItem.label\">{{navSubItem.label}}</span>\r\n </a>\r\n\r\n <div *ngIf=\"navSubItem.isDivider\" class=\"dropdown-divider\"></div>\r\n\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n\r\n <ul *ngIf=\"sideItems.length > 0\" class=\"navbar-nav flex-row ms-auto nav-side\" [ngClass]=\"{'me-md-2': search}\">\r\n <ng-container *ngFor=\"let sideItem of sideItems\">\r\n\r\n <li *ngIf=\"!isDropdown(sideItem)\" class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]=\"sideItem.routerLink\" [routerLinkActive]=\"['active']\"\r\n (click)=\"sideItem.onClick && sideItem.onClick($event)\" role=\"button\"\r\n ngbTooltip=\"{{sideItem.tooltipLabel}}\">\r\n <i *ngIf=\"sideItem.iconClass\" class=\"pe-2 {{sideItem.iconClass}}\"></i>\r\n <span *ngIf=\"sideItem.label\">{{sideItem.label}}</span>\r\n </a>\r\n </li>\r\n\r\n <li *ngIf=\"isDropdown(sideItem)\" class=\"nav-item dropdown\">\r\n <a class=\"nav-link dropdown-toggle\" ngbTooltip=\"{{sideItem.tooltipLabel}}\" data-bs-toggle=\"dropdown\"\r\n data-bs-display=\"static\" aria-expanded=\"false\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n <i *ngIf=\"sideItem.iconClass\" class=\"pe-2 {{sideItem.iconClass}}\"></i>\r\n <span *ngIf=\"sideItem.label\">{{sideItem.label}}</span>\r\n </a>\r\n <div class=\"dropdown-menu px-2 dropdown-menu-end\">\r\n <ng-container *ngFor=\"let sideItemSubItem of sideItem.items\">\r\n\r\n <a *ngIf=\"!sideItemSubItem.isDivider\" class=\"dropdown-item text-center rounded\"\r\n [routerLink]=\"sideItemSubItem.routerLink\" [routerLinkActive]=\"['active']\"\r\n (click)=\"sideItemSubItem.onClick && sideItemSubItem.onClick($event)\" role=\"button\"\r\n ngbTooltip=\"{{sideItemSubItem.tooltipLabel}}\">\r\n <i *ngIf=\"sideItemSubItem.iconClass\" class=\"me-2 {{sideItemSubItem.iconClass}}\"></i>\r\n <span *ngIf=\"sideItemSubItem.label\">{{sideItemSubItem.label}}</span>\r\n </a>\r\n\r\n <div *ngIf=\"sideItemSubItem.isDivider\" class=\"dropdown-divider\"></div>\r\n\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <form *ngIf=\"search\" class=\"d-flex mt-2 mt-md-0\" [ngClass]=\"{'ms-auto': sideItems.length <= 0}\"\r\n [formGroup]=\"searchForm\" (submit)=\"submitSearch()\">\r\n <input class=\"form-control me-sm-2\" type=\"search\" placeholder=\"{{searchPlaceholder}}\"\r\n formControlName=\"searchValue\">\r\n <button class=\"btn btn-secondary my-2 my-sm-0\" type=\"submit\">\r\n <i *ngIf=\"searchIconClass\" class=\"{{searchIconClass}}\"></i>\r\n <span *ngIf=\"searchLabel\">{{searchLabel}}</span>\r\n </button>\r\n </form>\r\n </div>\r\n </div>\r\n</nav>", styles: [".sidebar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}.sidebar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.sidebar-toggler-icon.toggled{-webkit-transform:scaleX(-1);transform:scaleX(-1)}@media (max-width: 768px){.nav-side .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}}::ng-deep html[dir=rtl] .sidebar-toggler-icon{-webkit-transform:scaleX(-1);transform:scaleX(-1)}::ng-deep html[dir=rtl] .sidebar-toggler-icon.toggled{-webkit-transform:scaleX(1);transform:scaleX(1)}\n"] }]
55
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { id: [{
56
- type: Input
57
- }], theme: [{
58
- type: Input
59
- }], styleClass: [{
60
- type: Input
61
- }], items: [{
62
- type: Input
63
- }], sideItems: [{
64
- type: Input
65
- }], search: [{
66
- type: Input
67
- }], searchLabel: [{
68
- type: Input
69
- }], searchIconClass: [{
70
- type: Input
71
- }], searchPlaceholder: [{
72
- type: Input
73
- }], brand: [{
74
- type: Input
75
- }], sidebarToggler: [{
76
- type: Input
77
- }], sidebarToggled: [{
78
- type: Input
79
- }], sidebarTogglerIconClass: [{
80
- type: Input
81
- }], toggleSidebar: [{
82
- type: Output
83
- }], onSearch: [{
84
- type: Output
85
- }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtbmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL25hdmJhci9zcmMveXMtbmF2YmFyL3lzLW5hdmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9uYXZiYXIvc3JjL3lzLW5hdmJhci95cy1uYXZiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQTBCLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBa0I5RCxNQUFNLE9BQU8saUJBQWlCO0lBNEI1QixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXhCbkMsT0FBRSxHQUFXLFVBQVUsQ0FBQTtRQUN2QixVQUFLLEdBQVcsTUFBTSxDQUFDO1FBQ3ZCLGVBQVUsR0FBVyw2QkFBNkIsQ0FBQztRQUVuRCxVQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQUU3QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGdCQUFXLEdBQWtCLFFBQVEsQ0FBQztRQUV0QyxzQkFBaUIsR0FBWSxRQUFRLENBQUM7UUFFdEMsVUFBSyxHQUF1QixJQUFJLENBQUM7UUFFakMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFekMsc0VBQXNFO1FBQzdELDRCQUF1QixHQUFXLHlCQUF5QixDQUFDO1FBRTNELGtCQUFhLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUQsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDdkMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDOzhHQTdDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixrZkN0QjlCLG1tTEFtR00sZ2pDRHhGRixJQUFJLDZGQUNKLEtBQUssbUhBQ0wsT0FBTyxvRkFDUCxVQUFVLG9PQUNWLGdCQUFnQiw2TUFDaEIsbUJBQW1CLDQ4QkFDbkIsZ0JBQWdCOzsyRkFLUCxpQkFBaUI7a0JBZjdCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLEtBQUs7d0JBQ0wsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7cUJBQ2pCO2dGQVFRLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBOZ2JUb29sdGlwTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBOYXZiYXJCcmFuZCwgTmF2YmFySXRlbSB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3lzLW5hdmJhcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0lmLFxyXG4gICAgTmdGb3IsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgUm91dGVyTGluayxcclxuICAgIFJvdXRlckxpbmtBY3RpdmUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTmdiVG9vbHRpcE1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3lzLW5hdmJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4veXMtbmF2YmFyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFlzTmF2YmFyQ29tcG9uZW50IHtcclxuXHJcbiAgc2VhcmNoRm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBASW5wdXQoKSBpZDogc3RyaW5nID0gJ25hdmJhcjAxJ1xyXG4gIEBJbnB1dCgpIHRoZW1lOiBzdHJpbmcgPSAnZGFyayc7XHJcbiAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nID0gJ25hdmJhci1leHBhbmQtbGcgYmctcHJpbWFyeSc7XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1zOiBOYXZiYXJJdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSBzaWRlSXRlbXM6IE5hdmJhckl0ZW1bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBzZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hMYWJlbDogc3RyaW5nIHwgbnVsbCA9ICdTZWFyY2gnO1xyXG4gIEBJbnB1dCgpIHNlYXJjaEljb25DbGFzcz86IHN0cmluZztcclxuICBASW5wdXQoKSBzZWFyY2hQbGFjZWhvbGRlcj86IHN0cmluZyA9ICdTZWFyY2gnO1xyXG5cclxuICBASW5wdXQoKSBicmFuZDogTmF2YmFyQnJhbmQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgc2lkZWJhclRvZ2dsZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaWRlYmFyVG9nZ2xlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBASW5wdXQoKSBzaWRlYmFyUGlubmVySWNvbkNsYXNzOiBzdHJpbmcgPSBcImZhLXNvbGlkIGZhLWFuZ2xlLWxlZnRcIjtcclxuICBASW5wdXQoKSBzaWRlYmFyVG9nZ2xlckljb25DbGFzczogc3RyaW5nID0gXCJmYS1zb2xpZCBmYS1hbmdsZS1yaWdodFwiO1xyXG5cclxuICBAT3V0cHV0KCkgdG9nZ2xlU2lkZWJhcjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25TZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIHNlYXJjaFZhbHVlOiBbJyddXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uVG9nZ2xlU2lkZWJhcigpIHtcclxuICAgIHRoaXMuc2lkZWJhclRvZ2dsZWQgPSAhdGhpcy5zaWRlYmFyVG9nZ2xlZDtcclxuICAgIHRoaXMudG9nZ2xlU2lkZWJhci5lbWl0KHRoaXMuc2lkZWJhclRvZ2dsZWQpO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0U2VhcmNoKCkge1xyXG4gICAgdGhpcy5vblNlYXJjaC5lbWl0KHRoaXMuc2VhcmNoRm9ybS5nZXQoJ3NlYXJjaFZhbHVlJyk/LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIGlzRHJvcGRvd24oaXRlbTogTmF2YmFySXRlbSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaXRlbXM/Lmxlbmd0aCEgPiAwO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5hdiBjbGFzcz1cIm5hdmJhclwiIFtuZ0NsYXNzXT1cInN0eWxlQ2xhc3NcIiBbYXR0ci5kYXRhLWJzLXRoZW1lXT1cInRoZW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cInNpZGViYXJUb2dnbGVyXCIgY2xhc3M9XCJzaWRlYmFyLXRvZ2dsZXIgbWUtMlwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25Ub2dnbGVTaWRlYmFyKClcIj5cclxuICAgICAgPGkgY2xhc3M9XCJ7e3NpZGViYXJUb2dnbGVySWNvbkNsYXNzfX0gc2lkZWJhci10b2dnbGVyLWljb24gcC0xXCIgW25nQ2xhc3NdPVwieyd0b2dnbGVkJzogc2lkZWJhclRvZ2dsZWR9XCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGEgY2xhc3M9XCJuYXZiYXItYnJhbmRcIiBbbmdDbGFzc109XCJ7J21lLWF1dG8nOiBpdGVtcy5sZW5ndGggPD0gMH1cIiBocmVmPVwie3ticmFuZD8uaHJlZn19XCI+XHJcbiAgICAgIDxpbWcgKm5nSWY9XCJicmFuZD8uc3JjXCIgc3JjPVwie3ticmFuZD8uc3JjfX1cIiBhbHQ9XCJ7e2JyYW5kPy5hbHR9fVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIyNFwiPlxyXG4gICAgICB7e2JyYW5kPy5sYWJlbH19XHJcbiAgICA8L2E+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiaXRlbXMubGVuZ3RoID4gMCB8fCBzaWRlSXRlbXMubGVuZ3RoID4gMCB8fCBzZWFyY2hcIiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIG1zLWF1dG9cIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiIFthdHRyLmRhdGEtYnMtdGFyZ2V0XT1cIicjJyArIGlkXCIgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZFwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlXCIgW2lkXT1cImlkXCI+XHJcblxyXG4gICAgICA8dWwgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJuYXZiYXItbmF2IG1lLWF1dG9cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBuYXZJdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgICAgICA8bGkgKm5nSWY9XCIhaXNEcm9wZG93bihuYXZJdGVtKVwiIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJuYXYtbGlua1wiIFtyb3V0ZXJMaW5rXT1cIm5hdkl0ZW0ucm91dGVyTGlua1wiIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIlsnYWN0aXZlJ11cIlxyXG4gICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJ7e25hdkl0ZW0udG9vbHRpcExhYmVsfX1cIj5cclxuICAgICAgICAgICAgICA8aSAqbmdJZj1cIm5hdkl0ZW0uaWNvbkNsYXNzXCIgY2xhc3M9XCJwZS0yIHt7bmF2SXRlbS5pY29uQ2xhc3N9fVwiPjwvaT5cclxuICAgICAgICAgICAgICB7e25hdkl0ZW0ubGFiZWx9fVxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+KGN1cnJlbnQpPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgIDxsaSAqbmdJZj1cImlzRHJvcGRvd24obmF2SXRlbSlcIiBjbGFzcz1cIm5hdi1pdGVtIGRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmsgZHJvcGRvd24tdG9nZ2xlXCIgbmdiVG9vbHRpcD1cInt7bmF2SXRlbS50b29sdGlwTGFiZWx9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIlxyXG4gICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgIDxpICpuZ0lmPVwibmF2SXRlbS5pY29uQ2xhc3NcIiBjbGFzcz1cInBlLTIge3tuYXZJdGVtLmljb25DbGFzc319XCI+PC9pPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibmF2SXRlbS5sYWJlbFwiPnt7bmF2SXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IHB4LTJcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBuYXZTdWJJdGVtIG9mIG5hdkl0ZW0uaXRlbXNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIiFuYXZTdWJJdGVtLmlzRGl2aWRlclwiIGNsYXNzPVwiZHJvcGRvd24taXRlbSByb3VuZGVkXCIgW3JvdXRlckxpbmtdPVwibmF2U3ViSXRlbS5yb3V0ZXJMaW5rXCJcclxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVdPVwiWydhY3RpdmUnXVwiIG5nYlRvb2x0aXA9XCJ7e25hdlN1Ykl0ZW0udG9vbHRpcExhYmVsfX1cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJuYXZTdWJJdGVtLmljb25DbGFzc1wiIGNsYXNzPVwibWUtMiB7e25hdlN1Ykl0ZW0uaWNvbkNsYXNzfX1cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibmF2U3ViSXRlbS5sYWJlbFwiPnt7bmF2U3ViSXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJuYXZTdWJJdGVtLmlzRGl2aWRlclwiIGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3VsPlxyXG5cclxuICAgICAgPHVsICpuZ0lmPVwic2lkZUl0ZW1zLmxlbmd0aCA+IDBcIiBjbGFzcz1cIm5hdmJhci1uYXYgZmxleC1yb3cgbXMtYXV0byBuYXYtc2lkZVwiIFtuZ0NsYXNzXT1cInsnbWUtbWQtMic6IHNlYXJjaH1cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzaWRlSXRlbSBvZiBzaWRlSXRlbXNcIj5cclxuXHJcbiAgICAgICAgICA8bGkgKm5nSWY9XCIhaXNEcm9wZG93bihzaWRlSXRlbSlcIiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbcm91dGVyTGlua109XCJzaWRlSXRlbS5yb3V0ZXJMaW5rXCIgW3JvdXRlckxpbmtBY3RpdmVdPVwiWydhY3RpdmUnXVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNpZGVJdGVtLm9uQ2xpY2sgJiYgc2lkZUl0ZW0ub25DbGljaygkZXZlbnQpXCIgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cInt7c2lkZUl0ZW0udG9vbHRpcExhYmVsfX1cIj5cclxuICAgICAgICAgICAgICA8aSAqbmdJZj1cInNpZGVJdGVtLmljb25DbGFzc1wiIGNsYXNzPVwicGUtMiB7e3NpZGVJdGVtLmljb25DbGFzc319XCI+PC9pPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2lkZUl0ZW0ubGFiZWxcIj57e3NpZGVJdGVtLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgPGxpICpuZ0lmPVwiaXNEcm9wZG93bihzaWRlSXRlbSlcIiBjbGFzcz1cIm5hdi1pdGVtIGRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmsgZHJvcGRvd24tdG9nZ2xlXCIgbmdiVG9vbHRpcD1cInt7c2lkZUl0ZW0udG9vbHRpcExhYmVsfX1cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCJcclxuICAgICAgICAgICAgICBkYXRhLWJzLWRpc3BsYXk9XCJzdGF0aWNcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICA8aSAqbmdJZj1cInNpZGVJdGVtLmljb25DbGFzc1wiIGNsYXNzPVwicGUtMiB7e3NpZGVJdGVtLmljb25DbGFzc319XCI+PC9pPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2lkZUl0ZW0ubGFiZWxcIj57e3NpZGVJdGVtLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgcHgtMiBkcm9wZG93bi1tZW51LWVuZFwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNpZGVJdGVtU3ViSXRlbSBvZiBzaWRlSXRlbS5pdGVtc1wiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiIXNpZGVJdGVtU3ViSXRlbS5pc0RpdmlkZXJcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gdGV4dC1jZW50ZXIgcm91bmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInNpZGVJdGVtU3ViSXRlbS5yb3V0ZXJMaW5rXCIgW3JvdXRlckxpbmtBY3RpdmVdPVwiWydhY3RpdmUnXVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaWRlSXRlbVN1Ykl0ZW0ub25DbGljayAmJiBzaWRlSXRlbVN1Ykl0ZW0ub25DbGljaygkZXZlbnQpXCIgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJ7e3NpZGVJdGVtU3ViSXRlbS50b29sdGlwTGFiZWx9fVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInNpZGVJdGVtU3ViSXRlbS5pY29uQ2xhc3NcIiBjbGFzcz1cIm1lLTIge3tzaWRlSXRlbVN1Ykl0ZW0uaWNvbkNsYXNzfX1cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2lkZUl0ZW1TdWJJdGVtLmxhYmVsXCI+e3tzaWRlSXRlbVN1Ykl0ZW0ubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2lkZUl0ZW1TdWJJdGVtLmlzRGl2aWRlclwiIGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgICA8Zm9ybSAqbmdJZj1cInNlYXJjaFwiIGNsYXNzPVwiZC1mbGV4IG10LTIgbXQtbWQtMFwiIFtuZ0NsYXNzXT1cInsnbXMtYXV0byc6IHNpZGVJdGVtcy5sZW5ndGggPD0gMH1cIlxyXG4gICAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiIChzdWJtaXQpPVwic3VibWl0U2VhcmNoKClcIj5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtc20tMlwiIHR5cGU9XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cInt7c2VhcmNoUGxhY2Vob2xkZXJ9fVwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hWYWx1ZVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBteS0yIG15LXNtLTBcIiB0eXBlPVwic3VibWl0XCI+XHJcbiAgICAgICAgICA8aSAqbmdJZj1cInNlYXJjaEljb25DbGFzc1wiIGNsYXNzPVwie3tzZWFyY2hJY29uQ2xhc3N9fVwiPjwvaT5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VhcmNoTGFiZWxcIj57e3NlYXJjaExhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25hdj4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW9venNvZnQteW9venNvZnQtbmctbmF2YmFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveW9venNvZnQveW9venNvZnQtbmcvbmF2YmFyL3lvb3pzb2Z0LXlvb3pzb2Z0LW5nLW5hdmJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of ys-overlay
3
- */
4
- export * from './src/ys-overlay/ys-overlay.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL292ZXJsYXkvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgeXMtb3ZlcmxheVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3lzLW92ZXJsYXkveXMtb3ZlcmxheS5jb21wb25lbnQnO1xyXG5cclxuIl19
@@ -1,20 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class YsOverlayComponent {
5
- constructor() {
6
- this.show = false;
7
- this.onClick = new EventEmitter();
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: YsOverlayComponent, isStandalone: true, selector: "ys-overlay", inputs: { show: "show" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div class=\"ys-overlay bg-dark\" (click)=\"onClick.emit($event)\" [ngClass]=\"{'show': show}\"></div>", styles: ["@-webkit-keyframes fadeIn-overlay{0%{opacity:0}to{opacity:.5}}@keyframes fadeIn-overlay{0%{opacity:0}to{opacity:.5}}.ys-overlay{position:fixed;inset:0;z-index:100;opacity:.5;display:none;-webkit-animation:fadeIn-overlay .5s;animation:fadeIn-overlay .5s}.ys-overlay.show{display:block}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsOverlayComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'ys-overlay', standalone: true, imports: [NgClass], template: "<div class=\"ys-overlay bg-dark\" (click)=\"onClick.emit($event)\" [ngClass]=\"{'show': show}\"></div>", styles: ["@-webkit-keyframes fadeIn-overlay{0%{opacity:0}to{opacity:.5}}@keyframes fadeIn-overlay{0%{opacity:0}to{opacity:.5}}.ys-overlay{position:fixed;inset:0;z-index:100;opacity:.5;display:none;-webkit-animation:fadeIn-overlay .5s;animation:fadeIn-overlay .5s}.ys-overlay.show{display:block}\n"] }]
15
- }], propDecorators: { show: [{
16
- type: Input
17
- }], onClick: [{
18
- type: Output
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtb3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9vdmVybGF5L3NyYy95cy1vdmVybGF5L3lzLW92ZXJsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveW9venNvZnQveW9venNvZnQtbmcvb3ZlcmxheS9zcmMveXMtb3ZlcmxheS95cy1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVN2RSxNQUFNLE9BQU8sa0JBQWtCO0lBUC9CO1FBUVcsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUNyQixZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7S0FDM0Q7OEdBSFksa0JBQWtCO2tHQUFsQixrQkFBa0IsaUlDVi9CLHdHQUFnRyx3VkRNcEYsT0FBTzs7MkZBSU4sa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUM7OEJBS1QsSUFBSTtzQkFBWixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneXMtb3ZlcmxheScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdDbGFzc10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3lzLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3lzLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWXNPdmVybGF5Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ5cy1vdmVybGF5IGJnLWRhcmtcIiAoY2xpY2spPVwib25DbGljay5lbWl0KCRldmVudClcIiBbbmdDbGFzc109XCJ7J3Nob3cnOiBzaG93fVwiPjwvZGl2PiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW9venNvZnQteW9venNvZnQtbmctb3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL292ZXJsYXkveW9venNvZnQteW9venNvZnQtbmctb3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,6 +0,0 @@
1
- /*
2
- * Public API Surface of ys-password-strength
3
- */
4
- export * from './src/models';
5
- export * from './src/ys-password-strength/ys-password-strength.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3Bhc3N3b3JkLXN0cmVuZ3RoL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDJEQUEyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHlzLXBhc3N3b3JkLXN0cmVuZ3RoXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMveXMtcGFzc3dvcmQtc3RyZW5ndGgveXMtcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50JztcclxuXHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './regx';
2
- export * from './strength-validation-control';
3
- export * from './strength-validation-feedback';
4
- export * from './strength-validation-option';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9wYXNzd29yZC1zdHJlbmd0aC9zcmMvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZWd4JztcclxuZXhwb3J0ICogZnJvbSAnLi9zdHJlbmd0aC12YWxpZGF0aW9uLWNvbnRyb2wnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmVuZ3RoLXZhbGlkYXRpb24tZmVlZGJhY2snO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmVuZ3RoLXZhbGlkYXRpb24tb3B0aW9uJztcclxuIl19
@@ -1,7 +0,0 @@
1
- export const StrongPasswordRegx = /^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=\D*\d)(?=.*[!@#$%^&*]).{8,}$/;
2
- export const UppercaseRegx = /^.*[A-Z]/;
3
- export const LowercaseRegx = /^.*[a-z]/;
4
- export const DigitRegx = /^.*[0-9].*/;
5
- export const NonAlphanumericRegx = /^.*[!@#$%^&*]/;
6
- // export const MinLengthRegx: RegExp = /^.{8,}/;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVneC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy9tb2RlbHMvcmVneC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBVyxrRUFBa0UsQ0FBQztBQUM3RyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQVcsVUFBVSxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVyxVQUFVLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFXLFlBQVksQ0FBQztBQUM5QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBVyxlQUFlLENBQUM7QUFDM0QsaURBQWlEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFN0cm9uZ1Bhc3N3b3JkUmVneDogUmVnRXhwID0gL14oPz1bXkEtWl0qW0EtWl0pKD89W15hLXpdKlthLXpdKSg/PVxcRCpcXGQpKD89LipbIUAjJCVeJipdKS57OCx9JC87XHJcbmV4cG9ydCBjb25zdCBVcHBlcmNhc2VSZWd4OiBSZWdFeHAgPSAvXi4qW0EtWl0vO1xyXG5leHBvcnQgY29uc3QgTG93ZXJjYXNlUmVneDogUmVnRXhwID0gL14uKlthLXpdLztcclxuZXhwb3J0IGNvbnN0IERpZ2l0UmVneDogUmVnRXhwID0gL14uKlswLTldLiovO1xyXG5leHBvcnQgY29uc3QgTm9uQWxwaGFudW1lcmljUmVneDogUmVnRXhwID0gL14uKlshQCMkJV4mKl0vO1xyXG4vLyBleHBvcnQgY29uc3QgTWluTGVuZ3RoUmVneDogUmVnRXhwID0gL14uezgsfS87Il19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZW5ndGgtdmFsaWRhdGlvbi1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveW9venNvZnQveW9venNvZnQtbmcvcGFzc3dvcmQtc3RyZW5ndGgvc3JjL21vZGVscy9zdHJlbmd0aC12YWxpZGF0aW9uLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTdHJlbmd0aFZhbGlkYXRpb25PcHRpb24gfSBmcm9tIFwiLi9zdHJlbmd0aC12YWxpZGF0aW9uLW9wdGlvblwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdHJlbmd0aFZhbGlkYXRpb25Db250cm9sIHtcclxuICAgIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcclxuICAgIG9wdGlvbnM/OiBTdHJlbmd0aFZhbGlkYXRpb25PcHRpb247XHJcbn0iXX0=
@@ -1,25 +0,0 @@
1
- export class StrengthValidationFeedback {
2
- constructor(options) {
3
- this.uppercase = 'At least one uppercase letter.';
4
- this.lowercase = 'At least one lowercase letter.';
5
- this.digit = 'At least one digit.';
6
- this.nonAlphanumeric = 'At least one special character (e.g., !, @, #, $).';
7
- this.minLength = 'At least 8 characters long.';
8
- if (options?.uppercase !== undefined) {
9
- this.uppercase = options?.uppercase;
10
- }
11
- if (options?.lowercase !== undefined) {
12
- this.lowercase = options?.lowercase;
13
- }
14
- if (options?.digit !== undefined) {
15
- this.digit = options?.digit;
16
- }
17
- if (options?.nonAlphanumeric !== undefined) {
18
- this.nonAlphanumeric = options?.nonAlphanumeric;
19
- }
20
- if (options?.minLength !== undefined) {
21
- this.minLength = options?.minLength;
22
- }
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZW5ndGgtdmFsaWRhdGlvbi1mZWVkYmFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy9tb2RlbHMvc3RyZW5ndGgtdmFsaWRhdGlvbi1mZWVkYmFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sMEJBQTBCO0lBT25DLFlBQ0ksT0FNQztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsZ0NBQWdDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsb0RBQW9ELENBQUM7UUFDNUUsSUFBSSxDQUFDLFNBQVMsR0FBRyw2QkFBNkIsQ0FBQztRQUUvQyxJQUFJLE9BQU8sRUFBRSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFBQyxDQUFDO1FBQzlFLElBQUksT0FBTyxFQUFFLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxFQUFFLFNBQVMsQ0FBQztRQUFDLENBQUM7UUFDOUUsSUFBSSxPQUFPLEVBQUUsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1FBQUMsQ0FBQztRQUNsRSxJQUFJLE9BQU8sRUFBRSxlQUFlLEtBQUssU0FBUyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sRUFBRSxlQUFlLENBQUM7UUFBQyxDQUFDO1FBQ2hHLElBQUksT0FBTyxFQUFFLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxFQUFFLFNBQVMsQ0FBQztRQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFN0cmVuZ3RoVmFsaWRhdGlvbkZlZWRiYWNrIHtcclxuICAgIHVwcGVyY2FzZT86IHN0cmluZztcclxuICAgIGxvd2VyY2FzZT86IHN0cmluZztcclxuICAgIGRpZ2l0Pzogc3RyaW5nO1xyXG4gICAgbm9uQWxwaGFudW1lcmljPzogc3RyaW5nO1xyXG4gICAgbWluTGVuZ3RoPzogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgICAgIHVwcGVyY2FzZT86IHN0cmluZyxcclxuICAgICAgICAgICAgbG93ZXJjYXNlPzogc3RyaW5nLFxyXG4gICAgICAgICAgICBkaWdpdD86IHN0cmluZyxcclxuICAgICAgICAgICAgbm9uQWxwaGFudW1lcmljPzogc3RyaW5nLFxyXG4gICAgICAgICAgICBtaW5MZW5ndGg/OiBzdHJpbmdcclxuICAgICAgICB9XHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnVwcGVyY2FzZSA9ICdBdCBsZWFzdCBvbmUgdXBwZXJjYXNlIGxldHRlci4nO1xyXG4gICAgICAgIHRoaXMubG93ZXJjYXNlID0gJ0F0IGxlYXN0IG9uZSBsb3dlcmNhc2UgbGV0dGVyLic7XHJcbiAgICAgICAgdGhpcy5kaWdpdCA9ICdBdCBsZWFzdCBvbmUgZGlnaXQuJztcclxuICAgICAgICB0aGlzLm5vbkFscGhhbnVtZXJpYyA9ICdBdCBsZWFzdCBvbmUgc3BlY2lhbCBjaGFyYWN0ZXIgKGUuZy4sICEsIEAsICMsICQpLic7XHJcbiAgICAgICAgdGhpcy5taW5MZW5ndGggPSAnQXQgbGVhc3QgOCBjaGFyYWN0ZXJzIGxvbmcuJztcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LnVwcGVyY2FzZSAhPT0gdW5kZWZpbmVkKSB7IHRoaXMudXBwZXJjYXNlID0gb3B0aW9ucz8udXBwZXJjYXNlOyB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnM/Lmxvd2VyY2FzZSAhPT0gdW5kZWZpbmVkKSB7IHRoaXMubG93ZXJjYXNlID0gb3B0aW9ucz8ubG93ZXJjYXNlOyB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LmRpZ2l0ICE9PSB1bmRlZmluZWQpIHsgdGhpcy5kaWdpdCA9IG9wdGlvbnM/LmRpZ2l0OyB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnM/Lm5vbkFscGhhbnVtZXJpYyAhPT0gdW5kZWZpbmVkKSB7IHRoaXMubm9uQWxwaGFudW1lcmljID0gb3B0aW9ucz8ubm9uQWxwaGFudW1lcmljOyB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnM/Lm1pbkxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7IHRoaXMubWluTGVuZ3RoID0gb3B0aW9ucz8ubWluTGVuZ3RoOyB9XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,25 +0,0 @@
1
- export class StrengthValidationOption {
2
- constructor(options) {
3
- this.requireUppercase = true;
4
- this.requireLowercase = true;
5
- this.requireDigit = true;
6
- this.requireNonAlphanumeric = true;
7
- this.requiredMinLength = 8;
8
- if (options?.requireUppercase !== undefined) {
9
- this.requireUppercase = options?.requireUppercase;
10
- }
11
- if (options?.requireLowercase !== undefined) {
12
- this.requireLowercase = options?.requireLowercase;
13
- }
14
- if (options?.requireDigit !== undefined) {
15
- this.requireDigit = options?.requireDigit;
16
- }
17
- if (options?.requireNonAlphanumeric !== undefined) {
18
- this.requireNonAlphanumeric = options?.requireNonAlphanumeric;
19
- }
20
- if (options?.requiredMinLength !== undefined) {
21
- this.requiredMinLength = options?.requiredMinLength;
22
- }
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZW5ndGgtdmFsaWRhdGlvbi1vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9wYXNzd29yZC1zdHJlbmd0aC9zcmMvbW9kZWxzL3N0cmVuZ3RoLXZhbGlkYXRpb24tb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx3QkFBd0I7SUFPakMsWUFDSSxPQU1DO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztRQUUzQixJQUFJLE9BQU8sRUFBRSxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7UUFBQyxDQUFDO1FBQ25HLElBQUksT0FBTyxFQUFFLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztRQUFDLENBQUM7UUFDbkcsSUFBSSxPQUFPLEVBQUUsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLEVBQUUsWUFBWSxDQUFDO1FBQUMsQ0FBQztRQUN2RixJQUFJLE9BQU8sRUFBRSxzQkFBc0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxPQUFPLEVBQUUsc0JBQXNCLENBQUM7UUFBQyxDQUFDO1FBQ3JILElBQUksT0FBTyxFQUFFLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztRQUFDLENBQUM7SUFDMUcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFN0cmVuZ3RoVmFsaWRhdGlvbk9wdGlvbiB7XHJcbiAgICByZXF1aXJlVXBwZXJjYXNlPzogYm9vbGVhbjtcclxuICAgIHJlcXVpcmVMb3dlcmNhc2U/OiBib29sZWFuO1xyXG4gICAgcmVxdWlyZURpZ2l0PzogYm9vbGVhbjtcclxuICAgIHJlcXVpcmVOb25BbHBoYW51bWVyaWM/OiBib29sZWFuO1xyXG4gICAgcmVxdWlyZWRNaW5MZW5ndGg6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBvcHRpb25zPzoge1xyXG4gICAgICAgICAgICByZXF1aXJlVXBwZXJjYXNlPzogYm9vbGVhbixcclxuICAgICAgICAgICAgcmVxdWlyZUxvd2VyY2FzZT86IGJvb2xlYW4sXHJcbiAgICAgICAgICAgIHJlcXVpcmVEaWdpdD86IGJvb2xlYW4sXHJcbiAgICAgICAgICAgIHJlcXVpcmVOb25BbHBoYW51bWVyaWM/OiBib29sZWFuLFxyXG4gICAgICAgICAgICByZXF1aXJlZE1pbkxlbmd0aD86IG51bWJlclxyXG4gICAgICAgIH1cclxuICAgICkge1xyXG4gICAgICAgIHRoaXMucmVxdWlyZVVwcGVyY2FzZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZXF1aXJlTG93ZXJjYXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlcXVpcmVEaWdpdCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZXF1aXJlTm9uQWxwaGFudW1lcmljID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlcXVpcmVkTWluTGVuZ3RoID0gODtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LnJlcXVpcmVVcHBlcmNhc2UgIT09IHVuZGVmaW5lZCkgeyB0aGlzLnJlcXVpcmVVcHBlcmNhc2UgPSBvcHRpb25zPy5yZXF1aXJlVXBwZXJjYXNlOyB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LnJlcXVpcmVMb3dlcmNhc2UgIT09IHVuZGVmaW5lZCkgeyB0aGlzLnJlcXVpcmVMb3dlcmNhc2UgPSBvcHRpb25zPy5yZXF1aXJlTG93ZXJjYXNlOyB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LnJlcXVpcmVEaWdpdCAhPT0gdW5kZWZpbmVkKSB7IHRoaXMucmVxdWlyZURpZ2l0ID0gb3B0aW9ucz8ucmVxdWlyZURpZ2l0OyB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LnJlcXVpcmVOb25BbHBoYW51bWVyaWMgIT09IHVuZGVmaW5lZCkgeyB0aGlzLnJlcXVpcmVOb25BbHBoYW51bWVyaWMgPSBvcHRpb25zPy5yZXF1aXJlTm9uQWxwaGFudW1lcmljOyB9XHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LnJlcXVpcmVkTWluTGVuZ3RoICE9PSB1bmRlZmluZWQpIHsgdGhpcy5yZXF1aXJlZE1pbkxlbmd0aCA9IG9wdGlvbnM/LnJlcXVpcmVkTWluTGVuZ3RoOyB9XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,69 +0,0 @@
1
- import { NgClass, NgIf } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { Validators } from '@angular/forms';
4
- import { DigitRegx, LowercaseRegx, NonAlphanumericRegx, StrengthValidationFeedback, StrengthValidationOption, UppercaseRegx } from '../models';
5
- import * as i0 from "@angular/core";
6
- export class YsPasswordStrengthComponent {
7
- get control() { return this._control; }
8
- set control(value) {
9
- this._control = value;
10
- if (!this._control) {
11
- return;
12
- }
13
- if (!this._control.options) {
14
- this._control.options = new StrengthValidationOption();
15
- }
16
- const strongPasswordRegx = new RegExp(`${this._control.options.requireUppercase ? '^(?=[^A-Z]*[A-Z])' : ''}${this._control.options.requireLowercase ? '(?=[^a-z]*[a-z])' : ''}${this._control.options.requireDigit ? '(?=\\D*\\d)' : ''}${this._control.options.requireNonAlphanumeric ? '(?=.*[!@#$%^&*])' : ''}.{${this._control.options.requiredMinLength},}$`);
17
- this.minLengthRegx = new RegExp(`.{${this._control.options.requiredMinLength},}$`);
18
- this._control.formControl?.addValidators(Validators.pattern(strongPasswordRegx));
19
- }
20
- constructor() {
21
- this.minLengthRegx = new RegExp('');
22
- this.passwordHelp = null;
23
- this.displayFeedback = true;
24
- this.feedback = new StrengthValidationFeedback();
25
- }
26
- get requiredOptionsLength() { return Object.values(this.control?.options).filter(x => x).length; }
27
- get hasUppercase() { return UppercaseRegx.test(this.control?.formControl?.value); }
28
- get hasLowercase() { return LowercaseRegx.test(this.control?.formControl?.value); }
29
- get hasDigit() { return DigitRegx.test(this.control?.formControl?.value); }
30
- get hasNonAlphanumeric() { return NonAlphanumericRegx.test(this.control?.formControl?.value); }
31
- get hasMinLength() { return this.minLengthRegx.test(this.control?.formControl?.value); }
32
- get strengthMeter() {
33
- let strength = -1;
34
- if (this.control?.options?.requireUppercase && this.hasUppercase)
35
- strength += 1;
36
- if (this.control?.options?.requireLowercase && this.hasLowercase)
37
- strength += 1;
38
- if (this.control?.options?.requireDigit && this.hasDigit)
39
- strength += 1;
40
- if (this.control?.options?.requireNonAlphanumeric && this.hasNonAlphanumeric)
41
- strength += 1;
42
- if (this.control?.options?.requiredMinLength && this.hasMinLength)
43
- strength += 1;
44
- return strength + (5 - this.requiredOptionsLength);
45
- }
46
- get strengthStyleClass() {
47
- return this.strengthMeter == 4 ? "green" :
48
- this.strengthMeter == 3 ? "yellow" :
49
- this.strengthMeter == 2 ? "orange" :
50
- this.strengthMeter == 1 ? "red" :
51
- this.strengthMeter == 0 ? "pink" :
52
- '';
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsPasswordStrengthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: YsPasswordStrengthComponent, isStandalone: true, selector: "ys-password-strength", inputs: { control: "control", passwordHelp: "passwordHelp", displayFeedback: "displayFeedback", feedback: "feedback" }, ngImport: i0, template: "<div class=\"password-strength\" *ngIf=\"control\">\r\n <div class=\"d-flex flex-row mt-2\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 4\" class=\"rounded-start rounded-end me-1\"\r\n [ngClass]=\" (strengthMeter >= 0) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 3\" class=\"rounded-start rounded-end me-1\"\r\n [ngClass]=\"(strengthMeter >= 1) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 2\" class=\"rounded-start rounded-end me-1\"\r\n [ngClass]=\"(strengthMeter >= 2) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 1\" class=\"rounded-start rounded-end me-1\"\r\n [ngClass]=\"(strengthMeter >= 3) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 0\" class=\"rounded-start rounded-end\"\r\n [ngClass]=\"(strengthMeter >= 4) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n </div>\r\n <small *ngIf=\"passwordHelp\" id=\"passwordHelp\" class=\"form-text text-muted\">{{passwordHelp}}</small>\r\n <div *ngIf=\"displayFeedback && (control.formControl?.touched || control.formControl?.dirty) && control.formControl?.errors?.['pattern']\"\r\n class=\"invalid-feedback d-grid \">\r\n <span *ngIf=\"control.options?.requireUppercase\"\r\n [ngClass]=\"{'text-success': hasUppercase}\">{{feedback?.uppercase}}</span>\r\n <span *ngIf=\"control.options?.requireLowercase\"\r\n [ngClass]=\"{'text-success': hasLowercase}\">{{feedback?.lowercase}}</span>\r\n <span *ngIf=\"control.options?.requireDigit\" [ngClass]=\"{'text-success': hasDigit}\">{{feedback?.digit}}</span>\r\n <span *ngIf=\"control.options?.requireNonAlphanumeric\"\r\n [ngClass]=\"{'text-success': hasNonAlphanumeric}\">{{feedback?.nonAlphanumeric}}</span>\r\n <span *ngIf=\"control.options?.requiredMinLength\"\r\n [ngClass]=\"{'text-success': hasMinLength}\">{{feedback?.minLength}}</span>\r\n </div>\r\n</div>\r\n<div *ngIf=\"!control\">\r\n Password strength control is undefined.\r\n</div>", styles: [".is-invalid ys-password-strength~.invalid-feedback{display:block}.password-strength hr{border-top:3px solid;margin:0;opacity:.75!important}.password-strength .gray{color:var(--bs-gray-300)}.password-strength .pink{color:var(--bs-pink)}.password-strength .red{color:var(--bs-red)}.password-strength .orange{color:var(--bs-orange)}.password-strength .yellow{color:var(--bs-yellow)}.password-strength .green{color:var(--bs-green)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsPasswordStrengthComponent, decorators: [{
58
- type: Component,
59
- args: [{ selector: 'ys-password-strength', standalone: true, imports: [NgIf, NgClass], template: "<div class=\"password-strength\" *ngIf=\"control\">\r\n <div class=\"d-flex flex-row mt-2\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 4\" class=\"rounded-start rounded-end me-1\"\r\n [ngClass]=\" (strengthMeter >= 0) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 3\" class=\"rounded-start rounded-end me-1\"\r\n [ngClass]=\"(strengthMeter >= 1) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 2\" class=\"rounded-start rounded-end me-1\"\r\n [ngClass]=\"(strengthMeter >= 2) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 1\" class=\"rounded-start rounded-end me-1\"\r\n [ngClass]=\"(strengthMeter >= 3) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n <hr *ngIf=\"this.requiredOptionsLength > 0\" class=\"rounded-start rounded-end\"\r\n [ngClass]=\"(strengthMeter >= 4) ? strengthStyleClass : 'gray'\"\r\n [style.width.%]=\"[100 / requiredOptionsLength]\">\r\n </div>\r\n <small *ngIf=\"passwordHelp\" id=\"passwordHelp\" class=\"form-text text-muted\">{{passwordHelp}}</small>\r\n <div *ngIf=\"displayFeedback && (control.formControl?.touched || control.formControl?.dirty) && control.formControl?.errors?.['pattern']\"\r\n class=\"invalid-feedback d-grid \">\r\n <span *ngIf=\"control.options?.requireUppercase\"\r\n [ngClass]=\"{'text-success': hasUppercase}\">{{feedback?.uppercase}}</span>\r\n <span *ngIf=\"control.options?.requireLowercase\"\r\n [ngClass]=\"{'text-success': hasLowercase}\">{{feedback?.lowercase}}</span>\r\n <span *ngIf=\"control.options?.requireDigit\" [ngClass]=\"{'text-success': hasDigit}\">{{feedback?.digit}}</span>\r\n <span *ngIf=\"control.options?.requireNonAlphanumeric\"\r\n [ngClass]=\"{'text-success': hasNonAlphanumeric}\">{{feedback?.nonAlphanumeric}}</span>\r\n <span *ngIf=\"control.options?.requiredMinLength\"\r\n [ngClass]=\"{'text-success': hasMinLength}\">{{feedback?.minLength}}</span>\r\n </div>\r\n</div>\r\n<div *ngIf=\"!control\">\r\n Password strength control is undefined.\r\n</div>", styles: [".is-invalid ys-password-strength~.invalid-feedback{display:block}.password-strength hr{border-top:3px solid;margin:0;opacity:.75!important}.password-strength .gray{color:var(--bs-gray-300)}.password-strength .pink{color:var(--bs-pink)}.password-strength .red{color:var(--bs-red)}.password-strength .orange{color:var(--bs-orange)}.password-strength .yellow{color:var(--bs-yellow)}.password-strength .green{color:var(--bs-green)}\n"] }]
60
- }], ctorParameters: () => [], propDecorators: { control: [{
61
- type: Input
62
- }], passwordHelp: [{
63
- type: Input
64
- }], displayFeedback: [{
65
- type: Input
66
- }], feedback: [{
67
- type: Input
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveW9venNvZnQveW9venNvZnQtbmcvcGFzc3dvcmQtc3RyZW5ndGgvc3JjL3lzLXBhc3N3b3JkLXN0cmVuZ3RoL3lzLXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy95cy1wYXNzd29yZC1zdHJlbmd0aC95cy1wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBNkIsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQVMxSyxNQUFNLE9BQU8sMkJBQTJCO0lBS3RDLElBQ0ksT0FBTyxLQUE0QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQUksT0FBTyxDQUFDLEtBQTRDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFDekQsQ0FBQztRQUVELE1BQU0sa0JBQWtCLEdBQVcsSUFBSSxNQUFNLENBQzNDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUNsRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFDakUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFDeEQsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQ3ZFLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLENBQUM7UUFFbkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFNRDtRQTlCUSxrQkFBYSxHQUFXLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBMEJ0QyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsYUFBUSxHQUFzQyxJQUFJLDBCQUEwQixFQUFFLENBQUM7SUFFeEUsQ0FBQztJQUVqQixJQUFJLHFCQUFxQixLQUFhLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFM0csSUFBSSxZQUFZLEtBQWMsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RixJQUFJLFlBQVksS0FBYyxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVGLElBQUksUUFBUSxLQUFjLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEYsSUFBSSxrQkFBa0IsS0FBYyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEcsSUFBSSxZQUFZLEtBQWMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakcsSUFBSSxhQUFhO1FBRWYsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLElBQUksSUFBSSxDQUFDLGtCQUFrQjtZQUFFLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDNUYsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFFakYsT0FBTyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQy9CLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDaEMsRUFBRSxDQUFDO0lBQ2YsQ0FBQzs4R0E3RFUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsd01DWnhDLHk3RUFrQ00sdWVEMUJNLElBQUksNkZBQUUsT0FBTzs7MkZBSVosMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO3dEQVVwQixPQUFPO3NCQURWLEtBQUs7Z0JBdUJHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGlnaXRSZWd4LCBMb3dlcmNhc2VSZWd4LCBOb25BbHBoYW51bWVyaWNSZWd4LCBTdHJlbmd0aFZhbGlkYXRpb25Db250cm9sLCBTdHJlbmd0aFZhbGlkYXRpb25GZWVkYmFjaywgU3RyZW5ndGhWYWxpZGF0aW9uT3B0aW9uLCBVcHBlcmNhc2VSZWd4IH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneXMtcGFzc3dvcmQtc3RyZW5ndGgnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3NdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi95cy1wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3lzLXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWXNQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBtaW5MZW5ndGhSZWd4OiBSZWdFeHAgPSBuZXcgUmVnRXhwKCcnKTtcclxuXHJcbiAgcHJpdmF0ZSBfY29udHJvbD86IFN0cmVuZ3RoVmFsaWRhdGlvbkNvbnRyb2w7XHJcbiAgQElucHV0KClcclxuICBnZXQgY29udHJvbCgpOiBTdHJlbmd0aFZhbGlkYXRpb25Db250cm9sIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2NvbnRyb2w7IH1cclxuICBzZXQgY29udHJvbCh2YWx1ZTogU3RyZW5ndGhWYWxpZGF0aW9uQ29udHJvbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fY29udHJvbCA9IHZhbHVlO1xyXG5cclxuICAgIGlmICghdGhpcy5fY29udHJvbCkgeyByZXR1cm47IH1cclxuXHJcbiAgICBpZiAoIXRoaXMuX2NvbnRyb2wub3B0aW9ucykge1xyXG4gICAgICB0aGlzLl9jb250cm9sLm9wdGlvbnMgPSBuZXcgU3RyZW5ndGhWYWxpZGF0aW9uT3B0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3Ryb25nUGFzc3dvcmRSZWd4OiBSZWdFeHAgPSBuZXcgUmVnRXhwKFxyXG4gICAgICBgJHt0aGlzLl9jb250cm9sLm9wdGlvbnMucmVxdWlyZVVwcGVyY2FzZSA/ICdeKD89W15BLVpdKltBLVpdKScgOiAnJ1xyXG4gICAgICB9JHt0aGlzLl9jb250cm9sLm9wdGlvbnMucmVxdWlyZUxvd2VyY2FzZSA/ICcoPz1bXmEtel0qW2Etel0pJyA6ICcnXHJcbiAgICAgIH0ke3RoaXMuX2NvbnRyb2wub3B0aW9ucy5yZXF1aXJlRGlnaXQgPyAnKD89XFxcXEQqXFxcXGQpJyA6ICcnXHJcbiAgICAgIH0ke3RoaXMuX2NvbnRyb2wub3B0aW9ucy5yZXF1aXJlTm9uQWxwaGFudW1lcmljID8gJyg/PS4qWyFAIyQlXiYqXSknIDogJydcclxuICAgICAgfS57JHt0aGlzLl9jb250cm9sLm9wdGlvbnMucmVxdWlyZWRNaW5MZW5ndGh9LH0kYCk7XHJcblxyXG4gICAgdGhpcy5taW5MZW5ndGhSZWd4ID0gbmV3IFJlZ0V4cChgLnske3RoaXMuX2NvbnRyb2wub3B0aW9ucy5yZXF1aXJlZE1pbkxlbmd0aH0sfSRgKTtcclxuXHJcbiAgICB0aGlzLl9jb250cm9sLmZvcm1Db250cm9sPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucGF0dGVybihzdHJvbmdQYXNzd29yZFJlZ3gpKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHBhc3N3b3JkSGVscDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgZGlzcGxheUZlZWRiYWNrOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBmZWVkYmFjazogU3RyZW5ndGhWYWxpZGF0aW9uRmVlZGJhY2sgfCBudWxsID0gbmV3IFN0cmVuZ3RoVmFsaWRhdGlvbkZlZWRiYWNrKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGdldCByZXF1aXJlZE9wdGlvbnNMZW5ndGgoKTogbnVtYmVyIHsgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5jb250cm9sPy5vcHRpb25zISkuZmlsdGVyKHggPT4geCkubGVuZ3RoOyB9XHJcblxyXG4gIGdldCBoYXNVcHBlcmNhc2UoKTogYm9vbGVhbiB7IHJldHVybiBVcHBlcmNhc2VSZWd4LnRlc3QodGhpcy5jb250cm9sPy5mb3JtQ29udHJvbD8udmFsdWUpOyB9XHJcbiAgZ2V0IGhhc0xvd2VyY2FzZSgpOiBib29sZWFuIHsgcmV0dXJuIExvd2VyY2FzZVJlZ3gudGVzdCh0aGlzLmNvbnRyb2w/LmZvcm1Db250cm9sPy52YWx1ZSk7IH1cclxuICBnZXQgaGFzRGlnaXQoKTogYm9vbGVhbiB7IHJldHVybiBEaWdpdFJlZ3gudGVzdCh0aGlzLmNvbnRyb2w/LmZvcm1Db250cm9sPy52YWx1ZSk7IH1cclxuICBnZXQgaGFzTm9uQWxwaGFudW1lcmljKCk6IGJvb2xlYW4geyByZXR1cm4gTm9uQWxwaGFudW1lcmljUmVneC50ZXN0KHRoaXMuY29udHJvbD8uZm9ybUNvbnRyb2w/LnZhbHVlKTsgfVxyXG4gIGdldCBoYXNNaW5MZW5ndGgoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLm1pbkxlbmd0aFJlZ3gudGVzdCh0aGlzLmNvbnRyb2w/LmZvcm1Db250cm9sPy52YWx1ZSk7IH1cclxuXHJcbiAgZ2V0IHN0cmVuZ3RoTWV0ZXIoKTogbnVtYmVyIHtcclxuXHJcbiAgICBsZXQgc3RyZW5ndGg6IG51bWJlciA9IC0xO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbD8ub3B0aW9ucz8ucmVxdWlyZVVwcGVyY2FzZSAmJiB0aGlzLmhhc1VwcGVyY2FzZSkgc3RyZW5ndGggKz0gMTtcclxuICAgIGlmICh0aGlzLmNvbnRyb2w/Lm9wdGlvbnM/LnJlcXVpcmVMb3dlcmNhc2UgJiYgdGhpcy5oYXNMb3dlcmNhc2UpIHN0cmVuZ3RoICs9IDE7XHJcbiAgICBpZiAodGhpcy5jb250cm9sPy5vcHRpb25zPy5yZXF1aXJlRGlnaXQgJiYgdGhpcy5oYXNEaWdpdCkgc3RyZW5ndGggKz0gMTtcclxuICAgIGlmICh0aGlzLmNvbnRyb2w/Lm9wdGlvbnM/LnJlcXVpcmVOb25BbHBoYW51bWVyaWMgJiYgdGhpcy5oYXNOb25BbHBoYW51bWVyaWMpIHN0cmVuZ3RoICs9IDE7XHJcbiAgICBpZiAodGhpcy5jb250cm9sPy5vcHRpb25zPy5yZXF1aXJlZE1pbkxlbmd0aCAmJiB0aGlzLmhhc01pbkxlbmd0aCkgc3RyZW5ndGggKz0gMTtcclxuXHJcbiAgICByZXR1cm4gc3RyZW5ndGggKyAoNSAtIHRoaXMucmVxdWlyZWRPcHRpb25zTGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIGdldCBzdHJlbmd0aFN0eWxlQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnN0cmVuZ3RoTWV0ZXIgPT0gNCA/IFwiZ3JlZW5cIiA6XHJcbiAgICAgIHRoaXMuc3RyZW5ndGhNZXRlciA9PSAzID8gXCJ5ZWxsb3dcIiA6XHJcbiAgICAgICAgdGhpcy5zdHJlbmd0aE1ldGVyID09IDIgPyBcIm9yYW5nZVwiIDpcclxuICAgICAgICAgIHRoaXMuc3RyZW5ndGhNZXRlciA9PSAxID8gXCJyZWRcIiA6XHJcbiAgICAgICAgICAgIHRoaXMuc3RyZW5ndGhNZXRlciA9PSAwID8gXCJwaW5rXCIgOlxyXG4gICAgICAgICAgICAgICcnO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBhc3N3b3JkLXN0cmVuZ3RoXCIgKm5nSWY9XCJjb250cm9sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IG10LTJcIj5cclxuICAgICAgICA8aHIgKm5nSWY9XCJ0aGlzLnJlcXVpcmVkT3B0aW9uc0xlbmd0aCA+IDRcIiBjbGFzcz1cInJvdW5kZWQtc3RhcnQgcm91bmRlZC1lbmQgbWUtMVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIiAoc3RyZW5ndGhNZXRlciA+PSAwKSA/IHN0cmVuZ3RoU3R5bGVDbGFzcyA6ICdncmF5J1wiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIlsxMDAgLyByZXF1aXJlZE9wdGlvbnNMZW5ndGhdXCI+XHJcbiAgICAgICAgPGhyICpuZ0lmPVwidGhpcy5yZXF1aXJlZE9wdGlvbnNMZW5ndGggPiAzXCIgY2xhc3M9XCJyb3VuZGVkLXN0YXJ0IHJvdW5kZWQtZW5kIG1lLTFcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCIoc3RyZW5ndGhNZXRlciA+PSAxKSA/IHN0cmVuZ3RoU3R5bGVDbGFzcyA6ICdncmF5J1wiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIlsxMDAgLyByZXF1aXJlZE9wdGlvbnNMZW5ndGhdXCI+XHJcbiAgICAgICAgPGhyICpuZ0lmPVwidGhpcy5yZXF1aXJlZE9wdGlvbnNMZW5ndGggPiAyXCIgY2xhc3M9XCJyb3VuZGVkLXN0YXJ0IHJvdW5kZWQtZW5kIG1lLTFcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCIoc3RyZW5ndGhNZXRlciA+PSAyKSA/IHN0cmVuZ3RoU3R5bGVDbGFzcyA6ICdncmF5J1wiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIlsxMDAgLyByZXF1aXJlZE9wdGlvbnNMZW5ndGhdXCI+XHJcbiAgICAgICAgPGhyICpuZ0lmPVwidGhpcy5yZXF1aXJlZE9wdGlvbnNMZW5ndGggPiAxXCIgY2xhc3M9XCJyb3VuZGVkLXN0YXJ0IHJvdW5kZWQtZW5kIG1lLTFcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCIoc3RyZW5ndGhNZXRlciA+PSAzKSA/IHN0cmVuZ3RoU3R5bGVDbGFzcyA6ICdncmF5J1wiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIlsxMDAgLyByZXF1aXJlZE9wdGlvbnNMZW5ndGhdXCI+XHJcbiAgICAgICAgPGhyICpuZ0lmPVwidGhpcy5yZXF1aXJlZE9wdGlvbnNMZW5ndGggPiAwXCIgY2xhc3M9XCJyb3VuZGVkLXN0YXJ0IHJvdW5kZWQtZW5kXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiKHN0cmVuZ3RoTWV0ZXIgPj0gNCkgPyBzdHJlbmd0aFN0eWxlQ2xhc3MgOiAnZ3JheSdcIlxyXG4gICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJbMTAwIC8gcmVxdWlyZWRPcHRpb25zTGVuZ3RoXVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8c21hbGwgKm5nSWY9XCJwYXNzd29yZEhlbHBcIiBpZD1cInBhc3N3b3JkSGVscFwiIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWRcIj57e3Bhc3N3b3JkSGVscH19PC9zbWFsbD5cclxuICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5RmVlZGJhY2sgJiYgKGNvbnRyb2wuZm9ybUNvbnRyb2w/LnRvdWNoZWQgfHwgY29udHJvbC5mb3JtQ29udHJvbD8uZGlydHkpICYmIGNvbnRyb2wuZm9ybUNvbnRyb2w/LmVycm9ycz8uWydwYXR0ZXJuJ11cIlxyXG4gICAgICAgIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFjayBkLWdyaWQgXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLm9wdGlvbnM/LnJlcXVpcmVVcHBlcmNhc2VcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RleHQtc3VjY2Vzcyc6IGhhc1VwcGVyY2FzZX1cIj57e2ZlZWRiYWNrPy51cHBlcmNhc2V9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wub3B0aW9ucz8ucmVxdWlyZUxvd2VyY2FzZVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndGV4dC1zdWNjZXNzJzogaGFzTG93ZXJjYXNlfVwiPnt7ZmVlZGJhY2s/Lmxvd2VyY2FzZX19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiY29udHJvbC5vcHRpb25zPy5yZXF1aXJlRGlnaXRcIiBbbmdDbGFzc109XCJ7J3RleHQtc3VjY2Vzcyc6IGhhc0RpZ2l0fVwiPnt7ZmVlZGJhY2s/LmRpZ2l0fX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLm9wdGlvbnM/LnJlcXVpcmVOb25BbHBoYW51bWVyaWNcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RleHQtc3VjY2Vzcyc6IGhhc05vbkFscGhhbnVtZXJpY31cIj57e2ZlZWRiYWNrPy5ub25BbHBoYW51bWVyaWN9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wub3B0aW9ucz8ucmVxdWlyZWRNaW5MZW5ndGhcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RleHQtc3VjY2Vzcyc6IGhhc01pbkxlbmd0aH1cIj57e2ZlZWRiYWNrPy5taW5MZW5ndGh9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cIiFjb250cm9sXCI+XHJcbiAgICBQYXNzd29yZCBzdHJlbmd0aCBjb250cm9sIGlzIHVuZGVmaW5lZC5cclxuPC9kaXY+Il19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW9venNvZnQteW9venNvZnQtbmctcGFzc3dvcmQtc3RyZW5ndGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9wYXNzd29yZC1zdHJlbmd0aC95b296c29mdC15b296c29mdC1uZy1wYXNzd29yZC1zdHJlbmd0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,6 +0,0 @@
1
- /*
2
- * Public API Surface of ys-progress
3
- */
4
- export * from './src/services';
5
- export * from './src/ys-progress/ys-progress.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3Byb2dyZXNzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgeXMtcHJvZ3Jlc3NcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9zZXJ2aWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3lzLXByb2dyZXNzL3lzLXByb2dyZXNzLmNvbXBvbmVudCc7XHJcblxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './progress.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9wcm9ncmVzcy9zcmMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3Muc2VydmljZSc7XHJcblxyXG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ProgressService {
5
- constructor() {
6
- this._loading$ = new BehaviorSubject(false);
7
- }
8
- get loading$() { return this._loading$.asObservable(); }
9
- setLoading(loading) {
10
- this._loading$.next(loading);
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ProgressService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ProgressService }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ProgressService, decorators: [{
16
- type: Injectable
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3Byb2dyZXNzL3NyYy9zZXJ2aWNlcy9wcm9ncmVzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFVSxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7S0FPekQ7SUFMQyxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXhELFVBQVUsQ0FBQyxPQUFnQjtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQVBVLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2xvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIGdldCBsb2FkaW5nJCgpIHsgcmV0dXJuIHRoaXMuX2xvYWRpbmckLmFzT2JzZXJ2YWJsZSgpOyB9XHJcblxyXG4gIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbG9hZGluZyQubmV4dChsb2FkaW5nKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,32 +0,0 @@
1
- import { AsyncPipe, NgClass } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../services";
5
- export class YsProgressComponent {
6
- constructor(progressService) {
7
- this.progressService = progressService;
8
- /**
9
- * Set reverse animation direction.
10
- */
11
- this.reverse = false;
12
- this.styleClass = null;
13
- this.height = 3;
14
- this.label = null;
15
- this.loading$ = progressService.loading$;
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsProgressComponent, deps: [{ token: i1.ProgressService }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: YsProgressComponent, isStandalone: true, selector: "ys-progress", inputs: { reverse: "reverse", styleClass: "styleClass", height: "height", label: "label" }, ngImport: i0, template: "<div class=\"progress\" role=\"progressbar\" [style]=\"'height: '+ height +'px'\">\r\n <div class=\"progress-bar {{styleClass}}\"\r\n [ngClass]=\"{'indeterminate': (loading$ | async), 'direction-reverse': reverse}\">\r\n {{(loading$ | async) && label ? label : ''}}\r\n </div>\r\n</div>", styles: ["@keyframes progress-indeterminate{0%{left:-25%;width:25%}to{left:100%;width:25%}}@keyframes progress-indeterminate-rtl{0%{left:-100%;width:25%}to{left:25%;width:25%}}.progress .progress-bar.indeterminate{position:relative}.progress .direction-reverse{animation-direction:reverse!important}::ng-deep html[dir=rtl] .progress .progress-bar.indeterminate{animation:progress-indeterminate-rtl 3s linear infinite}::ng-deep html[dir=ltr] .progress .progress-bar.indeterminate,::ng-deep html :not(dir) .progress .progress-bar.indeterminate{animation:progress-indeterminate 3s linear infinite}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsProgressComponent, decorators: [{
21
- type: Component,
22
- args: [{ selector: 'ys-progress', standalone: true, imports: [NgClass, AsyncPipe], template: "<div class=\"progress\" role=\"progressbar\" [style]=\"'height: '+ height +'px'\">\r\n <div class=\"progress-bar {{styleClass}}\"\r\n [ngClass]=\"{'indeterminate': (loading$ | async), 'direction-reverse': reverse}\">\r\n {{(loading$ | async) && label ? label : ''}}\r\n </div>\r\n</div>", styles: ["@keyframes progress-indeterminate{0%{left:-25%;width:25%}to{left:100%;width:25%}}@keyframes progress-indeterminate-rtl{0%{left:-100%;width:25%}to{left:25%;width:25%}}.progress .progress-bar.indeterminate{position:relative}.progress .direction-reverse{animation-direction:reverse!important}::ng-deep html[dir=rtl] .progress .progress-bar.indeterminate{animation:progress-indeterminate-rtl 3s linear infinite}::ng-deep html[dir=ltr] .progress .progress-bar.indeterminate,::ng-deep html :not(dir) .progress .progress-bar.indeterminate{animation:progress-indeterminate 3s linear infinite}\n"] }]
23
- }], ctorParameters: () => [{ type: i1.ProgressService }], propDecorators: { reverse: [{
24
- type: Input
25
- }], styleClass: [{
26
- type: Input
27
- }], height: [{
28
- type: Input
29
- }], label: [{
30
- type: Input
31
- }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtcHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveW9venNvZnQveW9venNvZnQtbmcvcHJvZ3Jlc3Mvc3JjL3lzLXByb2dyZXNzL3lzLXByb2dyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3Byb2dyZXNzL3NyYy95cy1wcm9ncmVzcy95cy1wcm9ncmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFXakQsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFScEQ7O1dBRUc7UUFDTSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFHbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7OEdBZFUsbUJBQW1CO2tHQUFuQixtQkFBbUIsbUtDWmhDLG9UQUtNLG9vQkRHTSxPQUFPLCtFQUFFLFNBQVM7OzJGQUlqQixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7b0ZBV3BCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd5cy1wcm9ncmVzcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdDbGFzcywgQXN5bmNQaXBlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4veXMtcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3lzLXByb2dyZXNzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFlzUHJvZ3Jlc3NDb21wb25lbnQge1xyXG5cclxuICBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHJldmVyc2UgYW5pbWF0aW9uIGRpcmVjdGlvbi5cclxuICAgKi9cclxuICBASW5wdXQoKSByZXZlcnNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXIgPSAzO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9ncmVzc1NlcnZpY2U6IFByb2dyZXNzU2VydmljZSkge1xyXG4gICAgdGhpcy5sb2FkaW5nJCA9IHByb2dyZXNzU2VydmljZS5sb2FkaW5nJDtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiIHJvbGU9XCJwcm9ncmVzc2JhclwiIFtzdHlsZV09XCInaGVpZ2h0OiAnKyBoZWlnaHQgKydweCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXIge3tzdHlsZUNsYXNzfX1cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnaW5kZXRlcm1pbmF0ZSc6IChsb2FkaW5nJCB8IGFzeW5jKSwgJ2RpcmVjdGlvbi1yZXZlcnNlJzogcmV2ZXJzZX1cIj5cclxuICAgICAgICB7eyhsb2FkaW5nJCB8IGFzeW5jKSAmJiBsYWJlbCA/IGxhYmVsIDogJyd9fVxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW9venNvZnQteW9venNvZnQtbmctcHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9wcm9ncmVzcy95b296c29mdC15b296c29mdC1uZy1wcm9ncmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of yoozsoft-ng
3
- */
4
- export const YOOZSOFT_YOOZSOFT_NG = "@yoozsoft/yoozsoft-ng";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgeW9venNvZnQtbmdcbiAqL1xuXG5leHBvcnQgY29uc3QgWU9PWlNPRlRfWU9PWlNPRlRfTkcgPSBcIkB5b296c29mdC95b296c29mdC1uZ1wiOyJdfQ==
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of ys-select
3
- */
4
- export * from './src/ys-select/ys-select.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3NlbGVjdC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB5cy1zZWxlY3RcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NyYy95cy1zZWxlY3QveXMtc2VsZWN0LmNvbXBvbmVudCc7XHJcblxyXG4iXX0=
@@ -1,63 +0,0 @@
1
- import { NgClass, NgFor, NgIf } from '@angular/common';
2
- import { Component, Input, forwardRef } from '@angular/core';
3
- import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- export class YsSelectComponent {
7
- constructor() {
8
- this.options = [];
9
- this.optionLabel = 'label';
10
- this.isDisabled = false;
11
- this.onChange = () => { };
12
- this.onTouched = () => { };
13
- }
14
- get value() { return this.val; }
15
- set value(val) {
16
- if (val !== undefined && this.val !== val) {
17
- this.val = val;
18
- this.onChange(val);
19
- this.onTouched(val);
20
- }
21
- }
22
- writeValue(obj) {
23
- this.value = obj;
24
- }
25
- registerOnChange(fn) {
26
- this.onChange = fn;
27
- }
28
- registerOnTouched(fn) {
29
- this.onTouched = fn;
30
- }
31
- setDisabledState(isDisabled) {
32
- this.isDisabled = isDisabled;
33
- }
34
- clearValue() {
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: YsSelectComponent, isStandalone: true, selector: "ys-select", inputs: { options: "options", optionLabel: "optionLabel", placeholder: "placeholder", styleClass: "styleClass" }, providers: [
38
- {
39
- provide: NG_VALUE_ACCESSOR,
40
- useExisting: forwardRef(() => YsSelectComponent),
41
- multi: true
42
- }
43
- ], ngImport: i0, template: "<select class=\"form-select\" aria-label=\"Select option\" [(ngModel)]=\"value\" [disabled]=\"isDisabled\"\r\n [ngClass]=\"styleClass\">\r\n <option *ngIf=\"placeholder\" selected disabled [ngValue]=\"null\"> {{placeholder}} </option>\r\n <option *ngFor=\"let item of options; let i = index;\" [selected]=\" i === 0 && !placeholder \" [ngValue]=\"item\">\r\n {{item[optionLabel]}}\r\n </option>\r\n</select>\r\n\r\n<!-- <button type=\"button\" class=\"fa fa-times\" (click)=\"clearValue()\"></button> -->", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: YsSelectComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'ys-select', standalone: true, imports: [NgIf, NgFor, NgClass, FormsModule], providers: [
48
- {
49
- provide: NG_VALUE_ACCESSOR,
50
- useExisting: forwardRef(() => YsSelectComponent),
51
- multi: true
52
- }
53
- ], template: "<select class=\"form-select\" aria-label=\"Select option\" [(ngModel)]=\"value\" [disabled]=\"isDisabled\"\r\n [ngClass]=\"styleClass\">\r\n <option *ngIf=\"placeholder\" selected disabled [ngValue]=\"null\"> {{placeholder}} </option>\r\n <option *ngFor=\"let item of options; let i = index;\" [selected]=\" i === 0 && !placeholder \" [ngValue]=\"item\">\r\n {{item[optionLabel]}}\r\n </option>\r\n</select>\r\n\r\n<!-- <button type=\"button\" class=\"fa fa-times\" (click)=\"clearValue()\"></button> -->" }]
54
- }], propDecorators: { options: [{
55
- type: Input
56
- }], optionLabel: [{
57
- type: Input
58
- }], placeholder: [{
59
- type: Input
60
- }], styleClass: [{
61
- type: Input
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXMtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3lvb3pzb2Z0L3lvb3pzb2Z0LW5nL3NlbGVjdC9zcmMveXMtc2VsZWN0L3lzLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95b296c29mdC95b296c29mdC1uZy9zZWxlY3Qvc3JjL3lzLXNlbGVjdC95cy1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWdCdEYsTUFBTSxPQUFPLGlCQUFpQjtJQWQ5QjtRQWdCVyxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVcsT0FBTyxDQUFDO1FBSXZDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUN6QixjQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0tBNEIzQjtJQXpCQyxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLElBQUksS0FBSyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVU7SUFFVixDQUFDOzhHQXBDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwwS0FSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDaEJILDZnQkFRbUYsMERERHZFLElBQUksNkZBQUUsS0FBSyxtSEFBRSxPQUFPLG1GQUFFLFdBQVc7OzJGQVdoQyxpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxhQUdqQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBSVEsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3lzLXNlbGVjdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIE5nQ2xhc3MsIEZvcm1zTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4veXMtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi95cy1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFlzU2VsZWN0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZc1NlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBvcHRpb25MYWJlbDogc3RyaW5nID0gJ2xhYmVsJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBASW5wdXQoKSBzdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cclxuICBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfVxyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9XHJcblxyXG4gIHByaXZhdGUgdmFsPzogYW55O1xyXG4gIGdldCB2YWx1ZSgpIHsgcmV0dXJuIHRoaXMudmFsOyB9XHJcbiAgc2V0IHZhbHVlKHZhbDogYW55KSB7XHJcbiAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWwgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCh2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IG9iajtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBjbGVhclZhbHVlKCkge1xyXG5cclxuICB9XHJcbn1cclxuIiwiPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgYXJpYS1sYWJlbD1cIlNlbGVjdCBvcHRpb25cIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgW25nQ2xhc3NdPVwic3R5bGVDbGFzc1wiPlxyXG4gICAgPG9wdGlvbiAqbmdJZj1cInBsYWNlaG9sZGVyXCIgc2VsZWN0ZWQgZGlzYWJsZWQgW25nVmFsdWVdPVwibnVsbFwiPiB7e3BsYWNlaG9sZGVyfX0gPC9vcHRpb24+XHJcbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnM7IGxldCBpID0gaW5kZXg7XCIgW3NlbGVjdGVkXT1cIiBpID09PSAwICYmICFwbGFjZWhvbGRlciBcIiBbbmdWYWx1ZV09XCJpdGVtXCI+XHJcbiAgICAgICAge3tpdGVtW29wdGlvbkxhYmVsXX19XHJcbiAgICA8L29wdGlvbj5cclxuPC9zZWxlY3Q+XHJcblxyXG48IS0tIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZmEgZmEtdGltZXNcIiAoY2xpY2spPVwiY2xlYXJWYWx1ZSgpXCI+PC9idXR0b24+IC0tPiJdfQ==