@koobiq/components 18.18.0 → 18.19.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 (207) hide show
  1. package/actions-panel/actions-panel-config.d.ts +79 -0
  2. package/actions-panel/actions-panel-container.d.ts +90 -0
  3. package/actions-panel/actions-panel-container.scss +33 -0
  4. package/actions-panel/actions-panel-ref.d.ts +31 -0
  5. package/actions-panel/actions-panel-tokens.scss +13 -0
  6. package/actions-panel/actions-panel.d.ts +144 -0
  7. package/actions-panel/index.d.ts +5 -0
  8. package/actions-panel/module.d.ts +7 -0
  9. package/core/animation/animation.d.ts +26 -0
  10. package/core/form-field/form-field-ref.d.ts +4 -0
  11. package/core/locales/en-US.d.ts +45 -0
  12. package/core/locales/es-LA.d.ts +45 -0
  13. package/core/locales/fa-IR.d.ts +45 -0
  14. package/core/locales/locale-service.d.ts +315 -0
  15. package/core/locales/pt-BR.d.ts +45 -0
  16. package/core/locales/ru-RU.d.ts +45 -0
  17. package/core/locales/tk-TM.d.ts +45 -0
  18. package/core/locales/types.d.ts +6 -0
  19. package/core/locales/zh-CN.d.ts +45 -0
  20. package/core/option/option.d.ts +3 -1
  21. package/datepicker/calendar.component.d.ts +9 -0
  22. package/datepicker/datepicker-input.directive.d.ts +5 -1
  23. package/dl/dl.component.d.ts +3 -4
  24. package/dropdown/_dropdown-theme.scss +9 -10
  25. package/dropdown/dropdown-tokens.scss +1 -0
  26. package/dropdown/dropdown.component.d.ts +1 -1
  27. package/dropdown/dropdown.scss +5 -0
  28. package/dropdown/dropdown.types.d.ts +3 -1
  29. package/esm2022/accordion/accordion-trigger.component.mjs +1 -1
  30. package/esm2022/actions-panel/actions-panel-config.mjs +55 -0
  31. package/esm2022/actions-panel/actions-panel-container.mjs +217 -0
  32. package/esm2022/actions-panel/actions-panel-ref.mjs +62 -0
  33. package/esm2022/actions-panel/actions-panel.mjs +220 -0
  34. package/esm2022/actions-panel/index.mjs +6 -0
  35. package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +5 -0
  36. package/esm2022/actions-panel/module.mjs +21 -0
  37. package/esm2022/breadcrumbs/breadcrumbs.mjs +2 -2
  38. package/esm2022/code-block/code-block.mjs +1 -1
  39. package/esm2022/core/animation/animation.mjs +29 -1
  40. package/esm2022/core/common-behaviors/common-module.mjs +2 -2
  41. package/esm2022/core/form-field/form-field-ref.mjs +1 -1
  42. package/esm2022/core/locales/en-US.mjs +46 -1
  43. package/esm2022/core/locales/es-LA.mjs +46 -1
  44. package/esm2022/core/locales/fa-IR.mjs +46 -1
  45. package/esm2022/core/locales/pt-BR.mjs +46 -1
  46. package/esm2022/core/locales/ru-RU.mjs +46 -1
  47. package/esm2022/core/locales/tk-TM.mjs +46 -1
  48. package/esm2022/core/locales/types.mjs +1 -1
  49. package/esm2022/core/locales/zh-CN.mjs +46 -1
  50. package/esm2022/core/option/option.mjs +10 -3
  51. package/esm2022/core/version.mjs +2 -2
  52. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  53. package/esm2022/datepicker/calendar.component.mjs +20 -2
  54. package/esm2022/datepicker/datepicker-input.directive.mjs +22 -11
  55. package/esm2022/datepicker/datepicker-toggle.component.mjs +1 -1
  56. package/esm2022/dl/dl.component.mjs +8 -7
  57. package/esm2022/dropdown/dropdown-item.component.mjs +1 -1
  58. package/esm2022/dropdown/dropdown-trigger.directive.mjs +6 -1
  59. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  60. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  61. package/esm2022/file-upload/multiple-file-upload.component.mjs +1 -1
  62. package/esm2022/file-upload/single-file-upload.component.mjs +1 -1
  63. package/esm2022/filter-bar/filter-bar-button.mjs +30 -0
  64. package/esm2022/filter-bar/filter-bar.mjs +168 -0
  65. package/esm2022/filter-bar/filter-bar.module.mjs +65 -0
  66. package/esm2022/filter-bar/filter-bar.types.mjs +13 -0
  67. package/esm2022/filter-bar/filter-refresher.mjs +34 -0
  68. package/esm2022/filter-bar/filter-reset.mjs +38 -0
  69. package/esm2022/filter-bar/filter-search.mjs +132 -0
  70. package/esm2022/filter-bar/filters.mjs +225 -0
  71. package/esm2022/filter-bar/index.mjs +2 -0
  72. package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +5 -0
  73. package/esm2022/filter-bar/pipe-add.mjs +129 -0
  74. package/esm2022/filter-bar/pipe.directive.mjs +55 -0
  75. package/esm2022/filter-bar/pipes/base-pipe.mjs +106 -0
  76. package/esm2022/filter-bar/pipes/pipe-button.mjs +59 -0
  77. package/esm2022/filter-bar/pipes/pipe-date.mjs +171 -0
  78. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +172 -0
  79. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +96 -0
  80. package/esm2022/filter-bar/pipes/pipe-select.mjs +88 -0
  81. package/esm2022/filter-bar/pipes/pipe-state.mjs +45 -0
  82. package/esm2022/filter-bar/pipes/pipe-text.mjs +89 -0
  83. package/esm2022/filter-bar/pipes/pipe-title.mjs +96 -0
  84. package/esm2022/filter-bar/public-api.mjs +20 -0
  85. package/esm2022/form-field/cleaner.mjs +1 -1
  86. package/esm2022/form-field/form-field.mjs +13 -6
  87. package/esm2022/form-field/password-hint.mjs +1 -1
  88. package/esm2022/form-field/password-toggle.mjs +1 -1
  89. package/esm2022/form-field/stepper.mjs +1 -1
  90. package/esm2022/icon/icon-button.component.mjs +9 -9
  91. package/esm2022/icon/icon-item.component.mjs +10 -10
  92. package/esm2022/icon/icon.component.mjs +9 -12
  93. package/esm2022/list/list-selection.component.mjs +4 -4
  94. package/esm2022/modal/modal.component.mjs +1 -1
  95. package/esm2022/modal/modal.directive.mjs +1 -1
  96. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  97. package/esm2022/overflow-items/overflow-items.mjs +129 -139
  98. package/esm2022/popover/popover.component.mjs +30 -10
  99. package/esm2022/select/select.component.mjs +3 -3
  100. package/esm2022/sidepanel/sidepanel-directives.mjs +2 -2
  101. package/esm2022/tabs/tab-header.component.mjs +1 -1
  102. package/esm2022/tabs/tab-nav-bar.mjs +2 -2
  103. package/esm2022/textarea/textarea.component.mjs +9 -5
  104. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  105. package/esm2022/title/title.directive.mjs +12 -5
  106. package/esm2022/toast/toast.component.mjs +2 -2
  107. package/esm2022/tree/toggle.mjs +1 -1
  108. package/esm2022/tree/tree-option.component.mjs +3 -2
  109. package/esm2022/tree/tree-selection.component.mjs +4 -2
  110. package/esm2022/tree-select/tree-select.component.mjs +6 -4
  111. package/fesm2022/koobiq-components-accordion.mjs +1 -1
  112. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-actions-panel.mjs +567 -0
  114. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -0
  115. package/fesm2022/koobiq-components-breadcrumbs.mjs +1 -1
  116. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-code-block.mjs +1 -1
  118. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-core.mjs +355 -5
  120. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-datepicker.mjs +40 -12
  122. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-dl.mjs +7 -6
  124. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-dropdown.mjs +9 -4
  126. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-file-upload.mjs +2 -2
  128. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-filter-bar.mjs +1596 -0
  130. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -0
  131. package/fesm2022/koobiq-components-form-field.mjs +16 -9
  132. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-icon.mjs +23 -26
  134. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-list.mjs +3 -3
  136. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-modal.mjs +2 -2
  138. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-navbar.mjs +2 -2
  140. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-overflow-items.mjs +129 -139
  142. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-popover.mjs +29 -9
  144. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-select.mjs +2 -2
  146. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-sidepanel.mjs +1 -1
  148. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-tabs.mjs +2 -2
  150. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-textarea.mjs +8 -4
  152. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  154. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-title.mjs +11 -4
  156. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-toast.mjs +1 -1
  158. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-tree-select.mjs +5 -3
  160. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-tree.mjs +6 -3
  162. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  163. package/filter-bar/_filter-bar-theme.scss +61 -0
  164. package/filter-bar/filter-bar-button.d.ts +8 -0
  165. package/filter-bar/filter-bar.d.ts +55 -0
  166. package/filter-bar/filter-bar.module.d.ts +17 -0
  167. package/filter-bar/filter-bar.scss +60 -0
  168. package/filter-bar/filter-bar.types.d.ts +97 -0
  169. package/filter-bar/filter-refresher.d.ts +5 -0
  170. package/filter-bar/filter-refresher.scss +6 -0
  171. package/filter-bar/filter-reset.d.ts +11 -0
  172. package/filter-bar/filter-search.d.ts +25 -0
  173. package/filter-bar/filter-search.scss +14 -0
  174. package/filter-bar/filters.d.ts +72 -0
  175. package/filter-bar/filters.scss +92 -0
  176. package/filter-bar/index.d.ts +1 -0
  177. package/filter-bar/pipe-add.d.ts +18 -0
  178. package/filter-bar/pipe-add.scss +5 -0
  179. package/filter-bar/pipe.directive.d.ts +13 -0
  180. package/filter-bar/pipes/base-pipe.d.ts +40 -0
  181. package/filter-bar/pipes/base-pipe.scss +117 -0
  182. package/filter-bar/pipes/pipe-button.d.ts +13 -0
  183. package/filter-bar/pipes/pipe-button.scss +5 -0
  184. package/filter-bar/pipes/pipe-date.d.ts +41 -0
  185. package/filter-bar/pipes/pipe-date.scss +132 -0
  186. package/filter-bar/pipes/pipe-datetime.d.ts +41 -0
  187. package/filter-bar/pipes/pipe-multi-select.d.ts +22 -0
  188. package/filter-bar/pipes/pipe-multiselect.scss +15 -0
  189. package/filter-bar/pipes/pipe-select.d.ts +21 -0
  190. package/filter-bar/pipes/pipe-select.scss +3 -0
  191. package/filter-bar/pipes/pipe-state.d.ts +14 -0
  192. package/filter-bar/pipes/pipe-text.d.ts +19 -0
  193. package/filter-bar/pipes/pipe-title.d.ts +25 -0
  194. package/filter-bar/public-api.d.ts +19 -0
  195. package/form-field/form-field.d.ts +6 -1
  196. package/form-field/form-field.scss +1 -0
  197. package/icon/icon-button.component.d.ts +5 -3
  198. package/icon/icon-item.component.d.ts +5 -3
  199. package/icon/icon.component.d.ts +5 -4
  200. package/overflow-items/overflow-items.d.ts +59 -71
  201. package/package.json +18 -6
  202. package/popover/popover.component.d.ts +6 -1
  203. package/schematics/ng-add/index.js +5 -5
  204. package/select/_select-theme.scss +9 -1
  205. package/textarea/textarea.component.d.ts +2 -1
  206. package/title/title.directive.d.ts +2 -0
  207. package/tree-select/_tree-select-theme.scss +9 -1
@@ -0,0 +1,168 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { KBQ_LOCALE_SERVICE } from '@koobiq/components/core';
4
+ import { KbqDividerModule } from '@koobiq/components/divider';
5
+ import { BehaviorSubject, merge } from 'rxjs';
6
+ import { KBQ_FILTER_BAR_CONFIGURATION, KBQ_FILTER_BAR_DEFAULT_CONFIGURATION } from './filter-bar.types';
7
+ import { KbqFilterReset } from './filter-reset';
8
+ import { KbqFilters } from './filters';
9
+ import * as i0 from "@angular/core";
10
+ export class KbqFilterBar {
11
+ /** Filter that is currently selected */
12
+ get filter() {
13
+ return this._filter;
14
+ }
15
+ set filter(value) {
16
+ if (this._filter === value)
17
+ return;
18
+ this._filter = value;
19
+ this.changes.next();
20
+ }
21
+ /** An array of templates that are used when adding a pipe. Also contains lists of options to select (values). */
22
+ set pipeTemplates(value) {
23
+ this._templates = value;
24
+ this.internalTemplatesChanges.next(this._templates);
25
+ }
26
+ get pipeTemplates() {
27
+ return this._templates;
28
+ }
29
+ get isSavedAndChanged() {
30
+ return this.isSaved && this.isChanged;
31
+ }
32
+ get isSaved() {
33
+ return !!this.filter?.saved;
34
+ }
35
+ get isChanged() {
36
+ return !!this.filter?.changed;
37
+ }
38
+ get isReadOnly() {
39
+ return !!this.filter?.readonly;
40
+ }
41
+ get isDisabled() {
42
+ return !!this.filter?.disabled;
43
+ }
44
+ constructor() {
45
+ this.changeDetectorRef = inject(ChangeDetectorRef);
46
+ this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
47
+ this.externalConfiguration = inject(KBQ_FILTER_BAR_CONFIGURATION, { optional: true });
48
+ this._templates = [];
49
+ /**
50
+ * Event that emits whenever the raw value of the filter changes. This is here primarily
51
+ * to facilitate the two-way binding for the `filter` input.
52
+ * @docs-private
53
+ */
54
+ this.filterChange = new EventEmitter();
55
+ /** Event that emits whenever the value of the pipe changes. */
56
+ this.onChangePipe = new EventEmitter();
57
+ /** Event that emits whenever the pipe deleted. */
58
+ this.onRemovePipe = new EventEmitter();
59
+ this.savedFilter = null;
60
+ this.changes = new BehaviorSubject(undefined);
61
+ this.internalFilterChanges = new BehaviorSubject(null);
62
+ this.internalTemplatesChanges = new BehaviorSubject(null);
63
+ this.openPipe = new BehaviorSubject(null);
64
+ this.updateLocaleParams = () => {
65
+ this.configuration = this.externalConfiguration || this.localeService?.getParams('filterBar');
66
+ this.changeDetectorRef.markForCheck();
67
+ };
68
+ this.internalFilterChanges.pipe(takeUntilDestroyed()).subscribe((filter) => {
69
+ this._filter = filter;
70
+ this.filterChange.emit(this.filter);
71
+ });
72
+ this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);
73
+ if (!this.localeService) {
74
+ this.initDefaultParams();
75
+ }
76
+ merge(this.onChangePipe, this.onRemovePipe)
77
+ .pipe(takeUntilDestroyed())
78
+ .subscribe(() => {
79
+ if (this.filter) {
80
+ this.filter.changed = true;
81
+ }
82
+ this.filterChange.emit(this.filter);
83
+ });
84
+ merge(this.filterChange, this.onChangePipe, this.onRemovePipe, this.internalFilterChanges)
85
+ .pipe(takeUntilDestroyed())
86
+ .subscribe(() => {
87
+ this.changes.next();
88
+ this.changeDetectorRef.markForCheck();
89
+ });
90
+ }
91
+ /** Remove pipe from current filter and emit event */
92
+ removePipe(pipe) {
93
+ this.filter?.pipes.splice(this.filter?.pipes.indexOf(pipe), 1);
94
+ this.onRemovePipe.next(pipe);
95
+ }
96
+ /** Save current state of filter */
97
+ saveFilterState(filter) {
98
+ this.savedFilter = structuredClone(filter ?? this.filter);
99
+ }
100
+ /** Restore previously saved filter state */
101
+ restoreFilterState(filter) {
102
+ this.filter = structuredClone(filter ?? this.savedFilter);
103
+ }
104
+ /** Set the filter state "changed" to false */
105
+ resetFilterChangedState() {
106
+ this.filter.changed = false;
107
+ }
108
+ initDefaultParams() {
109
+ this.configuration = KBQ_FILTER_BAR_DEFAULT_CONFIGURATION;
110
+ }
111
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqFilterBar, isStandalone: true, selector: "kbq-filter-bar, [kbq-filter-bar]", inputs: { filter: "filter", pipeTemplates: "pipeTemplates" }, outputs: { filterChange: "filterChange", onChangePipe: "onChangePipe", onRemovePipe: "onRemovePipe" }, host: { classAttribute: "kbq-filter-bar" }, queries: [{ propertyName: "filters", first: true, predicate: KbqFilters, descendants: true }, { propertyName: "filterReset", first: true, predicate: KbqFilterReset, descendants: true }], ngImport: i0, template: `
113
+ <div class="kbq-filter-bar__left">
114
+ <ng-content select="kbq-filters" />
115
+
116
+ <ng-content />
117
+
118
+ <ng-content select="kbq-pipe-add" />
119
+
120
+ <ng-content select="kbq-filter-reset" />
121
+ </div>
122
+
123
+ <div class="kbq-filter-bar__right">
124
+ <ng-content select="kbq-filter-search, [kbq-filter-search]" />
125
+
126
+ <ng-content select="kbq-filter-refresher, [kbq-filter-refresher]" />
127
+ </div>
128
+ `, isInline: true, styles: [".kbq-filter-bar{display:flex;flex-direction:row;justify-content:space-between;width:100%}.kbq-filter-bar .kbq-filter-bar__left{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--kbq-size-s)}.kbq-filter-bar .kbq-filter-bar__left .kbq-button>.kbq-icon{margin-right:var(--kbq-size-xxs)}.kbq-filter-bar .kbq-filter-bar__left>.kbq-icon{align-self:center}.kbq-filter-bar .kbq-filter-bar__right{display:flex;flex-direction:row;margin-left:var(--kbq-size-3xl)}.kbq-pipe__popover .kbq-popover__container{min-width:320px}.kbq-pipe__popover .kbq-popover__content{padding:var(--kbq-size-m) var(--kbq-size-m) 1px!important}.kbq-pipe__popover .kbq-popover__footer{padding:var(--kbq-size-xxs)}.kbq-pipe__popover .kbq-popover__footer .kbq-button:not(.kbq-disabled){display:flex;flex-direction:row;width:100%;justify-content:flex-start}.kbq-pipe__popover .kbq-popover__footer .kbq-button:not(.kbq-disabled) .kbq-button_hot-key{color:var(--kbq-foreground-contrast-secondary)}.kbq-button-overlay{display:none}.kbq-button,.kbq-button-icon{-webkit-font-smoothing:antialiased}.kbq-button.kbq-button_changed-filter,.kbq-button-icon.kbq-button_changed-filter{color:var(--kbq-foreground-theme);background:var(--kbq-states-background-theme-less-active)}.kbq-button.kbq-button_changed-filter .kbq-icon,.kbq-button-icon.kbq-button_changed-filter .kbq-icon,.kbq-button.kbq-button_changed-filter .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_changed-filter .kbq-icon.kbq-icon_left,.kbq-button.kbq-button_changed-filter .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_changed-filter .kbq-icon.kbq-icon_right{color:var(--kbq-icon-theme)}.kbq-button.kbq-button_changed-filter:hover:not(.kbq-disabled),.kbq-button.kbq-button_changed-filter.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_changed-filter:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_changed-filter.kbq-hover:not(.kbq-disabled){background:var(--kbq-states-background-theme-less-hover)}.kbq-button.kbq-button_changed-filter:active:not(.kbq-disabled),.kbq-button.kbq-button_changed-filter.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_changed-filter:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_changed-filter.kbq-active:not(.kbq-disabled){background:var(--kbq-states-background-theme-fade-active)}.kbq-button.kbq-button_changed-filter.cdk-keyboard-focused,.kbq-button-icon.kbq-button_changed-filter.cdk-keyboard-focused{outline:1px solid var(--kbq-states-line-focus-theme);border-color:var(--kbq-states-line-focus-theme)}.kbq-button.kbq-button_changed-filter.kbq-disabled,.kbq-button-icon.kbq-button_changed-filter.kbq-disabled{color:var(--kbq-states-foreground-disable);background:var(--kbq-states-background-disable)}.kbq-button.kbq-button_changed-filter.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_changed-filter.kbq-disabled .kbq-icon,.kbq-button.kbq-button_changed-filter.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_changed-filter.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button.kbq-button_changed-filter.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_changed-filter.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-states-icon-disabled)}.kbq-hint.kbq-date-period__hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n"], dependencies: [{ kind: "ngmodule", type: KbqDividerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBar, decorators: [{
131
+ type: Component,
132
+ args: [{ standalone: true, selector: 'kbq-filter-bar, [kbq-filter-bar]', template: `
133
+ <div class="kbq-filter-bar__left">
134
+ <ng-content select="kbq-filters" />
135
+
136
+ <ng-content />
137
+
138
+ <ng-content select="kbq-pipe-add" />
139
+
140
+ <ng-content select="kbq-filter-reset" />
141
+ </div>
142
+
143
+ <div class="kbq-filter-bar__right">
144
+ <ng-content select="kbq-filter-search, [kbq-filter-search]" />
145
+
146
+ <ng-content select="kbq-filter-refresher, [kbq-filter-refresher]" />
147
+ </div>
148
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [KbqDividerModule], host: {
149
+ class: 'kbq-filter-bar'
150
+ }, styles: [".kbq-filter-bar{display:flex;flex-direction:row;justify-content:space-between;width:100%}.kbq-filter-bar .kbq-filter-bar__left{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--kbq-size-s)}.kbq-filter-bar .kbq-filter-bar__left .kbq-button>.kbq-icon{margin-right:var(--kbq-size-xxs)}.kbq-filter-bar .kbq-filter-bar__left>.kbq-icon{align-self:center}.kbq-filter-bar .kbq-filter-bar__right{display:flex;flex-direction:row;margin-left:var(--kbq-size-3xl)}.kbq-pipe__popover .kbq-popover__container{min-width:320px}.kbq-pipe__popover .kbq-popover__content{padding:var(--kbq-size-m) var(--kbq-size-m) 1px!important}.kbq-pipe__popover .kbq-popover__footer{padding:var(--kbq-size-xxs)}.kbq-pipe__popover .kbq-popover__footer .kbq-button:not(.kbq-disabled){display:flex;flex-direction:row;width:100%;justify-content:flex-start}.kbq-pipe__popover .kbq-popover__footer .kbq-button:not(.kbq-disabled) .kbq-button_hot-key{color:var(--kbq-foreground-contrast-secondary)}.kbq-button-overlay{display:none}.kbq-button,.kbq-button-icon{-webkit-font-smoothing:antialiased}.kbq-button.kbq-button_changed-filter,.kbq-button-icon.kbq-button_changed-filter{color:var(--kbq-foreground-theme);background:var(--kbq-states-background-theme-less-active)}.kbq-button.kbq-button_changed-filter .kbq-icon,.kbq-button-icon.kbq-button_changed-filter .kbq-icon,.kbq-button.kbq-button_changed-filter .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_changed-filter .kbq-icon.kbq-icon_left,.kbq-button.kbq-button_changed-filter .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_changed-filter .kbq-icon.kbq-icon_right{color:var(--kbq-icon-theme)}.kbq-button.kbq-button_changed-filter:hover:not(.kbq-disabled),.kbq-button.kbq-button_changed-filter.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_changed-filter:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_changed-filter.kbq-hover:not(.kbq-disabled){background:var(--kbq-states-background-theme-less-hover)}.kbq-button.kbq-button_changed-filter:active:not(.kbq-disabled),.kbq-button.kbq-button_changed-filter.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_changed-filter:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_changed-filter.kbq-active:not(.kbq-disabled){background:var(--kbq-states-background-theme-fade-active)}.kbq-button.kbq-button_changed-filter.cdk-keyboard-focused,.kbq-button-icon.kbq-button_changed-filter.cdk-keyboard-focused{outline:1px solid var(--kbq-states-line-focus-theme);border-color:var(--kbq-states-line-focus-theme)}.kbq-button.kbq-button_changed-filter.kbq-disabled,.kbq-button-icon.kbq-button_changed-filter.kbq-disabled{color:var(--kbq-states-foreground-disable);background:var(--kbq-states-background-disable)}.kbq-button.kbq-button_changed-filter.kbq-disabled .kbq-icon,.kbq-button-icon.kbq-button_changed-filter.kbq-disabled .kbq-icon,.kbq-button.kbq-button_changed-filter.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button-icon.kbq-button_changed-filter.kbq-disabled .kbq-icon.kbq-icon_left,.kbq-button.kbq-button_changed-filter.kbq-disabled .kbq-icon.kbq-icon_right,.kbq-button-icon.kbq-button_changed-filter.kbq-disabled .kbq-icon.kbq-icon_right{color:var(--kbq-states-icon-disabled)}.kbq-hint.kbq-date-period__hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n"] }]
151
+ }], ctorParameters: () => [], propDecorators: { filters: [{
152
+ type: ContentChild,
153
+ args: [KbqFilters]
154
+ }], filterReset: [{
155
+ type: ContentChild,
156
+ args: [KbqFilterReset]
157
+ }], filter: [{
158
+ type: Input
159
+ }], pipeTemplates: [{
160
+ type: Input
161
+ }], filterChange: [{
162
+ type: Output
163
+ }], onChangePipe: [{
164
+ type: Output
165
+ }], onRemovePipe: [{
166
+ type: Output
167
+ }] } });
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLG9DQUFvQyxFQUl2QyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQThCdkMsTUFBTSxPQUFPLFlBQVk7SUFVckIsd0NBQXdDO0lBQ3hDLElBQ0ksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBdUI7UUFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBRW5DLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUlELGlIQUFpSDtJQUNqSCxJQUNJLGFBQWEsQ0FBQyxLQUF3QjtRQUN0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QUFXLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsOENBQThDO0lBQzlDLHVCQUF1QjtRQUNuQixJQUFJLENBQUMsTUFBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQVFPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLG9DQUFvQyxDQUFDO0lBQzlELENBQUM7aUlBMUlRLFlBQVk7cUhBQVosWUFBWSxrVkFPUCxVQUFVLDhFQUNWLGNBQWMsZ0RBakNsQjs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVCxncUhBSVMsZ0JBQWdCOzsyRkFLakIsWUFBWTtrQkE1QnhCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGtDQUFrQyxZQUNsQzs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLGdCQUFnQixDQUFDLFFBQ3JCO3dCQUNGLEtBQUssRUFBRSxnQkFBZ0I7cUJBQzFCO3dEQVN5QixPQUFPO3NCQUFoQyxZQUFZO3VCQUFDLFVBQVU7Z0JBQ00sV0FBVztzQkFBeEMsWUFBWTt1QkFBQyxjQUFjO2dCQUl4QixNQUFNO3NCQURULEtBQUs7Z0JBaUJGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBaUJhLFlBQVk7c0JBQTlCLE1BQU07Z0JBRVksWUFBWTtzQkFBOUIsTUFBTTtnQkFFWSxZQUFZO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS0JRX0xPQ0FMRV9TRVJWSUNFIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS2JxRGl2aWRlck1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kaXZpZGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgS0JRX0ZJTFRFUl9CQVJfQ09ORklHVVJBVElPTixcbiAgICBLQlFfRklMVEVSX0JBUl9ERUZBVUxUX0NPTkZJR1VSQVRJT04sXG4gICAgS2JxRmlsdGVyLFxuICAgIEticVBpcGUsXG4gICAgS2JxUGlwZVRlbXBsYXRlXG59IGZyb20gJy4vZmlsdGVyLWJhci50eXBlcyc7XG5pbXBvcnQgeyBLYnFGaWx0ZXJSZXNldCB9IGZyb20gJy4vZmlsdGVyLXJlc2V0JztcbmltcG9ydCB7IEticUZpbHRlcnMgfSBmcm9tICcuL2ZpbHRlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAna2JxLWZpbHRlci1iYXIsIFtrYnEtZmlsdGVyLWJhcl0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtZmlsdGVyLWJhcl9fbGVmdFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWZpbHRlcnNcIiAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtcGlwZS1hZGRcIiAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtZmlsdGVyLXJlc2V0XCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImticS1maWx0ZXItYmFyX19yaWdodFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLWZpbHRlci1zZWFyY2gsIFtrYnEtZmlsdGVyLXNlYXJjaF1cIiAvPlxuXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtZmlsdGVyLXJlZnJlc2hlciwgW2ticS1maWx0ZXItcmVmcmVzaGVyXVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJ2ZpbHRlci1iYXIuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW1wb3J0czogW0ticURpdmlkZXJNb2R1bGVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtZmlsdGVyLWJhcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUZpbHRlckJhciB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9jYWxlU2VydmljZSA9IGluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgcmVhZG9ubHkgZXh0ZXJuYWxDb25maWd1cmF0aW9uID0gaW5qZWN0KEtCUV9GSUxURVJfQkFSX0NPTkZJR1VSQVRJT04sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICBjb25maWd1cmF0aW9uO1xuXG4gICAgQENvbnRlbnRDaGlsZChLYnFGaWx0ZXJzKSBmaWx0ZXJzOiBLYnFGaWx0ZXJzO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxRmlsdGVyUmVzZXQpIGZpbHRlclJlc2V0OiBLYnFGaWx0ZXJSZXNldDtcblxuICAgIC8qKiBGaWx0ZXIgdGhhdCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBmaWx0ZXIoKTogS2JxRmlsdGVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWx0ZXI7XG4gICAgfVxuXG4gICAgc2V0IGZpbHRlcih2YWx1ZTogS2JxRmlsdGVyIHwgbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5fZmlsdGVyID09PSB2YWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuX2ZpbHRlciA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZmlsdGVyOiBLYnFGaWx0ZXIgfCBudWxsO1xuXG4gICAgLyoqIEFuIGFycmF5IG9mIHRlbXBsYXRlcyB0aGF0IGFyZSB1c2VkIHdoZW4gYWRkaW5nIGEgcGlwZS4gQWxzbyBjb250YWlucyBsaXN0cyBvZiBvcHRpb25zIHRvIHNlbGVjdCAodmFsdWVzKS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBwaXBlVGVtcGxhdGVzKHZhbHVlOiBLYnFQaXBlVGVtcGxhdGVbXSkge1xuICAgICAgICB0aGlzLl90ZW1wbGF0ZXMgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmludGVybmFsVGVtcGxhdGVzQ2hhbmdlcy5uZXh0KHRoaXMuX3RlbXBsYXRlcyk7XG4gICAgfVxuXG4gICAgZ2V0IHBpcGVUZW1wbGF0ZXMoKTogS2JxUGlwZVRlbXBsYXRlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RlbXBsYXRlczogS2JxUGlwZVRlbXBsYXRlW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBFdmVudCB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSByYXcgdmFsdWUgb2YgdGhlIGZpbHRlciBjaGFuZ2VzLiBUaGlzIGlzIGhlcmUgcHJpbWFyaWx5XG4gICAgICogdG8gZmFjaWxpdGF0ZSB0aGUgdHdvLXdheSBiaW5kaW5nIGZvciB0aGUgYGZpbHRlcmAgaW5wdXQuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEticUZpbHRlciB8IG51bGw+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIHZhbHVlIG9mIHRoZSBwaXBlIGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uQ2hhbmdlUGlwZSA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxUGlwZT4oKTtcbiAgICAvKiogRXZlbnQgdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgcGlwZSBkZWxldGVkLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblJlbW92ZVBpcGUgPSBuZXcgRXZlbnRFbWl0dGVyPEticVBpcGU+KCk7XG5cbiAgICBnZXQgaXNTYXZlZEFuZENoYW5nZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2F2ZWQgJiYgdGhpcy5pc0NoYW5nZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2F2ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZmlsdGVyPy5zYXZlZDtcbiAgICB9XG5cbiAgICBnZXQgaXNDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbHRlcj8uY2hhbmdlZDtcbiAgICB9XG5cbiAgICBnZXQgaXNSZWFkT25seSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5maWx0ZXI/LnJlYWRvbmx5O1xuICAgIH1cblxuICAgIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbHRlcj8uZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlZEZpbHRlcjogS2JxRmlsdGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICByZWFkb25seSBjaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICAgIHJlYWRvbmx5IGludGVybmFsRmlsdGVyQ2hhbmdlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8S2JxRmlsdGVyIHwgbnVsbD4obnVsbCk7XG4gICAgcmVhZG9ubHkgaW50ZXJuYWxUZW1wbGF0ZXNDaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxLYnFQaXBlVGVtcGxhdGVbXSB8IG51bGw+KG51bGwpO1xuICAgIHJlYWRvbmx5IG9wZW5QaXBlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudW1iZXIgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmludGVybmFsRmlsdGVyQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZmlsdGVyID0gZmlsdGVyO1xuXG4gICAgICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZmlsdGVyKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlPy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUxvY2FsZVBhcmFtcyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmxvY2FsZVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdERlZmF1bHRQYXJhbXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1lcmdlKHRoaXMub25DaGFuZ2VQaXBlLCB0aGlzLm9uUmVtb3ZlUGlwZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLmNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXIpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbWVyZ2UodGhpcy5maWx0ZXJDaGFuZ2UsIHRoaXMub25DaGFuZ2VQaXBlLCB0aGlzLm9uUmVtb3ZlUGlwZSwgdGhpcy5pbnRlcm5hbEZpbHRlckNoYW5nZXMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBSZW1vdmUgcGlwZSBmcm9tIGN1cnJlbnQgZmlsdGVyIGFuZCBlbWl0IGV2ZW50ICovXG4gICAgcmVtb3ZlUGlwZShwaXBlOiBLYnFQaXBlKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyPy5waXBlcy5zcGxpY2UodGhpcy5maWx0ZXI/LnBpcGVzLmluZGV4T2YocGlwZSksIDEpO1xuXG4gICAgICAgIHRoaXMub25SZW1vdmVQaXBlLm5leHQocGlwZSk7XG4gICAgfVxuXG4gICAgLyoqIFNhdmUgY3VycmVudCBzdGF0ZSBvZiBmaWx0ZXIgKi9cbiAgICBzYXZlRmlsdGVyU3RhdGUoZmlsdGVyPzogS2JxRmlsdGVyKSB7XG4gICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmUoZmlsdGVyID8/IHRoaXMuZmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKiogUmVzdG9yZSBwcmV2aW91c2x5IHNhdmVkIGZpbHRlciBzdGF0ZSAqL1xuICAgIHJlc3RvcmVGaWx0ZXJTdGF0ZShmaWx0ZXI/OiBLYnFGaWx0ZXIpIHtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmUoZmlsdGVyID8/IHRoaXMuc2F2ZWRGaWx0ZXIpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgdGhlIGZpbHRlciBzdGF0ZSBcImNoYW5nZWRcIiB0byBmYWxzZSAqL1xuICAgIHJlc2V0RmlsdGVyQ2hhbmdlZFN0YXRlKCkge1xuICAgICAgICB0aGlzLmZpbHRlciEuY2hhbmdlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTG9jYWxlUGFyYW1zID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLmV4dGVybmFsQ29uZmlndXJhdGlvbiB8fCB0aGlzLmxvY2FsZVNlcnZpY2U/LmdldFBhcmFtcygnZmlsdGVyQmFyJyk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpbml0RGVmYXVsdFBhcmFtcygpIHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gS0JRX0ZJTFRFUl9CQVJfREVGQVVMVF9DT05GSUdVUkFUSU9OO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,65 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { KbqFilterBar } from './filter-bar';
3
+ import { KbqFilterBarButton } from './filter-bar-button';
4
+ import { KbqFilterBarRefresher } from './filter-refresher';
5
+ import { KbqFilterReset } from './filter-reset';
6
+ import { KbqFilterBarSearch } from './filter-search';
7
+ import { KbqFilters } from './filters';
8
+ import { KbqPipeAdd } from './pipe-add';
9
+ import { KbqPipeDirective } from './pipe.directive';
10
+ import { KbqPipeButton } from './pipes/pipe-button';
11
+ import { KbqPipeState } from './pipes/pipe-state';
12
+ import { KbqPipeTitleDirective } from './pipes/pipe-title';
13
+ import * as i0 from "@angular/core";
14
+ const COMPONENTS = [
15
+ KbqFilterBar,
16
+ KbqFilters,
17
+ KbqFilterBarRefresher,
18
+ KbqFilterBarButton,
19
+ KbqFilterReset,
20
+ KbqPipeAdd,
21
+ KbqPipeDirective,
22
+ KbqPipeButton,
23
+ KbqFilterBarSearch,
24
+ KbqPipeTitleDirective,
25
+ KbqPipeState
26
+ ];
27
+ export class KbqFilterBarModule {
28
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBarModule, imports: [KbqFilterBar,
30
+ KbqFilters,
31
+ KbqFilterBarRefresher,
32
+ KbqFilterBarButton,
33
+ KbqFilterReset,
34
+ KbqPipeAdd,
35
+ KbqPipeDirective,
36
+ KbqPipeButton,
37
+ KbqFilterBarSearch,
38
+ KbqPipeTitleDirective,
39
+ KbqPipeState], exports: [KbqFilterBar,
40
+ KbqFilters,
41
+ KbqFilterBarRefresher,
42
+ KbqFilterBarButton,
43
+ KbqFilterReset,
44
+ KbqPipeAdd,
45
+ KbqPipeDirective,
46
+ KbqPipeButton,
47
+ KbqFilterBarSearch,
48
+ KbqPipeTitleDirective,
49
+ KbqPipeState] }); }
50
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBarModule, imports: [KbqFilterBar,
51
+ KbqFilters,
52
+ KbqFilterBarRefresher,
53
+ KbqFilterReset,
54
+ KbqPipeAdd,
55
+ KbqPipeButton,
56
+ KbqFilterBarSearch] }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBarModule, decorators: [{
59
+ type: NgModule,
60
+ args: [{
61
+ exports: COMPONENTS,
62
+ imports: COMPONENTS
63
+ }]
64
+ }] });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ZpbHRlci1iYXIvZmlsdGVyLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFM0QsTUFBTSxVQUFVLEdBQUc7SUFDZixZQUFZO0lBQ1osVUFBVTtJQUNWLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsWUFBWTtDQUNmLENBQUM7QUFNRixNQUFNLE9BQU8sa0JBQWtCO2lJQUFsQixrQkFBa0I7a0lBQWxCLGtCQUFrQixZQWpCM0IsWUFBWTtZQUNaLFVBQVU7WUFDVixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLFlBQVksYUFWWixZQUFZO1lBQ1osVUFBVTtZQUNWLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsWUFBWTtrSUFPSCxrQkFBa0IsWUFqQjNCLFlBQVk7WUFDWixVQUFVO1lBQ1YscUJBQXFCO1lBRXJCLGNBQWM7WUFDZCxVQUFVO1lBRVYsYUFBYTtZQUNiLGtCQUFrQjs7MkZBU1Qsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxVQUFVO29CQUNuQixPQUFPLEVBQUUsVUFBVTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2JxRmlsdGVyQmFyIH0gZnJvbSAnLi9maWx0ZXItYmFyJztcbmltcG9ydCB7IEticUZpbHRlckJhckJ1dHRvbiB9IGZyb20gJy4vZmlsdGVyLWJhci1idXR0b24nO1xuaW1wb3J0IHsgS2JxRmlsdGVyQmFyUmVmcmVzaGVyIH0gZnJvbSAnLi9maWx0ZXItcmVmcmVzaGVyJztcbmltcG9ydCB7IEticUZpbHRlclJlc2V0IH0gZnJvbSAnLi9maWx0ZXItcmVzZXQnO1xuaW1wb3J0IHsgS2JxRmlsdGVyQmFyU2VhcmNoIH0gZnJvbSAnLi9maWx0ZXItc2VhcmNoJztcbmltcG9ydCB7IEticUZpbHRlcnMgfSBmcm9tICcuL2ZpbHRlcnMnO1xuaW1wb3J0IHsgS2JxUGlwZUFkZCB9IGZyb20gJy4vcGlwZS1hZGQnO1xuaW1wb3J0IHsgS2JxUGlwZURpcmVjdGl2ZSB9IGZyb20gJy4vcGlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2JxUGlwZUJ1dHRvbiB9IGZyb20gJy4vcGlwZXMvcGlwZS1idXR0b24nO1xuaW1wb3J0IHsgS2JxUGlwZVN0YXRlIH0gZnJvbSAnLi9waXBlcy9waXBlLXN0YXRlJztcbmltcG9ydCB7IEticVBpcGVUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4vcGlwZXMvcGlwZS10aXRsZSc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgS2JxRmlsdGVyQmFyLFxuICAgIEticUZpbHRlcnMsXG4gICAgS2JxRmlsdGVyQmFyUmVmcmVzaGVyLFxuICAgIEticUZpbHRlckJhckJ1dHRvbixcbiAgICBLYnFGaWx0ZXJSZXNldCxcbiAgICBLYnFQaXBlQWRkLFxuICAgIEticVBpcGVEaXJlY3RpdmUsXG4gICAgS2JxUGlwZUJ1dHRvbixcbiAgICBLYnFGaWx0ZXJCYXJTZWFyY2gsXG4gICAgS2JxUGlwZVRpdGxlRGlyZWN0aXZlLFxuICAgIEticVBpcGVTdGF0ZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBleHBvcnRzOiBDT01QT05FTlRTLFxuICAgIGltcG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgS2JxRmlsdGVyQmFyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,13 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ruRULocaleData } from '@koobiq/components/core';
3
+ export const KBQ_FILTER_BAR_CONFIGURATION = new InjectionToken('KbqFilterBarConfiguration');
4
+ export const KBQ_FILTER_BAR_DEFAULT_CONFIGURATION = ruRULocaleData.filterBar;
5
+ export var KbqPipeTypes;
6
+ (function (KbqPipeTypes) {
7
+ KbqPipeTypes["Text"] = "text";
8
+ KbqPipeTypes["Select"] = "select";
9
+ KbqPipeTypes["MultiSelect"] = "multiselect";
10
+ KbqPipeTypes["Date"] = "date";
11
+ KbqPipeTypes["Datetime"] = "datetime";
12
+ })(KbqPipeTypes || (KbqPipeTypes = {}));
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJhci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItYmFyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFNUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQztBQUU3RSxNQUFNLENBQU4sSUFBWSxZQU1YO0FBTkQsV0FBWSxZQUFZO0lBQ3BCLDZCQUFhLENBQUE7SUFDYixpQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBMkIsQ0FBQTtJQUMzQiw2QkFBYSxDQUFBO0lBQ2IscUNBQXFCLENBQUE7QUFDekIsQ0FBQyxFQU5XLFlBQVksS0FBWixZQUFZLFFBTXZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBydVJVTG9jYWxlRGF0YSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticUZpbHRlckJhciB9IGZyb20gJy4vZmlsdGVyLWJhcic7XG5cbmV4cG9ydCBjb25zdCBLQlFfRklMVEVSX0JBUl9DT05GSUdVUkFUSU9OID0gbmV3IEluamVjdGlvblRva2VuKCdLYnFGaWx0ZXJCYXJDb25maWd1cmF0aW9uJyk7XG5cbmV4cG9ydCBjb25zdCBLQlFfRklMVEVSX0JBUl9ERUZBVUxUX0NPTkZJR1VSQVRJT04gPSBydVJVTG9jYWxlRGF0YS5maWx0ZXJCYXI7XG5cbmV4cG9ydCBlbnVtIEticVBpcGVUeXBlcyB7XG4gICAgVGV4dCA9ICd0ZXh0JyxcbiAgICBTZWxlY3QgPSAnc2VsZWN0JyxcbiAgICBNdWx0aVNlbGVjdCA9ICdtdWx0aXNlbGVjdCcsXG4gICAgRGF0ZSA9ICdkYXRlJyxcbiAgICBEYXRldGltZSA9ICdkYXRldGltZSdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYnFEYXRlVGltZVZhbHVlIHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHN0YXJ0Pzogc3RyaW5nO1xuICAgIGVuZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYnFTZWxlY3RWYWx1ZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEticUZpbHRlciB7XG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgcGlwZXM6IEticVBpcGVbXTtcblxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xuICAgIGNoYW5nZWQ6IGJvb2xlYW47XG4gICAgLy8gdGhpcyBpcyBidXNpbmVzcyBsb2dpYyBzdGF0ZSAobGlrZSBhIGZsYWcpXG4gICAgc2F2ZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2JxUGlwZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlkPzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIHR5cGU6IEticVBpcGVUeXBlcztcbiAgICB2YWx1ZTogdW5rbm93biB8IG51bGw7XG5cbiAgICBzZWFyY2g/OiBib29sZWFuO1xuXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgY2xlYW5hYmxlOiBib29sZWFuO1xuICAgIHJlbW92YWJsZTogYm9vbGVhbjtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYnFQaXBlRGF0YTxWPiBleHRlbmRzIEticVBpcGUge1xuICAgIHZhbHVlOiBWIHwgbnVsbDtcblxuICAgIHNlYXJjaD86IGJvb2xlYW47XG4gICAgb3Blbk9uQWRkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYnFQaXBlVGVtcGxhdGUgZXh0ZW5kcyBPbWl0PEticVBpcGUsICd2YWx1ZSc+IHtcbiAgICB2YWx1ZXM/OiB1bmtub3duW107XG4gICAgdmFsdWVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4gfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2JxU2F2ZUZpbHRlckVycm9yIHtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIG5hbWVBbHJlYWR5RXhpc3RzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYnFTYXZlRmlsdGVyRXZlbnQge1xuICAgIGZpbHRlcjogS2JxRmlsdGVyIHwgbnVsbDtcbiAgICBmaWx0ZXJCYXI6IEticUZpbHRlckJhcjtcbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
+ import { KbqButtonModule } from '@koobiq/components/button';
3
+ import { KbqIconModule } from '@koobiq/components/icon';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@koobiq/components/button";
6
+ import * as i2 from "@koobiq/components/icon";
7
+ export class KbqFilterBarRefresher {
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBarRefresher, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqFilterBarRefresher, isStandalone: true, selector: "kbq-filter-refresher, [kbq-filter-refresher]", host: { classAttribute: "kbq-filter-refresher" }, ngImport: i0, template: `
10
+ <button [color]="'contrast'" [kbqStyle]="'transparent'" kbq-button>
11
+ <i kbq-icon="kbq-arrow-rotate-right_16"></i>
12
+ </button>
13
+ <button [color]="'contrast'" [kbqStyle]="'transparent'" kbq-button>
14
+ <i kbq-icon="kbq-chevron-down_16"></i>
15
+ </button>
16
+ `, isInline: true, styles: [".kbq-filter-refresher{display:flex;align-items:center;min-width:64px}\n"], dependencies: [{ kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i2.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor", "kbq-icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBarRefresher, decorators: [{
19
+ type: Component,
20
+ args: [{ standalone: true, selector: 'kbq-filter-refresher, [kbq-filter-refresher]', template: `
21
+ <button [color]="'contrast'" [kbqStyle]="'transparent'" kbq-button>
22
+ <i kbq-icon="kbq-arrow-rotate-right_16"></i>
23
+ </button>
24
+ <button [color]="'contrast'" [kbqStyle]="'transparent'" kbq-button>
25
+ <i kbq-icon="kbq-chevron-down_16"></i>
26
+ </button>
27
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
28
+ KbqButtonModule,
29
+ KbqIconModule
30
+ ], host: {
31
+ class: 'kbq-filter-refresher'
32
+ }, styles: [".kbq-filter-refresher{display:flex;align-items:center;min-width:64px}\n"] }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJlZnJlc2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItcmVmcmVzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQXdCeEQsTUFBTSxPQUFPLHFCQUFxQjtpSUFBckIscUJBQXFCO3FIQUFyQixxQkFBcUIsMEpBbkJwQjs7Ozs7OztLQU9ULGdKQUtHLGVBQWUsd09BQ2YsYUFBYTs7MkZBTVIscUJBQXFCO2tCQXRCakMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sOENBQThDLFlBQzlDOzs7Ozs7O0tBT1QsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUI7d0JBQ0wsZUFBZTt3QkFDZixhQUFhO3FCQUNoQixRQUNLO3dCQUNGLEtBQUssRUFBRSxzQkFBc0I7cUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgS2JxSWNvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pY29uJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2ticS1maWx0ZXItcmVmcmVzaGVyLCBba2JxLWZpbHRlci1yZWZyZXNoZXJdJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YnV0dG9uIFtjb2xvcl09XCInY29udHJhc3QnXCIgW2ticVN0eWxlXT1cIid0cmFuc3BhcmVudCdcIiBrYnEtYnV0dG9uPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtYXJyb3ctcm90YXRlLXJpZ2h0XzE2XCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBbY29sb3JdPVwiJ2NvbnRyYXN0J1wiIFtrYnFTdHlsZV09XCIndHJhbnNwYXJlbnQnXCIga2JxLWJ1dHRvbj5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tZG93bl8xNlwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnZmlsdGVyLXJlZnJlc2hlci5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEticUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgS2JxSWNvbk1vZHVsZVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1maWx0ZXItcmVmcmVzaGVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRmlsdGVyQmFyUmVmcmVzaGVyIHt9XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output } from '@angular/core';
2
+ import { KbqButtonModule } from '@koobiq/components/button';
3
+ import { KbqFilterBar } from './filter-bar';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@koobiq/components/button";
6
+ export class KbqFilterReset {
7
+ constructor() {
8
+ this.filterBar = inject(KbqFilterBar);
9
+ /** Event that is generated whenever the user reset a filter. */
10
+ this.onResetFilter = new EventEmitter();
11
+ }
12
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterReset, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqFilterReset, isStandalone: true, selector: "kbq-filter-reset", outputs: { onResetFilter: "onResetFilter" }, host: { classAttribute: "kbq-filter-reset" }, ngImport: i0, template: `
14
+ <button [color]="'theme'" [kbqStyle]="'transparent'" (click)="onResetFilter.emit(filterBar.filter!)" kbq-button>
15
+ <ng-content>{{ filterBar.configuration.reset.buttonName }}</ng-content>
16
+ </button>
17
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterReset, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ standalone: true,
23
+ selector: 'kbq-filter-reset',
24
+ template: `
25
+ <button [color]="'theme'" [kbqStyle]="'transparent'" (click)="onResetFilter.emit(filterBar.filter!)" kbq-button>
26
+ <ng-content>{{ filterBar.configuration.reset.buttonName }}</ng-content>
27
+ </button>
28
+ `,
29
+ host: {
30
+ class: 'kbq-filter-reset'
31
+ },
32
+ changeDetection: ChangeDetectionStrategy.OnPush,
33
+ imports: [KbqButtonModule]
34
+ }]
35
+ }], propDecorators: { onResetFilter: [{
36
+ type: Output
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJlc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9maWx0ZXItYmFyL2ZpbHRlci1yZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFpQjVDLE1BQU0sT0FBTyxjQUFjO0lBZDNCO1FBZXVCLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFcEQsZ0VBQWdFO1FBQzdDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7S0FDM0U7aUlBTFksY0FBYztxSEFBZCxjQUFjLHVLQVhiOzs7O0tBSVQsMkRBS1MsZUFBZTs7MkZBRWhCLGNBQWM7a0JBZDFCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsa0JBQWtCO3FCQUM1QjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM3Qjs4QkFLc0IsYUFBYTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgS2JxRmlsdGVyQmFyIH0gZnJvbSAnLi9maWx0ZXItYmFyJztcbmltcG9ydCB7IEticUZpbHRlciB9IGZyb20gJy4vZmlsdGVyLWJhci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdrYnEtZmlsdGVyLXJlc2V0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YnV0dG9uIFtjb2xvcl09XCIndGhlbWUnXCIgW2ticVN0eWxlXT1cIid0cmFuc3BhcmVudCdcIiAoY2xpY2spPVwib25SZXNldEZpbHRlci5lbWl0KGZpbHRlckJhci5maWx0ZXIhKVwiIGticS1idXR0b24+XG4gICAgICAgICAgICA8bmctY29udGVudD57eyBmaWx0ZXJCYXIuY29uZmlndXJhdGlvbi5yZXNldC5idXR0b25OYW1lIH19PC9uZy1jb250ZW50PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtZmlsdGVyLXJlc2V0J1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0ticUJ1dHRvbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRmlsdGVyUmVzZXQge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJCYXIgPSBpbmplY3QoS2JxRmlsdGVyQmFyKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciB0aGUgdXNlciByZXNldCBhIGZpbHRlci4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25SZXNldEZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxRmlsdGVyIHwgbnVsbD4oKTtcbn1cbiJdfQ==
@@ -0,0 +1,132 @@
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
+ constructor() {
20
+ this.filterBar = inject(KbqFilterBar);
21
+ this.changeDetectorRef = inject(ChangeDetectorRef);
22
+ this.searchControl = new UntypedFormControl();
23
+ this.isSearchActive = false;
24
+ this.onSearch = new EventEmitter();
25
+ this.onReset = () => {
26
+ this.changeDetectorRef.markForCheck();
27
+ };
28
+ this.searchControl.valueChanges.subscribe(this.onSearch);
29
+ this.filterBar.filterReset?.onResetFilter.pipe(takeUntilDestroyed()).subscribe(this.onReset);
30
+ }
31
+ openSearch() {
32
+ this.isSearchActive = true;
33
+ setTimeout(() => this.input.focus());
34
+ }
35
+ onBlur() {
36
+ if (this.searchControl.value)
37
+ return;
38
+ this.onEscape();
39
+ }
40
+ onEscape() {
41
+ this.isSearchActive = false;
42
+ this.button.focusViaKeyboard();
43
+ this.tooltip.hide();
44
+ }
45
+ onClear() {
46
+ this.isSearchActive = false;
47
+ setTimeout(() => {
48
+ this.button.focus();
49
+ this.tooltip.hide();
50
+ });
51
+ }
52
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBarSearch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", 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: `
54
+ <button
55
+ [class.kbq-filter_hidden]="isSearchActive"
56
+ [color]="'contrast'"
57
+ [kbqStyle]="'transparent'"
58
+ (click)="openSearch()"
59
+ kbq-button
60
+ kbqTooltip="{{ filterBar.configuration.search.tooltip }}"
61
+ >
62
+ <i kbq-icon="kbq-magnifying-glass_16"></i>
63
+ </button>
64
+
65
+ <kbq-form-field [class.kbq-filter_hidden]="!isSearchActive">
66
+ <i kbq-icon="kbq-magnifying-glass_16" kbqPrefix></i>
67
+
68
+ <input
69
+ [formControl]="searchControl"
70
+ (blur)="onBlur()"
71
+ (keydown.escape)="onEscape()"
72
+ autocomplete="off"
73
+ kbqInput
74
+ placeholder="{{ filterBar.configuration.search.placeholder }}"
75
+ />
76
+
77
+ <kbq-cleaner (click)="onClear()" />
78
+ </kbq-form-field>
79
+ `, isInline: true, styles: [".kbq-filter-search{display:flex;align-items:start;max-width:260px}.kbq-filter-search .kbq-input{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: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i2.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["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: ["color", "small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqFormFieldModule }, { kind: "component", type: i4.KbqFormField, selector: "kbq-form-field", inputs: ["color"], exportAs: ["kbqFormField"] }, { kind: "directive", type: i4.KbqPrefix, selector: "[kbqPrefix]" }, { kind: "component", type: i4.KbqCleaner, selector: "kbq-cleaner", exportAs: ["kbqCleaner"] }, { 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 }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqFilterBarSearch, decorators: [{
82
+ type: Component,
83
+ args: [{ standalone: true, selector: 'kbq-filter-search, [kbq-filter-search]', template: `
84
+ <button
85
+ [class.kbq-filter_hidden]="isSearchActive"
86
+ [color]="'contrast'"
87
+ [kbqStyle]="'transparent'"
88
+ (click)="openSearch()"
89
+ kbq-button
90
+ kbqTooltip="{{ filterBar.configuration.search.tooltip }}"
91
+ >
92
+ <i kbq-icon="kbq-magnifying-glass_16"></i>
93
+ </button>
94
+
95
+ <kbq-form-field [class.kbq-filter_hidden]="!isSearchActive">
96
+ <i kbq-icon="kbq-magnifying-glass_16" kbqPrefix></i>
97
+
98
+ <input
99
+ [formControl]="searchControl"
100
+ (blur)="onBlur()"
101
+ (keydown.escape)="onEscape()"
102
+ autocomplete="off"
103
+ kbqInput
104
+ placeholder="{{ filterBar.configuration.search.placeholder }}"
105
+ />
106
+
107
+ <kbq-cleaner (click)="onClear()" />
108
+ </kbq-form-field>
109
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
110
+ KbqDividerModule,
111
+ KbqButtonModule,
112
+ KbqToolTipModule,
113
+ KbqIconModule,
114
+ KbqFormFieldModule,
115
+ KbqInputModule,
116
+ ReactiveFormsModule
117
+ ], host: {
118
+ class: 'kbq-filter-search'
119
+ }, styles: [".kbq-filter-search{display:flex;align-items:start;max-width:260px}.kbq-filter-search .kbq-input{width:260px}.kbq-filter-search .kbq-filter_hidden{display:none}\n"] }]
120
+ }], ctorParameters: () => [], propDecorators: { input: [{
121
+ type: ViewChild,
122
+ args: [KbqInput]
123
+ }], button: [{
124
+ type: ViewChild,
125
+ args: [KbqButton]
126
+ }], tooltip: [{
127
+ type: ViewChild,
128
+ args: [KbqTooltipTrigger]
129
+ }], onSearch: [{
130
+ type: Output
131
+ }] } });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXItc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFnRDVDLE1BQU0sT0FBTyxrQkFBa0I7SUFjM0I7UUFibUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQU1qRSxrQkFBYSxHQUF1QixJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFN0QsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFYixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQXNDekQsWUFBTyxHQUFHLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUM7UUFyQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVyQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUU1QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXBCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO2lJQWhEUSxrQkFBa0I7cUhBQWxCLGtCQUFrQiwyTkFJaEIsUUFBUSx5RUFDUixTQUFTLDBFQUNULGlCQUFpQixnREFqRGxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBCVCwwT0FLRyxnQkFBZ0IsOEJBQ2hCLGVBQWUsd09BQ2YsZ0JBQWdCLHdjQUNoQixhQUFhLG9KQUNiLGtCQUFrQixpdkJBQ2xCLGNBQWMsZ1BBQ2QsbUJBQW1COzsyRkFNZCxrQkFBa0I7a0JBOUM5QixTQUFTO2lDQUNNLElBQUksWUFDTix3Q0FBd0MsWUFDeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBMEJULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNMLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG1CQUFtQjtxQkFDdEIsUUFDSzt3QkFDRixLQUFLLEVBQUUsbUJBQW1CO3FCQUM3Qjt3REFNb0IsS0FBSztzQkFBekIsU0FBUzt1QkFBQyxRQUFRO2dCQUNHLE1BQU07c0JBQTNCLFNBQVM7dUJBQUMsU0FBUztnQkFDVSxPQUFPO3NCQUFwQyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFNVCxRQUFRO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgS2JxQnV0dG9uLCBLYnFCdXR0b25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEticURpdmlkZXJNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZGl2aWRlcic7XG5pbXBvcnQgeyBLYnFGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBLYnFJY29uTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgS2JxSW5wdXQsIEticUlucHV0TW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2lucHV0JztcbmltcG9ydCB7IEticVRvb2xUaXBNb2R1bGUsIEticVRvb2x0aXBUcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgS2JxRmlsdGVyQmFyIH0gZnJvbSAnLi9maWx0ZXItYmFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2ticS1maWx0ZXItc2VhcmNoLCBba2JxLWZpbHRlci1zZWFyY2hdJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBbY2xhc3Mua2JxLWZpbHRlcl9oaWRkZW5dPVwiaXNTZWFyY2hBY3RpdmVcIlxuICAgICAgICAgICAgW2NvbG9yXT1cIidjb250cmFzdCdcIlxuICAgICAgICAgICAgW2ticVN0eWxlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWFyY2goKVwiXG4gICAgICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgICAgICBrYnFUb29sdGlwPVwie3sgZmlsdGVyQmFyLmNvbmZpZ3VyYXRpb24uc2VhcmNoLnRvb2x0aXAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1tYWduaWZ5aW5nLWdsYXNzXzE2XCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8a2JxLWZvcm0tZmllbGQgW2NsYXNzLmticS1maWx0ZXJfaGlkZGVuXT1cIiFpc1NlYXJjaEFjdGl2ZVwiPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtbWFnbmlmeWluZy1nbGFzc18xNlwiIGticVByZWZpeD48L2k+XG5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm9uRXNjYXBlKClcIlxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAga2JxSW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGZpbHRlckJhci5jb25maWd1cmF0aW9uLnNlYXJjaC5wbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8a2JxLWNsZWFuZXIgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiIC8+XG4gICAgICAgIDwva2JxLWZvcm0tZmllbGQ+XG4gICAgYCxcbiAgICBzdHlsZVVybDogJ2ZpbHRlci1zZWFyY2guc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEticURpdmlkZXJNb2R1bGUsXG4gICAgICAgIEticUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgS2JxVG9vbFRpcE1vZHVsZSxcbiAgICAgICAgS2JxSWNvbk1vZHVsZSxcbiAgICAgICAgS2JxRm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBLYnFJbnB1dE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1maWx0ZXItc2VhcmNoJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRmlsdGVyQmFyU2VhcmNoIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyQmFyID0gaW5qZWN0KEticUZpbHRlckJhcik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIEBWaWV3Q2hpbGQoS2JxSW5wdXQpIGlucHV0OiBLYnFJbnB1dDtcbiAgICBAVmlld0NoaWxkKEticUJ1dHRvbikgYnV0dG9uOiBLYnFCdXR0b247XG4gICAgQFZpZXdDaGlsZChLYnFUb29sdGlwVHJpZ2dlcikgdG9vbHRpcDogS2JxVG9vbHRpcFRyaWdnZXI7XG5cbiAgICBzZWFyY2hDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG5cbiAgICBpc1NlYXJjaEFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodGhpcy5vblNlYXJjaCk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyUmVzZXQ/Lm9uUmVzZXRGaWx0ZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMub25SZXNldCk7XG4gICAgfVxuXG4gICAgb3BlblNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1NlYXJjaEFjdGl2ZSA9IHRydWU7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlucHV0LmZvY3VzKCkpO1xuICAgIH1cblxuICAgIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMub25Fc2NhcGUoKTtcbiAgICB9XG5cbiAgICBvbkVzY2FwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1NlYXJjaEFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuYnV0dG9uLmZvY3VzVmlhS2V5Ym9hcmQoKTtcblxuICAgICAgICB0aGlzLnRvb2x0aXAuaGlkZSgpO1xuICAgIH1cblxuICAgIG9uQ2xlYXIoKSB7XG4gICAgICAgIHRoaXMuaXNTZWFyY2hBY3RpdmUgPSBmYWxzZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uLmZvY3VzKCk7XG5cbiAgICAgICAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uUmVzZXQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbn1cbiJdfQ==