@koobiq/components 18.38.1 → 19.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 (891) hide show
  1. package/accordion/accordion-content.d.ts +2 -2
  2. package/accordion/accordion-content.directive.d.ts +11 -0
  3. package/accordion/accordion-header.d.ts +2 -2
  4. package/accordion/accordion-header.directive.d.ts +7 -0
  5. package/accordion/accordion-item.d.ts +2 -2
  6. package/accordion/accordion-item.directive.d.ts +72 -0
  7. package/accordion/accordion-root.directive.d.ts +64 -0
  8. package/accordion/accordion-trigger.component.d.ts +2 -2
  9. package/accordion/accordion-trigger.directive.d.ts +13 -0
  10. package/accordion/accordion.component.d.ts +2 -4
  11. package/accordion/accordion.module.d.ts +7 -7
  12. package/accordion/public-api.d.ts +5 -0
  13. package/alert/_alert-theme.scss +4 -16
  14. package/alert/alert-tokens.scss +6 -12
  15. package/alert/alert.component.d.ts +5 -12
  16. package/alert/alert.module.d.ts +4 -4
  17. package/app-switcher/app-switcher.d.ts +4 -4
  18. package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
  19. package/autocomplete/autocomplete-trigger.directive.d.ts +1 -1
  20. package/autocomplete/autocomplete.component.d.ts +1 -1
  21. package/autocomplete/autocomplete.module.d.ts +7 -7
  22. package/badge/badge.component.d.ts +3 -3
  23. package/badge/badge.module.d.ts +4 -4
  24. package/breadcrumbs/breadcrumbs.d.ts +3 -2
  25. package/breadcrumbs/public-api.d.ts +2 -0
  26. package/breadcrumbs/roving-focus-group.directive.d.ts +50 -0
  27. package/breadcrumbs/roving-focus-item.directive.d.ts +50 -0
  28. package/breadcrumbs/utils.d.ts +19 -0
  29. package/button/button.component.d.ts +2 -2
  30. package/button/button.module.d.ts +6 -6
  31. package/button-toggle/_button-toggle-theme.scss +30 -27
  32. package/button-toggle/button-toggle.component.d.ts +2 -2
  33. package/button-toggle/button-toggle.module.d.ts +4 -4
  34. package/button-toggle/button-toggle.scss +2 -2
  35. package/checkbox/checkbox-module.d.ts +4 -4
  36. package/checkbox/checkbox-required-validator.d.ts +1 -1
  37. package/checkbox/checkbox.d.ts +1 -1
  38. package/code-block/code-block.scss +2 -2
  39. package/core/common-behaviors/index.d.ts +0 -1
  40. package/core/formatters/date/formatter.pipe.d.ts +13 -0
  41. package/core/formatters/index.d.ts +4 -4
  42. package/core/formatters/number/formatter.d.ts +3 -3
  43. package/core/forms/forms-module.d.ts +1 -1
  44. package/core/forms/forms.directive.d.ts +2 -2
  45. package/core/highlight/highlight.pipe.d.ts +1 -1
  46. package/core/highlight/index.d.ts +3 -3
  47. package/core/line/line.d.ts +1 -6
  48. package/core/option/_option-theme.scss +5 -2
  49. package/core/option/action.d.ts +1 -1
  50. package/core/option/optgroup.d.ts +1 -1
  51. package/core/option/option-module.d.ts +5 -5
  52. package/core/option/option.d.ts +4 -1
  53. package/core/pop-up/constants.d.ts +4 -0
  54. package/core/pop-up/pop-up-trigger.d.ts +5 -5
  55. package/core/pop-up/pop-up.d.ts +1 -1
  56. package/core/select/common.d.ts +1 -1
  57. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  58. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +3 -3
  59. package/core/styles/common/_select.scss +1 -1
  60. package/core/styles/theming/_scrollbar-theme.scss +18 -12
  61. package/core/styles/visual/_layout.scss +10 -0
  62. package/core/utils/utils.d.ts +3 -0
  63. package/datepicker/calendar-body.component.d.ts +1 -1
  64. package/datepicker/calendar-header.component.d.ts +1 -1
  65. package/datepicker/calendar.component.d.ts +1 -1
  66. package/datepicker/datepicker-input.directive.d.ts +1 -1
  67. package/datepicker/datepicker-module.d.ts +15 -15
  68. package/datepicker/datepicker-toggle.component.d.ts +2 -2
  69. package/datepicker/datepicker.component.d.ts +2 -2
  70. package/datepicker/month-view.component.d.ts +1 -1
  71. package/divider/divider.component.d.ts +5 -1
  72. package/divider/divider.module.d.ts +3 -3
  73. package/dl/dl.component.d.ts +3 -3
  74. package/dl/dl.module.d.ts +4 -4
  75. package/dropdown/dropdown-content.directive.d.ts +1 -1
  76. package/dropdown/dropdown-item.component.d.ts +1 -1
  77. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  78. package/dropdown/dropdown.component.d.ts +1 -1
  79. package/dropdown/dropdown.module.d.ts +8 -8
  80. package/dropdown/dropdown.scss +1 -0
  81. package/ellipsis-center/ellipsis-center.directive.d.ts +2 -2
  82. package/empty-state/empty-state.component.d.ts +5 -5
  83. package/empty-state/empty-state.module.d.ts +4 -4
  84. package/fesm2022/koobiq-components-accordion.mjs +459 -40
  85. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-actions-panel.mjs +18 -18
  87. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-alert.mjs +28 -36
  89. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-app-switcher.mjs +49 -52
  91. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-autocomplete.mjs +31 -25
  93. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-badge.mjs +20 -21
  95. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-breadcrumbs.mjs +339 -36
  97. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-button-toggle.mjs +25 -22
  99. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-button.mjs +25 -26
  101. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-checkbox.mjs +18 -16
  103. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-clamped-text.mjs +9 -9
  105. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-code-block.mjs +15 -16
  107. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-content-panel.mjs +55 -57
  109. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-core.mjs +326 -356
  111. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-datepicker.mjs +107 -90
  113. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-divider.mjs +16 -14
  115. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-dl.mjs +19 -20
  117. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-dropdown.mjs +47 -48
  119. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-dynamic-translation.mjs +16 -19
  121. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-ellipsis-center.mjs +10 -10
  123. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-empty-state.mjs +26 -27
  125. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-file-upload.mjs +306 -98
  127. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-filter-bar.mjs +258 -234
  129. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-form-field.mjs +84 -92
  131. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-icon.mjs +18 -18
  133. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-inline-edit.mjs +33 -37
  135. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-input.mjs +31 -30
  137. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-link.mjs +11 -10
  139. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-list.mjs +54 -46
  141. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-loader-overlay.mjs +27 -28
  143. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-markdown.mjs +14 -14
  145. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-modal.mjs +76 -64
  147. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-navbar-ic.mjs +76 -54
  149. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-navbar.mjs +77 -66
  151. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-notification-center.mjs +31 -32
  153. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  154. package/fesm2022/koobiq-components-overflow-items.mjs +16 -19
  155. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-popover.mjs +55 -46
  157. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-progress-bar.mjs +18 -19
  159. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-progress-spinner.mjs +21 -23
  161. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-radio.mjs +20 -16
  163. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-resizer.mjs +10 -12
  165. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-risk-level.mjs +13 -12
  167. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-scrollbar.mjs +17 -18
  169. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-search-expandable.mjs +19 -19
  171. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-select.mjs +110 -73
  173. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-sidebar.mjs +16 -23
  175. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-sidepanel.mjs +61 -55
  177. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-split-button.mjs +12 -12
  179. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-splitter.mjs +24 -25
  181. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-table.mjs +17 -18
  183. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-tabs.mjs +85 -89
  185. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-tags.mjs +43 -47
  187. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-textarea.mjs +10 -11
  189. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-time-range.mjs +38 -40
  191. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-timepicker.mjs +65 -14
  193. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-timezone.mjs +68 -59
  195. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-title.mjs +9 -10
  197. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-toast.mjs +23 -24
  199. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-toggle.mjs +16 -14
  201. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-tooltip.mjs +20 -23
  203. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-top-bar.mjs +18 -20
  205. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  206. package/fesm2022/koobiq-components-tree-select.mjs +81 -70
  207. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  208. package/fesm2022/koobiq-components-tree.mjs +77 -66
  209. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  210. package/fesm2022/koobiq-components-username.mjs +31 -37
  211. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  212. package/file-upload/file-upload.d.ts +11 -0
  213. package/file-upload/file-upload.module.d.ts +15 -15
  214. package/file-upload/multiple-file-upload.component.d.ts +12 -9
  215. package/file-upload/{file-drop.d.ts → primitives/file-drop.d.ts} +3 -3
  216. package/file-upload/primitives/file-picker.d.ts +82 -0
  217. package/file-upload/primitives/index.d.ts +2 -0
  218. package/file-upload/public-api.d.ts +2 -1
  219. package/file-upload/single-file-upload.component.d.ts +11 -8
  220. package/filter-bar/filter-bar.d.ts +1 -1
  221. package/filter-bar/filter-search.d.ts +17 -4
  222. package/icon/_icon-button-theme.scss +2 -1
  223. package/inline-edit/inline-edit.d.ts +2 -3
  224. package/input/_input-theme.scss +2 -1
  225. package/input/input-number-validators.d.ts +2 -2
  226. package/input/input-number.d.ts +1 -1
  227. package/input/input-password.d.ts +1 -1
  228. package/input/input.d.ts +2 -2
  229. package/input/input.module.d.ts +8 -8
  230. package/link/_link-theme.scss +3 -0
  231. package/link/link.component.d.ts +1 -1
  232. package/link/link.module.d.ts +3 -3
  233. package/list/_list-theme.scss +6 -0
  234. package/list/list-selection.component.d.ts +6 -4
  235. package/list/list.component.d.ts +2 -2
  236. package/list/list.module.d.ts +6 -6
  237. package/list/list.scss +1 -0
  238. package/loader-overlay/loader-overlay.component.d.ts +4 -4
  239. package/loader-overlay/loader-overlay.module.d.ts +5 -5
  240. package/modal/css-unit.pipe.d.ts +1 -1
  241. package/modal/modal.component.d.ts +1 -1
  242. package/modal/modal.directive.d.ts +4 -4
  243. package/modal/modal.module.d.ts +10 -10
  244. package/modal/modal.service.d.ts +1 -1
  245. package/navbar/_navbar-theme.scss +1 -0
  246. package/navbar/navbar-brand.component.d.ts +1 -1
  247. package/navbar/navbar-item.component.d.ts +7 -7
  248. package/navbar/navbar-toggle.component.d.ts +1 -1
  249. package/navbar/navbar-toggle.scss +1 -1
  250. package/navbar/navbar.component.d.ts +4 -4
  251. package/navbar/navbar.module.d.ts +10 -10
  252. package/navbar/vertical-navbar.component.d.ts +1 -1
  253. package/navbar/vertical-navbar.scss +5 -2
  254. package/navbar-ic/navbar-ic-header.d.ts +3 -0
  255. package/navbar-ic/navbar-ic-item.d.ts +18 -0
  256. package/navbar-ic/navbar-ic.d.ts +13 -7
  257. package/notification-center/notification-center.d.ts +5 -5
  258. package/overflow-items/overflow-items.d.ts +1 -1
  259. package/package.json +9 -140
  260. package/popover/popover-confirm.component.d.ts +2 -2
  261. package/popover/popover.component.d.ts +9 -9
  262. package/popover/popover.module.d.ts +9 -9
  263. package/popover/popover.scss +3 -2
  264. package/prebuilt-themes/dark-theme.css +1 -1
  265. package/prebuilt-themes/light-theme.css +1 -1
  266. package/prebuilt-themes/theme.css +1 -1
  267. package/progress-bar/progress-bar.component.d.ts +3 -3
  268. package/progress-bar/progress-bar.module.d.ts +3 -3
  269. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  270. package/progress-spinner/progress-spinner.module.d.ts +4 -4
  271. package/progress-spinner/progress-spinner.scss +1 -0
  272. package/radio/_radio-theme.scss +2 -1
  273. package/radio/radio-tokens.scss +1 -0
  274. package/radio/radio.component.d.ts +10 -5
  275. package/radio/radio.module.d.ts +3 -3
  276. package/risk-level/risk-level.component.d.ts +1 -1
  277. package/risk-level/risk-level.module.d.ts +4 -4
  278. package/schematics/migrations/icons-replacement/README.md +5 -1
  279. package/schematics/migrations/icons-replacement/index.js +1 -1
  280. package/schematics/ng-add/index.js +4 -5
  281. package/scrollbar/_scrollbar-component-theme.scss +16 -14
  282. package/select/select-option.directive.d.ts +1 -1
  283. package/select/select.component.d.ts +6 -5
  284. package/select/select.module.d.ts +10 -10
  285. package/sidebar/sidebar.component.d.ts +3 -3
  286. package/sidebar/sidebar.module.d.ts +3 -3
  287. package/sidepanel/sidepanel-container.component.d.ts +1 -1
  288. package/sidepanel/sidepanel-directives.d.ts +5 -5
  289. package/sidepanel/sidepanel.module.d.ts +9 -9
  290. package/splitter/splitter.component.d.ts +4 -4
  291. package/splitter/splitter.module.d.ts +3 -3
  292. package/table/_table-theme.scss +1 -0
  293. package/table/table.component.d.ts +2 -2
  294. package/table/table.module.d.ts +4 -4
  295. package/tabs/paginated-tab-header.d.ts +1 -1
  296. package/tabs/tab-body.component.d.ts +2 -2
  297. package/tabs/tab-content.directive.d.ts +1 -1
  298. package/tabs/tab-group.component.d.ts +5 -5
  299. package/tabs/tab-header.component.d.ts +1 -1
  300. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  301. package/tabs/tab-label.directive.d.ts +1 -1
  302. package/tabs/tab.component.d.ts +3 -3
  303. package/tabs/tabs.module.d.ts +15 -15
  304. package/tags/tag-input.d.ts +1 -1
  305. package/tags/tag-list.component.d.ts +1 -1
  306. package/tags/tag.component.d.ts +4 -4
  307. package/tags/tag.module.d.ts +4 -4
  308. package/textarea/textarea.component.d.ts +1 -1
  309. package/textarea/textarea.module.d.ts +4 -4
  310. package/timepicker/timepicker.directive.d.ts +15 -5
  311. package/timepicker/timepicker.module.d.ts +5 -5
  312. package/timezone/cities-by-filter.pipe.d.ts +1 -1
  313. package/timezone/timezone-option.component.d.ts +1 -1
  314. package/timezone/timezone-option.directive.d.ts +1 -1
  315. package/timezone/timezone-select.component.d.ts +2 -2
  316. package/timezone/timezone.module.d.ts +15 -15
  317. package/timezone/utc-offset.pipe.d.ts +1 -1
  318. package/title/title.directive.d.ts +1 -1
  319. package/title/title.module.d.ts +3 -3
  320. package/toggle/toggle.component.d.ts +1 -1
  321. package/toggle/toggle.module.d.ts +3 -3
  322. package/tooltip/tooltip.component.d.ts +3 -3
  323. package/top-bar/top-bar.d.ts +1 -1
  324. package/tree/node.d.ts +1 -1
  325. package/tree/outlet.d.ts +1 -1
  326. package/tree/padding.directive.d.ts +1 -1
  327. package/tree/toggle.d.ts +3 -3
  328. package/tree/tree-base.d.ts +2 -2
  329. package/tree/tree-option.component.d.ts +1 -1
  330. package/tree/tree-selection.component.d.ts +1 -1
  331. package/tree/tree.d.ts +1 -1
  332. package/tree/tree.module.d.ts +11 -11
  333. package/tree-select/tree-select.component.d.ts +2 -2
  334. package/tree-select/tree-select.module.d.ts +9 -9
  335. package/core/common-behaviors/focus-monitor.d.ts +0 -19
  336. package/esm2022/accordion/accordion-content.mjs +0 -19
  337. package/esm2022/accordion/accordion-header.mjs +0 -19
  338. package/esm2022/accordion/accordion-item.mjs +0 -25
  339. package/esm2022/accordion/accordion-trigger.component.mjs +0 -48
  340. package/esm2022/accordion/accordion.component.mjs +0 -41
  341. package/esm2022/accordion/accordion.module.mjs +0 -44
  342. package/esm2022/accordion/index.mjs +0 -2
  343. package/esm2022/accordion/koobiq-components-accordion.mjs +0 -5
  344. package/esm2022/accordion/public-api.mjs +0 -7
  345. package/esm2022/actions-panel/actions-panel-config.mjs +0 -55
  346. package/esm2022/actions-panel/actions-panel-container.mjs +0 -217
  347. package/esm2022/actions-panel/actions-panel-ref.mjs +0 -78
  348. package/esm2022/actions-panel/actions-panel.mjs +0 -133
  349. package/esm2022/actions-panel/index.mjs +0 -6
  350. package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +0 -5
  351. package/esm2022/actions-panel/module.mjs +0 -21
  352. package/esm2022/alert/alert.component.mjs +0 -124
  353. package/esm2022/alert/alert.module.mjs +0 -40
  354. package/esm2022/alert/index.mjs +0 -2
  355. package/esm2022/alert/koobiq-components-alert.mjs +0 -5
  356. package/esm2022/alert/public-api.mjs +0 -3
  357. package/esm2022/app-switcher/app-switcher-animations.mjs +0 -18
  358. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +0 -75
  359. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +0 -60
  360. package/esm2022/app-switcher/app-switcher.mjs +0 -446
  361. package/esm2022/app-switcher/app-switcher.module.mjs +0 -45
  362. package/esm2022/app-switcher/index.mjs +0 -2
  363. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +0 -84
  364. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +0 -5
  365. package/esm2022/app-switcher/public-api.mjs +0 -7
  366. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +0 -21
  367. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +0 -540
  368. package/esm2022/autocomplete/autocomplete.component.mjs +0 -178
  369. package/esm2022/autocomplete/autocomplete.module.mjs +0 -38
  370. package/esm2022/autocomplete/index.mjs +0 -2
  371. package/esm2022/autocomplete/koobiq-components-autocomplete.mjs +0 -5
  372. package/esm2022/autocomplete/public-api.mjs +0 -5
  373. package/esm2022/badge/badge.component.mjs +0 -124
  374. package/esm2022/badge/badge.module.mjs +0 -36
  375. package/esm2022/badge/index.mjs +0 -2
  376. package/esm2022/badge/koobiq-components-badge.mjs +0 -5
  377. package/esm2022/badge/public-api.mjs +0 -3
  378. package/esm2022/breadcrumbs/breadcrumbs.mjs +0 -268
  379. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -31
  380. package/esm2022/breadcrumbs/breadcrumbs.types.mjs +0 -2
  381. package/esm2022/breadcrumbs/index.mjs +0 -2
  382. package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +0 -5
  383. package/esm2022/breadcrumbs/public-api.mjs +0 -4
  384. package/esm2022/button/button.component.mjs +0 -180
  385. package/esm2022/button/button.dropdown-trigger.directive.mjs +0 -28
  386. package/esm2022/button/button.module.mjs +0 -41
  387. package/esm2022/button/index.mjs +0 -2
  388. package/esm2022/button/koobiq-components-button.mjs +0 -5
  389. package/esm2022/button/public-api.mjs +0 -4
  390. package/esm2022/button-toggle/button-toggle.component.mjs +0 -384
  391. package/esm2022/button-toggle/button-toggle.module.mjs +0 -19
  392. package/esm2022/button-toggle/index.mjs +0 -2
  393. package/esm2022/button-toggle/koobiq-components-button-toggle.mjs +0 -5
  394. package/esm2022/button-toggle/public-api.mjs +0 -3
  395. package/esm2022/checkbox/checkbox-config.mjs +0 -6
  396. package/esm2022/checkbox/checkbox-module.mjs +0 -19
  397. package/esm2022/checkbox/checkbox-required-validator.mjs +0 -27
  398. package/esm2022/checkbox/checkbox.mjs +0 -295
  399. package/esm2022/checkbox/index.mjs +0 -2
  400. package/esm2022/checkbox/koobiq-components-checkbox.mjs +0 -5
  401. package/esm2022/checkbox/public-api.mjs +0 -5
  402. package/esm2022/clamped-text/clamped-text.mjs +0 -202
  403. package/esm2022/clamped-text/constants.mjs +0 -20
  404. package/esm2022/clamped-text/index.mjs +0 -4
  405. package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +0 -5
  406. package/esm2022/clamped-text/module.mjs +0 -19
  407. package/esm2022/code-block/code-block-highlight.mjs +0 -418
  408. package/esm2022/code-block/code-block.mjs +0 -440
  409. package/esm2022/code-block/code-block.module.mjs +0 -19
  410. package/esm2022/code-block/index.mjs +0 -2
  411. package/esm2022/code-block/koobiq-components-code-block.mjs +0 -5
  412. package/esm2022/code-block/public-api.mjs +0 -5
  413. package/esm2022/code-block/types.mjs +0 -2
  414. package/esm2022/content-panel/content-panel.mjs +0 -432
  415. package/esm2022/content-panel/index.mjs +0 -3
  416. package/esm2022/content-panel/koobiq-components-content-panel.mjs +0 -5
  417. package/esm2022/content-panel/module.mjs +0 -42
  418. package/esm2022/core/animation/animation.mjs +0 -39
  419. package/esm2022/core/animation/fade-animations.mjs +0 -9
  420. package/esm2022/core/animation/index.mjs +0 -4
  421. package/esm2022/core/animation/select-animations.mjs +0 -45
  422. package/esm2022/core/common-behaviors/checkbox.mjs +0 -2
  423. package/esm2022/core/common-behaviors/clipboard.mjs +0 -31
  424. package/esm2022/core/common-behaviors/color.mjs +0 -89
  425. package/esm2022/core/common-behaviors/common-module.mjs +0 -76
  426. package/esm2022/core/common-behaviors/constructor.mjs +0 -2
  427. package/esm2022/core/common-behaviors/disabled.mjs +0 -19
  428. package/esm2022/core/common-behaviors/error-state.mjs +0 -50
  429. package/esm2022/core/common-behaviors/focus-monitor.mjs +0 -37
  430. package/esm2022/core/common-behaviors/hover.mjs +0 -34
  431. package/esm2022/core/common-behaviors/index.mjs +0 -14
  432. package/esm2022/core/common-behaviors/orientation.mjs +0 -2
  433. package/esm2022/core/common-behaviors/read-state.mjs +0 -33
  434. package/esm2022/core/common-behaviors/size.mjs +0 -2
  435. package/esm2022/core/common-behaviors/tabindex.mjs +0 -20
  436. package/esm2022/core/datetime/date-adapter.mjs +0 -14
  437. package/esm2022/core/datetime/date-formats.mjs +0 -3
  438. package/esm2022/core/datetime/index.mjs +0 -3
  439. package/esm2022/core/error/error-state-matcher.mjs +0 -56
  440. package/esm2022/core/form-field/field-sizing-content.mjs +0 -117
  441. package/esm2022/core/form-field/form-field-ref.mjs +0 -10
  442. package/esm2022/core/form-field/index.mjs +0 -3
  443. package/esm2022/core/formatters/date/formatter.mjs +0 -25
  444. package/esm2022/core/formatters/date/formatter.pipe.mjs +0 -380
  445. package/esm2022/core/formatters/filesize/config.mjs +0 -32
  446. package/esm2022/core/formatters/filesize/formatter.mjs +0 -43
  447. package/esm2022/core/formatters/filesize/index.mjs +0 -4
  448. package/esm2022/core/formatters/filesize/size.mjs +0 -65
  449. package/esm2022/core/formatters/index.mjs +0 -146
  450. package/esm2022/core/formatters/number/formatter.mjs +0 -347
  451. package/esm2022/core/forms/forms-module.mjs +0 -24
  452. package/esm2022/core/forms/forms.directive.mjs +0 -66
  453. package/esm2022/core/forms/index.mjs +0 -4
  454. package/esm2022/core/forms/validators.mjs +0 -184
  455. package/esm2022/core/highlight/highlight.pipe.mjs +0 -23
  456. package/esm2022/core/highlight/index.mjs +0 -19
  457. package/esm2022/core/index.mjs +0 -2
  458. package/esm2022/core/koobiq-components-core.mjs +0 -5
  459. package/esm2022/core/line/line.mjs +0 -70
  460. package/esm2022/core/locales/en-US.mjs +0 -210
  461. package/esm2022/core/locales/es-LA.mjs +0 -209
  462. package/esm2022/core/locales/formatters.mjs +0 -193
  463. package/esm2022/core/locales/index.mjs +0 -10
  464. package/esm2022/core/locales/locale-service.mjs +0 -173
  465. package/esm2022/core/locales/locale-service.module.mjs +0 -19
  466. package/esm2022/core/locales/pt-BR.mjs +0 -209
  467. package/esm2022/core/locales/ru-RU.mjs +0 -224
  468. package/esm2022/core/locales/tk-TM.mjs +0 -210
  469. package/esm2022/core/locales/types.mjs +0 -2
  470. package/esm2022/core/navbar/index.mjs +0 -2
  471. package/esm2022/core/navbar/rectangle-item.mjs +0 -40
  472. package/esm2022/core/option/action-container.mjs +0 -23
  473. package/esm2022/core/option/action.mjs +0 -107
  474. package/esm2022/core/option/index.mjs +0 -6
  475. package/esm2022/core/option/optgroup.mjs +0 -37
  476. package/esm2022/core/option/option-module.mjs +0 -20
  477. package/esm2022/core/option/option.mjs +0 -322
  478. package/esm2022/core/overlay/overlay-position-map.mjs +0 -251
  479. package/esm2022/core/pop-up/constants.mjs +0 -55
  480. package/esm2022/core/pop-up/focus-trap-strategy.mjs +0 -6
  481. package/esm2022/core/pop-up/index.mjs +0 -6
  482. package/esm2022/core/pop-up/pop-up-styles.mjs +0 -24
  483. package/esm2022/core/pop-up/pop-up-trigger.mjs +0 -343
  484. package/esm2022/core/pop-up/pop-up.mjs +0 -152
  485. package/esm2022/core/public-api.mjs +0 -24
  486. package/esm2022/core/select/common.mjs +0 -203
  487. package/esm2022/core/select/constants.mjs +0 -25
  488. package/esm2022/core/select/errors.mjs +0 -26
  489. package/esm2022/core/select/events.mjs +0 -2
  490. package/esm2022/core/select/index.mjs +0 -5
  491. package/esm2022/core/selection/constants.mjs +0 -6
  492. package/esm2022/core/selection/index.mjs +0 -4
  493. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -43
  494. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +0 -18
  495. package/esm2022/core/services/measure-scrollbar.service.mjs +0 -42
  496. package/esm2022/core/services/theme.service.mjs +0 -80
  497. package/esm2022/core/title/index.mjs +0 -2
  498. package/esm2022/core/title/title-text-ref.mjs +0 -3
  499. package/esm2022/core/tokens/index.mjs +0 -2
  500. package/esm2022/core/tokens/window.mjs +0 -19
  501. package/esm2022/core/utils/dom.mjs +0 -8
  502. package/esm2022/core/utils/index.mjs +0 -3
  503. package/esm2022/core/utils/public-api.mjs +0 -2
  504. package/esm2022/core/utils/utils.mjs +0 -31
  505. package/esm2022/core/validation/index.mjs +0 -2
  506. package/esm2022/core/validation/validation.mjs +0 -27
  507. package/esm2022/core/version.mjs +0 -3
  508. package/esm2022/datepicker/calendar-body.component.mjs +0 -87
  509. package/esm2022/datepicker/calendar-header.component.mjs +0 -164
  510. package/esm2022/datepicker/calendar.component.mjs +0 -185
  511. package/esm2022/datepicker/datepicker-animations.mjs +0 -32
  512. package/esm2022/datepicker/datepicker-errors.mjs +0 -6
  513. package/esm2022/datepicker/datepicker-input.directive.mjs +0 -1119
  514. package/esm2022/datepicker/datepicker-intl.mjs +0 -40
  515. package/esm2022/datepicker/datepicker-module.mjs +0 -103
  516. package/esm2022/datepicker/datepicker-toggle.component.mjs +0 -170
  517. package/esm2022/datepicker/datepicker.component.mjs +0 -388
  518. package/esm2022/datepicker/index.mjs +0 -2
  519. package/esm2022/datepicker/koobiq-components-datepicker.mjs +0 -5
  520. package/esm2022/datepicker/month-view.component.mjs +0 -148
  521. package/esm2022/datepicker/public-api.mjs +0 -11
  522. package/esm2022/divider/divider.component.mjs +0 -49
  523. package/esm2022/divider/divider.module.mjs +0 -18
  524. package/esm2022/divider/index.mjs +0 -2
  525. package/esm2022/divider/koobiq-components-divider.mjs +0 -5
  526. package/esm2022/divider/public-api.mjs +0 -3
  527. package/esm2022/dl/dl.component.mjs +0 -81
  528. package/esm2022/dl/dl.module.mjs +0 -36
  529. package/esm2022/dl/index.mjs +0 -2
  530. package/esm2022/dl/koobiq-components-dl.mjs +0 -5
  531. package/esm2022/dl/public-api.mjs +0 -3
  532. package/esm2022/dropdown/dropdown-animations.mjs +0 -41
  533. package/esm2022/dropdown/dropdown-content.directive.mjs +0 -61
  534. package/esm2022/dropdown/dropdown-errors.mjs +0 -29
  535. package/esm2022/dropdown/dropdown-item.component.mjs +0 -150
  536. package/esm2022/dropdown/dropdown-trigger.directive.mjs +0 -513
  537. package/esm2022/dropdown/dropdown.component.mjs +0 -293
  538. package/esm2022/dropdown/dropdown.module.mjs +0 -51
  539. package/esm2022/dropdown/dropdown.types.mjs +0 -23
  540. package/esm2022/dropdown/index.mjs +0 -2
  541. package/esm2022/dropdown/koobiq-components-dropdown.mjs +0 -5
  542. package/esm2022/dropdown/public-api.mjs +0 -9
  543. package/esm2022/dynamic-translation/dynamic-translation.mjs +0 -175
  544. package/esm2022/dynamic-translation/index.mjs +0 -3
  545. package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +0 -5
  546. package/esm2022/dynamic-translation/module.mjs +0 -25
  547. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +0 -120
  548. package/esm2022/ellipsis-center/index.mjs +0 -2
  549. package/esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs +0 -5
  550. package/esm2022/ellipsis-center/public-api.mjs +0 -2
  551. package/esm2022/empty-state/empty-state.component.mjs +0 -109
  552. package/esm2022/empty-state/empty-state.module.mjs +0 -44
  553. package/esm2022/empty-state/index.mjs +0 -2
  554. package/esm2022/empty-state/koobiq-components-empty-state.mjs +0 -5
  555. package/esm2022/empty-state/public-api.mjs +0 -3
  556. package/esm2022/file-upload/file-drop.mjs +0 -87
  557. package/esm2022/file-upload/file-upload.mjs +0 -71
  558. package/esm2022/file-upload/file-upload.module.mjs +0 -79
  559. package/esm2022/file-upload/index.mjs +0 -2
  560. package/esm2022/file-upload/koobiq-components-file-upload.mjs +0 -5
  561. package/esm2022/file-upload/multiple-file-upload.component.mjs +0 -306
  562. package/esm2022/file-upload/public-api.mjs +0 -6
  563. package/esm2022/file-upload/single-file-upload.component.mjs +0 -257
  564. package/esm2022/filter-bar/filter-bar-button.mjs +0 -31
  565. package/esm2022/filter-bar/filter-bar.mjs +0 -213
  566. package/esm2022/filter-bar/filter-bar.module.mjs +0 -67
  567. package/esm2022/filter-bar/filter-bar.types.mjs +0 -72
  568. package/esm2022/filter-bar/filter-refresher.mjs +0 -34
  569. package/esm2022/filter-bar/filter-reset.mjs +0 -49
  570. package/esm2022/filter-bar/filter-search.mjs +0 -145
  571. package/esm2022/filter-bar/filters.mjs +0 -266
  572. package/esm2022/filter-bar/index.mjs +0 -2
  573. package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +0 -5
  574. package/esm2022/filter-bar/pipe-add.mjs +0 -140
  575. package/esm2022/filter-bar/pipe.directive.mjs +0 -37
  576. package/esm2022/filter-bar/pipes/base-pipe.mjs +0 -146
  577. package/esm2022/filter-bar/pipes/pipe-button.mjs +0 -72
  578. package/esm2022/filter-bar/pipes/pipe-date.mjs +0 -206
  579. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +0 -208
  580. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +0 -188
  581. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +0 -260
  582. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +0 -68
  583. package/esm2022/filter-bar/pipes/pipe-select.mjs +0 -101
  584. package/esm2022/filter-bar/pipes/pipe-state.mjs +0 -53
  585. package/esm2022/filter-bar/pipes/pipe-text.mjs +0 -104
  586. package/esm2022/filter-bar/pipes/pipe-title.mjs +0 -102
  587. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +0 -142
  588. package/esm2022/filter-bar/public-api.mjs +0 -22
  589. package/esm2022/form-field/cleaner.mjs +0 -28
  590. package/esm2022/form-field/error.mjs +0 -20
  591. package/esm2022/form-field/fieldset.mjs +0 -84
  592. package/esm2022/form-field/form-field-control.mjs +0 -4
  593. package/esm2022/form-field/form-field.mjs +0 -447
  594. package/esm2022/form-field/form-field.module.mjs +0 -87
  595. package/esm2022/form-field/hint.mjs +0 -36
  596. package/esm2022/form-field/index.mjs +0 -2
  597. package/esm2022/form-field/koobiq-components-form-field.mjs +0 -5
  598. package/esm2022/form-field/label.mjs +0 -19
  599. package/esm2022/form-field/password-hint.mjs +0 -165
  600. package/esm2022/form-field/password-toggle.mjs +0 -129
  601. package/esm2022/form-field/prefix.mjs +0 -19
  602. package/esm2022/form-field/public-api.mjs +0 -16
  603. package/esm2022/form-field/reactive-password-hint.mjs +0 -66
  604. package/esm2022/form-field/stepper.mjs +0 -144
  605. package/esm2022/form-field/suffix.mjs +0 -18
  606. package/esm2022/form-field/validate.directive.mjs +0 -190
  607. package/esm2022/icon/icon-button.component.mjs +0 -64
  608. package/esm2022/icon/icon-item.component.mjs +0 -31
  609. package/esm2022/icon/icon.component.mjs +0 -56
  610. package/esm2022/icon/icon.module.mjs +0 -27
  611. package/esm2022/icon/index.mjs +0 -2
  612. package/esm2022/icon/koobiq-components-icon.mjs +0 -5
  613. package/esm2022/icon/public-api.mjs +0 -5
  614. package/esm2022/index.mjs +0 -2
  615. package/esm2022/inline-edit/index.mjs +0 -3
  616. package/esm2022/inline-edit/inline-edit.mjs +0 -382
  617. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +0 -5
  618. package/esm2022/inline-edit/module.mjs +0 -25
  619. package/esm2022/input/index.mjs +0 -2
  620. package/esm2022/input/input-errors.mjs +0 -4
  621. package/esm2022/input/input-number-validators.mjs +0 -88
  622. package/esm2022/input/input-number.mjs +0 -386
  623. package/esm2022/input/input-password.mjs +0 -253
  624. package/esm2022/input/input-value-accessor.mjs +0 -3
  625. package/esm2022/input/input.mjs +0 -299
  626. package/esm2022/input/input.module.mjs +0 -58
  627. package/esm2022/input/koobiq-components-input.mjs +0 -5
  628. package/esm2022/input/public-api.mjs +0 -7
  629. package/esm2022/koobiq-components.mjs +0 -5
  630. package/esm2022/link/index.mjs +0 -2
  631. package/esm2022/link/koobiq-components-link.mjs +0 -5
  632. package/esm2022/link/link.component.mjs +0 -143
  633. package/esm2022/link/link.module.mjs +0 -20
  634. package/esm2022/link/public-api.mjs +0 -3
  635. package/esm2022/list/index.mjs +0 -2
  636. package/esm2022/list/koobiq-components-list.mjs +0 -5
  637. package/esm2022/list/list-selection.component.mjs +0 -739
  638. package/esm2022/list/list.component.mjs +0 -43
  639. package/esm2022/list/list.module.mjs +0 -60
  640. package/esm2022/list/public-api.mjs +0 -4
  641. package/esm2022/loader-overlay/index.mjs +0 -2
  642. package/esm2022/loader-overlay/koobiq-components-loader-overlay.mjs +0 -5
  643. package/esm2022/loader-overlay/loader-overlay.component.mjs +0 -110
  644. package/esm2022/loader-overlay/loader-overlay.module.mjs +0 -44
  645. package/esm2022/loader-overlay/public-api.mjs +0 -3
  646. package/esm2022/markdown/index.mjs +0 -2
  647. package/esm2022/markdown/koobiq-components-markdown.mjs +0 -5
  648. package/esm2022/markdown/markdown.component.mjs +0 -67
  649. package/esm2022/markdown/markdown.module.mjs +0 -21
  650. package/esm2022/markdown/markdown.service.mjs +0 -36
  651. package/esm2022/markdown/markdown.values.mjs +0 -35
  652. package/esm2022/markdown/public-api.mjs +0 -5
  653. package/esm2022/modal/css-unit.pipe.mjs +0 -17
  654. package/esm2022/modal/index.mjs +0 -2
  655. package/esm2022/modal/koobiq-components-modal.mjs +0 -5
  656. package/esm2022/modal/modal-control.service.mjs +0 -89
  657. package/esm2022/modal/modal-ref.class.mjs +0 -7
  658. package/esm2022/modal/modal-util.mjs +0 -22
  659. package/esm2022/modal/modal.component.mjs +0 -540
  660. package/esm2022/modal/modal.directive.mjs +0 -94
  661. package/esm2022/modal/modal.module.mjs +0 -78
  662. package/esm2022/modal/modal.service.mjs +0 -135
  663. package/esm2022/modal/modal.type.mjs +0 -7
  664. package/esm2022/modal/public-api.mjs +0 -7
  665. package/esm2022/navbar/index.mjs +0 -2
  666. package/esm2022/navbar/koobiq-components-navbar.mjs +0 -5
  667. package/esm2022/navbar/navbar-brand.component.mjs +0 -105
  668. package/esm2022/navbar/navbar-item.component.mjs +0 -428
  669. package/esm2022/navbar/navbar-toggle.component.mjs +0 -88
  670. package/esm2022/navbar/navbar.component.mjs +0 -251
  671. package/esm2022/navbar/navbar.module.mjs +0 -84
  672. package/esm2022/navbar/public-api.mjs +0 -7
  673. package/esm2022/navbar/vertical-navbar.component.mjs +0 -128
  674. package/esm2022/navbar-ic/index.mjs +0 -2
  675. package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +0 -5
  676. package/esm2022/navbar-ic/navbar-ic-header.mjs +0 -74
  677. package/esm2022/navbar-ic/navbar-ic-item.mjs +0 -390
  678. package/esm2022/navbar-ic/navbar-ic.animation.mjs +0 -17
  679. package/esm2022/navbar-ic/navbar-ic.mjs +0 -310
  680. package/esm2022/navbar-ic/navbar-ic.module.mjs +0 -74
  681. package/esm2022/navbar-ic/public-api.mjs +0 -5
  682. package/esm2022/notification-center/index.mjs +0 -2
  683. package/esm2022/notification-center/koobiq-components-notification-center.mjs +0 -5
  684. package/esm2022/notification-center/notification-center-animations.mjs +0 -18
  685. package/esm2022/notification-center/notification-center.mjs +0 -329
  686. package/esm2022/notification-center/notification-center.module.mjs +0 -38
  687. package/esm2022/notification-center/notification-center.service.mjs +0 -127
  688. package/esm2022/notification-center/notification-item.mjs +0 -70
  689. package/esm2022/notification-center/public-api.mjs +0 -5
  690. package/esm2022/overflow-items/index.mjs +0 -3
  691. package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +0 -5
  692. package/esm2022/overflow-items/module.mjs +0 -25
  693. package/esm2022/overflow-items/overflow-items.mjs +0 -290
  694. package/esm2022/popover/index.mjs +0 -2
  695. package/esm2022/popover/koobiq-components-popover.mjs +0 -5
  696. package/esm2022/popover/popover-animations.mjs +0 -16
  697. package/esm2022/popover/popover-confirm.component.mjs +0 -97
  698. package/esm2022/popover/popover.component.mjs +0 -410
  699. package/esm2022/popover/popover.module.mjs +0 -67
  700. package/esm2022/popover/public-api.mjs +0 -5
  701. package/esm2022/progress-bar/index.mjs +0 -2
  702. package/esm2022/progress-bar/koobiq-components-progress-bar.mjs +0 -5
  703. package/esm2022/progress-bar/progress-bar.component.mjs +0 -62
  704. package/esm2022/progress-bar/progress-bar.module.mjs +0 -32
  705. package/esm2022/progress-bar/public-api.mjs +0 -3
  706. package/esm2022/progress-spinner/index.mjs +0 -2
  707. package/esm2022/progress-spinner/koobiq-components-progress-spinner.mjs +0 -5
  708. package/esm2022/progress-spinner/progress-spinner.component.mjs +0 -78
  709. package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -35
  710. package/esm2022/progress-spinner/public-api.mjs +0 -3
  711. package/esm2022/public-api.mjs +0 -2
  712. package/esm2022/radio/index.mjs +0 -2
  713. package/esm2022/radio/koobiq-components-radio.mjs +0 -5
  714. package/esm2022/radio/public-api.mjs +0 -3
  715. package/esm2022/radio/radio.component.mjs +0 -451
  716. package/esm2022/radio/radio.module.mjs +0 -18
  717. package/esm2022/resizer/index.mjs +0 -3
  718. package/esm2022/resizer/koobiq-components-resizer.mjs +0 -5
  719. package/esm2022/resizer/module.mjs +0 -17
  720. package/esm2022/resizer/resizer.mjs +0 -135
  721. package/esm2022/risk-level/index.mjs +0 -2
  722. package/esm2022/risk-level/koobiq-components-risk-level.mjs +0 -5
  723. package/esm2022/risk-level/public-api.mjs +0 -3
  724. package/esm2022/risk-level/risk-level.component.mjs +0 -40
  725. package/esm2022/risk-level/risk-level.module.mjs +0 -24
  726. package/esm2022/scrollbar/index.mjs +0 -2
  727. package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +0 -5
  728. package/esm2022/scrollbar/public-api.mjs +0 -5
  729. package/esm2022/scrollbar/scrollbar.component.mjs +0 -133
  730. package/esm2022/scrollbar/scrollbar.directive.mjs +0 -105
  731. package/esm2022/scrollbar/scrollbar.module.mjs +0 -25
  732. package/esm2022/scrollbar/scrollbar.types.mjs +0 -14
  733. package/esm2022/search-expandable/index.mjs +0 -2
  734. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +0 -5
  735. package/esm2022/search-expandable/public-api.mjs +0 -3
  736. package/esm2022/search-expandable/search-expandable.mjs +0 -177
  737. package/esm2022/search-expandable/search-expandable.module.mjs +0 -18
  738. package/esm2022/select/index.mjs +0 -2
  739. package/esm2022/select/koobiq-components-select.mjs +0 -5
  740. package/esm2022/select/public-api.mjs +0 -4
  741. package/esm2022/select/select-option.directive.mjs +0 -69
  742. package/esm2022/select/select.component.mjs +0 -1154
  743. package/esm2022/select/select.module.mjs +0 -81
  744. package/esm2022/sidebar/index.mjs +0 -2
  745. package/esm2022/sidebar/koobiq-components-sidebar.mjs +0 -5
  746. package/esm2022/sidebar/public-api.mjs +0 -3
  747. package/esm2022/sidebar/sidebar-animations.mjs +0 -23
  748. package/esm2022/sidebar/sidebar.component.mjs +0 -169
  749. package/esm2022/sidebar/sidebar.module.mjs +0 -30
  750. package/esm2022/sidepanel/index.mjs +0 -2
  751. package/esm2022/sidepanel/koobiq-components-sidepanel.mjs +0 -5
  752. package/esm2022/sidepanel/public-api.mjs +0 -7
  753. package/esm2022/sidepanel/sidepanel-animations.mjs +0 -29
  754. package/esm2022/sidepanel/sidepanel-config.mjs +0 -33
  755. package/esm2022/sidepanel/sidepanel-container.component.mjs +0 -126
  756. package/esm2022/sidepanel/sidepanel-directives.mjs +0 -168
  757. package/esm2022/sidepanel/sidepanel-ref.mjs +0 -60
  758. package/esm2022/sidepanel/sidepanel.module.mjs +0 -73
  759. package/esm2022/sidepanel/sidepanel.service.mjs +0 -167
  760. package/esm2022/split-button/index.mjs +0 -2
  761. package/esm2022/split-button/koobiq-components-split-button.mjs +0 -5
  762. package/esm2022/split-button/public-api.mjs +0 -3
  763. package/esm2022/split-button/split-button.mjs +0 -133
  764. package/esm2022/split-button/split-button.module.mjs +0 -18
  765. package/esm2022/splitter/index.mjs +0 -2
  766. package/esm2022/splitter/koobiq-components-splitter.mjs +0 -5
  767. package/esm2022/splitter/public-api.mjs +0 -3
  768. package/esm2022/splitter/splitter.component.mjs +0 -492
  769. package/esm2022/splitter/splitter.module.mjs +0 -34
  770. package/esm2022/table/index.mjs +0 -2
  771. package/esm2022/table/koobiq-components-table.mjs +0 -5
  772. package/esm2022/table/public-api.mjs +0 -3
  773. package/esm2022/table/table.component.mjs +0 -36
  774. package/esm2022/table/table.module.mjs +0 -32
  775. package/esm2022/tabs/index.mjs +0 -2
  776. package/esm2022/tabs/koobiq-components-tabs.mjs +0 -5
  777. package/esm2022/tabs/paginated-tab-header.mjs +0 -490
  778. package/esm2022/tabs/public-api.mjs +0 -11
  779. package/esm2022/tabs/tab-body.component.mjs +0 -178
  780. package/esm2022/tabs/tab-content.directive.mjs +0 -15
  781. package/esm2022/tabs/tab-group.component.mjs +0 -384
  782. package/esm2022/tabs/tab-header.component.mjs +0 -60
  783. package/esm2022/tabs/tab-label-wrapper.directive.mjs +0 -86
  784. package/esm2022/tabs/tab-label.directive.mjs +0 -17
  785. package/esm2022/tabs/tab-nav-bar.mjs +0 -292
  786. package/esm2022/tabs/tab.component.mjs +0 -145
  787. package/esm2022/tabs/tabs-animations.mjs +0 -24
  788. package/esm2022/tabs/tabs.module.mjs +0 -95
  789. package/esm2022/tags/index.mjs +0 -2
  790. package/esm2022/tags/koobiq-components-tags.mjs +0 -5
  791. package/esm2022/tags/public-api.mjs +0 -6
  792. package/esm2022/tags/tag-default-options.mjs +0 -4
  793. package/esm2022/tags/tag-input.mjs +0 -281
  794. package/esm2022/tags/tag-list.component.mjs +0 -765
  795. package/esm2022/tags/tag-text-control.mjs +0 -2
  796. package/esm2022/tags/tag.component.mjs +0 -647
  797. package/esm2022/tags/tag.module.mjs +0 -67
  798. package/esm2022/textarea/index.mjs +0 -2
  799. package/esm2022/textarea/koobiq-components-textarea.mjs +0 -5
  800. package/esm2022/textarea/public-api.mjs +0 -3
  801. package/esm2022/textarea/textarea.component.mjs +0 -300
  802. package/esm2022/textarea/textarea.module.mjs +0 -20
  803. package/esm2022/time-range/constants.mjs +0 -42
  804. package/esm2022/time-range/index.mjs +0 -8
  805. package/esm2022/time-range/koobiq-components-time-range.mjs +0 -5
  806. package/esm2022/time-range/module.mjs +0 -36
  807. package/esm2022/time-range/time-range-editor.mjs +0 -224
  808. package/esm2022/time-range/time-range-title-as-form-field.mjs +0 -60
  809. package/esm2022/time-range/time-range-title.mjs +0 -112
  810. package/esm2022/time-range/time-range.mjs +0 -234
  811. package/esm2022/time-range/time-range.service.mjs +0 -126
  812. package/esm2022/time-range/types.mjs +0 -2
  813. package/esm2022/timepicker/index.mjs +0 -2
  814. package/esm2022/timepicker/koobiq-components-timepicker.mjs +0 -5
  815. package/esm2022/timepicker/public-api.mjs +0 -4
  816. package/esm2022/timepicker/timepicker.constants.mjs +0 -29
  817. package/esm2022/timepicker/timepicker.directive.mjs +0 -686
  818. package/esm2022/timepicker/timepicker.module.mjs +0 -29
  819. package/esm2022/timezone/cities-by-filter.pipe.mjs +0 -17
  820. package/esm2022/timezone/index.mjs +0 -2
  821. package/esm2022/timezone/koobiq-components-timezone.mjs +0 -5
  822. package/esm2022/timezone/public-api.mjs +0 -7
  823. package/esm2022/timezone/timezone-option.component.mjs +0 -50
  824. package/esm2022/timezone/timezone-option.directive.mjs +0 -54
  825. package/esm2022/timezone/timezone-select.component.mjs +0 -55
  826. package/esm2022/timezone/timezone.models.mjs +0 -2
  827. package/esm2022/timezone/timezone.module.mjs +0 -82
  828. package/esm2022/timezone/timezone.utils.mjs +0 -80
  829. package/esm2022/timezone/utc-offset.pipe.mjs +0 -17
  830. package/esm2022/title/index.mjs +0 -2
  831. package/esm2022/title/koobiq-components-title.mjs +0 -5
  832. package/esm2022/title/public-api.mjs +0 -3
  833. package/esm2022/title/title.directive.mjs +0 -108
  834. package/esm2022/title/title.module.mjs +0 -18
  835. package/esm2022/toast/index.mjs +0 -2
  836. package/esm2022/toast/koobiq-components-toast.mjs +0 -5
  837. package/esm2022/toast/public-api.mjs +0 -6
  838. package/esm2022/toast/toast-animations.mjs +0 -10
  839. package/esm2022/toast/toast-container.component.mjs +0 -57
  840. package/esm2022/toast/toast.component.mjs +0 -125
  841. package/esm2022/toast/toast.module.mjs +0 -26
  842. package/esm2022/toast/toast.service.mjs +0 -197
  843. package/esm2022/toast/toast.type.mjs +0 -39
  844. package/esm2022/toggle/index.mjs +0 -2
  845. package/esm2022/toggle/koobiq-components-toggle.mjs +0 -5
  846. package/esm2022/toggle/public-api.mjs +0 -3
  847. package/esm2022/toggle/toggle.component.mjs +0 -254
  848. package/esm2022/toggle/toggle.module.mjs +0 -18
  849. package/esm2022/tooltip/index.mjs +0 -2
  850. package/esm2022/tooltip/koobiq-components-tooltip.mjs +0 -5
  851. package/esm2022/tooltip/public-api.mjs +0 -3
  852. package/esm2022/tooltip/tooltip.animations.mjs +0 -19
  853. package/esm2022/tooltip/tooltip.component.mjs +0 -400
  854. package/esm2022/tooltip/tooltip.module.mjs +0 -35
  855. package/esm2022/top-bar/index.mjs +0 -2
  856. package/esm2022/top-bar/koobiq-components-top-bar.mjs +0 -5
  857. package/esm2022/top-bar/module.mjs +0 -25
  858. package/esm2022/top-bar/public-api.mjs +0 -3
  859. package/esm2022/top-bar/top-bar.mjs +0 -74
  860. package/esm2022/tree/control/base-tree-control.mjs +0 -59
  861. package/esm2022/tree/control/flat-tree-control.filters.mjs +0 -52
  862. package/esm2022/tree/control/flat-tree-control.mjs +0 -109
  863. package/esm2022/tree/control/nested-tree-control.mjs +0 -40
  864. package/esm2022/tree/control/tree-control.mjs +0 -2
  865. package/esm2022/tree/data-source/flat-data-source.mjs +0 -157
  866. package/esm2022/tree/data-source/nested-data-source.mjs +0 -28
  867. package/esm2022/tree/index.mjs +0 -2
  868. package/esm2022/tree/koobiq-components-tree.mjs +0 -5
  869. package/esm2022/tree/node.mjs +0 -31
  870. package/esm2022/tree/outlet.mjs +0 -15
  871. package/esm2022/tree/padding.directive.mjs +0 -108
  872. package/esm2022/tree/public-api.mjs +0 -17
  873. package/esm2022/tree/toggle.mjs +0 -93
  874. package/esm2022/tree/tree-base.mjs +0 -236
  875. package/esm2022/tree/tree-errors.mjs +0 -36
  876. package/esm2022/tree/tree-option.component.mjs +0 -303
  877. package/esm2022/tree/tree-selection.component.mjs +0 -568
  878. package/esm2022/tree/tree.mjs +0 -19
  879. package/esm2022/tree/tree.module.mjs +0 -64
  880. package/esm2022/tree-select/index.mjs +0 -2
  881. package/esm2022/tree-select/koobiq-components-tree-select.mjs +0 -5
  882. package/esm2022/tree-select/public-api.mjs +0 -3
  883. package/esm2022/tree-select/tree-select.component.mjs +0 -1034
  884. package/esm2022/tree-select/tree-select.module.mjs +0 -71
  885. package/esm2022/username/constants.mjs +0 -25
  886. package/esm2022/username/index.mjs +0 -6
  887. package/esm2022/username/koobiq-components-username.mjs +0 -5
  888. package/esm2022/username/module.mjs +0 -35
  889. package/esm2022/username/types.mjs +0 -32
  890. package/esm2022/username/username.mjs +0 -129
  891. package/esm2022/username/username.pipe.mjs +0 -92
@@ -1,145 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
4
- import { KbqButton, KbqButtonModule } from '@koobiq/components/button';
5
- import { KbqDividerModule } from '@koobiq/components/divider';
6
- import { KbqFormFieldModule } from '@koobiq/components/form-field';
7
- import { KbqIconModule } from '@koobiq/components/icon';
8
- import { KbqInput, KbqInputModule } from '@koobiq/components/input';
9
- import { KbqToolTipModule, KbqTooltipTrigger } from '@koobiq/components/tooltip';
10
- import { KbqFilterBar } from './filter-bar';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@koobiq/components/button";
13
- import * as i2 from "@koobiq/components/tooltip";
14
- import * as i3 from "@koobiq/components/icon";
15
- import * as i4 from "@koobiq/components/form-field";
16
- import * as i5 from "@koobiq/components/input";
17
- import * as i6 from "@angular/forms";
18
- export class KbqFilterBarSearch {
19
- /** localized data
20
- * @docs-private */
21
- get localeData() {
22
- return this.filterBar.configuration.search;
23
- }
24
- constructor() {
25
- /** KbqFilterBar instance */
26
- this.filterBar = inject(KbqFilterBar);
27
- this.changeDetectorRef = inject(ChangeDetectorRef);
28
- /** control for search */
29
- this.searchControl = new UntypedFormControl();
30
- /** Whether the search active */
31
- this.isSearchActive = false;
32
- /** event that is generated whenever a user performs a search. */
33
- this.onSearch = new EventEmitter();
34
- /** @docs-private */
35
- this.onReset = () => {
36
- this.changeDetectorRef.markForCheck();
37
- };
38
- this.searchControl.valueChanges.subscribe(this.onSearch);
39
- this.filterBar.filterReset?.onResetFilter.pipe(takeUntilDestroyed()).subscribe(this.onReset);
40
- }
41
- openSearch() {
42
- this.isSearchActive = true;
43
- setTimeout(() => this.input.focus());
44
- }
45
- /** @docs-private */
46
- onBlur() {
47
- if (this.searchControl.value)
48
- return;
49
- this.onEscape();
50
- }
51
- /** @docs-private */
52
- onEscape() {
53
- this.isSearchActive = false;
54
- this.button.focusViaKeyboard();
55
- this.tooltip.hide();
56
- }
57
- /** @docs-private */
58
- onClear() {
59
- this.isSearchActive = false;
60
- setTimeout(() => {
61
- this.button.focus();
62
- this.tooltip.hide();
63
- });
64
- }
65
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFilterBarSearch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: KbqFilterBarSearch, isStandalone: true, selector: "kbq-filter-search, [kbq-filter-search]", outputs: { onSearch: "onSearch" }, host: { classAttribute: "kbq-filter-search" }, viewQueries: [{ propertyName: "input", first: true, predicate: KbqInput, descendants: true }, { propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "tooltip", first: true, predicate: KbqTooltipTrigger, descendants: true }], ngImport: i0, template: `
67
- <button
68
- kbq-button
69
- [class.kbq-filter_hidden]="isSearchActive"
70
- [color]="'contrast'"
71
- [kbqStyle]="'transparent'"
72
- kbqTooltip="{{ localeData.tooltip }}"
73
- (click)="openSearch()"
74
- >
75
- <i kbq-icon="kbq-magnifying-glass_16"></i>
76
- </button>
77
-
78
- <kbq-form-field [class.kbq-filter_hidden]="!isSearchActive">
79
- <i kbq-icon="kbq-magnifying-glass_16" kbqPrefix></i>
80
-
81
- <input
82
- autocomplete="off"
83
- kbqInput
84
- [formControl]="searchControl"
85
- placeholder="{{ localeData.placeholder }}"
86
- (blur)="onBlur()"
87
- (keydown.escape)="onEscape()"
88
- />
89
-
90
- <kbq-cleaner (click)="onClear()" />
91
- </kbq-form-field>
92
- `, isInline: true, styles: [".kbq-filter-search{display:flex;align-items:start}.kbq-filter-search .kbq-form-field{width:260px}.kbq-filter-search .kbq-filter_hidden{display:none}\n"], dependencies: [{ kind: "ngmodule", type: KbqDividerModule }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i2.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i3.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqFormFieldModule }, { kind: "component", type: i4.KbqCleaner, selector: "kbq-cleaner", exportAs: ["kbqCleaner"] }, { kind: "component", type: i4.KbqFormField, selector: "kbq-form-field", inputs: ["noBorders"], exportAs: ["kbqFormField"] }, { kind: "directive", type: i4.KbqPrefix, selector: "[kbqPrefix]", exportAs: ["kbqPrefix"] }, { kind: "directive", type: i4.KbqValidateDirective, selector: " input[kbqInput], input[kbqNumberInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", exportAs: ["KbqValidate"] }, { kind: "directive", type: i4.KbqTrim, selector: "[kbqInput], [kbqTextarea]", exportAs: ["KbqTrim"] }, { kind: "ngmodule", type: KbqInputModule }, { kind: "directive", type: i5.KbqInput, selector: "input[kbqInput],input[kbqNumberInput]", inputs: ["errorStateMatcher", "placeholder", "disabled", "id", "required", "type", "value"], exportAs: ["kbqInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
93
- }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFilterBarSearch, decorators: [{
95
- type: Component,
96
- args: [{ standalone: true, selector: 'kbq-filter-search, [kbq-filter-search]', template: `
97
- <button
98
- kbq-button
99
- [class.kbq-filter_hidden]="isSearchActive"
100
- [color]="'contrast'"
101
- [kbqStyle]="'transparent'"
102
- kbqTooltip="{{ localeData.tooltip }}"
103
- (click)="openSearch()"
104
- >
105
- <i kbq-icon="kbq-magnifying-glass_16"></i>
106
- </button>
107
-
108
- <kbq-form-field [class.kbq-filter_hidden]="!isSearchActive">
109
- <i kbq-icon="kbq-magnifying-glass_16" kbqPrefix></i>
110
-
111
- <input
112
- autocomplete="off"
113
- kbqInput
114
- [formControl]="searchControl"
115
- placeholder="{{ localeData.placeholder }}"
116
- (blur)="onBlur()"
117
- (keydown.escape)="onEscape()"
118
- />
119
-
120
- <kbq-cleaner (click)="onClear()" />
121
- </kbq-form-field>
122
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
123
- KbqDividerModule,
124
- KbqButtonModule,
125
- KbqToolTipModule,
126
- KbqIconModule,
127
- KbqFormFieldModule,
128
- KbqInputModule,
129
- ReactiveFormsModule
130
- ], host: {
131
- class: 'kbq-filter-search'
132
- }, styles: [".kbq-filter-search{display:flex;align-items:start}.kbq-filter-search .kbq-form-field{width:260px}.kbq-filter-search .kbq-filter_hidden{display:none}\n"] }]
133
- }], ctorParameters: () => [], propDecorators: { input: [{
134
- type: ViewChild,
135
- args: [KbqInput]
136
- }], button: [{
137
- type: ViewChild,
138
- args: [KbqButton]
139
- }], tooltip: [{
140
- type: ViewChild,
141
- args: [KbqTooltipTrigger]
142
- }], onSearch: [{
143
- type: Output
144
- }] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFnRDVDLE1BQU0sT0FBTyxrQkFBa0I7SUFlM0I7dUJBQ21CO0lBQ25CLElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7SUFLRDtRQXZCQSw0QkFBNEI7UUFDWCxjQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pDLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBTS9ELHlCQUF5QjtRQUN6QixrQkFBYSxHQUF1QixJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFN0QsZ0NBQWdDO1FBQ2hDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBUWhDLGlFQUFpRTtRQUM5QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQXlDekQsb0JBQW9CO1FBQ3BCLFlBQU8sR0FBRyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDO1FBekNFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixNQUFNO1FBQ0YsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRXJDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUU1QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLE9BQU87UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUU1QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVwQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztrSUE3RFEsa0JBQWtCO3NIQUFsQixrQkFBa0IsMk5BS2hCLFFBQVEseUVBQ1IsU0FBUywwRUFDVCxpQkFBaUIsZ0RBbERsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EwQlQsK05BS0csZ0JBQWdCLDhCQUNoQixlQUFlLCtOQUNmLGdCQUFnQiwyZEFDaEIsYUFBYSwySUFDYixrQkFBa0IsOHdCQUNsQixjQUFjLGdQQUNkLG1CQUFtQjs7NEZBTWQsa0JBQWtCO2tCQTlDOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sd0NBQXdDLFlBQ3hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBCVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxtQkFBbUI7cUJBQ3RCLFFBQ0s7d0JBQ0YsS0FBSyxFQUFFLG1CQUFtQjtxQkFDN0I7d0RBTzRCLEtBQUs7c0JBQWpDLFNBQVM7dUJBQUMsUUFBUTtnQkFDVyxNQUFNO3NCQUFuQyxTQUFTO3VCQUFDLFNBQVM7Z0JBQ2tCLE9BQU87c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQWVULFFBQVE7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBLYnFCdXR0b24sIEticUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgS2JxRGl2aWRlck1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kaXZpZGVyJztcbmltcG9ydCB7IEticUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEticUljb25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBLYnFJbnB1dCwgS2JxSW5wdXRNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaW5wdXQnO1xuaW1wb3J0IHsgS2JxVG9vbFRpcE1vZHVsZSwgS2JxVG9vbHRpcFRyaWdnZXIgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBLYnFGaWx0ZXJCYXIgfSBmcm9tICcuL2ZpbHRlci1iYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZpbHRlci1zZWFyY2gsIFtrYnEtZmlsdGVyLXNlYXJjaF0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGticS1idXR0b25cbiAgICAgICAgICAgIFtjbGFzcy5rYnEtZmlsdGVyX2hpZGRlbl09XCJpc1NlYXJjaEFjdGl2ZVwiXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2NvbnRyYXN0J1wiXG4gICAgICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICBrYnFUb29sdGlwPVwie3sgbG9jYWxlRGF0YS50b29sdGlwIH19XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2VhcmNoKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1tYWduaWZ5aW5nLWdsYXNzXzE2XCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8a2JxLWZvcm0tZmllbGQgW2NsYXNzLmticS1maWx0ZXJfaGlkZGVuXT1cIiFpc1NlYXJjaEFjdGl2ZVwiPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtbWFnbmlmeWluZy1nbGFzc18xNlwiIGticVByZWZpeD48L2k+XG5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAga2JxSW5wdXRcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBsb2NhbGVEYXRhLnBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm9uRXNjYXBlKClcIlxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPGticS1jbGVhbmVyIChjbGljayk9XCJvbkNsZWFyKClcIiAvPlxuICAgICAgICA8L2ticS1mb3JtLWZpZWxkPlxuICAgIGAsXG4gICAgc3R5bGVVcmw6ICdmaWx0ZXItc2VhcmNoLnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBLYnFEaXZpZGVyTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGUsXG4gICAgICAgIEticVRvb2xUaXBNb2R1bGUsXG4gICAgICAgIEticUljb25Nb2R1bGUsXG4gICAgICAgIEticUZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgS2JxSW5wdXRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtZmlsdGVyLXNlYXJjaCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUZpbHRlckJhclNlYXJjaCB7XG4gICAgLyoqIEticUZpbHRlckJhciBpbnN0YW5jZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyQmFyID0gaW5qZWN0KEticUZpbHRlckJhcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBAVmlld0NoaWxkKEticUlucHV0KSBwcml2YXRlIGlucHV0OiBLYnFJbnB1dDtcbiAgICBAVmlld0NoaWxkKEticUJ1dHRvbikgcHJpdmF0ZSBidXR0b246IEticUJ1dHRvbjtcbiAgICBAVmlld0NoaWxkKEticVRvb2x0aXBUcmlnZ2VyKSBwcml2YXRlIHRvb2x0aXA6IEticVRvb2x0aXBUcmlnZ2VyO1xuXG4gICAgLyoqIGNvbnRyb2wgZm9yIHNlYXJjaCAqL1xuICAgIHNlYXJjaENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBzZWFyY2ggYWN0aXZlICovXG4gICAgaXNTZWFyY2hBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBsb2NhbGl6ZWQgZGF0YVxuICAgICAqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBnZXQgbG9jYWxlRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyQmFyLmNvbmZpZ3VyYXRpb24uc2VhcmNoO1xuICAgIH1cblxuICAgIC8qKiBldmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciBhIHVzZXIgcGVyZm9ybXMgYSBzZWFyY2guICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodGhpcy5vblNlYXJjaCk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyUmVzZXQ/Lm9uUmVzZXRGaWx0ZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMub25SZXNldCk7XG4gICAgfVxuXG4gICAgb3BlblNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1NlYXJjaEFjdGl2ZSA9IHRydWU7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlucHV0LmZvY3VzKCkpO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hDb250cm9sLnZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5vbkVzY2FwZSgpO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25Fc2NhcGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTZWFyY2hBY3RpdmUgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmJ1dHRvbi5mb2N1c1ZpYUtleWJvYXJkKCk7XG5cbiAgICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIG9uQ2xlYXIoKSB7XG4gICAgICAgIHRoaXMuaXNTZWFyY2hBY3RpdmUgPSBmYWxzZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uLmZvY3VzKCk7XG5cbiAgICAgICAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25SZXNldCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xufVxuIl19
@@ -1,266 +0,0 @@
1
- import { AsyncPipe, NgClass } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import { FormControl, FormsModule, ReactiveFormsModule, UntypedFormControl, Validators } from '@angular/forms';
4
- import { KbqAlertModule } from '@koobiq/components/alert';
5
- import { KbqButton, KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';
6
- import { KbqComponentColors, KbqFormsModule, PopUpPlacements, PopUpSizes } from '@koobiq/components/core';
7
- import { KbqDividerModule } from '@koobiq/components/divider';
8
- import { KbqDropdownModule, KbqDropdownTrigger } from '@koobiq/components/dropdown';
9
- import { KbqFormFieldModule } from '@koobiq/components/form-field';
10
- import { KbqIcon } from '@koobiq/components/icon';
11
- import { KbqInputModule } from '@koobiq/components/input';
12
- import { KbqPopoverModule, KbqPopoverTrigger } from '@koobiq/components/popover';
13
- import { KbqTitleModule } from '@koobiq/components/title';
14
- import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
15
- import { merge, of } from 'rxjs';
16
- import { distinctUntilChanged, filter, map } from 'rxjs/operators';
17
- import { KbqFilterBar } from './filter-bar';
18
- import { KbqFilterBarButton } from './filter-bar-button';
19
- import { KbqSaveFilterStatuses } from './filter-bar.types';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@angular/forms";
22
- import * as i2 from "@koobiq/components/button";
23
- import * as i3 from "@koobiq/components/dropdown";
24
- import * as i4 from "@koobiq/components/divider";
25
- import * as i5 from "@koobiq/components/title";
26
- import * as i6 from "@koobiq/components/form-field";
27
- import * as i7 from "@koobiq/components/input";
28
- import * as i8 from "@koobiq/components/popover";
29
- import * as i9 from "@koobiq/components/core";
30
- import * as i10 from "@koobiq/components/alert";
31
- export class KbqFilters {
32
- /** header of popover. Depends on the mode */
33
- get popoverHeader() {
34
- return this.saveNewFilter ? this.localeData.saveAsNew : this.localeData.saveChanges;
35
- }
36
- /** Component state. true if opened dropdown or popup */
37
- get opened() {
38
- return this.popover?.isOpen || this.dropdown?.opened;
39
- }
40
- /** Selected filter */
41
- get filter() {
42
- return this.filterBar.filter;
43
- }
44
- /** Component state. True if 'filters' input contains no elements. */
45
- get isEmpty() {
46
- return this.filters.length === 0;
47
- }
48
- /** localized data
49
- * @docs-private */
50
- get localeData() {
51
- return this.filterBar.configuration.filters;
52
- }
53
- constructor() {
54
- /** @docs-private */
55
- this.placements = PopUpPlacements;
56
- /** @docs-private */
57
- this.styles = KbqButtonStyles;
58
- /** @docs-private */
59
- this.colors = KbqComponentColors;
60
- /** KbqFilterBar instance */
61
- this.filterBar = inject(KbqFilterBar);
62
- /** @docs-private */
63
- this.changeDetectorRef = inject(ChangeDetectorRef);
64
- /** control for search filter */
65
- this.searchControl = new UntypedFormControl();
66
- /** @docs-private */
67
- this.popoverSize = PopUpSizes.Medium;
68
- this.showFilterSavingError = false;
69
- this.isSaving = false;
70
- /** Event that is generated whenever the user selects a filter. */
71
- this.onSelectFilter = new EventEmitter();
72
- /** Event that is generated whenever the user save a filter. */
73
- this.onSave = new EventEmitter();
74
- /** Event that is generated whenever the user change a filter. */
75
- this.onChangeFilter = new EventEmitter();
76
- /** Event that is generated whenever the user saves a filter as new.
77
- * @deprecated use onSave with status = newFilter. */
78
- this.onSaveAsNew = new EventEmitter();
79
- /** Event that is generated whenever the user remove a filter. */
80
- this.onRemoveFilter = new EventEmitter();
81
- /** Event that is generated whenever the user reset a filter changes. */
82
- this.onResetFilterChanges = new EventEmitter();
83
- this.closePopover = () => {
84
- this.popover.hide();
85
- this.restoreFocus();
86
- setTimeout(() => this.changeDetectorRef.detectChanges());
87
- this.showFilterSavingError = false;
88
- };
89
- this.filterBar.changes.subscribe(() => this.changeDetectorRef.markForCheck());
90
- }
91
- ngOnInit() {
92
- this.filteredOptions = merge(of(this.filters), this.searchControl.valueChanges.pipe(map((value) => this.getFilteredOptions(value))));
93
- }
94
- selectFilter(filter) {
95
- this.filterBar.internalFilterChanges.next(structuredClone(filter));
96
- this.onSelectFilter.next(filter);
97
- }
98
- saveChanges() {
99
- if (!this.filterBar.filter)
100
- return;
101
- this.filterBar.filter.saved = true;
102
- this.filterBar.filter.changed = false;
103
- this.filterBar.internalFilterChanges.next(this.filterBar.filter);
104
- this.onSave.emit({
105
- filter: this.filterBar.filter,
106
- filterBar: this.filterBar,
107
- status: KbqSaveFilterStatuses.OnlyChanges
108
- });
109
- }
110
- saveAsNew(event) {
111
- if (this.filterName.invalid)
112
- return;
113
- const name = this.filterName.value || '';
114
- // @todo default filter
115
- const filter = structuredClone(this.filter) || { pipes: [] };
116
- filter.name = name;
117
- filter.saved = true;
118
- filter.changed = false;
119
- this.isSaving = true;
120
- this.popover.preventClose = true;
121
- this.filterName.disable();
122
- if (this.saveNewFilter) {
123
- this.onSaveAsNew.emit({ filter, filterBar: this.filterBar });
124
- this.onSave.emit({ filter, filterBar: this.filterBar, status: KbqSaveFilterStatuses.NewFilter });
125
- }
126
- else {
127
- this.onSave.emit({ filter, filterBar: this.filterBar, status: KbqSaveFilterStatuses.NewName });
128
- }
129
- event?.preventDefault();
130
- }
131
- showError(error) {
132
- if (error?.nameAlreadyExists) {
133
- this.filterName.setErrors({ filterNameAlreadyExist: true });
134
- }
135
- this.showFilterSavingError = true;
136
- this.filterSavingErrorText = error?.text ?? this.filterBar.configuration.filters.errorHint;
137
- }
138
- restoreFocus() {
139
- this.button.focus();
140
- }
141
- preparePopover() {
142
- this.filterName = new FormControl(this.filter?.name || '', Validators.required);
143
- this.filterName.valueChanges.pipe(distinctUntilChanged()).subscribe(() => (this.showFilterSavingError = false));
144
- this.popover.show();
145
- merge(...this.popover.defaultClosingActions())
146
- .pipe(filter(() => !this.isSaving))
147
- .subscribe(this.closePopover);
148
- this.popover.visibleChange.pipe(filter((state) => !state)).subscribe(this.closePopover);
149
- setTimeout(() => {
150
- this.newFilterName.nativeElement.focus();
151
- this.filterName.setErrors(null);
152
- });
153
- }
154
- openSaveAsNewFilterPopover() {
155
- this.saveNewFilter = true;
156
- this.preparePopover();
157
- }
158
- openChangeFilterNamePopover() {
159
- this.saveNewFilter = false;
160
- this.preparePopover();
161
- }
162
- /** @docs-private */
163
- stopEventPropagation(event) {
164
- event.stopPropagation();
165
- }
166
- /** @docs-private */
167
- searchKeydownHandler(event) {
168
- if (event.key === 'Escape') {
169
- this.closePopover();
170
- }
171
- else {
172
- this.stopEventPropagation(event);
173
- }
174
- }
175
- /** @docs-private */
176
- onDropdownOpen() {
177
- this.searchControl.setValue(null);
178
- setTimeout(() => this.search.nativeElement.focus());
179
- }
180
- resetFilterChanges() {
181
- this.filterBar.resetFilterChangedState();
182
- this.onResetFilterChanges.emit(this.filter);
183
- }
184
- /** Hide the popup and restore focus.
185
- * Use this method in the onSave, onSaveAsNew, or onChangeFilter events after the data has been successfully saved. */
186
- filterSavedSuccessfully() {
187
- this.isSaving = false;
188
- this.popover.preventClose = false;
189
- this.popover.hide();
190
- this.restoreFocus();
191
- this.changeDetectorRef.markForCheck();
192
- }
193
- /** Shows an error. Use this method in the onSave, onSaveAsNew, or onChangeFilter events if saving data failed. */
194
- filterSavedUnsuccessfully(error) {
195
- this.isSaving = false;
196
- this.popover.preventClose = false;
197
- this.showError(error);
198
- this.filterName.enable();
199
- setTimeout(() => this.saveFilterButton.focus());
200
- this.changeDetectorRef.markForCheck();
201
- }
202
- getFilteredOptions(value) {
203
- const searchFilter = value && value.new ? value.value : value;
204
- return searchFilter
205
- ? this.filters.filter((filter) => filter.name.toLowerCase().includes(searchFilter.toLowerCase()))
206
- : this.filters;
207
- }
208
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFilters, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
209
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqFilters, isStandalone: true, selector: "kbq-filters", inputs: { filters: "filters" }, outputs: { onSelectFilter: "onSelectFilter", onSave: "onSave", onChangeFilter: "onChangeFilter", onSaveAsNew: "onSaveAsNew", onRemoveFilter: "onRemoveFilter", onResetFilterChanges: "onResetFilterChanges" }, host: { classAttribute: "kbq-filters" }, viewQueries: [{ propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "popover", first: true, predicate: KbqPopoverTrigger, descendants: true }, { propertyName: "dropdown", first: true, predicate: KbqDropdownTrigger, descendants: true }, { propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "newFilterName", first: true, predicate: ["newFilterName"], descendants: true }, { propertyName: "saveFilterButton", first: true, predicate: ["saveFilterButton"], descendants: true }], exportAs: ["kbqFilters"], ngImport: i0, template: "<button\n kbq-button\n kbq-title\n kbqFilterBarButton\n kbqPopover\n [kbqDropdownTriggerFor]=\"savedFilters\"\n [kbqPopoverArrow]=\"false\"\n [kbqPopoverClass]=\"'kbq-filters__save-as-new-filter-popover'\"\n [kbqPopoverContent]=\"saveAsNewPopoverContent\"\n [kbqPopoverFooter]=\"saveAsNewPopoverFooter\"\n [kbqPopoverHeader]=\"saveAsNewPopoverHeader\"\n [kbqPopoverPlacement]=\"placements.BottomLeft\"\n [kbqPopoverPlacementPriority]=\"[placements.BottomLeft, placements.TopLeft]\"\n [kbqPopoverSize]=\"popoverSize\"\n [kbqTrigger]=\"'manual'\"\n [class.kbq-active]=\"opened\"\n [disabled]=\"isSaving\"\n (dropdownClosed)=\"searchControl.setValue('')\"\n (dropdownOpened)=\"onDropdownOpen()\"\n>\n <span #kbqTitleText class=\"kbq-filters__filter-name\">\n @if (filter?.name) {\n {{ filter!.name }}\n } @else {\n <ng-content>\n <i kbq-icon=\"kbq-list_16\"></i>\n {{ localeData.defaultName }}\n </ng-content>\n }\n </span>\n</button>\n\n@if (filterBar.isChanged && !filterBar.isSaved) {\n <button\n kbq-button\n kbqFilterBarButton\n class=\"kbq-button_action\"\n kbqTooltip=\"{{ localeData.saveNewFilterTooltip }}\"\n [color]=\"colors.Empty\"\n [disabled]=\"isSaving\"\n (click)=\"openSaveAsNewFilterPopover()\"\n >\n <i kbq-icon=\"kbq-floppy-disk_16\"></i>\n </button>\n}\n\n@if (filterBar.isSaved) {\n <button\n kbq-button\n kbqFilterBarButton\n class=\"kbq-button_action\"\n [color]=\"colors.Empty\"\n [kbqDropdownTriggerFor]=\"filterActions\"\n [disabled]=\"isSaving\"\n [ngClass]=\"{ 'kbq-button_changed-saved-filter': filterBar.isSavedAndChanged }\"\n >\n <i kbq-icon=\"kbq-ellipsis-vertical_16\"></i>\n </button>\n\n <i kbq-icon=\"kbq-chevron-right-s_16\" class=\"kbq-filter-bar__arrow\" [color]=\"'theme'\"></i>\n} @else {\n <kbq-divider class=\"kbq-filter-bar__separator\" [vertical]=\"true\" />\n}\n\n<kbq-dropdown #savedFilters=\"kbqDropdown\" [class]=\"'kbq-filters__dropdown'\">\n <div [style.display]=\"isEmpty ? 'none' : 'initial'\">\n <kbq-form-field kbqFormFieldWithoutBorders>\n <i kbq-icon=\"kbq-magnifying-glass_16\" kbqPrefix></i>\n\n <input\n #search\n autocomplete=\"off\"\n kbqInput\n placeholder=\"{{ localeData.searchPlaceholder }}\"\n [formControl]=\"searchControl\"\n (click)=\"stopEventPropagation($event)\"\n (keydown)=\"searchKeydownHandler($event)\"\n />\n <kbq-cleaner />\n </kbq-form-field>\n\n <kbq-divider />\n\n @for (filter of filteredOptions | async; track filter) {\n <button\n kbq-dropdown-item\n kbq-title\n [class.kbq-selected]=\"filterBar.filter?.name === filter.name\"\n (click)=\"selectFilter(filter)\"\n >\n {{ filter.name }}\n </button>\n } @empty {\n <button kbq-dropdown-item [disabled]=\"true\">\n {{ localeData.searchEmptyResult }}\n </button>\n }\n\n <kbq-divider />\n </div>\n\n <button kbq-dropdown-item (click)=\"openSaveAsNewFilterPopover()\">\n <i kbq-icon=\"kbq-plus_16\"></i>\n {{ localeData.saveAsNewFilter }}\n </button>\n</kbq-dropdown>\n\n<kbq-dropdown #filterActions=\"kbqDropdown\" [class]=\"'kbq-filters__dropdown'\">\n @if (filterBar.isSavedAndChanged && !filterBar.isReadOnly) {\n <button\n kbq-dropdown-item\n [ngClass]=\"{ 'kbq-button_changed-saved-filter': filterBar.isSavedAndChanged }\"\n (click)=\"saveChanges()\"\n >\n <i kbq-icon=\"kbq-floppy-disk_16\"></i>\n {{ localeData.saveChanges }}\n @if (filterBar.isSavedAndChanged) {\n <i class=\"kbq kbq-icon kbq-icon-button kbq-circle-xs_16 kbq-warning layout-margin-left-xs\"></i>\n }\n </button>\n }\n <button kbq-dropdown-item (click)=\"openSaveAsNewFilterPopover()\">\n <i kbq-icon=\"kbq-plus_16\"></i>\n {{ localeData.saveAsNew }}\n </button>\n\n @if (!filterBar.isReadOnly) {\n <button kbq-dropdown-item (click)=\"openChangeFilterNamePopover()\">\n <i kbq-icon=\"kbq-pencil_16\"></i>\n {{ localeData.change }}\n </button>\n }\n\n @if (filterBar.isSavedAndChanged || !filterBar.isReadOnly) {\n <kbq-divider />\n }\n\n @if (filterBar.isSavedAndChanged) {\n <button kbq-dropdown-item (click)=\"resetFilterChanges()\">\n <i kbq-icon=\"kbq-xmark-circle_16\"></i>\n {{ localeData.resetChanges }}\n </button>\n }\n @if (!filterBar.isReadOnly) {\n <button kbq-dropdown-item (click)=\"this.onRemoveFilter.next(this.filter!)\">\n <i kbq-icon=\"kbq-trash_16\"></i>\n {{ localeData.remove }}\n </button>\n }\n</kbq-dropdown>\n\n<ng-template #saveAsNewPopoverHeader>{{ popoverHeader }}</ng-template>\n\n<ng-template #saveAsNewPopoverContent>\n @if (showFilterSavingError) {\n <kbq-alert class=\"layout-margin-bottom-m\" [alertColor]=\"'error'\" [alertStyle]=\"'colored'\" [compact]=\"true\">\n {{ filterSavingErrorText }}\n </kbq-alert>\n }\n <div class=\"kbq-form-vertical\">\n <div class=\"kbq-form__row\">\n <label class=\"kbq-form__label\">{{ localeData.name }}</label>\n\n <kbq-form-field class=\"kbq-form__control\">\n <input\n #newFilterName\n kbqInput\n type=\"text\"\n [formControl]=\"filterName\"\n (keydown.enter)=\"saveAsNew($event)\"\n />\n\n @if (filterName.hasError('filterNameAlreadyExist')) {\n <kbq-error>{{ localeData.error }}</kbq-error>\n }\n </kbq-form-field>\n </div>\n </div>\n</ng-template>\n\n<ng-template #saveAsNewPopoverFooter>\n <button\n #saveFilterButton\n kbq-button\n class=\"layout-margin-right-l\"\n [class.kbq-progress]=\"isSaving\"\n [disabled]=\"isSaving\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'filled'\"\n (click)=\"saveAsNew()\"\n >\n {{ localeData.saveButton }}\n </button>\n <button kbq-button [color]=\"'contrast-fade'\" [kbqStyle]=\"'filled'\" [disabled]=\"isSaving\" (click)=\"closePopover()\">\n {{ localeData.cancelButton }}\n </button>\n</ng-template>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-filters{display:flex}.kbq-filters>.kbq-button{max-width:320px}.kbq-filters>.kbq-button .kbq-button-wrapper{width:100%}.kbq-filters>.kbq-button .kbq-icon{margin-right:var(--kbq-size-xxs)}.kbq-filters .kbq-filters__filter-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-filters .kbq-filters__filter-name .kbq-icon{margin-bottom:var(--kbq-size-3xs)}.kbq-filters .kbq-filter-bar__separator{align-self:center;height:var(--kbq-size-m)!important;margin-left:calc(var(--kbq-size-s) + var(--kbq-size-xs))!important;margin-right:var(--kbq-size-xs)!important}.kbq-filters .kbq-filter-bar__arrow{align-self:center;margin-left:var(--kbq-size-s)}.kbq-filters .kbq-button.kbq-button_changed-filter{border-bottom-right-radius:unset;border-top-right-radius:unset}.kbq-filters .kbq-button-icon{margin-left:-1px;border-bottom-left-radius:unset;border-top-left-radius:unset}.kbq-filters .kbq-button_changed-saved-filter:before{content:\"\";position:absolute;right:-4px;top:-4px;width:var(--kbq-size-s);height:var(--kbq-size-s);border:2px solid var(--kbq-background-bg);border-radius:var(--kbq-size-xs);background:var(--kbq-icon-warning)}.kbq-filters .kbq-button:not(:hover,.kbq-active)+.kbq-button_action:not(:hover,.kbq-active):after{content:\"\";position:absolute;left:0;top:10px;width:1px;height:var(--kbq-size-m);background:var(--kbq-line-contrast-less)}.kbq-filters__save-as-new-filter-popover .kbq-popover__container{width:400px}.kbq-filters__save-as-new-filter-popover .kbq-popover__content{padding:var(--kbq-size-s) var(--kbq-size-xxl)}.kbq-filters__dropdown .kbq-dropdown-item{padding-right:var(--kbq-size-s)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i2.KbqButtonDropdownTrigger, selector: "[kbq-button][kbqDropdownTriggerFor]" }, { kind: "ngmodule", type: KbqDropdownModule }, { kind: "component", type: i3.KbqDropdown, selector: "kbq-dropdown", inputs: ["navigationWithWrap", "xPosition", "yPosition", "overlapTriggerY", "overlapTriggerX", "hasBackdrop", "class", "backdropClass"], outputs: ["closed"], exportAs: ["kbqDropdown"] }, { kind: "component", type: i3.KbqDropdownItem, selector: "kbq-dropdown-item, [kbq-dropdown-item]", inputs: ["disabled"], exportAs: ["kbqDropdownItem"] }, { kind: "directive", type: i3.KbqDropdownTrigger, selector: "[kbqDropdownTriggerFor]", inputs: ["offsetX", "offsetY", "kbqDropdownTriggerData", "openByArrowDown", "kbqDropdownTriggerRestoreFocus", "kbqDropdownTriggerFor"], outputs: ["dropdownOpened", "dropdownClosed"], exportAs: ["kbqDropdownTrigger"] }, { kind: "ngmodule", type: KbqDividerModule }, { kind: "component", type: i4.KbqDivider, selector: "kbq-divider", inputs: ["vertical", "inset", "paddings"] }, { kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqTitleModule }, { kind: "directive", type: i5.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "ngmodule", type: KbqFormFieldModule }, { kind: "component", type: i6.KbqCleaner, selector: "kbq-cleaner", exportAs: ["kbqCleaner"] }, { kind: "component", type: i6.KbqFormField, selector: "kbq-form-field", inputs: ["noBorders"], exportAs: ["kbqFormField"] }, { kind: "directive", type: i6.KbqPrefix, selector: "[kbqPrefix]", exportAs: ["kbqPrefix"] }, { kind: "component", type: i6.KbqError, selector: "kbq-error", exportAs: ["kbqError"] }, { kind: "directive", type: i6.KbqFormFieldWithoutBorders, selector: "kbq-form-field[kbqFormFieldWithoutBorders]", exportAs: ["kbqFormFieldWithoutBorders"] }, { kind: "directive", type: i6.KbqValidateDirective, selector: " input[kbqInput], input[kbqNumberInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", exportAs: ["KbqValidate"] }, { kind: "directive", type: i6.KbqTrim, selector: "[kbqInput], [kbqTextarea]", exportAs: ["KbqTrim"] }, { kind: "ngmodule", type: KbqInputModule }, { kind: "directive", type: i7.KbqInput, selector: "input[kbqInput],input[kbqNumberInput]", inputs: ["errorStateMatcher", "placeholder", "disabled", "id", "required", "type", "value"], exportAs: ["kbqInput"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: KbqFilterBarButton, selector: "[kbqFilterBarButton]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "ngmodule", type: KbqPopoverModule }, { kind: "directive", type: i8.KbqPopoverTrigger, selector: "[kbqPopover]", inputs: ["kbqPopoverPreventClose", "defaultPaddings", "kbqPopoverVisible", "kbqPopoverPlacement", "kbqPopoverPlacementPriority", "kbqPopoverStickToWindow", "container", "hasBackdrop", "kbqPopoverHeader", "kbqPopoverContent", "kbqPopoverFooter", "kbqPopoverDisabled", "kbqTrigger", "kbqPopoverSize", "kbqPopoverClass", "kbqPopoverContext", "hasCloseButton", "closeOnScroll", "backdropClass", "kbqPopoverArrow", "kbqPopoverOffset", "kbqLeaveDelay"], outputs: ["kbqPopoverPlacementChange", "kbqPopoverVisibleChange"], exportAs: ["kbqPopover"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: KbqFormsModule }, { kind: "directive", type: i9.KbqForm, selector: ".kbq-form-vertical, .kbq-form-horizontal", exportAs: ["kbqForm"] }, { kind: "directive", type: i9.KbqFormElement, selector: ".kbq-form__row, .kbq-form__fieldset, .kbq-form__legend", exportAs: ["kbqFormElement"] }, { kind: "ngmodule", type: KbqAlertModule }, { kind: "component", type: i10.KbqAlert, selector: "kbq-alert", inputs: ["compact", "alertStyle", "alertColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
210
- }
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFilters, decorators: [{
212
- type: Component,
213
- args: [{ standalone: true, exportAs: 'kbqFilters', selector: 'kbq-filters', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
214
- class: 'kbq-filters'
215
- }, imports: [
216
- ReactiveFormsModule,
217
- KbqButtonModule,
218
- KbqDropdownModule,
219
- KbqDividerModule,
220
- KbqIcon,
221
- KbqTitleModule,
222
- KbqFormFieldModule,
223
- KbqInputModule,
224
- NgClass,
225
- KbqFilterBarButton,
226
- AsyncPipe,
227
- KbqTooltipTrigger,
228
- KbqPopoverModule,
229
- FormsModule,
230
- KbqFormsModule,
231
- KbqAlertModule
232
- ], template: "<button\n kbq-button\n kbq-title\n kbqFilterBarButton\n kbqPopover\n [kbqDropdownTriggerFor]=\"savedFilters\"\n [kbqPopoverArrow]=\"false\"\n [kbqPopoverClass]=\"'kbq-filters__save-as-new-filter-popover'\"\n [kbqPopoverContent]=\"saveAsNewPopoverContent\"\n [kbqPopoverFooter]=\"saveAsNewPopoverFooter\"\n [kbqPopoverHeader]=\"saveAsNewPopoverHeader\"\n [kbqPopoverPlacement]=\"placements.BottomLeft\"\n [kbqPopoverPlacementPriority]=\"[placements.BottomLeft, placements.TopLeft]\"\n [kbqPopoverSize]=\"popoverSize\"\n [kbqTrigger]=\"'manual'\"\n [class.kbq-active]=\"opened\"\n [disabled]=\"isSaving\"\n (dropdownClosed)=\"searchControl.setValue('')\"\n (dropdownOpened)=\"onDropdownOpen()\"\n>\n <span #kbqTitleText class=\"kbq-filters__filter-name\">\n @if (filter?.name) {\n {{ filter!.name }}\n } @else {\n <ng-content>\n <i kbq-icon=\"kbq-list_16\"></i>\n {{ localeData.defaultName }}\n </ng-content>\n }\n </span>\n</button>\n\n@if (filterBar.isChanged && !filterBar.isSaved) {\n <button\n kbq-button\n kbqFilterBarButton\n class=\"kbq-button_action\"\n kbqTooltip=\"{{ localeData.saveNewFilterTooltip }}\"\n [color]=\"colors.Empty\"\n [disabled]=\"isSaving\"\n (click)=\"openSaveAsNewFilterPopover()\"\n >\n <i kbq-icon=\"kbq-floppy-disk_16\"></i>\n </button>\n}\n\n@if (filterBar.isSaved) {\n <button\n kbq-button\n kbqFilterBarButton\n class=\"kbq-button_action\"\n [color]=\"colors.Empty\"\n [kbqDropdownTriggerFor]=\"filterActions\"\n [disabled]=\"isSaving\"\n [ngClass]=\"{ 'kbq-button_changed-saved-filter': filterBar.isSavedAndChanged }\"\n >\n <i kbq-icon=\"kbq-ellipsis-vertical_16\"></i>\n </button>\n\n <i kbq-icon=\"kbq-chevron-right-s_16\" class=\"kbq-filter-bar__arrow\" [color]=\"'theme'\"></i>\n} @else {\n <kbq-divider class=\"kbq-filter-bar__separator\" [vertical]=\"true\" />\n}\n\n<kbq-dropdown #savedFilters=\"kbqDropdown\" [class]=\"'kbq-filters__dropdown'\">\n <div [style.display]=\"isEmpty ? 'none' : 'initial'\">\n <kbq-form-field kbqFormFieldWithoutBorders>\n <i kbq-icon=\"kbq-magnifying-glass_16\" kbqPrefix></i>\n\n <input\n #search\n autocomplete=\"off\"\n kbqInput\n placeholder=\"{{ localeData.searchPlaceholder }}\"\n [formControl]=\"searchControl\"\n (click)=\"stopEventPropagation($event)\"\n (keydown)=\"searchKeydownHandler($event)\"\n />\n <kbq-cleaner />\n </kbq-form-field>\n\n <kbq-divider />\n\n @for (filter of filteredOptions | async; track filter) {\n <button\n kbq-dropdown-item\n kbq-title\n [class.kbq-selected]=\"filterBar.filter?.name === filter.name\"\n (click)=\"selectFilter(filter)\"\n >\n {{ filter.name }}\n </button>\n } @empty {\n <button kbq-dropdown-item [disabled]=\"true\">\n {{ localeData.searchEmptyResult }}\n </button>\n }\n\n <kbq-divider />\n </div>\n\n <button kbq-dropdown-item (click)=\"openSaveAsNewFilterPopover()\">\n <i kbq-icon=\"kbq-plus_16\"></i>\n {{ localeData.saveAsNewFilter }}\n </button>\n</kbq-dropdown>\n\n<kbq-dropdown #filterActions=\"kbqDropdown\" [class]=\"'kbq-filters__dropdown'\">\n @if (filterBar.isSavedAndChanged && !filterBar.isReadOnly) {\n <button\n kbq-dropdown-item\n [ngClass]=\"{ 'kbq-button_changed-saved-filter': filterBar.isSavedAndChanged }\"\n (click)=\"saveChanges()\"\n >\n <i kbq-icon=\"kbq-floppy-disk_16\"></i>\n {{ localeData.saveChanges }}\n @if (filterBar.isSavedAndChanged) {\n <i class=\"kbq kbq-icon kbq-icon-button kbq-circle-xs_16 kbq-warning layout-margin-left-xs\"></i>\n }\n </button>\n }\n <button kbq-dropdown-item (click)=\"openSaveAsNewFilterPopover()\">\n <i kbq-icon=\"kbq-plus_16\"></i>\n {{ localeData.saveAsNew }}\n </button>\n\n @if (!filterBar.isReadOnly) {\n <button kbq-dropdown-item (click)=\"openChangeFilterNamePopover()\">\n <i kbq-icon=\"kbq-pencil_16\"></i>\n {{ localeData.change }}\n </button>\n }\n\n @if (filterBar.isSavedAndChanged || !filterBar.isReadOnly) {\n <kbq-divider />\n }\n\n @if (filterBar.isSavedAndChanged) {\n <button kbq-dropdown-item (click)=\"resetFilterChanges()\">\n <i kbq-icon=\"kbq-xmark-circle_16\"></i>\n {{ localeData.resetChanges }}\n </button>\n }\n @if (!filterBar.isReadOnly) {\n <button kbq-dropdown-item (click)=\"this.onRemoveFilter.next(this.filter!)\">\n <i kbq-icon=\"kbq-trash_16\"></i>\n {{ localeData.remove }}\n </button>\n }\n</kbq-dropdown>\n\n<ng-template #saveAsNewPopoverHeader>{{ popoverHeader }}</ng-template>\n\n<ng-template #saveAsNewPopoverContent>\n @if (showFilterSavingError) {\n <kbq-alert class=\"layout-margin-bottom-m\" [alertColor]=\"'error'\" [alertStyle]=\"'colored'\" [compact]=\"true\">\n {{ filterSavingErrorText }}\n </kbq-alert>\n }\n <div class=\"kbq-form-vertical\">\n <div class=\"kbq-form__row\">\n <label class=\"kbq-form__label\">{{ localeData.name }}</label>\n\n <kbq-form-field class=\"kbq-form__control\">\n <input\n #newFilterName\n kbqInput\n type=\"text\"\n [formControl]=\"filterName\"\n (keydown.enter)=\"saveAsNew($event)\"\n />\n\n @if (filterName.hasError('filterNameAlreadyExist')) {\n <kbq-error>{{ localeData.error }}</kbq-error>\n }\n </kbq-form-field>\n </div>\n </div>\n</ng-template>\n\n<ng-template #saveAsNewPopoverFooter>\n <button\n #saveFilterButton\n kbq-button\n class=\"layout-margin-right-l\"\n [class.kbq-progress]=\"isSaving\"\n [disabled]=\"isSaving\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'filled'\"\n (click)=\"saveAsNew()\"\n >\n {{ localeData.saveButton }}\n </button>\n <button kbq-button [color]=\"'contrast-fade'\" [kbqStyle]=\"'filled'\" [disabled]=\"isSaving\" (click)=\"closePopover()\">\n {{ localeData.cancelButton }}\n </button>\n</ng-template>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-filters{display:flex}.kbq-filters>.kbq-button{max-width:320px}.kbq-filters>.kbq-button .kbq-button-wrapper{width:100%}.kbq-filters>.kbq-button .kbq-icon{margin-right:var(--kbq-size-xxs)}.kbq-filters .kbq-filters__filter-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-filters .kbq-filters__filter-name .kbq-icon{margin-bottom:var(--kbq-size-3xs)}.kbq-filters .kbq-filter-bar__separator{align-self:center;height:var(--kbq-size-m)!important;margin-left:calc(var(--kbq-size-s) + var(--kbq-size-xs))!important;margin-right:var(--kbq-size-xs)!important}.kbq-filters .kbq-filter-bar__arrow{align-self:center;margin-left:var(--kbq-size-s)}.kbq-filters .kbq-button.kbq-button_changed-filter{border-bottom-right-radius:unset;border-top-right-radius:unset}.kbq-filters .kbq-button-icon{margin-left:-1px;border-bottom-left-radius:unset;border-top-left-radius:unset}.kbq-filters .kbq-button_changed-saved-filter:before{content:\"\";position:absolute;right:-4px;top:-4px;width:var(--kbq-size-s);height:var(--kbq-size-s);border:2px solid var(--kbq-background-bg);border-radius:var(--kbq-size-xs);background:var(--kbq-icon-warning)}.kbq-filters .kbq-button:not(:hover,.kbq-active)+.kbq-button_action:not(:hover,.kbq-active):after{content:\"\";position:absolute;left:0;top:10px;width:1px;height:var(--kbq-size-m);background:var(--kbq-line-contrast-less)}.kbq-filters__save-as-new-filter-popover .kbq-popover__container{width:400px}.kbq-filters__save-as-new-filter-popover .kbq-popover__content{padding:var(--kbq-size-s) var(--kbq-size-xxl)}.kbq-filters__dropdown .kbq-dropdown-item{padding-right:var(--kbq-size-s)}\n"] }]
233
- }], ctorParameters: () => [], propDecorators: { button: [{
234
- type: ViewChild,
235
- args: [KbqButton]
236
- }], popover: [{
237
- type: ViewChild,
238
- args: [KbqPopoverTrigger]
239
- }], dropdown: [{
240
- type: ViewChild,
241
- args: [KbqDropdownTrigger]
242
- }], search: [{
243
- type: ViewChild,
244
- args: ['search']
245
- }], newFilterName: [{
246
- type: ViewChild,
247
- args: ['newFilterName']
248
- }], saveFilterButton: [{
249
- type: ViewChild,
250
- args: ['saveFilterButton']
251
- }], filters: [{
252
- type: Input
253
- }], onSelectFilter: [{
254
- type: Output
255
- }], onSave: [{
256
- type: Output
257
- }], onChangeFilter: [{
258
- type: Output
259
- }], onSaveAsNew: [{
260
- type: Output
261
- }], onRemoveFilter: [{
262
- type: Output
263
- }], onResetFilterChanges: [{
264
- type: Output
265
- }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXJzLnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9maWx0ZXItYmFyL2ZpbHRlcnMuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0csT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FB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LGFBQWE7c0JBQWhELFNBQVM7dUJBQUMsZUFBZTtnQkFDYSxnQkFBZ0I7c0JBQXRELFNBQVM7dUJBQUMsa0JBQWtCO2dCQXFCcEIsT0FBTztzQkFBZixLQUFLO2dCQUdhLGNBQWM7c0JBQWhDLE1BQU07Z0JBRVksTUFBTTtzQkFBeEIsTUFBTTtnQkFFWSxjQUFjO3NCQUFoQyxNQUFNO2dCQUdZLFdBQVc7c0JBQTdCLE1BQU07Z0JBRVksY0FBYztzQkFBaEMsTUFBTTtnQkFFWSxvQkFBb0I7c0JBQXRDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBLYnFBbGVydE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9hbGVydCc7XG5pbXBvcnQgeyBLYnFCdXR0b24sIEticUJ1dHRvbk1vZHVsZSwgS2JxQnV0dG9uU3R5bGVzIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBLYnFDb21wb25lbnRDb2xvcnMsIEticUZvcm1zTW9kdWxlLCBQb3BVcFBsYWNlbWVudHMsIFBvcFVwU2l6ZXMgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFEaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2RpdmlkZXInO1xuaW1wb3J0IHsgS2JxRHJvcGRvd25Nb2R1bGUsIEticURyb3Bkb3duVHJpZ2dlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBLYnFGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBLYnFJY29uIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgS2JxSW5wdXRNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaW5wdXQnO1xuaW1wb3J0IHsgS2JxUG9wb3Zlck1vZHVsZSwgS2JxUG9wb3ZlclRyaWdnZXIgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBLYnFUaXRsZU1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy90aXRsZSc7XG5pbXBvcnQgeyBLYnFUb29sdGlwVHJpZ2dlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2JxRmlsdGVyQmFyIH0gZnJvbSAnLi9maWx0ZXItYmFyJztcbmltcG9ydCB7IEticUZpbHRlckJhckJ1dHRvbiB9IGZyb20gJy4vZmlsdGVyLWJhci1idXR0b24nO1xuaW1wb3J0IHsgS2JxRmlsdGVyLCBLYnFTYXZlRmlsdGVyRXJyb3IsIEticVNhdmVGaWx0ZXJFdmVudCwgS2JxU2F2ZUZpbHRlclN0YXR1c2VzIH0gZnJvbSAnLi9maWx0ZXItYmFyLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBleHBvcnRBczogJ2ticUZpbHRlcnMnLFxuICAgIHNlbGVjdG9yOiAna2JxLWZpbHRlcnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnZmlsdGVycy5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnZmlsdGVycy5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLWZpbHRlcnMnXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIEticUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgS2JxRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIEticURpdmlkZXJNb2R1bGUsXG4gICAgICAgIEticUljb24sXG4gICAgICAgIEticVRpdGxlTW9kdWxlLFxuICAgICAgICBLYnFGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIEticUlucHV0TW9kdWxlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBLYnFGaWx0ZXJCYXJCdXR0b24sXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgS2JxVG9vbHRpcFRyaWdnZXIsXG4gICAgICAgIEticVBvcG92ZXJNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBLYnFGb3Jtc01vZHVsZSxcbiAgICAgICAgS2JxQWxlcnRNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEticUZpbHRlcnMgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBsYWNlbWVudHMgPSBQb3BVcFBsYWNlbWVudHM7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3R5bGVzID0gS2JxQnV0dG9uU3R5bGVzO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbG9ycyA9IEticUNvbXBvbmVudENvbG9ycztcblxuICAgIC8qKiBLYnFGaWx0ZXJCYXIgaW5zdGFuY2UgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyQmFyID0gaW5qZWN0KEticUZpbHRlckJhcik7XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgQFZpZXdDaGlsZChLYnFCdXR0b24pIHByaXZhdGUgYnV0dG9uOiBLYnFCdXR0b247XG4gICAgQFZpZXdDaGlsZChLYnFQb3BvdmVyVHJpZ2dlcikgcHJpdmF0ZSBwb3BvdmVyOiBLYnFQb3BvdmVyVHJpZ2dlcjtcbiAgICBAVmlld0NoaWxkKEticURyb3Bkb3duVHJpZ2dlcikgcHJpdmF0ZSBkcm9wZG93bjogS2JxRHJvcGRvd25UcmlnZ2VyO1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHByaXZhdGUgc2VhcmNoOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ25ld0ZpbHRlck5hbWUnKSBwcml2YXRlIG5ld0ZpbHRlck5hbWU6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnc2F2ZUZpbHRlckJ1dHRvbicpIHByaXZhdGUgc2F2ZUZpbHRlckJ1dHRvbjogS2JxQnV0dG9uO1xuXG4gICAgLyoqIGNvbnRyb2wgZm9yIHNlYXJjaCBmaWx0ZXIgKi9cbiAgICBzZWFyY2hDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gICAgLyoqIGZpbHRlcmVkIGJ5IHNlYXJjaCBmaWx0ZXJzICovXG4gICAgZmlsdGVyZWRPcHRpb25zOiBPYnNlcnZhYmxlPEticUZpbHRlcltdPjtcblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcG9wb3ZlclNpemUgPSBQb3BVcFNpemVzLk1lZGl1bTtcblxuICAgIC8qKiBuZXcgZmlsdGVyIG5hbWUgZm9yIHNhdmluZyAqL1xuICAgIGZpbHRlck5hbWU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuXG4gICAgLyoqIHRydWUgaWYgc2F2aW5nIGEgbmV3IGZpbHRlciwgZmFsc2UgaWYgc2F2aW5nIGNoYW5nZXMgaW4gZmlsdGVyICovXG4gICAgc2F2ZU5ld0ZpbHRlcjogYm9vbGVhbjtcblxuICAgIHNob3dGaWx0ZXJTYXZpbmdFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGZpbHRlclNhdmluZ0Vycm9yVGV4dDogc3RyaW5nO1xuXG4gICAgaXNTYXZpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGZpbHRlcnM6IEticUZpbHRlcltdO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNlbGVjdHMgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VsZWN0RmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXI+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNhdmUgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxU2F2ZUZpbHRlckV2ZW50PigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciB0aGUgdXNlciBjaGFuZ2UgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uQ2hhbmdlRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFTYXZlRmlsdGVyRXZlbnQ+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNhdmVzIGEgZmlsdGVyIGFzIG5ldy5cbiAgICAgKiBAZGVwcmVjYXRlZCB1c2Ugb25TYXZlIHdpdGggc3RhdHVzID0gbmV3RmlsdGVyLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblNhdmVBc05ldyA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxU2F2ZUZpbHRlckV2ZW50PigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciB0aGUgdXNlciByZW1vdmUgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uUmVtb3ZlRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXI+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHJlc2V0IGEgZmlsdGVyIGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uUmVzZXRGaWx0ZXJDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXIgfCBudWxsPigpO1xuXG4gICAgLyoqIGhlYWRlciBvZiBwb3BvdmVyLiBEZXBlbmRzIG9uIHRoZSBtb2RlICovXG4gICAgZ2V0IHBvcG92ZXJIZWFkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZU5ld0ZpbHRlciA/IHRoaXMubG9jYWxlRGF0YS5zYXZlQXNOZXcgOiB0aGlzLmxvY2FsZURhdGEuc2F2ZUNoYW5nZXM7XG4gICAgfVxuXG4gICAgLyoqIENvbXBvbmVudCBzdGF0ZS4gdHJ1ZSBpZiBvcGVuZWQgZHJvcGRvd24gb3IgcG9wdXAgKi9cbiAgICBnZXQgb3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyPy5pc09wZW4gfHwgdGhpcy5kcm9wZG93bj8ub3BlbmVkO1xuICAgIH1cblxuICAgIC8qKiBTZWxlY3RlZCBmaWx0ZXIgKi9cbiAgICBnZXQgZmlsdGVyKCk6IEticUZpbHRlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJCYXIuZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKiBDb21wb25lbnQgc3RhdGUuIFRydWUgaWYgJ2ZpbHRlcnMnIGlucHV0IGNvbnRhaW5zIG5vIGVsZW1lbnRzLiAqL1xuICAgIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKiogbG9jYWxpemVkIGRhdGFcbiAgICAgKiBAZG9jcy1wcml2YXRlICovXG4gICAgZ2V0IGxvY2FsZURhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckJhci5jb25maWd1cmF0aW9uLmZpbHRlcnM7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyQmFyLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IG1lcmdlKFxuICAgICAgICAgICAgb2YodGhpcy5maWx0ZXJzKSxcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShtYXAoKHZhbHVlKSA9PiB0aGlzLmdldEZpbHRlcmVkT3B0aW9ucyh2YWx1ZSkpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNlbGVjdEZpbHRlcihmaWx0ZXI6IEticUZpbHRlcikge1xuICAgICAgICB0aGlzLmZpbHRlckJhci5pbnRlcm5hbEZpbHRlckNoYW5nZXMubmV4dChzdHJ1Y3R1cmVkQ2xvbmUoZmlsdGVyKSk7XG5cbiAgICAgICAgdGhpcy5vblNlbGVjdEZpbHRlci5uZXh0KGZpbHRlcik7XG4gICAgfVxuXG4gICAgc2F2ZUNoYW5nZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJCYXIuZmlsdGVyKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyLnNhdmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyLmNoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmZpbHRlckJhci5pbnRlcm5hbEZpbHRlckNoYW5nZXMubmV4dCh0aGlzLmZpbHRlckJhci5maWx0ZXIpO1xuXG4gICAgICAgIHRoaXMub25TYXZlLmVtaXQoe1xuICAgICAgICAgICAgZmlsdGVyOiB0aGlzLmZpbHRlckJhci5maWx0ZXIsXG4gICAgICAgICAgICBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLFxuICAgICAgICAgICAgc3RhdHVzOiBLYnFTYXZlRmlsdGVyU3RhdHVzZXMuT25seUNoYW5nZXNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2F2ZUFzTmV3KGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyTmFtZS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZmlsdGVyTmFtZS52YWx1ZSB8fCAnJztcblxuICAgICAgICAvLyBAdG9kbyBkZWZhdWx0IGZpbHRlclxuICAgICAgICBjb25zdCBmaWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmU8S2JxRmlsdGVyPih0aGlzLmZpbHRlciBhcyBLYnFGaWx0ZXIpIHx8IHsgcGlwZXM6IFtdIH07XG5cbiAgICAgICAgZmlsdGVyLm5hbWUgPSBuYW1lO1xuICAgICAgICBmaWx0ZXIuc2F2ZWQgPSB0cnVlO1xuICAgICAgICBmaWx0ZXIuY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnBvcG92ZXIucHJldmVudENsb3NlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJOYW1lLmRpc2FibGUoKTtcblxuICAgICAgICBpZiAodGhpcy5zYXZlTmV3RmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZUFzTmV3LmVtaXQoeyBmaWx0ZXIsIGZpbHRlckJhcjogdGhpcy5maWx0ZXJCYXIgfSk7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KHsgZmlsdGVyLCBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLCBzdGF0dXM6IEticVNhdmVGaWx0ZXJTdGF0dXNlcy5OZXdGaWx0ZXIgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KHsgZmlsdGVyLCBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLCBzdGF0dXM6IEticVNhdmVGaWx0ZXJTdGF0dXNlcy5OZXdOYW1lIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgc2hvd0Vycm9yKGVycm9yPzogS2JxU2F2ZUZpbHRlckVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvcj8ubmFtZUFscmVhZHlFeGlzdHMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyTmFtZS5zZXRFcnJvcnMoeyBmaWx0ZXJOYW1lQWxyZWFkeUV4aXN0OiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93RmlsdGVyU2F2aW5nRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyU2F2aW5nRXJyb3JUZXh0ID0gZXJyb3I/LnRleHQgPz8gdGhpcy5maWx0ZXJCYXIuY29uZmlndXJhdGlvbi5maWx0ZXJzLmVycm9ySGludDtcbiAgICB9XG5cbiAgICByZXN0b3JlRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJlcGFyZVBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyTmFtZSA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KHRoaXMuZmlsdGVyPy5uYW1lIHx8ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcblxuICAgICAgICB0aGlzLmZpbHRlck5hbWUudmFsdWVDaGFuZ2VzLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKCgpID0+ICh0aGlzLnNob3dGaWx0ZXJTYXZpbmdFcnJvciA9IGZhbHNlKSk7XG5cbiAgICAgICAgdGhpcy5wb3BvdmVyLnNob3coKTtcblxuICAgICAgICBtZXJnZSguLi50aGlzLnBvcG92ZXIuZGVmYXVsdENsb3NpbmdBY3Rpb25zKCkpXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoKCkgPT4gIXRoaXMuaXNTYXZpbmcpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmNsb3NlUG9wb3Zlcik7XG5cbiAgICAgICAgdGhpcy5wb3BvdmVyLnZpc2libGVDaGFuZ2UucGlwZShmaWx0ZXIoKHN0YXRlKSA9PiAhc3RhdGUpKS5zdWJzY3JpYmUodGhpcy5jbG9zZVBvcG92ZXIpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXJOYW1lLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyTmFtZS5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5TYXZlQXNOZXdGaWx0ZXJQb3BvdmVyKCkge1xuICAgICAgICB0aGlzLnNhdmVOZXdGaWx0ZXIgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMucHJlcGFyZVBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBvcGVuQ2hhbmdlRmlsdGVyTmFtZVBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuc2F2ZU5ld0ZpbHRlciA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMucHJlcGFyZVBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBjbG9zZVBvcG92ZXIgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucG9wb3Zlci5oaWRlKCk7XG5cbiAgICAgICAgdGhpcy5yZXN0b3JlRm9jdXMoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpKTtcblxuICAgICAgICB0aGlzLnNob3dGaWx0ZXJTYXZpbmdFcnJvciA9IGZhbHNlO1xuICAgIH07XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHN0b3BFdmVudFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHNlYXJjaEtleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIG9uRHJvcGRvd25PcGVuKCkge1xuICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWFyY2gubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG5cbiAgICByZXNldEZpbHRlckNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyQmFyLnJlc2V0RmlsdGVyQ2hhbmdlZFN0YXRlKCk7XG5cbiAgICAgICAgdGhpcy5vblJlc2V0RmlsdGVyQ2hhbmdlcy5lbWl0KHRoaXMuZmlsdGVyISk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGUgdGhlIHBvcHVwIGFuZCByZXN0b3JlIGZvY3VzLlxuICAgICAqIFVzZSB0aGlzIG1ldGhvZCBpbiB0aGUgb25TYXZlLCBvblNhdmVBc05ldywgb3Igb25DaGFuZ2VGaWx0ZXIgZXZlbnRzIGFmdGVyIHRoZSBkYXRhIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBzYXZlZC4gKi9cbiAgICBmaWx0ZXJTYXZlZFN1Y2Nlc3NmdWxseSgpIHtcbiAgICAgICAgdGhpcy5pc1NhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBvcG92ZXIucHJldmVudENsb3NlID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5wb3BvdmVyLmhpZGUoKTtcbiAgICAgICAgdGhpcy5yZXN0b3JlRm9jdXMoKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBTaG93cyBhbiBlcnJvci4gVXNlIHRoaXMgbWV0aG9kIGluIHRoZSBvblNhdmUsIG9uU2F2ZUFzTmV3LCBvciBvbkNoYW5nZUZpbHRlciBldmVudHMgaWYgc2F2aW5nIGRhdGEgZmFpbGVkLiAqL1xuICAgIGZpbHRlclNhdmVkVW5zdWNjZXNzZnVsbHkoZXJyb3I/OiBLYnFTYXZlRmlsdGVyRXJyb3IpIHtcbiAgICAgICAgdGhpcy5pc1NhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBvcG92ZXIucHJldmVudENsb3NlID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zaG93RXJyb3IoZXJyb3IpO1xuICAgICAgICB0aGlzLmZpbHRlck5hbWUuZW5hYmxlKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zYXZlRmlsdGVyQnV0dG9uLmZvY3VzKCkpO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaWx0ZXJlZE9wdGlvbnModmFsdWUpOiBLYnFGaWx0ZXJbXSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaEZpbHRlciA9IHZhbHVlICYmIHZhbHVlLm5ldyA/IHZhbHVlLnZhbHVlIDogdmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIHNlYXJjaEZpbHRlclxuICAgICAgICAgICAgPyB0aGlzLmZpbHRlcnMuZmlsdGVyKChmaWx0ZXIpID0+IGZpbHRlci5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoRmlsdGVyLnRvTG93ZXJDYXNlKCkpKVxuICAgICAgICAgICAgOiB0aGlzLmZpbHRlcnM7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIGticS1idXR0b25cbiAgICBrYnEtdGl0bGVcbiAgICBrYnFGaWx0ZXJCYXJCdXR0b25cbiAgICBrYnFQb3BvdmVyXG4gICAgW2ticURyb3Bkb3duVHJpZ2dlckZvcl09XCJzYXZlZEZpbHRlcnNcIlxuICAgIFtrYnFQb3BvdmVyQXJyb3ddPVwiZmFsc2VcIlxuICAgIFtrYnFQb3BvdmVyQ2xhc3NdPVwiJ2ticS1maWx0ZXJzX19zYXZlLWFzLW5ldy1maWx0ZXItcG9wb3ZlcidcIlxuICAgIFtrYnFQb3BvdmVyQ29udGVudF09XCJzYXZlQXNOZXdQb3BvdmVyQ29udGVudFwiXG4gICAgW2ticVBvcG92ZXJGb290ZXJdPVwic2F2ZUFzTmV3UG9wb3ZlckZvb3RlclwiXG4gICAgW2ticVBvcG92ZXJIZWFkZXJdPVwic2F2ZUFzTmV3UG9wb3ZlckhlYWRlclwiXG4gICAgW2ticVBvcG92ZXJQbGFjZW1lbnRdPVwicGxhY2VtZW50cy5Cb3R0b21MZWZ0XCJcbiAgICBba2JxUG9wb3ZlclBsYWNlbWVudFByaW9yaXR5XT1cIltwbGFjZW1lbnRzLkJvdHRvbUxlZnQsIHBsYWNlbWVudHMuVG9wTGVmdF1cIlxuICAgIFtrYnFQb3BvdmVyU2l6ZV09XCJwb3BvdmVyU2l6ZVwiXG4gICAgW2ticVRyaWdnZXJdPVwiJ21hbnVhbCdcIlxuICAgIFtjbGFzcy5rYnEtYWN0aXZlXT1cIm9wZW5lZFwiXG4gICAgW2Rpc2FibGVkXT1cImlzU2F2aW5nXCJcbiAgICAoZHJvcGRvd25DbG9zZWQpPVwic2VhcmNoQ29udHJvbC5zZXRWYWx1ZSgnJylcIlxuICAgIChkcm9wZG93bk9wZW5lZCk9XCJvbkRyb3Bkb3duT3BlbigpXCJcbj5cbiAgICA8c3BhbiAja2JxVGl0bGVUZXh0IGNsYXNzPVwia2JxLWZpbHRlcnNfX2ZpbHRlci1uYW1lXCI+XG4gICAgICAgIEBpZiAoZmlsdGVyPy5uYW1lKSB7XG4gICAgICAgICAgICB7eyBmaWx0ZXIhLm5hbWUgfX1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8bmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1saXN0XzE2XCI+PC9pPlxuICAgICAgICAgICAgICAgIHt7IGxvY2FsZURhdGEuZGVmYXVsdE5hbWUgfX1cbiAgICAgICAgICAgIDwvbmctY29udGVudD5cbiAgICAgICAgfVxuICAgIDwvc3Bhbj5cbjwvYnV0dG9uPlxuXG5AaWYgKGZpbHRlckJhci5pc0NoYW5nZWQgJiYgIWZpbHRlckJhci5pc1NhdmVkKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgIGticUZpbHRlckJhckJ1dHRvblxuICAgICAgICBjbGFzcz1cImticS1idXR0b25fYWN0aW9uXCJcbiAgICAgICAga2JxVG9vbHRpcD1cInt7IGxvY2FsZURhdGEuc2F2ZU5ld0ZpbHRlclRvb2x0aXAgfX1cIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JzLkVtcHR5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzU2F2aW5nXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5TYXZlQXNOZXdGaWx0ZXJQb3BvdmVyKClcIlxuICAgID5cbiAgICAgICAgPGkga2JxLWljb249XCJrYnEtZmxvcHB5LWRpc2tfMTZcIj48L2k+XG4gICAgPC9idXR0b24+XG59XG5cbkBpZiAoZmlsdGVyQmFyLmlzU2F2ZWQpIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIGticS1idXR0b25cbiAgICAgICAga2JxRmlsdGVyQmFyQnV0dG9uXG4gICAgICAgIGNsYXNzPVwia2JxLWJ1dHRvbl9hY3Rpb25cIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JzLkVtcHR5XCJcbiAgICAgICAgW2ticURyb3Bkb3duVHJpZ2dlckZvcl09XCJmaWx0ZXJBY3Rpb25zXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzU2F2aW5nXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAna2JxLWJ1dHRvbl9jaGFuZ2VkLXNhdmVkLWZpbHRlcic6IGZpbHRlckJhci5pc1NhdmVkQW5kQ2hhbmdlZCB9XCJcbiAgICA+XG4gICAgICAgIDxpIGticS1pY29uPVwia2JxLWVsbGlwc2lzLXZlcnRpY2FsXzE2XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGkga2JxLWljb249XCJrYnEtY2hldnJvbi1yaWdodC1zXzE2XCIgY2xhc3M9XCJrYnEtZmlsdGVyLWJhcl9fYXJyb3dcIiBbY29sb3JdPVwiJ3RoZW1lJ1wiPjwvaT5cbn0gQGVsc2Uge1xuICAgIDxrYnEtZGl2aWRlciBjbGFzcz1cImticS1maWx0ZXItYmFyX19zZXBhcmF0b3JcIiBbdmVydGljYWxdPVwidHJ1ZVwiIC8+XG59XG5cbjxrYnEtZHJvcGRvd24gI3NhdmVkRmlsdGVycz1cImticURyb3Bkb3duXCIgW2NsYXNzXT1cIidrYnEtZmlsdGVyc19fZHJvcGRvd24nXCI+XG4gICAgPGRpdiBbc3R5bGUuZGlzcGxheV09XCJpc0VtcHR5ID8gJ25vbmUnIDogJ2luaXRpYWwnXCI+XG4gICAgICAgIDxrYnEtZm9ybS1maWVsZCBrYnFGb3JtRmllbGRXaXRob3V0Qm9yZGVycz5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLW1hZ25pZnlpbmctZ2xhc3NfMTZcIiBrYnFQcmVmaXg+PC9pPlxuXG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAjc2VhcmNoXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICBrYnFJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgbG9jYWxlRGF0YS5zZWFyY2hQbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzdG9wRXZlbnRQcm9wYWdhdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJzZWFyY2hLZXlkb3duSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8a2JxLWNsZWFuZXIgLz5cbiAgICAgICAgPC9rYnEtZm9ybS1maWVsZD5cblxuICAgICAgICA8a2JxLWRpdmlkZXIgLz5cblxuICAgICAgICBAZm9yIChmaWx0ZXIgb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmM7IHRyYWNrIGZpbHRlcikge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGticS1kcm9wZG93bi1pdGVtXG4gICAgICAgICAgICAgICAga2JxLXRpdGxlXG4gICAgICAgICAgICAgICAgW2NsYXNzLmticS1zZWxlY3RlZF09XCJmaWx0ZXJCYXIuZmlsdGVyPy5uYW1lID09PSBmaWx0ZXIubmFtZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZpbHRlcihmaWx0ZXIpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBmaWx0ZXIubmFtZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVtcHR5IHtcbiAgICAgICAgICAgIDxidXR0b24ga2JxLWRyb3Bkb3duLWl0ZW0gW2Rpc2FibGVkXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICB7eyBsb2NhbGVEYXRhLnNlYXJjaEVtcHR5UmVzdWx0IH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxrYnEtZGl2aWRlciAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBrYnEtZHJvcGRvd24taXRlbSAoY2xpY2spPVwib3BlblNhdmVBc05ld0ZpbHRlclBvcG92ZXIoKVwiPlxuICAgICAgICA8aSBrYnEtaWNvbj1cImticS1wbHVzXzE2XCI+PC9pPlxuICAgICAgICB7eyBsb2NhbGVEYXRhLnNhdmVBc05ld0ZpbHRlciB9fVxuICAgIDwvYnV0dG9uPlxuPC9rYnEtZHJvcGRvd24+XG5cbjxrYnEtZHJvcGRvd24gI2ZpbHRlckFjdGlvbnM9XCJrYnFEcm9wZG93blwiIFtjbGFzc109XCIna2JxLWZpbHRlcnNfX2Ryb3Bkb3duJ1wiPlxuICAgIEBpZiAoZmlsdGVyQmFyLmlzU2F2ZWRBbmRDaGFuZ2VkICYmICFmaWx0ZXJCYXIuaXNSZWFkT25seSkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBrYnEtZHJvcGRvd24taXRlbVxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAna2JxLWJ1dHRvbl9jaGFuZ2VkLXNhdmVkLWZpbHRlcic6IGZpbHRlckJhci5pc1NhdmVkQW5kQ2hhbmdlZCB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJzYXZlQ2hhbmdlcygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtZmxvcHB5LWRpc2tfMTZcIj48L2k+XG4gICAgICAgICAgICB7eyBsb2NhbGVEYXRhLnNhdmVDaGFuZ2VzIH19XG4gICAgICAgICAgICBAaWYgKGZpbHRlckJhci5pc1NhdmVkQW5kQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwia2JxIGticS1pY29uIGticS1pY29uLWJ1dHRvbiBrYnEtY2lyY2xlLXhzXzE2IGticS13YXJuaW5nIGxheW91dC1tYXJnaW4tbGVmdC14c1wiPjwvaT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuICAgIDxidXR0b24ga2JxLWRyb3Bkb3duLWl0ZW0gKGNsaWNrKT1cIm9wZW5TYXZlQXNOZXdGaWx0ZXJQb3BvdmVyKClcIj5cbiAgICAgICAgPGkga2JxLWljb249XCJrYnEtcGx1c18xNlwiPjwvaT5cbiAgICAgICAge3sgbG9jYWxlRGF0YS5zYXZlQXNOZXcgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIEBpZiAoIWZpbHRlckJhci5pc1JlYWRPbmx5KSB7XG4gICAgICAgIDxidXR0b24ga2JxLWRyb3Bkb3duLWl0ZW0gKGNsaWNrKT1cIm9wZW5DaGFuZ2VGaWx0ZXJOYW1lUG9wb3ZlcigpXCI+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1wZW5jaWxfMTZcIj48L2k+XG4gICAgICAgICAgICB7eyBsb2NhbGVEYXRhLmNoYW5nZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG5cbiAgICBAaWYgKGZpbHRlckJhci5pc1NhdmVkQW5kQ2hhbmdlZCB8fCAhZmlsdGVyQmFyLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgPGticS1kaXZpZGVyIC8+XG4gICAgfVxuXG4gICAgQGlmIChmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQpIHtcbiAgICAgICAgPGJ1dHRvbiBrYnEtZHJvcGRvd24taXRlbSAoY2xpY2spPVwicmVzZXRGaWx0ZXJDaGFuZ2VzKClcIj5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLXhtYXJrLWNpcmNsZV8xNlwiPjwvaT5cbiAgICAgICAgICAgIHt7IGxvY2FsZURhdGEucmVzZXRDaGFuZ2VzIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICBAaWYgKCFmaWx0ZXJCYXIuaXNSZWFkT25seSkge1xuICAgICAgICA8YnV0dG9uIGticS1kcm9wZG93bi1pdGVtIChjbGljayk9XCJ0aGlzLm9uUmVtb3ZlRmlsdGVyLm5leHQodGhpcy5maWx0ZXIhKVwiPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtdHJhc2hfMTZcIj48L2k+XG4gICAgICAgICAgICB7eyBsb2NhbGVEYXRhLnJlbW92ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG48L2ticS1kcm9wZG93bj5cblxuPG5nLXRlbXBsYXRlICNzYXZlQXNOZXdQb3BvdmVySGVhZGVyPnt7IHBvcG92ZXJIZWFkZXIgfX08L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NhdmVBc05ld1BvcG92ZXJDb250ZW50PlxuICAgIEBpZiAoc2hvd0ZpbHRlclNhdmluZ0Vycm9yKSB7XG4gICAgICAgIDxrYnEtYWxlcnQgY2xhc3M9XCJsYXlvdXQtbWFyZ2luLWJvdHRvbS1tXCIgW2FsZXJ0Q29sb3JdPVwiJ2Vycm9yJ1wiIFthbGVydFN0eWxlXT1cIidjb2xvcmVkJ1wiIFtjb21wYWN0XT1cInRydWVcIj5cbiAgICAgICAgICAgIHt7IGZpbHRlclNhdmluZ0Vycm9yVGV4dCB9fVxuICAgICAgICA8L2ticS1hbGVydD5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cImticS1mb3JtLXZlcnRpY2FsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtZm9ybV9fcm93XCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJrYnEtZm9ybV9fbGFiZWxcIj57eyBsb2NhbGVEYXRhLm5hbWUgfX08L2xhYmVsPlxuXG4gICAgICAgICAgICA8a2JxLWZvcm0tZmllbGQgY2xhc3M9XCJrYnEtZm9ybV9fY29udHJvbFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAjbmV3RmlsdGVyTmFtZVxuICAgICAgICAgICAgICAgICAgICBrYnFJbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmaWx0ZXJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2F2ZUFzTmV3KCRldmVudClcIlxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICBAaWYgKGZpbHRlck5hbWUuaGFzRXJyb3IoJ2ZpbHRlck5hbWVBbHJlYWR5RXhpc3QnKSkge1xuICAgICAgICAgICAgICAgICAgICA8a2JxLWVycm9yPnt7IGxvY2FsZURhdGEuZXJyb3IgfX08L2ticS1lcnJvcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2ticS1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2F2ZUFzTmV3UG9wb3ZlckZvb3Rlcj5cbiAgICA8YnV0dG9uXG4gICAgICAgICNzYXZlRmlsdGVyQnV0dG9uXG4gICAgICAgIGticS1idXR0b25cbiAgICAgICAgY2xhc3M9XCJsYXlvdXQtbWFyZ2luLXJpZ2h0LWxcIlxuICAgICAgICBbY2xhc3Mua2JxLXByb2dyZXNzXT1cImlzU2F2aW5nXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzU2F2aW5nXCJcbiAgICAgICAgW2NvbG9yXT1cIidjb250cmFzdCdcIlxuICAgICAgICBba2JxU3R5bGVdPVwiJ2ZpbGxlZCdcIlxuICAgICAgICAoY2xpY2spPVwic2F2ZUFzTmV3KClcIlxuICAgID5cbiAgICAgICAge3sgbG9jYWxlRGF0YS5zYXZlQnV0dG9uIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBrYnEtYnV0dG9uIFtjb2xvcl09XCInY29udHJhc3QtZmFkZSdcIiBba2JxU3R5bGVdPVwiJ2ZpbGxlZCdcIiBbZGlzYWJsZWRdPVwiaXNTYXZpbmdcIiAoY2xpY2spPVwiY2xvc2VQb3BvdmVyKClcIj5cbiAgICAgICAge3sgbG9jYWxlRGF0YS5jYW5jZWxCdXR0b24gfX1cbiAgICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ZpbHRlci1iYXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29vYmlxLWNvbXBvbmVudHMtZmlsdGVyLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9rb29iaXEtY29tcG9uZW50cy1maWx0ZXItYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19