@ng-atomic/common 19.21.7 → 19.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/directives/active-control/index.d.ts +52 -0
  2. package/directives/active-control/index.d.ts.map +1 -0
  3. package/fesm2022/ng-atomic-common-directives-active-control.mjs +287 -0
  4. package/fesm2022/ng-atomic-common-directives-active-control.mjs.map +1 -0
  5. package/fesm2022/ng-atomic-common-services-auth.mjs +21 -1
  6. package/fesm2022/ng-atomic-common-services-auth.mjs.map +1 -1
  7. package/fesm2022/ng-atomic-common-services-editing.mjs.map +1 -1
  8. package/fesm2022/ng-atomic-common-services-router.mjs.map +1 -1
  9. package/fesm2022/ng-atomic-common-stores-selection.mjs.map +1 -1
  10. package/fesm2022/ng-atomic-common.mjs +146 -39
  11. package/fesm2022/ng-atomic-common.mjs.map +1 -1
  12. package/index.d.ts +35 -17
  13. package/index.d.ts.map +1 -1
  14. package/interceptors/authorization/index.d.ts.map +1 -1
  15. package/interceptors/token/index.d.ts.map +1 -1
  16. package/models/index.d.ts.map +1 -1
  17. package/package.json +43 -39
  18. package/pipes/data-accessor/index.d.ts.map +1 -1
  19. package/pipes/error/index.d.ts.map +1 -1
  20. package/pipes/pagination/index.d.ts.map +1 -1
  21. package/pipes/select-id/index.d.ts.map +1 -1
  22. package/pipes/signal/index.d.ts.map +1 -1
  23. package/pipes/smart-field/index.d.ts.map +1 -1
  24. package/pipes/style/index.d.ts.map +1 -1
  25. package/services/auth/index.d.ts +6 -7
  26. package/services/auth/index.d.ts.map +1 -1
  27. package/services/breakpoint/index.d.ts.map +1 -1
  28. package/services/editing/index.d.ts +2 -2
  29. package/services/editing/index.d.ts.map +1 -1
  30. package/services/form/columns/index.d.ts.map +1 -1
  31. package/services/form/index.d.ts.map +1 -1
  32. package/services/form/pagination/index.d.ts.map +1 -1
  33. package/services/form/sort/index.d.ts.map +1 -1
  34. package/services/initializer/index.d.ts.map +1 -1
  35. package/services/language/index.d.ts.map +1 -1
  36. package/services/loading/index.d.ts.map +1 -1
  37. package/services/query-resolver/index.d.ts.map +1 -1
  38. package/services/router/index.d.ts +3 -4
  39. package/services/router/index.d.ts.map +1 -1
  40. package/services/side-nav-mode/index.d.ts.map +1 -1
  41. package/services/spreadsheet/index.d.ts.map +1 -1
  42. package/services/ui/index.d.ts.map +1 -1
  43. package/stores/entities/index.d.ts.map +1 -1
  44. package/stores/entity/index.d.ts.map +1 -1
  45. package/stores/pagination/index.d.ts.map +1 -1
  46. package/stores/query/index.d.ts.map +1 -1
  47. package/stores/selection/index.d.ts +7 -7
  48. package/stores/selection/index.d.ts.map +1 -1
  49. package/stores/sort/index.d.ts.map +1 -1
  50. package/utils/index.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-editing.mjs","sources":["../tmp-esm2022/services/editing/editing-state-manager.service.js","../tmp-esm2022/services/editing/ng-atomic-common-services-editing.js"],"sourcesContent":["import { Injectable, signal, computed } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport * as i0 from \"@angular/core\";\n/**\n * EditingStateManager Service\n *\n * Manages global editing state for preventing data updates during cell editing.\n * Uses Angular Signals for reactive state management.\n */\nexport class EditingStateManager {\n constructor() {\n this.editingCells = signal([]);\n this.isEditing = computed(() => this.editingCells().length > 0);\n this.isEditing$ = toObservable(this.isEditing);\n }\n /**\n * Start editing a cell\n * @param rowId Row identifier\n * @param columnId Column identifier\n */\n startEditing(rowId, columnId) {\n const cellKey = `${rowId}-${columnId}`;\n this.editingCells.update(cells => {\n const newCells = new Set(cells);\n newCells.add(cellKey);\n return [...newCells];\n });\n }\n /**\n * Stop editing a cell\n * @param rowId Row identifier\n * @param columnId Column identifier\n */\n stopEditing(rowId, columnId) {\n const cellKey = `${rowId}-${columnId}`;\n this.editingCells.update(cells => {\n const newCells = new Set(cells);\n newCells.delete(cellKey);\n return [...newCells];\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EditingStateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EditingStateManager, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EditingStateManager, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGluZy1zdGF0ZS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2VkaXRpbmcvZWRpdGluZy1zdGF0ZS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFMUQ7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRW1CLGlCQUFZLEdBQUcsTUFBTSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRCxlQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztLQTZCcEQ7SUEzQkM7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxLQUFzQixFQUFFLFFBQWdCO1FBQ25ELE1BQU0sT0FBTyxHQUFHLEdBQUcsS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxLQUFzQixFQUFFLFFBQWdCO1FBQ2xELE1BQU0sT0FBTyxHQUFHLEdBQUcsS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekIsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQS9CVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUROLE1BQU07OzJGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIEVkaXRpbmdTdGF0ZU1hbmFnZXIgU2VydmljZVxuICogXG4gKiBNYW5hZ2VzIGdsb2JhbCBlZGl0aW5nIHN0YXRlIGZvciBwcmV2ZW50aW5nIGRhdGEgdXBkYXRlcyBkdXJpbmcgY2VsbCBlZGl0aW5nLlxuICogVXNlcyBBbmd1bGFyIFNpZ25hbHMgZm9yIHJlYWN0aXZlIHN0YXRlIG1hbmFnZW1lbnQuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRWRpdGluZ1N0YXRlTWFuYWdlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWRpdGluZ0NlbGxzID0gc2lnbmFsPHN0cmluZ1tdPihbXSk7XG4gIHJlYWRvbmx5IGlzRWRpdGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZWRpdGluZ0NlbGxzKCkubGVuZ3RoID4gMCk7XG4gIHJlYWRvbmx5IGlzRWRpdGluZyQgPSB0b09ic2VydmFibGUodGhpcy5pc0VkaXRpbmcpO1xuICBcbiAgLyoqXG4gICAqIFN0YXJ0IGVkaXRpbmcgYSBjZWxsXG4gICAqIEBwYXJhbSByb3dJZCBSb3cgaWRlbnRpZmllclxuICAgKiBAcGFyYW0gY29sdW1uSWQgQ29sdW1uIGlkZW50aWZpZXJcbiAgICovXG4gIHN0YXJ0RWRpdGluZyhyb3dJZDogc3RyaW5nIHwgbnVtYmVyLCBjb2x1bW5JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY2VsbEtleSA9IGAke3Jvd0lkfS0ke2NvbHVtbklkfWA7XG4gICAgdGhpcy5lZGl0aW5nQ2VsbHMudXBkYXRlKGNlbGxzID0+IHtcbiAgICAgIGNvbnN0IG5ld0NlbGxzID0gbmV3IFNldChjZWxscyk7XG4gICAgICBuZXdDZWxscy5hZGQoY2VsbEtleSk7XG4gICAgICByZXR1cm4gWy4uLm5ld0NlbGxzXTtcbiAgICB9KTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIFN0b3AgZWRpdGluZyBhIGNlbGxcbiAgICogQHBhcmFtIHJvd0lkIFJvdyBpZGVudGlmaWVyXG4gICAqIEBwYXJhbSBjb2x1bW5JZCBDb2x1bW4gaWRlbnRpZmllclxuICAgKi9cbiAgc3RvcEVkaXRpbmcocm93SWQ6IHN0cmluZyB8IG51bWJlciwgY29sdW1uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNlbGxLZXkgPSBgJHtyb3dJZH0tJHtjb2x1bW5JZH1gO1xuICAgIHRoaXMuZWRpdGluZ0NlbGxzLnVwZGF0ZShjZWxscyA9PiB7XG4gICAgICBjb25zdCBuZXdDZWxscyA9IG5ldyBTZXQoY2VsbHMpO1xuICAgICAgbmV3Q2VsbHMuZGVsZXRlKGNlbGxLZXkpO1xuICAgICAgcmV0dXJuIFsuLi5uZXdDZWxsc107XG4gICAgfSk7XG4gIH1cbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy1lZGl0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9lZGl0aW5nL25nLWF0b21pYy1jb21tb24tc2VydmljZXMtZWRpdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,mBAAmB,CAAC;AACjC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;AACtC,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACtD,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE;AAClC,QAAQ,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI;AAC1C,YAAY,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC;AAC3C,YAAY,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,YAAY,OAAO,CAAC,GAAG,QAAQ,CAAC;AAChC,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE;AACjC,QAAQ,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI;AAC1C,YAAY,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC;AAC3C,YAAY,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;AACpC,YAAY,OAAO,CAAC,GAAG,QAAQ,CAAC;AAChC,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACtL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC/Cb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-editing.mjs","sources":["../tmp-esm2022/services/editing/editing-state-manager.service.js","../tmp-esm2022/services/editing/ng-atomic-common-services-editing.js"],"sourcesContent":["import { Injectable, signal, computed } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport * as i0 from \"@angular/core\";\n/**\n * EditingStateManager Service\n *\n * Manages global editing state for preventing data updates during cell editing.\n * Uses Angular Signals for reactive state management.\n */\nexport class EditingStateManager {\n constructor() {\n this.editingCells = signal([]);\n this.isEditing = computed(() => this.editingCells().length > 0);\n this.isEditing$ = toObservable(this.isEditing);\n }\n /**\n * Start editing a cell\n * @param rowId Row identifier\n * @param columnId Column identifier\n */\n startEditing(rowId, columnId) {\n const cellKey = `${rowId}-${columnId}`;\n this.editingCells.update(cells => {\n const newCells = new Set(cells);\n newCells.add(cellKey);\n return [...newCells];\n });\n }\n /**\n * Stop editing a cell\n * @param rowId Row identifier\n * @param columnId Column identifier\n */\n stopEditing(rowId, columnId) {\n const cellKey = `${rowId}-${columnId}`;\n this.editingCells.update(cells => {\n const newCells = new Set(cells);\n newCells.delete(cellKey);\n return [...newCells];\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EditingStateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EditingStateManager, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EditingStateManager, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGluZy1zdGF0ZS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2VkaXRpbmcvZWRpdGluZy1zdGF0ZS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHMUQ7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRW1CLGlCQUFZLEdBQUcsTUFBTSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRCxlQUFVLEdBQXdCLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0E2QnpFO0lBM0JDOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsS0FBc0IsRUFBRSxRQUFnQjtRQUNuRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsS0FBc0IsRUFBRSxRQUFnQjtRQUNsRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EvQlUsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FETixNQUFNOzsyRkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBFZGl0aW5nU3RhdGVNYW5hZ2VyIFNlcnZpY2VcbiAqIFxuICogTWFuYWdlcyBnbG9iYWwgZWRpdGluZyBzdGF0ZSBmb3IgcHJldmVudGluZyBkYXRhIHVwZGF0ZXMgZHVyaW5nIGNlbGwgZWRpdGluZy5cbiAqIFVzZXMgQW5ndWxhciBTaWduYWxzIGZvciByZWFjdGl2ZSBzdGF0ZSBtYW5hZ2VtZW50LlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEVkaXRpbmdTdGF0ZU1hbmFnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGVkaXRpbmdDZWxscyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuICByZWFkb25seSBpc0VkaXRpbmcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmVkaXRpbmdDZWxscygpLmxlbmd0aCA+IDApO1xuICByZWFkb25seSBpc0VkaXRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdG9PYnNlcnZhYmxlKHRoaXMuaXNFZGl0aW5nKTtcbiAgXG4gIC8qKlxuICAgKiBTdGFydCBlZGl0aW5nIGEgY2VsbFxuICAgKiBAcGFyYW0gcm93SWQgUm93IGlkZW50aWZpZXJcbiAgICogQHBhcmFtIGNvbHVtbklkIENvbHVtbiBpZGVudGlmaWVyXG4gICAqL1xuICBzdGFydEVkaXRpbmcocm93SWQ6IHN0cmluZyB8IG51bWJlciwgY29sdW1uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNlbGxLZXkgPSBgJHtyb3dJZH0tJHtjb2x1bW5JZH1gO1xuICAgIHRoaXMuZWRpdGluZ0NlbGxzLnVwZGF0ZShjZWxscyA9PiB7XG4gICAgICBjb25zdCBuZXdDZWxscyA9IG5ldyBTZXQoY2VsbHMpO1xuICAgICAgbmV3Q2VsbHMuYWRkKGNlbGxLZXkpO1xuICAgICAgcmV0dXJuIFsuLi5uZXdDZWxsc107XG4gICAgfSk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBTdG9wIGVkaXRpbmcgYSBjZWxsXG4gICAqIEBwYXJhbSByb3dJZCBSb3cgaWRlbnRpZmllclxuICAgKiBAcGFyYW0gY29sdW1uSWQgQ29sdW1uIGlkZW50aWZpZXJcbiAgICovXG4gIHN0b3BFZGl0aW5nKHJvd0lkOiBzdHJpbmcgfCBudW1iZXIsIGNvbHVtbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjZWxsS2V5ID0gYCR7cm93SWR9LSR7Y29sdW1uSWR9YDtcbiAgICB0aGlzLmVkaXRpbmdDZWxscy51cGRhdGUoY2VsbHMgPT4ge1xuICAgICAgY29uc3QgbmV3Q2VsbHMgPSBuZXcgU2V0KGNlbGxzKTtcbiAgICAgIG5ld0NlbGxzLmRlbGV0ZShjZWxsS2V5KTtcbiAgICAgIHJldHVybiBbLi4ubmV3Q2VsbHNdO1xuICAgIH0pO1xuICB9XG59Il19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy1lZGl0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9lZGl0aW5nL25nLWF0b21pYy1jb21tb24tc2VydmljZXMtZWRpdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,mBAAmB,CAAC;AACjC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;AACtC,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACtD,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE;AAClC,QAAQ,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI;AAC1C,YAAY,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC;AAC3C,YAAY,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,YAAY,OAAO,CAAC,GAAG,QAAQ,CAAC;AAChC,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE;AACjC,QAAQ,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI;AAC1C,YAAY,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC;AAC3C,YAAY,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;AACpC,YAAY,OAAO,CAAC,GAAG,QAAQ,CAAC;AAChC,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACtL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC/Cb;AACA;AACA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-router.mjs","sources":["../tmp-esm2022/services/router/router.service.js","../tmp-esm2022/services/router/ng-atomic-common-services-router.js"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport function walkActivatedRoute(route, callback) {\n if (!callback(route))\n return;\n route.children.forEach(child => walkActivatedRoute(child, callback));\n}\nexport class RouterService extends Router {\n constructor() {\n super(...arguments);\n this.router = inject(Router);\n this.events$ = this.router.events;\n }\n back() {\n history.back();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: RouterService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: RouterService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: RouterService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWtCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV6RCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBcUIsRUFBRSxRQUE0QztJQUNwRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU87SUFDN0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBR0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxNQUFNO0lBRHpDOztRQUVXLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0tBS3ZDO0lBSEMsSUFBSTtRQUNGLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNoQixDQUFDOzhHQU5VLGFBQWE7a0hBQWIsYUFBYSxjQURELE1BQU07OzJGQUNsQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiB3YWxrQWN0aXZhdGVkUm91dGUocm91dGU6IEFjdGl2YXRlZFJvdXRlLCBjYWxsYmFjazogKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgPT4gYm9vbGVhbik6IHZvaWQge1xuICBpZiAoIWNhbGxiYWNrKHJvdXRlKSkgcmV0dXJuO1xuICByb3V0ZS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHdhbGtBY3RpdmF0ZWRSb3V0ZShjaGlsZCwgY2FsbGJhY2spKTtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUm91dGVyU2VydmljZSBleHRlbmRzIFJvdXRlciB7XG4gIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICByZWFkb25seSBldmVudHMkID0gdGhpcy5yb3V0ZXIuZXZlbnRzO1xuXG4gIGJhY2soKTogdm9pZCB7XG4gICAgaGlzdG9yeS5iYWNrKClcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci9uZy1hdG9taWMtY29tbW9uLXNlcnZpY2VzLXJvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGO,SAAS,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE;AACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACxB,QAAQ;AACR,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxE;AACO,MAAM,aAAa,SAAS,MAAM,CAAC;AAC1C,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACpC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACzC,IAAI;AACJ,IAAI,IAAI,GAAG;AACX,QAAQ,OAAO,CAAC,IAAI,EAAE;AACtB,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAClL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACvJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;ACvBb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-router.mjs","sources":["../tmp-esm2022/services/router/router.service.js","../tmp-esm2022/services/router/ng-atomic-common-services-router.js"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport function walkActivatedRoute(route, callback) {\n if (!callback(route))\n return;\n route.children.forEach(child => walkActivatedRoute(child, callback));\n}\nexport class RouterService extends Router {\n constructor() {\n super(...arguments);\n this.router = inject(Router);\n this.events$ = this.router.events;\n }\n back() {\n history.back();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: RouterService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: RouterService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: RouterService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQXlCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUdoRSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBcUIsRUFBRSxRQUE0QztJQUNwRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU87SUFDN0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBR0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxNQUFNO0lBRHpDOztRQUVXLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFzQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztLQUsxRDtJQUhDLElBQUk7UUFDRixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEIsQ0FBQzs4R0FOVSxhQUFhO2tIQUFiLGFBQWEsY0FERCxNQUFNOzsyRkFDbEIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBFdmVudCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdhbGtBY3RpdmF0ZWRSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIGNhbGxiYWNrOiAocm91dGU6IEFjdGl2YXRlZFJvdXRlKSA9PiBib29sZWFuKTogdm9pZCB7XG4gIGlmICghY2FsbGJhY2socm91dGUpKSByZXR1cm47XG4gIHJvdXRlLmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4gd2Fsa0FjdGl2YXRlZFJvdXRlKGNoaWxkLCBjYWxsYmFjaykpO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTZXJ2aWNlIGV4dGVuZHMgUm91dGVyIHtcbiAgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHJlYWRvbmx5IGV2ZW50cyQ6IE9ic2VydmFibGU8RXZlbnQ+ID0gdGhpcy5yb3V0ZXIuZXZlbnRzO1xuXG4gIGJhY2soKTogdm9pZCB7XG4gICAgaGlzdG9yeS5iYWNrKClcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci9uZy1hdG9taWMtY29tbW9uLXNlcnZpY2VzLXJvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGO,SAAS,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE;AACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACxB,QAAQ;AACR,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxE;AACO,MAAM,aAAa,SAAS,MAAM,CAAC;AAC1C,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACpC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACzC,IAAI;AACJ,IAAI,IAAI,GAAG;AACX,QAAQ,OAAO,CAAC,IAAI,EAAE;AACtB,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAClL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACvJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;ACvBb;AACA;AACA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-stores-selection.mjs","sources":["../tmp-esm2022/stores/selection/selection.store.js","../tmp-esm2022/stores/selection/ng-atomic-common-stores-selection.js"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport * as i0 from \"@angular/core\";\nexport class SelectionStore extends ComponentStore {\n get idSet() { return this.get(state => state.idSet); }\n get initialIdSet() { return this.get(state => state.initialIdSet); }\n constructor() {\n super({ idSet: new Set(), initialIdSet: null });\n this.setIdSet = this.updater((state, idSet) => ({ ...state, idSet }));\n this.setInitialIdSet = this.updater((state, initialIdSet) => ({ ...state, initialIdSet }));\n this.addIds = (ids) => this.setIdSet(new Set([...this.idSet, ...ids]));\n this.addId = (id) => this.addIds([id]);\n this.removeId = (id) => this.setIdSet(new Set([...this.idSet].filter(_id => _id !== id)));\n this.toggleId = (id) => this.idSet.has(id) ? this.removeId(id) : this.addId(id);\n }\n getSelectedAndUnselected() {\n const unselectedIdSet = new Set([...this.initialIdSet].filter(id => !this.idSet.has(id)));\n return [this.idSet, unselectedIdSet];\n }\n filterBySelectedIds(entities) {\n return entities.filter(({ id }) => this.idSet.has(id));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectionStore }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectionStore, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvc2VsZWN0aW9uL3NlbGVjdGlvbi5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFTdkQsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUE4QjtJQUNoRSxJQUFJLEtBQUssS0FBa0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxJQUFJLFlBQVksS0FBa0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqRjtRQUNFLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBR2hELGFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsb0JBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFlBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakcsV0FBTSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVFLFVBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFMUMsYUFBUSxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RixhQUFRLEdBQUcsQ0FBQyxFQUFVLEVBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBVHBGLENBQUM7SUFXRCx3QkFBd0I7UUFDdEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsbUJBQW1CLENBQXlCLFFBQWE7UUFDdkQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQXhCVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSBcIkBuZ3J4L2NvbXBvbmVudC1zdG9yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvblN0YXRlIHtcbiAgaWRTZXQ6IFNldDxzdHJpbmc+O1xuICBpbml0aWFsSWRTZXQ6IFNldDxzdHJpbmc+IHwgbnVsbDtcblxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uU3RvcmUgZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxTZWxlY3Rpb25TdGF0ZT4ge1xuICBnZXQgaWRTZXQoKTogU2V0PHN0cmluZz4geyByZXR1cm4gdGhpcy5nZXQoc3RhdGUgPT4gc3RhdGUuaWRTZXQpOyB9XG4gIGdldCBpbml0aWFsSWRTZXQoKTogU2V0PHN0cmluZz4geyByZXR1cm4gdGhpcy5nZXQoc3RhdGUgPT4gc3RhdGUuaW5pdGlhbElkU2V0KTsgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHtpZFNldDogbmV3IFNldCgpLCBpbml0aWFsSWRTZXQ6IG51bGx9KTtcbiAgfVxuXG4gIHNldElkU2V0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaWRTZXQ6IFNldDxzdHJpbmc+KSA9PiAoey4uLnN0YXRlLCBpZFNldH0pKTtcbiAgc2V0SW5pdGlhbElkU2V0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaW5pdGlhbElkU2V0OiBTZXQ8c3RyaW5nPikgPT4gKHsuLi5zdGF0ZSwgaW5pdGlhbElkU2V0fSkpO1xuXG4gIGFkZElkcyA9IChpZHM6IHN0cmluZ1tdKSA9PiB0aGlzLnNldElkU2V0KG5ldyBTZXQoWy4uLnRoaXMuaWRTZXQsIC4uLmlkc10pKTtcbiAgYWRkSWQgPSAoaWQ6IHN0cmluZykgPT4gdGhpcy5hZGRJZHMoW2lkXSk7XG4gIFxuICByZW1vdmVJZCA9IChpZDogc3RyaW5nKSA9PiB0aGlzLnNldElkU2V0KG5ldyBTZXQoWy4uLnRoaXMuaWRTZXRdLmZpbHRlcihfaWQgPT4gX2lkICE9PSBpZCkpKTtcbiAgdG9nZ2xlSWQgPSAoaWQ6IHN0cmluZykgID0+IHRoaXMuaWRTZXQuaGFzKGlkKSA/IHRoaXMucmVtb3ZlSWQoaWQpIDogdGhpcy5hZGRJZChpZCk7XG5cbiAgZ2V0U2VsZWN0ZWRBbmRVbnNlbGVjdGVkKCk6IFtTZXQ8c3RyaW5nPiwgU2V0PHN0cmluZz5dIHtcbiAgICBjb25zdCB1bnNlbGVjdGVkSWRTZXQgPSBuZXcgU2V0KFsuLi50aGlzLmluaXRpYWxJZFNldF0uZmlsdGVyKGlkID0+ICF0aGlzLmlkU2V0LmhhcyhpZCkpKTtcbiAgICByZXR1cm4gW3RoaXMuaWRTZXQsIHVuc2VsZWN0ZWRJZFNldF07XG4gIH1cblxuICBmaWx0ZXJCeVNlbGVjdGVkSWRzPEUgZXh0ZW5kcyB7aWQ6IHN0cmluZ30+KGVudGl0aWVzOiBFW10pOiBFW10ge1xuICAgIHJldHVybiBlbnRpdGllcy5maWx0ZXIoKHtpZH0pID0+IHRoaXMuaWRTZXQuaGFzKGlkKSk7XG4gIH1cbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zdG9yZXMtc2VsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvc2VsZWN0aW9uL25nLWF0b21pYy1jb21tb24tc3RvcmVzLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-common-stores-selection.mjs","sources":["../tmp-esm2022/stores/selection/selection.store.js","../tmp-esm2022/stores/selection/ng-atomic-common-stores-selection.js"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport * as i0 from \"@angular/core\";\nexport class SelectionStore extends ComponentStore {\n get idSet() { return this.get(state => state.idSet); }\n get initialIdSet() { return this.get(state => state.initialIdSet); }\n constructor() {\n super({ idSet: new Set(), initialIdSet: null });\n this.setIdSet = this.updater((state, idSet) => ({ ...state, idSet }));\n this.setInitialIdSet = this.updater((state, initialIdSet) => ({ ...state, initialIdSet }));\n this.addIds = (ids) => this.setIdSet(new Set([...this.idSet, ...ids]));\n this.addId = (id) => this.addIds([id]);\n this.removeId = (id) => this.setIdSet(new Set([...this.idSet].filter(_id => _id !== id)));\n this.toggleId = (id) => this.idSet.has(id) ? this.removeId(id) : this.addId(id);\n }\n getSelectedAndUnselected() {\n const unselectedIdSet = new Set([...this.initialIdSet].filter(id => !this.idSet.has(id)));\n return [this.idSet, unselectedIdSet];\n }\n filterBySelectedIds(entities) {\n return entities.filter(({ id }) => this.idSet.has(id));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectionStore }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectionStore, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvc2VsZWN0aW9uL3NlbGVjdGlvbi5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFVdkQsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUE4QjtJQUNoRSxJQUFJLEtBQUssS0FBa0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxJQUFJLFlBQVksS0FBa0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqRjtRQUNFLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBR2hELGFBQVEsR0FBK0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hKLG9CQUFlLEdBQStFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsWUFBeUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUMsQ0FBQztRQUU3SyxXQUFNLEdBQW9DLENBQUMsR0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdHLFVBQUssR0FBaUMsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhFLGFBQVEsR0FBaUMsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNILGFBQVEsR0FBaUMsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBVGpILENBQUM7SUFXRCx3QkFBd0I7UUFDdEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsbUJBQW1CLENBQXlCLFFBQWE7UUFDdkQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQXhCVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSBcIkBuZ3J4L2NvbXBvbmVudC1zdG9yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25TdGF0ZSB7XG4gIGlkU2V0OiBTZXQ8c3RyaW5nPjtcbiAgaW5pdGlhbElkU2V0OiBTZXQ8c3RyaW5nPiB8IG51bGw7XG5cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvblN0b3JlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8U2VsZWN0aW9uU3RhdGU+IHtcbiAgZ2V0IGlkU2V0KCk6IFNldDxzdHJpbmc+IHsgcmV0dXJuIHRoaXMuZ2V0KHN0YXRlID0+IHN0YXRlLmlkU2V0KTsgfVxuICBnZXQgaW5pdGlhbElkU2V0KCk6IFNldDxzdHJpbmc+IHsgcmV0dXJuIHRoaXMuZ2V0KHN0YXRlID0+IHN0YXRlLmluaXRpYWxJZFNldCk7IH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7aWRTZXQ6IG5ldyBTZXQoKSwgaW5pdGlhbElkU2V0OiBudWxsfSk7XG4gIH1cblxuICBzZXRJZFNldDogKG9ic2VydmFibGVPclZhbHVlOiBTZXQ8c3RyaW5nPiB8IE9ic2VydmFibGU8U2V0PHN0cmluZz4+KSA9PiBTdWJzY3JpcHRpb24gPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBpZFNldDogU2V0PHN0cmluZz4pID0+ICh7Li4uc3RhdGUsIGlkU2V0fSkpO1xuICBzZXRJbml0aWFsSWRTZXQ6IChvYnNlcnZhYmxlT3JWYWx1ZTogU2V0PHN0cmluZz4gfCBPYnNlcnZhYmxlPFNldDxzdHJpbmc+PikgPT4gU3Vic2NyaXB0aW9uID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaW5pdGlhbElkU2V0OiBTZXQ8c3RyaW5nPikgPT4gKHsuLi5zdGF0ZSwgaW5pdGlhbElkU2V0fSkpO1xuXG4gIGFkZElkczogKGlkczogc3RyaW5nW10pID0+IFN1YnNjcmlwdGlvbiA9IChpZHM6IHN0cmluZ1tdKSA9PiB0aGlzLnNldElkU2V0KG5ldyBTZXQoWy4uLnRoaXMuaWRTZXQsIC4uLmlkc10pKTtcbiAgYWRkSWQ6IChpZDogc3RyaW5nKSA9PiBTdWJzY3JpcHRpb24gPSAoaWQ6IHN0cmluZykgPT4gdGhpcy5hZGRJZHMoW2lkXSk7XG5cbiAgcmVtb3ZlSWQ6IChpZDogc3RyaW5nKSA9PiBTdWJzY3JpcHRpb24gPSAoaWQ6IHN0cmluZykgPT4gdGhpcy5zZXRJZFNldChuZXcgU2V0KFsuLi50aGlzLmlkU2V0XS5maWx0ZXIoX2lkID0+IF9pZCAhPT0gaWQpKSk7XG4gIHRvZ2dsZUlkOiAoaWQ6IHN0cmluZykgPT4gU3Vic2NyaXB0aW9uID0gKGlkOiBzdHJpbmcpID0+IHRoaXMuaWRTZXQuaGFzKGlkKSA/IHRoaXMucmVtb3ZlSWQoaWQpIDogdGhpcy5hZGRJZChpZCk7XG5cbiAgZ2V0U2VsZWN0ZWRBbmRVbnNlbGVjdGVkKCk6IFtTZXQ8c3RyaW5nPiwgU2V0PHN0cmluZz5dIHtcbiAgICBjb25zdCB1bnNlbGVjdGVkSWRTZXQgPSBuZXcgU2V0KFsuLi50aGlzLmluaXRpYWxJZFNldF0uZmlsdGVyKGlkID0+ICF0aGlzLmlkU2V0LmhhcyhpZCkpKTtcbiAgICByZXR1cm4gW3RoaXMuaWRTZXQsIHVuc2VsZWN0ZWRJZFNldF07XG4gIH1cblxuICBmaWx0ZXJCeVNlbGVjdGVkSWRzPEUgZXh0ZW5kcyB7aWQ6IHN0cmluZ30+KGVudGl0aWVzOiBFW10pOiBFW10ge1xuICAgIHJldHVybiBlbnRpdGllcy5maWx0ZXIoKHtpZH0pID0+IHRoaXMuaWRTZXQuaGFzKGlkKSk7XG4gIH1cbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zdG9yZXMtc2VsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvc2VsZWN0aW9uL25nLWF0b21pYy1jb21tb24tc3RvcmVzLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -192,10 +192,11 @@ function bufferWhenEditing(editingStateManager) {
192
192
  }
193
193
 
194
194
  class ActiveControlEventHandlers {
195
- constructor(hostElement, isActive, onActiveChange) {
195
+ constructor(hostElement, isActive, onActiveChange, options = {}) {
196
196
  this.hostElement = hostElement;
197
197
  this.isActive = isActive;
198
198
  this.onActiveChange = onActiveChange;
199
+ this.options = options;
199
200
  this.cleanupFunctions = [];
200
201
  }
201
202
  setupAll() {
@@ -207,7 +208,10 @@ class ActiveControlEventHandlers {
207
208
  // ホスト要素クリック
208
209
  const mousedownHandler = (e) => {
209
210
  this.toggleActive();
210
- e.stopPropagation();
211
+ // React Flowなどのドラッグと共存するため、オプションでstopPropagationを無効化
212
+ if (!this.options.disableStopPropagation) {
213
+ e.stopPropagation();
214
+ }
211
215
  };
212
216
  this.addEventListener(this.hostElement, 'mousedown', mousedownHandler);
213
217
  // 外部クリック
@@ -220,28 +224,45 @@ class ActiveControlEventHandlers {
220
224
  this.cleanupFunctions.push(() => document.removeEventListener('mousedown', documentClickListener, { capture: true }));
221
225
  }
222
226
  setupPreventionHandlers() {
223
- // ホイールイベント
227
+ // ホイールイベント(スクロール対象要素以外でのみブロック)
228
+ // ただし、ctrlKey + wheel(トラックパッドのピンチズーム)は常にブロック
229
+ // 非アクティブ時はScrollControlがスクロール位置をリセットするため、ここでは処理しない
224
230
  this.addEventListener(this.hostElement, 'wheel', (e) => {
225
231
  if (this.isActive()) {
226
- e.preventDefault();
227
- e.stopPropagation();
232
+ // ctrlKey + wheel = トラックパッドのピンチズーム → 常にブロック
233
+ if (e.ctrlKey) {
234
+ e.preventDefault();
235
+ e.stopPropagation();
236
+ return;
237
+ }
238
+ // 通常のホイールスクロール: スクロール対象要素からのイベントは許可
239
+ const target = e.target;
240
+ const isScrollableElement = this.options.scrollSelectors?.some(selector => target.closest(selector) !== null);
241
+ if (!isScrollableElement) {
242
+ e.preventDefault();
243
+ e.stopPropagation();
244
+ }
228
245
  }
229
246
  }, { passive: false });
230
- // タッチイベント
247
+ // タッチイベント(ホスト要素レベル)
231
248
  const touchHandler = (e) => {
232
249
  if (!this.isActive())
233
250
  return;
234
- if (e.touches.length > 1) {
235
- e.preventDefault();
236
- e.stopPropagation();
237
- }
238
- else {
239
- e.stopPropagation();
251
+ // スクロール対象要素からのイベントは許可
252
+ const target = e.target;
253
+ const isScrollableElement = this.options.scrollSelectors?.some(selector => target.closest(selector) !== null);
254
+ if (!isScrollableElement) {
255
+ if (e.touches.length > 1) {
256
+ // ピンチズームなどマルチタッチ操作をブロック
257
+ e.preventDefault();
258
+ e.stopPropagation();
259
+ }
260
+ // シングルタッチはデフォルト動作を許可(スクロールなど)
240
261
  }
241
262
  };
242
263
  this.addEventListener(this.hostElement, 'touchstart', touchHandler, { passive: false });
243
264
  this.addEventListener(this.hostElement, 'touchmove', touchHandler, { passive: false });
244
- // ジェスチャーイベント
265
+ // ジェスチャーイベント(ホスト要素レベル)
245
266
  const gestureHandler = (e) => {
246
267
  if (this.isActive()) {
247
268
  e.preventDefault();
@@ -251,6 +272,43 @@ class ActiveControlEventHandlers {
251
272
  ['gesturestart', 'gesturechange', 'gestureend'].forEach(eventName => {
252
273
  this.addEventListener(this.hostElement, eventName, gestureHandler, { passive: false });
253
274
  });
275
+ // Document-level capture phaseハンドラ
276
+ // ブラウザのピンチズームがデフォルト動作を行う前にキャッチする
277
+ this.setupDocumentLevelPinchZoomPrevention();
278
+ }
279
+ /**
280
+ * Document-levelでcapture phaseを使ってピンチズームを防止
281
+ * ホスト要素内で発生したマルチタッチ/ジェスチャーイベントのみをブロック
282
+ */
283
+ setupDocumentLevelPinchZoomPrevention() {
284
+ // タッチイベント(capture phase)
285
+ const documentTouchHandler = (e) => {
286
+ if (!this.isActive())
287
+ return;
288
+ if (!this.hostElement.contains(e.target))
289
+ return;
290
+ if (e.touches.length > 1) {
291
+ e.preventDefault();
292
+ }
293
+ };
294
+ document.addEventListener('touchstart', documentTouchHandler, { capture: true, passive: false });
295
+ document.addEventListener('touchmove', documentTouchHandler, { capture: true, passive: false });
296
+ this.cleanupFunctions.push(() => {
297
+ document.removeEventListener('touchstart', documentTouchHandler, { capture: true });
298
+ document.removeEventListener('touchmove', documentTouchHandler, { capture: true });
299
+ });
300
+ // Safari gestureイベント(capture phase)
301
+ const documentGestureHandler = (e) => {
302
+ if (!this.isActive())
303
+ return;
304
+ if (!this.hostElement.contains(e.target))
305
+ return;
306
+ e.preventDefault();
307
+ };
308
+ ['gesturestart', 'gesturechange', 'gestureend'].forEach(eventName => {
309
+ document.addEventListener(eventName, documentGestureHandler, { capture: true, passive: false });
310
+ this.cleanupFunctions.push(() => document.removeEventListener(eventName, documentGestureHandler, { capture: true }));
311
+ });
254
312
  }
255
313
  addEventListener(element, event, handler, options) {
256
314
  element.addEventListener(event, handler, options);
@@ -266,21 +324,30 @@ class ActiveControlEventHandlers {
266
324
  }
267
325
 
268
326
  class ScrollControl {
269
- constructor(scrollElement, isActive) {
327
+ constructor(scrollElement, isActive, options = {}) {
270
328
  this.scrollElement = scrollElement;
271
329
  this.isActive = isActive;
330
+ this.options = options;
272
331
  this.lockedScrollTop = 0;
332
+ this.wasActive = false;
273
333
  }
274
334
  setup() {
275
335
  const cleanups = [];
276
336
  // アクティブ状態の監視
277
- let previousActive = this.isActive();
278
337
  const checkActiveState = () => {
279
- const currentActive = this.isActive();
280
- if (previousActive !== currentActive && !currentActive) {
281
- this.lockedScrollTop = this.scrollElement.scrollTop;
338
+ const isActiveNow = this.isActive();
339
+ if (!this.options.disableScrollLock) {
340
+ if (!isActiveNow && this.wasActive) {
341
+ // アクティブ → 非アクティブ: 現在位置をロック
342
+ this.lockedScrollTop = this.scrollElement.scrollTop;
343
+ }
344
+ else if (!isActiveNow) {
345
+ // 継続して非アクティブ: ロック位置を維持
346
+ this.scrollElement.scrollTop = this.lockedScrollTop;
347
+ }
282
348
  }
283
- previousActive = currentActive;
349
+ // アクティブ時 or disableScrollLock時: 何もしない(自由スクロール)
350
+ this.wasActive = isActiveNow;
284
351
  this.rafId = requestAnimationFrame(checkActiveState);
285
352
  };
286
353
  checkActiveState();
@@ -291,7 +358,7 @@ class ScrollControl {
291
358
  });
292
359
  // スクロールイベント監視
293
360
  const scrollHandler = () => {
294
- if (!this.isActive()) {
361
+ if (!this.options.disableScrollLock && !this.isActive()) {
295
362
  this.scrollElement.scrollTop = this.lockedScrollTop;
296
363
  }
297
364
  };
@@ -309,47 +376,85 @@ class ScrollControl {
309
376
  *
310
377
  * @example
311
378
  * ```html
379
+ * <!-- 単一セレクタ -->
312
380
  * <div appActiveControl
313
381
  * [scrollSelector]="'.xterm-viewport'"
314
382
  * (activeChange)="onActiveChange($event)">
315
383
  * <!-- content -->
316
384
  * </div>
385
+ *
386
+ * <!-- 複数セレクタ -->
387
+ * <div appActiveControl
388
+ * [scrollSelectors]="['.xterm-viewport', '.qtp-content']"
389
+ * (activeChange)="onActiveChange($event)">
390
+ * <!-- content -->
391
+ * </div>
317
392
  * ```
318
393
  */
319
394
  class ActiveControlDirective {
320
395
  constructor() {
321
396
  this.el = inject(ElementRef);
322
397
  this.scrollSelector = input();
398
+ this.scrollSelectors = input();
399
+ /** mousedownでstopPropagationを呼ばない(React Flowなどのドラッグと共存するため) */
400
+ this.disableStopPropagation = input(false);
401
+ /** スクロール位置のロックを無効化する(常にスクロール可能にする) */
402
+ this.disableScrollLock = input(false);
403
+ /** nodragクラスを付与しない(React Flowのノードでドラッグを有効化するため) */
404
+ this.disableNodrag = input(false);
323
405
  this.activeChange = output();
324
406
  this.isActive = signal(false);
325
- this.cleanupFunctions = [];
407
+ this.eventCleanupFunctions = [];
408
+ this.scrollCleanupFunctions = [];
409
+ this.eventHandlersInitialized = false;
410
+ // イベントハンドラーの初期化(一度だけ)
326
411
  effect(() => {
327
- setTimeout(() => this.initialize(), 100);
412
+ if (!this.eventHandlersInitialized) {
413
+ setTimeout(() => this.initializeEventHandlers(), 100);
414
+ this.eventHandlersInitialized = true;
415
+ }
328
416
  }, { allowSignalWrites: true });
417
+ // スクロール制御の初期化(セレクタが変わるたびに再設定)
418
+ effect(() => {
419
+ const selectors = this.getScrollSelectors();
420
+ setTimeout(() => this.setupScrollControls(selectors), 150);
421
+ });
329
422
  }
330
423
  ngOnDestroy() {
331
- this.cleanupFunctions.forEach(cleanup => cleanup());
424
+ this.eventCleanupFunctions.forEach(cleanup => cleanup());
425
+ this.scrollCleanupFunctions.forEach(cleanup => cleanup());
332
426
  }
333
- initialize() {
427
+ initializeEventHandlers() {
334
428
  const hostElement = this.el.nativeElement;
335
- // イベントハンドラーのセットアップ
336
- const eventHandlers = new ActiveControlEventHandlers(hostElement, this.isActive, (active) => this.activeChange.emit(active));
337
- this.cleanupFunctions.push(...eventHandlers.setupAll());
338
- // スクロール制御のセットアップ(オプション)
339
- const scrollSelector = this.scrollSelector();
340
- if (scrollSelector) {
341
- const scrollElement = hostElement.querySelector(scrollSelector);
342
- if (scrollElement) {
343
- const scrollControl = new ScrollControl(scrollElement, this.isActive);
344
- this.cleanupFunctions.push(...scrollControl.setup());
345
- }
346
- else {
347
- console.warn(`ActiveControlDirective: scroll element not found: ${scrollSelector}`);
348
- }
429
+ const scrollSelectors = this.getScrollSelectors();
430
+ const eventHandlers = new ActiveControlEventHandlers(hostElement, this.isActive, (active) => this.activeChange.emit(active), { disableStopPropagation: this.disableStopPropagation(), scrollSelectors });
431
+ this.eventCleanupFunctions.push(...eventHandlers.setupAll());
432
+ }
433
+ setupScrollControls(selectors) {
434
+ // 既存のスクロール制御をクリーンアップ
435
+ this.scrollCleanupFunctions.forEach(cleanup => cleanup());
436
+ this.scrollCleanupFunctions = [];
437
+ const hostElement = this.el.nativeElement;
438
+ const disableScrollLock = this.disableScrollLock();
439
+ for (const selector of selectors) {
440
+ // querySelectorAll を使用して全てのマッチする要素を取得
441
+ const scrollElements = hostElement.querySelectorAll(selector);
442
+ scrollElements.forEach(scrollElement => {
443
+ const scrollControl = new ScrollControl(scrollElement, this.isActive, { disableScrollLock });
444
+ this.scrollCleanupFunctions.push(...scrollControl.setup());
445
+ });
446
+ }
447
+ }
448
+ getScrollSelectors() {
449
+ const multiple = this.scrollSelectors();
450
+ if (multiple && multiple.length > 0) {
451
+ return multiple;
349
452
  }
453
+ const single = this.scrollSelector();
454
+ return single ? [single] : [];
350
455
  }
351
456
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ActiveControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
352
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.5", type: ActiveControlDirective, isStandalone: true, selector: "[appActiveControl]", inputs: { scrollSelector: { classPropertyName: "scrollSelector", publicName: "scrollSelector", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeChange: "activeChange" }, host: { properties: { "class.active": "isActive()" } }, ngImport: i0 }); }
457
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.5", type: ActiveControlDirective, isStandalone: true, selector: "[appActiveControl]", inputs: { scrollSelector: { classPropertyName: "scrollSelector", publicName: "scrollSelector", isSignal: true, isRequired: false, transformFunction: null }, scrollSelectors: { classPropertyName: "scrollSelectors", publicName: "scrollSelectors", isSignal: true, isRequired: false, transformFunction: null }, disableStopPropagation: { classPropertyName: "disableStopPropagation", publicName: "disableStopPropagation", isSignal: true, isRequired: false, transformFunction: null }, disableScrollLock: { classPropertyName: "disableScrollLock", publicName: "disableScrollLock", isSignal: true, isRequired: false, transformFunction: null }, disableNodrag: { classPropertyName: "disableNodrag", publicName: "disableNodrag", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeChange: "activeChange" }, host: { properties: { "class.active": "isActive()", "class.nodrag": "!disableNodrag()", "class.nowheel": "isActive()" } }, ngImport: i0 }); }
353
458
  }
354
459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ActiveControlDirective, decorators: [{
355
460
  type: Directive,
@@ -358,6 +463,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImpor
358
463
  standalone: true,
359
464
  host: {
360
465
  '[class.active]': 'isActive()',
466
+ '[class.nodrag]': '!disableNodrag()',
467
+ '[class.nowheel]': 'isActive()',
361
468
  }
362
469
  }]
363
470
  }], ctorParameters: () => [] });