@wawjs/ngx-prime 22.0.1 → 22.0.2
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/fesm2022/wawjs-ngx-prime-button.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-button.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-buylicense.mjs +60 -0
- package/fesm2022/wawjs-ngx-prime-buylicense.mjs.map +1 -0
- package/fesm2022/wawjs-ngx-prime-checkbox.mjs +5 -1
- package/fesm2022/wawjs-ngx-prime-checkbox.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-colorpicker.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-colorpicker.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-config.mjs +109 -6
- package/fesm2022/wawjs-ngx-prime-config.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs +11 -0
- package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-fileupload.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-fileupload.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icon.mjs +107 -0
- package/fesm2022/wawjs-ngx-prime-icon.mjs.map +1 -0
- package/fesm2022/wawjs-ngx-prime-inputmask.mjs +5 -1
- package/fesm2022/wawjs-ngx-prime-inputmask.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputnumber.mjs +5 -1
- package/fesm2022/wawjs-ngx-prime-inputnumber.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-panelmenu.mjs +2 -1
- package/fesm2022/wawjs-ngx-prime-panelmenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-password.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-password.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-radiobutton.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-radiobutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-rating.mjs +14 -3
- package/fesm2022/wawjs-ngx-prime-rating.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-selectbutton.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-selectbutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-slider.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-slider.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tabs.mjs +3 -4
- package/fesm2022/wawjs-ngx-prime-tabs.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-togglebutton.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-togglebutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs.map +1 -1
- package/package.json +9 -1
- package/types/wawjs-ngx-prime-button.d.ts +1 -0
- package/types/wawjs-ngx-prime-buylicense.d.ts +23 -0
- package/types/wawjs-ngx-prime-colorpicker.d.ts +1 -0
- package/types/wawjs-ngx-prime-config.d.ts +64 -2
- package/types/wawjs-ngx-prime-fileupload.d.ts +1 -0
- package/types/wawjs-ngx-prime-icon.d.ts +33 -0
- package/types/wawjs-ngx-prime-password.d.ts +1 -0
- package/types/wawjs-ngx-prime-radiobutton.d.ts +1 -0
- package/types/wawjs-ngx-prime-rating.d.ts +5 -0
- package/types/wawjs-ngx-prime-selectbutton.d.ts +1 -0
- package/types/wawjs-ngx-prime-slider.d.ts +1 -0
- package/types/wawjs-ngx-prime-togglebutton.d.ts +1 -0
- package/types/wawjs-ngx-prime-toggleswitch.d.ts +1 -0
|
@@ -3,7 +3,7 @@ import { signal, inject, effect, untracked, Service, PLATFORM_ID, InjectionToken
|
|
|
3
3
|
import { FilterMatchMode } from '@wawjs/ngx-prime/api';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import { DOCUMENT } from '@angular/common';
|
|
6
|
-
import { ThemeService, Theme } from '@wawjs/css-prime-styled';
|
|
6
|
+
import { ThemeService, Theme as Theme$1 } from '@wawjs/css-prime-styled';
|
|
7
7
|
import { BaseStyle } from '@wawjs/ngx-prime/base';
|
|
8
8
|
|
|
9
9
|
class ThemeProvider {
|
|
@@ -36,11 +36,11 @@ class ThemeProvider {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
ngOnDestroy() {
|
|
39
|
-
Theme.clearLoadedStyleNames();
|
|
39
|
+
Theme$1.clearLoadedStyleNames();
|
|
40
40
|
ThemeService.clear();
|
|
41
41
|
}
|
|
42
42
|
onThemeChange(value) {
|
|
43
|
-
Theme.setTheme(value);
|
|
43
|
+
Theme$1.setTheme(value);
|
|
44
44
|
if (this.document) {
|
|
45
45
|
this.loadCommonTheme();
|
|
46
46
|
}
|
|
@@ -49,14 +49,14 @@ class ThemeProvider {
|
|
|
49
49
|
if (this.theme() === 'none')
|
|
50
50
|
return;
|
|
51
51
|
// common
|
|
52
|
-
if (!Theme.isStyleNameLoaded('common')) {
|
|
52
|
+
if (!Theme$1.isStyleNameLoaded('common')) {
|
|
53
53
|
const { primitive, semantic, global, style } = this.baseStyle.getCommonTheme?.() || {};
|
|
54
54
|
const styleOptions = { nonce: this.csp?.()?.nonce };
|
|
55
55
|
this.baseStyle.load(primitive?.css, { name: 'primitive-variables', ...styleOptions });
|
|
56
56
|
this.baseStyle.load(semantic?.css, { name: 'semantic-variables', ...styleOptions });
|
|
57
57
|
this.baseStyle.load(global?.css, { name: 'global-variables', ...styleOptions });
|
|
58
58
|
this.baseStyle.loadBaseStyle({ name: 'global-style', ...styleOptions }, style);
|
|
59
|
-
Theme.setLoadedStyleName('common');
|
|
59
|
+
Theme$1.setLoadedStyleName('common');
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
setThemeConfig(config) {
|
|
@@ -299,9 +299,112 @@ function provideNgxPrime(...features) {
|
|
|
299
299
|
return makeEnvironmentProviders([...providers, initializer]);
|
|
300
300
|
}
|
|
301
301
|
|
|
302
|
+
const DEFAULT_CONFIG = {
|
|
303
|
+
darkModeSelector: '.p-dark',
|
|
304
|
+
storageKey: 'ngx-prime-theme'
|
|
305
|
+
};
|
|
306
|
+
const THEME_CONFIG = new InjectionToken('THEME_CONFIG');
|
|
307
|
+
function provideTheme(config = {}) {
|
|
308
|
+
return makeEnvironmentProviders([{ provide: THEME_CONFIG, useValue: config }]);
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Generic runtime dark/light mode manager, plus a small escape hatch for
|
|
312
|
+
* arbitrary app-owned design tokens (e.g. a density scale) that have no
|
|
313
|
+
* ngx-prime equivalent.
|
|
314
|
+
*
|
|
315
|
+
* Owns its own `darkModeSelector` (configurable via `provideTheme`,
|
|
316
|
+
* default `.p-dark`) rather than reading it from `provideNgxPrime`'s theme
|
|
317
|
+
* config — the two are deliberately independent. If a consuming app wants
|
|
318
|
+
* ngx-prime's own dark tokens to follow the same toggle, it passes the same
|
|
319
|
+
* selector to `provideNgxPrime({ theme: { options: { darkModeSelector } } })`
|
|
320
|
+
* itself.
|
|
321
|
+
*/
|
|
322
|
+
class Theme {
|
|
323
|
+
document = inject(DOCUMENT);
|
|
324
|
+
config = {
|
|
325
|
+
...DEFAULT_CONFIG,
|
|
326
|
+
...inject(THEME_CONFIG, { optional: true })
|
|
327
|
+
};
|
|
328
|
+
mode = signal(this.restore(), /* @ts-ignore */
|
|
329
|
+
...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
330
|
+
constructor() {
|
|
331
|
+
this.apply(this.mode());
|
|
332
|
+
}
|
|
333
|
+
setMode(mode) {
|
|
334
|
+
this.mode.set(mode);
|
|
335
|
+
this.apply(mode);
|
|
336
|
+
this.persist(mode);
|
|
337
|
+
}
|
|
338
|
+
toggle() {
|
|
339
|
+
this.setMode(this.mode() === 'dark' ? 'light' : 'dark');
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Writes an arbitrary named group of CSS custom properties to `target`
|
|
343
|
+
* (defaults to `<html>`). Not tied to any naming convention — use it for
|
|
344
|
+
* app-owned tokens ngx-prime has no concept of, e.g.:
|
|
345
|
+
* `theme.setTokens({ '--sp-1': '2px', '--sp-2': '6px' })`.
|
|
346
|
+
*/
|
|
347
|
+
setTokens(vars, target = this.document.documentElement) {
|
|
348
|
+
for (const [name, value] of Object.entries(vars)) {
|
|
349
|
+
target.style.setProperty(name.startsWith('--') ? name : `--${name}`, value);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
apply(mode) {
|
|
353
|
+
const selector = this.config.darkModeSelector;
|
|
354
|
+
const root = this.document.documentElement;
|
|
355
|
+
const isDark = mode === 'dark';
|
|
356
|
+
const attrMatch = /^\[(.+?)(?:=['"]?(.+?)['"]?)?\]$/.exec(selector);
|
|
357
|
+
if (attrMatch) {
|
|
358
|
+
const [, attr, value] = attrMatch;
|
|
359
|
+
if (isDark)
|
|
360
|
+
root.setAttribute(attr, value ?? '');
|
|
361
|
+
else
|
|
362
|
+
root.removeAttribute(attr);
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
if (selector.startsWith('.')) {
|
|
366
|
+
root.classList.toggle(selector.slice(1), isDark);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
restore() {
|
|
370
|
+
try {
|
|
371
|
+
const stored = localStorage.getItem(this.config.storageKey);
|
|
372
|
+
if (stored === 'light' || stored === 'dark')
|
|
373
|
+
return stored;
|
|
374
|
+
}
|
|
375
|
+
catch {
|
|
376
|
+
// ignore read failures (e.g. storage disabled)
|
|
377
|
+
}
|
|
378
|
+
return typeof window !== 'undefined' && window.matchMedia?.('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
|
379
|
+
}
|
|
380
|
+
persist(mode) {
|
|
381
|
+
try {
|
|
382
|
+
localStorage.setItem(this.config.storageKey, mode);
|
|
383
|
+
}
|
|
384
|
+
catch {
|
|
385
|
+
// ignore write failures (e.g. storage disabled/full)
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Theme, deps: [], target: i0.ɵɵFactoryTarget.Service });
|
|
389
|
+
static ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.1.2", ngImport: i0, type: Theme });
|
|
390
|
+
}
|
|
391
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Theme, decorators: [{
|
|
392
|
+
type: Service
|
|
393
|
+
}], ctorParameters: () => [] });
|
|
394
|
+
|
|
395
|
+
const TEMPLATE_CONFIG = new InjectionToken('TEMPLATE_CONFIG');
|
|
396
|
+
/**
|
|
397
|
+
* Declares which template (by slug) this app was built from. Consumed by
|
|
398
|
+
* `@wawjs/ngx-prime/buylicense`'s `BuyLicense` button to link out to that
|
|
399
|
+
* template's purchase page — nothing renders until a slug is provided.
|
|
400
|
+
*/
|
|
401
|
+
function provideTemplate(config = {}) {
|
|
402
|
+
return makeEnvironmentProviders([{ provide: TEMPLATE_CONFIG, useValue: config }]);
|
|
403
|
+
}
|
|
404
|
+
|
|
302
405
|
/**
|
|
303
406
|
* Generated bundle index. Do not edit.
|
|
304
407
|
*/
|
|
305
408
|
|
|
306
|
-
export { NgxPrime, PRIME_NG_CONFIG, ThemeProvider, provideNgxPrime };
|
|
409
|
+
export { NgxPrime, PRIME_NG_CONFIG, TEMPLATE_CONFIG, THEME_CONFIG, Theme, ThemeProvider, provideNgxPrime, provideTemplate, provideTheme };
|
|
307
410
|
//# sourceMappingURL=wawjs-ngx-prime-config.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wawjs-ngx-prime-config.mjs","sources":["../../src/config/themeprovider.ts","../../src/config/ngx-prime.ts","../../src/config/provide-ngx-prime.ts","../../src/config/wawjs-ngx-prime-config.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { effect, inject, OnDestroy, Service, signal, untracked } from '@angular/core';\nimport { Theme, ThemeService } from '@wawjs/css-prime-styled';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\nimport type { ThemeConfigType } from './ngx-prime.types';\n\n@Service()\nexport class ThemeProvider implements OnDestroy {\n // @todo define type for theme\n theme = signal<any>(undefined);\n\n csp = signal<{ nonce: string | undefined }>({ nonce: undefined });\n\n isThemeChanged: boolean = false;\n\n public document: Document = inject(DOCUMENT);\n\n baseStyle: BaseStyle = inject(BaseStyle);\n\n constructor() {\n effect(() => {\n ThemeService.on('theme:change', (newTheme) => {\n untracked(() => {\n this.isThemeChanged = true;\n this.theme.set(newTheme);\n // this.onThemeChange(this.theme());\n });\n });\n });\n effect(() => {\n const themeValue = this.theme();\n\n if (this.document && themeValue) {\n if (!this.isThemeChanged) {\n this.onThemeChange(themeValue);\n }\n\n this.isThemeChanged = false;\n }\n });\n }\n\n ngOnDestroy() {\n Theme.clearLoadedStyleNames();\n ThemeService.clear();\n }\n\n onThemeChange(value: any) {\n Theme.setTheme(value);\n\n if (this.document) {\n this.loadCommonTheme();\n }\n }\n\n loadCommonTheme() {\n if (this.theme() === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const { primitive, semantic, global, style } = this.baseStyle.getCommonTheme?.() || {};\n const styleOptions = { nonce: this.csp?.()?.nonce };\n\n this.baseStyle.load(primitive?.css, { name: 'primitive-variables', ...styleOptions });\n this.baseStyle.load(semantic?.css, { name: 'semantic-variables', ...styleOptions });\n this.baseStyle.load(global?.css, { name: 'global-variables', ...styleOptions });\n this.baseStyle.loadBaseStyle({ name: 'global-style', ...styleOptions }, style);\n\n Theme.setLoadedStyleName('common');\n }\n }\n\n setThemeConfig(config: ThemeConfigType): void {\n const { theme, csp } = config || {};\n\n if (theme) this.theme.set(theme);\n if (csp) this.csp.set(csp);\n }\n}\n","import { ElementRef, inject, PLATFORM_ID, Service, signal, TemplateRef } from '@angular/core';\nimport { FilterMatchMode, OverlayOptions, Translation } from '@wawjs/ngx-prime/api';\nimport { Subject } from 'rxjs';\nimport type { NgxPrimeConfigType, ThemeConfigType, ZIndex } from './ngx-prime.types';\nimport { ThemeProvider } from './themeprovider';\n\n@Service()\nexport class NgxPrime extends ThemeProvider {\n ripple = signal<boolean>(false);\n\n public platformId: any = inject(PLATFORM_ID);\n /**\n * @deprecated Since v20. Use `inputVariant` instead.\n */\n inputStyle = signal<'outlined' | 'filled' | null>(null);\n\n inputVariant = signal<'outlined' | 'filled' | null>(null);\n\n overlayAppendTo = signal<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>('self');\n\n overlayOptions: OverlayOptions = {};\n\n csp = signal<{ nonce: string | undefined }>({ nonce: undefined });\n\n unstyled = signal<boolean | undefined>(undefined);\n\n pt = signal<NgxPrimeConfigType['pt']>(undefined);\n\n ptOptions = signal<NgxPrimeConfigType['ptOptions']>(undefined);\n\n filterMatchModeOptions = {\n text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],\n numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],\n date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]\n };\n\n public translation: Translation = {\n startsWith: 'Starts with',\n contains: 'Contains',\n notContains: 'Not contains',\n endsWith: 'Ends with',\n equals: 'Equals',\n notEquals: 'Not equals',\n noFilter: 'No Filter',\n lt: 'Less than',\n lte: 'Less than or equal to',\n gt: 'Greater than',\n gte: 'Greater than or equal to',\n is: 'Is',\n isNot: 'Is not',\n before: 'Before',\n after: 'After',\n dateIs: 'Date is',\n dateIsNot: 'Date is not',\n dateBefore: 'Date is before',\n dateAfter: 'Date is after',\n clear: 'Clear',\n apply: 'Apply',\n matchAll: 'Match All',\n matchAny: 'Match Any',\n addRule: 'Add Rule',\n removeRule: 'Remove Rule',\n accept: 'Yes',\n reject: 'No',\n choose: 'Choose',\n completed: 'Completed',\n upload: 'Upload',\n cancel: 'Cancel',\n pending: 'Pending',\n fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n chooseYear: 'Choose Year',\n chooseMonth: 'Choose Month',\n chooseDate: 'Choose Date',\n prevDecade: 'Previous Decade',\n nextDecade: 'Next Decade',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n prevHour: 'Previous Hour',\n nextHour: 'Next Hour',\n prevMinute: 'Previous Minute',\n nextMinute: 'Next Minute',\n prevSecond: 'Previous Second',\n nextSecond: 'Next Second',\n am: 'am',\n pm: 'pm',\n dateFormat: 'mm/dd/yy',\n firstDayOfWeek: 0,\n today: 'Today',\n weekHeader: 'Wk',\n weak: 'Weak',\n medium: 'Medium',\n strong: 'Strong',\n passwordPrompt: 'Enter a password',\n emptyMessage: 'No results found',\n searchMessage: 'Search results are available',\n selectionMessage: '{0} items selected',\n emptySelectionMessage: 'No selected item',\n emptySearchMessage: 'No results found',\n emptyFilterMessage: 'No results found',\n fileChosenMessage: 'Files',\n noFileChosenMessage: 'No file chosen',\n aria: {\n trueLabel: 'True',\n falseLabel: 'False',\n nullLabel: 'Not Selected',\n star: '1 star',\n stars: '{star} stars',\n selectAll: 'All items selected',\n unselectAll: 'All items unselected',\n close: 'Close',\n previous: 'Previous',\n next: 'Next',\n navigation: 'Navigation',\n scrollTop: 'Scroll Top',\n moveTop: 'Move Top',\n moveUp: 'Move Up',\n moveDown: 'Move Down',\n moveBottom: 'Move Bottom',\n moveToTarget: 'Move to Target',\n moveToSource: 'Move to Source',\n moveAllToTarget: 'Move All to Target',\n moveAllToSource: 'Move All to Source',\n pageLabel: '{page}',\n firstPageLabel: 'First Page',\n lastPageLabel: 'Last Page',\n nextPageLabel: 'Next Page',\n prevPageLabel: 'Previous Page',\n rowsPerPageLabel: 'Rows per page',\n previousPageLabel: 'Previous Page',\n jumpToPageDropdownLabel: 'Jump to Page Dropdown',\n jumpToPageInputLabel: 'Jump to Page Input',\n selectRow: 'Row Selected',\n unselectRow: 'Row Unselected',\n expandRow: 'Row Expanded',\n collapseRow: 'Row Collapsed',\n showFilterMenu: 'Show Filter Menu',\n hideFilterMenu: 'Hide Filter Menu',\n filterOperator: 'Filter Operator',\n filterConstraint: 'Filter Constraint',\n editRow: 'Row Edit',\n saveEdit: 'Save Edit',\n cancelEdit: 'Cancel Edit',\n listView: 'List View',\n gridView: 'Grid View',\n slide: 'Slide',\n slideNumber: '{slideNumber}',\n zoomImage: 'Zoom Image',\n zoomIn: 'Zoom In',\n zoomOut: 'Zoom Out',\n rotateRight: 'Rotate Right',\n rotateLeft: 'Rotate Left',\n listLabel: 'Option List',\n selectColor: 'Select a color',\n removeLabel: 'Remove',\n browseFiles: 'Browse Files',\n maximizeLabel: 'Maximize',\n minimizeLabel: 'Minimize'\n }\n };\n\n zIndex: ZIndex = {\n modal: 1100,\n overlay: 1000,\n menu: 1000,\n tooltip: 1100\n };\n\n private translationSource = new Subject<any>();\n\n translationObserver = this.translationSource.asObservable();\n\n getTranslation(key: string): any {\n return this.translation[key as keyof typeof this.translation];\n }\n\n setTranslation(value: Translation) {\n this.translation = { ...this.translation, ...value };\n this.translationSource.next(this.translation);\n }\n\n setConfig(config: NgxPrimeConfigType): void {\n const { csp, ripple, inputStyle, inputVariant, theme, overlayOptions, translation, filterMatchModeOptions, overlayAppendTo, zIndex, ptOptions, pt, unstyled } = config || {};\n\n if (csp) this.csp.set(csp);\n if (overlayAppendTo) this.overlayAppendTo.set(overlayAppendTo);\n if (ripple) this.ripple.set(ripple);\n if (inputStyle) this.inputStyle.set(inputStyle);\n if (inputVariant) this.inputVariant.set(inputVariant);\n if (overlayOptions) this.overlayOptions = overlayOptions;\n if (translation) this.setTranslation(translation);\n if (filterMatchModeOptions) this.filterMatchModeOptions = filterMatchModeOptions;\n if (zIndex) this.zIndex = zIndex;\n if (pt) this.pt.set(pt);\n if (ptOptions) this.ptOptions.set(ptOptions);\n if (unstyled) this.unstyled.set(unstyled);\n\n if (theme)\n this.setThemeConfig({\n theme,\n csp\n } as ThemeConfigType);\n }\n}\n","import { EnvironmentProviders, inject, InjectionToken, makeEnvironmentProviders, provideAppInitializer } from '@angular/core';\nimport { NgxPrime } from './ngx-prime';\nimport type { NgxPrimeConfigType } from './ngx-prime.types';\n\nexport const PRIME_NG_CONFIG = new InjectionToken<NgxPrimeConfigType>('PRIME_NG_CONFIG');\n\nexport function provideNgxPrime(...features: NgxPrimeConfigType[]): EnvironmentProviders {\n const providers = features?.map((feature) => ({\n provide: PRIME_NG_CONFIG,\n useValue: feature,\n multi: false\n }));\n\n const initializer = provideAppInitializer(() => {\n const NgxPrimeConfig = inject(NgxPrime);\n\n features?.forEach((feature) => NgxPrimeConfig.setConfig(feature));\n\n return;\n });\n\n return makeEnvironmentProviders([...providers, initializer]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wawjs-ngx-prime-config.mjs","sources":["../../src/config/themeprovider.ts","../../src/config/ngx-prime.ts","../../src/config/provide-ngx-prime.ts","../../src/config/theme.ts","../../src/config/template.ts","../../src/config/wawjs-ngx-prime-config.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { effect, inject, OnDestroy, Service, signal, untracked } from '@angular/core';\nimport { Theme, ThemeService } from '@wawjs/css-prime-styled';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\nimport type { ThemeConfigType } from './ngx-prime.types';\n\n@Service()\nexport class ThemeProvider implements OnDestroy {\n // @todo define type for theme\n theme = signal<any>(undefined);\n\n csp = signal<{ nonce: string | undefined }>({ nonce: undefined });\n\n isThemeChanged: boolean = false;\n\n public document: Document = inject(DOCUMENT);\n\n baseStyle: BaseStyle = inject(BaseStyle);\n\n constructor() {\n effect(() => {\n ThemeService.on('theme:change', (newTheme) => {\n untracked(() => {\n this.isThemeChanged = true;\n this.theme.set(newTheme);\n // this.onThemeChange(this.theme());\n });\n });\n });\n effect(() => {\n const themeValue = this.theme();\n\n if (this.document && themeValue) {\n if (!this.isThemeChanged) {\n this.onThemeChange(themeValue);\n }\n\n this.isThemeChanged = false;\n }\n });\n }\n\n ngOnDestroy() {\n Theme.clearLoadedStyleNames();\n ThemeService.clear();\n }\n\n onThemeChange(value: any) {\n Theme.setTheme(value);\n\n if (this.document) {\n this.loadCommonTheme();\n }\n }\n\n loadCommonTheme() {\n if (this.theme() === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const { primitive, semantic, global, style } = this.baseStyle.getCommonTheme?.() || {};\n const styleOptions = { nonce: this.csp?.()?.nonce };\n\n this.baseStyle.load(primitive?.css, { name: 'primitive-variables', ...styleOptions });\n this.baseStyle.load(semantic?.css, { name: 'semantic-variables', ...styleOptions });\n this.baseStyle.load(global?.css, { name: 'global-variables', ...styleOptions });\n this.baseStyle.loadBaseStyle({ name: 'global-style', ...styleOptions }, style);\n\n Theme.setLoadedStyleName('common');\n }\n }\n\n setThemeConfig(config: ThemeConfigType): void {\n const { theme, csp } = config || {};\n\n if (theme) this.theme.set(theme);\n if (csp) this.csp.set(csp);\n }\n}\n","import { ElementRef, inject, PLATFORM_ID, Service, signal, TemplateRef } from '@angular/core';\nimport { FilterMatchMode, OverlayOptions, Translation } from '@wawjs/ngx-prime/api';\nimport { Subject } from 'rxjs';\nimport type { NgxPrimeConfigType, ThemeConfigType, ZIndex } from './ngx-prime.types';\nimport { ThemeProvider } from './themeprovider';\n\n@Service()\nexport class NgxPrime extends ThemeProvider {\n ripple = signal<boolean>(false);\n\n public platformId: any = inject(PLATFORM_ID);\n /**\n * @deprecated Since v20. Use `inputVariant` instead.\n */\n inputStyle = signal<'outlined' | 'filled' | null>(null);\n\n inputVariant = signal<'outlined' | 'filled' | null>(null);\n\n overlayAppendTo = signal<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>('self');\n\n overlayOptions: OverlayOptions = {};\n\n csp = signal<{ nonce: string | undefined }>({ nonce: undefined });\n\n unstyled = signal<boolean | undefined>(undefined);\n\n pt = signal<NgxPrimeConfigType['pt']>(undefined);\n\n ptOptions = signal<NgxPrimeConfigType['ptOptions']>(undefined);\n\n filterMatchModeOptions = {\n text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],\n numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],\n date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]\n };\n\n public translation: Translation = {\n startsWith: 'Starts with',\n contains: 'Contains',\n notContains: 'Not contains',\n endsWith: 'Ends with',\n equals: 'Equals',\n notEquals: 'Not equals',\n noFilter: 'No Filter',\n lt: 'Less than',\n lte: 'Less than or equal to',\n gt: 'Greater than',\n gte: 'Greater than or equal to',\n is: 'Is',\n isNot: 'Is not',\n before: 'Before',\n after: 'After',\n dateIs: 'Date is',\n dateIsNot: 'Date is not',\n dateBefore: 'Date is before',\n dateAfter: 'Date is after',\n clear: 'Clear',\n apply: 'Apply',\n matchAll: 'Match All',\n matchAny: 'Match Any',\n addRule: 'Add Rule',\n removeRule: 'Remove Rule',\n accept: 'Yes',\n reject: 'No',\n choose: 'Choose',\n completed: 'Completed',\n upload: 'Upload',\n cancel: 'Cancel',\n pending: 'Pending',\n fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n chooseYear: 'Choose Year',\n chooseMonth: 'Choose Month',\n chooseDate: 'Choose Date',\n prevDecade: 'Previous Decade',\n nextDecade: 'Next Decade',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n prevHour: 'Previous Hour',\n nextHour: 'Next Hour',\n prevMinute: 'Previous Minute',\n nextMinute: 'Next Minute',\n prevSecond: 'Previous Second',\n nextSecond: 'Next Second',\n am: 'am',\n pm: 'pm',\n dateFormat: 'mm/dd/yy',\n firstDayOfWeek: 0,\n today: 'Today',\n weekHeader: 'Wk',\n weak: 'Weak',\n medium: 'Medium',\n strong: 'Strong',\n passwordPrompt: 'Enter a password',\n emptyMessage: 'No results found',\n searchMessage: 'Search results are available',\n selectionMessage: '{0} items selected',\n emptySelectionMessage: 'No selected item',\n emptySearchMessage: 'No results found',\n emptyFilterMessage: 'No results found',\n fileChosenMessage: 'Files',\n noFileChosenMessage: 'No file chosen',\n aria: {\n trueLabel: 'True',\n falseLabel: 'False',\n nullLabel: 'Not Selected',\n star: '1 star',\n stars: '{star} stars',\n selectAll: 'All items selected',\n unselectAll: 'All items unselected',\n close: 'Close',\n previous: 'Previous',\n next: 'Next',\n navigation: 'Navigation',\n scrollTop: 'Scroll Top',\n moveTop: 'Move Top',\n moveUp: 'Move Up',\n moveDown: 'Move Down',\n moveBottom: 'Move Bottom',\n moveToTarget: 'Move to Target',\n moveToSource: 'Move to Source',\n moveAllToTarget: 'Move All to Target',\n moveAllToSource: 'Move All to Source',\n pageLabel: '{page}',\n firstPageLabel: 'First Page',\n lastPageLabel: 'Last Page',\n nextPageLabel: 'Next Page',\n prevPageLabel: 'Previous Page',\n rowsPerPageLabel: 'Rows per page',\n previousPageLabel: 'Previous Page',\n jumpToPageDropdownLabel: 'Jump to Page Dropdown',\n jumpToPageInputLabel: 'Jump to Page Input',\n selectRow: 'Row Selected',\n unselectRow: 'Row Unselected',\n expandRow: 'Row Expanded',\n collapseRow: 'Row Collapsed',\n showFilterMenu: 'Show Filter Menu',\n hideFilterMenu: 'Hide Filter Menu',\n filterOperator: 'Filter Operator',\n filterConstraint: 'Filter Constraint',\n editRow: 'Row Edit',\n saveEdit: 'Save Edit',\n cancelEdit: 'Cancel Edit',\n listView: 'List View',\n gridView: 'Grid View',\n slide: 'Slide',\n slideNumber: '{slideNumber}',\n zoomImage: 'Zoom Image',\n zoomIn: 'Zoom In',\n zoomOut: 'Zoom Out',\n rotateRight: 'Rotate Right',\n rotateLeft: 'Rotate Left',\n listLabel: 'Option List',\n selectColor: 'Select a color',\n removeLabel: 'Remove',\n browseFiles: 'Browse Files',\n maximizeLabel: 'Maximize',\n minimizeLabel: 'Minimize'\n }\n };\n\n zIndex: ZIndex = {\n modal: 1100,\n overlay: 1000,\n menu: 1000,\n tooltip: 1100\n };\n\n private translationSource = new Subject<any>();\n\n translationObserver = this.translationSource.asObservable();\n\n getTranslation(key: string): any {\n return this.translation[key as keyof typeof this.translation];\n }\n\n setTranslation(value: Translation) {\n this.translation = { ...this.translation, ...value };\n this.translationSource.next(this.translation);\n }\n\n setConfig(config: NgxPrimeConfigType): void {\n const { csp, ripple, inputStyle, inputVariant, theme, overlayOptions, translation, filterMatchModeOptions, overlayAppendTo, zIndex, ptOptions, pt, unstyled } = config || {};\n\n if (csp) this.csp.set(csp);\n if (overlayAppendTo) this.overlayAppendTo.set(overlayAppendTo);\n if (ripple) this.ripple.set(ripple);\n if (inputStyle) this.inputStyle.set(inputStyle);\n if (inputVariant) this.inputVariant.set(inputVariant);\n if (overlayOptions) this.overlayOptions = overlayOptions;\n if (translation) this.setTranslation(translation);\n if (filterMatchModeOptions) this.filterMatchModeOptions = filterMatchModeOptions;\n if (zIndex) this.zIndex = zIndex;\n if (pt) this.pt.set(pt);\n if (ptOptions) this.ptOptions.set(ptOptions);\n if (unstyled) this.unstyled.set(unstyled);\n\n if (theme)\n this.setThemeConfig({\n theme,\n csp\n } as ThemeConfigType);\n }\n}\n","import { EnvironmentProviders, inject, InjectionToken, makeEnvironmentProviders, provideAppInitializer } from '@angular/core';\nimport { NgxPrime } from './ngx-prime';\nimport type { NgxPrimeConfigType } from './ngx-prime.types';\n\nexport const PRIME_NG_CONFIG = new InjectionToken<NgxPrimeConfigType>('PRIME_NG_CONFIG');\n\nexport function provideNgxPrime(...features: NgxPrimeConfigType[]): EnvironmentProviders {\n const providers = features?.map((feature) => ({\n provide: PRIME_NG_CONFIG,\n useValue: feature,\n multi: false\n }));\n\n const initializer = provideAppInitializer(() => {\n const NgxPrimeConfig = inject(NgxPrime);\n\n features?.forEach((feature) => NgxPrimeConfig.setConfig(feature));\n\n return;\n });\n\n return makeEnvironmentProviders([...providers, initializer]);\n}\n","import { DOCUMENT } from '@angular/common';\nimport { EnvironmentProviders, InjectionToken, Service, inject, makeEnvironmentProviders, signal } from '@angular/core';\n\nexport type ThemeMode = 'light' | 'dark';\n\nexport interface ThemeConfig {\n /**\n * CSS selector `Theme` toggles on `<html>` to switch mode — a\n * class (`'.p-dark'`) or an attribute (`\"[data-mode='dark']\"`). Defaults\n * to `'.p-dark'`. Owned entirely by `Theme` — configure it here,\n * not by reading anything from `provideNgxPrime`. If your preset's own\n * dark tokens should track this too, pass the same value to\n * `provideNgxPrime({ theme: { options: { darkModeSelector } } })`\n * explicitly.\n */\n darkModeSelector?: string;\n /** `localStorage` key used to persist the chosen mode. Defaults to `'ngx-prime-theme'`. */\n storageKey?: string;\n}\n\nconst DEFAULT_CONFIG: Required<ThemeConfig> = {\n darkModeSelector: '.p-dark',\n storageKey: 'ngx-prime-theme'\n};\n\nexport const THEME_CONFIG = new InjectionToken<ThemeConfig>('THEME_CONFIG');\n\nexport function provideTheme(config: ThemeConfig = {}): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: THEME_CONFIG, useValue: config }]);\n}\n\n/**\n * Generic runtime dark/light mode manager, plus a small escape hatch for\n * arbitrary app-owned design tokens (e.g. a density scale) that have no\n * ngx-prime equivalent.\n *\n * Owns its own `darkModeSelector` (configurable via `provideTheme`,\n * default `.p-dark`) rather than reading it from `provideNgxPrime`'s theme\n * config — the two are deliberately independent. If a consuming app wants\n * ngx-prime's own dark tokens to follow the same toggle, it passes the same\n * selector to `provideNgxPrime({ theme: { options: { darkModeSelector } } })`\n * itself.\n */\n@Service()\nexport class Theme {\n private readonly document: Document = inject(DOCUMENT);\n private readonly config: Required<ThemeConfig> = {\n ...DEFAULT_CONFIG,\n ...inject(THEME_CONFIG, { optional: true })\n };\n\n readonly mode = signal<ThemeMode>(this.restore());\n\n constructor() {\n this.apply(this.mode());\n }\n\n setMode(mode: ThemeMode): void {\n this.mode.set(mode);\n this.apply(mode);\n this.persist(mode);\n }\n\n toggle(): void {\n this.setMode(this.mode() === 'dark' ? 'light' : 'dark');\n }\n\n /**\n * Writes an arbitrary named group of CSS custom properties to `target`\n * (defaults to `<html>`). Not tied to any naming convention — use it for\n * app-owned tokens ngx-prime has no concept of, e.g.:\n * `theme.setTokens({ '--sp-1': '2px', '--sp-2': '6px' })`.\n */\n setTokens(vars: Record<string, string>, target: HTMLElement = this.document.documentElement): void {\n for (const [name, value] of Object.entries(vars)) {\n target.style.setProperty(name.startsWith('--') ? name : `--${name}`, value);\n }\n }\n\n private apply(mode: ThemeMode): void {\n const selector = this.config.darkModeSelector;\n const root = this.document.documentElement;\n const isDark = mode === 'dark';\n\n const attrMatch = /^\\[(.+?)(?:=['\"]?(.+?)['\"]?)?\\]$/.exec(selector);\n if (attrMatch) {\n const [, attr, value] = attrMatch;\n if (isDark) root.setAttribute(attr, value ?? '');\n else root.removeAttribute(attr);\n return;\n }\n\n if (selector.startsWith('.')) {\n root.classList.toggle(selector.slice(1), isDark);\n }\n }\n\n private restore(): ThemeMode {\n try {\n const stored = localStorage.getItem(this.config.storageKey);\n if (stored === 'light' || stored === 'dark') return stored;\n } catch {\n // ignore read failures (e.g. storage disabled)\n }\n\n return typeof window !== 'undefined' && window.matchMedia?.('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n\n private persist(mode: ThemeMode): void {\n try {\n localStorage.setItem(this.config.storageKey, mode);\n } catch {\n // ignore write failures (e.g. storage disabled/full)\n }\n }\n}\n","import { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport interface TemplateConfig {\n /** Slug of the template this app was built from, e.g. `'sakai'`. */\n slug?: string;\n}\n\nexport const TEMPLATE_CONFIG = new InjectionToken<TemplateConfig>('TEMPLATE_CONFIG');\n\n/**\n * Declares which template (by slug) this app was built from. Consumed by\n * `@wawjs/ngx-prime/buylicense`'s `BuyLicense` button to link out to that\n * template's purchase page — nothing renders until a slug is provided.\n */\nexport function provideTemplate(config: TemplateConfig = {}): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: TEMPLATE_CONFIG, useValue: config }]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Theme"],"mappings":"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"}
|
|
@@ -229,7 +229,18 @@ class ConfirmPopup extends BaseComponent {
|
|
|
229
229
|
if (confirmation.key === this.key()) {
|
|
230
230
|
this.confirmation = confirmation;
|
|
231
231
|
const keys = Object.keys(confirmation);
|
|
232
|
+
// `key` and `defaultFocus` are now signal `input()`s (see below) and must
|
|
233
|
+
// never be reflected onto `this` here: assigning a plain value over a
|
|
234
|
+
// signal function would silently break every later `.key()`/`.defaultFocus()`
|
|
235
|
+
// call with no compile-time warning. Neither reflected copy was actually
|
|
236
|
+
// load-bearing anyway — `confirmation.key` is only ever compared directly
|
|
237
|
+
// against `this.key()` above, and `confirmation.defaultFocus` is read
|
|
238
|
+
// directly (with `this.defaultFocus()` only as a fallback) in
|
|
239
|
+
// `focusButton()`, never via a reflected top-level field.
|
|
232
240
|
keys.forEach((key) => {
|
|
241
|
+
if (key === 'key' || key === 'defaultFocus') {
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
233
244
|
this[key] = confirmation[key];
|
|
234
245
|
});
|
|
235
246
|
if (this.confirmation.accept) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wawjs-ngx-prime-confirmpopup.mjs","sources":["../../src/confirmpopup/style/confirmpopupstyle.ts","../../src/confirmpopup/confirmpopup.ts","../../src/confirmpopup/wawjs-ngx-prime-confirmpopup.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@wawjs/css-prime-styles/confirmpopup';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst classes = {\n root: () => ['p-confirmpopup p-component'],\n content: 'p-confirmpopup-content',\n icon: ({ instance }) => ['p-confirmpopup-icon', instance.confirmation?.icon],\n message: 'p-confirmpopup-message',\n footer: 'p-confirmpopup-footer',\n pcRejectButton: 'p-confirmpopup-reject-button',\n pcAcceptButton: 'p-confirmpopup-accept-button'\n};\n\n@Injectable()\nexport class ConfirmPopupStyle extends BaseStyle {\n name = 'confirmpopup';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n *\n * [Live Demo](https://www.ngx-prime.org/confirmpopup)\n *\n * @module confirmpopupstyle\n *\n */\nexport enum ConfirmPopupClasses {\n /**\n * Class name of the root element\n */\n root = 'p-confirmpopup',\n /**\n * Class name of the content element\n */\n content = 'p-confirmpopup-content',\n /**\n * Class name of the icon element\n */\n icon = 'p-confirmpopup-icon',\n /**\n * Class name of the message element\n */\n message = 'p-confirmpopup-message',\n /**\n * Class name of the footer element\n */\n footer = 'p-confirmpopup-footer',\n /**\n * Class name of the reject button element\n */\n pcRejectButton = 'p-confirmpopup-reject-button',\n /**\n * Class name of the accept button element\n */\n pcAcceptButton = 'p-confirmpopup-accept-button'\n}\n","import { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild,\n effect,\n ElementRef,\n EventEmitter,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n Renderer2,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation,\n contentChild,\n contentChildren\n} from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@wawjs/css-prime-motion';\nimport { absolutePosition, addClass, appendChild, findSingle, focus, getOffset, isIOS, isTouchDevice } from '@wawjs/css-prime-utils';\nimport { Confirmation, ConfirmationService, OverlayService, PrimeTemplate, SharedModule, TranslationKeys } from '@wawjs/ngx-prime/api';\nimport { BaseComponent, PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { Bind } from '@wawjs/ngx-prime/bind';\nimport { ButtonModule } from '@wawjs/ngx-prime/button';\nimport { ConnectedOverlayScrollHandler } from '@wawjs/ngx-prime/dom';\nimport { FocusTrap } from '@wawjs/ngx-prime/focustrap';\nimport { MotionModule } from '@wawjs/ngx-prime/motion';\nimport { Nullable, VoidListener } from '@wawjs/ngx-prime/ts-helpers';\nimport { ConfirmPopupContentTemplateContext, ConfirmPopupHeadlessTemplateContext, ConfirmPopupPassThrough } from '@wawjs/ngx-prime/types/confirmpopup';\nimport { ZIndexUtils } from '@wawjs/ngx-prime/utils';\nimport { Subscription } from 'rxjs';\nimport { ConfirmPopupStyle } from './style/confirmpopupstyle';\n\nconst CONFIRMPOPUP_INSTANCE = new InjectionToken<ConfirmPopup>('CONFIRMPOPUP_INSTANCE');\n\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmpopup',\n standalone: true,\n imports: [CommonModule, SharedModule, ButtonModule, FocusTrap, Bind, MotionModule],\n providers: [ConfirmPopupStyle, { provide: CONFIRMPOPUP_INSTANCE, useExisting: ConfirmPopup }, { provide: PARENT_INSTANCE, useExisting: ConfirmPopup }],\n host: {\n '(document:keydown.escape)': 'onEscapeKeydown()'\n },\n hostDirectives: [Bind],\n template: `\n @if (render()) {\n <div\n [pMotion]=\"computedVisible()\"\n [pMotionAppear]=\"true\"\n [pMotionName]=\"'p-anchored-overlay'\"\n [pMotionOptions]=\"computedMotionOptions()\"\n (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n (pMotionOnAfterLeave)=\"onAfterLeave()\"\n pFocusTrap\n [pBind]=\"ptm('root')\"\n [class]=\"cn(cx('root'), styleClass())\"\n [ngStyle]=\"style()\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n >\n @if (headlessTemplate || _headlessTemplate) {\n <ng-container *ngTemplateOutlet=\"headlessTemplate || _headlessTemplate; context: { $implicit: confirmation }\"></ng-container>\n } @else {\n <div #content [pBind]=\"ptm('content')\" [class]=\"cx('content')\">\n @if (contentTemplate || _contentTemplate) {\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate; context: { $implicit: confirmation }\"></ng-container>\n } @else {\n @if (confirmation?.icon) {\n <i [pBind]=\"ptm('icon')\" [class]=\"cx('icon')\"></i>\n }\n <span [pBind]=\"ptm('message')\" [class]=\"cx('message')\">{{ confirmation?.message }}</span>\n }\n </div>\n <div [pBind]=\"ptm('footer')\" [class]=\"cx('footer')\">\n @if (confirmation?.rejectVisible !== false) {\n <p-button\n type=\"button\"\n [label]=\"rejectButtonLabel\"\n (onClick)=\"onReject()\"\n [pt]=\"ptm('pcRejectButton')\"\n [class]=\"cx('pcRejectButton')\"\n [styleClass]=\"confirmation?.rejectButtonStyleClass\"\n [size]=\"confirmation?.rejectButtonProps?.size || 'small'\"\n [text]=\"confirmation?.rejectButtonProps?.text || false\"\n [attr.aria-label]=\"rejectButtonLabel\"\n [buttonProps]=\"getRejectButtonProps()\"\n [autofocus]=\"autoFocusReject\"\n [unstyled]=\"unstyled()\"\n >\n <ng-template #icon>\n @if (confirmation?.rejectIcon) {\n <i [class]=\"confirmation?.rejectIcon\"></i>\n } @else {\n <ng-container *ngTemplateOutlet=\"rejectIconTemplate() || _rejectIconTemplate\"></ng-container>\n }\n </ng-template>\n </p-button>\n }\n @if (confirmation?.acceptVisible !== false) {\n <p-button\n type=\"button\"\n [label]=\"acceptButtonLabel\"\n (onClick)=\"onAccept()\"\n [pt]=\"ptm('pcAcceptButton')\"\n [class]=\"cx('pcAcceptButton')\"\n [styleClass]=\"confirmation?.acceptButtonStyleClass\"\n [size]=\"confirmation?.acceptButtonProps?.size || 'small'\"\n [attr.aria-label]=\"acceptButtonLabel\"\n [buttonProps]=\"getAcceptButtonProps()\"\n [autofocus]=\"autoFocusAccept\"\n [unstyled]=\"unstyled()\"\n >\n <ng-template #icon>\n @if (confirmation?.acceptIcon) {\n <i [class]=\"confirmation?.acceptIcon\"></i>\n } @else {\n <ng-container *ngTemplateOutlet=\"acceptIconTemplate() || _acceptIconTemplate\"></ng-container>\n }\n </ng-template>\n </p-button>\n }\n </div>\n }\n </div>\n }\n `,\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ConfirmPopup extends BaseComponent<ConfirmPopupPassThrough> {\n el = inject(ElementRef);\n private confirmationService = inject(ConfirmationService);\n renderer = inject(Renderer2);\n cd = inject(ChangeDetectorRef);\n overlayService = inject(OverlayService);\n document = inject<Document>(DOCUMENT);\n\n componentName = 'ConfirmPopup';\n\n $pcConfirmPopup: ConfirmPopup | undefined = inject(CONFIRMPOPUP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\n\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n readonly key = input<string>();\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n readonly defaultFocus = input<string>('accept');\n /**\n * Transition options of the show animation.\n * @group Props\n * @deprecated since v21.0.0. Use `motionOptions` instead.\n */\n showTransitionOptions = input('.12s cubic-bezier(0, 0, 0.2, 1)');\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v21.0.0. Use `motionOptions` instead.\n */\n hideTransitionOptions = input('.1s linear');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = input(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = input(0, { transform: numberAttribute });\n /**\n * Inline style of the component.\n * @group Props\n */\n style = input<{ [klass: string]: any } | null>();\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n /**\n * Defines if the component is visible.\n * @group Props\n */\n visible = input<boolean>();\n\n private _visible = signal<boolean>(false);\n\n computedVisible = computed(() => this.visible() ?? this._visible());\n\n render = signal<boolean>(false);\n\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n computedMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('motion'),\n ...this.motionOptions()\n }));\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'body'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>('body');\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n container: HTMLElement | null;\n\n subscription: Subscription;\n\n confirmation: Nullable<Confirmation>;\n\n autoFocusAccept: boolean = false;\n\n autoFocusReject: boolean = false;\n\n /**\n * Custom content template.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: Nullable<TemplateRef<ConfirmPopupContentTemplateContext>>;\n\n /**\n * Custom accept icon template.\n * @group Templates\n */\n readonly acceptIconTemplate = contentChild<Nullable<TemplateRef<void>>>('accepticon', { descendants: false });\n\n /**\n * Custom reject icon template.\n * @group Templates\n */\n readonly rejectIconTemplate = contentChild<Nullable<TemplateRef<void>>>('rejecticon', { descendants: false });\n\n /**\n * Custom headless template.\n * @group Templates\n */\n @ContentChild('headless', { descendants: false }) headlessTemplate: Nullable<TemplateRef<ConfirmPopupHeadlessTemplateContext>>;\n\n acceptButtonViewChild = viewChild('acceptButton', { read: ElementRef });\n\n rejectButtonViewChild = viewChild('rejectButton', { read: ElementRef });\n\n _contentTemplate: TemplateRef<ConfirmPopupContentTemplateContext> | undefined;\n\n _acceptIconTemplate: TemplateRef<void> | undefined;\n\n _rejectIconTemplate: TemplateRef<void> | undefined;\n\n _headlessTemplate: TemplateRef<ConfirmPopupHeadlessTemplateContext> | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n _componentStyle = inject(ConfirmPopupStyle);\n\n constructor() {\n super();\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n\n return;\n }\n\n if (this.computedVisible()) {\n requestAnimationFrame(() => {\n this.alignOverlay();\n this.cd.markForCheck();\n });\n }\n\n if (confirmation.key === this.key()) {\n this.confirmation = confirmation;\n const keys = Object.keys(confirmation);\n\n keys.forEach((key) => {\n this[key] = confirmation[key];\n });\n\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this._visible.set(true);\n }\n });\n\n effect(() => {\n if (this.computedVisible()) {\n untracked(() => {\n if (!this.render()) {\n this.render.set(true);\n }\n });\n }\n });\n }\n\n readonly templates = contentChildren(PrimeTemplate);\n\n onAfterContentInit() {\n this.templates()?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this._contentTemplate = item.template;\n break;\n\n case 'rejecticon':\n this._rejectIconTemplate = item.template;\n break;\n\n case 'accepticon':\n this._acceptIconTemplate = item.template;\n break;\n\n case 'headless':\n this._headlessTemplate = item.template;\n break;\n }\n });\n }\n\n option(name: string, k?: string) {\n const source = this as unknown as { [key: string]: any };\n\n if (Object.prototype.hasOwnProperty.call(source, name)) {\n if (k) {\n return source[k];\n }\n\n return source[name];\n }\n\n return undefined;\n }\n\n onEscapeKeydown() {\n if (this.confirmation && this.confirmation.closeOnEscape !== false) {\n this.onReject();\n }\n }\n\n onBeforeEnter(event: MotionEvent) {\n if (this.confirmation) {\n const focus = this.confirmation.defaultFocus ?? this.defaultFocus();\n\n this.autoFocusAccept = focus === 'accept';\n this.autoFocusReject = focus === 'reject';\n }\n\n this.container = event.element as HTMLElement;\n this.appendOverlay();\n this.alignOverlay();\n this.alignArrow();\n this.setZIndex();\n this.handleFocus();\n this.bindListeners();\n }\n\n handleFocus() {\n const defaultFocus = this.defaultFocus();\n\n if (defaultFocus && (this.acceptButtonViewChild() || this.rejectButtonViewChild())) {\n const focusEl = <HTMLButtonElement>(defaultFocus === 'accept' ? findSingle(this.acceptButtonViewChild()?.nativeElement, '[data-pc-section=\"root\"]') : findSingle(this.rejectButtonViewChild()?.nativeElement, '[data-pc-section=\"root\"]'));\n\n focusEl.focus();\n }\n }\n\n onAfterLeave() {\n this.autoFocusAccept = false;\n this.autoFocusReject = false;\n this.restoreAppend();\n this.onContainerDestroy();\n }\n\n getAcceptButtonProps() {\n return this.option('acceptButtonProps');\n }\n\n getRejectButtonProps() {\n return this.option('rejectButtonProps');\n }\n\n alignOverlay() {\n if (!this.confirmation || !this.confirmation.target) {\n return;\n }\n\n absolutePosition(this.container!, this.confirmation?.target as HTMLElement, false);\n }\n\n setZIndex() {\n if (this.autoZIndex()) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n }\n\n alignArrow() {\n const containerOffset = <any>getOffset(this.container);\n const targetOffset = <any>getOffset(this.confirmation?.target as any);\n let arrowLeft = 0;\n\n if (containerOffset && targetOffset && containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n\n if (this.container) {\n (this.container as HTMLDivElement).style.setProperty('--p-confirmpopup-arrow-left', `${arrowLeft}px`);\n }\n\n if (containerOffset && targetOffset && containerOffset.top < targetOffset.top) {\n (this.container as HTMLElement).setAttribute('data-p-confirmpopup-flipped', 'true');\n !this.$unstyled() && addClass(this.container as HTMLDivElement, 'p-confirm-popup-flipped');\n }\n }\n\n appendOverlay() {\n if (this.$appendTo() && this.$appendTo() !== 'self') {\n if (this.$appendTo() === 'body') {\n appendChild(this.document.body, this.container!);\n } else {\n appendChild(this.$appendTo(), this.container!);\n }\n }\n }\n\n restoreAppend() {\n if (this.container && this.$appendTo() !== 'self') {\n appendChild(this.el.nativeElement, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n hide() {\n this._visible.set(false);\n }\n\n onAccept() {\n if (this.confirmation?.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n focus(this.confirmation?.target as any);\n }\n\n onReject() {\n if (this.confirmation?.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n focus(this.confirmation?.target as any);\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n if (this.confirmation && this.confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>this.confirmation.target;\n\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.computedVisible() && !isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation?.target, () => {\n if (this.computedVisible()) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n if (this.confirmation) {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.unsubscribe();\n }\n\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.unsubscribe();\n }\n }\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex()) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation = null;\n this.render.set(false);\n this.container = null;\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation?.acceptLabel || this.config.getTranslation(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation?.rejectLabel || this.config.getTranslation(TranslationKeys.REJECT);\n }\n\n onDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [ConfirmPopup, SharedModule],\n exports: [ConfirmPopup, SharedModule]\n})\nexport class ConfirmPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wawjs-ngx-prime-confirmpopup.mjs","sources":["../../src/confirmpopup/style/confirmpopupstyle.ts","../../src/confirmpopup/confirmpopup.ts","../../src/confirmpopup/wawjs-ngx-prime-confirmpopup.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@wawjs/css-prime-styles/confirmpopup';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst classes = {\n root: () => ['p-confirmpopup p-component'],\n content: 'p-confirmpopup-content',\n icon: ({ instance }) => ['p-confirmpopup-icon', instance.confirmation?.icon],\n message: 'p-confirmpopup-message',\n footer: 'p-confirmpopup-footer',\n pcRejectButton: 'p-confirmpopup-reject-button',\n pcAcceptButton: 'p-confirmpopup-accept-button'\n};\n\n@Injectable()\nexport class ConfirmPopupStyle extends BaseStyle {\n name = 'confirmpopup';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n *\n * [Live Demo](https://www.ngx-prime.org/confirmpopup)\n *\n * @module confirmpopupstyle\n *\n */\nexport enum ConfirmPopupClasses {\n /**\n * Class name of the root element\n */\n root = 'p-confirmpopup',\n /**\n * Class name of the content element\n */\n content = 'p-confirmpopup-content',\n /**\n * Class name of the icon element\n */\n icon = 'p-confirmpopup-icon',\n /**\n * Class name of the message element\n */\n message = 'p-confirmpopup-message',\n /**\n * Class name of the footer element\n */\n footer = 'p-confirmpopup-footer',\n /**\n * Class name of the reject button element\n */\n pcRejectButton = 'p-confirmpopup-reject-button',\n /**\n * Class name of the accept button element\n */\n pcAcceptButton = 'p-confirmpopup-accept-button'\n}\n","import { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild,\n effect,\n ElementRef,\n EventEmitter,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n Renderer2,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation,\n contentChild,\n contentChildren\n} from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@wawjs/css-prime-motion';\nimport { absolutePosition, addClass, appendChild, findSingle, focus, getOffset, isIOS, isTouchDevice } from '@wawjs/css-prime-utils';\nimport { Confirmation, ConfirmationService, OverlayService, PrimeTemplate, SharedModule, TranslationKeys } from '@wawjs/ngx-prime/api';\nimport { BaseComponent, PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { Bind } from '@wawjs/ngx-prime/bind';\nimport { ButtonModule } from '@wawjs/ngx-prime/button';\nimport { ConnectedOverlayScrollHandler } from '@wawjs/ngx-prime/dom';\nimport { FocusTrap } from '@wawjs/ngx-prime/focustrap';\nimport { MotionModule } from '@wawjs/ngx-prime/motion';\nimport { Nullable, VoidListener } from '@wawjs/ngx-prime/ts-helpers';\nimport { ConfirmPopupContentTemplateContext, ConfirmPopupHeadlessTemplateContext, ConfirmPopupPassThrough } from '@wawjs/ngx-prime/types/confirmpopup';\nimport { ZIndexUtils } from '@wawjs/ngx-prime/utils';\nimport { Subscription } from 'rxjs';\nimport { ConfirmPopupStyle } from './style/confirmpopupstyle';\n\nconst CONFIRMPOPUP_INSTANCE = new InjectionToken<ConfirmPopup>('CONFIRMPOPUP_INSTANCE');\n\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmpopup',\n standalone: true,\n imports: [CommonModule, SharedModule, ButtonModule, FocusTrap, Bind, MotionModule],\n providers: [ConfirmPopupStyle, { provide: CONFIRMPOPUP_INSTANCE, useExisting: ConfirmPopup }, { provide: PARENT_INSTANCE, useExisting: ConfirmPopup }],\n host: {\n '(document:keydown.escape)': 'onEscapeKeydown()'\n },\n hostDirectives: [Bind],\n template: `\n @if (render()) {\n <div\n [pMotion]=\"computedVisible()\"\n [pMotionAppear]=\"true\"\n [pMotionName]=\"'p-anchored-overlay'\"\n [pMotionOptions]=\"computedMotionOptions()\"\n (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n (pMotionOnAfterLeave)=\"onAfterLeave()\"\n pFocusTrap\n [pBind]=\"ptm('root')\"\n [class]=\"cn(cx('root'), styleClass())\"\n [ngStyle]=\"style()\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n >\n @if (headlessTemplate || _headlessTemplate) {\n <ng-container *ngTemplateOutlet=\"headlessTemplate || _headlessTemplate; context: { $implicit: confirmation }\"></ng-container>\n } @else {\n <div #content [pBind]=\"ptm('content')\" [class]=\"cx('content')\">\n @if (contentTemplate || _contentTemplate) {\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate; context: { $implicit: confirmation }\"></ng-container>\n } @else {\n @if (confirmation?.icon) {\n <i [pBind]=\"ptm('icon')\" [class]=\"cx('icon')\"></i>\n }\n <span [pBind]=\"ptm('message')\" [class]=\"cx('message')\">{{ confirmation?.message }}</span>\n }\n </div>\n <div [pBind]=\"ptm('footer')\" [class]=\"cx('footer')\">\n @if (confirmation?.rejectVisible !== false) {\n <p-button\n type=\"button\"\n [label]=\"rejectButtonLabel\"\n (onClick)=\"onReject()\"\n [pt]=\"ptm('pcRejectButton')\"\n [class]=\"cx('pcRejectButton')\"\n [styleClass]=\"confirmation?.rejectButtonStyleClass\"\n [size]=\"confirmation?.rejectButtonProps?.size || 'small'\"\n [text]=\"confirmation?.rejectButtonProps?.text || false\"\n [attr.aria-label]=\"rejectButtonLabel\"\n [buttonProps]=\"getRejectButtonProps()\"\n [autofocus]=\"autoFocusReject\"\n [unstyled]=\"unstyled()\"\n >\n <ng-template #icon>\n @if (confirmation?.rejectIcon) {\n <i [class]=\"confirmation?.rejectIcon\"></i>\n } @else {\n <ng-container *ngTemplateOutlet=\"rejectIconTemplate() || _rejectIconTemplate\"></ng-container>\n }\n </ng-template>\n </p-button>\n }\n @if (confirmation?.acceptVisible !== false) {\n <p-button\n type=\"button\"\n [label]=\"acceptButtonLabel\"\n (onClick)=\"onAccept()\"\n [pt]=\"ptm('pcAcceptButton')\"\n [class]=\"cx('pcAcceptButton')\"\n [styleClass]=\"confirmation?.acceptButtonStyleClass\"\n [size]=\"confirmation?.acceptButtonProps?.size || 'small'\"\n [attr.aria-label]=\"acceptButtonLabel\"\n [buttonProps]=\"getAcceptButtonProps()\"\n [autofocus]=\"autoFocusAccept\"\n [unstyled]=\"unstyled()\"\n >\n <ng-template #icon>\n @if (confirmation?.acceptIcon) {\n <i [class]=\"confirmation?.acceptIcon\"></i>\n } @else {\n <ng-container *ngTemplateOutlet=\"acceptIconTemplate() || _acceptIconTemplate\"></ng-container>\n }\n </ng-template>\n </p-button>\n }\n </div>\n }\n </div>\n }\n `,\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ConfirmPopup extends BaseComponent<ConfirmPopupPassThrough> {\n el = inject(ElementRef);\n private confirmationService = inject(ConfirmationService);\n renderer = inject(Renderer2);\n cd = inject(ChangeDetectorRef);\n overlayService = inject(OverlayService);\n document = inject<Document>(DOCUMENT);\n\n componentName = 'ConfirmPopup';\n\n $pcConfirmPopup: ConfirmPopup | undefined = inject(CONFIRMPOPUP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\n\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n readonly key = input<string>();\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n readonly defaultFocus = input<string>('accept');\n /**\n * Transition options of the show animation.\n * @group Props\n * @deprecated since v21.0.0. Use `motionOptions` instead.\n */\n showTransitionOptions = input('.12s cubic-bezier(0, 0, 0.2, 1)');\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v21.0.0. Use `motionOptions` instead.\n */\n hideTransitionOptions = input('.1s linear');\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = input(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = input(0, { transform: numberAttribute });\n /**\n * Inline style of the component.\n * @group Props\n */\n style = input<{ [klass: string]: any } | null>();\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n /**\n * Defines if the component is visible.\n * @group Props\n */\n visible = input<boolean>();\n\n private _visible = signal<boolean>(false);\n\n computedVisible = computed(() => this.visible() ?? this._visible());\n\n render = signal<boolean>(false);\n\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n computedMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('motion'),\n ...this.motionOptions()\n }));\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'body'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>('body');\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n container: HTMLElement | null;\n\n subscription: Subscription;\n\n confirmation: Nullable<Confirmation>;\n\n autoFocusAccept: boolean = false;\n\n autoFocusReject: boolean = false;\n\n /**\n * Custom content template.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: Nullable<TemplateRef<ConfirmPopupContentTemplateContext>>;\n\n /**\n * Custom accept icon template.\n * @group Templates\n */\n readonly acceptIconTemplate = contentChild<Nullable<TemplateRef<void>>>('accepticon', { descendants: false });\n\n /**\n * Custom reject icon template.\n * @group Templates\n */\n readonly rejectIconTemplate = contentChild<Nullable<TemplateRef<void>>>('rejecticon', { descendants: false });\n\n /**\n * Custom headless template.\n * @group Templates\n */\n @ContentChild('headless', { descendants: false }) headlessTemplate: Nullable<TemplateRef<ConfirmPopupHeadlessTemplateContext>>;\n\n acceptButtonViewChild = viewChild('acceptButton', { read: ElementRef });\n\n rejectButtonViewChild = viewChild('rejectButton', { read: ElementRef });\n\n _contentTemplate: TemplateRef<ConfirmPopupContentTemplateContext> | undefined;\n\n _acceptIconTemplate: TemplateRef<void> | undefined;\n\n _rejectIconTemplate: TemplateRef<void> | undefined;\n\n _headlessTemplate: TemplateRef<ConfirmPopupHeadlessTemplateContext> | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n _componentStyle = inject(ConfirmPopupStyle);\n\n constructor() {\n super();\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n\n return;\n }\n\n if (this.computedVisible()) {\n requestAnimationFrame(() => {\n this.alignOverlay();\n this.cd.markForCheck();\n });\n }\n\n if (confirmation.key === this.key()) {\n this.confirmation = confirmation;\n const keys = Object.keys(confirmation);\n\n // `key` and `defaultFocus` are now signal `input()`s (see below) and must\n // never be reflected onto `this` here: assigning a plain value over a\n // signal function would silently break every later `.key()`/`.defaultFocus()`\n // call with no compile-time warning. Neither reflected copy was actually\n // load-bearing anyway — `confirmation.key` is only ever compared directly\n // against `this.key()` above, and `confirmation.defaultFocus` is read\n // directly (with `this.defaultFocus()` only as a fallback) in\n // `focusButton()`, never via a reflected top-level field.\n keys.forEach((key) => {\n if (key === 'key' || key === 'defaultFocus') {\n return;\n }\n\n this[key] = confirmation[key];\n });\n\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this._visible.set(true);\n }\n });\n\n effect(() => {\n if (this.computedVisible()) {\n untracked(() => {\n if (!this.render()) {\n this.render.set(true);\n }\n });\n }\n });\n }\n\n readonly templates = contentChildren(PrimeTemplate);\n\n onAfterContentInit() {\n this.templates()?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this._contentTemplate = item.template;\n break;\n\n case 'rejecticon':\n this._rejectIconTemplate = item.template;\n break;\n\n case 'accepticon':\n this._acceptIconTemplate = item.template;\n break;\n\n case 'headless':\n this._headlessTemplate = item.template;\n break;\n }\n });\n }\n\n option(name: string, k?: string) {\n const source = this as unknown as { [key: string]: any };\n\n if (Object.prototype.hasOwnProperty.call(source, name)) {\n if (k) {\n return source[k];\n }\n\n return source[name];\n }\n\n return undefined;\n }\n\n onEscapeKeydown() {\n if (this.confirmation && this.confirmation.closeOnEscape !== false) {\n this.onReject();\n }\n }\n\n onBeforeEnter(event: MotionEvent) {\n if (this.confirmation) {\n const focus = this.confirmation.defaultFocus ?? this.defaultFocus();\n\n this.autoFocusAccept = focus === 'accept';\n this.autoFocusReject = focus === 'reject';\n }\n\n this.container = event.element as HTMLElement;\n this.appendOverlay();\n this.alignOverlay();\n this.alignArrow();\n this.setZIndex();\n this.handleFocus();\n this.bindListeners();\n }\n\n handleFocus() {\n const defaultFocus = this.defaultFocus();\n\n if (defaultFocus && (this.acceptButtonViewChild() || this.rejectButtonViewChild())) {\n const focusEl = <HTMLButtonElement>(defaultFocus === 'accept' ? findSingle(this.acceptButtonViewChild()?.nativeElement, '[data-pc-section=\"root\"]') : findSingle(this.rejectButtonViewChild()?.nativeElement, '[data-pc-section=\"root\"]'));\n\n focusEl.focus();\n }\n }\n\n onAfterLeave() {\n this.autoFocusAccept = false;\n this.autoFocusReject = false;\n this.restoreAppend();\n this.onContainerDestroy();\n }\n\n getAcceptButtonProps() {\n return this.option('acceptButtonProps');\n }\n\n getRejectButtonProps() {\n return this.option('rejectButtonProps');\n }\n\n alignOverlay() {\n if (!this.confirmation || !this.confirmation.target) {\n return;\n }\n\n absolutePosition(this.container!, this.confirmation?.target as HTMLElement, false);\n }\n\n setZIndex() {\n if (this.autoZIndex()) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n }\n\n alignArrow() {\n const containerOffset = <any>getOffset(this.container);\n const targetOffset = <any>getOffset(this.confirmation?.target as any);\n let arrowLeft = 0;\n\n if (containerOffset && targetOffset && containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n\n if (this.container) {\n (this.container as HTMLDivElement).style.setProperty('--p-confirmpopup-arrow-left', `${arrowLeft}px`);\n }\n\n if (containerOffset && targetOffset && containerOffset.top < targetOffset.top) {\n (this.container as HTMLElement).setAttribute('data-p-confirmpopup-flipped', 'true');\n !this.$unstyled() && addClass(this.container as HTMLDivElement, 'p-confirm-popup-flipped');\n }\n }\n\n appendOverlay() {\n if (this.$appendTo() && this.$appendTo() !== 'self') {\n if (this.$appendTo() === 'body') {\n appendChild(this.document.body, this.container!);\n } else {\n appendChild(this.$appendTo(), this.container!);\n }\n }\n }\n\n restoreAppend() {\n if (this.container && this.$appendTo() !== 'self') {\n appendChild(this.el.nativeElement, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n hide() {\n this._visible.set(false);\n }\n\n onAccept() {\n if (this.confirmation?.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n focus(this.confirmation?.target as any);\n }\n\n onReject() {\n if (this.confirmation?.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n focus(this.confirmation?.target as any);\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n if (this.confirmation && this.confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>this.confirmation.target;\n\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.computedVisible() && !isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation?.target, () => {\n if (this.computedVisible()) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n if (this.confirmation) {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.unsubscribe();\n }\n\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.unsubscribe();\n }\n }\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex()) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation = null;\n this.render.set(false);\n this.container = null;\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation?.acceptLabel || this.config.getTranslation(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation?.rejectLabel || this.config.getTranslation(TranslationKeys.REJECT);\n }\n\n onDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [ConfirmPopup, SharedModule],\n exports: [ConfirmPopup, SharedModule]\n})\nexport class ConfirmPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import * as i1$1 from '@angular/common';
|
|
|
3
3
|
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
4
4
|
import { HttpClient, HttpEventType } from '@angular/common/http';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { Injectable, inject, ElementRef, input, booleanAttribute, numberAttribute, model, output, Directive, DestroyRef, InjectionToken, ChangeDetectionStrategy, Component, contentChild, viewChild, effect, NgZone, contentChildren, ViewChild, ContentChild, ViewEncapsulation, NgModule } from '@angular/core';
|
|
6
|
+
import { Injectable, inject, ElementRef, input, booleanAttribute, numberAttribute, model, output, Directive, DestroyRef, InjectionToken, ChangeDetectionStrategy, Component, isDevMode, contentChild, viewChild, effect, NgZone, contentChildren, ViewChild, ContentChild, ViewEncapsulation, NgModule } from '@angular/core';
|
|
7
7
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
8
8
|
import { addClass, removeClass } from '@wawjs/css-prime-utils';
|
|
9
9
|
import { TranslationKeys, PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';
|
|
@@ -530,6 +530,13 @@ class FileUpload extends BaseComponent {
|
|
|
530
530
|
onAfterViewChecked() {
|
|
531
531
|
this.bindDirectiveInstance.setAttrs(this.ptm('host'));
|
|
532
532
|
}
|
|
533
|
+
constructor() {
|
|
534
|
+
super();
|
|
535
|
+
if (isDevMode()) {
|
|
536
|
+
// eslint-disable-next-line no-console
|
|
537
|
+
console.warn('`<p-fileupload>` is deprecated and will be removed in a future major version. ' + 'Compose `pFileUpload`, `pFileUploadQueue`, and its companion directives instead.');
|
|
538
|
+
}
|
|
539
|
+
}
|
|
533
540
|
/**
|
|
534
541
|
* Name of the request parameter to identify the files at backend.
|
|
535
542
|
* @group Props
|
|
@@ -1361,7 +1368,7 @@ class FileUpload extends BaseComponent {
|
|
|
1361
1368
|
this.translationSubscription.unsubscribe();
|
|
1362
1369
|
}
|
|
1363
1370
|
}
|
|
1364
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: FileUpload, deps:
|
|
1371
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: FileUpload, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1365
1372
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: FileUpload, isStandalone: true, selector: "p-fileupload, p-fileUpload", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, method: { classPropertyName: "method", publicName: "method", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, accept: { classPropertyName: "accept", publicName: "accept", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, auto: { classPropertyName: "auto", publicName: "auto", isSignal: true, isRequired: false, transformFunction: null }, withCredentials: { classPropertyName: "withCredentials", publicName: "withCredentials", isSignal: true, isRequired: false, transformFunction: null }, maxFileSize: { classPropertyName: "maxFileSize", publicName: "maxFileSize", isSignal: true, isRequired: false, transformFunction: null }, invalidFileSizeMessageSummary: { classPropertyName: "invalidFileSizeMessageSummary", publicName: "invalidFileSizeMessageSummary", isSignal: true, isRequired: false, transformFunction: null }, invalidFileSizeMessageDetail: { classPropertyName: "invalidFileSizeMessageDetail", publicName: "invalidFileSizeMessageDetail", isSignal: true, isRequired: false, transformFunction: null }, invalidFileTypeMessageSummary: { classPropertyName: "invalidFileTypeMessageSummary", publicName: "invalidFileTypeMessageSummary", isSignal: true, isRequired: false, transformFunction: null }, invalidFileTypeMessageDetail: { classPropertyName: "invalidFileTypeMessageDetail", publicName: "invalidFileTypeMessageDetail", isSignal: true, isRequired: false, transformFunction: null }, invalidFileLimitMessageDetail: { classPropertyName: "invalidFileLimitMessageDetail", publicName: "invalidFileLimitMessageDetail", isSignal: true, isRequired: false, transformFunction: null }, invalidFileLimitMessageSummary: { classPropertyName: "invalidFileLimitMessageSummary", publicName: "invalidFileLimitMessageSummary", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, previewWidth: { classPropertyName: "previewWidth", publicName: "previewWidth", isSignal: true, isRequired: false, transformFunction: null }, chooseLabel: { classPropertyName: "chooseLabel", publicName: "chooseLabel", isSignal: true, isRequired: false, transformFunction: null }, uploadLabel: { classPropertyName: "uploadLabel", publicName: "uploadLabel", isSignal: true, isRequired: false, transformFunction: null }, cancelLabel: { classPropertyName: "cancelLabel", publicName: "cancelLabel", isSignal: true, isRequired: false, transformFunction: null }, chooseIcon: { classPropertyName: "chooseIcon", publicName: "chooseIcon", isSignal: true, isRequired: false, transformFunction: null }, uploadIcon: { classPropertyName: "uploadIcon", publicName: "uploadIcon", isSignal: true, isRequired: false, transformFunction: null }, cancelIcon: { classPropertyName: "cancelIcon", publicName: "cancelIcon", isSignal: true, isRequired: false, transformFunction: null }, showUploadButton: { classPropertyName: "showUploadButton", publicName: "showUploadButton", isSignal: true, isRequired: false, transformFunction: null }, showCancelButton: { classPropertyName: "showCancelButton", publicName: "showCancelButton", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, headers: { classPropertyName: "headers", publicName: "headers", isSignal: true, isRequired: false, transformFunction: null }, customUpload: { classPropertyName: "customUpload", publicName: "customUpload", isSignal: true, isRequired: false, transformFunction: null }, fileLimit: { classPropertyName: "fileLimit", publicName: "fileLimit", isSignal: true, isRequired: false, transformFunction: null }, uploadStyleClass: { classPropertyName: "uploadStyleClass", publicName: "uploadStyleClass", isSignal: true, isRequired: false, transformFunction: null }, cancelStyleClass: { classPropertyName: "cancelStyleClass", publicName: "cancelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, removeStyleClass: { classPropertyName: "removeStyleClass", publicName: "removeStyleClass", isSignal: true, isRequired: false, transformFunction: null }, chooseStyleClass: { classPropertyName: "chooseStyleClass", publicName: "chooseStyleClass", isSignal: true, isRequired: false, transformFunction: null }, chooseButtonProps: { classPropertyName: "chooseButtonProps", publicName: "chooseButtonProps", isSignal: true, isRequired: false, transformFunction: null }, uploadButtonProps: { classPropertyName: "uploadButtonProps", publicName: "uploadButtonProps", isSignal: true, isRequired: false, transformFunction: null }, cancelButtonProps: { classPropertyName: "cancelButtonProps", publicName: "cancelButtonProps", isSignal: true, isRequired: false, transformFunction: null }, inputFiles: { classPropertyName: "inputFiles", publicName: "files", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBeforeUpload: "onBeforeUpload", onSend: "onSend", onUpload: "onUpload", onError: "onError", onClear: "onClear", onRemove: "onRemove", onSelect: "onSelect", onProgress: "onProgress", uploadHandler: "uploadHandler", onImageError: "onImageError", onRemoveUploadedFile: "onRemoveUploadedFile" }, providers: [FileUploadStyle, { provide: FILEUPLOAD_INSTANCE, useExisting: FileUpload }, { provide: PARENT_INSTANCE, useExisting: FileUpload }], queries: [{ propertyName: "fileTemplate", first: true, predicate: ["file"], isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], isSignal: true }, { propertyName: "toolbarTemplate", first: true, predicate: ["toolbar"], isSignal: true }, { propertyName: "fileLabelTemplate", first: true, predicate: ["filelabel"], isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }, { propertyName: "contentTemplate", first: true, predicate: ["content"] }, { propertyName: "chooseIconTemplate", first: true, predicate: ["chooseicon"] }, { propertyName: "uploadIconTemplate", first: true, predicate: ["uploadicon"] }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }], viewQueries: [{ propertyName: "basicFileInput", first: true, predicate: ["basicfileinput"], descendants: true, isSignal: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }, { propertyName: "advancedFileInput", first: true, predicate: ["advancedfileinput"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
|
|
1366
1373
|
@if (mode() === 'advanced') {
|
|
1367
1374
|
<div [class]="cn(cx('root'), styleClass())" [ngStyle]="style()" [pBind]="ptm('root')">
|
|
@@ -1924,7 +1931,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
1924
1931
|
providers: [FileUploadStyle, { provide: FILEUPLOAD_INSTANCE, useExisting: FileUpload }, { provide: PARENT_INSTANCE, useExisting: FileUpload }],
|
|
1925
1932
|
hostDirectives: [Bind]
|
|
1926
1933
|
}]
|
|
1927
|
-
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], url: [{ type: i0.Input, args: [{ isSignal: true, alias: "url", required: false }] }], method: [{ type: i0.Input, args: [{ isSignal: true, alias: "method", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], accept: [{ type: i0.Input, args: [{ isSignal: true, alias: "accept", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], auto: [{ type: i0.Input, args: [{ isSignal: true, alias: "auto", required: false }] }], withCredentials: [{ type: i0.Input, args: [{ isSignal: true, alias: "withCredentials", required: false }] }], maxFileSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFileSize", required: false }] }], invalidFileSizeMessageSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileSizeMessageSummary", required: false }] }], invalidFileSizeMessageDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileSizeMessageDetail", required: false }] }], invalidFileTypeMessageSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileTypeMessageSummary", required: false }] }], invalidFileTypeMessageDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileTypeMessageDetail", required: false }] }], invalidFileLimitMessageDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileLimitMessageDetail", required: false }] }], invalidFileLimitMessageSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileLimitMessageSummary", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], previewWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewWidth", required: false }] }], chooseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "chooseLabel", required: false }] }], uploadLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploadLabel", required: false }] }], cancelLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelLabel", required: false }] }], chooseIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "chooseIcon", required: false }] }], uploadIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploadIcon", required: false }] }], cancelIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelIcon", required: false }] }], showUploadButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showUploadButton", required: false }] }], showCancelButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCancelButton", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], headers: [{ type: i0.Input, args: [{ isSignal: true, alias: "headers", required: false }] }], customUpload: [{ type: i0.Input, args: [{ isSignal: true, alias: "customUpload", required: false }] }], fileLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileLimit", required: false }] }], uploadStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploadStyleClass", required: false }] }], cancelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelStyleClass", required: false }] }], removeStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "removeStyleClass", required: false }] }], chooseStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "chooseStyleClass", required: false }] }], chooseButtonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "chooseButtonProps", required: false }] }], uploadButtonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploadButtonProps", required: false }] }], cancelButtonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelButtonProps", required: false }] }], onBeforeUpload: [{ type: i0.Output, args: ["onBeforeUpload"] }], onSend: [{ type: i0.Output, args: ["onSend"] }], onUpload: [{ type: i0.Output, args: ["onUpload"] }], onError: [{ type: i0.Output, args: ["onError"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], onRemove: [{ type: i0.Output, args: ["onRemove"] }], onSelect: [{ type: i0.Output, args: ["onSelect"] }], onProgress: [{ type: i0.Output, args: ["onProgress"] }], uploadHandler: [{ type: i0.Output, args: ["uploadHandler"] }], onImageError: [{ type: i0.Output, args: ["onImageError"] }], onRemoveUploadedFile: [{ type: i0.Output, args: ["onRemoveUploadedFile"] }], fileTemplate: [{ type: i0.ContentChild, args: ['file', { ...{ descendants: false }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], contentTemplate: [{
|
|
1934
|
+
}], ctorParameters: () => [], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], url: [{ type: i0.Input, args: [{ isSignal: true, alias: "url", required: false }] }], method: [{ type: i0.Input, args: [{ isSignal: true, alias: "method", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], accept: [{ type: i0.Input, args: [{ isSignal: true, alias: "accept", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], auto: [{ type: i0.Input, args: [{ isSignal: true, alias: "auto", required: false }] }], withCredentials: [{ type: i0.Input, args: [{ isSignal: true, alias: "withCredentials", required: false }] }], maxFileSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFileSize", required: false }] }], invalidFileSizeMessageSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileSizeMessageSummary", required: false }] }], invalidFileSizeMessageDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileSizeMessageDetail", required: false }] }], invalidFileTypeMessageSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileTypeMessageSummary", required: false }] }], invalidFileTypeMessageDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileTypeMessageDetail", required: false }] }], invalidFileLimitMessageDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileLimitMessageDetail", required: false }] }], invalidFileLimitMessageSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalidFileLimitMessageSummary", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], previewWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewWidth", required: false }] }], chooseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "chooseLabel", required: false }] }], uploadLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploadLabel", required: false }] }], cancelLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelLabel", required: false }] }], chooseIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "chooseIcon", required: false }] }], uploadIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploadIcon", required: false }] }], cancelIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelIcon", required: false }] }], showUploadButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showUploadButton", required: false }] }], showCancelButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCancelButton", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], headers: [{ type: i0.Input, args: [{ isSignal: true, alias: "headers", required: false }] }], customUpload: [{ type: i0.Input, args: [{ isSignal: true, alias: "customUpload", required: false }] }], fileLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileLimit", required: false }] }], uploadStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploadStyleClass", required: false }] }], cancelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelStyleClass", required: false }] }], removeStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "removeStyleClass", required: false }] }], chooseStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "chooseStyleClass", required: false }] }], chooseButtonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "chooseButtonProps", required: false }] }], uploadButtonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploadButtonProps", required: false }] }], cancelButtonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelButtonProps", required: false }] }], onBeforeUpload: [{ type: i0.Output, args: ["onBeforeUpload"] }], onSend: [{ type: i0.Output, args: ["onSend"] }], onUpload: [{ type: i0.Output, args: ["onUpload"] }], onError: [{ type: i0.Output, args: ["onError"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], onRemove: [{ type: i0.Output, args: ["onRemove"] }], onSelect: [{ type: i0.Output, args: ["onSelect"] }], onProgress: [{ type: i0.Output, args: ["onProgress"] }], uploadHandler: [{ type: i0.Output, args: ["uploadHandler"] }], onImageError: [{ type: i0.Output, args: ["onImageError"] }], onRemoveUploadedFile: [{ type: i0.Output, args: ["onRemoveUploadedFile"] }], fileTemplate: [{ type: i0.ContentChild, args: ['file', { ...{ descendants: false }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], contentTemplate: [{
|
|
1928
1935
|
type: ContentChild,
|
|
1929
1936
|
args: ['content', { descendants: false }]
|
|
1930
1937
|
}], toolbarTemplate: [{ type: i0.ContentChild, args: ['toolbar', { ...{ descendants: false }, isSignal: true }] }], chooseIconTemplate: [{
|