@patter/ngx-components 0.5.17 → 19.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 (27) hide show
  1. package/fesm2022/patter-ngx-components.mjs +68 -69
  2. package/fesm2022/patter-ngx-components.mjs.map +1 -1
  3. package/package.json +3 -5
  4. package/patter-ngx-components-19.0.1.tgz +0 -0
  5. package/esm2022/lib/components/tabs/ptr-tab/ptr-tab.component.mjs +0 -23
  6. package/esm2022/lib/components/tabs/ptr-tabs/ptr-tabs.component.mjs +0 -71
  7. package/esm2022/lib/dialog/ptr-dialog/ptr-dialog.component.mjs +0 -46
  8. package/esm2022/lib/dialog/ptr-dialog.service.mjs +0 -48
  9. package/esm2022/lib/dialog/ptr-tooltip/ptr-tooltip.component.mjs +0 -32
  10. package/esm2022/lib/forms/form/form.component.mjs +0 -102
  11. package/esm2022/lib/forms/input/ptr-input/ptr-input.component.mjs +0 -139
  12. package/esm2022/lib/forms/input/select/select.component.mjs +0 -129
  13. package/esm2022/lib/forms/interfaces.mjs +0 -2
  14. package/esm2022/lib/forms/shared/ptr-dialog-list/ptr-dialog-list.component.mjs +0 -195
  15. package/esm2022/lib/loading-spinner/loading-spinner.component.mjs +0 -11
  16. package/esm2022/lib/loading-spinner/loading-spinner.directive.mjs +0 -84
  17. package/esm2022/lib/menu/menu.component.mjs +0 -16
  18. package/esm2022/lib/ptr-breadcrumbs/interfaces.mjs +0 -2
  19. package/esm2022/lib/ptr-breadcrumbs/ptr-breadcrumbs.component.mjs +0 -60
  20. package/esm2022/lib/ptr-button/ptr-button.component.mjs +0 -111
  21. package/esm2022/lib/ptr-title/ptr-title.component.mjs +0 -54
  22. package/esm2022/lib/ptr-toaster/interfaces.mjs +0 -2
  23. package/esm2022/lib/ptr-toaster/ptr-toaster/ptr-toaster.component.mjs +0 -15
  24. package/esm2022/lib/ptr-toaster/ptr-toaster.service.mjs +0 -52
  25. package/esm2022/lib/services/loading.service.mjs +0 -96
  26. package/esm2022/patter-ngx-components.mjs +0 -5
  27. package/esm2022/public-api.mjs +0 -22
@@ -1,129 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-empty-function */
2
- import { ChangeDetectionStrategy, Component, computed, EventEmitter, forwardRef, HostListener, Input, Output, signal, ViewChild } from '@angular/core';
3
- import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
- import { PtrDialogListComponent } from '../../shared/ptr-dialog-list/ptr-dialog-list.component';
5
- import * as i0 from "@angular/core";
6
- export class PtrSelectComponent {
7
- options;
8
- showSearch = true;
9
- placeholder = 'Select an option';
10
- label = '';
11
- description = '';
12
- labelPosition = 'top';
13
- selectionChange = new EventEmitter();
14
- selectButton;
15
- dialogList;
16
- value = signal(null);
17
- displayValue = computed(() => {
18
- const currentValue = this.value();
19
- if (currentValue === null)
20
- return null;
21
- const allOptions = this.flattenOptions(this.options);
22
- const selectedOption = allOptions?.find(option => option.value === currentValue);
23
- return selectedOption ? selectedOption.label : null;
24
- });
25
- effectivePlaceholder = computed(() => {
26
- return this.placeholder ?? 'Select an option';
27
- });
28
- componentId = Math.random().toString(36).substring(2);
29
- labelId = `${this.componentId}-label`;
30
- inputId = `${this.componentId}-input`;
31
- onChange = () => { };
32
- onTouched = () => { };
33
- onDocumentClick(event) {
34
- if (!this.dialogList.dialog.nativeElement.contains(event.target) &&
35
- !event.target.closest('.select-button') &&
36
- this.dialogList.isOpen()) {
37
- this.dialogList.closeDialog();
38
- }
39
- }
40
- toggleDialog() {
41
- if (this.dialogList.isOpen()) {
42
- this.dialogList.closeDialog();
43
- }
44
- else {
45
- this.dialogList.openDialog();
46
- }
47
- }
48
- onOptionSelected(optionValue) {
49
- this.value.set(optionValue);
50
- this.onChange(optionValue);
51
- this.onTouched();
52
- this.selectionChange.emit(optionValue);
53
- }
54
- writeValue(value) {
55
- this.value.set(value);
56
- }
57
- registerOnChange(fn) {
58
- this.onChange = fn;
59
- }
60
- registerOnTouched(fn) {
61
- this.onTouched = fn;
62
- }
63
- setDisabledState(isDisabled) {
64
- if (this.selectButton?.nativeElement) {
65
- this.selectButton.nativeElement.disabled = isDisabled;
66
- }
67
- }
68
- flattenOptions(options) {
69
- if (!options)
70
- return [];
71
- return options.flatMap(option => {
72
- if (typeof option === 'string') {
73
- return { value: option, label: option };
74
- }
75
- else if ('groupLabel' in option) {
76
- return option.options;
77
- }
78
- else {
79
- return option;
80
- }
81
- });
82
- }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PtrSelectComponent, isStandalone: true, selector: "ptr-select", inputs: { options: "options", showSearch: "showSearch", placeholder: "placeholder", label: "label", description: "description", labelPosition: "labelPosition" }, outputs: { selectionChange: "selectionChange" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, providers: [
85
- {
86
- provide: NG_VALUE_ACCESSOR,
87
- useExisting: forwardRef(() => PtrSelectComponent),
88
- multi: true
89
- }
90
- ], viewQueries: [{ propertyName: "selectButton", first: true, predicate: ["selectButton"], descendants: true }, { propertyName: "dialogList", first: true, predicate: ["dialogList"], descendants: true }], ngImport: i0, template: "<label class=\"gfield_label gform-field-label\" [attr.for]=\"inputId\"\r\n [class.gfield--input-wrapper--label-inline]=\"labelPosition === 'inline'\">{{ label }}</label>\r\n@if(description){\r\n<div class=\"gfield_description\">{{description}}</div>\r\n}\r\n<div class=\"gfield--input-wrapper ginput_container\"\r\n [class.gfield--input-wrapper--label-inline]=\"labelPosition === 'inline'\">\r\n\r\n <button #selectButton type=\"button\" class=\"select-button\" [attr.id]=\"inputId\" [attr.aria-haspopup]=\"'listbox'\"\r\n [attr.aria-expanded]=\"dialogList.isOpen()\" [attr.aria-labelledby]=\"labelId\" (click)=\"toggleDialog()\">\r\n <span [attr.id]=\"labelId\">@if (displayValue(); as dValue) { {{dValue}} } @else { {{effectivePlaceholder()}} }</span>\r\n </button>\r\n\r\n @if (labelPosition === 'inline') {\r\n <fieldset aria-hidden=\"true\" class=\"input-fieldset\">\r\n <legend class=\"input-legend gfield_label gform-field-label gform-field-label--hidden\">\r\n <span>{{label}}</span>\r\n </legend>\r\n </fieldset>\r\n }\r\n\r\n <ptr-dialog-list #dialogList [options]=\"options\" (selectionChange)=\"onOptionSelected($event)\"\r\n [showSearch]=\"showSearch\" />\r\n\r\n</div>\r\n", styles: [".select-button{appearance:none;background-color:#fff;text-align:left;cursor:pointer;border:1px solid var(--wp--custom--color--border);width:100%;padding:var(--wp--custom--content--button-input-padding-y, 12px) var(--wp--custom--content--button-input-padding-x, 16px);margin:0;font-size:var(--wp--preset--font-size--small, inherit);font-family:Arial,Helvetica,sans-serif;z-index:5;color:#000;border-radius:calc(var(--wp--custom--default-border-radius) / 2);transition:border-color .3s,color .3s,background-color .3s;transition-timing-function:cubic-bezier(.2,1,.3,1);background-position:calc(100% - 4px) 50%;background-repeat:no-repeat;background-image:url(data:image/png;base64,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)}.select-button[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.gfield--input-wrapper--label-inline .select-button{border-color:transparent;outline:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: PtrDialogListComponent, selector: "ptr-dialog-list", inputs: ["options", "showSearch", "searchPlaceholder", "dialogTitle"], outputs: ["selectionChange", "dialogClosed", "searchTermChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrSelectComponent, decorators: [{
93
- type: Component,
94
- args: [{ selector: 'ptr-select', standalone: true, imports: [
95
- FormsModule,
96
- ReactiveFormsModule,
97
- PtrDialogListComponent
98
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
99
- {
100
- provide: NG_VALUE_ACCESSOR,
101
- useExisting: forwardRef(() => PtrSelectComponent),
102
- multi: true
103
- }
104
- ], template: "<label class=\"gfield_label gform-field-label\" [attr.for]=\"inputId\"\r\n [class.gfield--input-wrapper--label-inline]=\"labelPosition === 'inline'\">{{ label }}</label>\r\n@if(description){\r\n<div class=\"gfield_description\">{{description}}</div>\r\n}\r\n<div class=\"gfield--input-wrapper ginput_container\"\r\n [class.gfield--input-wrapper--label-inline]=\"labelPosition === 'inline'\">\r\n\r\n <button #selectButton type=\"button\" class=\"select-button\" [attr.id]=\"inputId\" [attr.aria-haspopup]=\"'listbox'\"\r\n [attr.aria-expanded]=\"dialogList.isOpen()\" [attr.aria-labelledby]=\"labelId\" (click)=\"toggleDialog()\">\r\n <span [attr.id]=\"labelId\">@if (displayValue(); as dValue) { {{dValue}} } @else { {{effectivePlaceholder()}} }</span>\r\n </button>\r\n\r\n @if (labelPosition === 'inline') {\r\n <fieldset aria-hidden=\"true\" class=\"input-fieldset\">\r\n <legend class=\"input-legend gfield_label gform-field-label gform-field-label--hidden\">\r\n <span>{{label}}</span>\r\n </legend>\r\n </fieldset>\r\n }\r\n\r\n <ptr-dialog-list #dialogList [options]=\"options\" (selectionChange)=\"onOptionSelected($event)\"\r\n [showSearch]=\"showSearch\" />\r\n\r\n</div>\r\n", styles: [".select-button{appearance:none;background-color:#fff;text-align:left;cursor:pointer;border:1px solid var(--wp--custom--color--border);width:100%;padding:var(--wp--custom--content--button-input-padding-y, 12px) var(--wp--custom--content--button-input-padding-x, 16px);margin:0;font-size:var(--wp--preset--font-size--small, inherit);font-family:Arial,Helvetica,sans-serif;z-index:5;color:#000;border-radius:calc(var(--wp--custom--default-border-radius) / 2);transition:border-color .3s,color .3s,background-color .3s;transition-timing-function:cubic-bezier(.2,1,.3,1);background-position:calc(100% - 4px) 50%;background-repeat:no-repeat;background-image:url(data:image/png;base64,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)}.select-button[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.gfield--input-wrapper--label-inline .select-button{border-color:transparent;outline:0}\n"] }]
105
- }], propDecorators: { options: [{
106
- type: Input
107
- }], showSearch: [{
108
- type: Input
109
- }], placeholder: [{
110
- type: Input
111
- }], label: [{
112
- type: Input
113
- }], description: [{
114
- type: Input
115
- }], labelPosition: [{
116
- type: Input
117
- }], selectionChange: [{
118
- type: Output
119
- }], selectButton: [{
120
- type: ViewChild,
121
- args: ['selectButton']
122
- }], dialogList: [{
123
- type: ViewChild,
124
- args: ['dialogList']
125
- }], onDocumentClick: [{
126
- type: HostListener,
127
- args: ['document:click', ['$event']]
128
- }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2lucHV0L3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9saWIvZm9ybXMvaW5wdXQvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25LLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7QUFxQmhHLE1BQU0sT0FBTyxrQkFBa0I7SUFFcEIsT0FBTyxDQUFzRDtJQUM3RCxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLFdBQVcsR0FBbUIsa0JBQWtCLENBQUM7SUFDakQsS0FBSyxHQUFJLEVBQUUsQ0FBQztJQUNaLFdBQVcsR0FBSSxFQUFFLENBQUM7SUFDbEIsYUFBYSxHQUFzQixLQUFLLENBQUM7SUFFeEMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0lBRW5DLFlBQVksQ0FBaUM7SUFDL0MsVUFBVSxDQUEwQjtJQUU3RCxLQUFLLEdBQUcsTUFBTSxDQUFnQixJQUFJLENBQUMsQ0FBQztJQUVwQyxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMzQixNQUFNLFlBQVks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Z0JBRW9CLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDQSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBd0J2QixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFB0ck9wdGlvbiwgUHRyT3B0aW9uR3JvdXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgUHRyRGlhbG9nTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdHItZGlhbG9nLWxpc3QvcHRyLWRpYWxvZy1saXN0LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3B0ci1zZWxlY3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUHRyRGlhbG9nTGlzdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQdHJTZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFB0clNlbGVjdENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IChQdHJPcHRpb24gfCBQdHJPcHRpb25Hcm91cCB8IHN0cmluZylbXSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBzaG93U2VhcmNoID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZyB8IG51bGwgPSAnU2VsZWN0IGFuIG9wdGlvbic7XHJcbiAgQElucHV0KCkgbGFiZWw/ID0gJyc7XHJcbiAgQElucHV0KCkgZGVzY3JpcHRpb24/ID0gJyc7XHJcbiAgQElucHV0KCkgbGFiZWxQb3NpdGlvbj86ICd0b3AnIHwgJ2lubGluZScgPSAndG9wJztcclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0QnV0dG9uJykgc2VsZWN0QnV0dG9uITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nTGlzdCcpIGRpYWxvZ0xpc3QhOiBQdHJEaWFsb2dMaXN0Q29tcG9uZW50O1xyXG5cclxuICB2YWx1ZSA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcclxuXHJcbiAgZGlzcGxheVZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZSgpO1xyXG4gICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCBhbGxPcHRpb25zID0gdGhpcy5mbGF0dGVuT3B0aW9ucyh0aGlzLm9wdGlvbnMpO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBhbGxPcHRpb25zPy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IGN1cnJlbnRWYWx1ZSk7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb24gPyBzZWxlY3RlZE9wdGlvbi5sYWJlbCA6IG51bGw7XHJcbiAgfSk7XHJcblxyXG4gIGVmZmVjdGl2ZVBsYWNlaG9sZGVyID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXIgPz8gJ1NlbGVjdCBhbiBvcHRpb24nO1xyXG4gIH0pO1xyXG5cclxuICBwcml2YXRlIGNvbXBvbmVudElkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xyXG4gIGxhYmVsSWQgPSBgJHt0aGlzLmNvbXBvbmVudElkfS1sYWJlbGA7XHJcbiAgaW5wdXRJZCA9IGAke3RoaXMuY29tcG9uZW50SWR9LWlucHV0YDtcclxuXHJcbiAgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5kaWFsb2dMaXN0LmRpYWxvZy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxyXG4gICAgICAhKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLnNlbGVjdC1idXR0b24nKSAmJlxyXG4gICAgICB0aGlzLmRpYWxvZ0xpc3QuaXNPcGVuKCkpIHtcclxuICAgICAgdGhpcy5kaWFsb2dMaXN0LmNsb3NlRGlhbG9nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVEaWFsb2coKSB7XHJcbiAgICBpZiAodGhpcy5kaWFsb2dMaXN0LmlzT3BlbigpKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nTGlzdC5jbG9zZURpYWxvZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaWFsb2dMaXN0Lm9wZW5EaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uT3B0aW9uU2VsZWN0ZWQob3B0aW9uVmFsdWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHRoaXMudmFsdWUuc2V0KG9wdGlvblZhbHVlKTtcclxuICAgIHRoaXMub25DaGFuZ2Uob3B0aW9uVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQob3B0aW9uVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0QnV0dG9uPy5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0QnV0dG9uLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmbGF0dGVuT3B0aW9ucyhvcHRpb25zOiAoUHRyT3B0aW9uIHwgUHRyT3B0aW9uR3JvdXAgfCBzdHJpbmcpW10gfCB1bmRlZmluZWQpOiBQdHJPcHRpb25bXSB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIHJldHVybiBbXTtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9ucy5mbGF0TWFwKG9wdGlvbiA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHJldHVybiB7IHZhbHVlOiBvcHRpb24sIGxhYmVsOiBvcHRpb24gfTtcclxuICAgICAgfSBlbHNlIGlmICgnZ3JvdXBMYWJlbCcgaW4gb3B0aW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGxhYmVsIGNsYXNzPVwiZ2ZpZWxkX2xhYmVsIGdmb3JtLWZpZWxkLWxhYmVsXCIgW2F0dHIuZm9yXT1cImlucHV0SWRcIlxyXG4gIFtjbGFzcy5nZmllbGQtLWlucHV0LXdyYXBwZXItLWxhYmVsLWlubGluZV09XCJsYWJlbFBvc2l0aW9uID09PSAnaW5saW5lJ1wiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuQGlmKGRlc2NyaXB0aW9uKXtcclxuPGRpdiBjbGFzcz1cImdmaWVsZF9kZXNjcmlwdGlvblwiPnt7ZGVzY3JpcHRpb259fTwvZGl2PlxyXG59XHJcbjxkaXYgY2xhc3M9XCJnZmllbGQtLWlucHV0LXdyYXBwZXIgZ2lucHV0X2NvbnRhaW5lclwiXHJcbiAgW2NsYXNzLmdmaWVsZC0taW5wdXQtd3JhcHBlci0tbGFiZWwtaW5saW5lXT1cImxhYmVsUG9zaXRpb24gPT09ICdpbmxpbmUnXCI+XHJcblxyXG4gIDxidXR0b24gI3NlbGVjdEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZWxlY3QtYnV0dG9uXCIgW2F0dHIuaWRdPVwiaW5wdXRJZFwiIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiJ2xpc3Rib3gnXCJcclxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZGlhbG9nTGlzdC5pc09wZW4oKVwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbElkXCIgKGNsaWNrKT1cInRvZ2dsZURpYWxvZygpXCI+XHJcbiAgICA8c3BhbiBbYXR0ci5pZF09XCJsYWJlbElkXCI+QGlmIChkaXNwbGF5VmFsdWUoKTsgYXMgZFZhbHVlKSB7IHt7ZFZhbHVlfX0gfSBAZWxzZSB7IHt7ZWZmZWN0aXZlUGxhY2Vob2xkZXIoKX19IH08L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIEBpZiAobGFiZWxQb3NpdGlvbiA9PT0gJ2lubGluZScpIHtcclxuICA8ZmllbGRzZXQgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJpbnB1dC1maWVsZHNldFwiPlxyXG4gICAgPGxlZ2VuZCBjbGFzcz1cImlucHV0LWxlZ2VuZCBnZmllbGRfbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwtLWhpZGRlblwiPlxyXG4gICAgICA8c3Bhbj57e2xhYmVsfX08L3NwYW4+XHJcbiAgICA8L2xlZ2VuZD5cclxuICA8L2ZpZWxkc2V0PlxyXG4gIH1cclxuXHJcbiAgPHB0ci1kaWFsb2ctbGlzdCAjZGlhbG9nTGlzdCBbb3B0aW9uc109XCJvcHRpb25zXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgW3Nob3dTZWFyY2hdPVwic2hvd1NlYXJjaFwiIC8+XHJcblxyXG48L2Rpdj5cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jVmFsaWRhdG9yRm4sIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQdHJDb25kaXRpb25hbFJ1bGUge1xyXG4gIGZpZWxkOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XHJcbiAgcmVzdWx0OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHRyQ29uZGl0aW9uYWxDb25maWcge1xyXG4gIHNob3dXaGVuPzogUHRyQ29uZGl0aW9uYWxSdWxlW107XHJcbiAgbGFiZWw/OiBQdHJDb25kaXRpb25hbFJ1bGVbXTtcclxuICBwbGFjZWhvbGRlcj86IFB0ckNvbmRpdGlvbmFsUnVsZVtdO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQdHJPcHRpb24ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQdHJPcHRpb25Hcm91cCB7XHJcbiAgZ3JvdXBMYWJlbDogc3RyaW5nO1xyXG4gIG9wdGlvbnM6IFB0ck9wdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcHRpb25JbnB1dHMgPSAoc3RyaW5nIHwgUHRyT3B0aW9uKVtdIHwgUHRyT3B0aW9uR3JvdXBbXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHRyRm9ybUZpZWxkIHtcclxuICB0eXBlOiAndGV4dCcgfCAndGV4dGFyZWEnIHwgJ251bWJlcicgfCAnZW1haWwnIHwgJ3Bhc3N3b3JkJyB8ICdzZWFyY2gnIHwgJ3NlbGVjdCcgfCAnZGF0ZScgfCAnaGlkZGVuJztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICB2YWx1ZT86IHVua25vd247XHJcbiAgc2l6ZT86ICdmdWxsJyB8ICdoYWxmJyB8ICd0aGlyZCcgfCAnb25lLXNpeHRoJyB8ICdxdWFydGVyJyB8ICd0aHJlZS1xdWFydGVycycgfCAndHdvLXRoaXJkJztcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICB2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXTtcclxuICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XHJcbiAgYXN5bmNWYWxpZGF0b3JzPzogQXN5bmNWYWxpZGF0b3JGbltdO1xyXG4gIHZhbGlkYXRpb25NZXNzYWdlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gIC8vIFNlbGVjdCBzcGVjaWZpY1xyXG4gIG9wdGlvbnM/OiBPcHRpb25JbnB1dHM7XHJcbiAgZGlhbG9nSGVscFRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8vIEFzeW5jIHNlYXJjaFxyXG4gIHNlYXJjaEZuPzogKHRlcm06IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmdbXT47XHJcblxyXG4gIC8vIENvbmRpdGlvbmFsIGZpZWxkc1xyXG4gIGNvbmRpdGlvbmFsPzogUHRyQ29uZGl0aW9uYWxDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHRyRm9ybUNvbmZpZyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgZmllbGRzOiBQdHJGb3JtRmllbGRbXTtcclxuICBmb3JtQ2xhc3M/OiBzdHJpbmc7XHJcbiAgZm9ybVZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbltdO1xyXG4gIHN1Ym1pdFRleHQ/OiBzdHJpbmc7XHJcbiAgc3VibWl0RnVsbFdpZHRoPzogYm9vbGVhbjtcclxuICBsYWJlbFBvc2l0aW9uPzogJ3RvcCcgfCAnaW5saW5lJztcclxufVxyXG4iXX0=
@@ -1,195 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, EventEmitter, Input, Output, signal, ViewChild } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- export class PtrDialogListComponent {
6
- set options(value) {
7
- this._options.set(this.processOptions(value));
8
- }
9
- showSearch = false;
10
- searchPlaceholder = 'Search...';
11
- dialogTitle = '';
12
- selectionChange = new EventEmitter();
13
- dialogClosed = new EventEmitter();
14
- searchTermChanged = new EventEmitter();
15
- dialog;
16
- _options = signal([]);
17
- value = signal(null);
18
- searchTerm = signal('');
19
- highlightedIndex = signal(-1);
20
- isOpen = signal(false);
21
- componentId = Math.random().toString(36).substring(2);
22
- listId = `${this.componentId}-list`;
23
- filteredOptions = computed(() => {
24
- const term = this.searchTerm().toLowerCase();
25
- return this._options().flatMap(item => {
26
- if (item.type === 'group') {
27
- const filteredOptions = item.options.filter(option => option.label.toLowerCase().includes(term));
28
- return filteredOptions.length > 0 ? [{ ...item, options: filteredOptions }] : [];
29
- }
30
- else {
31
- return item.label.toLowerCase().includes(term) ? [item] : [];
32
- }
33
- });
34
- });
35
- openDialog() {
36
- this.dialog.nativeElement.show();
37
- this.adjustDialogPosition();
38
- this.isOpen.set(true);
39
- }
40
- openDialogSilent() {
41
- this.dialog.nativeElement.setAttribute('open', 'true');
42
- this.adjustDialogPosition();
43
- this.isOpen.set(true);
44
- }
45
- closeDialog() {
46
- this.dialog.nativeElement.close();
47
- this.isOpen.set(false);
48
- this.searchTerm.set('');
49
- this.highlightedIndex.set(-1);
50
- this.dialogClosed.emit();
51
- this.resetDialogPosition();
52
- }
53
- updateSearchTerm(term) {
54
- this.searchTerm.set(term);
55
- this.highlightedIndex.set(-1);
56
- this.searchTermChanged.emit(term);
57
- }
58
- onDialogKeyDown(event) {
59
- if (event.key === 'Escape') {
60
- this.closeDialog();
61
- event.preventDefault();
62
- }
63
- // When there is no search input and there are options, move input into the first option
64
- if (!this.showSearch && this.filteredOptions().length > 0 && this.highlightedIndex() === -1) {
65
- if (event.key === 'Tab' || event.key === 'ArrowDown') {
66
- this.highlightedIndex.update(i => Math.min(i + 1, this.getTotalOptionsCount() - 1));
67
- this.focusOption();
68
- event.preventDefault();
69
- }
70
- }
71
- }
72
- onInputKeyDown(event) {
73
- switch (event.key) {
74
- case 'ArrowDown':
75
- this.highlightedIndex.update(i => Math.min(i + 1, this.getTotalOptionsCount() - 1));
76
- this.focusOption();
77
- event.preventDefault();
78
- break;
79
- case 'Escape':
80
- this.closeDialog();
81
- event.preventDefault();
82
- break;
83
- }
84
- }
85
- onOptionKeyDown(event, optionValue) {
86
- switch (event.key) {
87
- case 'ArrowDown':
88
- this.highlightedIndex.update(i => Math.min(i + 1, this.getTotalOptionsCount() - 1));
89
- this.focusOption();
90
- event.preventDefault();
91
- break;
92
- case 'ArrowUp':
93
- this.highlightedIndex.update(i => Math.max(i - 1, -1));
94
- this.focusOption();
95
- event.preventDefault();
96
- break;
97
- case 'Enter':
98
- case ' ':
99
- this.selectOption(optionValue);
100
- event.preventDefault();
101
- break;
102
- }
103
- }
104
- focusOption() {
105
- if (this.highlightedIndex() >= 0) {
106
- const options = this.dialog.nativeElement.querySelectorAll('li[role="option"]');
107
- options[this.highlightedIndex()].focus();
108
- }
109
- }
110
- selectOption(optionValue) {
111
- this.value.set(optionValue);
112
- this.selectionChange.emit(optionValue);
113
- this.closeDialog();
114
- }
115
- getTotalOptionsCount() {
116
- return this.filteredOptions().reduce((count, item) => {
117
- if (item.type === 'group') {
118
- return count + item.options.length;
119
- }
120
- return count + 1;
121
- }, 0);
122
- }
123
- processOptions(options) {
124
- if (!options)
125
- return [];
126
- return options.map(option => {
127
- if (typeof option === 'string') {
128
- return {
129
- type: 'option',
130
- label: option,
131
- value: option
132
- };
133
- }
134
- else if ('groupLabel' in option) {
135
- return {
136
- type: 'group',
137
- label: option.groupLabel,
138
- options: option.options.map(subOption => ({
139
- type: 'option',
140
- label: typeof subOption === 'string' ? subOption : subOption.label,
141
- value: typeof subOption === 'string' ? subOption : subOption.value
142
- }))
143
- };
144
- }
145
- else {
146
- return {
147
- type: 'option',
148
- label: option.label,
149
- value: option.value
150
- };
151
- }
152
- });
153
- }
154
- adjustDialogPosition() {
155
- const dialogRect = this.dialog.nativeElement.getBoundingClientRect();
156
- const viewportHeight = window.innerHeight;
157
- const spaceBelow = viewportHeight - dialogRect.bottom;
158
- if (spaceBelow > 0) {
159
- this.dialog.nativeElement.style.top = '100%';
160
- }
161
- else {
162
- this.dialog.nativeElement.style.bottom = '100%';
163
- }
164
- }
165
- resetDialogPosition() {
166
- this.dialog.nativeElement.style.top = '';
167
- this.dialog.nativeElement.style.bottom = '';
168
- }
169
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrDialogListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
170
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PtrDialogListComponent, isStandalone: true, selector: "ptr-dialog-list", inputs: { options: "options", showSearch: "showSearch", searchPlaceholder: "searchPlaceholder", dialogTitle: "dialogTitle" }, outputs: { selectionChange: "selectionChange", dialogClosed: "dialogClosed", searchTermChanged: "searchTermChanged" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<dialog #dialog class=\"ptr-dialog-list\" (keydown)=\"onDialogKeyDown($event)\" [attr.aria-label]=\"'Options'\">\r\n\r\n @if(dialogTitle) {\r\n <p class=\"dialog-title\">{{dialogTitle}}</p>\r\n }\r\n\r\n @if (showSearch) {\r\n <div>\r\n <input #searchInput [ngModel]=\"searchTerm()\" (ngModelChange)=\"updateSearchTerm($event)\"\r\n [attr.aria-expanded]=\"isOpen()\" [attr.aria-owns]=\"listId\" (keydown)=\"onInputKeyDown($event)\"\r\n [attr.aria-autocomplete]=\"'list'\" role=\"combobox\" [attr.aria-controls]=\"listId\" [placeholder]=\"searchPlaceholder\"\r\n class=\"search-input\">\r\n </div>\r\n }\r\n\r\n <ul [attr.id]=\"listId\" role=\"listbox\" class=\"option-list\">\r\n @for (item of filteredOptions(); track item.label) {\r\n @if (item.type === 'option') {\r\n <li role=\"option\" [attr.id]=\"item.value\" [attr.aria-selected]=\"item.value === value()\"\r\n [class.selected]=\"item.value === value()\" [class.highlighted]=\"item === filteredOptions()[highlightedIndex()]\"\r\n (click)=\"selectOption(item.value!)\" (keydown)=\"onOptionKeyDown($event, item.value!)\"\r\n [attr.tabindex]=\"item === filteredOptions()[highlightedIndex()] ? 0 : -1\">\r\n {{ item.label }}\r\n </li>\r\n } @else {\r\n <li role=\"group\" [attr.aria-label]=\"item.label\">\r\n {{ item.label }}\r\n </li>\r\n @for (option of item.options!; track option.value) {\r\n <li role=\"option\" [attr.id]=\"option.value\" [attr.aria-selected]=\"option.value === value()\"\r\n [class.selected]=\"option.value === value()\" [class.highlighted]=\"option === filteredOptions()[highlightedIndex()]\"\r\n (click)=\"selectOption(option.value!)\" (keydown)=\"onOptionKeyDown($event, option.value!)\"\r\n [attr.tabindex]=\"option === filteredOptions()[highlightedIndex()] ? 0 : -1\">\r\n {{ option.label }}\r\n </li>\r\n }\r\n }\r\n }\r\n </ul>\r\n\r\n</dialog>\r\n", styles: [".ptr-dialog-list{margin:0;padding:0;border:1px solid var(--wp--custom--color--border);width:100%;max-height:350px;overflow-y:auto;z-index:5;border-radius:calc(var(--wp--custom--default-border-radius) / 2);border-top-left-radius:0;border-top-right-radius:0;scrollbar-width:thin}.ptr-dialog-list:focus{outline:none}input.search-input{padding:calc(var(--wp--custom--content--button-input-padding-y, 12px) / 1.5) var(--wp--custom--content--button-input-padding-x, 16px)!important;border:none!important;border-bottom:1px solid var(--wp--custom--color--border)!important;outline:0;font-size:var(--wp--preset--font-size--small, inherit);border-radius:0!important}.dialog-title{padding:5px 10px;border:none!important;border-bottom:1px solid var(--wp--custom--color--border)!important;font-size:var(--wp--preset--font-size--small, inherit);font-weight:500;margin:0}.option-list{list-style-type:none;padding:0;margin:0}li[role=option],li[role=group]{padding:5px 10px}li[role=group]{font-weight:700;margin-top:6px}li[role=option]{cursor:pointer;font-size:var(--wp--preset--font-size--small, inherit)}li[role=option]:hover,li[role=option].selected,li[role=option].highlighted{background-color:#f0f0f0}li[role=option]:focus-within{outline:2px solid var(--wp--custom--color--border)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
171
- }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrDialogListComponent, decorators: [{
173
- type: Component,
174
- args: [{ selector: 'ptr-dialog-list', standalone: true, imports: [
175
- FormsModule
176
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dialog #dialog class=\"ptr-dialog-list\" (keydown)=\"onDialogKeyDown($event)\" [attr.aria-label]=\"'Options'\">\r\n\r\n @if(dialogTitle) {\r\n <p class=\"dialog-title\">{{dialogTitle}}</p>\r\n }\r\n\r\n @if (showSearch) {\r\n <div>\r\n <input #searchInput [ngModel]=\"searchTerm()\" (ngModelChange)=\"updateSearchTerm($event)\"\r\n [attr.aria-expanded]=\"isOpen()\" [attr.aria-owns]=\"listId\" (keydown)=\"onInputKeyDown($event)\"\r\n [attr.aria-autocomplete]=\"'list'\" role=\"combobox\" [attr.aria-controls]=\"listId\" [placeholder]=\"searchPlaceholder\"\r\n class=\"search-input\">\r\n </div>\r\n }\r\n\r\n <ul [attr.id]=\"listId\" role=\"listbox\" class=\"option-list\">\r\n @for (item of filteredOptions(); track item.label) {\r\n @if (item.type === 'option') {\r\n <li role=\"option\" [attr.id]=\"item.value\" [attr.aria-selected]=\"item.value === value()\"\r\n [class.selected]=\"item.value === value()\" [class.highlighted]=\"item === filteredOptions()[highlightedIndex()]\"\r\n (click)=\"selectOption(item.value!)\" (keydown)=\"onOptionKeyDown($event, item.value!)\"\r\n [attr.tabindex]=\"item === filteredOptions()[highlightedIndex()] ? 0 : -1\">\r\n {{ item.label }}\r\n </li>\r\n } @else {\r\n <li role=\"group\" [attr.aria-label]=\"item.label\">\r\n {{ item.label }}\r\n </li>\r\n @for (option of item.options!; track option.value) {\r\n <li role=\"option\" [attr.id]=\"option.value\" [attr.aria-selected]=\"option.value === value()\"\r\n [class.selected]=\"option.value === value()\" [class.highlighted]=\"option === filteredOptions()[highlightedIndex()]\"\r\n (click)=\"selectOption(option.value!)\" (keydown)=\"onOptionKeyDown($event, option.value!)\"\r\n [attr.tabindex]=\"option === filteredOptions()[highlightedIndex()] ? 0 : -1\">\r\n {{ option.label }}\r\n </li>\r\n }\r\n }\r\n }\r\n </ul>\r\n\r\n</dialog>\r\n", styles: [".ptr-dialog-list{margin:0;padding:0;border:1px solid var(--wp--custom--color--border);width:100%;max-height:350px;overflow-y:auto;z-index:5;border-radius:calc(var(--wp--custom--default-border-radius) / 2);border-top-left-radius:0;border-top-right-radius:0;scrollbar-width:thin}.ptr-dialog-list:focus{outline:none}input.search-input{padding:calc(var(--wp--custom--content--button-input-padding-y, 12px) / 1.5) var(--wp--custom--content--button-input-padding-x, 16px)!important;border:none!important;border-bottom:1px solid var(--wp--custom--color--border)!important;outline:0;font-size:var(--wp--preset--font-size--small, inherit);border-radius:0!important}.dialog-title{padding:5px 10px;border:none!important;border-bottom:1px solid var(--wp--custom--color--border)!important;font-size:var(--wp--preset--font-size--small, inherit);font-weight:500;margin:0}.option-list{list-style-type:none;padding:0;margin:0}li[role=option],li[role=group]{padding:5px 10px}li[role=group]{font-weight:700;margin-top:6px}li[role=option]{cursor:pointer;font-size:var(--wp--preset--font-size--small, inherit)}li[role=option]:hover,li[role=option].selected,li[role=option].highlighted{background-color:#f0f0f0}li[role=option]:focus-within{outline:2px solid var(--wp--custom--color--border)}\n"] }]
177
- }], propDecorators: { options: [{
178
- type: Input
179
- }], showSearch: [{
180
- type: Input
181
- }], searchPlaceholder: [{
182
- type: Input
183
- }], dialogTitle: [{
184
- type: Input
185
- }], selectionChange: [{
186
- type: Output
187
- }], dialogClosed: [{
188
- type: Output
189
- }], searchTermChanged: [{
190
- type: Output
191
- }], dialog: [{
192
- type: ViewChild,
193
- args: ['dialog']
194
- }] } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHRyLWRpYWxvZy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL3NoYXJlZC9wdHItZGlhbG9nLWxpc3QvcHRyLWRpYWxvZy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zL3NoYXJlZC9wdHItZGlhbG9nLWxpc3QvcHRyLWRpYWxvZy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFvQjdDLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsSUFBYSxPQUFPLENBQUMsS0FBMEQ7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDUSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztJQUNoQyxXQUFXLEdBQUksRUFBRSxDQUFDO0lBRWpCLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUNwRCxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUN4QyxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXBDLE1BQU0sQ0FBaUM7SUFFcEQsUUFBUSxHQUFHLE1BQU0sQ0FBb0IsRUFBRSxDQUFDLENBQUM7SUFDakQs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TUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM5QyxDQUFDO3VHQW5MVSxzQkFBc0I7MkZBQXRCLHNCQUFzQixrYUNyQm5DLDA1REF5Q0EsZ3pDRDFCSSxXQUFXOzsyRkFNRixzQkFBc0I7a0JBVmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQO3dCQUNQLFdBQVc7cUJBQ1osbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBSWxDLE9BQU87c0JBQW5CLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUVjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBQdHJPcHRpb24sIFB0ck9wdGlvbkdyb3VwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcblxyXG5pbnRlcmZhY2UgUHJvY2Vzc2VkT3B0aW9uIHtcclxuICB0eXBlOiAnb3B0aW9uJyB8ICdncm91cCc7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZT86IHN0cmluZztcclxuICBvcHRpb25zPzogUHJvY2Vzc2VkT3B0aW9uW107XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncHRyLWRpYWxvZy1saXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHRyLWRpYWxvZy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wdHItZGlhbG9nLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHRyRGlhbG9nTGlzdENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBvcHRpb25zKHZhbHVlOiAoUHRyT3B0aW9uIHwgUHRyT3B0aW9uR3JvdXAgfCBzdHJpbmcpW10gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX29wdGlvbnMuc2V0KHRoaXMucHJvY2Vzc09wdGlvbnModmFsdWUpKTtcclxuICB9XHJcbiAgQElucHV0KCkgc2hvd1NlYXJjaCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyID0gJ1NlYXJjaC4uLic7XHJcbiAgQElucHV0KCkgZGlhbG9nVGl0bGU/ID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIGRpYWxvZ0Nsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgc2VhcmNoVGVybUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nJykgZGlhbG9nITogRWxlbWVudFJlZjxIVE1MRGlhbG9nRWxlbWVudD47XHJcblxyXG4gIHByaXZhdGUgX29wdGlvbnMgPSBzaWduYWw8UHJvY2Vzc2VkT3B0aW9uW10+KFtdKTtcclxuICB2YWx1ZSA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcclxuICBzZWFyY2hUZXJtID0gc2lnbmFsKCcnKTtcclxuICBoaWdobGlnaHRlZEluZGV4ID0gc2lnbmFsKC0xKTtcclxuICBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xyXG4gIHByaXZhdGUgY29tcG9uZW50SWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7XHJcbiAgbGlzdElkID0gYCR7dGhpcy5jb21wb25lbnRJZH0tbGlzdGA7XHJcblxyXG4gIGZpbHRlcmVkT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IHRlcm0gPSB0aGlzLnNlYXJjaFRlcm0oKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnMoKS5mbGF0TWFwKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoaXRlbS50eXBlID09PSAnZ3JvdXAnKSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gaXRlbS5vcHRpb25zIS5maWx0ZXIob3B0aW9uID0+XHJcbiAgICAgICAgICBvcHRpb24ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPiAwID8gW3sgLi4uaXRlbSwgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zIH1dIDogW107XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSA/IFtpdGVtXSA6IFtdO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgb3BlbkRpYWxvZygpIHtcclxuICAgIHRoaXMuZGlhbG9nLm5hdGl2ZUVsZW1lbnQuc2hvdygpO1xyXG4gICAgdGhpcy5hZGp1c3REaWFsb2dQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRpYWxvZ1NpbGVudCgpIHtcclxuICAgIHRoaXMuZGlhbG9nLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdvcGVuJywgJ3RydWUnKTtcclxuICAgIHRoaXMuYWRqdXN0RGlhbG9nUG9zaXRpb24oKTtcclxuICAgIHRoaXMuaXNPcGVuLnNldCh0cnVlKTtcclxuICB9XHJcblxyXG4gIGNsb3NlRGlhbG9nKCkge1xyXG4gICAgdGhpcy5kaWFsb2cubmF0aXZlRWxlbWVudC5jbG9zZSgpO1xyXG4gICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcclxuICAgIHRoaXMuc2VhcmNoVGVybS5zZXQoJycpO1xyXG4gICAgdGhpcy5oaWdobGlnaHRlZEluZGV4LnNldCgtMSk7XHJcbiAgICB0aGlzLmRpYWxvZ0Nsb3NlZC5lbWl0KCk7XHJcbiAgICB0aGlzLnJlc2V0RGlhbG9nUG9zaXRpb24oKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVNlYXJjaFRlcm0odGVybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlYXJjaFRlcm0uc2V0KHRlcm0pO1xyXG4gICAgdGhpcy5oaWdobGlnaHRlZEluZGV4LnNldCgtMSk7XHJcbiAgICB0aGlzLnNlYXJjaFRlcm1DaGFuZ2VkLmVtaXQodGVybSk7XHJcbiAgfVxyXG5cclxuICBvbkRpYWxvZ0tleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VEaWFsb2coKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBXaGVuIHRoZXJlIGlzIG5vIHNlYXJjaCBpbnB1dCBhbmQgdGhlcmUgYXJlIG9wdGlvbnMsIG1vdmUgaW5wdXQgaW50byB0aGUgZmlyc3Qgb3B0aW9uXHJcbiAgICBpZiAoIXRoaXMuc2hvd1NlYXJjaCAmJiB0aGlzLmZpbHRlcmVkT3B0aW9ucygpLmxlbmd0aCA+IDAgJiYgdGhpcy5oaWdobGlnaHRlZEluZGV4KCkgPT09IC0xKSB7XHJcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICB0aGlzLmhpZ2hsaWdodGVkSW5kZXgudXBkYXRlKGkgPT4gTWF0aC5taW4oaSArIDEsIHRoaXMuZ2V0VG90YWxPcHRpb25zQ291bnQoKSAtIDEpKTtcclxuICAgICAgICB0aGlzLmZvY3VzT3B0aW9uKCk7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XHJcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XHJcbiAgICAgICAgdGhpcy5oaWdobGlnaHRlZEluZGV4LnVwZGF0ZShpID0+IE1hdGgubWluKGkgKyAxLCB0aGlzLmdldFRvdGFsT3B0aW9uc0NvdW50KCkgLSAxKSk7XHJcbiAgICAgICAgdGhpcy5mb2N1c09wdGlvbigpO1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XHJcbiAgICAgICAgdGhpcy5jbG9zZURpYWxvZygpO1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk9wdGlvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIG9wdGlvblZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XHJcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XHJcbiAgICAgICAgdGhpcy5oaWdobGlnaHRlZEluZGV4LnVwZGF0ZShpID0+IE1hdGgubWluKGkgKyAxLCB0aGlzLmdldFRvdGFsT3B0aW9uc0NvdW50KCkgLSAxKSk7XHJcbiAgICAgICAgdGhpcy5mb2N1c09wdGlvbigpO1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxyXG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0ZWRJbmRleC51cGRhdGUoaSA9PiBNYXRoLm1heChpIC0gMSwgLTEpKTtcclxuICAgICAgICB0aGlzLmZvY3VzT3B0aW9uKCk7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnRW50ZXInOlxyXG4gICAgICBjYXNlICcgJzpcclxuICAgICAgICB0aGlzLnNlbGVjdE9wdGlvbihvcHRpb25WYWx1ZSk7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzT3B0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0ZWRJbmRleCgpID49IDApIHtcclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZGlhbG9nLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbGlbcm9sZT1cIm9wdGlvblwiXScpO1xyXG4gICAgICAob3B0aW9uc1t0aGlzLmhpZ2hsaWdodGVkSW5kZXgoKV0gYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RPcHRpb24ob3B0aW9uVmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy52YWx1ZS5zZXQob3B0aW9uVmFsdWUpO1xyXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChvcHRpb25WYWx1ZSk7XHJcbiAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFRvdGFsT3B0aW9uc0NvdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZE9wdGlvbnMoKS5yZWR1Y2UoKGNvdW50LCBpdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdncm91cCcpIHtcclxuICAgICAgICByZXR1cm4gY291bnQgKyBpdGVtLm9wdGlvbnMhLmxlbmd0aDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY291bnQgKyAxO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb2Nlc3NPcHRpb25zKG9wdGlvbnM6IChQdHJPcHRpb24gfCBQdHJPcHRpb25Hcm91cCB8IHN0cmluZylbXSB8IHVuZGVmaW5lZCk6IFByb2Nlc3NlZE9wdGlvbltdIHtcclxuICAgIGlmICghb3B0aW9ucykgcmV0dXJuIFtdO1xyXG4gICAgcmV0dXJuIG9wdGlvbnMubWFwKG9wdGlvbiA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB0eXBlOiAnb3B0aW9uJyxcclxuICAgICAgICAgIGxhYmVsOiBvcHRpb24sXHJcbiAgICAgICAgICB2YWx1ZTogb3B0aW9uXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIGlmICgnZ3JvdXBMYWJlbCcgaW4gb3B0aW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHR5cGU6ICdncm91cCcsXHJcbiAgICAgICAgICBsYWJlbDogb3B0aW9uLmdyb3VwTGFiZWwsXHJcbiAgICAgICAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucy5tYXAoc3ViT3B0aW9uID0+ICh7XHJcbiAgICAgICAgICAgIHR5cGU6ICdvcHRpb24nLFxyXG4gICAgICAgICAgICBsYWJlbDogdHlwZW9mIHN1Yk9wdGlvbiA9PT0gJ3N0cmluZycgPyBzdWJPcHRpb24gOiBzdWJPcHRpb24ubGFiZWwsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0eXBlb2Ygc3ViT3B0aW9uID09PSAnc3RyaW5nJyA/IHN1Yk9wdGlvbiA6IHN1Yk9wdGlvbi52YWx1ZVxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgdHlwZTogJ29wdGlvbicsXHJcbiAgICAgICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxyXG4gICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRqdXN0RGlhbG9nUG9zaXRpb24oKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWN0ID0gdGhpcy5kaWFsb2cubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgY29uc3Qgc3BhY2VCZWxvdyA9IHZpZXdwb3J0SGVpZ2h0IC0gZGlhbG9nUmVjdC5ib3R0b207XHJcbiAgICBpZiAoc3BhY2VCZWxvdyA+IDApIHtcclxuICAgICAgdGhpcy5kaWFsb2cubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSAnMTAwJSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpYWxvZy5uYXRpdmVFbGVtZW50LnN0eWxlLmJvdHRvbSA9ICcxMDAlJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0RGlhbG9nUG9zaXRpb24oKSB7XHJcbiAgICB0aGlzLmRpYWxvZy5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9ICcnO1xyXG4gICAgdGhpcy5kaWFsb2cubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnJztcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaWFsb2cgI2RpYWxvZyBjbGFzcz1cInB0ci1kaWFsb2ctbGlzdFwiIChrZXlkb3duKT1cIm9uRGlhbG9nS2V5RG93bigkZXZlbnQpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInT3B0aW9ucydcIj5cclxuXHJcbiAgQGlmKGRpYWxvZ1RpdGxlKSB7XHJcbiAgPHAgY2xhc3M9XCJkaWFsb2ctdGl0bGVcIj57e2RpYWxvZ1RpdGxlfX08L3A+XHJcbiAgfVxyXG5cclxuICBAaWYgKHNob3dTZWFyY2gpIHtcclxuICA8ZGl2PlxyXG4gICAgPGlucHV0ICNzZWFyY2hJbnB1dCBbbmdNb2RlbF09XCJzZWFyY2hUZXJtKClcIiAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVTZWFyY2hUZXJtKCRldmVudClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlbigpXCIgW2F0dHIuYXJpYS1vd25zXT1cImxpc3RJZFwiIChrZXlkb3duKT1cIm9uSW5wdXRLZXlEb3duKCRldmVudClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWF1dG9jb21wbGV0ZV09XCInbGlzdCdcIiByb2xlPVwiY29tYm9ib3hcIiBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImxpc3RJZFwiIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXHJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCI+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG5cclxuICA8dWwgW2F0dHIuaWRdPVwibGlzdElkXCIgcm9sZT1cImxpc3Rib3hcIiBjbGFzcz1cIm9wdGlvbi1saXN0XCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIGZpbHRlcmVkT3B0aW9ucygpOyB0cmFjayBpdGVtLmxhYmVsKSB7XHJcbiAgICBAaWYgKGl0ZW0udHlwZSA9PT0gJ29wdGlvbicpIHtcclxuICAgIDxsaSByb2xlPVwib3B0aW9uXCIgW2F0dHIuaWRdPVwiaXRlbS52YWx1ZVwiIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXRlbS52YWx1ZSA9PT0gdmFsdWUoKVwiXHJcbiAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpdGVtLnZhbHVlID09PSB2YWx1ZSgpXCIgW2NsYXNzLmhpZ2hsaWdodGVkXT1cIml0ZW0gPT09IGZpbHRlcmVkT3B0aW9ucygpW2hpZ2hsaWdodGVkSW5kZXgoKV1cIlxyXG4gICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKGl0ZW0udmFsdWUhKVwiIChrZXlkb3duKT1cIm9uT3B0aW9uS2V5RG93bigkZXZlbnQsIGl0ZW0udmFsdWUhKVwiXHJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cIml0ZW0gPT09IGZpbHRlcmVkT3B0aW9ucygpW2hpZ2hsaWdodGVkSW5kZXgoKV0gPyAwIDogLTFcIj5cclxuICAgICAge3sgaXRlbS5sYWJlbCB9fVxyXG4gICAgPC9saT5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPGxpIHJvbGU9XCJncm91cFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5sYWJlbFwiPlxyXG4gICAgICB7eyBpdGVtLmxhYmVsIH19XHJcbiAgICA8L2xpPlxyXG4gICAgQGZvciAob3B0aW9uIG9mIGl0ZW0ub3B0aW9ucyE7IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xyXG4gICAgPGxpIHJvbGU9XCJvcHRpb25cIiBbYXR0ci5pZF09XCJvcHRpb24udmFsdWVcIiBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIm9wdGlvbi52YWx1ZSA9PT0gdmFsdWUoKVwiXHJcbiAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJvcHRpb24udmFsdWUgPT09IHZhbHVlKClcIiBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwib3B0aW9uID09PSBmaWx0ZXJlZE9wdGlvbnMoKVtoaWdobGlnaHRlZEluZGV4KCldXCJcclxuICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihvcHRpb24udmFsdWUhKVwiIChrZXlkb3duKT1cIm9uT3B0aW9uS2V5RG93bigkZXZlbnQsIG9wdGlvbi52YWx1ZSEpXCJcclxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwib3B0aW9uID09PSBmaWx0ZXJlZE9wdGlvbnMoKVtoaWdobGlnaHRlZEluZGV4KCldID8gMCA6IC0xXCI+XHJcbiAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxyXG4gICAgPC9saT5cclxuICAgIH1cclxuICAgIH1cclxuICAgIH1cclxuICA8L3VsPlxyXG5cclxuPC9kaWFsb2c+XHJcbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class PtrLoadingSpinnerComponent {
4
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: PtrLoadingSpinnerComponent, isStandalone: true, selector: "ptr-loading-spinner", ngImport: i0, template: `<div class="ptr-progress-spinner"></div>`, isInline: true, styles: [":host{display:inline-block;line-height:0}.ptr-progress-spinner{display:inline-block;width:25px;height:25px;transform:scaleZ(1)}.ptr-progress-spinner:before{position:absolute;content:\"\";background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 40 40' style='enable-background:new 0 0 40 40;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23272e3e;%7D%0A%3C/style%3E%3Ccircle class='st0' cx='34' cy='6' r='6'/%3E%3Ccircle class='st0' cx='6' cy='6' r='6'/%3E%3Ccircle class='st0' cx='6' cy='34' r='6'/%3E%3Ccircle class='st0' cx='34' cy='34' r='6'/%3E%3C/svg%3E\");height:40px;width:40px;left:-8px;top:-8px;border:none;display:block;animation:loader-anim 1.5s 0s ease-in-out infinite}.ptr-progress-spinner:after{content:\"\";position:absolute;height:12px;width:12px;border:none;border-radius:12px;display:block;left:6px;top:6px;background-color:#272e3e;animation:loader-anim-dot 1.5s 0s ease-in-out infinite}@keyframes loader-anim{0%{transform:rotate(0) scale(0);opacity:.5}50%{transform:rotate(180deg) scale(1);opacity:1}to{transform:rotate(360deg) scale(0);opacity:.2}}@keyframes loader-anim-dot{0%{opacity:1}50%{opacity:0}to{opacity:1}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrLoadingSpinnerComponent, decorators: [{
8
- type: Component,
9
- args: [{ selector: 'ptr-loading-spinner', standalone: true, imports: [], template: `<div class="ptr-progress-spinner"></div>`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;line-height:0}.ptr-progress-spinner{display:inline-block;width:25px;height:25px;transform:scaleZ(1)}.ptr-progress-spinner:before{position:absolute;content:\"\";background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 40 40' style='enable-background:new 0 0 40 40;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23272e3e;%7D%0A%3C/style%3E%3Ccircle class='st0' cx='34' cy='6' r='6'/%3E%3Ccircle class='st0' cx='6' cy='6' r='6'/%3E%3Ccircle class='st0' cx='6' cy='34' r='6'/%3E%3Ccircle class='st0' cx='34' cy='34' r='6'/%3E%3C/svg%3E\");height:40px;width:40px;left:-8px;top:-8px;border:none;display:block;animation:loader-anim 1.5s 0s ease-in-out infinite}.ptr-progress-spinner:after{content:\"\";position:absolute;height:12px;width:12px;border:none;border-radius:12px;display:block;left:6px;top:6px;background-color:#272e3e;animation:loader-anim-dot 1.5s 0s ease-in-out infinite}@keyframes loader-anim{0%{transform:rotate(0) scale(0);opacity:.5}50%{transform:rotate(180deg) scale(1);opacity:1}to{transform:rotate(360deg) scale(0);opacity:.2}}@keyframes loader-anim-dot{0%{opacity:1}50%{opacity:0}to{opacity:1}}\n"] }]
10
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL2xvYWRpbmctc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVW5FLE1BQU0sT0FBTywwQkFBMEI7dUdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCLCtFQUozQiwwQ0FBMEM7OzJGQUl6QywwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxFQUFFLFlBQ0QsMENBQTBDLG1CQUVuQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwdHItbG9hZGluZy1zcGlubmVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInB0ci1wcm9ncmVzcy1zcGlubmVyXCI+PC9kaXY+YCxcclxuICBzdHlsZVVybHM6IFtcIi4vbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQdHJMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCB7IH1cclxuIl19
@@ -1,84 +0,0 @@
1
- import { Directive, ElementRef, HostBinding, inject, Input, Renderer2, ViewContainerRef } from '@angular/core';
2
- import { PtrLoadingSpinnerComponent } from './loading-spinner.component';
3
- import * as i0 from "@angular/core";
4
- export class PtrLoadingSpinnerDirective {
5
- targetEl = inject(ElementRef);
6
- viewContainerRef = inject(ViewContainerRef);
7
- renderer = inject(Renderer2);
8
- spinnerInstance;
9
- overlay;
10
- hostPosition = 'relative';
11
- set ptrLoadingSpinner(loading) {
12
- if (loading) {
13
- this.addBlurEffect();
14
- this.addOverlay();
15
- this.addProgressSpinnerComponent();
16
- }
17
- else {
18
- this.removeBlurEffect();
19
- this.removeOverlay();
20
- this.removeProgressSpinnerComponent();
21
- }
22
- }
23
- ngOnDestroy() {
24
- this.spinnerInstance?.destroy();
25
- this.removeBlurEffect();
26
- }
27
- addProgressSpinnerComponent() {
28
- this.spinnerInstance = this.viewContainerRef.createComponent(PtrLoadingSpinnerComponent);
29
- this.overlay?.appendChild(this.spinnerInstance.location.nativeElement);
30
- }
31
- removeProgressSpinnerComponent() {
32
- this.spinnerInstance?.destroy();
33
- }
34
- addOverlay() {
35
- this.overlay = this.renderer.createElement('div');
36
- this.renderer.setStyle(this.overlay, 'display', 'flex');
37
- this.renderer.setStyle(this.overlay, 'justify-content', 'center');
38
- this.renderer.setStyle(this.overlay, 'align-items', 'center');
39
- this.renderer.setStyle(this.overlay, 'position', 'absolute');
40
- this.renderer.setStyle(this.overlay, 'top', '0');
41
- this.renderer.setStyle(this.overlay, 'left', '0');
42
- this.renderer.setStyle(this.overlay, 'width', '100%');
43
- this.renderer.setStyle(this.overlay, 'height', '100%');
44
- this.renderer.setStyle(this.overlay, 'min-height', '25px');
45
- this.renderer.appendChild(this.targetEl.nativeElement, this.overlay);
46
- }
47
- removeOverlay() {
48
- if (this.overlay) {
49
- this.renderer.removeChild(this.targetEl.nativeElement, this.overlay);
50
- this.overlay = undefined;
51
- }
52
- }
53
- addBlurEffect() {
54
- const style = this.renderer.createElement('style');
55
- const blurRule = `
56
- .ptr-loading-blur > *:not(:last-child) {
57
- filter: blur(2px);
58
- transition: filter 0.3s ease;
59
- }
60
- `;
61
- this.renderer.appendChild(style, this.renderer.createText(blurRule));
62
- this.renderer.appendChild(document.head, style);
63
- this.renderer.addClass(this.targetEl.nativeElement, 'ptr-loading-blur');
64
- }
65
- removeBlurEffect() {
66
- this.renderer.removeClass(this.targetEl.nativeElement, 'ptr-loading-blur');
67
- }
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrLoadingSpinnerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
69
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: PtrLoadingSpinnerDirective, isStandalone: true, selector: "[ptrLoadingSpinner]", inputs: { ptrLoadingSpinner: "ptrLoadingSpinner" }, host: { properties: { "style.position": "this.hostPosition" } }, ngImport: i0 });
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrLoadingSpinnerDirective, decorators: [{
72
- type: Directive,
73
- args: [{
74
- selector: '[ptrLoadingSpinner]',
75
- standalone: true
76
- }]
77
- }], propDecorators: { hostPosition: [{
78
- type: HostBinding,
79
- args: ['style.position']
80
- }], ptrLoadingSpinner: [{
81
- type: Input,
82
- args: [{ required: true }]
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL2xvYWRpbmctc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBTXpFLE1BQU0sT0FBTywwQkFBMEI7SUFFN0IsUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTdCLGVBQWUsQ0FBNEM7SUFDM0QsT0FBTyxDQUFlO0lBRUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztJQUV6RCxJQUErQixpQkFBaUIsQ0FBQyxPQUFnQjtRQUMvRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNyQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFD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LENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDN0UsQ0FBQzt1R0ExRVUsMEJBQTBCOzJGQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQVVnQyxZQUFZO3NCQUExQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFFRSxpQkFBaUI7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQdHJMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1twdHJMb2FkaW5nU3Bpbm5lcl0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFB0ckxvYWRpbmdTcGlubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHJpdmF0ZSB0YXJnZXRFbCA9IGluamVjdChFbGVtZW50UmVmKTtcclxuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XHJcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG5cclxuICBwcml2YXRlIHNwaW5uZXJJbnN0YW5jZT86IENvbXBvbmVudFJlZjxQdHJMb2FkaW5nU3Bpbm5lckNvbXBvbmVudD47XHJcbiAgcHJpdmF0ZSBvdmVybGF5PzogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9zaXRpb24nKSBob3N0UG9zaXRpb24gPSAncmVsYXRpdmUnO1xyXG5cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZXQgcHRyTG9hZGluZ1NwaW5uZXIobG9hZGluZzogYm9vbGVhbikge1xyXG4gICAgaWYgKGxvYWRpbmcpIHtcclxuICAgICAgdGhpcy5hZGRCbHVyRWZmZWN0KCk7XHJcbiAgICAgIHRoaXMuYWRkT3ZlcmxheSgpO1xyXG4gICAgICB0aGlzLmFkZFByb2dyZXNzU3Bpbm5lckNvbXBvbmVudCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW1vdmVCbHVyRWZmZWN0KCk7XHJcbiAgICAgIHRoaXMucmVtb3ZlT3ZlcmxheSgpO1xyXG4gICAgICB0aGlzLnJlbW92ZVByb2dyZXNzU3Bpbm5lckNvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNwaW5uZXJJbnN0YW5jZT8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5yZW1vdmVCbHVyRWZmZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFByb2dyZXNzU3Bpbm5lckNvbXBvbmVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Bpbm5lckluc3RhbmNlID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChQdHJMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCk7XHJcbiAgICB0aGlzLm92ZXJsYXk/LmFwcGVuZENoaWxkKHRoaXMuc3Bpbm5lckluc3RhbmNlLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVQcm9ncmVzc1NwaW5uZXJDb21wb25lbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNwaW5uZXJJbnN0YW5jZT8uZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRPdmVybGF5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vdmVybGF5ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5LCAnZGlzcGxheScsICdmbGV4Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheSwgJ2p1c3RpZnktY29udGVudCcsICdjZW50ZXInKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5LCAnYWxpZ24taXRlbXMnLCAnY2VudGVyJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheSwgJ3RvcCcsICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheSwgJ2xlZnQnLCAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXksICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheSwgJ2hlaWdodCcsICcxMDAlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheSwgJ21pbi1oZWlnaHQnLCAnMjVweCcpO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy50YXJnZXRFbC5uYXRpdmVFbGVtZW50LCB0aGlzLm92ZXJsYXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVPdmVybGF5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMudGFyZ2V0RWwubmF0aXZlRWxlbWVudCwgdGhpcy5vdmVybGF5KTtcclxuICAgICAgdGhpcy5vdmVybGF5ID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRCbHVyRWZmZWN0KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XHJcbiAgICBjb25zdCBibHVyUnVsZSA9IGBcclxuICAgICAgLnB0ci1sb2FkaW5nLWJsdXIgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIGZpbHRlcjogYmx1cigycHgpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjNzIGVhc2U7XHJcbiAgICAgIH1cclxuICAgIGA7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHN0eWxlLCB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoYmx1clJ1bGUpKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuaGVhZCwgc3R5bGUpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhcmdldEVsLm5hdGl2ZUVsZW1lbnQsICdwdHItbG9hZGluZy1ibHVyJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZUJsdXJFZmZlY3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFyZ2V0RWwubmF0aXZlRWxlbWVudCwgJ3B0ci1sb2FkaW5nLWJsdXInKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- export class PtrMenuComponent {
6
- menuItems = [];
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PtrMenuComponent, isStandalone: true, selector: "ptr-menu", inputs: { menuItems: "menuItems" }, ngImport: i0, template: "<nav class=\"ptr-menu\">\n <ul class=\"menu\">\n @for (item of menuItems; track item.label) {\n <li class=\"menu-item\" routerLinkActive=\"current_page_item\" [routerLinkActiveOptions]=\"{exact: true}\">\n <a [routerLink]=\"item.link || '#'\">{{item.label}}</a>\n </li>\n }\n </ul>\n</nav>\n", styles: [".menu{display:flex;flex-direction:row;gap:var(--wp--custom--content--gap, 40px);align-items:center}.menu>ul{display:flex;flex-direction:row;gap:var(--wp--custom--content--gap, 40px);align-items:center}.menu--vertical{flex-direction:column;align-items:flex-start;gap:calc(var(--wp--custom--content--gap, 40px) / 2)}.menu--vertical>ul{flex-direction:column;align-items:flex-start;gap:calc(var(--wp--custom--content--gap, 40px) / 2)}.menu li.current-menu-item>a,.menu li.current_page_item>a,.menu li.current-menu-parent>a{opacity:1;font-weight:700}.menu a{transition:color .33s}.menu a:hover,.menu a:focus{text-decoration:none}.menu a{position:relative;text-decoration:none;padding:8px 0;font-family:var(--wp--preset--font-family--heading-font);letter-spacing:-.72px;color:var(--ptr-menu-color, var(--wp--preset--color--black))}.menu a:before,.menu a:after{content:\"\";position:absolute;bottom:2px;left:0;right:0;height:2px;background-color:var(--wp--preset--color--primary)}.menu a:before{opacity:0;transform:translateY(-8px);transition:transform 0s cubic-bezier(.175,.885,.32,1.275),opacity 0s}.menu a:after{opacity:0;transform:translateY(4px);transition:transform .2s cubic-bezier(.175,.885,.32,1.275),opacity .2s}.menu a:hover:before,.menu a:hover:after,.menu a:focus:before,.menu a:focus:after{opacity:1;transform:translateY(0)}.menu a:hover:before,.menu a:focus:before{transition:transform .2s cubic-bezier(.175,.885,.32,1.275),opacity .2s}.menu a:hover:after,.menu a:focus:after{transition:transform 0s .2s cubic-bezier(.175,.885,.32,1.275),opacity 0s .2s}\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"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PtrMenuComponent, decorators: [{
11
- type: Component,
12
- args: [{ selector: 'ptr-menu', standalone: true, imports: [RouterModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"ptr-menu\">\n <ul class=\"menu\">\n @for (item of menuItems; track item.label) {\n <li class=\"menu-item\" routerLinkActive=\"current_page_item\" [routerLinkActiveOptions]=\"{exact: true}\">\n <a [routerLink]=\"item.link || '#'\">{{item.label}}</a>\n </li>\n }\n </ul>\n</nav>\n", styles: [".menu{display:flex;flex-direction:row;gap:var(--wp--custom--content--gap, 40px);align-items:center}.menu>ul{display:flex;flex-direction:row;gap:var(--wp--custom--content--gap, 40px);align-items:center}.menu--vertical{flex-direction:column;align-items:flex-start;gap:calc(var(--wp--custom--content--gap, 40px) / 2)}.menu--vertical>ul{flex-direction:column;align-items:flex-start;gap:calc(var(--wp--custom--content--gap, 40px) / 2)}.menu li.current-menu-item>a,.menu li.current_page_item>a,.menu li.current-menu-parent>a{opacity:1;font-weight:700}.menu a{transition:color .33s}.menu a:hover,.menu a:focus{text-decoration:none}.menu a{position:relative;text-decoration:none;padding:8px 0;font-family:var(--wp--preset--font-family--heading-font);letter-spacing:-.72px;color:var(--ptr-menu-color, var(--wp--preset--color--black))}.menu a:before,.menu a:after{content:\"\";position:absolute;bottom:2px;left:0;right:0;height:2px;background-color:var(--wp--preset--color--primary)}.menu a:before{opacity:0;transform:translateY(-8px);transition:transform 0s cubic-bezier(.175,.885,.32,1.275),opacity 0s}.menu a:after{opacity:0;transform:translateY(4px);transition:transform .2s cubic-bezier(.175,.885,.32,1.275),opacity .2s}.menu a:hover:before,.menu a:hover:after,.menu a:focus:before,.menu a:focus:after{opacity:1;transform:translateY(0)}.menu a:hover:before,.menu a:focus:before{transition:transform .2s cubic-bezier(.175,.885,.32,1.275),opacity .2s}.menu a:hover:after,.menu a:focus:after{transition:transform 0s .2s cubic-bezier(.175,.885,.32,1.275),opacity 0s .2s}\n"] }]
13
- }], propDecorators: { menuItems: [{
14
- type: Input
15
- }] } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXR0ZXIvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF0dGVyL25neC1jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBZ0IvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRWxCLFNBQVMsR0FBa0IsRUFBRSxDQUFDO3VHQUY1QixnQkFBZ0I7MkZBQWhCLGdCQUFnQix3R0NqQjdCLHdUQVNBLG9sRERHWSxZQUFZOzsyRkFLWCxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNOzhCQUt0QyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHRyTWVudUl0ZW0ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgbGluaz86IHN0cmluZztcclxuICBjaGlsZHJlbj86IFB0ck1lbnVJdGVtW107XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncHRyLW1lbnUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHRyTWVudUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIG1lbnVJdGVtczogUHRyTWVudUl0ZW1bXSA9IFtdO1xyXG5cclxufVxyXG4iLCI8bmF2IGNsYXNzPVwicHRyLW1lbnVcIj5cbiAgPHVsIGNsYXNzPVwibWVudVwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgbWVudUl0ZW1zOyB0cmFjayBpdGVtLmxhYmVsKSB7XG4gICAgPGxpIGNsYXNzPVwibWVudS1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImN1cnJlbnRfcGFnZV9pdGVtXCIgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogdHJ1ZX1cIj5cbiAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGluayB8fCAnIydcIj57e2l0ZW0ubGFiZWx9fTwvYT5cbiAgICA8L2xpPlxuICAgIH1cbiAgPC91bD5cbjwvbmF2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhdHRlci9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3B0ci1icmVhZGNydW1icy9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFB0ckJyZWFkY3J1bWIge1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIHVybD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCcmVhZGNydW1iUm91dGVJbmZvIHtcclxuICBsYWJlbD86IHN0cmluZztcclxuICB1cmw/OiBzdHJpbmc7XHJcbn1cclxuIl19