@koobiq/components 19.2.0 → 19.4.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 (128) hide show
  1. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -0
  2. package/core/animation/animation.d.ts +3 -1
  3. package/core/highlight/highlight.pipe.d.ts +2 -0
  4. package/core/option/action.d.ts +5 -6
  5. package/core/utils/utils.d.ts +4 -0
  6. package/datepicker/datepicker-input.directive.d.ts +6 -1
  7. package/fesm2022/koobiq-components-accordion.mjs +34 -34
  8. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  9. package/fesm2022/koobiq-components-alert.mjs +16 -16
  10. package/fesm2022/koobiq-components-app-switcher.mjs +19 -19
  11. package/fesm2022/koobiq-components-autocomplete.mjs +21 -14
  12. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  13. package/fesm2022/koobiq-components-badge.mjs +13 -13
  14. package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
  15. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  16. package/fesm2022/koobiq-components-button.mjs +13 -13
  17. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  18. package/fesm2022/koobiq-components-clamped-text.mjs +7 -7
  19. package/fesm2022/koobiq-components-code-block.mjs +10 -10
  20. package/fesm2022/koobiq-components-content-panel.mjs +28 -28
  21. package/fesm2022/koobiq-components-core.mjs +268 -243
  22. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  23. package/fesm2022/koobiq-components-datepicker.mjs +49 -42
  24. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  25. package/fesm2022/koobiq-components-divider.mjs +7 -7
  26. package/fesm2022/koobiq-components-dl.mjs +13 -13
  27. package/fesm2022/koobiq-components-dropdown.mjs +21 -20
  28. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  29. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  30. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  31. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  32. package/fesm2022/koobiq-components-file-upload.mjs +495 -60
  33. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  34. package/fesm2022/koobiq-components-filter-bar.mjs +69 -69
  35. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  36. package/fesm2022/koobiq-components-form-field.mjs +62 -62
  37. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  38. package/fesm2022/koobiq-components-icon.mjs +14 -14
  39. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  40. package/fesm2022/koobiq-components-inline-edit.mjs +19 -28
  41. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  42. package/fesm2022/koobiq-components-input.mjs +22 -22
  43. package/fesm2022/koobiq-components-link.mjs +7 -7
  44. package/fesm2022/koobiq-components-list.mjs +30 -20
  45. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  46. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  47. package/fesm2022/koobiq-components-markdown.mjs +10 -10
  48. package/fesm2022/koobiq-components-modal.mjs +28 -28
  49. package/fesm2022/koobiq-components-navbar-ic.mjs +34 -34
  50. package/fesm2022/koobiq-components-navbar.mjs +43 -43
  51. package/fesm2022/koobiq-components-notification-center.mjs +16 -16
  52. package/fesm2022/koobiq-components-overflow-items.mjs +16 -16
  53. package/fesm2022/koobiq-components-popover.mjs +18 -18
  54. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  56. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  57. package/fesm2022/koobiq-components-radio.mjs +10 -10
  58. package/fesm2022/koobiq-components-resizer.mjs +10 -10
  59. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  60. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  61. package/fesm2022/koobiq-components-search-expandable.mjs +55 -28
  62. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-select.mjs +16 -14
  64. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  66. package/fesm2022/koobiq-components-sidepanel.mjs +166 -61
  67. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-skeleton.mjs +37 -0
  69. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -0
  70. package/fesm2022/koobiq-components-split-button.mjs +7 -7
  71. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  72. package/fesm2022/koobiq-components-table.mjs +10 -10
  73. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  74. package/fesm2022/koobiq-components-tags.mjs +50 -35
  75. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-textarea.mjs +7 -7
  77. package/fesm2022/koobiq-components-time-range.mjs +22 -22
  78. package/fesm2022/koobiq-components-timepicker.mjs +10 -10
  79. package/fesm2022/koobiq-components-timezone.mjs +22 -22
  80. package/fesm2022/koobiq-components-title.mjs +7 -7
  81. package/fesm2022/koobiq-components-toast.mjs +16 -16
  82. package/fesm2022/koobiq-components-toggle.mjs +7 -7
  83. package/fesm2022/koobiq-components-tooltip.mjs +24 -16
  84. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-top-bar.mjs +13 -13
  86. package/fesm2022/koobiq-components-tree-select.mjs +11 -26
  87. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-tree.mjs +53 -43
  89. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-username.mjs +27 -27
  91. package/file-upload/dropzone.d.ts +147 -0
  92. package/file-upload/dropzone.scss +57 -0
  93. package/file-upload/file-upload.d.ts +3 -0
  94. package/file-upload/multiple-file-upload.component.d.ts +11 -1
  95. package/file-upload/multiple-file-upload.component.scss +1 -1
  96. package/file-upload/primitives/file-drop.d.ts +23 -4
  97. package/file-upload/public-api.d.ts +1 -0
  98. package/file-upload/single-file-upload.component.d.ts +11 -1
  99. package/form-field/_form-field-theme.scss +2 -2
  100. package/form-field/form-field-control.d.ts +2 -0
  101. package/form-field/form-field.scss +0 -1
  102. package/icon/icon-button.scss +5 -4
  103. package/inline-edit/inline-edit-tokens.scss +1 -1
  104. package/inline-edit/inline-edit.d.ts +2 -2
  105. package/inline-edit/inline-edit.scss +1 -1
  106. package/list/list-selection.component.d.ts +1 -0
  107. package/package.json +9 -4
  108. package/popover/_popover-theme.scss +1 -1
  109. package/schematics/ng-add/index.js +2 -2
  110. package/search-expandable/search-expandable.d.ts +19 -4
  111. package/select/select.component.d.ts +2 -1
  112. package/sidepanel/_sidepanel-theme.scss +10 -0
  113. package/sidepanel/sidepanel-animations.d.ts +7 -1
  114. package/sidepanel/sidepanel-container.component.d.ts +12 -2
  115. package/sidepanel/sidepanel-directives.d.ts +8 -0
  116. package/sidepanel/sidepanel-ref.d.ts +12 -0
  117. package/sidepanel/sidepanel-tokens.scss +5 -3
  118. package/sidepanel/sidepanel.scss +78 -18
  119. package/sidepanel/sidepanel.service.d.ts +2 -0
  120. package/skeleton/index.d.ts +2 -0
  121. package/skeleton/module.d.ts +7 -0
  122. package/skeleton/skeleton.d.ts +8 -0
  123. package/skeleton/skeleton.scss +41 -0
  124. package/tags/tag-list.component.d.ts +7 -1
  125. package/tags/tag.component.d.ts +2 -0
  126. package/tooltip/tooltip.component.d.ts +8 -0
  127. package/tree/tree-selection.component.d.ts +2 -1
  128. package/tree-select/tree-select.component.d.ts +2 -1
@@ -27,10 +27,10 @@ class KbqRiskLevel {
27
27
  set riskLevelColor(value) {
28
28
  this._riskLevelColor = value || KbqRiskLevelColors.FadeContrast;
29
29
  }
30
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqRiskLevel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: KbqRiskLevel, isStandalone: true, selector: "kbq-risk-level", inputs: { outline: "outline", riskLevelColor: "riskLevelColor" }, host: { properties: { "class.kbq-risk-level_filled": "!outline", "class.kbq-risk-level_outline": "outline", "class": "riskLevelColor" }, classAttribute: "kbq-risk-level" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-risk-level{box-sizing:border-box;display:inline-flex;text-align:center;border-style:solid;padding:var(--kbq-risk-level-size-padding-vertical) var(--kbq-risk-level-size-padding-horizontal);border-width:var(--kbq-risk-level-size-border-width);border-radius:var(--kbq-risk-level-size-border-radius)}.kbq-risk-level_filled.kbq-risk-level_fade-contrast{border:transparent;color:var(--kbq-risk-level-filled-fade-on-contrast-color);background:var(--kbq-risk-level-filled-fade-on-contrast-background)}.kbq-risk-level_filled.kbq-risk-level_fade-success{border:transparent;color:var(--kbq-risk-level-filled-fade-on-success-color);background:var(--kbq-risk-level-filled-fade-on-success-background)}.kbq-risk-level_filled.kbq-risk-level_fade-warning{border:transparent;color:var(--kbq-risk-level-filled-fade-on-warning-color);background:var(--kbq-risk-level-filled-fade-on-warning-background)}.kbq-risk-level_filled.kbq-risk-level_fade-error{border:transparent;color:var(--kbq-risk-level-filled-fade-on-error-color);background:var(--kbq-risk-level-filled-fade-on-error-background)}.kbq-risk-level_filled.kbq-risk-level_success{border:transparent;color:var(--kbq-risk-level-filled-fade-off-success-color);background:var(--kbq-risk-level-filled-fade-off-success-background)}.kbq-risk-level_filled.kbq-risk-level_warning{border:transparent;color:var(--kbq-risk-level-filled-fade-off-warning-color);background:var(--kbq-risk-level-filled-fade-off-warning-background)}.kbq-risk-level_filled.kbq-risk-level_error{border:transparent;color:var(--kbq-risk-level-filled-fade-off-error-color);background:var(--kbq-risk-level-filled-fade-off-error-background)}.kbq-risk-level_outline.kbq-risk-level_fade-contrast{border-color:var(--kbq-risk-level-outline-fade-on-contrast-border);color:var(--kbq-risk-level-outline-fade-on-contrast-color);background:var(--kbq-risk-level-outline-fade-on-contrast-background)}.kbq-risk-level_outline.kbq-risk-level_fade-success{border-color:var(--kbq-risk-level-outline-fade-on-success-border);color:var(--kbq-risk-level-outline-fade-on-success-color);background:var(--kbq-risk-level-outline-fade-on-success-background)}.kbq-risk-level_outline.kbq-risk-level_fade-warning{border-color:var(--kbq-risk-level-outline-fade-on-warning-border);color:var(--kbq-risk-level-outline-fade-on-warning-color);background:var(--kbq-risk-level-outline-fade-on-warning-background)}.kbq-risk-level_outline.kbq-risk-level_fade-error{border-color:var(--kbq-risk-level-outline-fade-on-error-border);color:var(--kbq-risk-level-outline-fade-on-error-color);background:var(--kbq-risk-level-outline-fade-on-error-background)}.kbq-risk-level{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}\n", ".kbq-risk-level{--kbq-risk-level-size-padding-vertical: var(--kbq-size-3xs);--kbq-risk-level-size-padding-horizontal: var(--kbq-size-s);--kbq-risk-level-size-border-width: var(--kbq-size-border-width);--kbq-risk-level-size-border-radius: var(--kbq-size-xxs);--kbq-risk-level-filled-fade-off-success-background: var(--kbq-background-success);--kbq-risk-level-filled-fade-off-success-text: var(--kbq-foreground-white);--kbq-risk-level-filled-fade-off-warning-background: var(--kbq-background-warning);--kbq-risk-level-filled-fade-off-warning-text: var(--kbq-foreground-white);--kbq-risk-level-filled-fade-off-error-background: var(--kbq-background-error);--kbq-risk-level-filled-fade-off-error-text: var(--kbq-foreground-white);--kbq-risk-level-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);--kbq-risk-level-filled-fade-on-contrast-text: var(--kbq-foreground-contrast);--kbq-risk-level-filled-fade-on-success-background: var(--kbq-background-success-fade);--kbq-risk-level-filled-fade-on-success-text: var(--kbq-foreground-success);--kbq-risk-level-filled-fade-on-warning-background: var(--kbq-background-warning-fade);--kbq-risk-level-filled-fade-on-warning-text: var(--kbq-foreground-warning);--kbq-risk-level-filled-fade-on-error-background: var(--kbq-background-error-fade);--kbq-risk-level-filled-fade-on-error-text: var(--kbq-foreground-error);--kbq-risk-level-outline-fade-on-contrast-background: transparent;--kbq-risk-level-outline-fade-on-contrast-text: var(--kbq-foreground-contrast);--kbq-risk-level-outline-fade-on-contrast-border: var(--kbq-line-contrast-fade);--kbq-risk-level-outline-fade-on-success-background: transparent;--kbq-risk-level-outline-fade-on-success-text: var(--kbq-foreground-success);--kbq-risk-level-outline-fade-on-success-border: var(--kbq-line-success-fade);--kbq-risk-level-outline-fade-on-warning-background: transparent;--kbq-risk-level-outline-fade-on-warning-text: var(--kbq-foreground-warning);--kbq-risk-level-outline-fade-on-warning-border: var(--kbq-line-warning-fade);--kbq-risk-level-outline-fade-on-error-background: transparent;--kbq-risk-level-outline-fade-on-error-text: var(--kbq-foreground-error);--kbq-risk-level-outline-fade-on-error-border: var(--kbq-line-error-fade)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqRiskLevel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: KbqRiskLevel, isStandalone: true, selector: "kbq-risk-level", inputs: { outline: "outline", riskLevelColor: "riskLevelColor" }, host: { properties: { "class.kbq-risk-level_filled": "!outline", "class.kbq-risk-level_outline": "outline", "class": "riskLevelColor" }, classAttribute: "kbq-risk-level" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-risk-level{box-sizing:border-box;display:inline-flex;text-align:center;border-style:solid;padding:var(--kbq-risk-level-size-padding-vertical) var(--kbq-risk-level-size-padding-horizontal);border-width:var(--kbq-risk-level-size-border-width);border-radius:var(--kbq-risk-level-size-border-radius)}.kbq-risk-level_filled.kbq-risk-level_fade-contrast{border:transparent;color:var(--kbq-risk-level-filled-fade-on-contrast-color);background:var(--kbq-risk-level-filled-fade-on-contrast-background)}.kbq-risk-level_filled.kbq-risk-level_fade-success{border:transparent;color:var(--kbq-risk-level-filled-fade-on-success-color);background:var(--kbq-risk-level-filled-fade-on-success-background)}.kbq-risk-level_filled.kbq-risk-level_fade-warning{border:transparent;color:var(--kbq-risk-level-filled-fade-on-warning-color);background:var(--kbq-risk-level-filled-fade-on-warning-background)}.kbq-risk-level_filled.kbq-risk-level_fade-error{border:transparent;color:var(--kbq-risk-level-filled-fade-on-error-color);background:var(--kbq-risk-level-filled-fade-on-error-background)}.kbq-risk-level_filled.kbq-risk-level_success{border:transparent;color:var(--kbq-risk-level-filled-fade-off-success-color);background:var(--kbq-risk-level-filled-fade-off-success-background)}.kbq-risk-level_filled.kbq-risk-level_warning{border:transparent;color:var(--kbq-risk-level-filled-fade-off-warning-color);background:var(--kbq-risk-level-filled-fade-off-warning-background)}.kbq-risk-level_filled.kbq-risk-level_error{border:transparent;color:var(--kbq-risk-level-filled-fade-off-error-color);background:var(--kbq-risk-level-filled-fade-off-error-background)}.kbq-risk-level_outline.kbq-risk-level_fade-contrast{border-color:var(--kbq-risk-level-outline-fade-on-contrast-border);color:var(--kbq-risk-level-outline-fade-on-contrast-color);background:var(--kbq-risk-level-outline-fade-on-contrast-background)}.kbq-risk-level_outline.kbq-risk-level_fade-success{border-color:var(--kbq-risk-level-outline-fade-on-success-border);color:var(--kbq-risk-level-outline-fade-on-success-color);background:var(--kbq-risk-level-outline-fade-on-success-background)}.kbq-risk-level_outline.kbq-risk-level_fade-warning{border-color:var(--kbq-risk-level-outline-fade-on-warning-border);color:var(--kbq-risk-level-outline-fade-on-warning-color);background:var(--kbq-risk-level-outline-fade-on-warning-background)}.kbq-risk-level_outline.kbq-risk-level_fade-error{border-color:var(--kbq-risk-level-outline-fade-on-error-border);color:var(--kbq-risk-level-outline-fade-on-error-color);background:var(--kbq-risk-level-outline-fade-on-error-background)}.kbq-risk-level{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}\n", ".kbq-risk-level{--kbq-risk-level-size-padding-vertical: var(--kbq-size-3xs);--kbq-risk-level-size-padding-horizontal: var(--kbq-size-s);--kbq-risk-level-size-border-width: var(--kbq-size-border-width);--kbq-risk-level-size-border-radius: var(--kbq-size-xxs);--kbq-risk-level-filled-fade-off-success-background: var(--kbq-background-success);--kbq-risk-level-filled-fade-off-success-text: var(--kbq-foreground-white);--kbq-risk-level-filled-fade-off-warning-background: var(--kbq-background-warning);--kbq-risk-level-filled-fade-off-warning-text: var(--kbq-foreground-white);--kbq-risk-level-filled-fade-off-error-background: var(--kbq-background-error);--kbq-risk-level-filled-fade-off-error-text: var(--kbq-foreground-white);--kbq-risk-level-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);--kbq-risk-level-filled-fade-on-contrast-text: var(--kbq-foreground-contrast);--kbq-risk-level-filled-fade-on-success-background: var(--kbq-background-success-fade);--kbq-risk-level-filled-fade-on-success-text: var(--kbq-foreground-success);--kbq-risk-level-filled-fade-on-warning-background: var(--kbq-background-warning-fade);--kbq-risk-level-filled-fade-on-warning-text: var(--kbq-foreground-warning);--kbq-risk-level-filled-fade-on-error-background: var(--kbq-background-error-fade);--kbq-risk-level-filled-fade-on-error-text: var(--kbq-foreground-error);--kbq-risk-level-outline-fade-on-contrast-background: transparent;--kbq-risk-level-outline-fade-on-contrast-text: var(--kbq-foreground-contrast);--kbq-risk-level-outline-fade-on-contrast-border: var(--kbq-line-contrast-fade);--kbq-risk-level-outline-fade-on-success-background: transparent;--kbq-risk-level-outline-fade-on-success-text: var(--kbq-foreground-success);--kbq-risk-level-outline-fade-on-success-border: var(--kbq-line-success-fade);--kbq-risk-level-outline-fade-on-warning-background: transparent;--kbq-risk-level-outline-fade-on-warning-text: var(--kbq-foreground-warning);--kbq-risk-level-outline-fade-on-warning-border: var(--kbq-line-warning-fade);--kbq-risk-level-outline-fade-on-error-background: transparent;--kbq-risk-level-outline-fade-on-error-text: var(--kbq-foreground-error);--kbq-risk-level-outline-fade-on-error-border: var(--kbq-line-error-fade)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqRiskLevel, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqRiskLevel, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'kbq-risk-level', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
36
36
  class: 'kbq-risk-level',
@@ -48,14 +48,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
48
48
  * @deprecated Will be removed in next major release, use `KbqBadgeModule` instead.
49
49
  */
50
50
  class KbqRiskLevelModule {
51
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqRiskLevelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
52
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: KbqRiskLevelModule, imports: [A11yModule,
51
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqRiskLevelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
52
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: KbqRiskLevelModule, imports: [A11yModule,
53
53
  PlatformModule,
54
54
  KbqRiskLevel], exports: [KbqRiskLevel] }); }
55
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqRiskLevelModule, imports: [A11yModule,
55
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqRiskLevelModule, imports: [A11yModule,
56
56
  PlatformModule] }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqRiskLevelModule, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqRiskLevelModule, decorators: [{
59
59
  type: NgModule,
60
60
  args: [{
61
61
  imports: [
@@ -95,10 +95,10 @@ class KbqScrollbarDirective {
95
95
  ngOnDestroy() {
96
96
  this.cancelDefer();
97
97
  }
98
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqScrollbarDirective, deps: [{ token: i0.NgZone }, { token: KBQ_SCROLLBAR_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
99
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: KbqScrollbarDirective, isStandalone: true, selector: "[kbqScrollbar]", inputs: { options: "options", events: "events", defer: "defer" }, hostDirectives: [{ directive: i1.CdkScrollable }], ngImport: i0 }); }
98
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqScrollbarDirective, deps: [{ token: i0.NgZone }, { token: KBQ_SCROLLBAR_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
99
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: KbqScrollbarDirective, isStandalone: true, selector: "[kbqScrollbar]", inputs: { options: "options", events: "events", defer: "defer" }, hostDirectives: [{ directive: i1.CdkScrollable }], ngImport: i0 }); }
100
100
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqScrollbarDirective, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqScrollbarDirective, decorators: [{
102
102
  type: Directive,
103
103
  args: [{
104
104
  selector: '[kbqScrollbar]',
@@ -190,8 +190,8 @@ class KbqScrollbar {
190
190
  this.ngZone.run(() => eventEmitter.emit(args));
191
191
  }
192
192
  }
193
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqScrollbar, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
194
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: KbqScrollbar, isStandalone: true, selector: "kbq-scrollbar, [kbq-scrollbar]", inputs: { initializationTarget: "initializationTarget", options: "options", events: "events", defer: "defer" }, outputs: { onInitialize: "onInitialize", onUpdate: "onUpdate", onDestroy: "onDestroy", onScroll: "onScroll" }, host: { attributes: { "data-overlayscrollbars-initialize": "" }, classAttribute: "kbq-scrollbar-component" }, viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["content"], descendants: true }, { propertyName: "kbqScrollbarDirective", first: true, predicate: ["content"], descendants: true, read: KbqScrollbarDirective }], exportAs: ["kbqScrollbar"], ngImport: i0, template: `
193
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqScrollbar, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
194
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: KbqScrollbar, isStandalone: true, selector: "kbq-scrollbar, [kbq-scrollbar]", inputs: { initializationTarget: "initializationTarget", options: "options", events: "events", defer: "defer" }, outputs: { onInitialize: "onInitialize", onUpdate: "onUpdate", onDestroy: "onDestroy", onScroll: "onScroll" }, host: { attributes: { "data-overlayscrollbars-initialize": "" }, classAttribute: "kbq-scrollbar-component" }, viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["content"], descendants: true }, { propertyName: "kbqScrollbarDirective", first: true, predicate: ["content"], descendants: true, read: KbqScrollbarDirective }], exportAs: ["kbqScrollbar"], ngImport: i0, template: `
195
195
  <div
196
196
  #content
197
197
  data-overlayscrollbars-contents=""
@@ -204,7 +204,7 @@ class KbqScrollbar {
204
204
  </div>
205
205
  `, isInline: true, styles: [".kbq-scrollbar-component .os-scrollbar-vertical{padding:var(--kbq-scrollbar-size-track-padding-vertical) var(--kbq-scrollbar-size-track-padding-horizontal);bottom:var(--kbq-scrollbar-size-track-dimension);width:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-vertical .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,width .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;width:100%;min-height:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-vertical:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-vertical:active .os-scrollbar-handle{width:100%}.kbq-scrollbar-component .os-scrollbar-horizontal{padding:var(--kbq-scrollbar-size-track-padding-horizontal) var(--kbq-scrollbar-size-track-padding-vertical);right:var(--kbq-scrollbar-size-track-dimension);height:var(--kbq-scrollbar-size-track-dimension)}.kbq-scrollbar-component .os-scrollbar-horizontal .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,height .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal) solid;height:100%;min-width:var(--kbq-scrollbar-size-thumb-min-size)}.kbq-scrollbar-component .os-scrollbar-horizontal:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-horizontal:active .os-scrollbar-handle{height:100%}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{box-sizing:border-box;border-radius:var(--kbq-scrollbar-size-thumb-border-radius)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{border-width:calc((var(--kbq-scrollbar-size-track-dimension) - var(--kbq-scrollbar-size-thumb-width)) / 4)!important;transition:opacity .15s,background-color .15s,border-color .15s}[data-overlayscrollbars-contents]:focus-visible{outline:none}.kbq-scrollbar-component.kbq-hover .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover:before{border-color:var(--kbq-scrollbar-thumb-hover-background);background-color:var(--kbq-scrollbar-thumb-hover-background)}.kbq-scrollbar-component.kbq-active .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active:before{border-color:var(--kbq-scrollbar-thumb-active-background);background-color:var(--kbq-scrollbar-thumb-active-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before{border-color:var(--kbq-scrollbar-thumb-default-background);background-color:var(--kbq-scrollbar-thumb-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle{border-style:solid;border-color:var(--kbq-scrollbar-track-default-border)!important;background-color:var(--kbq-scrollbar-track-default-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:hover,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:hover{border-color:var(--kbq-scrollbar-track-hover-border);background:var(--kbq-scrollbar-track-hover-background)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track:active,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:active{border-color:var(--kbq-scrollbar-track-active-border);background:var(--kbq-scrollbar-track-active-background)}.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;inset:0;transform:scale(.1)}.os-size-observer:before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-environment{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.os-environment div{width:200%;height:200%;margin:10px 0}.os-environment.os-environment-flexbox-glue{display:flex;flex-direction:row;flex-wrap:nowrap;height:auto;width:auto;min-height:200px;min-width:200px}.os-environment.os-environment-flexbox-glue div{flex:auto;width:auto;height:auto;max-height:100%;max-width:100%;margin:0}.os-environment.os-environment-flexbox-glue-max{max-height:200px}.os-environment.os-environment-flexbox-glue-max div{overflow:visible}.os-environment.os-environment-flexbox-glue-max div:before{content:\"\";display:block;height:999px;width:999px}.os-environment,[data-overlayscrollbars-viewport]{-ms-overflow-style:scrollbar!important}[data-overlayscrollbars-initialize],[data-overlayscrollbars~=scrollbarHidden],[data-overlayscrollbars-viewport~=scrollbarHidden],.os-environment-scrollbar-hidden{scrollbar-width:none!important}[data-overlayscrollbars-initialize]::-webkit-scrollbar,[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,.os-environment-scrollbar-hidden::-webkit-scrollbar,.os-environment-scrollbar-hidden::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars]{box-sizing:border-box;margin:0}html[data-overlayscrollbars~=body],html[data-overlayscrollbars~=body]>body{width:100%;height:100%}html[data-overlayscrollbars~=viewport]>body{overflow:visible}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:0;height:0}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]{box-sizing:inherit;position:relative;flex:auto!important;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0;overflow:hidden}[data-overlayscrollbars~=host],[data-overlayscrollbars~=viewport]{position:relative;overflow:hidden}[data-overlayscrollbars~=overflowVisible],[data-overlayscrollbars-padding~=overflowVisible],[data-overlayscrollbars-viewport~=overflowVisible]{overflow:visible}[data-overlayscrollbars-overflow-x=hidden]{overflow-x:hidden;overflow-y:hidden}[data-overlayscrollbars-overflow-x=scroll]{overflow-x:scroll}[data-overlayscrollbars-overflow-y=scroll]{overflow-y:scroll}[data-overlayscrollbars~=scrollbarPressed],[data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport]{scroll-behavior:auto!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}.os-scrollbar{box-sizing:border-box;contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none}.os-scrollbar-track{position:relative;direction:ltr!important;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0}.os-scrollbar-vertical .os-scrollbar-handle{right:0}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}.os-scrollbar .os-scrollbar-handle:before{content:\"\";position:absolute;inset:0;display:block}[data-overlayscrollbars~=updating]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}\n", ":where(.kbq-scrollbar-component){--kbq-scrollbar-size-track-dimension: var(--kbq-size-l);--kbq-scrollbar-size-track-padding-vertical: var(--kbq-size-3xs);--kbq-scrollbar-size-track-padding-horizontal: var(--kbq-size-3xs);--kbq-scrollbar-size-thumb-width: var(--kbq-size-s);--kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);--kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);--kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a32);--kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a48);--kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-20-a55);--kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);--kbq-scrollbar-track-default-border: transparent;--kbq-scrollbar-track-default-background: transparent;--kbq-scrollbar-track-hover-border: transparent;--kbq-scrollbar-track-hover-background: transparent;--kbq-scrollbar-track-active-border: transparent;--kbq-scrollbar-track-active-background: transparent}:where(.kbq-dark .kbq-scrollbar-component){--kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a48);--kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a60);--kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-50-a80)}\n"], dependencies: [{ kind: "directive", type: KbqScrollbarDirective, selector: "[kbqScrollbar]", inputs: ["options", "events", "defer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqScrollbar, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqScrollbar, decorators: [{
208
208
  type: Component,
209
209
  args: [{ selector: 'kbq-scrollbar, [kbq-scrollbar]', imports: [KbqScrollbarDirective], template: `
210
210
  <div
@@ -250,13 +250,13 @@ const COMPONENTS = [
250
250
  KbqScrollbarDirective
251
251
  ];
252
252
  class KbqScrollbarModule {
253
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqScrollbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
254
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: KbqScrollbarModule, imports: [KbqScrollbar,
253
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqScrollbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
254
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: KbqScrollbarModule, imports: [KbqScrollbar,
255
255
  KbqScrollbarDirective], exports: [KbqScrollbar,
256
256
  KbqScrollbarDirective] }); }
257
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqScrollbarModule, providers: [KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER] }); }
257
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqScrollbarModule, providers: [KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER] }); }
258
258
  }
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqScrollbarModule, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqScrollbarModule, decorators: [{
260
260
  type: NgModule,
261
261
  args: [{
262
262
  imports: COMPONENTS,
@@ -1,10 +1,9 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { AsyncPipe } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
3
  import { InjectionToken, inject, DestroyRef, ChangeDetectorRef, ElementRef, EventEmitter, numberAttribute, booleanAttribute, Output, Input, ViewChild, ViewChildren, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
5
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
5
  import * as i5 from '@angular/forms';
7
- import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { NgControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
8
7
  import * as i1 from '@koobiq/components/button';
9
8
  import { KbqButtonModule, KbqButton } from '@koobiq/components/button';
10
9
  import { ruRULocaleData, KBQ_LOCALE_SERVICE } from '@koobiq/components/core';
@@ -33,12 +32,27 @@ class KbqSearchExpandable {
33
32
  set placeholder(value) {
34
33
  this._placeholder = value;
35
34
  }
35
+ get disabled() {
36
+ return this._disabled;
37
+ }
38
+ set disabled(value) {
39
+ this._disabled = value;
40
+ this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();
41
+ }
42
+ get tabIndex() {
43
+ return this.disabled ? -1 : this._tabIndex;
44
+ }
45
+ set tabIndex(value) {
46
+ this._tabIndex = value;
47
+ }
36
48
  /** localized data
37
49
  * @docs-private */
38
50
  get localeData() {
39
51
  return this.configuration;
40
52
  }
41
53
  constructor() {
54
+ /** @docs-private */
55
+ this.ngControl = inject(NgControl, { optional: true, self: true });
42
56
  /** @docs-private */
43
57
  this.focusMonitor = inject(FocusMonitor);
44
58
  /** @docs-private */
@@ -59,6 +73,8 @@ class KbqSearchExpandable {
59
73
  /** Timeout in milliseconds for emit event. The default value is taken from defaultEmitValueTimeout */
60
74
  this.emitValueTimeout = defaultEmitValueTimeout;
61
75
  this._placeholder = this.localeData?.placeholder;
76
+ this._disabled = false;
77
+ this._tabIndex = 0;
62
78
  /** Event emitted when the search has been toggled. */
63
79
  this.isOpenedChange = new EventEmitter();
64
80
  this.lastEmittedValue = defaultValue;
@@ -74,10 +90,11 @@ class KbqSearchExpandable {
74
90
  this.lastEmittedValue = value;
75
91
  }
76
92
  };
77
- this.focusMonitor
78
- .monitor(this.nativeElement, true)
79
- .pipe(takeUntilDestroyed())
80
- .subscribe((origin) => (this.lastFocusOrigin = origin));
93
+ if (!this.ngControl) {
94
+ throw Error(`kbq-search-expandable must be used with the [formControl], [formControlName] or [(ngModel)].`);
95
+ }
96
+ this.ngControl.valueAccessor = this;
97
+ this.ngControl.valueChanges?.pipe(takeUntilDestroyed()).subscribe((value) => this.value.next(value));
81
98
  this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);
82
99
  if (!this.localeService) {
83
100
  this.initDefaultParams();
@@ -87,6 +104,7 @@ class KbqSearchExpandable {
87
104
  .subscribe(this.emitValue);
88
105
  }
89
106
  ngAfterViewInit() {
107
+ this.runFocusMonitor();
90
108
  this.button.changes
91
109
  .pipe(filter((queryList) => queryList.length), map((queryList) => queryList.first), takeUntilDestroyed(this.destroyRef))
92
110
  .subscribe((button) => {
@@ -98,6 +116,9 @@ class KbqSearchExpandable {
98
116
  .pipe(filter((queryList) => queryList.length), map((queryList) => queryList.first), takeUntilDestroyed(this.destroyRef))
99
117
  .subscribe((input) => input.focus());
100
118
  }
119
+ ngOnDestroy() {
120
+ this.stopFocusMonitor();
121
+ }
101
122
  /** Implemented as part of ControlValueAccessor. */
102
123
  registerOnChange(fn) {
103
124
  this.onChange = fn;
@@ -110,7 +131,13 @@ class KbqSearchExpandable {
110
131
  writeValue(value) {
111
132
  this.value.next(value || defaultValue);
112
133
  }
134
+ /** Implemented as part of ControlValueAccessor. */
135
+ setDisabledState(isDisabled) {
136
+ this.disabled = isDisabled;
137
+ }
113
138
  toggle() {
139
+ if (this.disabled)
140
+ return;
114
141
  this.isOpened = !this.isOpened;
115
142
  if (!this.isOpened) {
116
143
  this.value.next(defaultValue);
@@ -124,35 +151,29 @@ class KbqSearchExpandable {
124
151
  initDefaultParams() {
125
152
  this.configuration = KBQ_SEARCH_EXPANDABLE_DEFAULT_CONFIGURATION;
126
153
  }
127
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqSearchExpandable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: KbqSearchExpandable, isStandalone: true, selector: "kbq-search-expandable", inputs: { isOpened: ["isOpened", "isOpened", booleanAttribute], isEmitValueByEnterEnabled: "isEmitValueByEnterEnabled", emitValueTimeout: ["emitValueTimeout", "emitValueTimeout", numberAttribute], placeholder: "placeholder" }, outputs: { isOpenedChange: "isOpenedChange" }, host: { properties: { "class.kbq-search-expandable_opened": "isOpened" }, classAttribute: "kbq-search-expandable" }, providers: [
129
- {
130
- provide: NG_VALUE_ACCESSOR,
131
- useExisting: KbqSearchExpandable,
132
- multi: true
133
- }
134
- ], viewQueries: [{ propertyName: "tooltip", first: true, predicate: KbqTooltipTrigger, descendants: true }, { propertyName: "input", predicate: KbqInput, descendants: true }, { propertyName: "button", predicate: KbqButton, descendants: true }], ngImport: i0, template: "@if (!isOpened) {\n <button\n kbqTooltip=\"{{ localeData.tooltip }}\"\n type=\"button\"\n kbq-button\n class=\"kbq-search-expandable__button\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"toggle()\"\n >\n <i kbq-icon=\"kbq-magnifying-glass_16\"></i>\n </button>\n} @else {\n <kbq-form-field class=\"kbq-search-expandable__search\">\n <i kbqPrefix kbq-icon=\"kbq-magnifying-glass_16\"></i>\n\n <input\n kbqInput\n name=\"value\"\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"value | async\"\n (ngModelChange)=\"value.next($event)\"\n (blur)=\"onTouch()\"\n (keyup.escape)=\"toggle()\"\n />\n\n <i kbqSuffix kbq-icon-button=\"kbq-circle-xmark_16\" (click)=\"toggle()\" (keyup.enter)=\"toggle()\"></i>\n </kbq-form-field>\n}\n", styles: [".kbq-search-expandable{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;min-width:0;min-height:0}.kbq-search-expandable__search .kbq-icon-button.kbq-suffix{display:flex;align-items:center;justify-content:center;border-radius:var(--kbq-size-xxs);height:var(--kbq-size-xxl)}\n"], dependencies: [{ 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: KbqIconModule }, { kind: "component", type: i2.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i2.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["small", "kbq-icon-button", "tabindex", "disabled"] }, { kind: "ngmodule", type: KbqInputModule }, { kind: "directive", type: i3.KbqInput, selector: "input[kbqInput],input[kbqNumberInput]", inputs: ["errorStateMatcher", "placeholder", "disabled", "id", "required", "type", "value"], exportAs: ["kbqInput"] }, { 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.KbqSuffix, selector: "[kbqSuffix]" }, { 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: FormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i6.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: KbqFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
154
+ runFocusMonitor() {
155
+ this.focusMonitor.monitor(this.nativeElement, true).subscribe((origin) => (this.lastFocusOrigin = origin));
156
+ }
157
+ stopFocusMonitor() {
158
+ this.focusMonitor.stopMonitoring(this.nativeElement);
159
+ }
160
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqSearchExpandable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
161
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: KbqSearchExpandable, isStandalone: true, selector: "kbq-search-expandable", inputs: { isOpened: ["isOpened", "isOpened", booleanAttribute], isEmitValueByEnterEnabled: "isEmitValueByEnterEnabled", emitValueTimeout: ["emitValueTimeout", "emitValueTimeout", numberAttribute], placeholder: "placeholder", disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute] }, outputs: { isOpenedChange: "isOpenedChange" }, host: { properties: { "class.kbq-search-expandable_opened": "isOpened" }, classAttribute: "kbq-search-expandable" }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: KbqTooltipTrigger, descendants: true }, { propertyName: "input", predicate: KbqInput, descendants: true }, { propertyName: "button", predicate: KbqButton, descendants: true }], ngImport: i0, template: "@if (!isOpened) {\n <button\n kbqTooltip=\"{{ localeData.tooltip }}\"\n type=\"button\"\n kbq-button\n class=\"kbq-search-expandable__button\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n >\n <i kbq-icon=\"kbq-magnifying-glass_16\"></i>\n </button>\n} @else {\n <kbq-form-field class=\"kbq-search-expandable__search\">\n <i kbqPrefix kbq-icon=\"kbq-magnifying-glass_16\"></i>\n\n <input\n kbqInput\n name=\"value\"\n type=\"text\"\n autocomplete=\"off\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [formControl]=\"$any(ngControl?.control)\"\n (blur)=\"onTouch()\"\n (keyup.escape)=\"toggle()\"\n />\n\n <i\n kbqSuffix\n kbq-icon-button=\"kbq-circle-xmark_16\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (keyup.enter)=\"toggle()\"\n ></i>\n </kbq-form-field>\n}\n", styles: [".kbq-search-expandable{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;min-width:0;min-height:0}.kbq-search-expandable__search .kbq-icon-button.kbq-suffix{display:flex;align-items:center;justify-content:center;border-radius:var(--kbq-size-xxs);height:var(--kbq-size-xxl)}\n"], dependencies: [{ 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: KbqIconModule }, { kind: "component", type: i2.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i2.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["small", "kbq-icon-button", "tabindex", "disabled"] }, { kind: "ngmodule", type: KbqInputModule }, { kind: "directive", type: i3.KbqInput, selector: "input[kbqInput],input[kbqNumberInput]", inputs: ["errorStateMatcher", "placeholder", "disabled", "id", "required", "type", "value"], exportAs: ["kbqInput"] }, { 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.KbqSuffix, selector: "[kbqSuffix]" }, { 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: FormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i6.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: KbqFormFieldModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
135
162
  }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqSearchExpandable, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqSearchExpandable, decorators: [{
137
164
  type: Component,
138
165
  args: [{ selector: 'kbq-search-expandable', imports: [
139
166
  KbqButtonModule,
140
167
  KbqIconModule,
141
168
  KbqInputModule,
142
169
  FormsModule,
143
- AsyncPipe,
144
170
  KbqToolTipModule,
145
- KbqFormFieldModule
171
+ KbqFormFieldModule,
172
+ ReactiveFormsModule
146
173
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
147
174
  class: 'kbq-search-expandable',
148
175
  '[class.kbq-search-expandable_opened]': 'isOpened'
149
- }, providers: [
150
- {
151
- provide: NG_VALUE_ACCESSOR,
152
- useExisting: KbqSearchExpandable,
153
- multi: true
154
- }
155
- ], template: "@if (!isOpened) {\n <button\n kbqTooltip=\"{{ localeData.tooltip }}\"\n type=\"button\"\n kbq-button\n class=\"kbq-search-expandable__button\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"toggle()\"\n >\n <i kbq-icon=\"kbq-magnifying-glass_16\"></i>\n </button>\n} @else {\n <kbq-form-field class=\"kbq-search-expandable__search\">\n <i kbqPrefix kbq-icon=\"kbq-magnifying-glass_16\"></i>\n\n <input\n kbqInput\n name=\"value\"\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"value | async\"\n (ngModelChange)=\"value.next($event)\"\n (blur)=\"onTouch()\"\n (keyup.escape)=\"toggle()\"\n />\n\n <i kbqSuffix kbq-icon-button=\"kbq-circle-xmark_16\" (click)=\"toggle()\" (keyup.enter)=\"toggle()\"></i>\n </kbq-form-field>\n}\n", styles: [".kbq-search-expandable{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;min-width:0;min-height:0}.kbq-search-expandable__search .kbq-icon-button.kbq-suffix{display:flex;align-items:center;justify-content:center;border-radius:var(--kbq-size-xxs);height:var(--kbq-size-xxl)}\n"] }]
176
+ }, template: "@if (!isOpened) {\n <button\n kbqTooltip=\"{{ localeData.tooltip }}\"\n type=\"button\"\n kbq-button\n class=\"kbq-search-expandable__button\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n >\n <i kbq-icon=\"kbq-magnifying-glass_16\"></i>\n </button>\n} @else {\n <kbq-form-field class=\"kbq-search-expandable__search\">\n <i kbqPrefix kbq-icon=\"kbq-magnifying-glass_16\"></i>\n\n <input\n kbqInput\n name=\"value\"\n type=\"text\"\n autocomplete=\"off\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [formControl]=\"$any(ngControl?.control)\"\n (blur)=\"onTouch()\"\n (keyup.escape)=\"toggle()\"\n />\n\n <i\n kbqSuffix\n kbq-icon-button=\"kbq-circle-xmark_16\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (keyup.enter)=\"toggle()\"\n ></i>\n </kbq-form-field>\n}\n", styles: [".kbq-search-expandable{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;min-width:0;min-height:0}.kbq-search-expandable__search .kbq-icon-button.kbq-suffix{display:flex;align-items:center;justify-content:center;border-radius:var(--kbq-size-xxs);height:var(--kbq-size-xxl)}\n"] }]
156
177
  }], ctorParameters: () => [], propDecorators: { input: [{
157
178
  type: ViewChildren,
158
179
  args: [KbqInput]
@@ -172,16 +193,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
172
193
  args: [{ transform: numberAttribute }]
173
194
  }], placeholder: [{
174
195
  type: Input
196
+ }], disabled: [{
197
+ type: Input,
198
+ args: [{ transform: booleanAttribute }]
199
+ }], tabIndex: [{
200
+ type: Input,
201
+ args: [{ transform: numberAttribute }]
175
202
  }], isOpenedChange: [{
176
203
  type: Output
177
204
  }] } });
178
205
 
179
206
  class KbqSearchExpandableModule {
180
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqSearchExpandableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
181
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: KbqSearchExpandableModule, imports: [KbqSearchExpandable], exports: [KbqSearchExpandable] }); }
182
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqSearchExpandableModule, imports: [KbqSearchExpandable] }); }
207
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqSearchExpandableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
208
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: KbqSearchExpandableModule, imports: [KbqSearchExpandable], exports: [KbqSearchExpandable] }); }
209
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqSearchExpandableModule, imports: [KbqSearchExpandable] }); }
183
210
  }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqSearchExpandableModule, decorators: [{
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: KbqSearchExpandableModule, decorators: [{
185
212
  type: NgModule,
186
213
  args: [{
187
214
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-search-expandable.mjs","sources":["../../../packages/components/search-expandable/search-expandable.ts","../../../packages/components/search-expandable/search-expandable.html","../../../packages/components/search-expandable/search-expandable.module.ts","../../../packages/components/search-expandable/koobiq-components-search-expandable.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { AsyncPipe } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n inject,\n InjectionToken,\n Input,\n numberAttribute,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqButton, KbqButtonModule } from '@koobiq/components/button';\nimport { KBQ_LOCALE_SERVICE, ruRULocaleData } from '@koobiq/components/core';\nimport { KbqFormFieldModule } from '@koobiq/components/form-field';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqInput, KbqInputModule } from '@koobiq/components/input';\nimport { KbqToolTipModule, KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { BehaviorSubject, debounceTime, distinctUntilChanged, filter } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/** default configuration of search-expandable */\nexport const KBQ_SEARCH_EXPANDABLE_DEFAULT_CONFIGURATION = ruRULocaleData.searchExpandable;\n\n/** Injection Token for providing configuration of search-expandable */\nexport const KBQ_SEARCH_EXPANDABLE_CONFIGURATION = new InjectionToken('KbqSearchExpandableConfiguration');\n\nexport const defaultValue = '';\nexport const defaultEmitValueTimeout = 200;\n\n@Component({\n selector: 'kbq-search-expandable',\n imports: [\n KbqButtonModule,\n KbqIconModule,\n KbqInputModule,\n FormsModule,\n AsyncPipe,\n KbqToolTipModule,\n KbqFormFieldModule\n ],\n templateUrl: './search-expandable.html',\n styleUrls: ['./search-expandable.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'kbq-search-expandable',\n '[class.kbq-search-expandable_opened]': 'isOpened'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: KbqSearchExpandable,\n multi: true\n }\n ]\n})\nexport class KbqSearchExpandable implements ControlValueAccessor, AfterViewInit {\n /** @docs-private */\n protected readonly focusMonitor = inject(FocusMonitor);\n /** @docs-private */\n protected readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n /** @docs-private */\n protected readonly destroyRef = inject(DestroyRef);\n /** @docs-private */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /** @docs-private */\n protected readonly nativeElement: HTMLElement = inject(ElementRef).nativeElement;\n\n readonly externalConfiguration = inject(KBQ_SEARCH_EXPANDABLE_CONFIGURATION, { optional: true });\n\n @ViewChildren(KbqInput) private input: QueryList<KbqInput>;\n @ViewChildren(KbqButton) private button: QueryList<KbqButton>;\n @ViewChild(KbqTooltipTrigger) private tooltip: KbqTooltipTrigger;\n\n configuration;\n\n /** Current value in input. */\n value = new BehaviorSubject(defaultValue);\n\n protected lastFocusOrigin: 'touch' | 'mouse' | 'keyboard' | 'program' | null;\n\n /** state of component. */\n @Input({ transform: booleanAttribute }) isOpened = false;\n /** Emit event by enter or not. Default is false */\n @Input() isEmitValueByEnterEnabled = false;\n /** Timeout in milliseconds for emit event. The default value is taken from defaultEmitValueTimeout */\n @Input({ transform: numberAttribute }) emitValueTimeout = defaultEmitValueTimeout;\n\n /** Placeholder for input when expanded */\n @Input()\n get placeholder(): string {\n return this._placeholder ?? this.localeData?.placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n }\n\n private _placeholder = this.localeData?.placeholder;\n\n /** Event emitted when the search has been toggled. */\n @Output() readonly isOpenedChange = new EventEmitter<boolean>();\n\n /** localized data\n * @docs-private */\n get localeData() {\n return this.configuration;\n }\n\n private lastEmittedValue = defaultValue;\n\n constructor() {\n this.focusMonitor\n .monitor(this.nativeElement, true)\n .pipe(takeUntilDestroyed())\n .subscribe((origin) => (this.lastFocusOrigin = origin));\n\n this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);\n\n if (!this.localeService) {\n this.initDefaultParams();\n }\n\n this.value\n .pipe(\n distinctUntilChanged(),\n filter(() => !this.isEmitValueByEnterEnabled),\n debounceTime(this.emitValueTimeout),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(this.emitValue);\n }\n\n ngAfterViewInit(): void {\n this.button.changes\n .pipe(\n filter((queryList) => queryList.length),\n map((queryList) => queryList.first),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((button: KbqButton) => {\n this.tooltip.disabled = true;\n\n this.focusMonitor.focusVia(button.elementRef.nativeElement, this.lastFocusOrigin);\n\n this.tooltip.disabled = false;\n });\n\n this.input.changes\n .pipe(\n filter((queryList) => queryList.length),\n map((queryList) => queryList.first),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((input: KbqInput) => input.focus());\n }\n\n /** @docs-private */\n onChange: (value: string) => void;\n\n /** @docs-private */\n onTouch: () => void = () => {};\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: string): void {\n this.value.next(value || defaultValue);\n }\n\n toggle(): void {\n this.isOpened = !this.isOpened;\n\n if (!this.isOpened) {\n this.value.next(defaultValue);\n\n if (this.isEmitValueByEnterEnabled) {\n this.emitValue(defaultValue, true);\n }\n }\n\n this.tooltip?.hide();\n\n this.isOpenedChange.emit(this.isOpened);\n }\n\n private updateLocaleParams = () => {\n this.configuration = this.externalConfiguration || this.localeService?.getParams('searchExpandable');\n\n this.changeDetectorRef.markForCheck();\n };\n\n private initDefaultParams() {\n this.configuration = KBQ_SEARCH_EXPANDABLE_DEFAULT_CONFIGURATION;\n }\n\n private emitValue = (value: string, forced = false): void => {\n if (value !== this.lastEmittedValue || forced) {\n this.onChange(value);\n this.lastEmittedValue = value;\n }\n };\n}\n","@if (!isOpened) {\n <button\n kbqTooltip=\"{{ localeData.tooltip }}\"\n type=\"button\"\n kbq-button\n class=\"kbq-search-expandable__button\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"toggle()\"\n >\n <i kbq-icon=\"kbq-magnifying-glass_16\"></i>\n </button>\n} @else {\n <kbq-form-field class=\"kbq-search-expandable__search\">\n <i kbqPrefix kbq-icon=\"kbq-magnifying-glass_16\"></i>\n\n <input\n kbqInput\n name=\"value\"\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"value | async\"\n (ngModelChange)=\"value.next($event)\"\n (blur)=\"onTouch()\"\n (keyup.escape)=\"toggle()\"\n />\n\n <i kbqSuffix kbq-icon-button=\"kbq-circle-xmark_16\" (click)=\"toggle()\" (keyup.enter)=\"toggle()\"></i>\n </kbq-form-field>\n}\n","import { NgModule } from '@angular/core';\nimport { KbqSearchExpandable } from './search-expandable';\n\n@NgModule({\n imports: [\n KbqSearchExpandable\n ],\n exports: [KbqSearchExpandable]\n})\nexport class KbqSearchExpandableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-search-expandable.mjs","sources":["../../../packages/components/search-expandable/search-expandable.ts","../../../packages/components/search-expandable/search-expandable.html","../../../packages/components/search-expandable/search-expandable.module.ts","../../../packages/components/search-expandable/koobiq-components-search-expandable.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n inject,\n InjectionToken,\n Input,\n numberAttribute,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { KbqButton, KbqButtonModule } from '@koobiq/components/button';\nimport { KBQ_LOCALE_SERVICE, ruRULocaleData } from '@koobiq/components/core';\nimport { KbqFormFieldModule } from '@koobiq/components/form-field';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqInput, KbqInputModule } from '@koobiq/components/input';\nimport { KbqToolTipModule, KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { BehaviorSubject, debounceTime, distinctUntilChanged, filter } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/** default configuration of search-expandable */\nexport const KBQ_SEARCH_EXPANDABLE_DEFAULT_CONFIGURATION = ruRULocaleData.searchExpandable;\n\n/** Injection Token for providing configuration of search-expandable */\nexport const KBQ_SEARCH_EXPANDABLE_CONFIGURATION = new InjectionToken('KbqSearchExpandableConfiguration');\n\nexport const defaultValue = '';\nexport const defaultEmitValueTimeout = 200;\n\n@Component({\n selector: 'kbq-search-expandable',\n imports: [\n KbqButtonModule,\n KbqIconModule,\n KbqInputModule,\n FormsModule,\n KbqToolTipModule,\n KbqFormFieldModule,\n ReactiveFormsModule\n ],\n templateUrl: './search-expandable.html',\n styleUrls: ['./search-expandable.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'kbq-search-expandable',\n '[class.kbq-search-expandable_opened]': 'isOpened'\n }\n})\nexport class KbqSearchExpandable implements ControlValueAccessor, AfterViewInit, OnDestroy {\n /** @docs-private */\n protected readonly ngControl = inject(NgControl, { optional: true, self: true });\n /** @docs-private */\n protected readonly focusMonitor = inject(FocusMonitor);\n /** @docs-private */\n protected readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n /** @docs-private */\n protected readonly destroyRef = inject(DestroyRef);\n /** @docs-private */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /** @docs-private */\n protected readonly nativeElement: HTMLElement = inject(ElementRef).nativeElement;\n\n readonly externalConfiguration = inject(KBQ_SEARCH_EXPANDABLE_CONFIGURATION, { optional: true });\n\n @ViewChildren(KbqInput) private input: QueryList<KbqInput>;\n @ViewChildren(KbqButton) private button: QueryList<KbqButton>;\n @ViewChild(KbqTooltipTrigger) private tooltip: KbqTooltipTrigger;\n\n configuration;\n\n /** Current value in input. */\n value = new BehaviorSubject(defaultValue);\n\n protected lastFocusOrigin: 'touch' | 'mouse' | 'keyboard' | 'program' | null;\n\n /** state of component. */\n @Input({ transform: booleanAttribute }) isOpened = false;\n /** Emit event by enter or not. Default is false */\n @Input() isEmitValueByEnterEnabled = false;\n /** Timeout in milliseconds for emit event. The default value is taken from defaultEmitValueTimeout */\n @Input({ transform: numberAttribute }) emitValueTimeout = defaultEmitValueTimeout;\n\n /** Placeholder for input when expanded */\n @Input()\n get placeholder(): string {\n return this._placeholder ?? this.localeData?.placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n }\n\n private _placeholder = this.localeData?.placeholder;\n\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\n\n @Input({ transform: numberAttribute })\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n /** Event emitted when the search has been toggled. */\n @Output() readonly isOpenedChange = new EventEmitter<boolean>();\n\n /** localized data\n * @docs-private */\n get localeData() {\n return this.configuration;\n }\n\n private lastEmittedValue = defaultValue;\n\n constructor() {\n if (!this.ngControl) {\n throw Error(`kbq-search-expandable must be used with the [formControl], [formControlName] or [(ngModel)].`);\n }\n\n this.ngControl.valueAccessor = this;\n\n this.ngControl.valueChanges?.pipe(takeUntilDestroyed()).subscribe((value) => this.value.next(value));\n\n this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);\n\n if (!this.localeService) {\n this.initDefaultParams();\n }\n\n this.value\n .pipe(\n distinctUntilChanged(),\n filter(() => !this.isEmitValueByEnterEnabled),\n debounceTime(this.emitValueTimeout),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(this.emitValue);\n }\n\n ngAfterViewInit(): void {\n this.runFocusMonitor();\n\n this.button.changes\n .pipe(\n filter((queryList) => queryList.length),\n map((queryList) => queryList.first),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((button: KbqButton) => {\n this.tooltip.disabled = true;\n\n this.focusMonitor.focusVia(button.elementRef.nativeElement, this.lastFocusOrigin);\n\n this.tooltip.disabled = false;\n });\n\n this.input.changes\n .pipe(\n filter((queryList) => queryList.length),\n map((queryList) => queryList.first),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((input: KbqInput) => input.focus());\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n /** @docs-private */\n onChange: (value: string) => void;\n\n /** @docs-private */\n onTouch: () => void = () => {};\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: string): void {\n this.value.next(value || defaultValue);\n }\n\n /** Implemented as part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n toggle(): void {\n if (this.disabled) return;\n\n this.isOpened = !this.isOpened;\n\n if (!this.isOpened) {\n this.value.next(defaultValue);\n\n if (this.isEmitValueByEnterEnabled) {\n this.emitValue(defaultValue, true);\n }\n }\n\n this.tooltip?.hide();\n\n this.isOpenedChange.emit(this.isOpened);\n }\n\n private updateLocaleParams = () => {\n this.configuration = this.externalConfiguration || this.localeService?.getParams('searchExpandable');\n\n this.changeDetectorRef.markForCheck();\n };\n\n private initDefaultParams() {\n this.configuration = KBQ_SEARCH_EXPANDABLE_DEFAULT_CONFIGURATION;\n }\n\n private emitValue = (value: string, forced = false): void => {\n if (value !== this.lastEmittedValue || forced) {\n this.onChange(value);\n this.lastEmittedValue = value;\n }\n };\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.nativeElement, true).subscribe((origin) => (this.lastFocusOrigin = origin));\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.nativeElement);\n }\n}\n","@if (!isOpened) {\n <button\n kbqTooltip=\"{{ localeData.tooltip }}\"\n type=\"button\"\n kbq-button\n class=\"kbq-search-expandable__button\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n >\n <i kbq-icon=\"kbq-magnifying-glass_16\"></i>\n </button>\n} @else {\n <kbq-form-field class=\"kbq-search-expandable__search\">\n <i kbqPrefix kbq-icon=\"kbq-magnifying-glass_16\"></i>\n\n <input\n kbqInput\n name=\"value\"\n type=\"text\"\n autocomplete=\"off\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [formControl]=\"$any(ngControl?.control)\"\n (blur)=\"onTouch()\"\n (keyup.escape)=\"toggle()\"\n />\n\n <i\n kbqSuffix\n kbq-icon-button=\"kbq-circle-xmark_16\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (keyup.enter)=\"toggle()\"\n ></i>\n </kbq-form-field>\n}\n","import { NgModule } from '@angular/core';\nimport { KbqSearchExpandable } from './search-expandable';\n\n@NgModule({\n imports: [\n KbqSearchExpandable\n ],\n exports: [KbqSearchExpandable]\n})\nexport class KbqSearchExpandableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}