@koobiq/components 19.8.1 → 20.0.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 (688) hide show
  1. package/accordion/index.d.ts +238 -1
  2. package/actions-panel/index.d.ts +303 -5
  3. package/alert/index.d.ts +54 -1
  4. package/app-switcher/index.d.ts +239 -1
  5. package/autocomplete/index.d.ts +265 -1
  6. package/badge/index.d.ts +57 -1
  7. package/breadcrumbs/breadcrumbs.scss +7 -0
  8. package/breadcrumbs/index.d.ts +243 -1
  9. package/button/_button-base.scss +20 -0
  10. package/button/_button-theme.scss +3 -11
  11. package/button/button.scss +0 -11
  12. package/button/index.d.ts +153 -1
  13. package/button-toggle/index.d.ts +155 -1
  14. package/checkbox/index.d.ts +159 -1
  15. package/clamped-text/index.d.ts +144 -4
  16. package/code-block/_code-block-theme.scss +0 -6
  17. package/code-block/code-block-tokens.scss +0 -2
  18. package/code-block/index.d.ts +383 -1
  19. package/content-panel/content-panel.scss +0 -8
  20. package/content-panel/index.d.ts +158 -2
  21. package/core/highlight/_highlight-theme.scss +9 -0
  22. package/core/index.d.ts +4405 -1
  23. package/core/option/_option-theme.scss +5 -14
  24. package/core/styles/_koobiq-theme.scss +1 -0
  25. package/core/styles/theming/_components-theming.scss +0 -62
  26. package/datepicker/index.d.ts +699 -1
  27. package/divider/index.d.ts +20 -1
  28. package/dl/index.d.ts +37 -1
  29. package/dropdown/_dropdown-theme.scss +4 -8
  30. package/dropdown/dropdown.scss +4 -0
  31. package/dropdown/index.d.ts +473 -1
  32. package/dynamic-translation/index.d.ts +81 -2
  33. package/ellipsis-center/index.d.ts +38 -1
  34. package/empty-state/index.d.ts +45 -1
  35. package/fesm2022/koobiq-components-accordion.mjs +103 -114
  36. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-actions-panel.mjs +16 -16
  38. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-alert.mjs +35 -49
  40. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-app-switcher.mjs +81 -86
  42. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-autocomplete.mjs +294 -304
  44. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-badge.mjs +35 -42
  46. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-breadcrumbs.mjs +154 -163
  48. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-button-toggle.mjs +87 -86
  50. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-button.mjs +209 -96
  52. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-checkbox.mjs +50 -52
  54. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-clamped-text.mjs +42 -49
  56. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-code-block.mjs +111 -136
  58. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-content-panel.mjs +90 -107
  60. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-core.mjs +1635 -628
  62. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-datepicker.mjs +285 -349
  64. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-divider.mjs +14 -25
  66. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-dl.mjs +27 -29
  68. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-dropdown.mjs +202 -167
  70. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-dynamic-translation.mjs +23 -23
  72. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-ellipsis-center.mjs +16 -21
  74. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-empty-state.mjs +35 -39
  76. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-file-upload.mjs +135 -234
  78. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-filter-bar.mjs +321 -561
  80. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-form-field.mjs +211 -430
  82. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-icon.mjs +42 -43
  84. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-inline-edit.mjs +65 -60
  86. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-input.mjs +116 -155
  88. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-link.mjs +38 -53
  90. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-list.mjs +105 -114
  92. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-loader-overlay.mjs +37 -44
  94. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-markdown.mjs +31 -35
  96. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-modal.mjs +169 -163
  98. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-navbar.mjs +162 -164
  100. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-notification-center.mjs +65 -203
  102. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-overflow-items.mjs +36 -36
  104. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-popover.mjs +95 -86
  106. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-progress-bar.mjs +24 -30
  108. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-progress-spinner.mjs +25 -32
  110. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-radio.mjs +94 -80
  112. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-resizer.mjs +17 -17
  114. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-scrollbar.mjs +69 -60
  116. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-search-expandable.mjs +44 -35
  118. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-select.mjs +249 -234
  120. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-sidebar.mjs +59 -55
  122. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-sidepanel.mjs +88 -128
  124. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-skeleton.mjs +12 -12
  126. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-split-button.mjs +27 -20
  128. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-splitter.mjs +110 -96
  130. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-table.mjs +21 -23
  132. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-tabs.mjs +269 -275
  134. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-tags.mjs +177 -267
  136. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-textarea.mjs +37 -56
  138. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-time-range.mjs +64 -65
  140. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-timepicker.mjs +46 -38
  142. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-timezone.mjs +52 -58
  144. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-title.mjs +23 -30
  146. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-toast.mjs +54 -69
  148. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-toggle.mjs +51 -63
  150. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-tooltip.mjs +91 -119
  152. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-top-bar.mjs +25 -23
  154. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-tree-select.mjs +227 -227
  156. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-tree.mjs +217 -209
  158. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-username.mjs +48 -48
  160. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  161. package/file-upload/index.d.ts +574 -1
  162. package/filter-bar/_filter-bar-theme.scss +0 -4
  163. package/filter-bar/index.d.ts +796 -1
  164. package/form-field/index.d.ts +569 -1
  165. package/icon/index.d.ts +162 -1
  166. package/index.d.ts +2 -1
  167. package/inline-edit/index.d.ts +171 -2
  168. package/input/index.d.ts +339 -1
  169. package/link/index.d.ts +56 -1
  170. package/list/index.d.ts +220 -1
  171. package/loader-overlay/index.d.ts +57 -1
  172. package/markdown/index.d.ts +68 -1
  173. package/modal/_modal-theme.scss +0 -8
  174. package/modal/index.d.ts +311 -1
  175. package/navbar/index.d.ts +304 -1
  176. package/navbar/navbar-item.scss +0 -9
  177. package/notification-center/_notification-center-theme.scss +1 -2
  178. package/notification-center/index.d.ts +237 -1
  179. package/notification-center/notification-center.scss +3 -36
  180. package/notification-center/notification-item.scss +1 -1
  181. package/overflow-items/index.d.ts +161 -2
  182. package/package.json +9 -17
  183. package/popover/index.d.ts +182 -1
  184. package/popover/popover.scss +8 -12
  185. package/prebuilt-themes/dark-theme.css +1 -1
  186. package/prebuilt-themes/light-theme.css +1 -1
  187. package/prebuilt-themes/theme.css +1 -1
  188. package/progress-bar/index.d.ts +31 -1
  189. package/progress-spinner/index.d.ts +37 -1
  190. package/radio/index.d.ts +207 -1
  191. package/resizer/index.d.ts +85 -2
  192. package/schematics/collection.json +5 -0
  193. package/schematics/migrations/css-selectors/index.js +1 -1
  194. package/schematics/migrations/deprecated-icons/index.js +1 -1
  195. package/schematics/migrations/new-icons-pack/index.js +1 -1
  196. package/schematics/migrations/v20-upgrade/README.md +72 -0
  197. package/schematics/migrations/v20-upgrade/data.js +274 -0
  198. package/schematics/migrations/v20-upgrade/index.js +222 -0
  199. package/schematics/migrations/v20-upgrade/schema.json +20 -0
  200. package/schematics/migrations.json +10 -0
  201. package/schematics/ng-add/index.js +3 -4
  202. package/scrollbar/index.d.ts +136 -1
  203. package/search-expandable/index.d.ts +98 -1
  204. package/select/index.d.ts +693 -1
  205. package/sidebar/index.d.ts +92 -1
  206. package/sidepanel/index.d.ts +263 -1
  207. package/sidepanel/sidepanel.scss +0 -8
  208. package/skeleton/index.d.ts +26 -2
  209. package/split-button/index.d.ts +46 -1
  210. package/splitter/index.d.ts +141 -1
  211. package/table/index.d.ts +23 -1
  212. package/tabs/_tabs-common.scss +27 -0
  213. package/tabs/_tabs-theme.scss +2 -2
  214. package/tabs/index.d.ts +645 -1
  215. package/tags/index.d.ts +706 -1
  216. package/textarea/index.d.ts +134 -1
  217. package/time-range/index.d.ts +310 -7
  218. package/timepicker/index.d.ts +193 -1
  219. package/timezone/index.d.ts +122 -1
  220. package/title/index.d.ts +41 -1
  221. package/toast/index.d.ts +164 -1
  222. package/toggle/index.d.ts +84 -1
  223. package/tooltip/index.d.ts +163 -1
  224. package/top-bar/index.d.ts +33 -1
  225. package/tree/_tree-theme.scss +4 -0
  226. package/tree/index.d.ts +718 -1
  227. package/tree/tree-option.scss +20 -7
  228. package/tree-select/_tree-select-theme.scss +39 -0
  229. package/tree-select/index.d.ts +377 -1
  230. package/username/index.d.ts +176 -5
  231. package/accordion/accordion-content.d.ts +0 -6
  232. package/accordion/accordion-content.directive.d.ts +0 -27
  233. package/accordion/accordion-header.d.ts +0 -6
  234. package/accordion/accordion-header.directive.d.ts +0 -7
  235. package/accordion/accordion-item.d.ts +0 -77
  236. package/accordion/accordion-trigger.component.d.ts +0 -24
  237. package/accordion/accordion-trigger.directive.d.ts +0 -21
  238. package/accordion/accordion.component.d.ts +0 -79
  239. package/accordion/accordion.module.d.ts +0 -12
  240. package/accordion/public-api.d.ts +0 -9
  241. package/actions-panel/actions-panel-config.d.ts +0 -82
  242. package/actions-panel/actions-panel-container.d.ts +0 -90
  243. package/actions-panel/actions-panel-ref.d.ts +0 -44
  244. package/actions-panel/actions-panel.d.ts +0 -84
  245. package/actions-panel/module.d.ts +0 -7
  246. package/alert/alert.component.d.ts +0 -43
  247. package/alert/alert.module.d.ts +0 -9
  248. package/alert/public-api.d.ts +0 -2
  249. package/app-switcher/app-switcher-animations.d.ts +0 -5
  250. package/app-switcher/app-switcher-dropdown-app.d.ts +0 -11
  251. package/app-switcher/app-switcher-dropdown-site.d.ts +0 -9
  252. package/app-switcher/app-switcher.d.ts +0 -198
  253. package/app-switcher/app-switcher.module.d.ts +0 -10
  254. package/app-switcher/kbq-app-switcher-list-item.d.ts +0 -16
  255. package/app-switcher/public-api.d.ts +0 -6
  256. package/autocomplete/autocomplete-origin.directive.d.ts +0 -12
  257. package/autocomplete/autocomplete-trigger.directive.d.ts +0 -169
  258. package/autocomplete/autocomplete.component.d.ts +0 -88
  259. package/autocomplete/autocomplete.module.d.ts +0 -12
  260. package/autocomplete/public-api.d.ts +0 -4
  261. package/badge/badge.component.d.ts +0 -46
  262. package/badge/badge.module.d.ts +0 -9
  263. package/badge/public-api.d.ts +0 -2
  264. package/breadcrumbs/breadcrumbs.d.ts +0 -127
  265. package/breadcrumbs/breadcrumbs.module.d.ts +0 -7
  266. package/breadcrumbs/breadcrumbs.types.d.ts +0 -22
  267. package/breadcrumbs/public-api.d.ts +0 -5
  268. package/breadcrumbs/roving-focus-group.directive.d.ts +0 -50
  269. package/breadcrumbs/roving-focus-item.directive.d.ts +0 -50
  270. package/breadcrumbs/utils.d.ts +0 -19
  271. package/button/button-group.d.ts +0 -45
  272. package/button/button.component.d.ts +0 -59
  273. package/button/button.dropdown-trigger.directive.d.ts +0 -14
  274. package/button/button.module.d.ts +0 -12
  275. package/button/public-api.d.ts +0 -4
  276. package/button-toggle/button-toggle.component.d.ts +0 -146
  277. package/button-toggle/button-toggle.module.d.ts +0 -9
  278. package/button-toggle/public-api.d.ts +0 -2
  279. package/checkbox/checkbox-config.d.ts +0 -13
  280. package/checkbox/checkbox-module.d.ts +0 -9
  281. package/checkbox/checkbox-required-validator.d.ts +0 -13
  282. package/checkbox/checkbox.d.ts +0 -128
  283. package/checkbox/public-api.d.ts +0 -4
  284. package/clamped-text/clamped-list.d.ts +0 -41
  285. package/clamped-text/clamped-text.d.ts +0 -65
  286. package/clamped-text/constants.d.ts +0 -34
  287. package/clamped-text/module.d.ts +0 -8
  288. package/code-block/code-block-highlight.d.ts +0 -98
  289. package/code-block/code-block.d.ts +0 -259
  290. package/code-block/code-block.module.d.ts +0 -7
  291. package/code-block/public-api.d.ts +0 -4
  292. package/code-block/types.d.ts +0 -36
  293. package/content-panel/content-panel.d.ts +0 -149
  294. package/content-panel/module.d.ts +0 -7
  295. package/core/animation/animation.d.ts +0 -37
  296. package/core/animation/fade-animations.d.ts +0 -2
  297. package/core/animation/index.d.ts +0 -3
  298. package/core/animation/select-animations.d.ts +0 -12
  299. package/core/common-behaviors/checkbox.d.ts +0 -5
  300. package/core/common-behaviors/clipboard.d.ts +0 -12
  301. package/core/common-behaviors/color.d.ts +0 -50
  302. package/core/common-behaviors/common-module.d.ts +0 -38
  303. package/core/common-behaviors/constructor.d.ts +0 -9
  304. package/core/common-behaviors/disabled.d.ts +0 -8
  305. package/core/common-behaviors/error-state.d.ts +0 -46
  306. package/core/common-behaviors/flex.d.ts +0 -4
  307. package/core/common-behaviors/hover.d.ts +0 -15
  308. package/core/common-behaviors/index.d.ts +0 -14
  309. package/core/common-behaviors/orientation.d.ts +0 -4
  310. package/core/common-behaviors/read-state.d.ts +0 -12
  311. package/core/common-behaviors/size.d.ts +0 -4
  312. package/core/common-behaviors/tabindex.d.ts +0 -8
  313. package/core/datetime/date-adapter.d.ts +0 -12
  314. package/core/datetime/date-formats.d.ts +0 -4
  315. package/core/datetime/index.d.ts +0 -2
  316. package/core/error/error-state-matcher.d.ts +0 -39
  317. package/core/form-field/field-sizing-content.d.ts +0 -21
  318. package/core/form-field/form-field-ref.d.ts +0 -28
  319. package/core/form-field/index.d.ts +0 -2
  320. package/core/formatters/date/formatter.d.ts +0 -11
  321. package/core/formatters/date/formatter.pipe.d.ts +0 -139
  322. package/core/formatters/filesize/config.d.ts +0 -66
  323. package/core/formatters/filesize/formatter.d.ts +0 -17
  324. package/core/formatters/filesize/index.d.ts +0 -3
  325. package/core/formatters/filesize/size.d.ts +0 -52
  326. package/core/formatters/index.d.ts +0 -13
  327. package/core/formatters/number/formatter.d.ts +0 -101
  328. package/core/forms/forms-module.d.ts +0 -7
  329. package/core/forms/forms.directive.d.ts +0 -22
  330. package/core/forms/index.d.ts +0 -3
  331. package/core/forms/validators.d.ts +0 -120
  332. package/core/highlight/highlight.pipe.d.ts +0 -10
  333. package/core/highlight/index.d.ts +0 -9
  334. package/core/line/line.d.ts +0 -23
  335. package/core/locales/en-US.d.ts +0 -176
  336. package/core/locales/es-LA.d.ts +0 -175
  337. package/core/locales/formatters.d.ts +0 -190
  338. package/core/locales/index.d.ts +0 -9
  339. package/core/locales/locale-service.d.ts +0 -1117
  340. package/core/locales/locale-service.module.d.ts +0 -6
  341. package/core/locales/pt-BR.d.ts +0 -175
  342. package/core/locales/ru-RU.d.ts +0 -176
  343. package/core/locales/tk-TM.d.ts +0 -176
  344. package/core/locales/types.d.ts +0 -77
  345. package/core/navbar/index.d.ts +0 -1
  346. package/core/navbar/rectangle-item.d.ts +0 -14
  347. package/core/option/action-container.d.ts +0 -5
  348. package/core/option/action.d.ts +0 -38
  349. package/core/option/index.d.ts +0 -5
  350. package/core/option/optgroup.d.ts +0 -16
  351. package/core/option/option-module.d.ts +0 -10
  352. package/core/option/option.d.ts +0 -170
  353. package/core/overlay/overlay-position-map.d.ts +0 -40
  354. package/core/pop-up/constants.d.ts +0 -56
  355. package/core/pop-up/focus-trap-strategy.d.ts +0 -5
  356. package/core/pop-up/index.d.ts +0 -5
  357. package/core/pop-up/pop-up-styles.d.ts +0 -2
  358. package/core/pop-up/pop-up-trigger.d.ts +0 -104
  359. package/core/pop-up/pop-up.d.ts +0 -57
  360. package/core/public-api.d.ts +0 -23
  361. package/core/select/common.d.ts +0 -59
  362. package/core/select/constants.d.ts +0 -22
  363. package/core/select/errors.d.ts +0 -19
  364. package/core/select/events.d.ts +0 -1
  365. package/core/select/index.d.ts +0 -4
  366. package/core/selection/constants.d.ts +0 -4
  367. package/core/selection/index.d.ts +0 -3
  368. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +0 -23
  369. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +0 -8
  370. package/core/services/measure-scrollbar.service.d.ts +0 -11
  371. package/core/services/theme.service.d.ts +0 -41
  372. package/core/title/index.d.ts +0 -1
  373. package/core/title/title-text-ref.d.ts +0 -6
  374. package/core/tokens/index.d.ts +0 -1
  375. package/core/tokens/window.d.ts +0 -5
  376. package/core/utils/dom.d.ts +0 -4
  377. package/core/utils/index.d.ts +0 -2
  378. package/core/utils/public-api.d.ts +0 -1
  379. package/core/utils/utils.d.ts +0 -25
  380. package/core/validation/index.d.ts +0 -1
  381. package/core/validation/validation.d.ts +0 -29
  382. package/core/version.d.ts +0 -2
  383. package/datepicker/calendar-body.component.d.ts +0 -55
  384. package/datepicker/calendar-header.component.d.ts +0 -51
  385. package/datepicker/calendar.component.d.ts +0 -89
  386. package/datepicker/datepicker-animations.d.ts +0 -9
  387. package/datepicker/datepicker-errors.d.ts +0 -2
  388. package/datepicker/datepicker-input.directive.d.ts +0 -221
  389. package/datepicker/datepicker-intl.d.ts +0 -32
  390. package/datepicker/datepicker-module.d.ts +0 -21
  391. package/datepicker/datepicker-toggle.component.d.ts +0 -57
  392. package/datepicker/datepicker.component.d.ts +0 -148
  393. package/datepicker/month-view.component.d.ts +0 -73
  394. package/datepicker/public-api.d.ts +0 -10
  395. package/divider/divider.component.d.ts +0 -18
  396. package/divider/divider.module.d.ts +0 -8
  397. package/divider/public-api.d.ts +0 -2
  398. package/dl/dl.component.d.ts +0 -26
  399. package/dl/dl.module.d.ts +0 -9
  400. package/dl/public-api.d.ts +0 -2
  401. package/dropdown/dropdown-animations.d.ts +0 -11
  402. package/dropdown/dropdown-content.directive.d.ts +0 -32
  403. package/dropdown/dropdown-errors.d.ts +0 -17
  404. package/dropdown/dropdown-item.component.d.ts +0 -52
  405. package/dropdown/dropdown-trigger.directive.d.ts +0 -156
  406. package/dropdown/dropdown.component.d.ts +0 -126
  407. package/dropdown/dropdown.module.d.ts +0 -13
  408. package/dropdown/dropdown.types.d.ts +0 -67
  409. package/dropdown/public-api.d.ts +0 -8
  410. package/dynamic-translation/dynamic-translation.d.ts +0 -72
  411. package/dynamic-translation/module.d.ts +0 -7
  412. package/ellipsis-center/ellipsis-center.directive.d.ts +0 -36
  413. package/ellipsis-center/public-api.d.ts +0 -1
  414. package/empty-state/empty-state.component.d.ts +0 -36
  415. package/empty-state/empty-state.module.d.ts +0 -9
  416. package/empty-state/public-api.d.ts +0 -2
  417. package/fesm2022/koobiq-components-navbar-ic.mjs +0 -863
  418. package/fesm2022/koobiq-components-navbar-ic.mjs.map +0 -1
  419. package/fesm2022/koobiq-components-risk-level.mjs +0 -75
  420. package/fesm2022/koobiq-components-risk-level.mjs.map +0 -1
  421. package/file-upload/dropzone.d.ts +0 -147
  422. package/file-upload/file-upload.d.ts +0 -102
  423. package/file-upload/file-upload.module.d.ts +0 -20
  424. package/file-upload/multiple-file-upload.component.d.ts +0 -138
  425. package/file-upload/primitives/file-drop.d.ts +0 -35
  426. package/file-upload/primitives/file-picker.d.ts +0 -82
  427. package/file-upload/primitives/index.d.ts +0 -2
  428. package/file-upload/public-api.d.ts +0 -7
  429. package/file-upload/single-file-upload.component.d.ts +0 -118
  430. package/filter-bar/filter-bar-button.d.ts +0 -14
  431. package/filter-bar/filter-bar.d.ts +0 -81
  432. package/filter-bar/filter-bar.module.d.ts +0 -17
  433. package/filter-bar/filter-bar.types.d.ts +0 -143
  434. package/filter-bar/filter-refresher.d.ts +0 -5
  435. package/filter-bar/filter-reset.d.ts +0 -15
  436. package/filter-bar/filter-search.d.ts +0 -54
  437. package/filter-bar/filter-search.scss +0 -12
  438. package/filter-bar/filters.d.ts +0 -122
  439. package/filter-bar/pipe-add.d.ts +0 -28
  440. package/filter-bar/pipe.directive.d.ts +0 -13
  441. package/filter-bar/pipes/base-pipe.d.ts +0 -74
  442. package/filter-bar/pipes/pipe-button.d.ts +0 -21
  443. package/filter-bar/pipes/pipe-date.d.ts +0 -65
  444. package/filter-bar/pipes/pipe-datetime.d.ts +0 -66
  445. package/filter-bar/pipes/pipe-multi-select.d.ts +0 -56
  446. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +0 -67
  447. package/filter-bar/pipes/pipe-readonly.d.ts +0 -7
  448. package/filter-bar/pipes/pipe-select.d.ts +0 -30
  449. package/filter-bar/pipes/pipe-state.d.ts +0 -21
  450. package/filter-bar/pipes/pipe-text.d.ts +0 -26
  451. package/filter-bar/pipes/pipe-title.d.ts +0 -27
  452. package/filter-bar/pipes/pipe-tree-select.d.ts +0 -42
  453. package/filter-bar/public-api.d.ts +0 -21
  454. package/form-field/cleaner.d.ts +0 -11
  455. package/form-field/error.d.ts +0 -8
  456. package/form-field/fieldset.d.ts +0 -27
  457. package/form-field/form-field-control.d.ts +0 -40
  458. package/form-field/form-field.d.ts +0 -298
  459. package/form-field/form-field.module.d.ts +0 -19
  460. package/form-field/hint.d.ts +0 -15
  461. package/form-field/label.d.ts +0 -6
  462. package/form-field/password-hint.d.ts +0 -53
  463. package/form-field/password-toggle.d.ts +0 -56
  464. package/form-field/prefix.d.ts +0 -6
  465. package/form-field/public-api.d.ts +0 -15
  466. package/form-field/reactive-password-hint.d.ts +0 -20
  467. package/form-field/stepper.d.ts +0 -59
  468. package/form-field/suffix.d.ts +0 -6
  469. package/form-field/validate.directive.d.ts +0 -53
  470. package/icon/icon-button.component.d.ts +0 -28
  471. package/icon/icon-item.component.d.ts +0 -11
  472. package/icon/icon-registry-providers.d.ts +0 -34
  473. package/icon/icon-registry.d.ts +0 -50
  474. package/icon/icon.component.d.ts +0 -33
  475. package/icon/icon.module.d.ts +0 -9
  476. package/icon/public-api.d.ts +0 -6
  477. package/inline-edit/inline-edit.d.ts +0 -161
  478. package/inline-edit/module.d.ts +0 -7
  479. package/input/input-errors.d.ts +0 -1
  480. package/input/input-number-validators.d.ts +0 -35
  481. package/input/input-number.d.ts +0 -96
  482. package/input/input-password.d.ts +0 -99
  483. package/input/input-value-accessor.d.ts +0 -4
  484. package/input/input.d.ts +0 -109
  485. package/input/input.module.d.ts +0 -14
  486. package/input/public-api.d.ts +0 -6
  487. package/link/link.component.d.ts +0 -53
  488. package/link/link.module.d.ts +0 -8
  489. package/link/public-api.d.ts +0 -2
  490. package/list/list-selection.component.d.ts +0 -196
  491. package/list/list.component.d.ts +0 -18
  492. package/list/list.module.d.ts +0 -11
  493. package/list/public-api.d.ts +0 -3
  494. package/loader-overlay/loader-overlay.component.d.ts +0 -47
  495. package/loader-overlay/loader-overlay.module.d.ts +0 -10
  496. package/loader-overlay/public-api.d.ts +0 -2
  497. package/markdown/markdown.component.d.ts +0 -31
  498. package/markdown/markdown.module.d.ts +0 -7
  499. package/markdown/markdown.service.d.ts +0 -19
  500. package/markdown/markdown.values.d.ts +0 -10
  501. package/markdown/public-api.d.ts +0 -4
  502. package/modal/css-unit.pipe.d.ts +0 -7
  503. package/modal/modal-control.service.d.ts +0 -20
  504. package/modal/modal-ref.class.d.ts +0 -37
  505. package/modal/modal-util.d.ts +0 -15
  506. package/modal/modal.component.d.ts +0 -141
  507. package/modal/modal.directive.d.ts +0 -20
  508. package/modal/modal.module.d.ts +0 -15
  509. package/modal/modal.service.d.ts +0 -42
  510. package/modal/modal.type.d.ts +0 -72
  511. package/modal/public-api.d.ts +0 -6
  512. package/navbar/navbar-brand.component.d.ts +0 -41
  513. package/navbar/navbar-item.component.d.ts +0 -131
  514. package/navbar/navbar-toggle.component.d.ts +0 -23
  515. package/navbar/navbar.component.d.ts +0 -68
  516. package/navbar/navbar.module.d.ts +0 -15
  517. package/navbar/public-api.d.ts +0 -6
  518. package/navbar/vertical-navbar.component.d.ts +0 -47
  519. package/navbar-ic/_navbar-ic-theme.scss +0 -81
  520. package/navbar-ic/index.d.ts +0 -1
  521. package/navbar-ic/navbar-ic-divider.scss +0 -7
  522. package/navbar-ic/navbar-ic-header.d.ts +0 -22
  523. package/navbar-ic/navbar-ic-header.scss +0 -49
  524. package/navbar-ic/navbar-ic-item.d.ts +0 -144
  525. package/navbar-ic/navbar-ic-item.scss +0 -92
  526. package/navbar-ic/navbar-ic-tokens.scss +0 -22
  527. package/navbar-ic/navbar-ic.animation.d.ts +0 -3
  528. package/navbar-ic/navbar-ic.d.ts +0 -118
  529. package/navbar-ic/navbar-ic.module.d.ts +0 -14
  530. package/navbar-ic/navbar-ic.scss +0 -32
  531. package/navbar-ic/public-api.d.ts +0 -4
  532. package/notification-center/notification-center-animations.d.ts +0 -5
  533. package/notification-center/notification-center.d.ts +0 -184
  534. package/notification-center/notification-center.module.d.ts +0 -7
  535. package/notification-center/notification-center.service.d.ts +0 -115
  536. package/notification-center/notification-item.d.ts +0 -27
  537. package/notification-center/public-api.d.ts +0 -4
  538. package/overflow-items/module.d.ts +0 -7
  539. package/overflow-items/overflow-items.d.ts +0 -152
  540. package/popover/popover-animations.d.ts +0 -4
  541. package/popover/popover-confirm.component.d.ts +0 -28
  542. package/popover/popover.component.d.ts +0 -139
  543. package/popover/popover.module.d.ts +0 -14
  544. package/popover/public-api.d.ts +0 -4
  545. package/progress-bar/progress-bar.component.d.ts +0 -20
  546. package/progress-bar/progress-bar.module.d.ts +0 -8
  547. package/progress-bar/public-api.d.ts +0 -2
  548. package/progress-spinner/progress-spinner.component.d.ts +0 -26
  549. package/progress-spinner/progress-spinner.module.d.ts +0 -9
  550. package/progress-spinner/public-api.d.ts +0 -2
  551. package/public-api.d.ts +0 -1
  552. package/radio/public-api.d.ts +0 -2
  553. package/radio/radio.component.d.ts +0 -200
  554. package/radio/radio.module.d.ts +0 -8
  555. package/resizer/module.d.ts +0 -7
  556. package/resizer/resizer.d.ts +0 -75
  557. package/risk-level/_risk-level-theme.scss +0 -74
  558. package/risk-level/index.d.ts +0 -1
  559. package/risk-level/public-api.d.ts +0 -2
  560. package/risk-level/risk-level-tokens.scss +0 -33
  561. package/risk-level/risk-level.component.d.ts +0 -21
  562. package/risk-level/risk-level.component.scss +0 -22
  563. package/risk-level/risk-level.module.d.ts +0 -12
  564. package/scrollbar/public-api.d.ts +0 -4
  565. package/scrollbar/scrollbar.component.d.ts +0 -37
  566. package/scrollbar/scrollbar.directive.d.ts +0 -29
  567. package/scrollbar/scrollbar.module.d.ts +0 -8
  568. package/scrollbar/scrollbar.types.d.ts +0 -33
  569. package/search-expandable/public-api.d.ts +0 -2
  570. package/search-expandable/search-expandable.d.ts +0 -89
  571. package/search-expandable/search-expandable.module.d.ts +0 -7
  572. package/select/public-api.d.ts +0 -4
  573. package/select/select-common.d.ts +0 -30
  574. package/select/select-option.directive.d.ts +0 -21
  575. package/select/select.component.d.ts +0 -627
  576. package/select/select.module.d.ts +0 -17
  577. package/sidebar/public-api.d.ts +0 -2
  578. package/sidebar/sidebar-animations.d.ts +0 -8
  579. package/sidebar/sidebar.component.d.ts +0 -80
  580. package/sidebar/sidebar.module.d.ts +0 -8
  581. package/sidepanel/public-api.d.ts +0 -6
  582. package/sidepanel/sidepanel-animations.d.ts +0 -20
  583. package/sidepanel/sidepanel-config.d.ts +0 -43
  584. package/sidepanel/sidepanel-container.component.d.ts +0 -67
  585. package/sidepanel/sidepanel-directives.d.ts +0 -61
  586. package/sidepanel/sidepanel-ref.d.ts +0 -36
  587. package/sidepanel/sidepanel.module.d.ts +0 -14
  588. package/sidepanel/sidepanel.service.d.ts +0 -58
  589. package/skeleton/module.d.ts +0 -7
  590. package/skeleton/skeleton.d.ts +0 -17
  591. package/split-button/public-api.d.ts +0 -2
  592. package/split-button/split-button.d.ts +0 -37
  593. package/split-button/split-button.module.d.ts +0 -7
  594. package/splitter/public-api.d.ts +0 -2
  595. package/splitter/splitter.component.d.ts +0 -136
  596. package/splitter/splitter.module.d.ts +0 -8
  597. package/table/public-api.d.ts +0 -2
  598. package/table/table.component.d.ts +0 -12
  599. package/table/table.module.d.ts +0 -9
  600. package/tabs/paginated-tab-header.d.ts +0 -182
  601. package/tabs/public-api.d.ts +0 -10
  602. package/tabs/tab-body.component.d.ts +0 -95
  603. package/tabs/tab-content.directive.d.ts +0 -9
  604. package/tabs/tab-group.component.d.ts +0 -137
  605. package/tabs/tab-header.component.d.ts +0 -32
  606. package/tabs/tab-label-wrapper.directive.d.ts +0 -29
  607. package/tabs/tab-label.directive.d.ts +0 -9
  608. package/tabs/tab-nav-bar.d.ts +0 -91
  609. package/tabs/tab.component.d.ts +0 -68
  610. package/tabs/tabs-animations.d.ts +0 -4
  611. package/tabs/tabs.module.d.ts +0 -20
  612. package/tags/public-api.d.ts +0 -5
  613. package/tags/tag-default-options.d.ts +0 -13
  614. package/tags/tag-input.d.ts +0 -110
  615. package/tags/tag-list.component.d.ts +0 -373
  616. package/tags/tag-text-control.d.ts +0 -10
  617. package/tags/tag.component.d.ts +0 -272
  618. package/tags/tag.module.d.ts +0 -10
  619. package/textarea/public-api.d.ts +0 -2
  620. package/textarea/textarea.component.d.ts +0 -123
  621. package/textarea/textarea.module.d.ts +0 -10
  622. package/time-range/constants.d.ts +0 -19
  623. package/time-range/module.d.ts +0 -10
  624. package/time-range/time-range-editor.d.ts +0 -65
  625. package/time-range/time-range-title-as-form-field.d.ts +0 -41
  626. package/time-range/time-range-title.d.ts +0 -18
  627. package/time-range/time-range.d.ts +0 -78
  628. package/time-range/time-range.service.d.ts +0 -25
  629. package/time-range/types.d.ts +0 -69
  630. package/timepicker/public-api.d.ts +0 -3
  631. package/timepicker/timepicker.constants.d.ts +0 -22
  632. package/timepicker/timepicker.directive.d.ts +0 -159
  633. package/timepicker/timepicker.module.d.ts +0 -11
  634. package/timezone/cities-by-filter.pipe.d.ts +0 -7
  635. package/timezone/public-api.d.ts +0 -6
  636. package/timezone/timezone-option.component.d.ts +0 -15
  637. package/timezone/timezone-option.directive.d.ts +0 -22
  638. package/timezone/timezone-select.component.d.ts +0 -16
  639. package/timezone/timezone.models.d.ts +0 -16
  640. package/timezone/timezone.module.d.ts +0 -20
  641. package/timezone/timezone.utils.d.ts +0 -22
  642. package/timezone/utc-offset.pipe.d.ts +0 -9
  643. package/title/public-api.d.ts +0 -2
  644. package/title/title.directive.d.ts +0 -33
  645. package/title/title.module.d.ts +0 -8
  646. package/toast/public-api.d.ts +0 -5
  647. package/toast/toast-animations.d.ts +0 -5
  648. package/toast/toast-container.component.d.ts +0 -19
  649. package/toast/toast.component.d.ts +0 -41
  650. package/toast/toast.module.d.ts +0 -8
  651. package/toast/toast.service.d.ts +0 -61
  652. package/toast/toast.type.d.ts +0 -44
  653. package/toggle/public-api.d.ts +0 -2
  654. package/toggle/toggle.component.d.ts +0 -77
  655. package/toggle/toggle.module.d.ts +0 -8
  656. package/tooltip/public-api.d.ts +0 -2
  657. package/tooltip/tooltip.animations.d.ts +0 -8
  658. package/tooltip/tooltip.component.d.ts +0 -156
  659. package/tooltip/tooltip.module.d.ts +0 -7
  660. package/top-bar/module.d.ts +0 -7
  661. package/top-bar/public-api.d.ts +0 -2
  662. package/top-bar/top-bar.d.ts +0 -25
  663. package/tree/control/base-tree-control.d.ts +0 -40
  664. package/tree/control/flat-tree-control.d.ts +0 -55
  665. package/tree/control/flat-tree-control.filters.d.ts +0 -27
  666. package/tree/control/nested-tree-control.d.ts +0 -19
  667. package/tree/control/tree-control.d.ts +0 -44
  668. package/tree/data-source/flat-data-source.d.ts +0 -80
  669. package/tree/data-source/nested-data-source.d.ts +0 -15
  670. package/tree/node.d.ts +0 -34
  671. package/tree/outlet.d.ts +0 -9
  672. package/tree/padding.directive.d.ts +0 -45
  673. package/tree/public-api.d.ts +0 -16
  674. package/tree/toggle.d.ts +0 -28
  675. package/tree/tree-base.d.ts +0 -96
  676. package/tree/tree-errors.d.ts +0 -25
  677. package/tree/tree-option.component.d.ts +0 -89
  678. package/tree/tree-selection.component.d.ts +0 -156
  679. package/tree/tree.d.ts +0 -6
  680. package/tree/tree.module.d.ts +0 -16
  681. package/tree-select/public-api.d.ts +0 -2
  682. package/tree-select/tree-select.component.d.ts +0 -360
  683. package/tree-select/tree-select.module.d.ts +0 -15
  684. package/username/constants.d.ts +0 -15
  685. package/username/module.d.ts +0 -8
  686. package/username/types.d.ts +0 -62
  687. package/username/username.d.ts +0 -68
  688. package/username/username.pipe.d.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-notification-center.mjs","sources":["../../../packages/components/notification-center/notification-center-animations.ts","../../../packages/components/notification-center/notification-center.service.ts","../../../packages/components/notification-center/notification-item.ts","../../../packages/components/notification-center/notification-item.html","../../../packages/components/notification-center/notification-center.ts","../../../packages/components/notification-center/notification-center.html","../../../packages/components/notification-center/notification-center.module.ts","../../../packages/components/notification-center/koobiq-components-notification-center.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\nimport { KbqAnimationDurations } from '@koobiq/components/core';\n\n/** @docs-private */\nexport const KbqNotificationCenterAnimations: {\n readonly state: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n state: trigger('state', [\n state(\n 'initial',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })\n ),\n transition(\n '* => visible',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ),\n transition('* => hidden', animate(`${KbqAnimationDurations.Rapid} linear`, style({ opacity: 0 })))\n ])\n};\n","import { EventEmitter, inject, Injectable, TemplateRef } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DateAdapter, DateFormatter } from '@koobiq/components/core';\nimport { KbqToastData, KbqToastService, KbqToastStyle } from '@koobiq/components/toast';\nimport { BehaviorSubject, combineLatestWith, merge, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport interface KbqNotificationItem extends Omit<KbqToastData, 'closeButton'> {\n id?: string;\n\n /** Numeric id of the shown toast, set by `push()` and consumed by `hideToast()`. */\n toastId?: number;\n\n title?: string | TemplateRef<unknown>;\n style?: string | KbqToastStyle;\n\n icon?: boolean | TemplateRef<unknown>;\n iconClass?: string;\n caption?: string | TemplateRef<unknown>;\n\n content?: string | TemplateRef<unknown>;\n actions?: TemplateRef<unknown>;\n\n date: string;\n read?: boolean;\n}\n\nexport const maxUnreadItemsLength = 99;\n\ntype KbqNotificationsGroup = { title: string; items: KbqNotificationItem[] };\n\ntype KbqNotificationsGroups = Record<string, KbqNotificationsGroup>;\n\n/** Payload emitted by `KbqNotificationCenterService.onDelete`. */\nexport type KbqNotificationDeleteEvent = {\n /** What was removed: a single item, a whole date group, or all notifications. */\n type: 'item' | 'group' | 'all';\n /** The notification items that were removed. */\n items: KbqNotificationItem[];\n};\n\n@Injectable({ providedIn: 'root' })\nexport class KbqNotificationCenterService {\n /** @docs-private */\n private readonly adapter = inject(DateAdapter);\n /** @docs-private */\n private readonly formatter = inject(DateFormatter);\n /** @docs-private */\n private readonly toastService = inject(KbqToastService);\n\n /** @docs-private */\n readonly silentMode = new BehaviorSubject(false);\n /** @docs-private */\n readonly loadingMode = new BehaviorSubject(false);\n /** @docs-private */\n readonly errorMode = new BehaviorSubject(false);\n /**\n * Whether the bottom \"load more\" spinner is shown while the next page is being loaded.\n * Note: this is the infinite-scroll indicator and is distinct from `loadingMode`,\n * which renders the full-screen loader instead of the list.\n */\n readonly loadingMore = new BehaviorSubject(false);\n /**\n * Whether the bottom \"load more\" error row (with a retry button) is shown.\n * Distinct from `errorMode`, which replaces the whole list with the full-screen error state.\n */\n readonly loadMoreErrorMode = new BehaviorSubject(false);\n /**\n * Whether there are more notifications to load. While `true`, scrolling to the bottom\n * emits `onNextPage`; set it to `false` to stop further infinite-scroll requests.\n */\n readonly hasMore = new BehaviorSubject(true);\n /** @docs-private */\n readonly onRead = new BehaviorSubject<KbqNotificationItem | null>(null);\n\n /** Triggers an event when the user presses the reload button. */\n readonly onReload = new EventEmitter<void>();\n\n /** Triggers an event when the list is scrolled to the bottom and the next page should be loaded. */\n readonly onNextPage = new EventEmitter<void>();\n\n /** Triggers an event when an item, a group, or all notifications are removed. */\n readonly onDelete = new EventEmitter<KbqNotificationDeleteEvent>();\n\n private originalItems = new BehaviorSubject([] as KbqNotificationItem[]);\n\n /**\n * Grouped notifications, always ordered from newest to oldest: day groups are sorted by date\n * descending, and notifications within each day are sorted by date descending.\n * @docs-private\n */\n readonly groupedItems = this.originalItems.pipe(\n map((items) => {\n const result: KbqNotificationsGroups = {};\n\n items.forEach((item) => this.makeGroup(item, result));\n\n const groups = Object.values(result);\n\n // Newest notifications first within each day.\n groups.forEach((group) => group.items.sort(this.compareByDateDesc));\n\n // Newest day first.\n return groups.sort((a, b) => this.compareByDateDesc(a.items[0], b.items[0]));\n })\n );\n\n /** Emits an event whenever the changes. */\n readonly changes = merge(\n this.silentMode,\n this.loadingMode,\n this.errorMode,\n this.loadingMore,\n this.loadMoreErrorMode,\n this.hasMore,\n this.originalItems,\n this.onRead\n );\n\n /** Notification items */\n get items() {\n return this.originalItems.value;\n }\n\n set items(values: KbqNotificationItem[]) {\n this.originalItems.next(this.setReadState(this.setIds(values)));\n }\n\n /** Number of unread notifications */\n get unreadItemsCounter(): Observable<string> {\n return this.originalItems.pipe(map((items) => items.filter((item) => item.read === false).length)).pipe(\n combineLatestWith(this.onRead),\n map(([value]) => {\n if (value < maxUnreadItemsLength) {\n return value ? value.toString() : '';\n } else {\n return `${maxUnreadItemsLength}+`;\n }\n })\n );\n }\n\n /** true if there are no notifications. */\n get isEmpty() {\n return this.originalItems.value.length === 0;\n }\n\n constructor() {\n this.toastService?.read.pipe(takeUntilDestroyed()).subscribe((toastData) => {\n const item = this.items.find((item) => item.id === toastData?.id);\n\n if (item && !item.read) {\n item.read = true;\n\n this.onRead.next(toastData as KbqNotificationItem);\n }\n });\n }\n\n /** Set silent mode */\n setSilentMode(value: boolean) {\n this.silentMode.next(value);\n }\n\n /** Set loading mode */\n setLoadingMode(value: boolean) {\n this.loadingMode.next(value);\n }\n\n /** Set error mode */\n setErrorMode(value: boolean) {\n this.errorMode.next(value);\n }\n\n /** Set the bottom \"load more\" spinner visibility. */\n setLoadingMore(value: boolean) {\n this.loadingMore.next(value);\n }\n\n /** Set the bottom \"load more\" error state visibility. */\n setLoadMoreErrorMode(value: boolean) {\n this.loadMoreErrorMode.next(value);\n }\n\n /** Set whether there are more notifications to load via infinite scroll. */\n setHasMore(value: boolean) {\n this.hasMore.next(value);\n }\n\n /** Push new notification item in center */\n push(item: KbqNotificationItem) {\n this.setReadState(this.setIds([item]));\n\n if (!this.silentMode.value) {\n item.toastId = this.toastService.show(item).id;\n }\n\n return this.originalItems.next([...this.originalItems.value, item]);\n }\n\n /** Hides the toast that corresponds to the given notification item. */\n hideToast(item: KbqNotificationItem): void {\n if (item.toastId === undefined) {\n return;\n }\n\n this.toastService.hide(item.toastId);\n item.toastId = undefined;\n }\n\n /** Remove notification item */\n remove(removedItem: KbqNotificationItem) {\n this.hideToast(removedItem);\n\n this.originalItems.next(this.originalItems.value.filter((item) => removedItem !== item));\n\n this.onDelete.emit({ type: 'item', items: [removedItem] });\n }\n\n /** Remove group of notification items */\n removeGroup(group: KbqNotificationsGroup) {\n group.items.forEach((item) => this.hideToast(item));\n\n this.originalItems.next(this.originalItems.value.filter((item) => !group.items.includes(item)));\n\n this.onDelete.emit({ type: 'group', items: [...group.items] });\n }\n\n /** Remove all notification items */\n removeAll() {\n const items = this.originalItems.value;\n\n items.forEach((item) => this.hideToast(item));\n\n this.originalItems.next([]);\n\n this.onDelete.emit({ type: 'all', items });\n }\n\n private makeGroup = (item: KbqNotificationItem, groups: KbqNotificationsGroups) => {\n const parsedDate = this.adapter.parse(item.date, '');\n const groupId = this.adapter.format(parsedDate, 'yyyyMMdd');\n const groupTitle = this.formatter.absoluteLongDate(parsedDate);\n\n if (groups[groupId]) {\n groups[groupId].items.push(item);\n } else {\n groups[groupId] = {\n title: groupTitle,\n items: [item]\n };\n }\n };\n\n /** Compares two notifications by date so the newest comes first. */\n private compareByDateDesc = (a: KbqNotificationItem, b: KbqNotificationItem): number => {\n const parsedA = this.adapter.parse(a.date, '');\n const parsedB = this.adapter.parse(b.date, '');\n\n if (!parsedA || !parsedB) {\n return 0;\n }\n\n return this.adapter.compareDateTime(parsedB, parsedA);\n };\n\n private setIds(items: KbqNotificationItem[]) {\n items.forEach((item) => (item.id = item.id ?? new Date().getTime().toString()));\n\n return items;\n }\n\n private setReadState(items: KbqNotificationItem[]) {\n items.forEach((item) => (item.read = item.read ?? false));\n\n return items;\n }\n}\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { DateAdapter, KbqReadStateDirective, PopUpPlacements, ThemePalette } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { filter } from 'rxjs/operators';\nimport { KbqNotificationCenterComponent } from './notification-center';\nimport { KbqNotificationCenterService, KbqNotificationItem } from './notification-center.service';\n\nlet id = 0;\n\n/** @docs-private */\n@Component({\n selector: 'kbq-notification-item',\n imports: [\n NgTemplateOutlet,\n KbqIconModule,\n NgClass,\n KbqTitleModule,\n KbqButtonModule,\n KbqTooltipTrigger\n ],\n templateUrl: './notification-item.html',\n styleUrls: ['./notification-item.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'kbq-notification-item',\n '[class]': 'style',\n 'data-testid': 'kbq-notification-item'\n },\n hostDirectives: [KbqReadStateDirective]\n})\nexport class KbqNotificationItemComponent {\n private readonly adapter = inject(DateAdapter);\n protected readonly service = inject(KbqNotificationCenterService);\n protected readonly readStateDirective = inject<KbqReadStateDirective>(KbqReadStateDirective, { host: true });\n protected readonly center = inject(KbqNotificationCenterComponent, { host: true });\n\n protected popUpPlacements = PopUpPlacements;\n\n themePalette = ThemePalette;\n id = id++;\n\n time: string;\n\n $implicit;\n\n get style() {\n return {\n [`kbq-notification-item_${this.data.style}`]: !!this.data.style\n };\n }\n\n @Input()\n get data(): KbqNotificationItem {\n return this._data;\n }\n\n set data(value: KbqNotificationItem) {\n this._data = value;\n\n this.time = this.adapter.format(this.adapter.parse(value.date, ''), 'HH:mm');\n }\n\n private _data: KbqNotificationItem;\n\n constructor() {\n this.$implicit = this;\n\n this.readStateDirective.read\n .pipe(\n filter((value: boolean) => value),\n takeUntilDestroyed()\n )\n .subscribe(() => {\n if (this.data.read) {\n return;\n }\n\n this.data.read = true;\n\n this.service.onRead.next(this.data);\n });\n }\n\n isTemplateRef(value): boolean {\n return value instanceof TemplateRef;\n }\n}\n","@if (data.icon) {\n <div class=\"kbq-notification-item__icon-container layout-row layout-align-start-start\">\n @if (data.icon === true) {\n @switch (data.style) {\n @case ('contrast') {\n <i\n kbq-icon=\"kbq-circle-info_16\"\n class=\"kbq-notification-item__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('success') {\n <i\n kbq-icon=\"kbq-circle-check_16\"\n class=\"kbq-notification-item__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('warning') {\n <i\n kbq-icon=\"kbq-triangle-exclamation_16\"\n class=\"kbq-notification-item__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('error') {\n <i\n kbq-icon=\"kbq-triangle-exclamation_16\"\n class=\"kbq-notification-item__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n }\n } @else if (isTemplateRef(data.icon)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.icon)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n\n<div class=\"kbq-notification-item__container\">\n @if (data.title) {\n <div\n kbq-title\n class=\"kbq-notification-item__title\"\n [class.kbq-notification-item__title_with-content]=\"data.caption || data.content\"\n >\n @if (isTemplateRef(data.title)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.title)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.title)) {\n <p>{{ data.title }}</p>\n }\n\n <div class=\"kbq-notification-item-time\" [class.kbq-notification-item-time_read]=\"data.read\">\n <div class=\"kbq-notification-item-time__value\">{{ time }}</div>\n <i class=\"kbq-notification-item-time__state\" kbq-icon=\"kbq-circle-xs_16\" [color]=\"'theme'\"></i>\n </div>\n </div>\n }\n\n @if (data.caption) {\n <div\n kbq-title\n [class.kbq-notification-item__text]=\"data.title\"\n [class.kbq-notification-item__title]=\"!data.title\"\n >\n @if (isTemplateRef(data.caption)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.caption)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.caption)) {\n {{ data.caption }}\n }\n </div>\n }\n\n @if (data.content) {\n <div class=\"kbq-notification-item__content\">\n @if (isTemplateRef(data.content)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.content)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.content)) {\n {{ data.content }}\n }\n </div>\n }\n\n @if (data.actions) {\n <div class=\"kbq-notification-item__actions\">\n @if (isTemplateRef(data.actions)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.actions)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.actions)) {\n {{ data.actions }}\n }\n </div>\n }\n</div>\n\n<button\n kbq-button\n class=\"kbq-notification-item__remove-button\"\n data-testid=\"kbq-notification-item-remove-button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n [kbqTooltipArrow]=\"false\"\n [kbqTooltip]=\"center.localeData.remove\"\n [kbqPlacement]=\"popUpPlacements.Right\"\n (click)=\"service.remove(data)\"\n>\n <i kbq-icon=\"kbq-trash_16\"></i>\n</button>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FlexibleConnectedPositionStrategy, Overlay, OverlayConfig, ScrollStrategy } from '@angular/cdk/overlay';\nimport { AsyncPipe } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n EventEmitter,\n InjectionToken,\n Input,\n Output,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqBadgeModule } from '@koobiq/components/badge';\nimport { KbqButton, KbqButtonModule } from '@koobiq/components/button';\nimport {\n DateAdapter,\n KBQ_LOCALE_SERVICE,\n KbqPopUp,\n KbqPopUpPlacementValues,\n KbqPopUpSizeValues,\n KbqPopUpTrigger,\n KbqStickToWindowPlacementValues,\n POSITION_TO_CSS_MAP,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n applyPopupMargins,\n ruRULocaleData\n} from '@koobiq/components/core';\nimport { KbqDividerModule } from '@koobiq/components/divider';\nimport { KbqDropdownModule } from '@koobiq/components/dropdown';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqLoaderOverlayModule } from '@koobiq/components/loader-overlay';\nimport { KbqProgressSpinnerModule } from '@koobiq/components/progress-spinner';\nimport { KbqScrollbar, KbqScrollbarModule } from '@koobiq/components/scrollbar';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { auditTime, distinctUntilChanged, filter, map, pairwise } from 'rxjs/operators';\nimport { KbqNotificationCenterAnimations } from './notification-center-animations';\nimport { KbqNotificationCenterService } from './notification-center.service';\nimport { KbqNotificationItemComponent } from './notification-item';\n\nconst defaultOffsetX = 8;\n\n/** Rate-limit window (ms) for the scroll-to-bottom check that drives infinite scroll. */\nconst SCROLLED_TO_BOTTOM_AUDIT_TIME = 100;\n\n/**default configuration of notification-center */\nexport const KBQ_NOTIFICATION_CENTER_DEFAULT_CONFIGURATION = ruRULocaleData.notificationCenter;\n\n/** Injection Token for providing configuration of notification-center */\nexport const KBQ_NOTIFICATION_CENTER_CONFIGURATION = new InjectionToken('KbqNotificationCenterConfiguration');\n\n/** @docs-private */\nexport const KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>(\n 'kbq-notification-center-scroll-strategy'\n);\n\n/** @docs-private */\nexport function kbqNotificationCenterScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqNotificationCenterScrollStrategyFactory\n};\n\n/** @docs-private */\n@Component({\n selector: 'kbq-notification-center',\n imports: [\n KbqIconModule,\n KbqBadgeModule,\n KbqScrollbarModule,\n KbqButtonModule,\n KbqDividerModule,\n KbqDropdownModule,\n KbqToolTipModule,\n AsyncPipe,\n KbqNotificationItemComponent,\n KbqLoaderOverlayModule,\n KbqProgressSpinnerModule\n ],\n templateUrl: './notification-center.html',\n styleUrls: ['./notification-center.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n class: 'kbq-notification-center',\n '[class.kbq-notification-center_popover]': 'popoverMode',\n '(keydown.escape)': 'escapeHandler()'\n },\n animations: [KbqNotificationCenterAnimations.state]\n})\nexport class KbqNotificationCenterComponent extends KbqPopUp implements AfterViewInit {\n /** @docs-private */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /** @docs-private */\n protected readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n /** @docs-private */\n protected readonly dateAdapter = inject(DateAdapter);\n /** @docs-private */\n protected readonly service = inject(KbqNotificationCenterService);\n\n @ViewChild(KbqScrollbar) private scrollContainer: KbqScrollbar;\n\n readonly externalConfiguration = inject(KBQ_NOTIFICATION_CENTER_CONFIGURATION, { optional: true });\n\n configuration;\n\n /** @docs-private */\n protected popoverMode: boolean;\n\n /** @docs-private */\n protected isTopOverflow: boolean = false;\n /** @docs-private */\n protected isBottomOverflow: boolean = false;\n\n /** Distance in pixels from the bottom of the list at which the next page is requested.\n * @docs-private */\n protected scrolledToBottomOffset: number = 0;\n\n /** Emits on every scroll of the list container; drives the scroll-to-bottom check. */\n private readonly scroll$ = new Subject<void>();\n\n /** localized data\n * @docs-private */\n get localeData() {\n return this.configuration;\n }\n\n /** @docs-private */\n prefix = 'kbq-notification-center';\n /** @docs-private */\n trigger: KbqNotificationCenterTrigger;\n /** @docs-private */\n isTrapFocus: boolean = false;\n\n @ViewChild('notificationSwitcher') switcher: KbqButton;\n\n get popoverHeight(): string {\n return this._popoverHeight;\n }\n\n set popoverHeight(value: string) {\n this._popoverHeight = value;\n\n this.elementRef.nativeElement.style.height = value;\n }\n\n private _popoverHeight: string;\n\n constructor() {\n super();\n\n this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);\n\n if (!this.localeService) {\n this.initDefaultParams();\n }\n }\n\n ngAfterViewInit() {\n this.visibleChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((state) => {\n if (this.offset !== null && state) {\n applyPopupMargins(\n this.renderer,\n this.elementRef.nativeElement,\n this.prefix,\n `${this.offset!.toString()}px`\n );\n }\n\n this.setStickPosition();\n });\n\n this.service.changes\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.changeDetectorRef.markForCheck());\n\n this.switcher.focus();\n\n setTimeout(this.checkOverflow);\n\n this.subscribeToScrolledToBottom();\n }\n\n /** Handles the list container scroll: updates overflow shadows and feeds the scroll-to-bottom check.\n * @docs-private */\n protected onContainerScroll(): void {\n this.checkOverflow();\n this.scroll$.next();\n }\n\n /** Retries loading the next page from the bottom error row.\n * @docs-private */\n protected retryLoadMore(): void {\n // The retry button is about to unmount; keep keyboard focus inside the panel instead of\n // letting it fall back to <body>.\n this.focusScrollContainer();\n\n // Clear the bottom error state here so the spinner and the error row can never be shown at\n // the same time, regardless of what the consumer's `onNextPage` handler does.\n this.service.setLoadMoreErrorMode(false);\n\n this.service.onNextPage.emit();\n }\n\n /**\n * Requests the next page (via `service.onNextPage`) once the list is scrolled to within\n * `scrolledToBottomOffset` pixels of the bottom. Two triggers feed it: the user scrolling, and a\n * page finishing loading. The latter keeps paging when a freshly loaded page is too short to\n * overflow the viewport — otherwise no further scroll event would fire and pagination would\n * stall. Suppressed while a load is in flight, errored, or when there is nothing more to load.\n */\n private subscribeToScrolledToBottom(): void {\n const scrolledToBottom$ = this.scroll$.pipe(\n auditTime(SCROLLED_TO_BOTTOM_AUDIT_TIME),\n map(() => this.isScrolledToBottom()),\n distinctUntilChanged(),\n filter(Boolean)\n );\n\n // Re-measure once a load completes (and the appended items have rendered): if the list still\n // sits at the bottom, continue paging instead of waiting for a scroll event that never comes.\n const loadCompleted$ = this.service.loadingMore.pipe(\n distinctUntilChanged(),\n pairwise(),\n filter(([wasLoading, isLoading]) => wasLoading && !isLoading),\n auditTime(SCROLLED_TO_BOTTOM_AUDIT_TIME),\n filter(() => this.isScrolledToBottom())\n );\n\n merge(scrolledToBottom$, loadCompleted$)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.requestNextPage());\n }\n\n /** Whether the list is scrolled to within `scrolledToBottomOffset` pixels of the bottom. */\n private isScrolledToBottom(): boolean {\n const { scrollTop, clientHeight, scrollHeight } = this.scrollContainer.contentElement.nativeElement;\n\n return scrollHeight - scrollTop - clientHeight <= this.scrolledToBottomOffset;\n }\n\n /** Emits `onNextPage` unless a load is already in flight, errored, or there is nothing more to load. */\n private requestNextPage(): void {\n if (this.service.hasMore.value && !this.service.loadingMore.value && !this.service.loadMoreErrorMode.value) {\n this.service.onNextPage.emit();\n }\n }\n\n private focusScrollContainer(): void {\n const element = this.scrollContainer.contentElement.nativeElement;\n\n // tabindex -1 keeps the container out of the Tab order while allowing programmatic focus.\n element.setAttribute('tabindex', '-1');\n element.focus({ preventScroll: true });\n }\n\n /** @docs-private */\n updateClassMap(placement: string, customClass: string, size: KbqPopUpSizeValues) {\n super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n }\n\n /** @docs-private */\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n\n /** @docs-private */\n escapeHandler() {\n this.hide(0);\n }\n\n protected checkOverflow = () => {\n const nativeElement = this.scrollContainer.contentElement.nativeElement;\n\n const { scrollTop, offsetHeight, scrollHeight } = nativeElement;\n\n this.isTopOverflow = scrollTop > 0;\n\n this.isBottomOverflow = scrollTop + offsetHeight < scrollHeight;\n\n this.changeDetectorRef.markForCheck();\n };\n\n private updateLocaleParams = () => {\n this.configuration = this.externalConfiguration || this.localeService?.getParams('notificationCenter');\n\n this.changeDetectorRef.markForCheck();\n };\n\n private initDefaultParams() {\n this.configuration = KBQ_NOTIFICATION_CENTER_DEFAULT_CONFIGURATION;\n }\n}\n\n@Directive({\n selector: '[kbqNotificationCenterTrigger]',\n exportAs: 'kbqNotificationCenterTrigger',\n host: {\n '[class.kbq-notification-center_open]': 'isOpen',\n '[class.kbq-active]': 'hasClickTrigger && isOpen'\n }\n})\nexport class KbqNotificationCenterTrigger\n extends KbqPopUpTrigger<KbqNotificationCenterComponent>\n implements AfterContentInit\n{\n /** @docs-private */\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY);\n /** @docs-private */\n protected readonly service = inject(KbqNotificationCenterService);\n\n // not used\n /** @docs-private */\n arrow: boolean = false;\n /** @docs-private */\n customClass: string;\n /** @docs-private */\n private hasBackdrop: boolean = false;\n /** @docs-private */\n private size: KbqPopUpSizeValues = PopUpSizes.Medium;\n /** @docs-private */\n content: string | TemplateRef<any>;\n /** @docs-private */\n header: string | TemplateRef<any>;\n /** @docs-private */\n footer: string | TemplateRef<any>;\n\n /** Number of unread notifications */\n get unreadItemsCounter() {\n return this.service.unreadItemsCounter;\n }\n\n /** Placement of popUp */\n @Input('kbqNotificationCenterPlacement') placement: KbqPopUpPlacementValues = PopUpPlacements.Right;\n\n /** Class that will be used in the background */\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n /** Class that will be used in the panel */\n @Input('kbqNotificationCenterPanelClass') panelClass: string;\n\n /** Offset of popUp */\n @Input({ transform: numberAttribute }) offset: number | null = defaultOffsetX;\n\n /** Distance in pixels from the bottom of the list at which the next page is requested via `onNextPage`. */\n @Input({ transform: numberAttribute }) scrolledToBottomOffset: number = 0;\n\n /** Use popover or not */\n @Input({ transform: booleanAttribute })\n get popoverMode(): boolean {\n return this._popoverMode;\n }\n\n set popoverMode(value: boolean) {\n this._popoverMode = value;\n\n this.placement = PopUpPlacements.Bottom;\n this.updatePlacementPriority(['bottomCenter', 'bottomLeft', 'bottomRight']);\n }\n\n private _popoverMode: boolean = false;\n\n /** Set height of popover. Default is calc(100vh - 48px). 48px - height of navbar */\n @Input()\n get popoverHeight(): string {\n return this._popoverHeight;\n }\n\n set popoverHeight(value: string) {\n this._popoverHeight = value;\n\n if (this.instance?.popoverHeight) {\n this.instance.popoverHeight = value;\n }\n }\n\n private _popoverHeight: string;\n\n /** Whether the trigger is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\n\n /**\n * Additionally positions the element relative to the window side (Top, Right, Bottom and Left).\n * If container is specified, the positioning will be relative to it.\n * */\n @Input() stickToWindow: KbqStickToWindowPlacementValues;\n\n /** Container for additional positioning, used with stickToWindow */\n @Input() container: HTMLElement;\n\n /** @docs-private */\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n /** Emits a change event whenever the placement state changes. */\n @Output('kbqPlacementChange') readonly placementChange = new EventEmitter();\n\n /** Emits a change event whenever the visible state changes. */\n @Output('kbqVisibleChange') readonly visibleChange = new EventEmitter<boolean>();\n\n /** @docs-private */\n trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n /** @docs-private */\n protected originSelector = '.kbq-notification-center';\n\n /** @docs-private */\n protected get overlayConfig(): OverlayConfig {\n const defaultPanelClass = 'kbq-notification-center__panel';\n\n return {\n panelClass: this.panelClass ? [defaultPanelClass, this.panelClass] : defaultPanelClass,\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n /** @docs-private */\n protected preventClosingByInnerScrollSubscription: Subscription;\n\n constructor() {\n super();\n\n this.updatePlacementPriority(['right', 'rightBottom', 'rightTop']);\n }\n\n ngAfterContentInit(): void {\n this.visibleChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((visible: boolean) => {\n if (visible) {\n // eslint-disable-next-line rxjs/no-nested-subscribe\n this.preventClosingByInnerScrollSubscription = this.closingActions().subscribe((event) => {\n if (event && event['scrollDispatcher']) {\n this.instance.setStickPosition();\n\n event['kbqPopoverPreventHide'] = true;\n event['type'] = 'click';\n }\n });\n } else {\n this.preventClosingByInnerScrollSubscription?.unsubscribe();\n this.focus();\n }\n });\n }\n\n /** @docs-private */\n updateData() {\n if (!this.instance) return;\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.arrow = this.arrow;\n this.instance.offset = this.offset;\n this.instance.footer = this.footer;\n this.instance.popoverMode = this.popoverMode;\n this.instance.popoverHeight = this.popoverHeight;\n this.instance.scrolledToBottomOffset = this.scrolledToBottomOffset;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the current position.\n *\n * @docs-private */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getAdjustedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n /** @docs-private */\n getOverlayHandleComponentType(): Type<KbqNotificationCenterComponent> {\n return KbqNotificationCenterComponent;\n }\n\n /** @docs-private */\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) return;\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n /** @docs-private */\n closingActions() {\n return merge(\n this.overlayRef!.outsidePointerEvents(),\n this.overlayRef!.backdropClick(),\n this.scrollDispatcher.scrolled()\n );\n }\n}\n","<div class=\"kbq-notification-center-header\">\n <div class=\"kbq-notification-center-title\">\n <div class=\"kbq-notification-center-title__text\">{{ localeData.notifications }}</div>\n <button\n #notificationSwitcher\n #dropdownTrigger=\"kbqDropdownTrigger\"\n kbq-button\n class=\"kbq-notification-center-title__button\"\n data-testid=\"kbq-notification-center-silent-mode-toggle\"\n [kbqDropdownTriggerFor]=\"notificationSwitcherDropdown\"\n [kbqTooltip]=\"service.silentMode.value ? localeData.doNotDisturb : localeData.showPopUpNotifications\"\n [kbqTooltipArrow]=\"false\"\n [kbqPlacement]=\"'right'\"\n [kbqTooltipOffset]=\"4\"\n [kbqTooltipDisabled]=\"dropdownTrigger.opened\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n >\n <i kbq-icon=\"{{ service.silentMode.value ? 'kbq-bell-slash_16' : 'kbq-bell_16' }}\"></i>\n </button>\n </div>\n <div class=\"kbq-notification-center-toolbar\">\n @if (!service.isEmpty) {\n <button\n kbq-button\n class=\"kbq-notification-center-toolbar__button\"\n data-testid=\"kbq-notification-center-remove-all-button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n (click)=\"service.removeAll()\"\n >\n <i kbq-icon=\"kbq-trash_16\"></i>\n </button>\n\n <kbq-divider [vertical]=\"true\" />\n }\n\n <button\n kbq-button\n class=\"kbq-notification-center-toolbar__button\"\n data-testid=\"kbq-notification-center-close-button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n (click)=\"hide(0)\"\n >\n <i kbq-icon=\"kbq-xmark_16\"></i>\n </button>\n </div>\n</div>\n\n<div\n kbq-scrollbar\n class=\"kbq-notification-center-container\"\n data-testid=\"kbq-notification-center-container\"\n [class.kbq-notification-center_bottom-overflow]=\"isBottomOverflow\"\n (onScroll)=\"onContainerScroll()\"\n>\n @if (!service.errorMode.value) {\n @if (!service.loadingMode.value) {\n @for (group of service.groupedItems | async; track group) {\n <div\n class=\"kbq-notification-center-sub-header\"\n data-testid=\"kbq-notification-center-group\"\n [class.kbq-notification-center_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-notification-center-sub-header__date\">{{ group.title }}</div>\n\n <button\n kbq-button\n class=\"kbq-notification-center-sub-header__button\"\n data-testid=\"kbq-notification-center-remove-group-button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n [kbqTooltip]=\"localeData.remove\"\n [kbqPlacement]=\"'right'\"\n [kbqTooltipArrow]=\"false\"\n (click)=\"service.removeGroup(group)\"\n >\n <i kbq-icon=\"kbq-trash_16\"></i>\n </button>\n </div>\n\n @for (item of group.items; track item) {\n <kbq-notification-item [data]=\"item\" />\n }\n } @empty {\n @if (!service.loadingMore.value) {\n <div class=\"kbq-notification-center-empty-container\" data-testid=\"kbq-notification-center-empty\">\n <i kbq-icon-item=\"kbq-bell_16\" [big]=\"true\" [color]=\"'contrast-fade'\"></i>\n {{ localeData.noNotifications }}\n </div>\n }\n }\n\n @if (service.loadingMore.value) {\n <div\n class=\"kbq-notification-center-load-more\"\n data-testid=\"kbq-notification-center-load-more\"\n role=\"status\"\n [attr.aria-label]=\"localeData.loadingMore\"\n >\n <kbq-progress-spinner [mode]=\"'indeterminate'\" [size]=\"'compact'\" />\n </div>\n }\n\n @if (service.loadMoreErrorMode.value) {\n <div\n class=\"kbq-notification-center-load-more-error\"\n data-testid=\"kbq-notification-center-load-more-error\"\n role=\"alert\"\n >\n {{ localeData.failedToLoadNotifications }}\n <button\n kbq-button\n data-testid=\"kbq-notification-center-load-more-retry-button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'theme'\"\n (click)=\"retryLoadMore()\"\n >\n {{ localeData.repeat }}\n </button>\n </div>\n }\n } @else {\n <kbq-loader-overlay data-testid=\"kbq-notification-center-loader\" [transparent]=\"true\" />\n }\n } @else {\n <div class=\"kbq-notification-center-error-container\" data-testid=\"kbq-notification-center-error\">\n <i kbq-icon-item=\"kbq-bell_16\" [big]=\"true\" [color]=\"'error'\" [fade]=\"true\"></i>\n {{ localeData.failedToLoadNotifications }}\n <button\n kbq-button\n data-testid=\"kbq-notification-center-reload-button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'theme'\"\n (click)=\"service.onReload.emit()\"\n >\n {{ localeData.repeat }}\n </button>\n </div>\n }\n</div>\n\n<kbq-dropdown #notificationSwitcherDropdown=\"kbqDropdown\">\n <button\n kbq-dropdown-item\n data-testid=\"kbq-notification-center-show-notifications-button\"\n (click)=\"service.setSilentMode(false)\"\n >\n <i kbq-icon=\"{{ !service.silentMode.value ? 'kbq-circle-xs_16' : '' }}\" [style.min-width.px]=\"16\"></i>\n {{ localeData.showPopUpNotifications }}\n </button>\n <button\n kbq-dropdown-item\n data-testid=\"kbq-notification-center-do-not-disturb-button\"\n (click)=\"service.setSilentMode(true)\"\n >\n <i kbq-icon=\"{{ service.silentMode.value ? 'kbq-circle-xs_16' : '' }}\" [style.min-width.px]=\"16\"></i>\n {{ localeData.doNotDisturb }}\n </button>\n</kbq-dropdown>\n","import { ConfigurableFocusTrapFactory, FOCUS_TRAP_INERT_STRATEGY, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { DateAdapter, DateFormatter, EmptyFocusTrapStrategy } from '@koobiq/components/core';\nimport {\n KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KbqNotificationCenterComponent,\n KbqNotificationCenterTrigger\n} from './notification-center';\nimport { KbqNotificationCenterService } from './notification-center.service';\n\n@NgModule({\n imports: [\n KbqNotificationCenterComponent,\n KbqNotificationCenterTrigger\n ],\n exports: [\n KbqNotificationCenterComponent,\n KbqNotificationCenterTrigger\n ],\n providers: [\n KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory },\n { provide: FOCUS_TRAP_INERT_STRATEGY, useClass: EmptyFocusTrapStrategy },\n { provide: KbqNotificationCenterService, deps: [DateAdapter, DateFormatter] }\n ]\n})\nexport class KbqNotificationCenterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-notification-center.mjs","sources":["../../../packages/components/notification-center/notification-center-animations.ts","../../../packages/components/notification-center/notification-center.service.ts","../../../packages/components/notification-center/notification-item.ts","../../../packages/components/notification-center/notification-item.html","../../../packages/components/notification-center/notification-center.ts","../../../packages/components/notification-center/notification-center.html","../../../packages/components/notification-center/notification-center.module.ts","../../../packages/components/notification-center/koobiq-components-notification-center.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\nimport { KbqAnimationDurations } from '@koobiq/components/core';\n\n/** @docs-private */\nexport const KbqNotificationCenterAnimations: {\n readonly state: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n state: trigger('state', [\n state(\n 'initial',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })\n ),\n transition(\n '* => visible',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ),\n transition('* => hidden', animate(`${KbqAnimationDurations.Rapid} linear`, style({ opacity: 0 })))\n ])\n};\n","import { EventEmitter, inject, Injectable, TemplateRef } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DateAdapter, DateFormatter } from '@koobiq/components/core';\nimport { KbqToastData, KbqToastService, KbqToastStyle } from '@koobiq/components/toast';\nimport { BehaviorSubject, combineLatestWith, merge, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport interface KbqNotificationItem extends Omit<KbqToastData, 'closeButton'> {\n id?: string;\n\n title?: string | TemplateRef<unknown>;\n style?: string | KbqToastStyle;\n\n icon?: boolean | TemplateRef<unknown>;\n iconClass?: string;\n caption?: string | TemplateRef<unknown>;\n\n content?: string | TemplateRef<unknown>;\n actions?: TemplateRef<unknown>;\n\n date: string;\n read?: boolean;\n}\n\nexport const maxUnreadItemsLength = 99;\n\ntype KbqNotificationsGroup = { title: string; items: KbqNotificationItem[] };\n\ntype KbqNotificationsGroups = Record<string, KbqNotificationsGroup>;\n\n@Injectable({ providedIn: 'root' })\nexport class KbqNotificationCenterService {\n /** @docs-private */\n private readonly adapter = inject(DateAdapter);\n /** @docs-private */\n private readonly formatter = inject(DateFormatter);\n /** @docs-private */\n private readonly toastService = inject(KbqToastService);\n\n /** @docs-private */\n readonly silentMode = new BehaviorSubject(false);\n /** @docs-private */\n readonly loadingMode = new BehaviorSubject(false);\n /** @docs-private */\n readonly errorMode = new BehaviorSubject(false);\n /** @docs-private */\n readonly onRead = new BehaviorSubject<KbqNotificationItem | null>(null);\n\n /** Triggers an event when the user presses the reload button. */\n readonly onReload = new EventEmitter<void>();\n\n private originalItems = new BehaviorSubject([] as KbqNotificationItem[]);\n\n /** @docs-private */\n readonly groupedItems = this.originalItems.pipe(\n map((items) => {\n const result: KbqNotificationsGroups = {};\n\n items.map((item) => this.makeGroup(item, result));\n\n return Object.values(result).reverse();\n })\n );\n\n /** Emits an event whenever the changes. */\n readonly changes = merge(this.silentMode, this.loadingMode, this.errorMode, this.originalItems, this.onRead);\n\n /** Notification items */\n get items() {\n return this.originalItems.value;\n }\n\n set items(values: KbqNotificationItem[]) {\n this.originalItems.next(this.setReadState(this.setIds(values)));\n }\n\n /** Number of unread notifications */\n get unreadItemsCounter(): Observable<string> {\n return this.originalItems.pipe(map((items) => items.filter((item) => item.read === false).length)).pipe(\n combineLatestWith(this.onRead),\n map(([value]) => {\n if (value < maxUnreadItemsLength) {\n return value ? value.toString() : '';\n } else {\n return `${maxUnreadItemsLength}+`;\n }\n })\n );\n }\n\n /** true if there are no notifications. */\n get isEmpty() {\n return this.originalItems.value.length === 0;\n }\n\n constructor() {\n this.toastService?.read.pipe(takeUntilDestroyed()).subscribe((toastData) => {\n const item = this.items.find((item) => item.id === toastData?.id);\n\n if (item && !item.read) {\n item.read = true;\n\n this.onRead.next(toastData as KbqNotificationItem);\n }\n });\n }\n\n /** Set silent mode */\n setSilentMode(value: boolean) {\n this.silentMode.next(value);\n }\n\n /** Set loading mode */\n setLoadingMode(value: boolean) {\n this.loadingMode.next(value);\n }\n\n /** Set error mode */\n setErrorMode(value: boolean) {\n this.errorMode.next(value);\n }\n\n /** Push new notification item in center */\n push(item: KbqNotificationItem) {\n this.setReadState(this.setIds([item]));\n\n if (!this.silentMode.value) {\n this.toastService.show(item);\n }\n\n return this.originalItems.next([...this.originalItems.value, item]);\n }\n\n /** Remove notification item */\n remove(removedItem: KbqNotificationItem) {\n this.originalItems.next(this.originalItems.value.filter((item) => removedItem !== item));\n }\n\n /** Remove group of notification items */\n removeGroup(group: KbqNotificationsGroup) {\n this.originalItems.next(this.originalItems.value.filter((item) => !group.items.includes(item)));\n }\n\n /** Remove all notification items */\n removeAll() {\n this.originalItems.next([]);\n }\n\n private makeGroup = (item: KbqNotificationItem, groups: KbqNotificationsGroups) => {\n const parsedDate = this.adapter.parse(item.date, '');\n const groupId = this.adapter.format(parsedDate, 'yyyyMMdd');\n const groupTitle = this.formatter.absoluteLongDate(parsedDate);\n\n if (groups[groupId]) {\n groups[groupId].items.unshift(item);\n } else {\n groups[groupId] = {\n title: groupTitle,\n items: [item]\n };\n }\n };\n\n private setIds(items: KbqNotificationItem[]) {\n items.forEach((item) => (item.id = item.id ?? new Date().getTime().toString()));\n\n return items;\n }\n\n private setReadState(items: KbqNotificationItem[]) {\n items.forEach((item) => (item.read = item.read ?? false));\n\n return items;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { DateAdapter, KbqReadStateDirective, PopUpPlacements, ThemePalette } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { filter } from 'rxjs/operators';\nimport { KbqNotificationCenterComponent } from './notification-center';\nimport { KbqNotificationCenterService, KbqNotificationItem } from './notification-center.service';\n\nlet id = 0;\n\n/** @docs-private */\n@Component({\n selector: 'kbq-notification-item',\n imports: [\n NgTemplateOutlet,\n KbqIconModule,\n KbqTitleModule,\n KbqButtonModule,\n KbqTooltipTrigger\n ],\n templateUrl: './notification-item.html',\n styleUrls: ['./notification-item.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-notification-item',\n '[class]': 'style'\n },\n hostDirectives: [KbqReadStateDirective]\n})\nexport class KbqNotificationItemComponent {\n private readonly adapter = inject(DateAdapter);\n protected readonly service = inject(KbqNotificationCenterService);\n protected readonly readStateDirective = inject<KbqReadStateDirective>(KbqReadStateDirective, { host: true });\n protected readonly center = inject(KbqNotificationCenterComponent, { host: true });\n\n protected popUpPlacements = PopUpPlacements;\n\n themePalette = ThemePalette;\n id = id++;\n\n time: string;\n\n $implicit;\n\n get style() {\n return {\n [`kbq-notification-item_${this.data.style}`]: !!this.data.style\n };\n }\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get data(): KbqNotificationItem {\n return this._data;\n }\n\n set data(value: KbqNotificationItem) {\n this._data = value;\n\n this.time = this.adapter.format(this.adapter.parse(value.date, ''), 'HH:mm');\n }\n\n private _data: KbqNotificationItem;\n\n constructor() {\n this.$implicit = this;\n\n this.readStateDirective.read\n .pipe(\n filter((value: boolean) => value),\n takeUntilDestroyed()\n )\n .subscribe(() => {\n this.data.read = true;\n\n this.service.onRead.next(this.data);\n });\n }\n\n isTemplateRef(value): boolean {\n return value instanceof TemplateRef;\n }\n}\n","@if (data.icon) {\n <div class=\"kbq-notification-item__icon-container layout-row layout-align-start-start\">\n @if (data.icon === true) {\n @switch (data.style) {\n @case ('contrast') {\n <i\n kbq-icon=\"kbq-circle-info_16\"\n class=\"kbq-notification-item__icon\"\n [color]=\"$any(data.style)\"\n [class]=\"data.iconClass\"\n ></i>\n }\n @case ('success') {\n <i\n kbq-icon=\"kbq-circle-check_16\"\n class=\"kbq-notification-item__icon\"\n [color]=\"$any(data.style)\"\n [class]=\"data.iconClass\"\n ></i>\n }\n @case ('warning') {\n <i\n kbq-icon=\"kbq-triangle-exclamation_16\"\n class=\"kbq-notification-item__icon\"\n [color]=\"$any(data.style)\"\n [class]=\"data.iconClass\"\n ></i>\n }\n @case ('error') {\n <i\n kbq-icon=\"kbq-triangle-exclamation_16\"\n class=\"kbq-notification-item__icon\"\n [color]=\"$any(data.style)\"\n [class]=\"data.iconClass\"\n ></i>\n }\n }\n } @else if (isTemplateRef(data.icon)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.icon)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n\n<div class=\"kbq-notification-item__container\">\n @if (data.title) {\n <div\n kbq-title\n class=\"kbq-notification-item__title\"\n [class.kbq-notification-item__title_with-content]=\"data.caption || data.content\"\n >\n @if (isTemplateRef(data.title)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.title)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n } @else {\n <p>{{ data.title }}</p>\n }\n\n <div class=\"kbq-notification-item-time\" [class.kbq-notification-item-time_read]=\"data.read\">\n <div class=\"kbq-notification-item-time__value\">{{ time }}</div>\n <i class=\"kbq-notification-item-time__state\" kbq-icon=\"kbq-circle-xs_16\" [color]=\"'theme'\"></i>\n </div>\n </div>\n }\n\n @if (data.caption) {\n <div\n kbq-title\n [class.kbq-notification-item__text]=\"data.title\"\n [class.kbq-notification-item__title]=\"!data.title\"\n >\n @if (isTemplateRef(data.caption)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.caption)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n } @else {\n {{ data.caption }}\n }\n </div>\n }\n\n @if (data.content) {\n <div class=\"kbq-notification-item__content\">\n @if (isTemplateRef(data.content)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.content)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n } @else {\n {{ data.content }}\n }\n </div>\n }\n\n @if (data.actions) {\n <div class=\"kbq-notification-item__actions\">\n @if (isTemplateRef(data.actions)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.actions)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n } @else {\n {{ data.actions }}\n }\n </div>\n }\n</div>\n\n<button\n kbq-button\n class=\"kbq-notification-item__remove-button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n [kbqTooltipArrow]=\"false\"\n [kbqTooltip]=\"center.localeData.remove\"\n [kbqPlacement]=\"popUpPlacements.Right\"\n (click)=\"service.remove(data)\"\n>\n <i kbq-icon=\"kbq-trash_16\"></i>\n</button>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FlexibleConnectedPositionStrategy, Overlay, OverlayConfig, ScrollStrategy } from '@angular/cdk/overlay';\nimport { AsyncPipe } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n EventEmitter,\n InjectionToken,\n Input,\n Output,\n TemplateRef,\n Type,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqBadgeModule } from '@koobiq/components/badge';\nimport { KbqButton, KbqButtonModule } from '@koobiq/components/button';\nimport {\n DateAdapter,\n KBQ_LOCALE_SERVICE,\n KbqOverflowShadowBottom,\n KbqOverflowShadowContainer,\n KbqOverflowShadowTop,\n KbqPopUp,\n KbqPopUpPlacementValues,\n KbqPopUpSizeValues,\n KbqPopUpTrigger,\n KbqStickToWindowPlacementValues,\n POSITION_TO_CSS_MAP,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n applyPopupMargins,\n ruRULocaleData\n} from '@koobiq/components/core';\nimport { KbqDividerModule } from '@koobiq/components/divider';\nimport { KbqDropdownModule } from '@koobiq/components/dropdown';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqLoaderOverlayModule } from '@koobiq/components/loader-overlay';\nimport { KbqScrollbarModule } from '@koobiq/components/scrollbar';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { Subscription, merge } from 'rxjs';\nimport { KbqNotificationCenterAnimations } from './notification-center-animations';\nimport { KbqNotificationCenterService } from './notification-center.service';\nimport { KbqNotificationItemComponent } from './notification-item';\n\nconst defaultOffsetX = 8;\n\n/**default configuration of notification-center */\nexport const KBQ_NOTIFICATION_CENTER_DEFAULT_CONFIGURATION = ruRULocaleData.notificationCenter;\n\n/** Injection Token for providing configuration of notification-center */\nexport const KBQ_NOTIFICATION_CENTER_CONFIGURATION = new InjectionToken('KbqNotificationCenterConfiguration');\n\n/** @docs-private */\nexport const KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>(\n 'kbq-notification-center-scroll-strategy'\n);\n\n/** @docs-private */\nexport function kbqNotificationCenterScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqNotificationCenterScrollStrategyFactory\n};\n\n/** @docs-private */\n@Component({\n selector: 'kbq-notification-center',\n imports: [\n KbqIconModule,\n KbqBadgeModule,\n KbqScrollbarModule,\n KbqButtonModule,\n KbqDividerModule,\n KbqDropdownModule,\n KbqToolTipModule,\n AsyncPipe,\n KbqNotificationItemComponent,\n KbqLoaderOverlayModule,\n KbqOverflowShadowContainer,\n KbqOverflowShadowTop,\n KbqOverflowShadowBottom\n ],\n templateUrl: './notification-center.html',\n styleUrls: ['./notification-center.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-notification-center',\n '[class.kbq-notification-center_popover]': 'popoverMode',\n '(keydown.escape)': 'escapeHandler()'\n },\n animations: [KbqNotificationCenterAnimations.state],\n preserveWhitespaces: false\n})\nexport class KbqNotificationCenterComponent extends KbqPopUp implements AfterViewInit {\n /** @docs-private */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /** @docs-private */\n protected readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n /** @docs-private */\n protected readonly dateAdapter = inject(DateAdapter);\n /** @docs-private */\n protected readonly service = inject(KbqNotificationCenterService);\n\n readonly externalConfiguration = inject(KBQ_NOTIFICATION_CENTER_CONFIGURATION, { optional: true });\n\n configuration;\n\n /** @docs-private */\n protected popoverMode: boolean;\n\n /** localized data\n * @docs-private */\n get localeData() {\n return this.configuration;\n }\n\n /** @docs-private */\n prefix = 'kbq-notification-center';\n /** @docs-private */\n trigger: KbqNotificationCenterTrigger;\n /** @docs-private */\n isTrapFocus: boolean = false;\n\n readonly switcher = viewChild.required<KbqButton>('notificationSwitcher');\n\n get popoverHeight(): string {\n return this._popoverHeight;\n }\n\n set popoverHeight(value: string) {\n this._popoverHeight = value;\n\n this.elementRef.nativeElement.style.height = value;\n }\n\n private _popoverHeight: string;\n\n constructor() {\n super();\n\n this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);\n\n if (!this.localeService) {\n this.initDefaultParams();\n }\n }\n\n ngAfterViewInit() {\n this.visibleChange.subscribe((state) => {\n if (this.offset !== null && state) {\n applyPopupMargins(\n this.renderer,\n this.elementRef.nativeElement,\n this.prefix,\n `${this.offset!.toString()}px`\n );\n }\n\n this.setStickPosition();\n });\n\n this.service.changes.subscribe(() => this.changeDetectorRef.markForCheck());\n\n this.switcher().focus();\n }\n\n /** @docs-private */\n updateClassMap(placement: string, customClass: string, size: KbqPopUpSizeValues) {\n super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n }\n\n /** @docs-private */\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n\n /** @docs-private */\n escapeHandler() {\n this.hide(0);\n }\n\n private updateLocaleParams = () => {\n this.configuration = this.externalConfiguration || this.localeService?.getParams('notificationCenter');\n\n this.changeDetectorRef.markForCheck();\n };\n\n private initDefaultParams() {\n this.configuration = KBQ_NOTIFICATION_CENTER_DEFAULT_CONFIGURATION;\n }\n}\n\n@Directive({\n selector: '[kbqNotificationCenterTrigger]',\n host: {\n '[class.kbq-notification-center_open]': 'isOpen',\n '[class.kbq-active]': 'hasClickTrigger && isOpen'\n },\n exportAs: 'kbqNotificationCenterTrigger'\n})\nexport class KbqNotificationCenterTrigger\n extends KbqPopUpTrigger<KbqNotificationCenterComponent>\n implements AfterContentInit\n{\n /** @docs-private */\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY);\n /** @docs-private */\n protected readonly service = inject(KbqNotificationCenterService);\n\n // not used\n /** @docs-private */\n arrow: boolean = false;\n /** @docs-private */\n customClass: string;\n /** @docs-private */\n private hasBackdrop: boolean = false;\n /** @docs-private */\n private size: KbqPopUpSizeValues = PopUpSizes.Medium;\n /** @docs-private */\n content: string | TemplateRef<any>;\n /** @docs-private */\n header: string | TemplateRef<any>;\n /** @docs-private */\n footer: string | TemplateRef<any>;\n\n /** Number of unread notifications */\n get unreadItemsCounter() {\n return this.service.unreadItemsCounter;\n }\n\n /** Placement of popUp */\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n @Input('kbqNotificationCenterPlacement') placement: KbqPopUpPlacementValues = PopUpPlacements.Right;\n\n /** Class that will be used in the background */\n // TODO: Skipped for migration because:\n // Class of this input is referenced in the signature of another class.\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n /** Class that will be used in the panel */\n // TODO: Skipped for migration because:\n // Class of this input is referenced in the signature of another class.\n @Input('kbqNotificationCenterPanelClass') panelClass: string;\n\n /** Offset of popUp */\n // TODO: Skipped for migration because:\n // Class of this input is referenced in the signature of another class.\n @Input({ transform: numberAttribute }) offset: number | null = defaultOffsetX;\n\n /** Use popover or not */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input({ transform: booleanAttribute })\n get popoverMode(): boolean {\n return this._popoverMode;\n }\n\n set popoverMode(value: boolean) {\n this._popoverMode = value;\n\n this.placement = PopUpPlacements.Bottom;\n this.updatePlacementPriority(['bottomCenter', 'bottomLeft', 'bottomRight']);\n }\n\n private _popoverMode: boolean = false;\n\n /** Set height of popover. Default is calc(100vh - 48px). 48px - height of navbar */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get popoverHeight(): string {\n return this._popoverHeight;\n }\n\n set popoverHeight(value: string) {\n this._popoverHeight = value;\n\n if (this.instance?.popoverHeight) {\n this.instance.popoverHeight = value;\n }\n }\n\n private _popoverHeight: string;\n\n /** Whether the trigger is disabled. */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\n\n /**\n * Additionally positions the element relative to the window side (Top, Right, Bottom and Left).\n * If container is specified, the positioning will be relative to it.\n * */\n // TODO: Skipped for migration because:\n // This input overrides a field from a superclass, while the superclass field\n // is not migrated.\n @Input() stickToWindow: KbqStickToWindowPlacementValues;\n\n /** Container for additional positioning, used with stickToWindow */\n // TODO: Skipped for migration because:\n // This input overrides a field from a superclass, while the superclass field\n // is not migrated.\n @Input() container: HTMLElement;\n\n /** @docs-private */\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n /** Emits a change event whenever the placement state changes. */\n @Output('kbqPlacementChange') readonly placementChange = new EventEmitter();\n\n /** Emits a change event whenever the visible state changes. */\n @Output('kbqVisibleChange') readonly visibleChange = new EventEmitter<boolean>();\n\n /** @docs-private */\n trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n /** @docs-private */\n protected originSelector = '.kbq-notification-center';\n\n /** @docs-private */\n protected get overlayConfig(): OverlayConfig {\n const defaultPanelClass = 'kbq-notification-center__panel';\n\n return {\n panelClass: this.panelClass ? [defaultPanelClass, this.panelClass] : defaultPanelClass,\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n /** @docs-private */\n protected preventClosingByInnerScrollSubscription: Subscription;\n\n constructor() {\n super();\n\n this.updatePlacementPriority(['right', 'rightBottom', 'rightTop']);\n }\n\n ngAfterContentInit(): void {\n this.visibleChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((visible: boolean) => {\n if (visible) {\n // eslint-disable-next-line rxjs-x/no-nested-subscribe\n this.preventClosingByInnerScrollSubscription = this.closingActions().subscribe((event) => {\n if (event && event['scrollDispatcher']) {\n this.instance.setStickPosition();\n\n event['kbqPopoverPreventHide'] = true;\n event['type'] = 'click';\n }\n });\n } else {\n this.preventClosingByInnerScrollSubscription.unsubscribe();\n this.focus();\n }\n });\n }\n\n /** @docs-private */\n updateData() {\n if (!this.instance) return;\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.arrow = this.arrow;\n this.instance.offset = this.offset;\n this.instance.footer = this.footer;\n this.instance.popoverMode = this.popoverMode;\n this.instance.popoverHeight = this.popoverHeight;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the current position.\n *\n * @docs-private */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getAdjustedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n /** @docs-private */\n getOverlayHandleComponentType(): Type<KbqNotificationCenterComponent> {\n return KbqNotificationCenterComponent;\n }\n\n /** @docs-private */\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) return;\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n /** @docs-private */\n closingActions() {\n return merge(\n this.overlayRef!.outsidePointerEvents(),\n this.overlayRef!.backdropClick(),\n this.scrollDispatcher.scrolled()\n );\n }\n}\n","<div class=\"kbq-notification-center-header\">\n <div class=\"kbq-notification-center-title\">\n <div class=\"kbq-notification-center-title__text\">{{ localeData.notifications }}</div>\n <button\n #notificationSwitcher\n #dropdownTrigger=\"kbqDropdownTrigger\"\n kbq-button\n class=\"kbq-notification-center-title__button\"\n [kbqDropdownTriggerFor]=\"notificationSwitcherDropdown\"\n [kbqTooltip]=\"service.silentMode.value ? localeData.doNotDisturb : localeData.showPopUpNotifications\"\n [kbqTooltipArrow]=\"false\"\n [kbqTooltipOffset]=\"4\"\n [kbqTooltipDisabled]=\"dropdownTrigger.opened\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n >\n <i kbq-icon=\"{{ service.silentMode.value ? 'kbq-bell-slash_16' : 'kbq-bell_16' }}\"></i>\n </button>\n </div>\n <div class=\"kbq-notification-center-toolbar\">\n @if (!service.isEmpty) {\n <button\n kbq-button\n class=\"kbq-notification-center-toolbar__button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n (click)=\"service.removeAll()\"\n >\n <i kbq-icon=\"kbq-trash_16\"></i>\n </button>\n\n <kbq-divider [vertical]=\"true\" />\n }\n\n <button\n kbq-button\n class=\"kbq-notification-center-toolbar__button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n (click)=\"hide(0)\"\n >\n <i kbq-icon=\"kbq-xmark_16\"></i>\n </button>\n </div>\n</div>\n\n<div\n #notificationCenterContainer=\"kbqOverflowShadowContainer\"\n kbq-scrollbar\n kbqOverflowShadowContainer\n class=\"kbq-notification-center-container\"\n [kbqOverflowShadowBottom]=\"notificationCenterContainer\"\n [shadow]=\"'var(--kbq-shadow-overflow-normal-bottom)'\"\n>\n @if (!service.errorMode.value) {\n @if (!service.loadingMode.value) {\n @for (group of service.groupedItems | async; track group) {\n <div\n class=\"kbq-notification-center-sub-header\"\n [kbqOverflowShadowTop]=\"$first ? notificationCenterContainer : undefined\"\n >\n <div class=\"kbq-notification-center-sub-header__date\">{{ group.title }}</div>\n\n <button\n kbq-button\n class=\"kbq-notification-center-sub-header__button\"\n [kbqStyle]=\"'transparent'\"\n [color]=\"'contrast'\"\n [kbqTooltip]=\"localeData.remove\"\n [kbqTooltipArrow]=\"false\"\n (click)=\"service.removeGroup(group)\"\n >\n <i kbq-icon=\"kbq-trash_16\"></i>\n </button>\n </div>\n\n @for (item of group.items; track item) {\n <kbq-notification-item [data]=\"item\" />\n }\n } @empty {\n <div class=\"kbq-notification-center-empty-container\">\n <i kbq-icon-item=\"kbq-bell_16\" [big]=\"true\" [color]=\"'contrast-fade'\"></i>\n {{ localeData.noNotifications }}\n </div>\n }\n } @else {\n <kbq-loader-overlay [transparent]=\"true\" />\n }\n } @else {\n <div class=\"kbq-notification-center-error-container\">\n <i kbq-icon-item=\"kbq-bell_16\" [big]=\"true\" [color]=\"'error'\" [fade]=\"true\"></i>\n {{ localeData.failedToLoadNotifications }}\n <button kbq-button [kbqStyle]=\"'transparent'\" [color]=\"'theme'\" (click)=\"service.onReload.emit()\">\n {{ localeData.repeat }}\n </button>\n </div>\n }\n</div>\n\n<kbq-dropdown #notificationSwitcherDropdown=\"kbqDropdown\">\n <button kbq-dropdown-item (click)=\"service.setSilentMode(false)\">\n <i kbq-icon=\"{{ !service.silentMode.value ? 'kbq-circle-xs_16' : '' }}\" [style.min-width.px]=\"16\"></i>\n {{ localeData.showPopUpNotifications }}\n </button>\n <button kbq-dropdown-item (click)=\"service.setSilentMode(true)\">\n <i kbq-icon=\"{{ service.silentMode.value ? 'kbq-circle-xs_16' : '' }}\" [style.min-width.px]=\"16\"></i>\n {{ localeData.doNotDisturb }}\n </button>\n</kbq-dropdown>\n","import { ConfigurableFocusTrapFactory, FOCUS_TRAP_INERT_STRATEGY, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { EmptyFocusTrapStrategy } from '@koobiq/components/core';\nimport {\n KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KbqNotificationCenterComponent,\n KbqNotificationCenterTrigger\n} from './notification-center';\nimport { KbqNotificationCenterService } from './notification-center.service';\n\n@NgModule({\n imports: [\n KbqNotificationCenterComponent,\n KbqNotificationCenterTrigger\n ],\n providers: [\n KBQ_NOTIFICATION_CENTER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory },\n { provide: FOCUS_TRAP_INERT_STRATEGY, useClass: EmptyFocusTrapStrategy },\n KbqNotificationCenterService\n ],\n exports: [\n KbqNotificationCenterComponent,\n KbqNotificationCenterTrigger\n ]\n})\nexport class KbqNotificationCenterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i4","i3"],"mappings":"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"}
@@ -14,7 +14,7 @@ import { merge, switchMap, skip, debounceTime } from 'rxjs';
14
14
  class ElementVisibilityManager {
15
15
  constructor() {
16
16
  this.renderer = inject(Renderer2);
17
- this.hiddenState = signal(false);
17
+ this.hiddenState = signal(false, ...(ngDevMode ? [{ debugName: "hiddenState" }] : []));
18
18
  /**
19
19
  * @docs-private
20
20
  */
@@ -24,7 +24,7 @@ class ElementVisibilityManager {
24
24
  *
25
25
  * @docs-private
26
26
  */
27
- this.hidden = computed(() => this.hiddenState());
27
+ this.hidden = computed(() => this.hiddenState(), ...(ngDevMode ? [{ debugName: "hidden" }] : []));
28
28
  }
29
29
  /**
30
30
  * Hides the element.
@@ -46,10 +46,10 @@ class ElementVisibilityManager {
46
46
  this.renderer.removeStyle(this.element, 'position');
47
47
  this.hiddenState.set(false);
48
48
  }
49
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ElementVisibilityManager, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: ElementVisibilityManager, isStandalone: true, host: { properties: { "attr.aria-hidden": "hidden()", "class.kbq-overflow-item-hidden": "hidden()" } }, ngImport: i0 }); }
49
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ElementVisibilityManager, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ElementVisibilityManager, isStandalone: true, host: { properties: { "attr.aria-hidden": "hidden()", "class.kbq-overflow-item-hidden": "hidden()" } }, ngImport: i0 }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: ElementVisibilityManager, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ElementVisibilityManager, decorators: [{
53
53
  type: Directive,
54
54
  args: [{
55
55
  host: {
@@ -63,15 +63,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
63
63
  * Directive for displaying the result of hidden items by the `KbqOverflowItems` directive.
64
64
  */
65
65
  class KbqOverflowItemsResult extends ElementVisibilityManager {
66
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItemsResult, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
67
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: KbqOverflowItemsResult, isStandalone: true, selector: "[kbqOverflowItemsResult]", host: { classAttribute: "kbq-overflow-items-result" }, exportAs: ["kbqOverflowItemsResult"], usesInheritance: true, ngImport: i0 }); }
66
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItemsResult, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
67
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqOverflowItemsResult, isStandalone: true, selector: "[kbqOverflowItemsResult]", host: { classAttribute: "kbq-overflow-items-result" }, exportAs: ["kbqOverflowItemsResult"], usesInheritance: true, ngImport: i0 }); }
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItemsResult, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItemsResult, decorators: [{
70
70
  type: Directive,
71
71
  args: [{
72
72
  selector: '[kbqOverflowItemsResult]',
73
- exportAs: 'kbqOverflowItemsResult',
74
- host: { class: 'kbq-overflow-items-result' }
73
+ host: { class: 'kbq-overflow-items-result' },
74
+ exportAs: 'kbqOverflowItemsResult'
75
75
  }]
76
76
  }] });
77
77
  /**
@@ -83,17 +83,17 @@ class KbqOverflowItem extends ElementVisibilityManager {
83
83
  /**
84
84
  * Unique identifier for the item.
85
85
  */
86
- this.id = input.required({ alias: 'kbqOverflowItem' });
86
+ this.id = input.required(...(ngDevMode ? [{ debugName: "id", alias: 'kbqOverflowItem' }] : [{ alias: 'kbqOverflowItem' }]));
87
87
  /**
88
88
  * Defines the order in which the item is processed in the overflow container,
89
89
  * without changing its original position in the `QueryList`.
90
90
  */
91
- this.order = input(null, { transform: numberAttribute });
91
+ this.order = input(null, ...(ngDevMode ? [{ debugName: "order", transform: numberAttribute }] : [{ transform: numberAttribute }]));
92
92
  /**
93
93
  * Element with this attribute will be ignored when hiding and will always remain visible.
94
94
  * @default false
95
95
  */
96
- this.alwaysVisible = input(false, { transform: booleanAttribute });
96
+ this.alwaysVisible = input(false, ...(ngDevMode ? [{ debugName: "alwaysVisible", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
97
97
  }
98
98
  /**
99
99
  * @docs-private
@@ -103,20 +103,20 @@ class KbqOverflowItem extends ElementVisibilityManager {
103
103
  return;
104
104
  super.hide();
105
105
  }
106
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItem, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
107
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.21", type: KbqOverflowItem, isStandalone: true, selector: "[kbqOverflowItem]", inputs: { id: { classPropertyName: "id", publicName: "kbqOverflowItem", isSignal: true, isRequired: true, transformFunction: null }, order: { classPropertyName: "order", publicName: "order", isSignal: true, isRequired: false, transformFunction: null }, alwaysVisible: { classPropertyName: "alwaysVisible", publicName: "alwaysVisible", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.kbq-overflow-item_always-visible": "alwaysVisible()" }, classAttribute: "kbq-overflow-item" }, exportAs: ["kbqOverflowItem"], usesInheritance: true, ngImport: i0 }); }
106
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItem, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
107
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.25", type: KbqOverflowItem, isStandalone: true, selector: "[kbqOverflowItem]", inputs: { id: { classPropertyName: "id", publicName: "kbqOverflowItem", isSignal: true, isRequired: true, transformFunction: null }, order: { classPropertyName: "order", publicName: "order", isSignal: true, isRequired: false, transformFunction: null }, alwaysVisible: { classPropertyName: "alwaysVisible", publicName: "alwaysVisible", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.kbq-overflow-item_always-visible": "alwaysVisible()" }, classAttribute: "kbq-overflow-item" }, exportAs: ["kbqOverflowItem"], usesInheritance: true, ngImport: i0 }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItem, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItem, decorators: [{
110
110
  type: Directive,
111
111
  args: [{
112
112
  selector: '[kbqOverflowItem]',
113
- exportAs: 'kbqOverflowItem',
114
113
  host: {
115
114
  class: 'kbq-overflow-item',
116
115
  '[class.kbq-overflow-item_always-visible]': 'alwaysVisible()'
117
- }
116
+ },
117
+ exportAs: 'kbqOverflowItem'
118
118
  }]
119
- }] });
119
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqOverflowItem", required: true }] }], order: [{ type: i0.Input, args: [{ isSignal: true, alias: "order", required: false }] }], alwaysVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "alwaysVisible", required: false }] }] } });
120
120
  /**
121
121
  * Directive for managing the visibility of items that overflow the container.
122
122
  */
@@ -130,11 +130,11 @@ class KbqOverflowItems {
130
130
  /**
131
131
  * `KbqOverflowItem` directive references.
132
132
  */
133
- this.items = contentChildren(KbqOverflowItem);
133
+ this.items = contentChildren(KbqOverflowItem, ...(ngDevMode ? [{ debugName: "items" }] : []));
134
134
  /**
135
135
  * `KbqOverflowItemsResult` directive reference.
136
136
  */
137
- this.result = contentChild(KbqOverflowItemsResult);
137
+ this.result = contentChild(KbqOverflowItemsResult, ...(ngDevMode ? [{ debugName: "result" }] : []));
138
138
  /**
139
139
  * Whether the overflow order should be reversed.
140
140
  *
@@ -145,19 +145,19 @@ class KbqOverflowItems {
145
145
  *
146
146
  * @default false
147
147
  */
148
- this.reverseOverflowOrder = input(false, { transform: booleanAttribute });
148
+ this.reverseOverflowOrder = input(false, ...(ngDevMode ? [{ debugName: "reverseOverflowOrder", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
149
149
  /**
150
150
  * Debounce time for recalculating items visibility.
151
151
  *
152
152
  * @default 0
153
153
  */
154
- this.debounceTime = input(0, { transform: numberAttribute });
154
+ this.debounceTime = input(0, ...(ngDevMode ? [{ debugName: "debounceTime", transform: numberAttribute }] : [{ transform: numberAttribute }]));
155
155
  /**
156
156
  * List of additional elements to observe for resize changes.
157
157
  *
158
158
  * @default document.body
159
159
  */
160
- this.additionalResizeObserverTargets = input(this.document.body);
160
+ this.additionalResizeObserverTargets = input(this.document.body, ...(ngDevMode ? [{ debugName: "additionalResizeObserverTargets" }] : []));
161
161
  /**
162
162
  * Emits when the set of hidden items changes.
163
163
  */
@@ -173,13 +173,13 @@ class KbqOverflowItems {
173
173
  *
174
174
  * @default 'horizontal'
175
175
  */
176
- this.orientation = input('horizontal');
176
+ this.orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
177
177
  /**
178
178
  * Defines the wrap of the overflow items.
179
179
  *
180
180
  * @default 'nowrap'
181
181
  */
182
- this.wrap = input('nowrap');
182
+ this.wrap = input('nowrap', ...(ngDevMode ? [{ debugName: "wrap" }] : []));
183
183
  this.orientationConfig = {
184
184
  horizontal: {
185
185
  containerSize: (element) => element.clientWidth,
@@ -286,17 +286,17 @@ class KbqOverflowItems {
286
286
  }
287
287
  return undefined;
288
288
  }
289
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItems, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
290
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.21", type: KbqOverflowItems, isStandalone: true, selector: "[kbqOverflowItems]", inputs: { reverseOverflowOrder: { classPropertyName: "reverseOverflowOrder", publicName: "reverseOverflowOrder", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, additionalResizeObserverTargets: { classPropertyName: "additionalResizeObserverTargets", publicName: "additionalResizeObserverTargets", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changes: "changes" }, host: { classAttribute: "kbq-overflow-items" }, queries: [{ propertyName: "items", predicate: KbqOverflowItem, isSignal: true }, { propertyName: "result", first: true, predicate: KbqOverflowItemsResult, descendants: true, isSignal: true }], exportAs: ["kbqOverflowItems"], ngImport: i0 }); }
289
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItems, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
290
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.25", type: KbqOverflowItems, isStandalone: true, selector: "[kbqOverflowItems]", inputs: { reverseOverflowOrder: { classPropertyName: "reverseOverflowOrder", publicName: "reverseOverflowOrder", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, additionalResizeObserverTargets: { classPropertyName: "additionalResizeObserverTargets", publicName: "additionalResizeObserverTargets", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changes: "changes" }, host: { classAttribute: "kbq-overflow-items" }, queries: [{ propertyName: "items", predicate: KbqOverflowItem, isSignal: true }, { propertyName: "result", first: true, predicate: KbqOverflowItemsResult, descendants: true, isSignal: true }], exportAs: ["kbqOverflowItems"], ngImport: i0 }); }
291
291
  }
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItems, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItems, decorators: [{
293
293
  type: Directive,
294
294
  args: [{
295
295
  selector: '[kbqOverflowItems]',
296
- exportAs: 'kbqOverflowItems',
297
- host: { class: 'kbq-overflow-items' }
296
+ host: { class: 'kbq-overflow-items' },
297
+ exportAs: 'kbqOverflowItems'
298
298
  }]
299
- }], ctorParameters: () => [] });
299
+ }], ctorParameters: () => [], propDecorators: { items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KbqOverflowItem), { isSignal: true }] }], result: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqOverflowItemsResult), { isSignal: true }] }], reverseOverflowOrder: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseOverflowOrder", required: false }] }], debounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "debounceTime", required: false }] }], additionalResizeObserverTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalResizeObserverTargets", required: false }] }], changes: [{ type: i0.Output, args: ["changes"] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], wrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrap", required: false }] }] } });
300
300
 
301
301
  const COMPONENTS = [
302
302
  KbqOverflowItems,
@@ -304,15 +304,15 @@ const COMPONENTS = [
304
304
  KbqOverflowItemsResult
305
305
  ];
306
306
  class KbqOverflowItemsModule {
307
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItemsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
308
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItemsModule, imports: [KbqOverflowItems,
307
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItemsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
308
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItemsModule, imports: [KbqOverflowItems,
309
309
  KbqOverflowItem,
310
310
  KbqOverflowItemsResult], exports: [KbqOverflowItems,
311
311
  KbqOverflowItem,
312
312
  KbqOverflowItemsResult] }); }
313
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItemsModule }); }
313
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItemsModule }); }
314
314
  }
315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: KbqOverflowItemsModule, decorators: [{
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOverflowItemsModule, decorators: [{
316
316
  type: NgModule,
317
317
  args: [{
318
318
  imports: COMPONENTS,