@wawjs/ngx-prime 22.0.0 → 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.
Files changed (66) hide show
  1. package/fesm2022/wawjs-ngx-prime-button.mjs +10 -3
  2. package/fesm2022/wawjs-ngx-prime-button.mjs.map +1 -1
  3. package/fesm2022/wawjs-ngx-prime-buylicense.mjs +60 -0
  4. package/fesm2022/wawjs-ngx-prime-buylicense.mjs.map +1 -0
  5. package/fesm2022/wawjs-ngx-prime-checkbox.mjs +5 -1
  6. package/fesm2022/wawjs-ngx-prime-checkbox.mjs.map +1 -1
  7. package/fesm2022/wawjs-ngx-prime-colorpicker.mjs +10 -3
  8. package/fesm2022/wawjs-ngx-prime-colorpicker.mjs.map +1 -1
  9. package/fesm2022/wawjs-ngx-prime-config.mjs +109 -6
  10. package/fesm2022/wawjs-ngx-prime-config.mjs.map +1 -1
  11. package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs +11 -0
  12. package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs.map +1 -1
  13. package/fesm2022/wawjs-ngx-prime-dataview.mjs +8 -8
  14. package/fesm2022/wawjs-ngx-prime-dataview.mjs.map +1 -1
  15. package/fesm2022/wawjs-ngx-prime-fileupload.mjs +10 -3
  16. package/fesm2022/wawjs-ngx-prime-fileupload.mjs.map +1 -1
  17. package/fesm2022/wawjs-ngx-prime-icon.mjs +107 -0
  18. package/fesm2022/wawjs-ngx-prime-icon.mjs.map +1 -0
  19. package/fesm2022/wawjs-ngx-prime-inputmask.mjs +5 -1
  20. package/fesm2022/wawjs-ngx-prime-inputmask.mjs.map +1 -1
  21. package/fesm2022/wawjs-ngx-prime-inputnumber.mjs +5 -1
  22. package/fesm2022/wawjs-ngx-prime-inputnumber.mjs.map +1 -1
  23. package/fesm2022/wawjs-ngx-prime-panelmenu.mjs +2 -1
  24. package/fesm2022/wawjs-ngx-prime-panelmenu.mjs.map +1 -1
  25. package/fesm2022/wawjs-ngx-prime-password.mjs +10 -3
  26. package/fesm2022/wawjs-ngx-prime-password.mjs.map +1 -1
  27. package/fesm2022/wawjs-ngx-prime-picklist.mjs +8 -8
  28. package/fesm2022/wawjs-ngx-prime-picklist.mjs.map +1 -1
  29. package/fesm2022/wawjs-ngx-prime-radiobutton.mjs +10 -3
  30. package/fesm2022/wawjs-ngx-prime-radiobutton.mjs.map +1 -1
  31. package/fesm2022/wawjs-ngx-prime-rating.mjs +14 -3
  32. package/fesm2022/wawjs-ngx-prime-rating.mjs.map +1 -1
  33. package/fesm2022/wawjs-ngx-prime-selectbutton.mjs +10 -3
  34. package/fesm2022/wawjs-ngx-prime-selectbutton.mjs.map +1 -1
  35. package/fesm2022/wawjs-ngx-prime-slider.mjs +10 -3
  36. package/fesm2022/wawjs-ngx-prime-slider.mjs.map +1 -1
  37. package/fesm2022/wawjs-ngx-prime-stepper.mjs +2 -2
  38. package/fesm2022/wawjs-ngx-prime-stepper.mjs.map +1 -1
  39. package/fesm2022/wawjs-ngx-prime-table.mjs +47 -46
  40. package/fesm2022/wawjs-ngx-prime-table.mjs.map +1 -1
  41. package/fesm2022/wawjs-ngx-prime-tabs.mjs +3 -4
  42. package/fesm2022/wawjs-ngx-prime-tabs.mjs.map +1 -1
  43. package/fesm2022/wawjs-ngx-prime-togglebutton.mjs +10 -3
  44. package/fesm2022/wawjs-ngx-prime-togglebutton.mjs.map +1 -1
  45. package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs +10 -3
  46. package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs.map +1 -1
  47. package/fesm2022/wawjs-ngx-prime-treetable.mjs +2 -2
  48. package/fesm2022/wawjs-ngx-prime-treetable.mjs.map +1 -1
  49. package/package.json +9 -1
  50. package/types/wawjs-ngx-prime-button.d.ts +1 -0
  51. package/types/wawjs-ngx-prime-buylicense.d.ts +23 -0
  52. package/types/wawjs-ngx-prime-colorpicker.d.ts +1 -0
  53. package/types/wawjs-ngx-prime-config.d.ts +64 -2
  54. package/types/wawjs-ngx-prime-dataview.d.ts +8 -8
  55. package/types/wawjs-ngx-prime-fileupload.d.ts +1 -0
  56. package/types/wawjs-ngx-prime-icon.d.ts +33 -0
  57. package/types/wawjs-ngx-prime-password.d.ts +1 -0
  58. package/types/wawjs-ngx-prime-picklist.d.ts +8 -8
  59. package/types/wawjs-ngx-prime-radiobutton.d.ts +1 -0
  60. package/types/wawjs-ngx-prime-rating.d.ts +5 -0
  61. package/types/wawjs-ngx-prime-selectbutton.d.ts +1 -0
  62. package/types/wawjs-ngx-prime-slider.d.ts +1 -0
  63. package/types/wawjs-ngx-prime-stepper.d.ts +2 -2
  64. package/types/wawjs-ngx-prime-table.d.ts +24 -24
  65. package/types/wawjs-ngx-prime-togglebutton.d.ts +1 -0
  66. 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":";;;;;;;;MAOa,aAAa,CAAA;;IAEtB,KAAK,GAAG,MAAM,CAAM,SAAS;8EAAC;AAE9B,IAAA,GAAG,GAAG,MAAM,CAAgC,EAAE,KAAK,EAAE,SAAS,EAAE;4EAAC;IAEjE,cAAc,GAAY,KAAK;AAExB,IAAA,QAAQ,GAAa,MAAM,CAAC,QAAQ,CAAC;AAE5C,IAAA,SAAS,GAAc,MAAM,CAAC,SAAS,CAAC;AAExC,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;YACR,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,KAAI;gBACzC,SAAS,CAAC,MAAK;AACX,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,oBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;;AAE5B,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;QACF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;AAE/B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE;AAC7B,gBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,oBAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;gBAClC;AAEA,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAC/B;AACJ,QAAA,CAAC,CAAC;IACN;IAEA,WAAW,GAAA;QACPA,OAAK,CAAC,qBAAqB,EAAE;QAC7B,YAAY,CAAC,KAAK,EAAE;IACxB;AAEA,IAAA,aAAa,CAAC,KAAU,EAAA;AACpB,QAAAA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAErB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,eAAe,EAAE;QAC1B;IACJ;IAEA,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM;YAAE;;QAG7B,IAAI,CAACA,OAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;AACpC,YAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,EAAE;AACtF,YAAA,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE;AAEnD,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,YAAY,EAAE,CAAC;AACrF,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,YAAY,EAAE,CAAC;AACnF,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;AAC/E,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,EAAE,KAAK,CAAC;AAE9E,YAAAA,OAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACtC;IACJ;AAEA,IAAA,cAAc,CAAC,MAAuB,EAAA;QAClC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,EAAE;AAEnC,QAAA,IAAI,KAAK;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,GAAG;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IAC9B;uGAtES,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,OAAA,EAAA,CAAA;wGAAb,aAAa,EAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB;;;ACCK,MAAO,QAAS,SAAQ,aAAa,CAAA;IACvC,MAAM,GAAG,MAAM,CAAU,KAAK;+EAAC;AAExB,IAAA,UAAU,GAAQ,MAAM,CAAC,WAAW,CAAC;AAC5C;;AAEG;IACH,UAAU,GAAG,MAAM,CAA+B,IAAI;mFAAC;IAEvD,YAAY,GAAG,MAAM,CAA+B,IAAI;qFAAC;IAEzD,eAAe,GAAG,MAAM,CAAyF,MAAM;wFAAC;IAExH,cAAc,GAAmB,EAAE;AAEnC,IAAA,GAAG,GAAG,MAAM,CAAgC,EAAE,KAAK,EAAE,SAAS,EAAE;4EAAC;IAEjE,QAAQ,GAAG,MAAM,CAAsB,SAAS;iFAAC;IAEjD,EAAE,GAAG,MAAM,CAA2B,SAAS;2EAAC;IAEhD,SAAS,GAAG,MAAM,CAAkC,SAAS;kFAAC;AAE9D,IAAA,sBAAsB,GAAG;QACrB,IAAI,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC;QAC1K,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,qBAAqB,EAAE,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,wBAAwB,CAAC;AACvM,QAAA,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,UAAU;KACvH;AAEM,IAAA,WAAW,GAAgB;AAC9B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,GAAG,EAAE,uBAAuB;AAC5B,QAAA,EAAE,EAAE,cAAc;AAClB,QAAA,GAAG,EAAE,0BAA0B;AAC/B,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,aAAa,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACpE,QAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;AACxF,QAAA,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAChE,QAAA,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACvD,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;QACtI,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACrG,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,SAAS,EAAE,gBAAgB;AAC3B,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,UAAU,EAAE,UAAU;AACtB,QAAA,cAAc,EAAE,CAAC;AACjB,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,cAAc,EAAE,kBAAkB;AAClC,QAAA,YAAY,EAAE,kBAAkB;AAChC,QAAA,aAAa,EAAE,8BAA8B;AAC7C,QAAA,gBAAgB,EAAE,oBAAoB;AACtC,QAAA,qBAAqB,EAAE,kBAAkB;AACzC,QAAA,kBAAkB,EAAE,kBAAkB;AACtC,QAAA,kBAAkB,EAAE,kBAAkB;AACtC,QAAA,iBAAiB,EAAE,OAAO;AAC1B,QAAA,mBAAmB,EAAE,gBAAgB;AACrC,QAAA,IAAI,EAAE;AACF,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,SAAS,EAAE,cAAc;AACzB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,SAAS,EAAE,oBAAoB;AAC/B,YAAA,WAAW,EAAE,sBAAsB;AACnC,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,YAAY,EAAE,gBAAgB;AAC9B,YAAA,YAAY,EAAE,gBAAgB;AAC9B,YAAA,eAAe,EAAE,oBAAoB;AACrC,YAAA,eAAe,EAAE,oBAAoB;AACrC,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,cAAc,EAAE,YAAY;AAC5B,YAAA,aAAa,EAAE,WAAW;AAC1B,YAAA,aAAa,EAAE,WAAW;AAC1B,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,gBAAgB,EAAE,eAAe;AACjC,YAAA,iBAAiB,EAAE,eAAe;AAClC,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,SAAS,EAAE,cAAc;AACzB,YAAA,WAAW,EAAE,gBAAgB;AAC7B,YAAA,SAAS,EAAE,cAAc;AACzB,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,gBAAgB,EAAE,mBAAmB;AACrC,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,SAAS,EAAE,aAAa;AACxB,YAAA,WAAW,EAAE,gBAAgB;AAC7B,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,aAAa,EAAE,UAAU;AACzB,YAAA,aAAa,EAAE;AAClB;KACJ;AAED,IAAA,MAAM,GAAW;AACb,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE;KACZ;AAEO,IAAA,iBAAiB,GAAG,IAAI,OAAO,EAAO;AAE9C,IAAA,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;AAE3D,IAAA,cAAc,CAAC,GAAW,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAoC,CAAC;IACjE;AAEA,IAAA,cAAc,CAAC,KAAkB,EAAA;AAC7B,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,EAAE;QACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IACjD;AAEA,IAAA,SAAS,CAAC,MAA0B,EAAA;AAChC,QAAA,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,EAAE;AAE5K,QAAA,IAAI,GAAG;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAC1B,QAAA,IAAI,eAAe;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC;AAC9D,QAAA,IAAI,MAAM;AAAE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;AACnC,QAAA,IAAI,UAAU;AAAE,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;AAC/C,QAAA,IAAI,YAAY;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;AACrD,QAAA,IAAI,cAAc;AAAE,YAAA,IAAI,CAAC,cAAc,GAAG,cAAc;AACxD,QAAA,IAAI,WAAW;AAAE,YAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;AACjD,QAAA,IAAI,sBAAsB;AAAE,YAAA,IAAI,CAAC,sBAAsB,GAAG,sBAAsB;AAChF,QAAA,IAAI,MAAM;AAAE,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AAChC,QAAA,IAAI,EAAE;AAAE,YAAA,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AACvB,QAAA,IAAI,SAAS;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAC5C,QAAA,IAAI,QAAQ;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAEzC,QAAA,IAAI,KAAK;YACL,IAAI,CAAC,cAAc,CAAC;gBAChB,KAAK;gBACL;AACgB,aAAA,CAAC;IAC7B;uGAzMS,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,OAAA,EAAA,CAAA;wGAAR,QAAQ,EAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBADpB;;;MCFY,eAAe,GAAG,IAAI,cAAc,CAAqB,iBAAiB;AAEjF,SAAU,eAAe,CAAC,GAAG,QAA8B,EAAA;IAC7D,MAAM,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,MAAM;AAC1C,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,KAAK,EAAE;AACV,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAK;AAC3C,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;AAEvC,QAAA,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEjE;AACJ,IAAA,CAAC,CAAC;IAEF,OAAO,wBAAwB,CAAC,CAAC,GAAG,SAAS,EAAE,WAAW,CAAC,CAAC;AAChE;;ACFA,MAAM,cAAc,GAA0B;AAC1C,IAAA,gBAAgB,EAAE,SAAS;AAC3B,IAAA,UAAU,EAAE;CACf;MAEY,YAAY,GAAG,IAAI,cAAc,CAAc,cAAc;AAEpE,SAAU,YAAY,CAAC,MAAA,GAAsB,EAAE,EAAA;AACjD,IAAA,OAAO,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AAClF;AAEA;;;;;;;;;;;AAWG;MAEU,KAAK,CAAA;AACG,IAAA,QAAQ,GAAa,MAAM,CAAC,QAAQ,CAAC;AACrC,IAAA,MAAM,GAA0B;AAC7C,QAAA,GAAG,cAAc;QACjB,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C;AAEQ,IAAA,IAAI,GAAG,MAAM,CAAY,IAAI,CAAC,OAAO,EAAE;6EAAC;AAEjD,IAAA,WAAA,GAAA;QACI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B;AAEA,IAAA,OAAO,CAAC,IAAe,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACtB;IAEA,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3D;AAEA;;;;;AAKG;IACH,SAAS,CAAC,IAA4B,EAAE,MAAA,GAAsB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAA;AACvF,QAAA,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAA,EAAA,EAAK,IAAI,CAAA,CAAE,EAAE,KAAK,CAAC;QAC/E;IACJ;AAEQ,IAAA,KAAK,CAAC,IAAe,EAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB;AAC7C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe;AAC1C,QAAA,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM;QAE9B,MAAM,SAAS,GAAG,kCAAkC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnE,IAAI,SAAS,EAAE;YACX,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,SAAS;AACjC,YAAA,IAAI,MAAM;gBAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;;AAC3C,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAC/B;QACJ;AAEA,QAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QACpD;IACJ;IAEQ,OAAO,GAAA;AACX,QAAA,IAAI;AACA,YAAA,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;AAC3D,YAAA,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM;AAAE,gBAAA,OAAO,MAAM;QAC9D;AAAE,QAAA,MAAM;;QAER;QAEA,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,GAAG,8BAA8B,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO;IAC1H;AAEQ,IAAA,OAAO,CAAC,IAAe,EAAA;AAC3B,QAAA,IAAI;YACA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;QACtD;AAAE,QAAA,MAAM;;QAER;IACJ;uGAtES,KAAK,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,OAAA,EAAA,CAAA;wGAAL,KAAK,EAAA,CAAA;;2FAAL,KAAK,EAAA,UAAA,EAAA,CAAA;kBADjB;;;MCpCY,eAAe,GAAG,IAAI,cAAc,CAAiB,iBAAiB;AAEnF;;;;AAIG;AACG,SAAU,eAAe,CAAC,MAAA,GAAyB,EAAE,EAAA;AACvD,IAAA,OAAO,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACrF;;AChBA;;AAEG;;;;"}
@@ -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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"}
@@ -305,7 +305,7 @@ class DataView extends BaseComponent {
305
305
  * @param {DataViewGridTemplateContext} context - grid template context.
306
306
  * @group Templates
307
307
  */
308
- gridTemplate = contentChild.required('grid', /* @ts-ignore */
308
+ gridTemplate = contentChild('grid', /* @ts-ignore */
309
309
  ...(ngDevMode ? [{ debugName: "gridTemplate" }] : /* istanbul ignore next */ []));
310
310
  /**
311
311
  * Template for the header section.
@@ -316,7 +316,7 @@ class DataView extends BaseComponent {
316
316
  * Template for the empty message section.
317
317
  * @group Templates
318
318
  */
319
- emptymessageTemplate = contentChild.required('emptymessage', /* @ts-ignore */
319
+ emptymessageTemplate = contentChild('emptymessage', /* @ts-ignore */
320
320
  ...(ngDevMode ? [{ debugName: "emptymessageTemplate" }] : /* istanbul ignore next */ []));
321
321
  /**
322
322
  * Template for the footer section.
@@ -328,39 +328,39 @@ class DataView extends BaseComponent {
328
328
  * @param {DataViewPaginatorLeftTemplateContext} context - paginator left template context.
329
329
  * @group Templates
330
330
  */
331
- paginatorleft = contentChild.required('paginatorleft', /* @ts-ignore */
331
+ paginatorleft = contentChild('paginatorleft', /* @ts-ignore */
332
332
  ...(ngDevMode ? [{ debugName: "paginatorleft" }] : /* istanbul ignore next */ []));
333
333
  /**
334
334
  * Template for the right side of paginator.
335
335
  * @param {DataViewPaginatorRightTemplateContext} context - paginator right template context.
336
336
  * @group Templates
337
337
  */
338
- paginatorright = contentChild.required('paginatorright', /* @ts-ignore */
338
+ paginatorright = contentChild('paginatorright', /* @ts-ignore */
339
339
  ...(ngDevMode ? [{ debugName: "paginatorright" }] : /* istanbul ignore next */ []));
340
340
  /**
341
341
  * Template for items in paginator dropdown.
342
342
  * @param {DataViewPaginatorDropdownItemTemplateContext} context - paginator dropdown item template context.
343
343
  * @group Templates
344
344
  */
345
- paginatordropdownitem = contentChild.required('paginatordropdownitem', /* @ts-ignore */
345
+ paginatordropdownitem = contentChild('paginatordropdownitem', /* @ts-ignore */
346
346
  ...(ngDevMode ? [{ debugName: "paginatordropdownitem" }] : /* istanbul ignore next */ []));
347
347
  /**
348
348
  * Template for loading icon.
349
349
  * @group Templates
350
350
  */
351
- loadingicon = contentChild.required('loadingicon', /* @ts-ignore */
351
+ loadingicon = contentChild('loadingicon', /* @ts-ignore */
352
352
  ...(ngDevMode ? [{ debugName: "loadingicon" }] : /* istanbul ignore next */ []));
353
353
  /**
354
354
  * Template for list icon.
355
355
  * @group Templates
356
356
  */
357
- listicon = contentChild.required('listicon', /* @ts-ignore */
357
+ listicon = contentChild('listicon', /* @ts-ignore */
358
358
  ...(ngDevMode ? [{ debugName: "listicon" }] : /* istanbul ignore next */ []));
359
359
  /**
360
360
  * Template for grid icon.
361
361
  * @group Templates
362
362
  */
363
- gridicon = contentChild.required('gridicon', /* @ts-ignore */
363
+ gridicon = contentChild('gridicon', /* @ts-ignore */
364
364
  ...(ngDevMode ? [{ debugName: "gridicon" }] : /* istanbul ignore next */ []));
365
365
  header = contentChild(Header, /* @ts-ignore */
366
366
  ...(ngDevMode ? [{ debugName: "header" }] : /* istanbul ignore next */ []));