primeng 18.0.0-beta.4 → 18.0.0-beta.5
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.
- package/accordion/accordion.d.ts +4 -4
- package/api/public_api.d.ts +0 -4
- package/autocomplete/autocomplete.d.ts +1 -0
- package/base/style/basestyle.d.ts +1 -1
- package/basecomponent/basecomponent.d.ts +3 -2
- package/config/index.d.ts +5 -0
- package/{api → config}/primeng.d.ts +3 -3
- package/{api/provideprimengconfig.d.ts → config/provideprimeng.d.ts} +3 -3
- package/config/public_api.d.ts +3 -0
- package/{api → config}/themeprovider.d.ts +1 -1
- package/confirmpopup/confirmpopup.d.ts +2 -3
- package/dialog/dialog.d.ts +1 -0
- package/editor/editor.d.ts +5 -2
- package/esm2022/accordion/accordion.mjs +9 -9
- package/esm2022/api/public_api.mjs +1 -5
- package/esm2022/autocomplete/autocomplete.mjs +4 -2
- package/esm2022/autofocus/autofocus.mjs +2 -2
- package/esm2022/base/style/basestyle.mjs +3 -3
- package/esm2022/basecomponent/basecomponent.mjs +9 -7
- package/esm2022/cascadeselect/cascadeselect.mjs +2 -2
- package/esm2022/checkbox/checkbox.mjs +2 -2
- package/esm2022/config/primeng-config.mjs +5 -0
- package/esm2022/config/primeng.mjs +189 -0
- package/esm2022/config/provideprimeng.mjs +11 -0
- package/esm2022/config/public_api.mjs +4 -0
- package/esm2022/config/themeprovider.mjs +74 -0
- package/esm2022/confirmpopup/confirmpopup.mjs +4 -6
- package/esm2022/dialog/dialog.mjs +23 -3
- package/esm2022/dropdown/dropdown.mjs +2 -2
- package/esm2022/editor/editor.mjs +15 -14
- package/esm2022/fileupload/style/fileuploadstyle.mjs +2 -2
- package/esm2022/galleria/galleria.mjs +16 -20
- package/esm2022/iconfield/iconfield.mjs +3 -5
- package/esm2022/inputnumber/inputnumber.mjs +3 -3
- package/esm2022/inputtext/inputtext.mjs +3 -3
- package/esm2022/inputtextarea/inputtextarea.mjs +3 -3
- package/esm2022/listbox/listbox.mjs +5 -5
- package/esm2022/megamenu/megamenu.mjs +4 -7
- package/esm2022/menubar/menubar.mjs +4 -7
- package/esm2022/multiselect/multiselect.mjs +86 -83
- package/esm2022/overlay/overlay.mjs +2 -2
- package/esm2022/password/password.mjs +4 -4
- package/esm2022/radiobutton/radiobutton.mjs +3 -3
- package/esm2022/scrolltop/scrolltop.mjs +22 -16
- package/esm2022/select/select.mjs +2 -2
- package/esm2022/textarea/textarea.mjs +3 -3
- package/esm2022/tree/tree.mjs +12 -8
- package/esm2022/treetable/treetable.mjs +7 -8
- package/fesm2022/primeng-accordion.mjs +8 -8
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +3 -276
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +4 -2
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +1 -1
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +2 -2
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +8 -6
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +1 -1
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +1 -1
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +275 -0
- package/fesm2022/primeng-config.mjs.map +1 -0
- package/fesm2022/primeng-confirmpopup.mjs +3 -5
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +22 -2
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +1 -1
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +14 -13
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +1 -1
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +15 -19
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +2 -4
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +2 -2
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +2 -2
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-inputtextarea.mjs +2 -2
- package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +4 -4
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +3 -6
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +3 -6
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +85 -82
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +1 -1
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +3 -3
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +2 -2
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +21 -15
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +1 -1
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +2 -2
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +11 -7
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +6 -7
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/galleria/galleria.d.ts +4 -6
- package/megamenu/megamenu.d.ts +2 -3
- package/menubar/menubar.d.ts +2 -3
- package/multiselect/multiselect.d.ts +4 -4
- package/overlay/overlay.d.ts +1 -1
- package/package.json +145 -139
- package/scrolltop/scrolltop.d.ts +3 -1
- package/treetable/treetable.d.ts +3 -4
- package/api/primengconfig.d.ts +0 -9
- package/esm2022/api/primeng.mjs +0 -188
- package/esm2022/api/primengconfig.mjs +0 -15
- package/esm2022/api/provideprimengconfig.mjs +0 -11
- package/esm2022/api/themeprovider.mjs +0 -73
package/esm2022/api/primeng.mjs
DELETED
@@ -1,188 +0,0 @@
|
|
1
|
-
import { Inject, inject, Injectable, Optional, PLATFORM_ID, signal } from '@angular/core';
|
2
|
-
import { Subject } from 'rxjs';
|
3
|
-
import { FilterMatchMode } from './filtermatchmode';
|
4
|
-
import { PRIME_NG_CONFIG } from './provideprimengconfig';
|
5
|
-
import { ThemeProvider } from './themeprovider';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
export class PrimeNG extends ThemeProvider {
|
8
|
-
_config;
|
9
|
-
ripple = signal(false);
|
10
|
-
platformId = inject(PLATFORM_ID);
|
11
|
-
inputStyle = signal('outlined');
|
12
|
-
overlayOptions = {};
|
13
|
-
csp = signal({ nonce: undefined });
|
14
|
-
filterMatchModeOptions = {
|
15
|
-
text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],
|
16
|
-
numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],
|
17
|
-
date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]
|
18
|
-
};
|
19
|
-
translation = {
|
20
|
-
startsWith: 'Starts with',
|
21
|
-
contains: 'Contains',
|
22
|
-
notContains: 'Not contains',
|
23
|
-
endsWith: 'Ends with',
|
24
|
-
equals: 'Equals',
|
25
|
-
notEquals: 'Not equals',
|
26
|
-
noFilter: 'No Filter',
|
27
|
-
lt: 'Less than',
|
28
|
-
lte: 'Less than or equal to',
|
29
|
-
gt: 'Greater than',
|
30
|
-
gte: 'Greater than or equal to',
|
31
|
-
is: 'Is',
|
32
|
-
isNot: 'Is not',
|
33
|
-
before: 'Before',
|
34
|
-
after: 'After',
|
35
|
-
dateIs: 'Date is',
|
36
|
-
dateIsNot: 'Date is not',
|
37
|
-
dateBefore: 'Date is before',
|
38
|
-
dateAfter: 'Date is after',
|
39
|
-
clear: 'Clear',
|
40
|
-
apply: 'Apply',
|
41
|
-
matchAll: 'Match All',
|
42
|
-
matchAny: 'Match Any',
|
43
|
-
addRule: 'Add Rule',
|
44
|
-
removeRule: 'Remove Rule',
|
45
|
-
accept: 'Yes',
|
46
|
-
reject: 'No',
|
47
|
-
choose: 'Choose',
|
48
|
-
upload: 'Upload',
|
49
|
-
cancel: 'Cancel',
|
50
|
-
pending: 'Pending',
|
51
|
-
fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
|
52
|
-
dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
53
|
-
dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
54
|
-
dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
|
55
|
-
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
56
|
-
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
57
|
-
chooseYear: 'Choose Year',
|
58
|
-
chooseMonth: 'Choose Month',
|
59
|
-
chooseDate: 'Choose Date',
|
60
|
-
prevDecade: 'Previous Decade',
|
61
|
-
nextDecade: 'Next Decade',
|
62
|
-
prevYear: 'Previous Year',
|
63
|
-
nextYear: 'Next Year',
|
64
|
-
prevMonth: 'Previous Month',
|
65
|
-
nextMonth: 'Next Month',
|
66
|
-
prevHour: 'Previous Hour',
|
67
|
-
nextHour: 'Next Hour',
|
68
|
-
prevMinute: 'Previous Minute',
|
69
|
-
nextMinute: 'Next Minute',
|
70
|
-
prevSecond: 'Previous Second',
|
71
|
-
nextSecond: 'Next Second',
|
72
|
-
am: 'am',
|
73
|
-
pm: 'pm',
|
74
|
-
dateFormat: 'mm/dd/yy',
|
75
|
-
firstDayOfWeek: 0,
|
76
|
-
today: 'Today',
|
77
|
-
weekHeader: 'Wk',
|
78
|
-
weak: 'Weak',
|
79
|
-
medium: 'Medium',
|
80
|
-
strong: 'Strong',
|
81
|
-
passwordPrompt: 'Enter a password',
|
82
|
-
emptyMessage: 'No results found',
|
83
|
-
searchMessage: 'Search results are available',
|
84
|
-
selectionMessage: 'Items selected',
|
85
|
-
emptySelectionMessage: 'No selected item',
|
86
|
-
emptySearchMessage: 'No results found',
|
87
|
-
emptyFilterMessage: 'No results found',
|
88
|
-
fileChosenMessage: 'Files',
|
89
|
-
noFileChosenMessage: 'No file chosen',
|
90
|
-
aria: {
|
91
|
-
trueLabel: 'True',
|
92
|
-
falseLabel: 'False',
|
93
|
-
nullLabel: 'Not Selected',
|
94
|
-
star: '1 star',
|
95
|
-
stars: '{star} stars',
|
96
|
-
selectAll: 'All items selected',
|
97
|
-
unselectAll: 'All items unselected',
|
98
|
-
close: 'Close',
|
99
|
-
previous: 'Previous',
|
100
|
-
next: 'Next',
|
101
|
-
navigation: 'Navigation',
|
102
|
-
scrollTop: 'Scroll Top',
|
103
|
-
moveTop: 'Move Top',
|
104
|
-
moveUp: 'Move Up',
|
105
|
-
moveDown: 'Move Down',
|
106
|
-
moveBottom: 'Move Bottom',
|
107
|
-
moveToTarget: 'Move to Target',
|
108
|
-
moveToSource: 'Move to Source',
|
109
|
-
moveAllToTarget: 'Move All to Target',
|
110
|
-
moveAllToSource: 'Move All to Source',
|
111
|
-
pageLabel: '{page}',
|
112
|
-
firstPageLabel: 'First Page',
|
113
|
-
lastPageLabel: 'Last Page',
|
114
|
-
nextPageLabel: 'Next Page',
|
115
|
-
prevPageLabel: 'Previous Page',
|
116
|
-
rowsPerPageLabel: 'Rows per page',
|
117
|
-
previousPageLabel: 'Previous Page',
|
118
|
-
jumpToPageDropdownLabel: 'Jump to Page Dropdown',
|
119
|
-
jumpToPageInputLabel: 'Jump to Page Input',
|
120
|
-
selectRow: 'Row Selected',
|
121
|
-
unselectRow: 'Row Unselected',
|
122
|
-
expandRow: 'Row Expanded',
|
123
|
-
collapseRow: 'Row Collapsed',
|
124
|
-
showFilterMenu: 'Show Filter Menu',
|
125
|
-
hideFilterMenu: 'Hide Filter Menu',
|
126
|
-
filterOperator: 'Filter Operator',
|
127
|
-
filterConstraint: 'Filter Constraint',
|
128
|
-
editRow: 'Row Edit',
|
129
|
-
saveEdit: 'Save Edit',
|
130
|
-
cancelEdit: 'Cancel Edit',
|
131
|
-
listView: 'List View',
|
132
|
-
gridView: 'Grid View',
|
133
|
-
slide: 'Slide',
|
134
|
-
slideNumber: '{slideNumber}',
|
135
|
-
zoomImage: 'Zoom Image',
|
136
|
-
zoomIn: 'Zoom In',
|
137
|
-
zoomOut: 'Zoom Out',
|
138
|
-
rotateRight: 'Rotate Right',
|
139
|
-
rotateLeft: 'Rotate Left',
|
140
|
-
listLabel: 'Option List',
|
141
|
-
selectColor: 'Select a color',
|
142
|
-
removeLabel: 'Remove',
|
143
|
-
browseFiles: 'Browse Files',
|
144
|
-
maximizeLabel: 'Maximize'
|
145
|
-
}
|
146
|
-
};
|
147
|
-
zIndex = {
|
148
|
-
modal: 1100,
|
149
|
-
overlay: 1000,
|
150
|
-
menu: 1000,
|
151
|
-
tooltip: 1100
|
152
|
-
};
|
153
|
-
translationSource = new Subject();
|
154
|
-
translationObserver = this.translationSource.asObservable();
|
155
|
-
constructor(_config) {
|
156
|
-
super(_config);
|
157
|
-
this._config = _config;
|
158
|
-
this.setConfig(_config);
|
159
|
-
}
|
160
|
-
getTranslation(key) {
|
161
|
-
return this.translation[key];
|
162
|
-
}
|
163
|
-
setTranslation(value) {
|
164
|
-
this.translation = { ...this.translation, ...value };
|
165
|
-
this.translationSource.next(this.translation);
|
166
|
-
}
|
167
|
-
setConfig(config) {
|
168
|
-
const { csp, ripple, inputStyle } = config || {};
|
169
|
-
if (csp)
|
170
|
-
this.csp.set(csp);
|
171
|
-
if (ripple)
|
172
|
-
this.ripple.set(ripple);
|
173
|
-
if (inputStyle)
|
174
|
-
this.inputStyle.set(inputStyle);
|
175
|
-
}
|
176
|
-
static ɵfac = function PrimeNG_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrimeNG)(i0.ɵɵinject(PRIME_NG_CONFIG, 8)); };
|
177
|
-
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrimeNG, factory: PrimeNG.ɵfac, providedIn: 'root' });
|
178
|
-
}
|
179
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrimeNG, [{
|
180
|
-
type: Injectable,
|
181
|
-
args: [{ providedIn: 'root' }]
|
182
|
-
}], () => [{ type: undefined, decorators: [{
|
183
|
-
type: Inject,
|
184
|
-
args: [PRIME_NG_CONFIG]
|
185
|
-
}, {
|
186
|
-
type: Optional
|
187
|
-
}] }], null); })();
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWVuZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcHJpbWVuZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBcUIsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBWWhELE1BQU0sT0FBTyxPQUFRLFNBQVEsYUFBYTtJQTZKa0I7SUE1SnhELE1BQU0sR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFekIsVUFBVSxHQUFRLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU3QyxVQUFVLEdBQUcsTUFBTSxDQUF3QixVQUFVLENBQUMsQ0FBQztJQUV2RCxjQUFjLEdBQW1CLEVBQUUsQ0FBQztJQUVwQyxHQUFHLEdBQUcsTUFBTSxDQUFnQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRWxFLHNCQUFzQixHQUFHO1FBQ3JCLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDO1FBQzFLLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRSxlQUFlLENBQUMs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NUQsWUFBd0QsT0FBMEI7UUFDOUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRHFDLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBRTlFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFXO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFvQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFrQjtRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxNQUF5QjtRQUN2QyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2pELElBQUksR0FBRztZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksVUFBVTtZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7aUdBaExRLE9BQU8sY0E2SkksZUFBZTtnRUE3SjFCLE9BQU8sV0FBUCxPQUFPLG1CQURNLE1BQU07O2lGQUNuQixPQUFPO2NBRG5CLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQThKakIsTUFBTTt1QkFBQyxlQUFlOztzQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWx0ZXJNYXRjaE1vZGUgfSBmcm9tICcuL2ZpbHRlcm1hdGNobW9kZSc7XG5pbXBvcnQgeyBPdmVybGF5T3B0aW9ucyB9IGZyb20gJy4vb3ZlcmxheW9wdGlvbnMnO1xuaW1wb3J0IHsgUFJJTUVfTkdfQ09ORklHLCBQcmltZU5HQ29uZmlnVHlwZSB9IGZyb20gJy4vcHJvdmlkZXByaW1lbmdjb25maWcnO1xuaW1wb3J0IHsgVGhlbWVQcm92aWRlciB9IGZyb20gJy4vdGhlbWVwcm92aWRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbiB9IGZyb20gJy4vdHJhbnNsYXRpb24nO1xuXG4vLyBUeXBlIGZvciB6SW5kZXhcbmV4cG9ydCB0eXBlIFpJbmRleCA9IHtcbiAgICBtb2RhbDogbnVtYmVyO1xuICAgIG92ZXJsYXk6IG51bWJlcjtcbiAgICBtZW51OiBudW1iZXI7XG4gICAgdG9vbHRpcDogbnVtYmVyO1xufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQcmltZU5HIGV4dGVuZHMgVGhlbWVQcm92aWRlciB7XG4gICAgcmlwcGxlID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIHB1YmxpYyBwbGF0Zm9ybUlkOiBhbnkgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gICAgaW5wdXRTdHlsZSA9IHNpZ25hbDwnb3V0bGluZWQnIHwgJ2ZpbGxlZCc+KCdvdXRsaW5lZCcpO1xuXG4gICAgb3ZlcmxheU9wdGlvbnM6IE92ZXJsYXlPcHRpb25zID0ge307XG5cbiAgICBjc3AgPSBzaWduYWw8eyBub25jZTogc3RyaW5nIHwgdW5kZWZpbmVkIH0+KHsgbm9uY2U6IHVuZGVmaW5lZCB9KTtcblxuICAgIGZpbHRlck1hdGNoTW9kZU9wdGlvbnMgPSB7XG4gICAgICAgIHRleHQ6IFtGaWx0ZXJNYXRjaE1vZGUuU1RBUlRTX1dJVEgsIEZpbHRlck1hdGNoTW9kZS5DT05UQUlOUywgRmlsdGVyTWF0Y2hNb2RlLk5PVF9DT05UQUlOUywgRmlsdGVyTWF0Y2hNb2RlLkVORFNfV0lUSCwgRmlsdGVyTWF0Y2hNb2RlLkVRVUFMUywgRmlsdGVyTWF0Y2hNb2RlLk5PVF9FUVVBTFNdLFxuICAgICAgICBudW1lcmljOiBbRmlsdGVyTWF0Y2hNb2RlLkVRVUFMUywgRmlsdGVyTWF0Y2hNb2RlLk5PVF9FUVVBTFMsIEZpbHRlck1hdGNoTW9kZS5MRVNTX1RIQU4sIEZpbHRlck1hdGNoTW9kZS5MRVNTX1RIQU5fT1JfRVFVQUxfVE8sIEZpbHRlck1hdGNoTW9kZS5HUkVBVEVSX1RIQU4sIEZpbHRlck1hdGNoTW9kZS5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9dLFxuICAgICAgICBkYXRlOiBbRmlsdGVyTWF0Y2hNb2RlLkRBVEVfSVMsIEZpbHRlck1hdGNoTW9kZS5EQVRFX0lTX05PVCwgRmlsdGVyTWF0Y2hNb2RlLkRBVEVfQkVGT1JFLCBGaWx0ZXJNYXRjaE1vZGUuREFURV9BRlRFUl1cbiAgICB9O1xuXG4gICAgcHVibGljIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbiA9IHtcbiAgICAgICAgc3RhcnRzV2l0aDogJ1N0YXJ0cyB3aXRoJyxcbiAgICAgICAgY29udGFpbnM6ICdDb250YWlucycsXG4gICAgICAgIG5vdENvbnRhaW5zOiAnTm90IGNvbnRhaW5zJyxcbiAgICAgICAgZW5kc1dpdGg6ICdFbmRzIHdpdGgnLFxuICAgICAgICBlcXVhbHM6ICdFcXVhbHMnLFxuICAgICAgICBub3RFcXVhbHM6ICdOb3QgZXF1YWxzJyxcbiAgICAgICAgbm9GaWx0ZXI6ICdObyBGaWx0ZXInLFxuICAgICAgICBsdDogJ0xlc3MgdGhhbicsXG4gICAgICAgIGx0ZTogJ0xlc3MgdGhhbiBvciBlcXVhbCB0bycsXG4gICAgICAgIGd0OiAnR3JlYXRlciB0aGFuJyxcbiAgICAgICAgZ3RlOiAnR3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvJyxcbiAgICAgICAgaXM6ICdJcycsXG4gICAgICAgIGlzTm90OiAnSXMgbm90JyxcbiAgICAgICAgYmVmb3JlOiAnQmVmb3JlJyxcbiAgICAgICAgYWZ0ZXI6ICdBZnRlcicsXG4gICAgICAgIGRhdGVJczogJ0RhdGUgaXMnLFxuICAgICAgICBkYXRlSXNOb3Q6ICdEYXRlIGlzIG5vdCcsXG4gICAgICAgIGRhdGVCZWZvcmU6ICdEYXRlIGlzIGJlZm9yZScsXG4gICAgICAgIGRhdGVBZnRlcjogJ0RhdGUgaXMgYWZ0ZXInLFxuICAgICAgICBjbGVhcjogJ0NsZWFyJyxcbiAgICAgICAgYXBwbHk6ICdBcHBseScsXG4gICAgICAgIG1hdGNoQWxsOiAnTWF0Y2ggQWxsJyxcbiAgICAgICAgbWF0Y2hBbnk6ICdNYXRjaCBBbnknLFxuICAgICAgICBhZGRSdWxlOiAnQWRkIFJ1bGUnLFxuICAgICAgICByZW1vdmVSdWxlOiAnUmVtb3ZlIFJ1bGUnLFxuICAgICAgICBhY2NlcHQ6ICdZZXMnLFxuICAgICAgICByZWplY3Q6ICdObycsXG4gICAgICAgIGNob29zZTogJ0Nob29zZScsXG4gICAgICAgIHVwbG9hZDogJ1VwbG9hZCcsXG4gICAgICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgICAgIHBlbmRpbmc6ICdQZW5kaW5nJyxcbiAgICAgICAgZmlsZVNpemVUeXBlczogWydCJywgJ0tCJywgJ01CJywgJ0dCJywgJ1RCJywgJ1BCJywgJ0VCJywgJ1pCJywgJ1lCJ10sXG4gICAgICAgIGRheU5hbWVzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10sXG4gICAgICAgIGRheU5hbWVzU2hvcnQ6IFsnU3VuJywgJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0J10sXG4gICAgICAgIGRheU5hbWVzTWluOiBbJ1N1JywgJ01vJywgJ1R1JywgJ1dlJywgJ1RoJywgJ0ZyJywgJ1NhJ10sXG4gICAgICAgIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddLFxuICAgICAgICBtb250aE5hbWVzU2hvcnQ6IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLCAnSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXSxcbiAgICAgICAgY2hvb3NlWWVhcjogJ0Nob29zZSBZZWFyJyxcbiAgICAgICAgY2hvb3NlTW9udGg6ICdDaG9vc2UgTW9udGgnLFxuICAgICAgICBjaG9vc2VEYXRlOiAnQ2hvb3NlIERhdGUnLFxuICAgICAgICBwcmV2RGVjYWRlOiAnUHJldmlvdXMgRGVjYWRlJyxcbiAgICAgICAgbmV4dERlY2FkZTogJ05leHQgRGVjYWRlJyxcbiAgICAgICAgcHJldlllYXI6ICdQcmV2aW91cyBZZWFyJyxcbiAgICAgICAgbmV4dFllYXI6ICdOZXh0IFllYXInLFxuICAgICAgICBwcmV2TW9udGg6ICdQcmV2aW91cyBNb250aCcsXG4gICAgICAgIG5leHRNb250aDogJ05leHQgTW9udGgnLFxuICAgICAgICBwcmV2SG91cjogJ1ByZXZpb3VzIEhvdXInLFxuICAgICAgICBuZXh0SG91cjogJ05leHQgSG91cicsXG4gICAgICAgIHByZXZNaW51dGU6ICdQcmV2aW91cyBNaW51dGUnLFxuICAgICAgICBuZXh0TWludXRlOiAnTmV4dCBNaW51dGUnLFxuICAgICAgICBwcmV2U2Vjb25kOiAnUHJldmlvdXMgU2Vjb25kJyxcbiAgICAgICAgbmV4dFNlY29uZDogJ05leHQgU2Vjb25kJyxcbiAgICAgICAgYW06ICdhbScsXG4gICAgICAgIHBtOiAncG0nLFxuICAgICAgICBkYXRlRm9ybWF0OiAnbW0vZGQveXknLFxuICAgICAgICBmaXJzdERheU9mV2VlazogMCxcbiAgICAgICAgdG9kYXk6ICdUb2RheScsXG4gICAgICAgIHdlZWtIZWFkZXI6ICdXaycsXG4gICAgICAgIHdlYWs6ICdXZWFrJyxcbiAgICAgICAgbWVkaXVtOiAnTWVkaXVtJyxcbiAgICAgICAgc3Ryb25nOiAnU3Ryb25nJyxcbiAgICAgICAgcGFzc3dvcmRQcm9tcHQ6ICdFbnRlciBhIHBhc3N3b3JkJyxcbiAgICAgICAgZW1wdHlNZXNzYWdlOiAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gICAgICAgIHNlYXJjaE1lc3NhZ2U6ICdTZWFyY2ggcmVzdWx0cyBhcmUgYXZhaWxhYmxlJyxcbiAgICAgICAgc2VsZWN0aW9uTWVzc2FnZTogJ0l0ZW1zIHNlbGVjdGVkJyxcbiAgICAgICAgZW1wdHlTZWxlY3Rpb25NZXNzYWdlOiAnTm8gc2VsZWN0ZWQgaXRlbScsXG4gICAgICAgIGVtcHR5U2VhcmNoTWVzc2FnZTogJ05vIHJlc3VsdHMgZm91bmQnLFxuICAgICAgICBlbXB0eUZpbHRlck1lc3NhZ2U6ICdObyByZXN1bHRzIGZvdW5kJyxcbiAgICAgICAgZmlsZUNob3Nlbk1lc3NhZ2U6ICdGaWxlcycsXG4gICAgICAgIG5vRmlsZUNob3Nlbk1lc3NhZ2U6ICdObyBmaWxlIGNob3NlbicsXG4gICAgICAgIGFyaWE6IHtcbiAgICAgICAgICAgIHRydWVMYWJlbDogJ1RydWUnLFxuICAgICAgICAgICAgZmFsc2VMYWJlbDogJ0ZhbHNlJyxcbiAgICAgICAgICAgIG51bGxMYWJlbDogJ05vdCBTZWxlY3RlZCcsXG4gICAgICAgICAgICBzdGFyOiAnMSBzdGFyJyxcbiAgICAgICAgICAgIHN0YXJzOiAne3N0YXJ9IHN0YXJzJyxcbiAgICAgICAgICAgIHNlbGVjdEFsbDogJ0FsbCBpdGVtcyBzZWxlY3RlZCcsXG4gICAgICAgICAgICB1bnNlbGVjdEFsbDogJ0FsbCBpdGVtcyB1bnNlbGVjdGVkJyxcbiAgICAgICAgICAgIGNsb3NlOiAnQ2xvc2UnLFxuICAgICAgICAgICAgcHJldmlvdXM6ICdQcmV2aW91cycsXG4gICAgICAgICAgICBuZXh0OiAnTmV4dCcsXG4gICAgICAgICAgICBuYXZpZ2F0aW9uOiAnTmF2aWdhdGlvbicsXG4gICAgICAgICAgICBzY3JvbGxUb3A6ICdTY3JvbGwgVG9wJyxcbiAgICAgICAgICAgIG1vdmVUb3A6ICdNb3ZlIFRvcCcsXG4gICAgICAgICAgICBtb3ZlVXA6ICdNb3ZlIFVwJyxcbiAgICAgICAgICAgIG1vdmVEb3duOiAnTW92ZSBEb3duJyxcbiAgICAgICAgICAgIG1vdmVCb3R0b206ICdNb3ZlIEJvdHRvbScsXG4gICAgICAgICAgICBtb3ZlVG9UYXJnZXQ6ICdNb3ZlIHRvIFRhcmdldCcsXG4gICAgICAgICAgICBtb3ZlVG9Tb3VyY2U6ICdNb3ZlIHRvIFNvdXJjZScsXG4gICAgICAgICAgICBtb3ZlQWxsVG9UYXJnZXQ6ICdNb3ZlIEFsbCB0byBUYXJnZXQnLFxuICAgICAgICAgICAgbW92ZUFsbFRvU291cmNlOiAnTW92ZSBBbGwgdG8gU291cmNlJyxcbiAgICAgICAgICAgIHBhZ2VMYWJlbDogJ3twYWdlfScsXG4gICAgICAgICAgICBmaXJzdFBhZ2VMYWJlbDogJ0ZpcnN0IFBhZ2UnLFxuICAgICAgICAgICAgbGFzdFBhZ2VMYWJlbDogJ0xhc3QgUGFnZScsXG4gICAgICAgICAgICBuZXh0UGFnZUxhYmVsOiAnTmV4dCBQYWdlJyxcbiAgICAgICAgICAgIHByZXZQYWdlTGFiZWw6ICdQcmV2aW91cyBQYWdlJyxcbiAgICAgICAgICAgIHJvd3NQZXJQYWdlTGFiZWw6ICdSb3dzIHBlciBwYWdlJyxcbiAgICAgICAgICAgIHByZXZpb3VzUGFnZUxhYmVsOiAnUHJldmlvdXMgUGFnZScsXG4gICAgICAgICAgICBqdW1wVG9QYWdlRHJvcGRvd25MYWJlbDogJ0p1bXAgdG8gUGFnZSBEcm9wZG93bicsXG4gICAgICAgICAgICBqdW1wVG9QYWdlSW5wdXRMYWJlbDogJ0p1bXAgdG8gUGFnZSBJbnB1dCcsXG4gICAgICAgICAgICBzZWxlY3RSb3c6ICdSb3cgU2VsZWN0ZWQnLFxuICAgICAgICAgICAgdW5zZWxlY3RSb3c6ICdSb3cgVW5zZWxlY3RlZCcsXG4gICAgICAgICAgICBleHBhbmRSb3c6ICdSb3cgRXhwYW5kZWQnLFxuICAgICAgICAgICAgY29sbGFwc2VSb3c6ICdSb3cgQ29sbGFwc2VkJyxcbiAgICAgICAgICAgIHNob3dGaWx0ZXJNZW51OiAnU2hvdyBGaWx0ZXIgTWVudScsXG4gICAgICAgICAgICBoaWRlRmlsdGVyTWVudTogJ0hpZGUgRmlsdGVyIE1lbnUnLFxuICAgICAgICAgICAgZmlsdGVyT3BlcmF0b3I6ICdGaWx0ZXIgT3BlcmF0b3InLFxuICAgICAgICAgICAgZmlsdGVyQ29uc3RyYWludDogJ0ZpbHRlciBDb25zdHJhaW50JyxcbiAgICAgICAgICAgIGVkaXRSb3c6ICdSb3cgRWRpdCcsXG4gICAgICAgICAgICBzYXZlRWRpdDogJ1NhdmUgRWRpdCcsXG4gICAgICAgICAgICBjYW5jZWxFZGl0OiAnQ2FuY2VsIEVkaXQnLFxuICAgICAgICAgICAgbGlzdFZpZXc6ICdMaXN0IFZpZXcnLFxuICAgICAgICAgICAgZ3JpZFZpZXc6ICdHcmlkIFZpZXcnLFxuICAgICAgICAgICAgc2xpZGU6ICdTbGlkZScsXG4gICAgICAgICAgICBzbGlkZU51bWJlcjogJ3tzbGlkZU51bWJlcn0nLFxuICAgICAgICAgICAgem9vbUltYWdlOiAnWm9vbSBJbWFnZScsXG4gICAgICAgICAgICB6b29tSW46ICdab29tIEluJyxcbiAgICAgICAgICAgIHpvb21PdXQ6ICdab29tIE91dCcsXG4gICAgICAgICAgICByb3RhdGVSaWdodDogJ1JvdGF0ZSBSaWdodCcsXG4gICAgICAgICAgICByb3RhdGVMZWZ0OiAnUm90YXRlIExlZnQnLFxuICAgICAgICAgICAgbGlzdExhYmVsOiAnT3B0aW9uIExpc3QnLFxuICAgICAgICAgICAgc2VsZWN0Q29sb3I6ICdTZWxlY3QgYSBjb2xvcicsXG4gICAgICAgICAgICByZW1vdmVMYWJlbDogJ1JlbW92ZScsXG4gICAgICAgICAgICBicm93c2VGaWxlczogJ0Jyb3dzZSBGaWxlcycsXG4gICAgICAgICAgICBtYXhpbWl6ZUxhYmVsOiAnTWF4aW1pemUnXG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgekluZGV4OiBaSW5kZXggPSB7XG4gICAgICAgIG1vZGFsOiAxMTAwLFxuICAgICAgICBvdmVybGF5OiAxMDAwLFxuICAgICAgICBtZW51OiAxMDAwLFxuICAgICAgICB0b29sdGlwOiAxMTAwXG4gICAgfTtcblxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25Tb3VyY2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICB0cmFuc2xhdGlvbk9ic2VydmVyID0gdGhpcy50cmFuc2xhdGlvblNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoUFJJTUVfTkdfQ09ORklHKSBAT3B0aW9uYWwoKSBwdWJsaWMgX2NvbmZpZzogUHJpbWVOR0NvbmZpZ1R5cGUpIHtcbiAgICAgICAgc3VwZXIoX2NvbmZpZyk7XG4gICAgICAgIHRoaXMuc2V0Q29uZmlnKF9jb25maWcpO1xuICAgIH1cblxuICAgIGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25ba2V5IGFzIGtleW9mIHR5cGVvZiB0aGlzLnRyYW5zbGF0aW9uXTtcbiAgICB9XG5cbiAgICBzZXRUcmFuc2xhdGlvbih2YWx1ZTogVHJhbnNsYXRpb24pIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbiA9IHsgLi4udGhpcy50cmFuc2xhdGlvbiwgLi4udmFsdWUgfTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblNvdXJjZS5uZXh0KHRoaXMudHJhbnNsYXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29uZmlnKGNvbmZpZzogUHJpbWVOR0NvbmZpZ1R5cGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBjc3AsIHJpcHBsZSwgaW5wdXRTdHlsZSB9ID0gY29uZmlnIHx8IHt9O1xuICAgICAgICBpZiAoY3NwKSB0aGlzLmNzcC5zZXQoY3NwKTtcbiAgICAgICAgaWYgKHJpcHBsZSkgdGhpcy5yaXBwbGUuc2V0KHJpcHBsZSk7XG4gICAgICAgIGlmIChpbnB1dFN0eWxlKSB0aGlzLmlucHV0U3R5bGUuc2V0KGlucHV0U3R5bGUpO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { PrimeNG } from './primeng';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* @deprecated since v18.0.0. Use PrimeNG instead.
|
6
|
-
*/
|
7
|
-
export class PrimeNGConfig extends PrimeNG {
|
8
|
-
static ɵfac = /*@__PURE__*/ (() => { let ɵPrimeNGConfig_BaseFactory; return function PrimeNGConfig_Factory(__ngFactoryType__) { return (ɵPrimeNGConfig_BaseFactory || (ɵPrimeNGConfig_BaseFactory = i0.ɵɵgetInheritedFactory(PrimeNGConfig)))(__ngFactoryType__ || PrimeNGConfig); }; })();
|
9
|
-
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrimeNGConfig, factory: PrimeNGConfig.ɵfac, providedIn: 'root' });
|
10
|
-
}
|
11
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrimeNGConfig, [{
|
12
|
-
type: Injectable,
|
13
|
-
args: [{ providedIn: 'root' }]
|
14
|
-
}], null, null); })();
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWVuZ2NvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcHJpbWVuZ2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRXBDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxPQUFPO2lPQUE3QixhQUFhLHlCQUFiLGFBQWE7Z0VBQWIsYUFBYSxXQUFiLGFBQWEsbUJBREEsTUFBTTs7aUZBQ25CLGFBQWE7Y0FEekIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaW1lTkcgfSBmcm9tICcuL3ByaW1lbmcnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHNpbmNlIHYxOC4wLjAuIFVzZSBQcmltZU5HIGluc3RlYWQuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUHJpbWVOR0NvbmZpZyBleHRlbmRzIFByaW1lTkcge31cbiJdfQ==
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
|
2
|
-
export const PRIME_NG_CONFIG = new InjectionToken('PRIME_NG_CONFIG');
|
3
|
-
export function providePrimeNgConfig(...features) {
|
4
|
-
const providers = features.map((feature) => ({
|
5
|
-
provide: PRIME_NG_CONFIG,
|
6
|
-
useValue: feature,
|
7
|
-
multi: false
|
8
|
-
}));
|
9
|
-
return makeEnvironmentProviders(providers);
|
10
|
-
}
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXByaW1lbmdjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3Byb3ZpZGVwcmltZW5nY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsY0FBYyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9GLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBb0IsaUJBQWlCLENBQUMsQ0FBQztBQUV4RixNQUFNLFVBQVUsb0JBQW9CLENBQUMsR0FBRyxRQUE2QjtJQUNqRSxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLEtBQUssRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFDLENBQUM7SUFFSixPQUFPLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4sIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBUaGVtZVR5cGUgPSB7IHByZXNldDogYW55OyBvcHRpb25zOiBhbnkgfSB8ICdub25lJyB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgUHJpbWVOR0NvbmZpZ1R5cGUgPSB7IHRoZW1lPzogVGhlbWVUeXBlOyByaXBwbGU/OiBib29sZWFuOyBpbnB1dFN0eWxlPzogJ291dGxpbmVkJyB8ICdmaWxsZWQnOyBjc3A/OiB7IG5vbmNlOiBzdHJpbmcgfCB1bmRlZmluZWQgfSB9O1xuXG5leHBvcnQgY29uc3QgUFJJTUVfTkdfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFByaW1lTkdDb25maWdUeXBlPignUFJJTUVfTkdfQ09ORklHJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUHJpbWVOZ0NvbmZpZyguLi5mZWF0dXJlczogUHJpbWVOR0NvbmZpZ1R5cGVbXSk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgICBjb25zdCBwcm92aWRlcnMgPSBmZWF0dXJlcy5tYXAoKGZlYXR1cmUpID0+ICh7XG4gICAgICAgIHByb3ZpZGU6IFBSSU1FX05HX0NPTkZJRyxcbiAgICAgICAgdXNlVmFsdWU6IGZlYXR1cmUsXG4gICAgICAgIG11bHRpOiBmYWxzZVxuICAgIH0pKTtcblxuICAgIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMocHJvdmlkZXJzKTtcbn1cbiJdfQ==
|
@@ -1,73 +0,0 @@
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
2
|
-
import { effect, inject, Inject, Injectable, Optional, signal, untracked } from '@angular/core';
|
3
|
-
import { Theme, ThemeService } from '@primeuix/styled';
|
4
|
-
import { BaseStyle } from 'primeng/base';
|
5
|
-
import { PRIME_NG_CONFIG } from './provideprimengconfig';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
export class ThemeProvider {
|
8
|
-
config;
|
9
|
-
// @todo define type for theme
|
10
|
-
theme = signal(undefined);
|
11
|
-
isThemeChanged = false;
|
12
|
-
document = inject(DOCUMENT);
|
13
|
-
baseStyle = inject(BaseStyle);
|
14
|
-
constructor(config) {
|
15
|
-
this.config = config;
|
16
|
-
if (this.config?.theme) {
|
17
|
-
this.theme.set(this.config.theme);
|
18
|
-
}
|
19
|
-
effect(() => {
|
20
|
-
ThemeService.on('theme:change', (newTheme) => {
|
21
|
-
untracked(() => {
|
22
|
-
this.isThemeChanged = true;
|
23
|
-
this.theme.set(newTheme);
|
24
|
-
// this.onThemeChange(this.theme());
|
25
|
-
});
|
26
|
-
});
|
27
|
-
}, { allowSignalWrites: true });
|
28
|
-
effect(() => {
|
29
|
-
const themeValue = this.theme();
|
30
|
-
if (this.document && themeValue) {
|
31
|
-
if (!this.isThemeChanged) {
|
32
|
-
this.onThemeChange(themeValue);
|
33
|
-
}
|
34
|
-
this.isThemeChanged = false;
|
35
|
-
}
|
36
|
-
});
|
37
|
-
}
|
38
|
-
ngOnDestroy() {
|
39
|
-
Theme.clearLoadedStyleNames();
|
40
|
-
ThemeService.clear();
|
41
|
-
}
|
42
|
-
onThemeChange(value) {
|
43
|
-
Theme.setTheme(value);
|
44
|
-
if (this.document) {
|
45
|
-
this.loadCommonTheme();
|
46
|
-
}
|
47
|
-
}
|
48
|
-
loadCommonTheme() {
|
49
|
-
if (this.theme() === 'none')
|
50
|
-
return;
|
51
|
-
// common
|
52
|
-
if (!Theme.isStyleNameLoaded('common')) {
|
53
|
-
const { primitive, semantic } = this.baseStyle.getCommonTheme?.() || {};
|
54
|
-
const styleOptions = { nonce: undefined };
|
55
|
-
this.baseStyle.load(primitive?.css, { name: 'primitive-variables', ...styleOptions });
|
56
|
-
this.baseStyle.load(semantic?.css, { name: 'semantic-variables', ...styleOptions });
|
57
|
-
this.baseStyle.loadTheme({ name: 'global-style', ...styleOptions });
|
58
|
-
Theme.setLoadedStyleName('common');
|
59
|
-
}
|
60
|
-
}
|
61
|
-
static ɵfac = function ThemeProvider_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ThemeProvider)(i0.ɵɵinject(PRIME_NG_CONFIG, 8)); };
|
62
|
-
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ThemeProvider, factory: ThemeProvider.ɵfac, providedIn: 'root' });
|
63
|
-
}
|
64
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ThemeProvider, [{
|
65
|
-
type: Injectable,
|
66
|
-
args: [{ providedIn: 'root' }]
|
67
|
-
}], () => [{ type: undefined, decorators: [{
|
68
|
-
type: Inject,
|
69
|
-
args: [PRIME_NG_CONFIG]
|
70
|
-
}, {
|
71
|
-
type: Optional
|
72
|
-
}] }], null); })();
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWVwcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvdGhlbWVwcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBcUIsTUFBTSx3QkFBd0IsQ0FBQzs7QUFHNUUsTUFBTSxPQUFPLGFBQWE7SUFVbUM7SUFUekQsOEJBQThCO0lBQzlCLEtBQUssR0FBRyxNQUFNLENBQU0sU0FBUyxDQUFDLENBQUM7SUFFL0IsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUV6QixRQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTdDLFNBQVMsR0FBYyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFekMsWUFBeUQsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDOUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELE1BQU0sQ0FDRixHQUFHLEVBQUU7WUFDRCxZQUFZLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO29CQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDekIsb0NBQW9DO2dCQUN4QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUM7UUFDRixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztnQkFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzlCLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDcEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssTUFBTTtZQUFFLE9BQU87UUFFcEMsU0FBUztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDeEUsTUFBTSxZQUFZLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDdEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUMsQ0FBQztZQUVwRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7dUdBL0RRLGFBQWEsY0FVRixlQUFlO2dFQVYxQixhQUFhLFdBQWIsYUFBYSxtQkFEQSxNQUFNOztpRkFDbkIsYUFBYTtjQUR6QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztzQkFXakIsTUFBTTt1QkFBQyxlQUFlOztzQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZWZmZWN0LCBpbmplY3QsIEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZSwgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHByaW1ldWl4L3N0eWxlZCc7XG5pbXBvcnQgeyBCYXNlU3R5bGUgfSBmcm9tICdwcmltZW5nL2Jhc2UnO1xuaW1wb3J0IHsgUFJJTUVfTkdfQ09ORklHLCBQcmltZU5HQ29uZmlnVHlwZSB9IGZyb20gJy4vcHJvdmlkZXByaW1lbmdjb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRoZW1lUHJvdmlkZXIge1xuICAgIC8vIEB0b2RvIGRlZmluZSB0eXBlIGZvciB0aGVtZVxuICAgIHRoZW1lID0gc2lnbmFsPGFueT4odW5kZWZpbmVkKTtcblxuICAgIGlzVGhlbWVDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIGJhc2VTdHlsZTogQmFzZVN0eWxlID0gaW5qZWN0KEJhc2VTdHlsZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFBSSU1FX05HX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb25maWc6IFByaW1lTkdDb25maWdUeXBlKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZz8udGhlbWUpIHtcbiAgICAgICAgICAgIHRoaXMudGhlbWUuc2V0KHRoaXMuY29uZmlnLnRoZW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBUaGVtZVNlcnZpY2Uub24oJ3RoZW1lOmNoYW5nZScsIChuZXdUaGVtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1RoZW1lQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRoZW1lLnNldChuZXdUaGVtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLm9uVGhlbWVDaGFuZ2UodGhpcy50aGVtZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aGVtZVZhbHVlID0gdGhpcy50aGVtZSgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQgJiYgdGhlbWVWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc1RoZW1lQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGhlbWVDaGFuZ2UodGhlbWVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaXNUaGVtZUNoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIFRoZW1lLmNsZWFyTG9hZGVkU3R5bGVOYW1lcygpO1xuICAgICAgICBUaGVtZVNlcnZpY2UuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBvblRoZW1lQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgVGhlbWUuc2V0VGhlbWUodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkQ29tbW9uVGhlbWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRDb21tb25UaGVtZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudGhlbWUoKSA9PT0gJ25vbmUnKSByZXR1cm47XG5cbiAgICAgICAgLy8gY29tbW9uXG4gICAgICAgIGlmICghVGhlbWUuaXNTdHlsZU5hbWVMb2FkZWQoJ2NvbW1vbicpKSB7XG4gICAgICAgICAgICBjb25zdCB7IHByaW1pdGl2ZSwgc2VtYW50aWMgfSA9IHRoaXMuYmFzZVN0eWxlLmdldENvbW1vblRoZW1lPy4oKSB8fCB7fTtcbiAgICAgICAgICAgIGNvbnN0IHN0eWxlT3B0aW9ucyA9IHsgbm9uY2U6IHVuZGVmaW5lZCB9O1xuICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZChwcmltaXRpdmU/LmNzcywgeyBuYW1lOiAncHJpbWl0aXZlLXZhcmlhYmxlcycsIC4uLnN0eWxlT3B0aW9ucyB9KTtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0eWxlLmxvYWQoc2VtYW50aWM/LmNzcywgeyBuYW1lOiAnc2VtYW50aWMtdmFyaWFibGVzJywgLi4uc3R5bGVPcHRpb25zIH0pO1xuICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZFRoZW1lKHsgbmFtZTogJ2dsb2JhbC1zdHlsZScsIC4uLnN0eWxlT3B0aW9ucyB9KTtcblxuICAgICAgICAgICAgVGhlbWUuc2V0TG9hZGVkU3R5bGVOYW1lKCdjb21tb24nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|