@odx/angular 5.3.4 → 5.5.0

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 (140) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/components/footer/README.md +3 -0
  3. package/components/footer/index.d.ts +3 -0
  4. package/components/footer/lib/footer.component.d.ts +23 -0
  5. package/components/footer/lib/footer.config.d.ts +30 -0
  6. package/components/footer/lib/footer.i18n.d.ts +3 -0
  7. package/components/footer/lib/helpers/create-footer-links.d.ts +12 -0
  8. package/components/footer/lib/helpers/index.d.ts +1 -0
  9. package/components/footer/lib/models/footer-link.d.ts +4 -0
  10. package/components/footer/lib/models/footer-variant.d.ts +5 -0
  11. package/components/footer/lib/models/index.d.ts +2 -0
  12. package/components/header/lib/header.component.d.ts +1 -1
  13. package/components/header-navigation/README.md +3 -0
  14. package/components/header-navigation/index.d.ts +3 -0
  15. package/components/header-navigation/lib/directives/header-navigation-link.directive.d.ts +11 -0
  16. package/components/header-navigation/lib/directives/index.d.ts +1 -0
  17. package/components/header-navigation/lib/header-navigation.component.d.ts +8 -0
  18. package/components/header-navigation/lib/header-navigation.module.d.ts +9 -0
  19. package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +2 -1
  20. package/components/main-menu/lib/main-menu.component.d.ts +5 -5
  21. package/components/main-menu/lib/main-menu.config.d.ts +1 -0
  22. package/components/notification/README.md +3 -0
  23. package/components/notification/index.d.ts +7 -0
  24. package/components/notification/lib/components/index.d.ts +2 -0
  25. package/components/notification/lib/components/notification-center/notification-center.component.d.ts +19 -0
  26. package/components/notification/lib/components/notification-item/notification-item.component.d.ts +37 -0
  27. package/components/notification/lib/directives/index.d.ts +1 -0
  28. package/components/notification/lib/directives/notification-center.directive.d.ts +69 -0
  29. package/components/notification/lib/features/index.d.ts +5 -0
  30. package/components/notification/lib/features/with-browser-notifications.d.ts +17 -0
  31. package/components/notification/lib/features/with-load-notifications.d.ts +18 -0
  32. package/components/notification/lib/features/with-notification-transformer.d.ts +26 -0
  33. package/components/notification/lib/features/with-peristent-notifications.d.ts +63 -0
  34. package/components/notification/lib/features/with-save-notifications.d.ts +11 -0
  35. package/components/notification/lib/helpers/get-notifications-by-tag.d.ts +2 -0
  36. package/components/notification/lib/helpers/index.d.ts +3 -0
  37. package/components/notification/lib/helpers/sort-notifications.d.ts +3 -0
  38. package/components/notification/lib/helpers/to-notification-collection.d.ts +3 -0
  39. package/components/notification/lib/models/index.d.ts +8 -0
  40. package/components/notification/lib/models/notification-action.d.ts +2 -0
  41. package/components/notification/lib/models/notification-collection.d.ts +6 -0
  42. package/components/notification/lib/models/notification-feature.d.ts +5 -0
  43. package/components/notification/lib/models/notification-options.d.ts +7 -0
  44. package/components/notification/lib/models/notification-query.d.ts +2 -0
  45. package/components/notification/lib/models/notification-sort-fn.d.ts +2 -0
  46. package/components/notification/lib/models/notification.d.ts +6 -0
  47. package/components/notification/lib/models/notification.ref.d.ts +9 -0
  48. package/components/notification/lib/notification.config.d.ts +11 -0
  49. package/components/notification/lib/notification.i18n.d.ts +3 -0
  50. package/components/notification/lib/notification.logger.d.ts +3 -0
  51. package/components/notification/lib/notification.service.d.ts +110 -0
  52. package/components/notification/lib/notification.tokens.d.ts +4 -0
  53. package/components/notification/lib/services/index.d.ts +1 -0
  54. package/components/notification/lib/services/notification-center.service.d.ts +69 -0
  55. package/components/notification/testing/README.md +3 -0
  56. package/components/notification/testing/index.d.ts +1 -0
  57. package/components/notification/testing/lib/test-helpers.d.ts +5 -0
  58. package/components/toast/lib/toast.service.d.ts +30 -2
  59. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +3 -2
  60. package/esm2022/components/footer/index.mjs +4 -0
  61. package/esm2022/components/footer/lib/footer.component.mjs +51 -0
  62. package/esm2022/components/footer/lib/footer.config.mjs +29 -0
  63. package/esm2022/components/footer/lib/footer.i18n.mjs +19 -0
  64. package/esm2022/components/footer/lib/helpers/create-footer-links.mjs +25 -0
  65. package/esm2022/components/footer/lib/helpers/index.mjs +2 -0
  66. package/esm2022/components/footer/lib/models/footer-link.mjs +2 -0
  67. package/esm2022/components/footer/lib/models/footer-variant.mjs +5 -0
  68. package/esm2022/components/footer/lib/models/index.mjs +3 -0
  69. package/esm2022/components/footer/odx-angular-components-footer.mjs +5 -0
  70. package/esm2022/components/header/lib/header.component.mjs +3 -3
  71. package/esm2022/components/header-navigation/index.mjs +4 -0
  72. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +37 -0
  73. package/esm2022/components/header-navigation/lib/directives/index.mjs +2 -0
  74. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +28 -0
  75. package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +19 -0
  76. package/esm2022/components/header-navigation/odx-angular-components-header-navigation.mjs +5 -0
  77. package/esm2022/components/main-menu/lib/helpers/create-main-menu-links.mjs +7 -4
  78. package/esm2022/components/main-menu/lib/main-menu.component.mjs +9 -11
  79. package/esm2022/components/main-menu/lib/main-menu.config.mjs +1 -1
  80. package/esm2022/components/notification/index.mjs +8 -0
  81. package/esm2022/components/notification/lib/components/index.mjs +3 -0
  82. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +65 -0
  83. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +65 -0
  84. package/esm2022/components/notification/lib/directives/index.mjs +2 -0
  85. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +142 -0
  86. package/esm2022/components/notification/lib/features/index.mjs +6 -0
  87. package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +75 -0
  88. package/esm2022/components/notification/lib/features/with-load-notifications.mjs +45 -0
  89. package/esm2022/components/notification/lib/features/with-notification-transformer.mjs +34 -0
  90. package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +94 -0
  91. package/esm2022/components/notification/lib/features/with-save-notifications.mjs +45 -0
  92. package/esm2022/components/notification/lib/helpers/get-notifications-by-tag.mjs +7 -0
  93. package/esm2022/components/notification/lib/helpers/index.mjs +4 -0
  94. package/esm2022/components/notification/lib/helpers/sort-notifications.mjs +10 -0
  95. package/esm2022/components/notification/lib/helpers/to-notification-collection.mjs +9 -0
  96. package/esm2022/components/notification/lib/models/index.mjs +9 -0
  97. package/esm2022/components/notification/lib/models/notification-action.mjs +2 -0
  98. package/esm2022/components/notification/lib/models/notification-collection.mjs +2 -0
  99. package/esm2022/components/notification/lib/models/notification-feature.mjs +4 -0
  100. package/esm2022/components/notification/lib/models/notification-options.mjs +2 -0
  101. package/esm2022/components/notification/lib/models/notification-query.mjs +2 -0
  102. package/esm2022/components/notification/lib/models/notification-sort-fn.mjs +2 -0
  103. package/esm2022/components/notification/lib/models/notification.mjs +2 -0
  104. package/esm2022/components/notification/lib/models/notification.ref.mjs +2 -0
  105. package/esm2022/components/notification/lib/notification.config.mjs +11 -0
  106. package/esm2022/components/notification/lib/notification.i18n.mjs +11 -0
  107. package/esm2022/components/notification/lib/notification.logger.mjs +3 -0
  108. package/esm2022/components/notification/lib/notification.service.mjs +168 -0
  109. package/esm2022/components/notification/lib/notification.tokens.mjs +7 -0
  110. package/esm2022/components/notification/lib/services/index.mjs +2 -0
  111. package/esm2022/components/notification/lib/services/notification-center.service.mjs +96 -0
  112. package/esm2022/components/notification/odx-angular-components-notification.mjs +5 -0
  113. package/esm2022/components/notification/testing/index.mjs +2 -0
  114. package/esm2022/components/notification/testing/lib/test-helpers.mjs +33 -0
  115. package/esm2022/components/notification/testing/odx-angular-components-notification-testing.mjs +5 -0
  116. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +6 -6
  117. package/esm2022/components/toast/lib/toast.service.mjs +38 -8
  118. package/esm2022/utils/lib/helpers/array.mjs +24 -1
  119. package/esm2022/utils/lib/helpers/build-website-url.mjs +24 -1
  120. package/fesm2022/odx-angular-breakpoints.mjs +2 -1
  121. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  122. package/fesm2022/odx-angular-components-footer.mjs +131 -0
  123. package/fesm2022/odx-angular-components-footer.mjs.map +1 -0
  124. package/fesm2022/odx-angular-components-header-navigation.mjs +84 -0
  125. package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -0
  126. package/fesm2022/odx-angular-components-header.mjs +2 -2
  127. package/fesm2022/odx-angular-components-header.mjs.map +1 -1
  128. package/fesm2022/odx-angular-components-main-menu.mjs +11 -9
  129. package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
  130. package/fesm2022/odx-angular-components-notification-testing.mjs +39 -0
  131. package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -0
  132. package/fesm2022/odx-angular-components-notification.mjs +832 -0
  133. package/fesm2022/odx-angular-components-notification.mjs.map +1 -0
  134. package/fesm2022/odx-angular-components-toast.mjs +42 -11
  135. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  136. package/fesm2022/odx-angular-utils.mjs +46 -0
  137. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  138. package/package.json +25 -1
  139. package/utils/lib/helpers/array.d.ts +23 -0
  140. package/utils/lib/helpers/build-website-url.d.ts +23 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3NyYy9saWIvbW9kZWxzL25vdGlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY1RleHRDb250ZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbiB7XG4gIGlkPzogc3RyaW5nO1xuICB0aXRsZTogRHluYW1pY1RleHRDb250ZW50O1xuICBkZXNjcmlwdGlvbj86IER5bmFtaWNUZXh0Q29udGVudDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbGliL21vZGVscy9ub3RpZmljYXRpb24ucmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25PcHRpb25zIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tb3B0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uUmVmIHtcbiAgaWQ6IE5vbk51bGxhYmxlPE5vdGlmaWNhdGlvblsnaWQnXT47XG4gIGNyZWF0ZWRBdDogbnVtYmVyO1xuICBpdGVtOiBOb3RpZmljYXRpb247XG4gIG9wdGlvbnM6IE5vdGlmaWNhdGlvbk9wdGlvbnM7XG4gIGhhc0JlZW5TZWVuOiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { makeEnvironmentProviders } from '@angular/core';
2
+ import { createConfigTokens, orderBy } from '@odx/angular/utils';
3
+ export const { NotificationConfig, NotificationDefaultConfig, injectNotificationConfig, provideNotificationConfig } = createConfigTokens('Notification', '@odx/angular/components/notification', {
4
+ options: { icon: 'core::globe', tags: [], dismissable: true },
5
+ sortFn: orderBy('createdAt', 'DESC'),
6
+ defaultIdPrefix: 'odx-notifications',
7
+ });
8
+ export function provideNotifications(config, ...features) {
9
+ return makeEnvironmentProviders([provideNotificationConfig(config ?? {}), features]);
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbGliL25vdGlmaWNhdGlvbi5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFXakUsTUFBTSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSxHQUFHLGtCQUFrQixDQUN0SSxjQUFjLEVBQ2Qsc0NBQXNDLEVBQ3RDO0lBQ0UsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7SUFDN0QsTUFBTSxFQUFFLE9BQU8sQ0FBa0IsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNyRCxlQUFlLEVBQUUsbUJBQW1CO0NBQ2YsQ0FDeEIsQ0FBQztBQUVGLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUFvQyxFQUFFLEdBQUcsUUFBK0I7SUFDM0csT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3ZGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVDb25maWdUb2tlbnMsIG9yZGVyQnkgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQWN0aW9uLCBOb3RpZmljYXRpb25GZWF0dXJlLCBOb3RpZmljYXRpb25PcHRpb25zLCBOb3RpZmljYXRpb25SZWYsIE5vdGlmaWNhdGlvblNvcnRGbiB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25Db25maWcge1xuICBkZWZhdWx0SWRQcmVmaXg6IHN0cmluZztcbiAgb3B0aW9uczogTm90aWZpY2F0aW9uT3B0aW9ucztcbiAgc29ydEZuOiBOb3RpZmljYXRpb25Tb3J0Rm47XG4gIHRhZ1RvSWNvbk1hcD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGFjdGlvbk1hcD86IFJlY29yZDxzdHJpbmcsIE5vdGlmaWNhdGlvbkFjdGlvbj47XG59XG5cbmV4cG9ydCBjb25zdCB7IE5vdGlmaWNhdGlvbkNvbmZpZywgTm90aWZpY2F0aW9uRGVmYXVsdENvbmZpZywgaW5qZWN0Tm90aWZpY2F0aW9uQ29uZmlnLCBwcm92aWRlTm90aWZpY2F0aW9uQ29uZmlnIH0gPSBjcmVhdGVDb25maWdUb2tlbnMoXG4gICdOb3RpZmljYXRpb24nLFxuICAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uJyxcbiAge1xuICAgIG9wdGlvbnM6IHsgaWNvbjogJ2NvcmU6Omdsb2JlJywgdGFnczogW10sIGRpc21pc3NhYmxlOiB0cnVlIH0sXG4gICAgc29ydEZuOiBvcmRlckJ5PE5vdGlmaWNhdGlvblJlZj4oJ2NyZWF0ZWRBdCcsICdERVNDJyksXG4gICAgZGVmYXVsdElkUHJlZml4OiAnb2R4LW5vdGlmaWNhdGlvbnMnLFxuICB9IGFzIE5vdGlmaWNhdGlvbkNvbmZpZyxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTm90aWZpY2F0aW9ucyhjb25maWc/OiBQYXJ0aWFsPE5vdGlmaWNhdGlvbkNvbmZpZz4sIC4uLmZlYXR1cmVzOiBOb3RpZmljYXRpb25GZWF0dXJlW10pOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW3Byb3ZpZGVOb3RpZmljYXRpb25Db25maWcoY29uZmlnID8/IHt9KSwgZmVhdHVyZXNdKTtcbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ export default {
2
+ en: {
3
+ title: 'Notifications',
4
+ dismissAll: 'Dismiss all',
5
+ },
6
+ de: {
7
+ title: 'Benachrichtigungen',
8
+ dismissAll: 'Alle entfernen',
9
+ },
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9ub3RpZmljYXRpb24uaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxlQUFlO0lBQ2IsRUFBRSxFQUFFO1FBQ0YsS0FBSyxFQUFFLGVBQWU7UUFDdEIsVUFBVSxFQUFFLGFBQWE7S0FDMUI7SUFDRCxFQUFFLEVBQUU7UUFDRixLQUFLLEVBQUUsb0JBQW9CO1FBQzNCLFVBQVUsRUFBRSxnQkFBZ0I7S0FDN0I7Q0FDbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0aW9uT2JqZWN0IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZSc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZW46IHtcbiAgICB0aXRsZTogJ05vdGlmaWNhdGlvbnMnLFxuICAgIGRpc21pc3NBbGw6ICdEaXNtaXNzIGFsbCcsXG4gIH0sXG4gIGRlOiB7XG4gICAgdGl0bGU6ICdCZW5hY2hyaWNodGlndW5nZW4nLFxuICAgIGRpc21pc3NBbGw6ICdBbGxlIGVudGZlcm5lbicsXG4gIH0sXG59IGFzIFRyYW5zbGF0aW9uT2JqZWN0O1xuIl19
@@ -0,0 +1,3 @@
1
+ import { Logger } from '@odx/angular/internal';
2
+ export default new Logger('@odx/angular/components/notification');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbGliL25vdGlmaWNhdGlvbi5sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLGVBQWUsSUFBSSxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5cbmV4cG9ydCBkZWZhdWx0IG5ldyBMb2dnZXIoJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL25vdGlmaWNhdGlvbicpO1xuIl19
@@ -0,0 +1,168 @@
1
+ import { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';
2
+ import { deepmerge } from '@odx/angular/internal';
3
+ import { LocalizationService } from '@odx/angular/localization';
4
+ import { getUniqueId, isFunction } from '@odx/angular/utils';
5
+ import { filter, map, shareReplay } from 'rxjs';
6
+ import { sortNotifications, toNotificationCollection } from './helpers';
7
+ import { injectNotificationConfig } from './notification.config';
8
+ import logger from './notification.logger';
9
+ import { ODX_NOTIFICATION_QUEUE } from './notification.tokens';
10
+ import * as i0 from "@angular/core";
11
+ export class NotificationService {
12
+ constructor() {
13
+ this.config = injectNotificationConfig();
14
+ this.localizationService = inject(LocalizationService);
15
+ this.queue = inject(ODX_NOTIFICATION_QUEUE);
16
+ this.injector = inject(Injector);
17
+ this.notifications$ = this.queue.value$.pipe(sortNotifications(this.config.sortFn), toNotificationCollection(), shareReplay({ bufferSize: 1, refCount: true }));
18
+ this.unseenNotifications$ = this.notifications$.pipe(map((collection) => collection.values.filter(({ hasBeenSeen }) => !hasBeenSeen)), toNotificationCollection(), shareReplay({ bufferSize: 1, refCount: true }));
19
+ this.onNotificationAdd$ = this.queue.onAdd$;
20
+ this.onNotificationRemove$ = this.queue.onRemove$;
21
+ this.onNotificationUpdate$ = this.queue.onUpdate$;
22
+ this.onNotificationSeen$ = this.queue.onUpdate$.pipe(filter(({ hasBeenSeen }) => hasBeenSeen));
23
+ }
24
+ /**
25
+ * Fetches notifications filtered by a specified query and optionally sorted by a custom sort function.
26
+ *
27
+ * @param {NotificationQuery} query - A function or object to filter notifications.
28
+ * @param {NotificationSortFn} [sortFn] - An optional sorting function to order the filtered notifications.
29
+ * @returns {Observable<NotificationCollection>} An observable stream of the filtered (and optionally sorted) notification collection.
30
+ * @example
31
+ * // Fetch notifications with a specific tag, sorted by creation date
32
+ * const sortedNotifications$ = notificationService.getNotificationsBy$(
33
+ * notification => notification.tags.includes('important'),
34
+ * (a, b) => b.createdAt - a.createdAt
35
+ * );
36
+ */
37
+ getNotificationsBy$(query, sortFn) {
38
+ return this.queue.value$.pipe(map((notifications) => notifications.filter(query)), sortNotifications(sortFn), toNotificationCollection(), shareReplay({ bufferSize: 1, refCount: true }));
39
+ }
40
+ /**
41
+ * Loads a list of notifications into the service.
42
+ *
43
+ * @param {NotificationRef[]} refs - An array of notification references to be loaded.
44
+ * @example
45
+ * // Load multiple notifications at once
46
+ * notificationService.load([
47
+ * { id: '1', item: { title: 'Notification 1' }, options: {dismissable: true, icon: 'plus', tags: ['important']}, hasBeenSeen: false, createdAt: Date.now() },
48
+ * { id: '2', item: { title: 'Notification 2' }, options: {dismissable: true, icon: 'plus', tags: ['important']}, hasBeenSeen: false, createdAt: Date.now() }
49
+ * ]);
50
+ */
51
+ load(refs) {
52
+ this.queue.addMany(refs);
53
+ }
54
+ /**
55
+ * Creates a new notification and adds it to the notification queue.
56
+ *
57
+ * @param {Notification} item - The notification to create.
58
+ * @param {Partial<NotificationOptions>} [options] - Optional settings for the notification.
59
+ * @example
60
+ * // Create a new notification with custom options
61
+ * notificationService.create(
62
+ * { title: 'New Notification' },
63
+ * { dismissable: true, icon: 'plus', tags: ['important'] }
64
+ * );
65
+ */
66
+ create(item, options) {
67
+ this.queue.add({
68
+ id: item.id ?? getUniqueId(this.config.defaultIdPrefix),
69
+ createdAt: Date.now(),
70
+ item,
71
+ options: this.resolveOptions(options),
72
+ hasBeenSeen: false,
73
+ });
74
+ }
75
+ /**
76
+ * Marks a specific notification as seen.
77
+ *
78
+ * @param {NotificationRef} notificationRef - The reference to the notification to mark as seen.
79
+ * @example
80
+ * // Mark a notification as seen by its reference
81
+ * notificationService.markAsSeen(notificationRef);
82
+ */
83
+ markAsSeen(notificationRef) {
84
+ if (notificationRef.hasBeenSeen)
85
+ return;
86
+ this.queue.add({ ...notificationRef, hasBeenSeen: true });
87
+ }
88
+ /**
89
+ * Marks all notifications that match a specific query as seen.
90
+ *
91
+ * @param {NotificationQuery} query - The query to match notifications to mark as seen.
92
+ * @example
93
+ * // Mark all notifications with a specific tag as seen
94
+ * notificationService.markAsSeenBy(notification => notification.tags.includes('important'));
95
+ */
96
+ markAsSeenBy(query) {
97
+ for (const notificationRef of this.queue.toArray().filter(query)) {
98
+ this.markAsSeen(notificationRef);
99
+ }
100
+ }
101
+ /**
102
+ * Dismisses a specific notification.
103
+ *
104
+ * @param {NotificationRef} notificationRef - The reference to the notification to dismiss.
105
+ * @example
106
+ * // Dismiss a notification by its reference
107
+ * notificationService.dismiss(notificationRef);
108
+ */
109
+ dismiss(notificationRef) {
110
+ if (!notificationRef.options.dismissable)
111
+ return;
112
+ this.queue.remove(notificationRef);
113
+ }
114
+ /**
115
+ * Dismisses all notifications that match a specific query.
116
+ *
117
+ * @param {NotificationQuery} query - The query to match notifications to dismiss.
118
+ * @example
119
+ * // Dismiss all notifications with a specific tag
120
+ * notificationService.dismissBy(notification => notification.tags.includes('expired'));
121
+ */
122
+ dismissBy(query) {
123
+ for (const item of this.queue.toArray().filter(query)) {
124
+ this.dismiss(item);
125
+ }
126
+ }
127
+ /**
128
+ * Dismisses all notifications.
129
+ *
130
+ * @example
131
+ * // Dismiss all notifications
132
+ * notificationService.dismissAll();
133
+ */
134
+ dismissAll() {
135
+ this.queue.clear();
136
+ }
137
+ /**
138
+ * Executes the action associated with a specific notification.
139
+ *
140
+ * @param {NotificationRef} notificationRef - The reference to the notification whose action to execute.
141
+ * @example
142
+ * // Execute action for a notification
143
+ * notificationService.executeAction(notificationRef);
144
+ */
145
+ executeAction(notificationRef) {
146
+ if (!notificationRef.options.action)
147
+ return;
148
+ const actionFn = this.config.actionMap?.[notificationRef.options.action];
149
+ if (!isFunction(actionFn)) {
150
+ logger.warn(`Cannot find action ${notificationRef.options.action} for notification reference: ${notificationRef}`);
151
+ return;
152
+ }
153
+ runInInjectionContext(this.injector, () => actionFn(notificationRef));
154
+ }
155
+ resolveOptions(options) {
156
+ return deepmerge(this.config.options, options ?? {}, {
157
+ icon: options?.icon ?? this.config.tagToIconMap?.[options?.tags?.[0] ?? ''] ?? this.config.options.icon,
158
+ language: options?.language ?? this.localizationService.getActiveLanguage(),
159
+ });
160
+ }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
162
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
163
+ }
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, decorators: [{
165
+ type: Injectable,
166
+ args: [{ providedIn: 'root' }]
167
+ }] });
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9ub3RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFjLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLE1BQU0sTUFBTSx1QkFBdUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHL0QsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVtQixXQUFNLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUNwQyx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxVQUFLLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdkMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3QixtQkFBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckQsaUJBQWlCLENB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WSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDdkcsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFO1NBQzVFLENBQXdCLENBQUM7SUFDNUIsQ0FBQzsrR0F4S1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FETixNQUFNOzs0RkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVlcG1lcmdlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAb2R4L2FuZ3VsYXIvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7IGdldFVuaXF1ZUlkLCBpc0Z1bmN0aW9uIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc29ydE5vdGlmaWNhdGlvbnMsIHRvTm90aWZpY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkNvbGxlY3Rpb24sIE5vdGlmaWNhdGlvbk9wdGlvbnMsIE5vdGlmaWNhdGlvblF1ZXJ5LCBOb3RpZmljYXRpb25SZWYsIE5vdGlmaWNhdGlvblNvcnRGbiB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGluamVjdE5vdGlmaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4vbm90aWZpY2F0aW9uLmNvbmZpZyc7XG5pbXBvcnQgbG9nZ2VyIGZyb20gJy4vbm90aWZpY2F0aW9uLmxvZ2dlcic7XG5pbXBvcnQgeyBPRFhfTk9USUZJQ0FUSU9OX1FVRVVFIH0gZnJvbSAnLi9ub3RpZmljYXRpb24udG9rZW5zJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3ROb3RpZmljYXRpb25Db25maWcoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6YXRpb25TZXJ2aWNlID0gaW5qZWN0KExvY2FsaXphdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXVlID0gaW5qZWN0KE9EWF9OT1RJRklDQVRJT05fUVVFVUUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbm90aWZpY2F0aW9ucyQgPSB0aGlzLnF1ZXVlLnZhbHVlJC5waXBlKFxuICAgIHNvcnROb3RpZmljYXRpb25zKHRoaXMuY29uZmlnLnNvcnRGbiksXG4gICAgdG9Ob3RpZmljYXRpb25Db2xsZWN0aW9uKCksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHVuc2Vlbk5vdGlmaWNhdGlvbnMkID0gdGhpcy5ub3RpZmljYXRpb25zJC5waXBlKFxuICAgIG1hcCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi52YWx1ZXMuZmlsdGVyKCh7IGhhc0JlZW5TZWVuIH0pID0+ICFoYXNCZWVuU2VlbikpLFxuICAgIHRvTm90aWZpY2F0aW9uQ29sbGVjdGlvbigpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBvbk5vdGlmaWNhdGlvbkFkZCQgPSB0aGlzLnF1ZXVlLm9uQWRkJDtcbiAgcHVibGljIHJlYWRvbmx5IG9uTm90aWZpY2F0aW9uUmVtb3ZlJCA9IHRoaXMucXVldWUub25SZW1vdmUkO1xuICBwdWJsaWMgcmVhZG9ubHkgb25Ob3RpZmljYXRpb25VcGRhdGUkID0gdGhpcy5xdWV1ZS5vblVwZGF0ZSQ7XG4gIHB1YmxpYyByZWFkb25seSBvbk5vdGlmaWNhdGlvblNlZW4kID0gdGhpcy5xdWV1ZS5vblVwZGF0ZSQucGlwZShmaWx0ZXIoKHsgaGFzQmVlblNlZW4gfSkgPT4gaGFzQmVlblNlZW4pKTtcblxuICAvKipcbiAgICogRmV0Y2hlcyBub3RpZmljYXRpb25zIGZpbHRlcmVkIGJ5IGEgc3BlY2lmaWVkIHF1ZXJ5IGFuZCBvcHRpb25hbGx5IHNvcnRlZCBieSBhIGN1c3RvbSBzb3J0IGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvblF1ZXJ5fSBxdWVyeSAtIEEgZnVuY3Rpb24gb3Igb2JqZWN0IHRvIGZpbHRlciBub3RpZmljYXRpb25zLlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvblNvcnRGbn0gW3NvcnRGbl0gLSBBbiBvcHRpb25hbCBzb3J0aW5nIGZ1bmN0aW9uIHRvIG9yZGVyIHRoZSBmaWx0ZXJlZCBub3RpZmljYXRpb25zLlxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Db2xsZWN0aW9uPn0gQW4gb2JzZXJ2YWJsZSBzdHJlYW0gb2YgdGhlIGZpbHRlcmVkIChhbmQgb3B0aW9uYWxseSBzb3J0ZWQpIG5vdGlmaWNhdGlvbiBjb2xsZWN0aW9uLlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBGZXRjaCBub3RpZmljYXRpb25zIHdpdGggYSBzcGVjaWZpYyB0YWcsIHNvcnRlZCBieSBjcmVhdGlvbiBkYXRlXG4gICAqIGNvbnN0IHNvcnRlZE5vdGlmaWNhdGlvbnMkID0gbm90aWZpY2F0aW9uU2VydmljZS5nZXROb3RpZmljYXRpb25zQnkkKFxuICAgKiAgIG5vdGlmaWNhdGlvbiA9PiBub3RpZmljYXRpb24udGFncy5pbmNsdWRlcygnaW1wb3J0YW50JyksXG4gICAqICAgKGEsIGIpID0+IGIuY3JlYXRlZEF0IC0gYS5jcmVhdGVkQXRcbiAgICogKTtcbiAgICovXG4gIHB1YmxpYyBnZXROb3RpZmljYXRpb25zQnkkKHF1ZXJ5OiBOb3RpZmljYXRpb25RdWVyeSwgc29ydEZuPzogTm90aWZpY2F0aW9uU29ydEZuKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Db2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUudmFsdWUkLnBpcGUoXG4gICAgICBtYXAoKG5vdGlmaWNhdGlvbnMpID0+IG5vdGlmaWNhdGlvbnMuZmlsdGVyKHF1ZXJ5KSksXG4gICAgICBzb3J0Tm90aWZpY2F0aW9ucyhzb3J0Rm4pLFxuICAgICAgdG9Ob3RpZmljYXRpb25Db2xsZWN0aW9uKCksXG4gICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgYSBsaXN0IG9mIG5vdGlmaWNhdGlvbnMgaW50byB0aGUgc2VydmljZS5cbiAgICpcbiAgICogQHBhcmFtIHtOb3RpZmljYXRpb25SZWZbXX0gcmVmcyAtIEFuIGFycmF5IG9mIG5vdGlmaWNhdGlvbiByZWZlcmVuY2VzIHRvIGJlIGxvYWRlZC5cbiAgICogQGV4YW1wbGVcbiAgICogLy8gTG9hZCBtdWx0aXBsZSBub3RpZmljYXRpb25zIGF0IG9uY2VcbiAgICogbm90aWZpY2F0aW9uU2VydmljZS5sb2FkKFtcbiAgICogICB7IGlkOiAnMScsIGl0ZW06IHsgdGl0bGU6ICdOb3RpZmljYXRpb24gMScgfSwgb3B0aW9uczoge2Rpc21pc3NhYmxlOiB0cnVlLCBpY29uOiAncGx1cycsIHRhZ3M6IFsnaW1wb3J0YW50J119LCBoYXNCZWVuU2VlbjogZmFsc2UsIGNyZWF0ZWRBdDogRGF0ZS5ub3coKSB9LFxuICAgKiAgIHsgaWQ6ICcyJywgaXRlbTogeyB0aXRsZTogJ05vdGlmaWNhdGlvbiAyJyB9LCBvcHRpb25zOiB7ZGlzbWlzc2FibGU6IHRydWUsIGljb246ICdwbHVzJywgdGFnczogWydpbXBvcnRhbnQnXX0sIGhhc0JlZW5TZWVuOiBmYWxzZSwgY3JlYXRlZEF0OiBEYXRlLm5vdygpIH1cbiAgICogXSk7XG4gICAqL1xuICBwdWJsaWMgbG9hZChyZWZzOiBOb3RpZmljYXRpb25SZWZbXSk6IHZvaWQge1xuICAgIHRoaXMucXVldWUuYWRkTWFueShyZWZzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG5vdGlmaWNhdGlvbiBhbmQgYWRkcyBpdCB0byB0aGUgbm90aWZpY2F0aW9uIHF1ZXVlLlxuICAgKlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvbn0gaXRlbSAtIFRoZSBub3RpZmljYXRpb24gdG8gY3JlYXRlLlxuICAgKiBAcGFyYW0ge1BhcnRpYWw8Tm90aWZpY2F0aW9uT3B0aW9ucz59IFtvcHRpb25zXSAtIE9wdGlvbmFsIHNldHRpbmdzIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBDcmVhdGUgYSBuZXcgbm90aWZpY2F0aW9uIHdpdGggY3VzdG9tIG9wdGlvbnNcbiAgICogbm90aWZpY2F0aW9uU2VydmljZS5jcmVhdGUoXG4gICAqICAgeyB0aXRsZTogJ05ldyBOb3RpZmljYXRpb24nIH0sXG4gICAqICAgeyBkaXNtaXNzYWJsZTogdHJ1ZSwgaWNvbjogJ3BsdXMnLCB0YWdzOiBbJ2ltcG9ydGFudCddIH1cbiAgICogKTtcbiAgICovXG4gIHB1YmxpYyBjcmVhdGUoaXRlbTogTm90aWZpY2F0aW9uLCBvcHRpb25zPzogUGFydGlhbDxOb3RpZmljYXRpb25PcHRpb25zPik6IHZvaWQge1xuICAgIHRoaXMucXVldWUuYWRkKHtcbiAgICAgIGlkOiBpdGVtLmlkID8/IGdldFVuaXF1ZUlkKHRoaXMuY29uZmlnLmRlZmF1bHRJZFByZWZpeCksXG4gICAgICBjcmVhdGVkQXQ6IERhdGUubm93KCksXG4gICAgICBpdGVtLFxuICAgICAgb3B0aW9uczogdGhpcy5yZXNvbHZlT3B0aW9ucyhvcHRpb25zKSxcbiAgICAgIGhhc0JlZW5TZWVuOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyBhIHNwZWNpZmljIG5vdGlmaWNhdGlvbiBhcyBzZWVuLlxuICAgKlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvblJlZn0gbm90aWZpY2F0aW9uUmVmIC0gVGhlIHJlZmVyZW5jZSB0byB0aGUgbm90aWZpY2F0aW9uIHRvIG1hcmsgYXMgc2Vlbi5cbiAgICogQGV4YW1wbGVcbiAgICogLy8gTWFyayBhIG5vdGlmaWNhdGlvbiBhcyBzZWVuIGJ5IGl0cyByZWZlcmVuY2VcbiAgICogbm90aWZpY2F0aW9uU2VydmljZS5tYXJrQXNTZWVuKG5vdGlmaWNhdGlvblJlZik7XG4gICAqL1xuICBwdWJsaWMgbWFya0FzU2Vlbihub3RpZmljYXRpb25SZWY6IE5vdGlmaWNhdGlvblJlZik6IHZvaWQge1xuICAgIGlmIChub3RpZmljYXRpb25SZWYuaGFzQmVlblNlZW4pIHJldHVybjtcbiAgICB0aGlzLnF1ZXVlLmFkZCh7IC4uLm5vdGlmaWNhdGlvblJlZiwgaGFzQmVlblNlZW46IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWFya3MgYWxsIG5vdGlmaWNhdGlvbnMgdGhhdCBtYXRjaCBhIHNwZWNpZmljIHF1ZXJ5IGFzIHNlZW4uXG4gICAqXG4gICAqIEBwYXJhbSB7Tm90aWZpY2F0aW9uUXVlcnl9IHF1ZXJ5IC0gVGhlIHF1ZXJ5IHRvIG1hdGNoIG5vdGlmaWNhdGlvbnMgdG8gbWFyayBhcyBzZWVuLlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBNYXJrIGFsbCBub3RpZmljYXRpb25zIHdpdGggYSBzcGVjaWZpYyB0YWcgYXMgc2VlblxuICAgKiBub3RpZmljYXRpb25TZXJ2aWNlLm1hcmtBc1NlZW5CeShub3RpZmljYXRpb24gPT4gbm90aWZpY2F0aW9uLnRhZ3MuaW5jbHVkZXMoJ2ltcG9ydGFudCcpKTtcbiAgICovXG4gIHB1YmxpYyBtYXJrQXNTZWVuQnkocXVlcnk6IE5vdGlmaWNhdGlvblF1ZXJ5KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBub3RpZmljYXRpb25SZWYgb2YgdGhpcy5xdWV1ZS50b0FycmF5KCkuZmlsdGVyKHF1ZXJ5KSkge1xuICAgICAgdGhpcy5tYXJrQXNTZWVuKG5vdGlmaWNhdGlvblJlZik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyBhIHNwZWNpZmljIG5vdGlmaWNhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtOb3RpZmljYXRpb25SZWZ9IG5vdGlmaWNhdGlvblJlZiAtIFRoZSByZWZlcmVuY2UgdG8gdGhlIG5vdGlmaWNhdGlvbiB0byBkaXNtaXNzLlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBEaXNtaXNzIGEgbm90aWZpY2F0aW9uIGJ5IGl0cyByZWZlcmVuY2VcbiAgICogbm90aWZpY2F0aW9uU2VydmljZS5kaXNtaXNzKG5vdGlmaWNhdGlvblJlZik7XG4gICAqL1xuICBwdWJsaWMgZGlzbWlzcyhub3RpZmljYXRpb25SZWY6IE5vdGlmaWNhdGlvblJlZik6IHZvaWQge1xuICAgIGlmICghbm90aWZpY2F0aW9uUmVmLm9wdGlvbnMuZGlzbWlzc2FibGUpIHJldHVybjtcbiAgICB0aGlzLnF1ZXVlLnJlbW92ZShub3RpZmljYXRpb25SZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyBhbGwgbm90aWZpY2F0aW9ucyB0aGF0IG1hdGNoIGEgc3BlY2lmaWMgcXVlcnkuXG4gICAqXG4gICAqIEBwYXJhbSB7Tm90aWZpY2F0aW9uUXVlcnl9IHF1ZXJ5IC0gVGhlIHF1ZXJ5IHRvIG1hdGNoIG5vdGlmaWNhdGlvbnMgdG8gZGlzbWlzcy5cbiAgICogQGV4YW1wbGVcbiAgICogLy8gRGlzbWlzcyBhbGwgbm90aWZpY2F0aW9ucyB3aXRoIGEgc3BlY2lmaWMgdGFnXG4gICAqIG5vdGlmaWNhdGlvblNlcnZpY2UuZGlzbWlzc0J5KG5vdGlmaWNhdGlvbiA9PiBub3RpZmljYXRpb24udGFncy5pbmNsdWRlcygnZXhwaXJlZCcpKTtcbiAgICovXG4gIHB1YmxpYyBkaXNtaXNzQnkocXVlcnk6IE5vdGlmaWNhdGlvblF1ZXJ5KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMucXVldWUudG9BcnJheSgpLmZpbHRlcihxdWVyeSkpIHtcbiAgICAgIHRoaXMuZGlzbWlzcyhpdGVtKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGlzbWlzc2VzIGFsbCBub3RpZmljYXRpb25zLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBEaXNtaXNzIGFsbCBub3RpZmljYXRpb25zXG4gICAqIG5vdGlmaWNhdGlvblNlcnZpY2UuZGlzbWlzc0FsbCgpO1xuICAgKi9cbiAgcHVibGljIGRpc21pc3NBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5xdWV1ZS5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBhY3Rpb24gYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgbm90aWZpY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvblJlZn0gbm90aWZpY2F0aW9uUmVmIC0gVGhlIHJlZmVyZW5jZSB0byB0aGUgbm90aWZpY2F0aW9uIHdob3NlIGFjdGlvbiB0byBleGVjdXRlLlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBFeGVjdXRlIGFjdGlvbiBmb3IgYSBub3RpZmljYXRpb25cbiAgICogbm90aWZpY2F0aW9uU2VydmljZS5leGVjdXRlQWN0aW9uKG5vdGlmaWNhdGlvblJlZik7XG4gICAqL1xuICBwdWJsaWMgZXhlY3V0ZUFjdGlvbihub3RpZmljYXRpb25SZWY6IE5vdGlmaWNhdGlvblJlZik6IHZvaWQge1xuICAgIGlmICghbm90aWZpY2F0aW9uUmVmLm9wdGlvbnMuYWN0aW9uKSByZXR1cm47XG4gICAgY29uc3QgYWN0aW9uRm4gPSB0aGlzLmNvbmZpZy5hY3Rpb25NYXA/Lltub3RpZmljYXRpb25SZWYub3B0aW9ucy5hY3Rpb25dO1xuICAgIGlmICghaXNGdW5jdGlvbihhY3Rpb25GbikpIHtcbiAgICAgIGxvZ2dlci53YXJuKGBDYW5ub3QgZmluZCBhY3Rpb24gJHtub3RpZmljYXRpb25SZWYub3B0aW9ucy5hY3Rpb259IGZvciBub3RpZmljYXRpb24gcmVmZXJlbmNlOiAke25vdGlmaWNhdGlvblJlZn1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IGFjdGlvbkZuKG5vdGlmaWNhdGlvblJlZikpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlT3B0aW9ucyhvcHRpb25zPzogUGFydGlhbDxOb3RpZmljYXRpb25PcHRpb25zPik6IE5vdGlmaWNhdGlvbk9wdGlvbnMge1xuICAgIHJldHVybiBkZWVwbWVyZ2UodGhpcy5jb25maWcub3B0aW9ucywgb3B0aW9ucyA/PyB7fSwge1xuICAgICAgaWNvbjogb3B0aW9ucz8uaWNvbiA/PyB0aGlzLmNvbmZpZy50YWdUb0ljb25NYXA/LltvcHRpb25zPy50YWdzPy5bMF0gPz8gJyddID8/IHRoaXMuY29uZmlnLm9wdGlvbnMuaWNvbixcbiAgICAgIGxhbmd1YWdlOiBvcHRpb25zPy5sYW5ndWFnZSA/PyB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuZ2V0QWN0aXZlTGFuZ3VhZ2UoKSxcbiAgICB9KSBhcyBOb3RpZmljYXRpb25PcHRpb25zO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { Queue } from '@odx/angular/utils';
3
+ export const ODX_NOTIFICATION_QUEUE = new InjectionToken('@odx/angular/component/notifications::Queue', {
4
+ providedIn: 'root',
5
+ factory: () => new Queue(),
6
+ });
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbGliL25vdGlmaWNhdGlvbi50b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHM0MsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQXlCLDZDQUE2QyxFQUFFO0lBQzlILFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRTtDQUMzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVldWUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUmVmIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgT0RYX05PVElGSUNBVElPTl9RVUVVRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxRdWV1ZTxOb3RpZmljYXRpb25SZWY+PignQG9keC9hbmd1bGFyL2NvbXBvbmVudC9ub3RpZmljYXRpb25zOjpRdWV1ZScsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBuZXcgUXVldWUoKSxcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './notification-center.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24tY2VudGVyLnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,96 @@
1
+ import { Injectable, computed, inject, signal } from '@angular/core';
2
+ import { toObservable } from '@angular/core/rxjs-interop';
3
+ import { combineLatest, filter, isObservable, map, of, shareReplay, switchMap } from 'rxjs';
4
+ import { getNotificationsByTags, toNotificationCollection } from '../helpers';
5
+ import { NotificationService } from '../notification.service';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * A service for managing the notification center. This service provides functionalities
9
+ * to filter, sort, and manage actions on notifications.
10
+ */
11
+ export class NotificationCenterService {
12
+ constructor() {
13
+ this.currentTag = signal(null);
14
+ this.currentSortFn = signal(undefined);
15
+ this.notificationService = inject(NotificationService);
16
+ this.notificationQuery = computed(() => getNotificationsByTags(this.currentTag()));
17
+ this.title = signal(null);
18
+ this.title$ = toObservable(this.title).pipe(switchMap((title) => (isObservable(title) ? title : of(title))), shareReplay({ bufferSize: 1, refCount: true }));
19
+ this.notifications$ = combineLatest([toObservable(this.notificationQuery), toObservable(this.currentSortFn)]).pipe(switchMap(([query, sortFn]) => this.notificationService.getNotificationsBy$(query, sortFn)));
20
+ this.unseenNotifications$ = this.notifications$.pipe(map((collection) => collection.values.filter(({ hasBeenSeen }) => !hasBeenSeen)), toNotificationCollection());
21
+ this.onNotificationAdd$ = this.queryEvent(this.notificationService.onNotificationAdd$);
22
+ this.onNotificationUpdate$ = this.queryEvent(this.notificationService.onNotificationUpdate$);
23
+ this.onNotificationRemove$ = this.queryEvent(this.notificationService.onNotificationRemove$);
24
+ this.onNotificationSeen$ = this.queryEvent(this.notificationService.onNotificationSeen$);
25
+ }
26
+ /**
27
+ * Sets the title for the notification center. The title can be static text or an observable for dynamic content.
28
+ *
29
+ * @param {DynamicTextContent | null} [value] - The title content for the notification center.
30
+ */
31
+ setTitle(value) {
32
+ this.title.set(value ?? null);
33
+ }
34
+ /**
35
+ * Sets the current tag to filter notifications. Only notifications with this tag will be included.
36
+ *
37
+ * @param {string | null} [value] - The tag to filter notifications by.
38
+ */
39
+ setTag(value) {
40
+ this.currentTag.set(value ?? null);
41
+ }
42
+ /**
43
+ * Sets the sort function used to order the notifications.
44
+ *
45
+ * @param {NotificationSortFn} [value] - The sort function to apply to the notifications.
46
+ */
47
+ setSortFn(value) {
48
+ this.currentSortFn.set(value);
49
+ }
50
+ /**
51
+ * Marks a given notification as seen. This does not remove the notification but updates its seen status.
52
+ *
53
+ * @param {NotificationRef} notificationRef - The reference to the notification to be marked as seen.
54
+ */
55
+ markAsSeen(notificationRef) {
56
+ this.notificationService.markAsSeen(notificationRef);
57
+ }
58
+ /**
59
+ * Marks all current filtered notifications as seen.
60
+ */
61
+ markAllAsSeen() {
62
+ this.notificationService.markAsSeenBy(this.notificationQuery());
63
+ }
64
+ /**
65
+ * Dismisses a specific notification.
66
+ *
67
+ * @param {NotificationRef} notificationRef - The reference to the notification to dismiss.
68
+ */
69
+ dismiss(notificationRef) {
70
+ this.notificationService.dismiss(notificationRef);
71
+ }
72
+ /**
73
+ * Dismisses all notifications that match the current filter criteria.
74
+ */
75
+ dismissAll() {
76
+ this.notificationService.dismissBy(this.notificationQuery());
77
+ }
78
+ /**
79
+ * Executes the action associated with a specific notification and marks it as seen.
80
+ *
81
+ * @param {NotificationRef} notificationRef - The reference to the notification whose action to execute.
82
+ */
83
+ executeAction(notificationRef) {
84
+ this.markAsSeen(notificationRef);
85
+ this.notificationService.executeAction(notificationRef);
86
+ }
87
+ queryEvent(source$) {
88
+ return combineLatest([source$, toObservable(this.notificationQuery)]).pipe(filter(([notificationRef, query]) => query(notificationRef)), map(([notificationRef]) => notificationRef));
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationCenterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
91
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationCenterService }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationCenterService, decorators: [{
94
+ type: Injectable
95
+ }] });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWNlbnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uLWNlbnRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGtCQUFhLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUN0RCx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RSxVQUFLLEdBQUcsTUFBTSxDQUE0QixJQUFJLENBQUMsQ0FBQztRQUVqRCxXQUFNLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3BELFNBQVMs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QUFDO0lBRU8sVUFBVSxDQUFDLE9BQW9DO1FBQ3JELE9BQU8sYUFBYSxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4RSxNQUFNLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQzVELEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQzsrR0FqR1UseUJBQXlCO21IQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IER5bmFtaWNUZXh0Q29udGVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgaXNPYnNlcnZhYmxlLCBtYXAsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXROb3RpZmljYXRpb25zQnlUYWdzLCB0b05vdGlmaWNhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblJlZiwgTm90aWZpY2F0aW9uU29ydEZuIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbi8qKlxuICogQSBzZXJ2aWNlIGZvciBtYW5hZ2luZyB0aGUgbm90aWZpY2F0aW9uIGNlbnRlci4gVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdGllc1xuICogdG8gZmlsdGVyLCBzb3J0LCBhbmQgbWFuYWdlIGFjdGlvbnMgb24gbm90aWZpY2F0aW9ucy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRUYWcgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VycmVudFNvcnRGbiA9IHNpZ25hbDxOb3RpZmljYXRpb25Tb3J0Rm4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uU2VydmljZSA9IGluamVjdChOb3RpZmljYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25RdWVyeSA9IGNvbXB1dGVkKCgpID0+IGdldE5vdGlmaWNhdGlvbnNCeVRhZ3ModGhpcy5jdXJyZW50VGFnKCkpKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZSA9IHNpZ25hbDxEeW5hbWljVGV4dENvbnRlbnQgfCBudWxsPihudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUkID0gdG9PYnNlcnZhYmxlKHRoaXMudGl0bGUpLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh0aXRsZSkgPT4gKGlzT2JzZXJ2YWJsZSh0aXRsZSkgPyB0aXRsZSA6IG9mKHRpdGxlKSkpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBub3RpZmljYXRpb25zJCA9IGNvbWJpbmVMYXRlc3QoW3RvT2JzZXJ2YWJsZSh0aGlzLm5vdGlmaWNhdGlvblF1ZXJ5KSwgdG9PYnNlcnZhYmxlKHRoaXMuY3VycmVudFNvcnRGbildKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW3F1ZXJ5LCBzb3J0Rm5dKSA9PiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZ2V0Tm90aWZpY2F0aW9uc0J5JChxdWVyeSwgc29ydEZuKSksXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSB1bnNlZW5Ob3RpZmljYXRpb25zJCA9IHRoaXMubm90aWZpY2F0aW9ucyQucGlwZShcbiAgICBtYXAoKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24udmFsdWVzLmZpbHRlcigoeyBoYXNCZWVuU2VlbiB9KSA9PiAhaGFzQmVlblNlZW4pKSxcbiAgICB0b05vdGlmaWNhdGlvbkNvbGxlY3Rpb24oKSxcbiAgKTtcbiAgcHVibGljIG9uTm90aWZpY2F0aW9uQWRkJCA9IHRoaXMucXVlcnlFdmVudCh0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uub25Ob3RpZmljYXRpb25BZGQkKTtcbiAgcHVibGljIG9uTm90aWZpY2F0aW9uVXBkYXRlJCA9IHRoaXMucXVlcnlFdmVudCh0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uub25Ob3RpZmljYXRpb25VcGRhdGUkKTtcbiAgcHVibGljIG9uTm90aWZpY2F0aW9uUmVtb3ZlJCA9IHRoaXMucXVlcnlFdmVudCh0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uub25Ob3RpZmljYXRpb25SZW1vdmUkKTtcbiAgcHVibGljIG9uTm90aWZpY2F0aW9uU2VlbiQgPSB0aGlzLnF1ZXJ5RXZlbnQodGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uTm90aWZpY2F0aW9uU2VlbiQpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0aXRsZSBmb3IgdGhlIG5vdGlmaWNhdGlvbiBjZW50ZXIuIFRoZSB0aXRsZSBjYW4gYmUgc3RhdGljIHRleHQgb3IgYW4gb2JzZXJ2YWJsZSBmb3IgZHluYW1pYyBjb250ZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge0R5bmFtaWNUZXh0Q29udGVudCB8IG51bGx9IFt2YWx1ZV0gLSBUaGUgdGl0bGUgY29udGVudCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBjZW50ZXIuXG4gICAqL1xuICBwdWJsaWMgc2V0VGl0bGUodmFsdWU/OiBEeW5hbWljVGV4dENvbnRlbnQgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZS5zZXQodmFsdWUgPz8gbnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCB0YWcgdG8gZmlsdGVyIG5vdGlmaWNhdGlvbnMuIE9ubHkgbm90aWZpY2F0aW9ucyB3aXRoIHRoaXMgdGFnIHdpbGwgYmUgaW5jbHVkZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVsbH0gW3ZhbHVlXSAtIFRoZSB0YWcgdG8gZmlsdGVyIG5vdGlmaWNhdGlvbnMgYnkuXG4gICAqL1xuICBwdWJsaWMgc2V0VGFnKHZhbHVlPzogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFRhZy5zZXQodmFsdWUgPz8gbnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc29ydCBmdW5jdGlvbiB1c2VkIHRvIG9yZGVyIHRoZSBub3RpZmljYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvblNvcnRGbn0gW3ZhbHVlXSAtIFRoZSBzb3J0IGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBub3RpZmljYXRpb25zLlxuICAgKi9cbiAgcHVibGljIHNldFNvcnRGbih2YWx1ZT86IE5vdGlmaWNhdGlvblNvcnRGbik6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFNvcnRGbi5zZXQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcmtzIGEgZ2l2ZW4gbm90aWZpY2F0aW9uIGFzIHNlZW4uIFRoaXMgZG9lcyBub3QgcmVtb3ZlIHRoZSBub3RpZmljYXRpb24gYnV0IHVwZGF0ZXMgaXRzIHNlZW4gc3RhdHVzLlxuICAgKlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvblJlZn0gbm90aWZpY2F0aW9uUmVmIC0gVGhlIHJlZmVyZW5jZSB0byB0aGUgbm90aWZpY2F0aW9uIHRvIGJlIG1hcmtlZCBhcyBzZWVuLlxuICAgKi9cbiAgcHVibGljIG1hcmtBc1NlZW4obm90aWZpY2F0aW9uUmVmOiBOb3RpZmljYXRpb25SZWYpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UubWFya0FzU2Vlbihub3RpZmljYXRpb25SZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcmtzIGFsbCBjdXJyZW50IGZpbHRlcmVkIG5vdGlmaWNhdGlvbnMgYXMgc2Vlbi5cbiAgICovXG4gIHB1YmxpYyBtYXJrQWxsQXNTZWVuKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5tYXJrQXNTZWVuQnkodGhpcy5ub3RpZmljYXRpb25RdWVyeSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNtaXNzZXMgYSBzcGVjaWZpYyBub3RpZmljYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7Tm90aWZpY2F0aW9uUmVmfSBub3RpZmljYXRpb25SZWYgLSBUaGUgcmVmZXJlbmNlIHRvIHRoZSBub3RpZmljYXRpb24gdG8gZGlzbWlzcy5cbiAgICovXG4gIHB1YmxpYyBkaXNtaXNzKG5vdGlmaWNhdGlvblJlZjogTm90aWZpY2F0aW9uUmVmKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmRpc21pc3Mobm90aWZpY2F0aW9uUmVmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNtaXNzZXMgYWxsIG5vdGlmaWNhdGlvbnMgdGhhdCBtYXRjaCB0aGUgY3VycmVudCBmaWx0ZXIgY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgZGlzbWlzc0FsbCgpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZGlzbWlzc0J5KHRoaXMubm90aWZpY2F0aW9uUXVlcnkoKSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGFjdGlvbiBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyBub3RpZmljYXRpb24gYW5kIG1hcmtzIGl0IGFzIHNlZW4uXG4gICAqXG4gICAqIEBwYXJhbSB7Tm90aWZpY2F0aW9uUmVmfSBub3RpZmljYXRpb25SZWYgLSBUaGUgcmVmZXJlbmNlIHRvIHRoZSBub3RpZmljYXRpb24gd2hvc2UgYWN0aW9uIHRvIGV4ZWN1dGUuXG4gICAqL1xuICBwdWJsaWMgZXhlY3V0ZUFjdGlvbihub3RpZmljYXRpb25SZWY6IE5vdGlmaWNhdGlvblJlZik6IHZvaWQge1xuICAgIHRoaXMubWFya0FzU2Vlbihub3RpZmljYXRpb25SZWYpO1xuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5leGVjdXRlQWN0aW9uKG5vdGlmaWNhdGlvblJlZik7XG4gIH1cblxuICBwcml2YXRlIHF1ZXJ5RXZlbnQoc291cmNlJDogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZWY+KTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZWY+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbc291cmNlJCwgdG9PYnNlcnZhYmxlKHRoaXMubm90aWZpY2F0aW9uUXVlcnkpXSkucGlwZShcbiAgICAgIGZpbHRlcigoW25vdGlmaWNhdGlvblJlZiwgcXVlcnldKSA9PiBxdWVyeShub3RpZmljYXRpb25SZWYpKSxcbiAgICAgIG1hcCgoW25vdGlmaWNhdGlvblJlZl0pID0+IG5vdGlmaWNhdGlvblJlZiksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY29tcG9uZW50cy1ub3RpZmljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL29keC1hbmd1bGFyLWNvbXBvbmVudHMtbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './lib/test-helpers';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vdGVzdGluZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3Rlc3QtaGVscGVycyc7XG4iXX0=
@@ -0,0 +1,33 @@
1
+ export function mockNotification(props) {
2
+ return {
3
+ title: 'TEST_NOTIFICATION_TITLE',
4
+ description: 'TEST_NOTIFICATION_DESCRIPTION',
5
+ ...props,
6
+ };
7
+ }
8
+ export function mockNotificationOptions(props) {
9
+ return {
10
+ dismissable: false,
11
+ icon: 'TEST_NOTIFICATION_ICON',
12
+ tags: ['TEST_NOTIFICATION_TAG'],
13
+ ...props,
14
+ };
15
+ }
16
+ export function mockNotificationRef(props) {
17
+ return {
18
+ id: 'TEST_NOTIFICATION',
19
+ createdAt: Date.now(),
20
+ hasBeenSeen: false,
21
+ item: mockNotification(props?.item),
22
+ options: mockNotificationOptions(props?.options),
23
+ ...props,
24
+ };
25
+ }
26
+ export function mockNotificationCollection(refs) {
27
+ return {
28
+ values: refs,
29
+ count: refs.length,
30
+ isEmpty: refs.length === 0,
31
+ };
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3Rlc3Rpbmcvc3JjL2xpYi90ZXN0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQTZCO0lBQzVELE9BQU87UUFDTCxLQUFLLEVBQUUseUJBQXlCO1FBQ2hDLFdBQVcsRUFBRSwrQkFBK0I7UUFDNUMsR0FBRyxLQUFLO0tBQ1QsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsS0FBb0M7SUFDMUUsT0FBTztRQUNMLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsSUFBSSxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDL0IsR0FBRyxLQUFLO0tBQ1QsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsS0FBZ0M7SUFDbEUsT0FBTztRQUNMLEVBQUUsRUFBRSxtQkFBbUI7UUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDckIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7UUFDbkMsT0FBTyxFQUFFLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7UUFDaEQsR0FBRyxLQUFLO0tBQ1QsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsSUFBdUI7SUFDaEUsT0FBTztRQUNMLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7S0FDM0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkNvbGxlY3Rpb24sIE5vdGlmaWNhdGlvbk9wdGlvbnMsIE5vdGlmaWNhdGlvblJlZiB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL25vdGlmaWNhdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrTm90aWZpY2F0aW9uKHByb3BzPzogUGFydGlhbDxOb3RpZmljYXRpb24+KTogTm90aWZpY2F0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICB0aXRsZTogJ1RFU1RfTk9USUZJQ0FUSU9OX1RJVExFJyxcbiAgICBkZXNjcmlwdGlvbjogJ1RFU1RfTk9USUZJQ0FUSU9OX0RFU0NSSVBUSU9OJyxcbiAgICAuLi5wcm9wcyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tOb3RpZmljYXRpb25PcHRpb25zKHByb3BzPzogUGFydGlhbDxOb3RpZmljYXRpb25PcHRpb25zPik6IE5vdGlmaWNhdGlvbk9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIGRpc21pc3NhYmxlOiBmYWxzZSxcbiAgICBpY29uOiAnVEVTVF9OT1RJRklDQVRJT05fSUNPTicsXG4gICAgdGFnczogWydURVNUX05PVElGSUNBVElPTl9UQUcnXSxcbiAgICAuLi5wcm9wcyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tOb3RpZmljYXRpb25SZWYocHJvcHM/OiBQYXJ0aWFsPE5vdGlmaWNhdGlvblJlZj4pOiBOb3RpZmljYXRpb25SZWYge1xuICByZXR1cm4ge1xuICAgIGlkOiAnVEVTVF9OT1RJRklDQVRJT04nLFxuICAgIGNyZWF0ZWRBdDogRGF0ZS5ub3coKSxcbiAgICBoYXNCZWVuU2VlbjogZmFsc2UsXG4gICAgaXRlbTogbW9ja05vdGlmaWNhdGlvbihwcm9wcz8uaXRlbSksXG4gICAgb3B0aW9uczogbW9ja05vdGlmaWNhdGlvbk9wdGlvbnMocHJvcHM/Lm9wdGlvbnMpLFxuICAgIC4uLnByb3BzLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja05vdGlmaWNhdGlvbkNvbGxlY3Rpb24ocmVmczogTm90aWZpY2F0aW9uUmVmW10pOiBOb3RpZmljYXRpb25Db2xsZWN0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZXM6IHJlZnMsXG4gICAgY291bnQ6IHJlZnMubGVuZ3RoLFxuICAgIGlzRW1wdHk6IHJlZnMubGVuZ3RoID09PSAwLFxuICB9O1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY29tcG9uZW50cy1ub3RpZmljYXRpb24tdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL25vdGlmaWNhdGlvbi90ZXN0aW5nL3NyYy9vZHgtYW5ndWxhci1jb21wb25lbnRzLW5vdGlmaWNhdGlvbi10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -2,7 +2,7 @@ var ToastContainerComponent_1;
2
2
  import { __decorate } from "tslib";
3
3
  import { group, transition, trigger, useAnimation } from '@angular/animations';
4
4
  import { CommonModule } from '@angular/common';
5
- import { ChangeDetectionStrategy, Component, inject, Input, numberAttribute, Output, Renderer2, ViewEncapsulation, } from '@angular/core';
5
+ import { ChangeDetectionStrategy, Component, Input, Output, Renderer2, ViewEncapsulation, inject, numberAttribute, } from '@angular/core';
6
6
  import { WindowRef } from '@odx/angular';
7
7
  import { collapse, expand, fadeIn, slideInRight } from '@odx/angular/animations';
8
8
  import { ChipComponent } from '@odx/angular/components/chip';
@@ -22,10 +22,10 @@ export let ToastContainerComponent = class ToastContainerComponent {
22
22
  this.toastService = inject(ToastService);
23
23
  this.trackById = trackById;
24
24
  this.element = injectElement();
25
- this.items$ = this.toastService.queue$.pipe(map((refs) => refs.slice(0, this.maxItems)));
26
- this.hiddenToasts$ = this.toastService.queue$.pipe(map((refs) => Math.max(0, refs.length - this.maxItems)));
25
+ this.items$ = this.toastService.toasts$.pipe(map((refs) => refs.slice(0, this.maxItems)));
26
+ this.hiddenToasts$ = this.toastService.toasts$.pipe(map((refs) => Math.max(0, refs.length - this.maxItems)));
27
27
  this.maxItems = 3;
28
- this.dismiss = this.toastService.onRemove$;
28
+ this.dismiss = this.toastService.onToastRemove$;
29
29
  }
30
30
  static { ToastContainerComponent_1 = this; }
31
31
  static { this.INITIALIZED = false; }
@@ -43,7 +43,7 @@ export let ToastContainerComponent = class ToastContainerComponent {
43
43
  ToastContainerComponent_1.INITIALIZED = false;
44
44
  }
45
45
  onDismiss(itemRef) {
46
- this.toastService.remove(itemRef);
46
+ this.toastService.dismiss(itemRef);
47
47
  }
48
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
49
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: ToastContainerComponent, isStandalone: true, selector: "odx-toast-container", inputs: { maxItems: ["maxItems", "maxItems", numberAttribute] }, outputs: { dismiss: "dismiss" }, ngImport: i0, template: "<odx-toast\n @slide\n [id]=\"toastRef.id\"\n [title]=\"toastRef.item.title\"\n [description]=\"toastRef.item.description\"\n [actions]=\"toastRef.item.actions ?? []\"\n [variant]=\"toastRef.item.variant\"\n [options]=\"toastRef.options\"\n (dismiss)=\"onDismiss(toastRef)\"\n *ngFor=\"let toastRef of items$ | async; trackBy: trackById\"\n></odx-toast>\n<odx-chip class=\"odx-toast-container__counter\" *ngIf=\"hiddenToasts$ | async as more\">{{ more }} more Notifications</odx-chip>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: ChipComponent, selector: "odx-chip", inputs: ["removable", "size", "variant"], outputs: ["remove"] }, { kind: "component", type: ToastItemComponent, selector: "odx-toast", inputs: ["id", "title", "description", "variant", "actions", "options"], outputs: ["dismiss"] }], animations: [
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
78
78
  }], dismiss: [{
79
79
  type: Output
80
80
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvY29tcG9uZW50cy90b2FzdC1jb250YWluZXIvdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvY29tcG9uZW50cy90b2FzdC1jb250YWluZXIvdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFFZixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFP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QUMsaUJBQWlCLENBQUM7R0FzQm5CLHVCQUF1QixDQXFDbkM7NEZBckNZLHVCQUF1QjtrQkFyQm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBRW5CLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLENBQUMsY0FDOUM7d0JBQ1YsT0FBTyxDQUFDLE9BQU8sRUFBRTs0QkFDZixVQUFVLENBQ1IsUUFBUSxFQUNSLEtBQUssQ0FBQztnQ0FDSixZQUFZLENBQUMsTUFBTSxDQUFDO2dDQUNwQixZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxDQUFDO2dDQUNwRSxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLEVBQUUsQ0FBQzs2QkFDekUsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDdEQsQ0FBQztxQkFDSDs4QkFnQk0sUUFBUTtzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJckIsT0FBTztzQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdyb3VwLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIElucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBjb2xsYXBzZSwgZXhwYW5kLCBmYWRlSW4sIHNsaWRlSW5SaWdodCB9IGZyb20gJ0BvZHgvYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENoaXBDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jaGlwJztcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2hlYWRlcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCwgcHgsIHRyYWNrQnlJZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvYXN0UmVmIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9hc3QtaXRlbS90b2FzdC1pdGVtLmNvbXBvbmVudCc7XG5cbmNvbnN0IFRPQVNUX0FOSU1BVElPTl9ERUxBWSA9ICcxMjVtcyc7XG5AQ1NTQ29tcG9uZW50KCd0b2FzdC1jb250YWluZXInKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LXRvYXN0LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2hpcENvbXBvbmVudCwgVG9hc3RJdGVtQ29tcG9uZW50XSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlJywgW1xuICAgICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIGdyb3VwKFtcbiAgICAgICAgICB1c2VBbmltYXRpb24oZXhwYW5kKSxcbiAgICAgICAgICB1c2VBbmltYXRpb24oZmFkZUluKCksIHsgcGFyYW1zOiB7IGRlbGF5OiBUT0FTVF9BTklNQVRJT05fREVMQVkgfSB9KSxcbiAgICAgICAgICB1c2VBbmltYXRpb24oc2xpZGVJblJpZ2h0LCB7IHBhcmFtczogeyBkZWxheTogVE9BU1RfQU5JTUFUSU9OX0RFTEFZIH0gfSksXG4gICAgICAgIF0pLFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIGdyb3VwKFt1c2VBbmltYXRpb24oY29sbGFwc2UpXSkpLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGljIElOSVRJQUxJWkVEID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWYgPSBpbmplY3QoV2luZG93UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFja0J5SWQgPSB0cmFja0J5SWQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG4gIHB1YmxpYyByZWFkb25seSBpdGVtcyQ6IE9ic2VydmFibGU8VG9hc3RSZWZbXT4gPSB0aGlzLnRvYXN0U2VydmljZS5xdWV1ZSQucGlwZShtYXAoKHJlZnMpID0+IHJlZnMuc2xpY2UoMCwgdGhpcy5tYXhJdGVtcykpKTtcbiAgcHVibGljIHJlYWRvbmx5IGhpZGRlblRvYXN0cyQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMudG9hc3RTZXJ2aWNlLnF1ZXVlJC5waXBlKG1hcCgocmVmcykgPT4gTWF0aC5tYXgoMCwgcmVmcy5sZW5ndGggLSB0aGlzLm1heEl0ZW1zKSkpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBtYXhJdGVtcyA9IDM7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBkaXNtaXNzID0gdGhpcy50b2FzdFNlcnZpY2Uub25SZW1vdmUkO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKFRvYXN0Q29udGFpbmVyQ29tcG9uZW50LklOSVRJQUxJWkVEKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgb25lIHRvYXN0IGNvbnRhaW5lciBwZXIgYXBwbGljYXRpb24gYWxsb3dlZCcpO1xuICAgIH1cbiAgICBUb2FzdENvbnRhaW5lckNvbXBvbmVudC5JTklUSUFMSVpFRCA9IHRydWU7XG4gICAgY29uc3QgaGVhZGVyRWxlbWVudCA9IHRoaXMud2luZG93UmVmLnF1ZXJ5QnlDb21wb25lbnQoSGVhZGVyQ29tcG9uZW50KTtcbiAgICBpZiAoaGVhZGVyRWxlbWVudCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3RvcCcsIHB4KGhlYWRlckVsZW1lbnQub2Zmc2V0SGVpZ2h0KSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIFRvYXN0Q29udGFpbmVyQ29tcG9uZW50LklOSVRJQUxJWkVEID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EaXNtaXNzKGl0ZW1SZWY6IFRvYXN0UmVmKTogdm9pZCB7XG4gICAgdGhpcy50b2FzdFNlcnZpY2UucmVtb3ZlKGl0ZW1SZWYpO1xuICB9XG59XG4iLCI8b2R4LXRvYXN0XG4gIEBzbGlkZVxuICBbaWRdPVwidG9hc3RSZWYuaWRcIlxuICBbdGl0bGVdPVwidG9hc3RSZWYuaXRlbS50aXRsZVwiXG4gIFtkZXNjcmlwdGlvbl09XCJ0b2FzdFJlZi5pdGVtLmRlc2NyaXB0aW9uXCJcbiAgW2FjdGlvbnNdPVwidG9hc3RSZWYuaXRlbS5hY3Rpb25zID8/IFtdXCJcbiAgW3ZhcmlhbnRdPVwidG9hc3RSZWYuaXRlbS52YXJpYW50XCJcbiAgW29wdGlvbnNdPVwidG9hc3RSZWYub3B0aW9uc1wiXG4gIChkaXNtaXNzKT1cIm9uRGlzbWlzcyh0b2FzdFJlZilcIlxuICAqbmdGb3I9XCJsZXQgdG9hc3RSZWYgb2YgaXRlbXMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiXG4+PC9vZHgtdG9hc3Q+XG48b2R4LWNoaXAgY2xhc3M9XCJvZHgtdG9hc3QtY29udGFpbmVyX19jb3VudGVyXCIgKm5nSWY9XCJoaWRkZW5Ub2FzdHMkIHwgYXN5bmMgYXMgbW9yZVwiPnt7IG1vcmUgfX0gbW9yZSBOb3RpZmljYXRpb25zPC9vZHgtY2hpcD5cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvY29tcG9uZW50cy90b2FzdC1jb250YWluZXIvdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvY29tcG9uZW50cy90b2FzdC1jb250YWluZXIvdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FB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QUFDLGlCQUFpQixDQUFDO0dBc0JuQix1QkFBdUIsQ0FxQ25DOzRGQXJDWSx1QkFBdUI7a0JBckJuQyxTQUFTOytCQUNFLHFCQUFxQixjQUVuQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDLGNBQzlDO3dCQUNWLE9BQU8sQ0FBQyxPQUFPLEVBQUU7NEJBQ2YsVUFBVSxDQUNSLFFBQVEsRUFDUixLQUFLLENBQUM7Z0NBQ0osWUFBWSxDQUFDLE1BQU0sQ0FBQztnQ0FDcEIsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztnQ0FDcEUsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxFQUFFLENBQUM7NkJBQ3pFLENBQUMsQ0FDSDs0QkFDRCxVQUFVLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3RELENBQUM7cUJBQ0g7OEJBZ0JNLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLE9BQU87c0JBRHRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncm91cCwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG4gIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgY29sbGFwc2UsIGV4cGFuZCwgZmFkZUluLCBzbGlkZUluUmlnaHQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDaGlwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvY2hpcCc7XG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIHB4LCB0cmFja0J5SWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb2FzdFJlZiB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3RvYXN0LWl0ZW0vdG9hc3QtaXRlbS5jb21wb25lbnQnO1xuXG5jb25zdCBUT0FTVF9BTklNQVRJT05fREVMQVkgPSAnMTI1bXMnO1xuQENTU0NvbXBvbmVudCgndG9hc3QtY29udGFpbmVyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC10b2FzdC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENoaXBDb21wb25lbnQsIFRvYXN0SXRlbUNvbXBvbmVudF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzbGlkZScsIFtcbiAgICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBncm91cChbXG4gICAgICAgICAgdXNlQW5pbWF0aW9uKGV4cGFuZCksXG4gICAgICAgICAgdXNlQW5pbWF0aW9uKGZhZGVJbigpLCB7IHBhcmFtczogeyBkZWxheTogVE9BU1RfQU5JTUFUSU9OX0RFTEFZIH0gfSksXG4gICAgICAgICAgdXNlQW5pbWF0aW9uKHNsaWRlSW5SaWdodCwgeyBwYXJhbXM6IHsgZGVsYXk6IFRPQVNUX0FOSU1BVElPTl9ERUxBWSB9IH0pLFxuICAgICAgICBdKSxcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBncm91cChbdXNlQW5pbWF0aW9uKGNvbGxhcHNlKV0pKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN0YXRpYyBJTklUSUFMSVpFRCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmID0gaW5qZWN0KFdpbmRvd1JlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhY2tCeUlkID0gdHJhY2tCeUlkO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgaXRlbXMkOiBPYnNlcnZhYmxlPFRvYXN0UmVmW10+ID0gdGhpcy50b2FzdFNlcnZpY2UudG9hc3RzJC5waXBlKG1hcCgocmVmcykgPT4gcmVmcy5zbGljZSgwLCB0aGlzLm1heEl0ZW1zKSkpO1xuICBwdWJsaWMgcmVhZG9ubHkgaGlkZGVuVG9hc3RzJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy50b2FzdFNlcnZpY2UudG9hc3RzJC5waXBlKG1hcCgocmVmcykgPT4gTWF0aC5tYXgoMCwgcmVmcy5sZW5ndGggLSB0aGlzLm1heEl0ZW1zKSkpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBtYXhJdGVtcyA9IDM7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBkaXNtaXNzID0gdGhpcy50b2FzdFNlcnZpY2Uub25Ub2FzdFJlbW92ZSQ7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoVG9hc3RDb250YWluZXJDb21wb25lbnQuSU5JVElBTElaRUQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignT25seSBvbmUgdG9hc3QgY29udGFpbmVyIHBlciBhcHBsaWNhdGlvbiBhbGxvd2VkJyk7XG4gICAgfVxuICAgIFRvYXN0Q29udGFpbmVyQ29tcG9uZW50LklOSVRJQUxJWkVEID0gdHJ1ZTtcbiAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gdGhpcy53aW5kb3dSZWYucXVlcnlCeUNvbXBvbmVudChIZWFkZXJDb21wb25lbnQpO1xuICAgIGlmIChoZWFkZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndG9wJywgcHgoaGVhZGVyRWxlbWVudC5vZmZzZXRIZWlnaHQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgVG9hc3RDb250YWluZXJDb21wb25lbnQuSU5JVElBTElaRUQgPSBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkRpc21pc3MoaXRlbVJlZjogVG9hc3RSZWYpOiB2b2lkIHtcbiAgICB0aGlzLnRvYXN0U2VydmljZS5kaXNtaXNzKGl0ZW1SZWYpO1xuICB9XG59XG4iLCI8b2R4LXRvYXN0XG4gIEBzbGlkZVxuICBbaWRdPVwidG9hc3RSZWYuaWRcIlxuICBbdGl0bGVdPVwidG9hc3RSZWYuaXRlbS50aXRsZVwiXG4gIFtkZXNjcmlwdGlvbl09XCJ0b2FzdFJlZi5pdGVtLmRlc2NyaXB0aW9uXCJcbiAgW2FjdGlvbnNdPVwidG9hc3RSZWYuaXRlbS5hY3Rpb25zID8/IFtdXCJcbiAgW3ZhcmlhbnRdPVwidG9hc3RSZWYuaXRlbS52YXJpYW50XCJcbiAgW29wdGlvbnNdPVwidG9hc3RSZWYub3B0aW9uc1wiXG4gIChkaXNtaXNzKT1cIm9uRGlzbWlzcyh0b2FzdFJlZilcIlxuICAqbmdGb3I9XCJsZXQgdG9hc3RSZWYgb2YgaXRlbXMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiXG4+PC9vZHgtdG9hc3Q+XG48b2R4LWNoaXAgY2xhc3M9XCJvZHgtdG9hc3QtY29udGFpbmVyX19jb3VudGVyXCIgKm5nSWY9XCJoaWRkZW5Ub2FzdHMkIHwgYXN5bmMgYXMgbW9yZVwiPnt7IG1vcmUgfX0gbW9yZSBOb3RpZmljYXRpb25zPC9vZHgtY2hpcD5cbiJdfQ==
@@ -1,29 +1,59 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { deepmerge } from '@odx/angular/internal';
3
3
  import { getUniqueId, Queue } from '@odx/angular/utils';
4
- import { share, Subject } from 'rxjs';
5
4
  import { injectToastConfig } from './toast.config';
6
5
  import * as i0 from "@angular/core";
7
6
  export class ToastService {
8
7
  constructor() {
9
8
  this.queue = new Queue();
10
- this.onRemove$$ = new Subject();
11
9
  this.defaultOptions = injectToastConfig();
12
- this.queue$ = this.queue.value$;
13
- this.onRemove$ = this.onRemove$$.pipe(share());
10
+ this.toasts$ = this.queue.value$;
11
+ this.onUpdate$ = this.queue.onUpdate$;
12
+ this.onToastAdd$ = this.queue.onAdd$;
13
+ this.onToastUpdate$ = this.queue.onUpdate$;
14
+ this.onToastRemove$ = this.queue.onRemove$;
15
+ /**
16
+ * @deprecated Use `toasts$` instead
17
+ */
18
+ this.queue$ = this.toasts$;
19
+ /**
20
+ * @deprecated Use `onToastAdd$` instead
21
+ */
22
+ this.onAdd$ = this.onToastAdd$;
23
+ /**
24
+ * @deprecated Use `onToastRemove$` instead
25
+ */
26
+ this.onRemove$ = this.onToastRemove$;
14
27
  }
28
+ /**
29
+ * @deprecated Use `create` instead
30
+ */
15
31
  add(item, options = {}) {
32
+ return this.create(item, options);
33
+ }
34
+ create(item, options = {}) {
16
35
  return this.queue.add({
17
36
  id: item.id ?? getUniqueId('odx-toast'),
18
37
  item,
19
38
  options: deepmerge(this.defaultOptions, options),
20
39
  });
21
40
  }
22
- remove(itemRef) {
23
- this.queue.remove(itemRef);
24
- this.onRemove$$.next(itemRef);
41
+ /**
42
+ * @deprecated Use `dismiss` instead
43
+ */
44
+ remove(refOrId) {
45
+ return this.dismiss(refOrId);
46
+ }
47
+ dismiss(refOrId) {
48
+ return this.queue.remove(refOrId);
25
49
  }
50
+ /**
51
+ * @deprecated Use `dismissAll` instead
52
+ */
26
53
  clear() {
54
+ return this.dismissAll();
55
+ }
56
+ dismissAll() {
27
57
  this.queue.clear();
28
58
  }
29
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -35,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35
65
  providedIn: 'root',
36
66
  }]
37
67
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUtuRCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUltQixVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVksQ0FBQztRQUM5QixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUNyQyxtQkFBYyxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFFdEMsV0FBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLGNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBa0IzRDtJQWhCUSxHQUFHLENBQUMsSUFBVyxFQUFFLFVBQWlDLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNwQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDO1lBQ3ZDLElBQUk7WUFDSixPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFpQjtTQUNqRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlCO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQXZCVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBnZXRVbmlxdWVJZCwgUXVldWUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgc2hhcmUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvYXN0LCBUb2FzdE9wdGlvbnMsIFRvYXN0UmVmIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgaW5qZWN0VG9hc3RDb25maWcgfSBmcm9tICcuL3RvYXN0LmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXVlID0gbmV3IFF1ZXVlPFRvYXN0UmVmPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9uUmVtb3ZlJCQgPSBuZXcgU3ViamVjdDxUb2FzdFJlZj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0T3B0aW9ucyA9IGluamVjdFRvYXN0Q29uZmlnKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXVlJCA9IHRoaXMucXVldWUudmFsdWUkO1xuICBwdWJsaWMgcmVhZG9ubHkgb25SZW1vdmUkID0gdGhpcy5vblJlbW92ZSQkLnBpcGUoc2hhcmUoKSk7XG5cbiAgcHVibGljIGFkZChpdGVtOiBUb2FzdCwgb3B0aW9uczogUGFydGlhbDxUb2FzdE9wdGlvbnM+ID0ge30pOiBUb2FzdFJlZiB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuYWRkKHtcbiAgICAgIGlkOiBpdGVtLmlkID8/IGdldFVuaXF1ZUlkKCdvZHgtdG9hc3QnKSxcbiAgICAgIGl0ZW0sXG4gICAgICBvcHRpb25zOiBkZWVwbWVyZ2UodGhpcy5kZWZhdWx0T3B0aW9ucywgb3B0aW9ucykgYXMgVG9hc3RPcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZShpdGVtUmVmOiBUb2FzdFJlZik6IHZvaWQge1xuICAgIHRoaXMucXVldWUucmVtb3ZlKGl0ZW1SZWYpO1xuICAgIHRoaXMub25SZW1vdmUkJC5uZXh0KGl0ZW1SZWYpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMucXVldWUuY2xlYXIoKTtcbiAgfVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUtuRCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUltQixVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVksQ0FBQztRQUM5QixtQkFBYyxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFFdEMsWUFBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUVqQyxnQkFBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ2hDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUV0RDs7V0FFRztRQUNhLFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RDOztXQUVHO1FBQ2EsV0FBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUM7O1dBRUc7UUFDYSxjQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztLQXNDakQ7SUFwQ0M7O09BRUc7SUFDSSxHQUFHLENBQUMsSUFBVyxFQUFFLFVBQWlDLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQVcsRUFBRSxVQUFpQyxFQUFFO1FBQzVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDcEIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUN2QyxJQUFJO1lBQ0osT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBaUI7U0FDakUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQWtDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sT0FBTyxDQUFDLE9BQWtDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQTNEVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBnZXRVbmlxdWVJZCwgUXVldWUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgVG9hc3QsIFRvYXN0T3B0aW9ucywgVG9hc3RSZWYgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBpbmplY3RUb2FzdENvbmZpZyB9IGZyb20gJy4vdG9hc3QuY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcXVldWUgPSBuZXcgUXVldWU8VG9hc3RSZWY+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdE9wdGlvbnMgPSBpbmplY3RUb2FzdENvbmZpZygpO1xuXG4gIHB1YmxpYyByZWFkb25seSB0b2FzdHMkID0gdGhpcy5xdWV1ZS52YWx1ZSQ7XG4gIHB1YmxpYyByZWFkb25seSBvblVwZGF0ZSQgPSB0aGlzLnF1ZXVlLm9uVXBkYXRlJDtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ub2FzdEFkZCQgPSB0aGlzLnF1ZXVlLm9uQWRkJDtcbiAgcHVibGljIHJlYWRvbmx5IG9uVG9hc3RVcGRhdGUkID0gdGhpcy5xdWV1ZS5vblVwZGF0ZSQ7XG4gIHB1YmxpYyByZWFkb25seSBvblRvYXN0UmVtb3ZlJCA9IHRoaXMucXVldWUub25SZW1vdmUkO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHRvYXN0cyRgIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBxdWV1ZSQgPSB0aGlzLnRvYXN0cyQ7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYG9uVG9hc3RBZGQkYCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25BZGQkID0gdGhpcy5vblRvYXN0QWRkJDtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgb25Ub2FzdFJlbW92ZSRgIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvblJlbW92ZSQgPSB0aGlzLm9uVG9hc3RSZW1vdmUkO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGNyZWF0ZWAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGFkZChpdGVtOiBUb2FzdCwgb3B0aW9uczogUGFydGlhbDxUb2FzdE9wdGlvbnM+ID0ge30pOiBUb2FzdFJlZiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKGl0ZW0sIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZShpdGVtOiBUb2FzdCwgb3B0aW9uczogUGFydGlhbDxUb2FzdE9wdGlvbnM+ID0ge30pOiBUb2FzdFJlZiB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuYWRkKHtcbiAgICAgIGlkOiBpdGVtLmlkID8/IGdldFVuaXF1ZUlkKCdvZHgtdG9hc3QnKSxcbiAgICAgIGl0ZW0sXG4gICAgICBvcHRpb25zOiBkZWVwbWVyZ2UodGhpcy5kZWZhdWx0T3B0aW9ucywgb3B0aW9ucykgYXMgVG9hc3RPcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgZGlzbWlzc2AgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZShyZWZPcklkOiBUb2FzdFJlZiB8IFRvYXN0UmVmWydpZCddKTogVG9hc3RSZWYgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5kaXNtaXNzKHJlZk9ySWQpO1xuICB9XG5cbiAgcHVibGljIGRpc21pc3MocmVmT3JJZDogVG9hc3RSZWYgfCBUb2FzdFJlZlsnaWQnXSk6IFRvYXN0UmVmIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUucmVtb3ZlKHJlZk9ySWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgZGlzbWlzc0FsbGAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmRpc21pc3NBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNtaXNzQWxsKCk6IHZvaWQge1xuICAgIHRoaXMucXVldWUuY2xlYXIoKTtcbiAgfVxufVxuIl19