@patter/ngx-components 0.5.17 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +24 -24
  2. package/fesm2022/patter-ngx-components.mjs +79 -79
  3. package/fesm2022/patter-ngx-components.mjs.map +1 -1
  4. package/package.json +3 -5
  5. package/patter-ngx-components-19.0.0.tgz +0 -0
  6. package/esm2022/lib/components/tabs/ptr-tab/ptr-tab.component.mjs +0 -23
  7. package/esm2022/lib/components/tabs/ptr-tabs/ptr-tabs.component.mjs +0 -71
  8. package/esm2022/lib/dialog/ptr-dialog/ptr-dialog.component.mjs +0 -46
  9. package/esm2022/lib/dialog/ptr-dialog.service.mjs +0 -48
  10. package/esm2022/lib/dialog/ptr-tooltip/ptr-tooltip.component.mjs +0 -32
  11. package/esm2022/lib/forms/form/form.component.mjs +0 -102
  12. package/esm2022/lib/forms/input/ptr-input/ptr-input.component.mjs +0 -139
  13. package/esm2022/lib/forms/input/select/select.component.mjs +0 -129
  14. package/esm2022/lib/forms/interfaces.mjs +0 -2
  15. package/esm2022/lib/forms/shared/ptr-dialog-list/ptr-dialog-list.component.mjs +0 -195
  16. package/esm2022/lib/loading-spinner/loading-spinner.component.mjs +0 -11
  17. package/esm2022/lib/loading-spinner/loading-spinner.directive.mjs +0 -84
  18. package/esm2022/lib/menu/menu.component.mjs +0 -16
  19. package/esm2022/lib/ptr-breadcrumbs/interfaces.mjs +0 -2
  20. package/esm2022/lib/ptr-breadcrumbs/ptr-breadcrumbs.component.mjs +0 -60
  21. package/esm2022/lib/ptr-button/ptr-button.component.mjs +0 -111
  22. package/esm2022/lib/ptr-title/ptr-title.component.mjs +0 -54
  23. package/esm2022/lib/ptr-toaster/interfaces.mjs +0 -2
  24. package/esm2022/lib/ptr-toaster/ptr-toaster/ptr-toaster.component.mjs +0 -15
  25. package/esm2022/lib/ptr-toaster/ptr-toaster.service.mjs +0 -52
  26. package/esm2022/lib/services/loading.service.mjs +0 -96
  27. package/esm2022/patter-ngx-components.mjs +0 -5
  28. package/esm2022/public-api.mjs +0 -22
@@ -1,60 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, inject, Input } from '@angular/core';
2
- import { toSignal } from '@angular/core/rxjs-interop';
3
- import { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router';
4
- import { filter, distinctUntilChanged } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- export class PtrBreadcrumbsComponent {
8
- showFirstSeparator = true;
9
- router = inject(Router);
10
- activatedRoute = inject(ActivatedRoute);
11
- routeEvents = toSignal(this.router.events.pipe(filter(event => event instanceof NavigationEnd), distinctUntilChanged()));
12
- breadcrumbs = computed(() => {
13
- this.routeEvents();
14
- return this.createBreadcrumbs(this.activatedRoute.root);
15
- });
16
- createBreadcrumbs(route, routeUrl = '', breadcrumbs = []) {
17
- const routeChildren = route.children;
18
- if (routeChildren.length === 0) {
19
- return breadcrumbs;
20
- }
21
- for (const child of routeChildren) {
22
- const routeURL = child.snapshot.url.map(segment => segment.path).join('/');
23
- if (routeURL !== '') {
24
- routeUrl += `/${routeURL}`;
25
- }
26
- const { label, url } = this.getLabelForRoute(child);
27
- // Skip if the label is undefined or empty and the path is empty
28
- if (label && (!breadcrumbs.length || breadcrumbs[breadcrumbs.length - 1].label !== label)) {
29
- breadcrumbs.push({ label, url: url ?? routeUrl });
30
- }
31
- return this.createBreadcrumbs(child, routeUrl, breadcrumbs);
32
- }
33
- return breadcrumbs;
34
- }
35
- getLabelForRoute(route) {
36
- const breadcrumbReturnInfo = {};
37
- const customBreadcrumb = route.snapshot.data['breadcrumb'];
38
- if (customBreadcrumb) {
39
- if (customBreadcrumb.label) {
40
- breadcrumbReturnInfo.label = customBreadcrumb.label;
41
- }
42
- if (customBreadcrumb.url) {
43
- breadcrumbReturnInfo.url = customBreadcrumb.url;
44
- }
45
- }
46
- else if (route.snapshot.title) {
47
- breadcrumbReturnInfo.label = route.snapshot.title;
48
- }
49
- return breadcrumbReturnInfo;
50
- }
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PtrBreadcrumbsComponent, isStandalone: true, selector: "ptr-breadcrumbs", inputs: { showFirstSeparator: "showFirstSeparator" }, ngImport: i0, template: "@if (breadcrumbs().length > 0) {\n <nav aria-label=\"breadcrumb\" class=\"breadcrumb-wrapper\">\n <ol class=\"breadcrumb\" [class.breadcrumb--show-first-separator]=\"showFirstSeparator\">\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let last = $last) {\n <li class=\"breadcrumb-item\" [class.breadcrumb-item--active]=\"last\">\n @if (!last) {\n <a class=\"breadcrumb-item-label\" [routerLink]=\"breadcrumb.url\">{{ breadcrumb.label }}</a>\n }\n @if (last) {\n <span class=\"breadcrumb-item-label\">{{ breadcrumb.label }}</span>\n }\n </li>\n }\n </ol>\n </nav>\n}\n", styles: [".breadcrumb{--breadcrumb-item-color: #ababab;--breadcrumb-item-font-size: var(--wp--preset--font-size--large, 1.25rem);list-style:none;border-radius:.25rem;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:2px}.breadcrumb-item{display:inline-block;margin:0}.breadcrumb-item--active .breadcrumb-item-label{color:inherit;font-weight:700}.breadcrumb-item-label{text-decoration:none;padding:4px;display:inline-block;color:var(--breadcrumb-item-color);font-size:var(--breadcrumb-item-font-size);font-weight:500;border-bottom:2px solid transparent}.breadcrumb-item a{transition:border-bottom .25s,color .25s}.breadcrumb-item a:hover,.breadcrumb-item a:focus{border-bottom-color:var(--wp--preset--color--primary)}.breadcrumb-item:first-child .breadcrumb-item-label{padding-left:0}.breadcrumb-item+.breadcrumb-item .breadcrumb-item-label:before{content:\"/\";padding-right:8px}.breadcrumb.breadcrumb--show-first-separator .breadcrumb-item-label:before{content:\"/\";padding-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrBreadcrumbsComponent, decorators: [{
55
- type: Component,
56
- args: [{ selector: 'ptr-breadcrumbs', standalone: true, imports: [RouterModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (breadcrumbs().length > 0) {\n <nav aria-label=\"breadcrumb\" class=\"breadcrumb-wrapper\">\n <ol class=\"breadcrumb\" [class.breadcrumb--show-first-separator]=\"showFirstSeparator\">\n @for (breadcrumb of breadcrumbs(); track breadcrumb.label; let last = $last) {\n <li class=\"breadcrumb-item\" [class.breadcrumb-item--active]=\"last\">\n @if (!last) {\n <a class=\"breadcrumb-item-label\" [routerLink]=\"breadcrumb.url\">{{ breadcrumb.label }}</a>\n }\n @if (last) {\n <span class=\"breadcrumb-item-label\">{{ breadcrumb.label }}</span>\n }\n </li>\n }\n </ol>\n </nav>\n}\n", styles: [".breadcrumb{--breadcrumb-item-color: #ababab;--breadcrumb-item-font-size: var(--wp--preset--font-size--large, 1.25rem);list-style:none;border-radius:.25rem;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:2px}.breadcrumb-item{display:inline-block;margin:0}.breadcrumb-item--active .breadcrumb-item-label{color:inherit;font-weight:700}.breadcrumb-item-label{text-decoration:none;padding:4px;display:inline-block;color:var(--breadcrumb-item-color);font-size:var(--breadcrumb-item-font-size);font-weight:500;border-bottom:2px solid transparent}.breadcrumb-item a{transition:border-bottom .25s,color .25s}.breadcrumb-item a:hover,.breadcrumb-item a:focus{border-bottom-color:var(--wp--preset--color--primary)}.breadcrumb-item:first-child .breadcrumb-item-label{padding-left:0}.breadcrumb-item+.breadcrumb-item .breadcrumb-item-label:before{content:\"/\";padding-right:8px}.breadcrumb.breadcrumb--show-first-separator .breadcrumb-item-label:before{content:\"/\";padding-right:8px}\n"] }]
57
- }], propDecorators: { showFirstSeparator: [{
58
- type: Input
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHRyLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3B0ci1icmVhZGNydW1icy9wdHItYnJlYWRjcnVtYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9saWIvcHRyLWJyZWFkY3J1bWJzL3B0ci1icmVhZGNydW1icy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBVXBELE1BQU0sT0FBTyx1QkFBdUI7SUFFekIsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBRTNCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4QyxXQUFXLEdBQUcsUUFBUSxDQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDL0Msb0JBQW9CLEVBQUUsQ0FDdkIsQ0FDRixDQUFDO0lBRUYsV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFFSyxpQkFBaUIsQ0FBQyxLQUFxQixFQUFFLFFBQVEsR0FBRyxFQUFFLEVBQUUsY0FBK0IsRUFBRTtRQUMvRixNQUFNLGFBQWEsR0FBcUIsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN2RCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztRQUNELEtBQUssTUFBTSxLQUFLLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEMsTUFBTSxRQUFRLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRixJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsUUFBUSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7WUFDN0IsQ0FBQztZQUNELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXBELGdFQUFnRTtZQUNoRSxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDMUYsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFxQjtRQUM1QyxNQUFNLG9CQUFvQixHQUF3QixFQUFFLENBQUM7UUFDckQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQW9DLENBQUM7UUFFOUYsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLG9CQUFvQixDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFDdEQsQ0FBQztZQUNELElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3pCLG9CQUFvQixDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEMsb0JBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3BELENBQUM7UUFFRCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7dUdBekRVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLGlJQ2JwQyxpcUJBZ0JBLG1oQ0RSWSxZQUFZOzsyRkFLWCx1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJSb3V0ZUluZm8sIFB0ckJyZWFkY3J1bWIgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3B0ci1icmVhZGNydW1icycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHRyLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHRyLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHRyQnJlYWRjcnVtYnNDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBzaG93Rmlyc3RTZXBhcmF0b3IgPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHByaXZhdGUgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG5cclxuICBwcml2YXRlIHJvdXRlRXZlbnRzID0gdG9TaWduYWwoXHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcclxuICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgIClcclxuICApO1xyXG5cclxuICBicmVhZGNydW1icyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHRoaXMucm91dGVFdmVudHMoKTtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUJyZWFkY3J1bWJzKHRoaXMuYWN0aXZhdGVkUm91dGUucm9vdCk7XHJcbiAgfSk7XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQnJlYWRjcnVtYnMocm91dGU6IEFjdGl2YXRlZFJvdXRlLCByb3V0ZVVybCA9ICcnLCBicmVhZGNydW1iczogUHRyQnJlYWRjcnVtYltdID0gW10pOiBQdHJCcmVhZGNydW1iW10ge1xyXG4gICAgY29uc3Qgcm91dGVDaGlsZHJlbjogQWN0aXZhdGVkUm91dGVbXSA9IHJvdXRlLmNoaWxkcmVuO1xyXG4gICAgaWYgKHJvdXRlQ2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBicmVhZGNydW1icztcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygcm91dGVDaGlsZHJlbikge1xyXG4gICAgICBjb25zdCByb3V0ZVVSTDogc3RyaW5nID0gY2hpbGQuc25hcHNob3QudXJsLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpO1xyXG4gICAgICBpZiAocm91dGVVUkwgIT09ICcnKSB7XHJcbiAgICAgICAgcm91dGVVcmwgKz0gYC8ke3JvdXRlVVJMfWA7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgeyBsYWJlbCwgdXJsIH0gPSB0aGlzLmdldExhYmVsRm9yUm91dGUoY2hpbGQpO1xyXG5cclxuICAgICAgLy8gU2tpcCBpZiB0aGUgbGFiZWwgaXMgdW5kZWZpbmVkIG9yIGVtcHR5IGFuZCB0aGUgcGF0aCBpcyBlbXB0eVxyXG4gICAgICBpZiAobGFiZWwgJiYgKCFicmVhZGNydW1icy5sZW5ndGggfHwgYnJlYWRjcnVtYnNbYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV0ubGFiZWwgIT09IGxhYmVsKSkge1xyXG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goeyBsYWJlbCwgdXJsOiB1cmwgPz8gcm91dGVVcmwgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUJyZWFkY3J1bWJzKGNoaWxkLCByb3V0ZVVybCwgYnJlYWRjcnVtYnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRMYWJlbEZvclJvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IEJyZWFkY3J1bWJSb3V0ZUluZm8ge1xyXG4gICAgY29uc3QgYnJlYWRjcnVtYlJldHVybkluZm86IEJyZWFkY3J1bWJSb3V0ZUluZm8gPSB7fTtcclxuICAgIGNvbnN0IGN1c3RvbUJyZWFkY3J1bWIgPSByb3V0ZS5zbmFwc2hvdC5kYXRhWydicmVhZGNydW1iJ10gYXMgQnJlYWRjcnVtYlJvdXRlSW5mbyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAoY3VzdG9tQnJlYWRjcnVtYikge1xyXG4gICAgICBpZiAoY3VzdG9tQnJlYWRjcnVtYi5sYWJlbCkge1xyXG4gICAgICAgIGJyZWFkY3J1bWJSZXR1cm5JbmZvLmxhYmVsID0gY3VzdG9tQnJlYWRjcnVtYi5sYWJlbDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY3VzdG9tQnJlYWRjcnVtYi51cmwpIHtcclxuICAgICAgICBicmVhZGNydW1iUmV0dXJuSW5mby51cmwgPSBjdXN0b21CcmVhZGNydW1iLnVybDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChyb3V0ZS5zbmFwc2hvdC50aXRsZSkge1xyXG4gICAgICBicmVhZGNydW1iUmV0dXJuSW5mby5sYWJlbCA9IHJvdXRlLnNuYXBzaG90LnRpdGxlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBicmVhZGNydW1iUmV0dXJuSW5mbztcclxuICB9XHJcblxyXG59XHJcbiIsIkBpZiAoYnJlYWRjcnVtYnMoKS5sZW5ndGggPiAwKSB7XG4gIDxuYXYgYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJcIiBjbGFzcz1cImJyZWFkY3J1bWItd3JhcHBlclwiPlxuICAgIDxvbCBjbGFzcz1cImJyZWFkY3J1bWJcIiBbY2xhc3MuYnJlYWRjcnVtYi0tc2hvdy1maXJzdC1zZXBhcmF0b3JdPVwic2hvd0ZpcnN0U2VwYXJhdG9yXCI+XG4gICAgICBAZm9yIChicmVhZGNydW1iIG9mIGJyZWFkY3J1bWJzKCk7IHRyYWNrIGJyZWFkY3J1bWIubGFiZWw7IGxldCBsYXN0ID0gJGxhc3QpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCIgW2NsYXNzLmJyZWFkY3J1bWItaXRlbS0tYWN0aXZlXT1cImxhc3RcIj5cbiAgICAgICAgICBAaWYgKCFsYXN0KSB7XG4gICAgICAgICAgICA8YSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbS1sYWJlbFwiIFtyb3V0ZXJMaW5rXT1cImJyZWFkY3J1bWIudXJsXCI+e3sgYnJlYWRjcnVtYi5sYWJlbCB9fTwvYT5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChsYXN0KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJyZWFkY3J1bWItaXRlbS1sYWJlbFwiPnt7IGJyZWFkY3J1bWIubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvb2w+XG4gIDwvbmF2PlxufVxuIl19
@@ -1,111 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, computed, EventEmitter, HostBinding, Input, Output, signal } from '@angular/core';
3
- import { RouterLink } from '@angular/router';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- export class PtrButtonComponent {
7
- get hostClasses() {
8
- const hostClass = [];
9
- if (this.style() === 'secondary') {
10
- hostClass.push('is-style-outline');
11
- }
12
- if (this.style() === 'error') {
13
- hostClass.push('is-style-error-button');
14
- }
15
- if (this.style() === 'icon') {
16
- hostClass.push('is-style-icon-button');
17
- }
18
- if (this.smallSize()) {
19
- hostClass.push('is-style-smaller-element');
20
- }
21
- return hostClass.join(' ');
22
- }
23
- style = signal('normal');
24
- type = signal('button');
25
- disabled = signal(false);
26
- href = signal(null);
27
- routerLink = signal(null);
28
- additionalClasses = signal('');
29
- smallSize = signal(false);
30
- set buttonStyle(value) {
31
- this.style.set(value);
32
- }
33
- set buttonType(value) {
34
- this.type.set(value);
35
- }
36
- set isDisabled(value) {
37
- this.disabled.set(value);
38
- }
39
- set hrefLink(value) {
40
- this.href.set(value);
41
- }
42
- set routerLinkValue(value) {
43
- this.routerLink.set(value);
44
- }
45
- set extraClasses(value) {
46
- this.additionalClasses.set(value);
47
- }
48
- set isSmallSize(value) {
49
- if (value) {
50
- this.smallSize.set(true);
51
- }
52
- }
53
- set isIconButton(value) {
54
- if (value) {
55
- this.style.set('icon');
56
- }
57
- }
58
- ariaLabel = '';
59
- clicked = new EventEmitter();
60
- isLink = computed(() => !!this.href() || !!this.routerLink());
61
- buttonClasses = computed(() => {
62
- const classes = ['wp-block-button__link'];
63
- if (this.style() !== 'normal') {
64
- classes.push(`wp-block-button__link--${this.style()}`);
65
- }
66
- if (this.disabled() && this.isLink()) {
67
- classes.push('disabled');
68
- }
69
- if (this.additionalClasses()) {
70
- classes.push(this.additionalClasses());
71
- }
72
- return classes.join(' ');
73
- });
74
- onClick(event) {
75
- if (this.disabled()) {
76
- event.preventDefault();
77
- return;
78
- }
79
- this.clicked.emit(event);
80
- }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PtrButtonComponent, isStandalone: true, selector: "ptr-button", inputs: { buttonStyle: "buttonStyle", buttonType: "buttonType", isDisabled: "isDisabled", hrefLink: "hrefLink", routerLinkValue: "routerLinkValue", extraClasses: "extraClasses", isSmallSize: "isSmallSize", isIconButton: "isIconButton", ariaLabel: "ariaLabel" }, outputs: { clicked: "clicked" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-template #contentTpl>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if (isLink()) {\r\n<a [attr.href]=\"href()\" [routerLink]=\"routerLink()\" [class]=\"buttonClasses()\" [attr.disabled]=\"disabled() ? '' : null\"\r\n (click)=\"onClick($event)\" [attr.aria-label]=\"ariaLabel ?? null\">\r\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\r\n</a>\r\n} @else {\r\n<button [type]=\"type()\" [class]=\"buttonClasses()\" [disabled]=\"disabled()\" (click)=\"onClick($event)\"\r\n [attr.aria-label]=\"ariaLabel ?? null\">\r\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\r\n</button>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
- }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrButtonComponent, decorators: [{
85
- type: Component,
86
- args: [{ selector: 'ptr-button', standalone: true, imports: [CommonModule, RouterLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #contentTpl>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if (isLink()) {\r\n<a [attr.href]=\"href()\" [routerLink]=\"routerLink()\" [class]=\"buttonClasses()\" [attr.disabled]=\"disabled() ? '' : null\"\r\n (click)=\"onClick($event)\" [attr.aria-label]=\"ariaLabel ?? null\">\r\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\r\n</a>\r\n} @else {\r\n<button [type]=\"type()\" [class]=\"buttonClasses()\" [disabled]=\"disabled()\" (click)=\"onClick($event)\"\r\n [attr.aria-label]=\"ariaLabel ?? null\">\r\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\r\n</button>\r\n}\r\n" }]
87
- }], propDecorators: { hostClasses: [{
88
- type: HostBinding,
89
- args: ['class']
90
- }], buttonStyle: [{
91
- type: Input
92
- }], buttonType: [{
93
- type: Input
94
- }], isDisabled: [{
95
- type: Input
96
- }], hrefLink: [{
97
- type: Input
98
- }], routerLinkValue: [{
99
- type: Input
100
- }], extraClasses: [{
101
- type: Input
102
- }], isSmallSize: [{
103
- type: Input
104
- }], isIconButton: [{
105
- type: Input
106
- }], ariaLabel: [{
107
- type: Input
108
- }], clicked: [{
109
- type: Output
110
- }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHRyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXR0ZXIvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi9wdHItYnV0dG9uL3B0ci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9saWIvcHRyLWJ1dHRvbi9wdHItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVzdDLE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsSUFBMEIsV0FBVztRQUNuQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNyQixTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxHQUFHLE1BQU0sQ0FBYyxRQUFRLENBQUMsQ0FBQztJQUN0QyxJQUFJLEdBQUcsTUFBTSxDQUFnQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLElBQUksR0FBRyxNQUFNLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBQ25DLFVBQVUsR0FBRyxNQUFNLENBQW9DLElBQUksQ0FBQyxDQUFDO0lBQzdELGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFCLElBQWEsV0FBVyxDQUFDLEtBQWtCO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFhLFVBQVUsQ0FBQyxLQUFvQztRQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBYSxVQUFVLENBQUMsS0FBYztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBYSxRQUFRLENBQUMsS0FBb0I7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQWEsZUFBZSxDQUFDLEtBQXdDO1FBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFhLFlBQVksQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQWEsV0FBVyxDQUFDLEtBQWM7UUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBYSxZQUFZLENBQUMsS0FBYztRQUN0QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFUSxTQUFTLEdBQUksRUFBRSxDQUFDO0lBRWYsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFOUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUU5RCxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM1QixNQUFNLE9BQU8sR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFMUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBMEIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO3VHQTdGVSxrQkFBa0I7MkZBQWxCLGtCQUFrQixvYUNiL0Isa29CQWVBLDJDRE5ZLFlBQVksc01BQUUsVUFBVTs7MkZBSXZCLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxtQkFFbEIsdUJBQXVCLENBQUMsTUFBTTs4QkFJckIsV0FBVztzQkFBcEMsV0FBVzt1QkFBQyxPQUFPO2dCQXlCUCxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sVUFBVTtzQkFBdEIsS0FBSztnQkFJTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlPLGVBQWU7c0JBQTNCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQU1PLFlBQVk7c0JBQXhCLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbnR5cGUgQnV0dG9uU3R5bGUgPSAnbm9ybWFsJyB8ICdlcnJvcicgfCAnc2Vjb25kYXJ5JyB8ICdpY29uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncHRyLWJ1dHRvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJMaW5rXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHRyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFB0ckJ1dHRvbkNvbXBvbmVudCB7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgaG9zdENsYXNzZXMoKSB7XHJcbiAgICBjb25zdCBob3N0Q2xhc3MgPSBbXTtcclxuICAgIGlmICh0aGlzLnN0eWxlKCkgPT09ICdzZWNvbmRhcnknKSB7XHJcbiAgICAgIGhvc3RDbGFzcy5wdXNoKCdpcy1zdHlsZS1vdXRsaW5lJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zdHlsZSgpID09PSAnZXJyb3InKSB7XHJcbiAgICAgIGhvc3RDbGFzcy5wdXNoKCdpcy1zdHlsZS1lcnJvci1idXR0b24nKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnN0eWxlKCkgPT09ICdpY29uJykge1xyXG4gICAgICBob3N0Q2xhc3MucHVzaCgnaXMtc3R5bGUtaWNvbi1idXR0b24nKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNtYWxsU2l6ZSgpKSB7XHJcbiAgICAgIGhvc3RDbGFzcy5wdXNoKCdpcy1zdHlsZS1zbWFsbGVyLWVsZW1lbnQnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBob3N0Q2xhc3Muam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgc3R5bGUgPSBzaWduYWw8QnV0dG9uU3R5bGU+KCdub3JtYWwnKTtcclxuICB0eXBlID0gc2lnbmFsPCdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnPignYnV0dG9uJyk7XHJcbiAgZGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGhyZWYgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcbiAgcm91dGVyTGluayA9IHNpZ25hbDxzdHJpbmcgfCAoc3RyaW5nfG51bWJlcilbXSB8IG51bGw+KG51bGwpO1xyXG4gIGFkZGl0aW9uYWxDbGFzc2VzID0gc2lnbmFsKCcnKTtcclxuICBzbWFsbFNpemUgPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICBASW5wdXQoKSBzZXQgYnV0dG9uU3R5bGUodmFsdWU6IEJ1dHRvblN0eWxlKSB7XHJcbiAgICB0aGlzLnN0eWxlLnNldCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgYnV0dG9uVHlwZSh2YWx1ZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcpIHtcclxuICAgIHRoaXMudHlwZS5zZXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGlzYWJsZWQuc2V0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBocmVmTGluayh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgdGhpcy5ocmVmLnNldCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgcm91dGVyTGlua1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCAoc3RyaW5nfG51bWJlcilbXSB8IG51bGwpIHtcclxuICAgIHRoaXMucm91dGVyTGluay5zZXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGV4dHJhQ2xhc3Nlcyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmFkZGl0aW9uYWxDbGFzc2VzLnNldCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgaXNTbWFsbFNpemUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNtYWxsU2l6ZS5zZXQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgaXNJY29uQnV0dG9uKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zdHlsZS5zZXQoJ2ljb24nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD8gPSAnJztcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG5cclxuICBpc0xpbmsgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMuaHJlZigpIHx8ICEhdGhpcy5yb3V0ZXJMaW5rKCkpO1xyXG5cclxuICBidXR0b25DbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3QgY2xhc3NlcyA9IFsnd3AtYmxvY2stYnV0dG9uX19saW5rJ107XHJcblxyXG4gICAgaWYgKHRoaXMuc3R5bGUoKSAhPT0gJ25vcm1hbCcpIHtcclxuICAgICAgY2xhc3Nlcy5wdXNoKGB3cC1ibG9jay1idXR0b25fX2xpbmstLSR7dGhpcy5zdHlsZSgpfWApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRpc2FibGVkKCkgJiYgdGhpcy5pc0xpbmsoKSkge1xyXG4gICAgICBjbGFzc2VzLnB1c2goJ2Rpc2FibGVkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuYWRkaXRpb25hbENsYXNzZXMoKSkge1xyXG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5hZGRpdGlvbmFsQ2xhc3NlcygpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XHJcbiAgfSk7XHJcblxyXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY2xpY2tlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5AaWYgKGlzTGluaygpKSB7XHJcbjxhIFthdHRyLmhyZWZdPVwiaHJlZigpXCIgW3JvdXRlckxpbmtdPVwicm91dGVyTGluaygpXCIgW2NsYXNzXT1cImJ1dHRvbkNsYXNzZXMoKVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkKCkgPyAnJyA6IG51bGxcIlxyXG4gIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/PyBudWxsXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+XHJcbjwvYT5cclxufSBAZWxzZSB7XHJcbjxidXR0b24gW3R5cGVdPVwidHlwZSgpXCIgW2NsYXNzXT1cImJ1dHRvbkNsYXNzZXMoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCIgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPz8gbnVsbFwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxyXG48L2J1dHRvbj5cclxufVxyXG4iXX0=
@@ -1,54 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
3
- import { ActivatedRoute, NavigationEnd, Router, TitleStrategy } from '@angular/router';
4
- import { filter, map, startWith } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- export class PtrTitleComponent {
8
- styleClass = 'entry-title';
9
- wrapperStyleClass = '';
10
- screenReaderOnly = false;
11
- router = inject(Router);
12
- activatedRoute = inject(ActivatedRoute);
13
- titleStrategy = inject(TitleStrategy);
14
- displayTitle$;
15
- hideTitle$;
16
- ngOnInit() {
17
- const routeEvents$ = this.router.events.pipe(filter((event) => event instanceof NavigationEnd), startWith(null), map(() => this.getRoute(this.activatedRoute)));
18
- this.hideTitle$ = routeEvents$.pipe(map(route => !!route.snapshot.data['hideTitle']));
19
- this.displayTitle$ = routeEvents$.pipe(map(route => {
20
- if (route.snapshot.data['hideTitle']) {
21
- return '';
22
- }
23
- // Check for a custom display title in the route data
24
- const customDisplayTitle = route.snapshot.data['displayTitle'];
25
- if (customDisplayTitle) {
26
- return customDisplayTitle;
27
- }
28
- // If no custom display title, use the resolved title from TitleStrategy
29
- const resolvedTitle = this.titleStrategy.getResolvedTitleForRoute(route.snapshot) || '';
30
- return resolvedTitle;
31
- // Remove any common suffix (checking for both ' | ' and ' - ' separators)
32
- // return this.removeCommonSuffix(resolvedTitle);
33
- }));
34
- }
35
- getRoute(route) {
36
- while (route.firstChild) {
37
- route = route.firstChild;
38
- }
39
- return route;
40
- }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PtrTitleComponent, isStandalone: true, selector: "ptr-title", inputs: { styleClass: "styleClass", wrapperStyleClass: "wrapperStyleClass", screenReaderOnly: "screenReaderOnly" }, ngImport: i0, template: "@if ((hideTitle$|async) === false) {\r\n @if(wrapperStyleClass) {\r\n <header [class]=\"wrapperStyleClass\" [class.screen-reader-text]=\"screenReaderOnly\">\r\n <h1 [class]=\"styleClass\">{{displayTitle$|async}}</h1>\r\n </header>\r\n } @else {\r\n <h1 [class]=\"styleClass\" [class.screen-reader-text]=\"screenReaderOnly\">{{displayTitle$|async}}</h1>\r\n }\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrTitleComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: 'ptr-title', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ((hideTitle$|async) === false) {\r\n @if(wrapperStyleClass) {\r\n <header [class]=\"wrapperStyleClass\" [class.screen-reader-text]=\"screenReaderOnly\">\r\n <h1 [class]=\"styleClass\">{{displayTitle$|async}}</h1>\r\n </header>\r\n } @else {\r\n <h1 [class]=\"styleClass\" [class.screen-reader-text]=\"screenReaderOnly\">{{displayTitle$|async}}</h1>\r\n }\r\n}\r\n" }]
47
- }], propDecorators: { styleClass: [{
48
- type: Input
49
- }], wrapperStyleClass: [{
50
- type: Input
51
- }], screenReaderOnly: [{
52
- type: Input
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHRyLXRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3B0ci10aXRsZS9wdHItdGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9saWIvcHRyLXRpdGxlL3B0ci10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVMxRCxNQUFNLE9BQU8saUJBQWlCO0lBRW5CLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDM0IsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUUxQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU5QyxhQUFhLENBQXNCO0lBQ25DLFVBQVUsQ0FBdUI7SUFFakMsUUFBUTtRQUNOLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDMUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUEwQixFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUN6RSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQzlDLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUNqRCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDVixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUNELHFEQUFxRDtZQUNyRCxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQy9ELElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxrQkFBa0IsQ0FBQztZQUM1QixDQUFDO1lBQ0Qsd0VBQXdFO1lBQ3hFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4RixPQUFPLGFBQWEsQ0FBQztZQUNyQiwwRUFBMEU7WUFDMUUsaURBQWlEO1FBQ25ELENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQXFCO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7dUdBaERVLGlCQUFpQjsyRkFBakIsaUJBQWlCLHlMQ1o5QixrWUFTQSwyQ0REWSxZQUFZOzsyRkFJWCxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl0QyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgVGl0bGVTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncHRyLXRpdGxlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wdHItdGl0bGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQdHJUaXRsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3MgPSAnZW50cnktdGl0bGUnO1xyXG4gIEBJbnB1dCgpIHdyYXBwZXJTdHlsZUNsYXNzID0gJyc7XHJcbiAgQElucHV0KCkgc2NyZWVuUmVhZGVyT25seSA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHByaXZhdGUgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG4gIHByaXZhdGUgdGl0bGVTdHJhdGVneSA9IGluamVjdChUaXRsZVN0cmF0ZWd5KTtcclxuXHJcbiAgZGlzcGxheVRpdGxlJCE6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICBoaWRlVGl0bGUkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCByb3V0ZUV2ZW50cyQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcclxuICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIE5hdmlnYXRpb25FbmQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgc3RhcnRXaXRoKG51bGwpLFxyXG4gICAgICBtYXAoKCkgPT4gdGhpcy5nZXRSb3V0ZSh0aGlzLmFjdGl2YXRlZFJvdXRlKSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5oaWRlVGl0bGUkID0gcm91dGVFdmVudHMkLnBpcGUoXHJcbiAgICAgIG1hcChyb3V0ZSA9PiAhIXJvdXRlLnNuYXBzaG90LmRhdGFbJ2hpZGVUaXRsZSddKVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmRpc3BsYXlUaXRsZSQgPSByb3V0ZUV2ZW50cyQucGlwZShcclxuICAgICAgbWFwKHJvdXRlID0+IHtcclxuICAgICAgICBpZiAocm91dGUuc25hcHNob3QuZGF0YVsnaGlkZVRpdGxlJ10pIHtcclxuICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQ2hlY2sgZm9yIGEgY3VzdG9tIGRpc3BsYXkgdGl0bGUgaW4gdGhlIHJvdXRlIGRhdGFcclxuICAgICAgICBjb25zdCBjdXN0b21EaXNwbGF5VGl0bGUgPSByb3V0ZS5zbmFwc2hvdC5kYXRhWydkaXNwbGF5VGl0bGUnXTtcclxuICAgICAgICBpZiAoY3VzdG9tRGlzcGxheVRpdGxlKSB7XHJcbiAgICAgICAgICByZXR1cm4gY3VzdG9tRGlzcGxheVRpdGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBubyBjdXN0b20gZGlzcGxheSB0aXRsZSwgdXNlIHRoZSByZXNvbHZlZCB0aXRsZSBmcm9tIFRpdGxlU3RyYXRlZ3lcclxuICAgICAgICBjb25zdCByZXNvbHZlZFRpdGxlID0gdGhpcy50aXRsZVN0cmF0ZWd5LmdldFJlc29sdmVkVGl0bGVGb3JSb3V0ZShyb3V0ZS5zbmFwc2hvdCkgfHwgJyc7XHJcbiAgICAgICAgcmV0dXJuIHJlc29sdmVkVGl0bGU7XHJcbiAgICAgICAgLy8gUmVtb3ZlIGFueSBjb21tb24gc3VmZml4IChjaGVja2luZyBmb3IgYm90aCAnIHwgJyBhbmQgJyAtICcgc2VwYXJhdG9ycylcclxuICAgICAgICAvLyByZXR1cm4gdGhpcy5yZW1vdmVDb21tb25TdWZmaXgocmVzb2x2ZWRUaXRsZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZSB7XHJcbiAgICB3aGlsZSAocm91dGUuZmlyc3RDaGlsZCkge1xyXG4gICAgICByb3V0ZSA9IHJvdXRlLmZpcnN0Q2hpbGQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcm91dGU7XHJcbiAgfVxyXG5cclxufVxyXG4iLCJAaWYgKChoaWRlVGl0bGUkfGFzeW5jKSA9PT0gZmFsc2UpIHtcclxuICBAaWYod3JhcHBlclN0eWxlQ2xhc3MpIHtcclxuICAgIDxoZWFkZXIgW2NsYXNzXT1cIndyYXBwZXJTdHlsZUNsYXNzXCIgW2NsYXNzLnNjcmVlbi1yZWFkZXItdGV4dF09XCJzY3JlZW5SZWFkZXJPbmx5XCI+XHJcbiAgICAgIDxoMSBbY2xhc3NdPVwic3R5bGVDbGFzc1wiPnt7ZGlzcGxheVRpdGxlJHxhc3luY319PC9oMT5cclxuICAgIDwvaGVhZGVyPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGgxIFtjbGFzc109XCJzdHlsZUNsYXNzXCIgW2NsYXNzLnNjcmVlbi1yZWFkZXItdGV4dF09XCJzY3JlZW5SZWFkZXJPbmx5XCI+e3tkaXNwbGF5VGl0bGUkfGFzeW5jfX08L2gxPlxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3B0ci10b2FzdGVyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUHRyVG9hc3Qge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIHR5cGU6ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnaW5mbycgfCAnd2FybmluZyc7XHJcbn1cclxuIl19
@@ -1,15 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
3
- import { PtrToasterService } from '../ptr-toaster.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- export class PtrToasterComponent {
7
- toasterService = inject(PtrToasterService);
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrToasterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PtrToasterComponent, isStandalone: true, selector: "ptr-toaster", ngImport: i0, template: "<div class=\"toaster-container\" aria-live=\"polite\" aria-atomic=\"true\">\r\n @for (toast of toasterService.getToasts()(); track toast.id) {\r\n <div class=\"toast\" [ngClass]=\"toast.type\" role=\"alert\">\r\n <span>{{toast.message}}</span>\r\n <button (click)=\"toasterService.remove(toast.id)\" aria-label=\"Close\"><span>&times;</span></button>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".toaster-container{position:fixed;top:20px;right:20px;z-index:1000}.toast{padding:10px 20px;margin-bottom:10px;border-radius:calc(var(--wp--custom--default-border-radius) / 2);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 2px 4px 2px #00000026}.success{background-color:var(--wp--preset--color--primary, #28a745)}.error{background-color:var(--wp--custom--color--error, #dc3545)}.info{background-color:var(--wp--preset--color--secondary, #17a2b8)}.warning{background-color:var(--wp--preset--color--secondary, #ffc107)}button{background:none;border:none;color:inherit;font-size:2em;cursor:pointer;font-family:monospace}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrToasterComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'ptr-toaster', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"toaster-container\" aria-live=\"polite\" aria-atomic=\"true\">\r\n @for (toast of toasterService.getToasts()(); track toast.id) {\r\n <div class=\"toast\" [ngClass]=\"toast.type\" role=\"alert\">\r\n <span>{{toast.message}}</span>\r\n <button (click)=\"toasterService.remove(toast.id)\" aria-label=\"Close\"><span>&times;</span></button>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".toaster-container{position:fixed;top:20px;right:20px;z-index:1000}.toast{padding:10px 20px;margin-bottom:10px;border-radius:calc(var(--wp--custom--default-border-radius) / 2);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 2px 4px 2px #00000026}.success{background-color:var(--wp--preset--color--primary, #28a745)}.error{background-color:var(--wp--custom--color--error, #dc3545)}.info{background-color:var(--wp--preset--color--secondary, #17a2b8)}.warning{background-color:var(--wp--preset--color--secondary, #ffc107)}button{background:none;border:none;color:inherit;font-size:2em;cursor:pointer;font-family:monospace}\n"] }]
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHRyLXRvYXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9saWIvcHRyLXRvYXN0ZXIvcHRyLXRvYXN0ZXIvcHRyLXRvYXN0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9saWIvcHRyLXRvYXN0ZXIvcHRyLXRvYXN0ZXIvcHRyLXRvYXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFVM0QsTUFBTSxPQUFPLG1CQUFtQjtJQUNwQixjQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7dUdBRDFDLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHVFQ1poQyx5WUFRQSxxdEJERFksWUFBWTs7MkZBS1gsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBR04sdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQdHJUb2FzdGVyU2VydmljZSB9IGZyb20gJy4uL3B0ci10b2FzdGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwdHItdG9hc3RlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHRyLXRvYXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wdHItdG9hc3Rlci5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFB0clRvYXN0ZXJDb21wb25lbnQge1xyXG4gIHByb3RlY3RlZCB0b2FzdGVyU2VydmljZSA9IGluamVjdChQdHJUb2FzdGVyU2VydmljZSk7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRvYXN0ZXItY29udGFpbmVyXCIgYXJpYS1saXZlPVwicG9saXRlXCIgYXJpYS1hdG9taWM9XCJ0cnVlXCI+XHJcbiAgQGZvciAodG9hc3Qgb2YgdG9hc3RlclNlcnZpY2UuZ2V0VG9hc3RzKCkoKTsgdHJhY2sgdG9hc3QuaWQpIHtcclxuICA8ZGl2IGNsYXNzPVwidG9hc3RcIiBbbmdDbGFzc109XCJ0b2FzdC50eXBlXCIgcm9sZT1cImFsZXJ0XCI+XHJcbiAgICA8c3Bhbj57e3RvYXN0Lm1lc3NhZ2V9fTwvc3Bhbj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cInRvYXN0ZXJTZXJ2aWNlLnJlbW92ZSh0b2FzdC5pZClcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48c3Bhbj4mdGltZXM7PC9zcGFuPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { ApplicationRef, createComponent, DestroyRef, EnvironmentInjector, inject, Injectable, Injector, signal } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { timer } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export class PtrToasterService {
6
- destroyRef = inject(DestroyRef);
7
- injector = inject(Injector);
8
- environmentInjector = inject(EnvironmentInjector);
9
- appRef = inject(ApplicationRef);
10
- toasts = signal([]);
11
- counter = 0;
12
- toasterComponentRef = null;
13
- constructor() {
14
- this.injectToasterComponent();
15
- }
16
- injectToasterComponent() {
17
- if (this.toasterComponentRef) {
18
- return;
19
- }
20
- import('./ptr-toaster/ptr-toaster.component').then(module => {
21
- this.toasterComponentRef = createComponent(module.PtrToasterComponent, {
22
- environmentInjector: this.environmentInjector,
23
- elementInjector: this.injector
24
- });
25
- const domElem = this.toasterComponentRef.location.nativeElement;
26
- document.body.appendChild(domElem);
27
- this.appRef.attachView(this.toasterComponentRef.hostView);
28
- });
29
- }
30
- getToasts() {
31
- return this.toasts.asReadonly();
32
- }
33
- show(message, type = 'info') {
34
- const id = this.counter++;
35
- this.toasts.update(toasts => [...toasts, { id, message, type }]);
36
- timer(10000)
37
- .pipe(takeUntilDestroyed(this.destroyRef))
38
- .subscribe(() => this.remove(id));
39
- }
40
- remove(id) {
41
- this.toasts.update(toasts => toasts.filter(t => t.id !== id));
42
- }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrToasterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
44
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrToasterService, providedIn: 'root' });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrToasterService, decorators: [{
47
- type: Injectable,
48
- args: [{
49
- providedIn: 'root'
50
- }]
51
- }], ctorParameters: () => [] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHRyLXRvYXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3B0ci10b2FzdGVyL3B0ci10b2FzdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBZ0IsZUFBZSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckosT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNN0IsTUFBTSxPQUFPLGlCQUFpQjtJQUVwQixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVoQyxNQUFNLEdBQUcsTUFBTSxDQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDWixtQkFBbUIsR0FBaUMsSUFBSSxDQUFDO0lBRWpFO1FBQ0UsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFO2dCQUNyRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUM3QyxlQUFlLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDL0IsQ0FBQyxDQUFDO1lBRUgsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDaEUsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFlLEVBQUUsT0FBeUIsTUFBTTtRQUMxRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFakUsS0FBSyxDQUFDLEtBQUssQ0FBQzthQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sTUFBTSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7dUdBL0NVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBjcmVhdGVDb21wb25lbnQsIERlc3Ryb3lSZWYsIEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFB0clRvYXN0IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFB0clRvYXN0ZXJTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcclxuICBwcml2YXRlIGFwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XHJcblxyXG4gIHByaXZhdGUgdG9hc3RzID0gc2lnbmFsPFB0clRvYXN0W10+KFtdKTtcclxuICBwcml2YXRlIGNvdW50ZXIgPSAwO1xyXG4gIHByaXZhdGUgdG9hc3RlckNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5pbmplY3RUb2FzdGVyQ29tcG9uZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluamVjdFRvYXN0ZXJDb21wb25lbnQoKSB7XHJcbiAgICBpZiAodGhpcy50b2FzdGVyQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpbXBvcnQoJy4vcHRyLXRvYXN0ZXIvcHRyLXRvYXN0ZXIuY29tcG9uZW50JykudGhlbihtb2R1bGUgPT4ge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJDb21wb25lbnRSZWYgPSBjcmVhdGVDb21wb25lbnQobW9kdWxlLlB0clRvYXN0ZXJDb21wb25lbnQsIHtcclxuICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsXHJcbiAgICAgICAgZWxlbWVudEluamVjdG9yOiB0aGlzLmluamVjdG9yXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgY29uc3QgZG9tRWxlbSA9IHRoaXMudG9hc3RlckNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xyXG4gICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMudG9hc3RlckNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUb2FzdHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50b2FzdHMuYXNSZWFkb25seSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3cobWVzc2FnZTogc3RyaW5nLCB0eXBlOiBQdHJUb2FzdFsndHlwZSddID0gJ2luZm8nKSB7XHJcbiAgICBjb25zdCBpZCA9IHRoaXMuY291bnRlcisrO1xyXG4gICAgdGhpcy50b2FzdHMudXBkYXRlKHRvYXN0cyA9PiBbLi4udG9hc3RzLCB7IGlkLCBtZXNzYWdlLCB0eXBlIH1dKTtcclxuXHJcbiAgICB0aW1lcigxMDAwMClcclxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZW1vdmUoaWQpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmUoaWQ6IG51bWJlcikge1xyXG4gICAgdGhpcy50b2FzdHMudXBkYXRlKHRvYXN0cyA9PiB0b2FzdHMuZmlsdGVyKHQgPT4gdC5pZCAhPT0gaWQpKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,96 +0,0 @@
1
- import { computed, Injectable, signal } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Optimized Async Loading Service using Angular Signals
5
- * Supports global loading state and named loading areas with auto-cleanup
6
- *
7
- * To use as a non-singleton service, add to providers array in @Component decorator:
8
- * @Component({
9
- * selector: 'app-example',
10
- * templateUrl: './example.component.html',
11
- * providers: [PtrLoadingService]
12
- * })
13
- *
14
- * Usage:
15
- * Set loading: this.loadingService.setLoading(true)
16
- * - Set loading: this.loadingService.setLoading(true, 'areaName')
17
- *
18
- * - Get loading (template): {{ loadingService.isLoading()() }}
19
- * - Get loading (template): {{ loadingService.isLoading('areaName')() }}
20
- *
21
- * - Get loading (component): this.loadingService.isLoading()()
22
- * - Get loading (component): this.loadingService.isLoading('areaName')()
23
- *
24
- * - Check if any loading: {{ loadingService.isAnyLoading()() }}
25
- *
26
- * - React to loading changes: effect(() => console.log('Loading:', this.loadingService.isLoading('areaName')()))
27
- */
28
- export class PtrLoadingService {
29
- globalTaskCount = signal(0);
30
- loadingAreas = new Map();
31
- isLoading(area) {
32
- if (!area) {
33
- return computed(() => this.globalTaskCount() > 0);
34
- }
35
- return computed(() => {
36
- const areaSignal = this.loadingAreas.get(area);
37
- return areaSignal ? areaSignal() > 0 : false;
38
- });
39
- }
40
- isAnyLoading() {
41
- return computed(() => {
42
- if (this.globalTaskCount() > 0)
43
- return true;
44
- for (const areaSignal of this.loadingAreas.values()) {
45
- if (areaSignal() > 0)
46
- return true;
47
- }
48
- return false;
49
- });
50
- }
51
- setLoading(value, area) {
52
- if (!area) {
53
- this.updateTaskCount(this.globalTaskCount, value);
54
- }
55
- else {
56
- this.updateNamedAreaLoading(area, value);
57
- }
58
- }
59
- resetLoading(area) {
60
- if (!area) {
61
- this.globalTaskCount.set(0);
62
- }
63
- else if (this.loadingAreas.has(area)) {
64
- this.loadingAreas.get(area).set(0);
65
- this.loadingAreas.delete(area);
66
- }
67
- }
68
- updateNamedAreaLoading(area, increment) {
69
- let areaSignal = this.loadingAreas.get(area);
70
- if (!areaSignal && increment) {
71
- areaSignal = signal(0);
72
- this.loadingAreas.set(area, areaSignal);
73
- }
74
- if (areaSignal) {
75
- areaSignal.update(count => {
76
- const newCount = increment ? count + 1 : Math.max(0, count - 1);
77
- if (newCount === 0) {
78
- this.loadingAreas.delete(area);
79
- }
80
- return newCount;
81
- });
82
- }
83
- }
84
- updateTaskCount(taskCount, increment) {
85
- taskCount.update(count => increment ? count + 1 : Math.max(0, count - 1));
86
- }
87
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
88
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrLoadingService, providedIn: 'root' });
89
- }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrLoadingService, decorators: [{
91
- type: Injectable,
92
- args: [{
93
- providedIn: 'root'
94
- }]
95
- }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbG9hZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFFckU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFFcEIsZUFBZSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQTZDLENBQUM7SUFFNUUsU0FBUyxDQUFDLElBQWE7UUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0MsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUM1QyxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxVQUFVLEVBQUUsR0FBRyxDQUFDO29CQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3BDLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFjLEVBQUUsSUFBYTtRQUN0QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWE7UUFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxJQUFZLEVBQUUsU0FBa0I7UUFDN0QsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM3QixVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7Z0JBQ0QsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxTQUE0QyxFQUFFLFNBQWtCO1FBQ3RGLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7dUdBL0RVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgSW5qZWN0YWJsZSwgc2lnbmFsLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBPcHRpbWl6ZWQgQXN5bmMgTG9hZGluZyBTZXJ2aWNlIHVzaW5nIEFuZ3VsYXIgU2lnbmFsc1xyXG4gKiBTdXBwb3J0cyBnbG9iYWwgbG9hZGluZyBzdGF0ZSBhbmQgbmFtZWQgbG9hZGluZyBhcmVhcyB3aXRoIGF1dG8tY2xlYW51cFxyXG4gKlxyXG4gKiBUbyB1c2UgYXMgYSBub24tc2luZ2xldG9uIHNlcnZpY2UsIGFkZCB0byBwcm92aWRlcnMgYXJyYXkgaW4gQENvbXBvbmVudCBkZWNvcmF0b3I6XHJcbiAqIEBDb21wb25lbnQoe1xyXG4gKiAgIHNlbGVjdG9yOiAnYXBwLWV4YW1wbGUnLFxyXG4gKiAgIHRlbXBsYXRlVXJsOiAnLi9leGFtcGxlLmNvbXBvbmVudC5odG1sJyxcclxuICogICBwcm92aWRlcnM6IFtQdHJMb2FkaW5nU2VydmljZV1cclxuICogfSlcclxuICpcclxuICogVXNhZ2U6XHJcbiAqIFNldCBsb2FkaW5nOiB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSlcclxuICogLSBTZXQgbG9hZGluZzogdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUsICdhcmVhTmFtZScpXHJcbiAqXHJcbiAqIC0gR2V0IGxvYWRpbmcgKHRlbXBsYXRlKToge3sgbG9hZGluZ1NlcnZpY2UuaXNMb2FkaW5nKCkoKSB9fVxyXG4gKiAtIEdldCBsb2FkaW5nICh0ZW1wbGF0ZSk6IHt7IGxvYWRpbmdTZXJ2aWNlLmlzTG9hZGluZygnYXJlYU5hbWUnKSgpIH19XHJcbiAqXHJcbiAqIC0gR2V0IGxvYWRpbmcgKGNvbXBvbmVudCk6IHRoaXMubG9hZGluZ1NlcnZpY2UuaXNMb2FkaW5nKCkoKVxyXG4gKiAtIEdldCBsb2FkaW5nIChjb21wb25lbnQpOiB0aGlzLmxvYWRpbmdTZXJ2aWNlLmlzTG9hZGluZygnYXJlYU5hbWUnKSgpXHJcbiAqXHJcbiAqIC0gQ2hlY2sgaWYgYW55IGxvYWRpbmc6IHt7IGxvYWRpbmdTZXJ2aWNlLmlzQW55TG9hZGluZygpKCkgfX1cclxuICpcclxuICogLSBSZWFjdCB0byBsb2FkaW5nIGNoYW5nZXM6IGVmZmVjdCgoKSA9PiBjb25zb2xlLmxvZygnTG9hZGluZzonLCB0aGlzLmxvYWRpbmdTZXJ2aWNlLmlzTG9hZGluZygnYXJlYU5hbWUnKSgpKSlcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFB0ckxvYWRpbmdTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBnbG9iYWxUYXNrQ291bnQgPSBzaWduYWwoMCk7XHJcbiAgcHJpdmF0ZSBsb2FkaW5nQXJlYXMgPSBuZXcgTWFwPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2Ygc2lnbmFsPG51bWJlcj4+PigpO1xyXG5cclxuICBpc0xvYWRpbmcoYXJlYT86IHN0cmluZyk6IFNpZ25hbDxib29sZWFuPiB7XHJcbiAgICBpZiAoIWFyZWEpIHtcclxuICAgICAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IHRoaXMuZ2xvYmFsVGFza0NvdW50KCkgPiAwKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBhcmVhU2lnbmFsID0gdGhpcy5sb2FkaW5nQXJlYXMuZ2V0KGFyZWEpO1xyXG4gICAgICByZXR1cm4gYXJlYVNpZ25hbCA/IGFyZWFTaWduYWwoKSA+IDAgOiBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaXNBbnlMb2FkaW5nKCk6IFNpZ25hbDxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5nbG9iYWxUYXNrQ291bnQoKSA+IDApIHJldHVybiB0cnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IGFyZWFTaWduYWwgb2YgdGhpcy5sb2FkaW5nQXJlYXMudmFsdWVzKCkpIHtcclxuICAgICAgICBpZiAoYXJlYVNpZ25hbCgpID4gMCkgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRMb2FkaW5nKHZhbHVlOiBib29sZWFuLCBhcmVhPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIWFyZWEpIHtcclxuICAgICAgdGhpcy51cGRhdGVUYXNrQ291bnQodGhpcy5nbG9iYWxUYXNrQ291bnQsIHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXBkYXRlTmFtZWRBcmVhTG9hZGluZyhhcmVhLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldExvYWRpbmcoYXJlYT86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCFhcmVhKSB7XHJcbiAgICAgIHRoaXMuZ2xvYmFsVGFza0NvdW50LnNldCgwKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5sb2FkaW5nQXJlYXMuaGFzKGFyZWEpKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZ0FyZWFzLmdldChhcmVhKSEuc2V0KDApO1xyXG4gICAgICB0aGlzLmxvYWRpbmdBcmVhcy5kZWxldGUoYXJlYSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZU5hbWVkQXJlYUxvYWRpbmcoYXJlYTogc3RyaW5nLCBpbmNyZW1lbnQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBhcmVhU2lnbmFsID0gdGhpcy5sb2FkaW5nQXJlYXMuZ2V0KGFyZWEpO1xyXG4gICAgaWYgKCFhcmVhU2lnbmFsICYmIGluY3JlbWVudCkge1xyXG4gICAgICBhcmVhU2lnbmFsID0gc2lnbmFsKDApO1xyXG4gICAgICB0aGlzLmxvYWRpbmdBcmVhcy5zZXQoYXJlYSwgYXJlYVNpZ25hbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFyZWFTaWduYWwpIHtcclxuICAgICAgYXJlYVNpZ25hbC51cGRhdGUoY291bnQgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0NvdW50ID0gaW5jcmVtZW50ID8gY291bnQgKyAxIDogTWF0aC5tYXgoMCwgY291bnQgLSAxKTtcclxuICAgICAgICBpZiAobmV3Q291bnQgPT09IDApIHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZ0FyZWFzLmRlbGV0ZShhcmVhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld0NvdW50O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVGFza0NvdW50KHRhc2tDb3VudDogUmV0dXJuVHlwZTx0eXBlb2Ygc2lnbmFsPG51bWJlcj4+LCBpbmNyZW1lbnQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRhc2tDb3VudC51cGRhdGUoY291bnQgPT4gaW5jcmVtZW50ID8gY291bnQgKyAxIDogTWF0aC5tYXgoMCwgY291bnQgLSAxKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVyLW5neC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9wYXR0ZXItbmd4LWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,22 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-components
3
- */
4
- export * from './lib/menu/menu.component';
5
- export * from './lib/forms/interfaces';
6
- export { PtrFormComponent } from './lib/forms/form/form.component';
7
- export { PtrSelectComponent } from './lib/forms/input/select/select.component';
8
- export { PtrInputComponent } from './lib/forms/input/ptr-input/ptr-input.component';
9
- export { PtrTitleComponent } from './lib/ptr-title/ptr-title.component';
10
- export { PtrLoadingSpinnerComponent } from './lib/loading-spinner/loading-spinner.component';
11
- export { PtrLoadingSpinnerDirective } from './lib/loading-spinner/loading-spinner.directive';
12
- export { PtrLoadingService } from './lib/services/loading.service';
13
- export { PtrButtonComponent } from './lib/ptr-button/ptr-button.component';
14
- export { PtrDialogService } from './lib/dialog/ptr-dialog.service';
15
- export { PtrDialogComponent } from './lib/dialog/ptr-dialog/ptr-dialog.component';
16
- export { PtrTooltipComponent } from './lib/dialog/ptr-tooltip/ptr-tooltip.component';
17
- export { PtrBreadcrumbsComponent } from './lib/ptr-breadcrumbs/ptr-breadcrumbs.component';
18
- export { PtrTabsComponent } from './lib/components/tabs/ptr-tabs/ptr-tabs.component';
19
- export { PtrTabComponent } from './lib/components/tabs/ptr-tab/ptr-tab.component';
20
- export { PtrToasterService } from './lib/ptr-toaster/ptr-toaster.service';
21
- export { PtrToasterComponent } from './lib/ptr-toaster/ptr-toaster/ptr-toaster.component';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUU3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUVyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUcxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFFbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWNvbXBvbmVudHNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51L21lbnUuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2ludGVyZmFjZXMnO1xyXG5leHBvcnQgeyBQdHJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZm9ybXMvZm9ybS9mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFB0clNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vbGliL2Zvcm1zL2lucHV0L3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0IHsgUHRySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9mb3Jtcy9pbnB1dC9wdHItaW5wdXQvcHRyLWlucHV0LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgeyBQdHJUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vbGliL3B0ci10aXRsZS9wdHItdGl0bGUuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB7IFB0ckxvYWRpbmdTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvbG9hZGluZy1zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBQdHJMb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2xvYWRpbmctc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCB7IFB0ckxvYWRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvbG9hZGluZy5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB7IFB0ckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbGliL3B0ci1idXR0b24vcHRyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IHsgUHRyRGlhbG9nU2VydmljZSB9IGZyb20gJy4vbGliL2RpYWxvZy9wdHItZGlhbG9nLnNlcnZpY2UnO1xyXG5leHBvcnQgeyBQdHJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kaWFsb2cvcHRyLWRpYWxvZy9wdHItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFB0clRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kaWFsb2cvcHRyLXRvb2x0aXAvcHRyLXRvb2x0aXAuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB7IFB0ckJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvcHRyLWJyZWFkY3J1bWJzL3B0ci1icmVhZGNydW1icy5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBQdHJCcmVhZGNydW1iIH0gZnJvbSAnLi9saWIvcHRyLWJyZWFkY3J1bWJzL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IHsgUHRyVGFic0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFicy9wdHItdGFicy9wdHItdGFicy5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBQdHJUYWJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYnMvcHRyLXRhYi9wdHItdGFiLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgeyBQdHJUb2FzdGVyU2VydmljZSB9IGZyb20gJy4vbGliL3B0ci10b2FzdGVyL3B0ci10b2FzdGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgeyBQdHJUb2FzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvcHRyLXRvYXN0ZXIvcHRyLXRvYXN0ZXIvcHRyLXRvYXN0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgUHRyVG9hc3QgfSBmcm9tICcuL2xpYi9wdHItdG9hc3Rlci9pbnRlcmZhY2VzJztcclxuIl19