@koobiq/components 18.32.0 → 18.33.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 (169) hide show
  1. package/accordion/accordion-trigger.component.scss +2 -0
  2. package/core/option/action-container.d.ts +5 -0
  3. package/core/option/action-container.scss +45 -0
  4. package/core/option/action.d.ts +1 -4
  5. package/core/option/action.scss +13 -12
  6. package/core/option/index.d.ts +1 -0
  7. package/core/option/option.d.ts +4 -3
  8. package/core/styles/common/_select.scss +52 -15
  9. package/core/styles/common/_tokens.scss +2 -0
  10. package/esm2022/accordion/accordion-trigger.component.mjs +2 -2
  11. package/esm2022/accordion/accordion.component.mjs +2 -2
  12. package/esm2022/alert/alert.component.mjs +2 -2
  13. package/esm2022/badge/badge.component.mjs +2 -2
  14. package/esm2022/breadcrumbs/breadcrumbs.mjs +3 -6
  15. package/esm2022/button/button.component.mjs +4 -3
  16. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  17. package/esm2022/checkbox/checkbox.mjs +2 -2
  18. package/esm2022/code-block/code-block.mjs +3 -3
  19. package/esm2022/core/option/action-container.mjs +23 -0
  20. package/esm2022/core/option/action.mjs +16 -30
  21. package/esm2022/core/option/index.mjs +2 -1
  22. package/esm2022/core/option/optgroup.mjs +2 -2
  23. package/esm2022/core/option/option.mjs +4 -4
  24. package/esm2022/core/version.mjs +2 -2
  25. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  26. package/esm2022/datepicker/datepicker-input.directive.mjs +5 -1
  27. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  28. package/esm2022/dl/dl.component.mjs +2 -2
  29. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  30. package/esm2022/empty-state/empty-state.component.mjs +2 -2
  31. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  32. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  33. package/esm2022/filter-bar/filter-bar.mjs +5 -3
  34. package/esm2022/filter-bar/filter-bar.types.mjs +1 -1
  35. package/esm2022/filter-bar/filter-reset.mjs +2 -1
  36. package/esm2022/filter-bar/filters.mjs +2 -1
  37. package/esm2022/filter-bar/pipe-add.mjs +2 -2
  38. package/esm2022/filter-bar/pipes/base-pipe.mjs +7 -2
  39. package/esm2022/filter-bar/pipes/pipe-date.mjs +3 -3
  40. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +3 -3
  41. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +2 -2
  42. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +2 -2
  43. package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
  44. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
  45. package/esm2022/form-field/error.mjs +2 -2
  46. package/esm2022/form-field/fieldset.mjs +2 -2
  47. package/esm2022/form-field/form-field.mjs +2 -2
  48. package/esm2022/form-field/hint.mjs +2 -2
  49. package/esm2022/form-field/password-hint.mjs +3 -3
  50. package/esm2022/form-field/reactive-password-hint.mjs +3 -3
  51. package/esm2022/input/input-password.mjs +2 -2
  52. package/esm2022/list/list-selection.component.mjs +5 -5
  53. package/esm2022/list/list.component.mjs +2 -2
  54. package/esm2022/list/list.module.mjs +12 -5
  55. package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
  56. package/esm2022/modal/modal.component.mjs +2 -2
  57. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  58. package/esm2022/navbar/navbar.component.mjs +2 -2
  59. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  60. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  61. package/esm2022/popover/popover.component.mjs +3 -3
  62. package/esm2022/progress-bar/progress-bar.component.mjs +2 -2
  63. package/esm2022/progress-spinner/progress-spinner.component.mjs +2 -2
  64. package/esm2022/radio/radio.component.mjs +2 -2
  65. package/esm2022/risk-level/risk-level.component.mjs +2 -2
  66. package/esm2022/select/select.component.mjs +35 -18
  67. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  68. package/esm2022/table/table.component.mjs +2 -2
  69. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  70. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  71. package/esm2022/toast/toast.component.mjs +3 -3
  72. package/esm2022/toggle/toggle.component.mjs +3 -3
  73. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  74. package/esm2022/top-bar/top-bar.mjs +2 -2
  75. package/esm2022/tree/toggle.mjs +2 -2
  76. package/esm2022/tree/tree-option.component.mjs +3 -3
  77. package/esm2022/tree/tree-selection.component.mjs +2 -2
  78. package/esm2022/tree/tree.mjs +2 -2
  79. package/esm2022/tree/tree.module.mjs +8 -5
  80. package/esm2022/tree-select/tree-select.component.mjs +36 -22
  81. package/fesm2022/koobiq-components-accordion.mjs +4 -4
  82. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-alert.mjs +2 -2
  84. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-badge.mjs +2 -2
  86. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -5
  88. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  90. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-button.mjs +3 -2
  92. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  94. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-code-block.mjs +2 -2
  96. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-core.mjs +43 -36
  98. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-datepicker.mjs +7 -3
  100. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-dl.mjs +2 -2
  102. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  104. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-empty-state.mjs +2 -2
  106. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  108. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-filter-bar.mjs +21 -12
  110. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-form-field.mjs +12 -12
  112. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-input.mjs +1 -1
  114. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-list.mjs +17 -10
  116. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  118. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-modal.mjs +2 -2
  120. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-navbar.mjs +6 -6
  122. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-popover.mjs +4 -4
  124. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-progress-bar.mjs +2 -2
  126. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
  128. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-radio.mjs +2 -2
  130. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-risk-level.mjs +2 -2
  132. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-select.mjs +34 -17
  134. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
  136. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-table.mjs +2 -2
  138. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  140. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-toast.mjs +2 -2
  142. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  144. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  146. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  148. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-tree-select.mjs +35 -21
  150. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-tree.mjs +15 -12
  152. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  153. package/file-upload/_file-upload-theme.scss +9 -0
  154. package/filter-bar/filter-bar.d.ts +2 -0
  155. package/filter-bar/filter-bar.types.d.ts +2 -2
  156. package/form-field/form-field.scss +1 -1
  157. package/list/_list-theme.scss +4 -1
  158. package/list/list.module.d.ts +2 -1
  159. package/list/list.scss +6 -12
  160. package/package.json +4 -4
  161. package/prebuilt-themes/dark-theme.css +1 -1
  162. package/prebuilt-themes/light-theme.css +1 -1
  163. package/prebuilt-themes/theme.css +1 -1
  164. package/schematics/ng-add/index.js +3 -3
  165. package/select/select.component.d.ts +8 -1
  166. package/tree/_tree-theme.scss +13 -2
  167. package/tree/tree-option.scss +12 -17
  168. package/tree/tree.module.d.ts +1 -1
  169. package/tree-select/tree-select.component.d.ts +8 -1
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-radio.mjs","sources":["../../../packages/components/radio/radio.component.ts","../../../packages/components/radio/radio.component.html","../../../packages/components/radio/radio.module.ts","../../../packages/components/radio/koobiq-components-radio.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n numberAttribute,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqColorDirective } from '@koobiq/components/core';\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n/** Change event object emitted by KbqRadio. */\nexport class KbqRadioChange {\n constructor(\n /** The KbqRadioButton that emits the change event. */\n public source: KbqRadioButton,\n /** The value of the KbqRadioButton. */\n public value: any\n ) {}\n}\n\n/**\n * Provider Expression that allows kbq-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nexport const KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqRadioGroup),\n multi: true\n};\n\n@Directive({\n selector: 'kbq-radio-group',\n exportAs: 'kbqRadioGroup',\n host: {\n role: 'radiogroup',\n class: 'kbq-radio-group',\n '[class.kbq-radio-group_normal]': '!big',\n '[class.kbq-radio-group_big]': 'big'\n },\n providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]\n})\nexport class KbqRadioGroup implements AfterContentInit, ControlValueAccessor {\n @Input() big: boolean = false;\n\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.updateRadioButtonNames();\n }\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition;\n }\n\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this.markRadiosForCheck();\n }\n\n /** Value of the radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadioButton();\n }\n }\n\n /** Whether the radio button is selected. */\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: KbqRadioButton | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadioButton();\n }\n\n /** Whether the radio group is disabled */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.markRadiosForCheck();\n }\n\n private _disabled: boolean = false;\n\n /** Whether the radio group is required */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = value;\n this.markRadiosForCheck();\n }\n\n /** Whether the radio group is required. */\n private _required: boolean = false;\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** Child radio buttons. */\n @ContentChildren(forwardRef(() => KbqRadioButton), { descendants: true })\n radios: QueryList<KbqRadioButton>;\n\n /**\n * Selected value for group. Should equal the value of the selected radio button if there *is*\n * a corresponding radio button with a matching value. If there is *not* such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n private _value: any = null;\n\n /** The HTML name attribute applied to radio buttons in this group. */\n private _name: string = `kbq-radio-group-${nextUniqueId++}`;\n\n /** The currently selected radio button. Should match value. */\n private _selected: KbqRadioButton | null = null;\n\n /** Whether the `value` has been set to its initial value. */\n private isInitialized: boolean = false;\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n private _labelPosition: 'before' | 'after' = 'after';\n\n constructor(private readonly changeDetector: ChangeDetectorRef) {}\n\n /** The method to be called in order to update ngModel */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n onTouched: () => any = () => {};\n\n checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on KbqRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the KbqRadioGroup.\n this.isInitialized = true;\n }\n\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n if (this.isInitialized) {\n this.change.emit(new KbqRadioChange(this._selected!, this._value));\n }\n }\n\n markRadiosForCheck() {\n if (this.radios) {\n this.radios.forEach((radio) => radio.markForCheck());\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n */\n writeValue(value: any) {\n this.value = value;\n this.changeDetector.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.changeDetector.markForCheck();\n }\n\n private updateRadioButtonNames(): void {\n this.radios?.forEach((radio) => (radio.name = this.name));\n }\n\n /** Updates the `selected` radio button from the internal _value state. */\n private updateSelectedRadioFromValue(): void {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n\n if (this.radios != null && !isAlreadySelected) {\n this._selected = null;\n\n this.radios.forEach((radio) => {\n radio.checked = this.value === radio.value;\n\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n}\n\n@Component({\n selector: 'kbq-radio-button',\n templateUrl: 'radio.component.html',\n styleUrls: ['radio.scss', 'radio-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqRadioButton',\n host: {\n class: 'kbq-radio-button',\n '[attr.id]': 'id',\n '[class.kbq-radio-button_big]': 'radioGroup?.big',\n '[class.kbq-selected]': 'checked',\n '[class.kbq-disabled]': 'disabled'\n }\n})\nexport class KbqRadioButton extends KbqColorDirective implements OnInit, AfterViewInit, OnDestroy {\n /** Whether this radio button is checked. */\n @Input({ transform: booleanAttribute })\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n\n if (value && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n } else if (!value && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n\n if (value) {\n // Notify all radio buttons with the same name to un-check.\n this.radioDispatcher.notify(this.id, this.name);\n }\n\n this.changeDetector.markForCheck();\n }\n }\n\n /** The value of this radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n\n if (this.radioGroup != null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n\n /** Whether the radio button is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);\n }\n\n set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled: boolean;\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 /** Whether the radio button is required. */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n\n set required(value: boolean) {\n this._required = value;\n }\n\n /** Whether this radio is required. */\n private _required: boolean;\n\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n\n /** Analog to HTML 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** The native `<input type=radio>` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** The parent radio group. May or may not be present. */\n radioGroup: KbqRadioGroup;\n\n @Input()\n isFocused: boolean = false;\n\n /** The unique ID for the radio button. */\n @Input() id: string;\n\n /** ID of the native input element inside `<kbq-radio-button>` */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n private _labelPosition: 'before' | 'after';\n\n private readonly uniqueId: string = `kbq-radio-${++nextUniqueId}`;\n\n /** Whether this radio is checked. */\n private _checked: boolean = false;\n\n /** Value assigned to this radio. */\n private _value: any = null;\n\n constructor(\n @Optional() radioGroup: KbqRadioGroup,\n private readonly changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private readonly radioDispatcher: UniqueSelectionDispatcher\n ) {\n super();\n\n this.id = this.uniqueId;\n\n this.radioGroup = radioGroup;\n\n this.removeUniqueSelectionListener = radioDispatcher.listen((id: string, name: string) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n\n ngAfterViewInit() {\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup.touch();\n }\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.removeUniqueSelectionListener();\n }\n\n /** Focuses the radio button. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this.changeDetector.markForCheck();\n }\n\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling & forcing skip event from closing actions for the second event will solve that issue.\n event.stopPropagation();\n (event as Event & { kbqPopoverPreventHide: boolean }).kbqPopoverPreventHide = true;\n }\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n\n this.checked = true;\n this.emitChangeEvent();\n\n if (this.radioGroup) {\n this.radioGroup.controlValueAccessorChangeFn(this.value);\n this.radioGroup.touch();\n\n if (groupValueChanged) {\n this.radioGroup.emitChangeEvent();\n }\n }\n }\n\n /** Unregister function for _radioDispatcher */\n private readonly removeUniqueSelectionListener: () => void = () => {};\n\n /** Dispatch change event with current value. */\n private emitChangeEvent(): void {\n this.change.emit(new KbqRadioChange(this, this._value));\n }\n}\n","<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqRadioButton, KbqRadioGroup } from './radio.component';\n\n@NgModule({\n imports: [A11yModule],\n exports: [KbqRadioGroup, KbqRadioButton],\n declarations: [KbqRadioGroup, KbqRadioButton]\n})\nexport class KbqRadioModule {}\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-radio.mjs","sources":["../../../packages/components/radio/radio.component.ts","../../../packages/components/radio/radio.component.html","../../../packages/components/radio/radio.module.ts","../../../packages/components/radio/koobiq-components-radio.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n numberAttribute,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqColorDirective } from '@koobiq/components/core';\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n/** Change event object emitted by KbqRadio. */\nexport class KbqRadioChange {\n constructor(\n /** The KbqRadioButton that emits the change event. */\n public source: KbqRadioButton,\n /** The value of the KbqRadioButton. */\n public value: any\n ) {}\n}\n\n/**\n * Provider Expression that allows kbq-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nexport const KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqRadioGroup),\n multi: true\n};\n\n@Directive({\n selector: 'kbq-radio-group',\n exportAs: 'kbqRadioGroup',\n host: {\n role: 'radiogroup',\n class: 'kbq-radio-group',\n '[class.kbq-radio-group_normal]': '!big',\n '[class.kbq-radio-group_big]': 'big'\n },\n providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]\n})\nexport class KbqRadioGroup implements AfterContentInit, ControlValueAccessor {\n @Input() big: boolean = false;\n\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.updateRadioButtonNames();\n }\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition;\n }\n\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this.markRadiosForCheck();\n }\n\n /** Value of the radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadioButton();\n }\n }\n\n /** Whether the radio button is selected. */\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: KbqRadioButton | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadioButton();\n }\n\n /** Whether the radio group is disabled */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.markRadiosForCheck();\n }\n\n private _disabled: boolean = false;\n\n /** Whether the radio group is required */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = value;\n this.markRadiosForCheck();\n }\n\n /** Whether the radio group is required. */\n private _required: boolean = false;\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** Child radio buttons. */\n @ContentChildren(forwardRef(() => KbqRadioButton), { descendants: true })\n radios: QueryList<KbqRadioButton>;\n\n /**\n * Selected value for group. Should equal the value of the selected radio button if there *is*\n * a corresponding radio button with a matching value. If there is *not* such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n private _value: any = null;\n\n /** The HTML name attribute applied to radio buttons in this group. */\n private _name: string = `kbq-radio-group-${nextUniqueId++}`;\n\n /** The currently selected radio button. Should match value. */\n private _selected: KbqRadioButton | null = null;\n\n /** Whether the `value` has been set to its initial value. */\n private isInitialized: boolean = false;\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n private _labelPosition: 'before' | 'after' = 'after';\n\n constructor(private readonly changeDetector: ChangeDetectorRef) {}\n\n /** The method to be called in order to update ngModel */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n onTouched: () => any = () => {};\n\n checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on KbqRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the KbqRadioGroup.\n this.isInitialized = true;\n }\n\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n if (this.isInitialized) {\n this.change.emit(new KbqRadioChange(this._selected!, this._value));\n }\n }\n\n markRadiosForCheck() {\n if (this.radios) {\n this.radios.forEach((radio) => radio.markForCheck());\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n */\n writeValue(value: any) {\n this.value = value;\n this.changeDetector.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.changeDetector.markForCheck();\n }\n\n private updateRadioButtonNames(): void {\n this.radios?.forEach((radio) => (radio.name = this.name));\n }\n\n /** Updates the `selected` radio button from the internal _value state. */\n private updateSelectedRadioFromValue(): void {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n\n if (this.radios != null && !isAlreadySelected) {\n this._selected = null;\n\n this.radios.forEach((radio) => {\n radio.checked = this.value === radio.value;\n\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n}\n\n@Component({\n selector: 'kbq-radio-button',\n templateUrl: 'radio.component.html',\n styleUrls: ['radio.scss', 'radio-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqRadioButton',\n host: {\n class: 'kbq-radio-button',\n '[attr.id]': 'id',\n '[class.kbq-radio-button_big]': 'radioGroup?.big',\n '[class.kbq-selected]': 'checked',\n '[class.kbq-disabled]': 'disabled'\n }\n})\nexport class KbqRadioButton extends KbqColorDirective implements OnInit, AfterViewInit, OnDestroy {\n /** Whether this radio button is checked. */\n @Input({ transform: booleanAttribute })\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n\n if (value && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n } else if (!value && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n\n if (value) {\n // Notify all radio buttons with the same name to un-check.\n this.radioDispatcher.notify(this.id, this.name);\n }\n\n this.changeDetector.markForCheck();\n }\n }\n\n /** The value of this radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n\n if (this.radioGroup != null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n\n /** Whether the radio button is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);\n }\n\n set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled: boolean;\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 /** Whether the radio button is required. */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n\n set required(value: boolean) {\n this._required = value;\n }\n\n /** Whether this radio is required. */\n private _required: boolean;\n\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n\n /** Analog to HTML 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** The native `<input type=radio>` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n\n @Output() readonly change: EventEmitter<KbqRadioChange> = new EventEmitter<KbqRadioChange>();\n\n /** The parent radio group. May or may not be present. */\n radioGroup: KbqRadioGroup;\n\n @Input()\n isFocused: boolean = false;\n\n /** The unique ID for the radio button. */\n @Input() id: string;\n\n /** ID of the native input element inside `<kbq-radio-button>` */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n private _labelPosition: 'before' | 'after';\n\n private readonly uniqueId: string = `kbq-radio-${++nextUniqueId}`;\n\n /** Whether this radio is checked. */\n private _checked: boolean = false;\n\n /** Value assigned to this radio. */\n private _value: any = null;\n\n constructor(\n @Optional() radioGroup: KbqRadioGroup,\n private readonly changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private readonly radioDispatcher: UniqueSelectionDispatcher\n ) {\n super();\n\n this.id = this.uniqueId;\n\n this.radioGroup = radioGroup;\n\n this.removeUniqueSelectionListener = radioDispatcher.listen((id: string, name: string) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n\n ngAfterViewInit() {\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup.touch();\n }\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.removeUniqueSelectionListener();\n }\n\n /** Focuses the radio button. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this.changeDetector.markForCheck();\n }\n\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling & forcing skip event from closing actions for the second event will solve that issue.\n event.stopPropagation();\n (event as Event & { kbqPopoverPreventHide: boolean }).kbqPopoverPreventHide = true;\n }\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n\n this.checked = true;\n this.emitChangeEvent();\n\n if (this.radioGroup) {\n this.radioGroup.controlValueAccessorChangeFn(this.value);\n this.radioGroup.touch();\n\n if (groupValueChanged) {\n this.radioGroup.emitChangeEvent();\n }\n }\n }\n\n /** Unregister function for _radioDispatcher */\n private readonly removeUniqueSelectionListener: () => void = () => {};\n\n /** Dispatch change event with current value. */\n private emitChangeEvent(): void {\n this.change.emit(new KbqRadioChange(this, this._value));\n }\n}\n","<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqRadioButton, KbqRadioGroup } from './radio.component';\n\n@NgModule({\n imports: [A11yModule],\n exports: [KbqRadioGroup, KbqRadioButton],\n declarations: [KbqRadioGroup, KbqRadioButton]\n})\nexport class KbqRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ class KbqRiskLevel {
25
25
  this._riskLevelColor = value || KbqRiskLevelColors.FadeContrast;
26
26
  }
27
27
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRiskLevel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KbqRiskLevel, 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-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 }); }
28
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KbqRiskLevel, 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 }); }
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqRiskLevel, decorators: [{
31
31
  type: Component,
@@ -34,7 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
34
34
  '[class.kbq-risk-level_filled]': '!outline',
35
35
  '[class.kbq-risk-level_outline]': 'outline',
36
36
  '[class]': 'riskLevelColor'
37
- }, 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-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"] }]
37
+ }, 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"] }]
38
38
  }], propDecorators: { outline: [{
39
39
  type: Input
40
40
  }], riskLevelColor: [{
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-risk-level.mjs","sources":["../../../packages/components/risk-level/risk-level.component.ts","../../../packages/components/risk-level/risk-level.module.ts","../../../packages/components/risk-level/koobiq-components-risk-level.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nexport enum KbqRiskLevelColors {\n FadeContrast = 'fade-contrast',\n FadeSuccess = 'fade-success',\n FadeWarning = 'fade-warning',\n FadeError = 'fade-error',\n\n Success = 'success',\n Warning = 'warning',\n Error = 'error'\n}\n\n@Component({\n selector: 'kbq-risk-level',\n template: '<ng-content />',\n styleUrls: ['risk-level.component.scss', 'risk-level-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-risk-level',\n '[class.kbq-risk-level_filled]': '!outline',\n '[class.kbq-risk-level_outline]': 'outline',\n '[class]': 'riskLevelColor'\n }\n})\nexport class KbqRiskLevel {\n @Input() outline: boolean = false;\n\n @Input()\n get riskLevelColor(): string {\n return `kbq-risk-level_${this._riskLevelColor}`;\n }\n\n set riskLevelColor(value: string | KbqRiskLevelColors) {\n this._riskLevelColor = value || KbqRiskLevelColors.FadeContrast;\n }\n\n private _riskLevelColor: string | KbqRiskLevelColors = KbqRiskLevelColors.FadeContrast;\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqRiskLevel } from './risk-level.component';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule\n ],\n declarations: [KbqRiskLevel],\n exports: [KbqRiskLevel]\n})\nexport class KbqRiskLevelModule {}\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-risk-level.mjs","sources":["../../../packages/components/risk-level/risk-level.component.ts","../../../packages/components/risk-level/risk-level.module.ts","../../../packages/components/risk-level/koobiq-components-risk-level.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nexport enum KbqRiskLevelColors {\n FadeContrast = 'fade-contrast',\n FadeSuccess = 'fade-success',\n FadeWarning = 'fade-warning',\n FadeError = 'fade-error',\n\n Success = 'success',\n Warning = 'warning',\n Error = 'error'\n}\n\n@Component({\n selector: 'kbq-risk-level',\n template: '<ng-content />',\n styleUrls: ['risk-level.component.scss', 'risk-level-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-risk-level',\n '[class.kbq-risk-level_filled]': '!outline',\n '[class.kbq-risk-level_outline]': 'outline',\n '[class]': 'riskLevelColor'\n }\n})\nexport class KbqRiskLevel {\n @Input() outline: boolean = false;\n\n @Input()\n get riskLevelColor(): string {\n return `kbq-risk-level_${this._riskLevelColor}`;\n }\n\n set riskLevelColor(value: string | KbqRiskLevelColors) {\n this._riskLevelColor = value || KbqRiskLevelColors.FadeContrast;\n }\n\n private _riskLevelColor: string | KbqRiskLevelColors = KbqRiskLevelColors.FadeContrast;\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqRiskLevel } from './risk-level.component';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule\n ],\n declarations: [KbqRiskLevel],\n exports: [KbqRiskLevel]\n})\nexport class KbqRiskLevelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -219,7 +219,7 @@ class KbqSelect extends KbqAbstractSelect {
219
219
  return !this.disabled && this.cleaner && this.selectionModel.hasValue();
220
220
  }
221
221
  get selected() {
222
- return this.multiple ? this.selectionModel.selected : this.selectionModel.selected[0];
222
+ return this.multiSelection ? this.selectionModel.selected : this.selectionModel.selected[0];
223
223
  }
224
224
  get triggerValue() {
225
225
  if (this.empty) {
@@ -253,6 +253,10 @@ class KbqSelect extends KbqAbstractSelect {
253
253
  ? KbqComponentColors.Error
254
254
  : KbqComponentColors.ContrastFade;
255
255
  }
256
+ /** Whether multiple choice is enabled or not. True if multiple or multiline */
257
+ get multiSelection() {
258
+ return this.multiple || this.multiline;
259
+ }
256
260
  constructor(_changeDetectorRef, _ngZone, _renderer, defaultErrorStateMatcher, elementRef, overlayContainer, _dir, parentForm, parentFormGroup, parentFormField, ngControl, scrollStrategyFactory, localeService) {
257
261
  super();
258
262
  this._changeDetectorRef = _changeDetectorRef;
@@ -323,6 +327,10 @@ class KbqSelect extends KbqAbstractSelect {
323
327
  ];
324
328
  this.hiddenItemsText = 'еще {{ number }}';
325
329
  this.backdropClass = 'cdk-overlay-transparent-backdrop';
330
+ /**
331
+ * Whether to use a multiline matcher or not. Default is false
332
+ */
333
+ this.multiline = false;
326
334
  /** Combined stream of all of the child options' change events. */
327
335
  this.optionSelectionChanges = defer(() => {
328
336
  if (this.options) {
@@ -382,7 +390,7 @@ class KbqSelect extends KbqAbstractSelect {
382
390
  this.id = this.id;
383
391
  }
384
392
  ngOnInit() {
385
- this.selectionModel = new SelectionModel(this.multiple);
393
+ this.selectionModel = new SelectionModel(this.multiSelection);
386
394
  this.stateChanges.next();
387
395
  // We need `distinctUntilChanged` here, because some browsers will
388
396
  // fire the animation end event twice for the same animation. See:
@@ -404,7 +412,12 @@ class KbqSelect extends KbqAbstractSelect {
404
412
  });
405
413
  merge(this.optionSelectionChanges, this.visibleChanges)
406
414
  .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))
407
- .subscribe(() => setTimeout(() => this.calculateHiddenItems(), 0));
415
+ .subscribe(() => setTimeout(() => {
416
+ this.calculateHiddenItems();
417
+ if (this.multiline && this.overlayDir.overlayRef) {
418
+ this.setOverlayPosition();
419
+ }
420
+ }, 0));
408
421
  }
409
422
  ngAfterContentInit() {
410
423
  this.withVirtualScroll = !!this.cdkVirtualForOf;
@@ -735,11 +748,11 @@ class KbqSelect extends KbqAbstractSelect {
735
748
  const isArrowKey = [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW].includes(keyCode);
736
749
  const isOpenKey = [ENTER, SPACE].includes(keyCode);
737
750
  // Open the select on ALT + arrow key to match the native <select>
738
- if (isOpenKey || ((this.multiple || event.altKey) && isArrowKey)) {
751
+ if (isOpenKey || ((this.multiSelection || event.altKey) && isArrowKey)) {
739
752
  event.preventDefault(); // prevents the page from scrolling down when pressing space
740
753
  this.open();
741
754
  }
742
- else if (!this.multiple) {
755
+ else if (!this.multiSelection) {
743
756
  this.keyManager.onKeydown(event);
744
757
  }
745
758
  }
@@ -773,13 +786,13 @@ class KbqSelect extends KbqAbstractSelect {
773
786
  event.preventDefault();
774
787
  this.keyManager.activeItem.selectViaInteraction();
775
788
  }
776
- else if (this.multiple && keyCode === A && event.ctrlKey) {
789
+ else if (this.multiSelection && keyCode === A && event.ctrlKey) {
777
790
  this.selectAllHandler(event, this);
778
791
  }
779
792
  else {
780
793
  const previouslyFocusedIndex = this.keyManager.activeItemIndex;
781
794
  this.keyManager.onKeydown(event);
782
- if (this.multiple &&
795
+ if (this.multiSelection &&
783
796
  isArrowKey &&
784
797
  event.shiftKey &&
785
798
  this.keyManager.activeItem &&
@@ -807,7 +820,7 @@ class KbqSelect extends KbqAbstractSelect {
807
820
  */
808
821
  setSelectionByValue(value) {
809
822
  this.previousSelectionModelSelected = this.selectionModel.selected;
810
- if (this.multiple && value) {
823
+ if (this.multiSelection && value) {
811
824
  if (!Array.isArray(value)) {
812
825
  throw getKbqSelectNonArrayValueError();
813
826
  }
@@ -874,7 +887,7 @@ class KbqSelect extends KbqAbstractSelect {
874
887
  if (this.panelOpen && this.panel) {
875
888
  this.scrollActiveOptionIntoView();
876
889
  }
877
- else if (!this.panelOpen && !this.multiple && this.keyManager.activeItem) {
890
+ else if (!this.panelOpen && !this.multiSelection && this.keyManager.activeItem) {
878
891
  this.keyManager.activeItem.selectViaInteraction();
879
892
  }
880
893
  });
@@ -885,7 +898,7 @@ class KbqSelect extends KbqAbstractSelect {
885
898
  .pipe(takeUntilDestroyed(this.destroyRef), takeUntil(this.options.changes))
886
899
  .subscribe((event) => {
887
900
  this.onSelect(event.source, event.isUserInput);
888
- if (event.isUserInput && !this.multiple && this.panelOpen) {
901
+ if (event.isUserInput && !this.multiSelection && this.panelOpen) {
889
902
  this.close();
890
903
  this.focus();
891
904
  }
@@ -902,7 +915,7 @@ class KbqSelect extends KbqAbstractSelect {
902
915
  /** Invoked when an option is clicked. */
903
916
  onSelect(option, isUserInput) {
904
917
  const wasSelected = this.selectionModel.isSelected(option);
905
- if (option.value == null && !this.multiple) {
918
+ if (option.value == null && !this.multiSelection) {
906
919
  option.deselect();
907
920
  this.selectionModel.clear();
908
921
  this.propagateChanges(option.value);
@@ -917,7 +930,7 @@ class KbqSelect extends KbqAbstractSelect {
917
930
  if (isUserInput) {
918
931
  this.keyManager.setActiveItem(option);
919
932
  }
920
- if (this.multiple) {
933
+ if (this.multiSelection) {
921
934
  this.sortValues();
922
935
  if (isUserInput) {
923
936
  // In case the user selected the option with their mouse, we
@@ -941,7 +954,7 @@ class KbqSelect extends KbqAbstractSelect {
941
954
  }
942
955
  /** Sorts the selected values in the selected based on their order in the panel. */
943
956
  sortValues() {
944
- if (this.multiple) {
957
+ if (this.multiSelection) {
945
958
  const options = this.options.toArray();
946
959
  this.selectionModel.sort((a, b) => this.sortComparator ? this.sortComparator(a, b, options) : a.value - b.value);
947
960
  this.stateChanges.next();
@@ -950,7 +963,7 @@ class KbqSelect extends KbqAbstractSelect {
950
963
  /** Emits change event to set the model value. */
951
964
  propagateChanges(fallbackValue) {
952
965
  let valueToEmit;
953
- if (this.multiple) {
966
+ if (this.multiSelection) {
954
967
  valueToEmit = this.selected.map((option) => option.value);
955
968
  }
956
969
  else {
@@ -1025,11 +1038,11 @@ class KbqSelect extends KbqAbstractSelect {
1025
1038
  return triggerClone;
1026
1039
  }
1027
1040
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i2.OverlayContainer }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: i5.KbqFormField, host: true, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: KBQ_SELECT_SCROLL_STRATEGY }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1028
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqSelect, selector: "kbq-select", inputs: { hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", hasBackdrop: "hasBackdrop", placeholder: "placeholder", required: "required", multiple: ["multiple", "multiple", booleanAttribute], compareWith: "compareWith", selectAllHandler: "selectAllHandler", panelWidth: "panelWidth", panelMinWidth: ["panelMinWidth", "panelMinWidth", numberAttribute], value: "value", id: "id", tabIndex: ["tabIndex", "tabIndex", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute], hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "click": "toggle()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.kbq-select_multiple": "multiple", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState" }, classAttribute: "kbq-select" }, providers: [
1041
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqSelect, selector: "kbq-select", inputs: { hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", multiline: ["multiline", "multiline", booleanAttribute], hasBackdrop: "hasBackdrop", placeholder: "placeholder", required: "required", multiple: ["multiple", "multiple", booleanAttribute], compareWith: "compareWith", selectAllHandler: "selectAllHandler", panelWidth: "panelWidth", panelMinWidth: ["panelMinWidth", "panelMinWidth", numberAttribute], value: "value", id: "id", tabIndex: ["tabIndex", "tabIndex", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute], hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "click": "toggle()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.kbq-select_multiple": "multiple", "class.kbq-select_multiline": "multiline", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState" }, classAttribute: "kbq-select" }, providers: [
1029
1042
  { provide: KbqFormFieldControl, useExisting: KbqSelect },
1030
1043
  { provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
1031
1044
  { provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
1032
- ], queries: [{ propertyName: "footer", first: true, predicate: KbqSelectFooter, descendants: true, read: ElementRef }, { propertyName: "cdkVirtualForOf", first: true, predicate: CdkVirtualForOf, descendants: true }, { propertyName: "customTrigger", first: true, predicate: KbqSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: KbqSelectMatcher, descendants: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["kbqSelectTagContent"], descendants: true, read: TemplateRef }, { propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true }, { propertyName: "options", predicate: KbqOption, descendants: true }, { propertyName: "optionGroups", predicate: KbqOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqSelect"], usesInheritance: true, ngImport: i0, template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n }\n @if (!empty) {\n <span>\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiple) {\n <div class=\"kbq-select__match-list\">\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n }\n </span>\n }\n\n @if (canShowCleaner) {\n <div\n class=\"kbq-select__cleaner\"\n (click)=\"clearValue($event)\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\"\n >\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n [@fadeInContent]=\"'showing'\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-grow:1;align-items:center;overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-right) var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);max-height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;justify-content:center;width:var(--kbq-form-field-size-addon-width)}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content{box-sizing:initial}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i7.KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: i7.KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i9.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], animations: [
1045
+ ], queries: [{ propertyName: "footer", first: true, predicate: KbqSelectFooter, descendants: true, read: ElementRef }, { propertyName: "cdkVirtualForOf", first: true, predicate: CdkVirtualForOf, descendants: true }, { propertyName: "customTrigger", first: true, predicate: KbqSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: KbqSelectMatcher, descendants: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["kbqSelectTagContent"], descendants: true, read: TemplateRef }, { propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true }, { propertyName: "options", predicate: KbqOption, descendants: true }, { propertyName: "optionGroups", predicate: KbqOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqSelect"], usesInheritance: true, ngImport: i0, template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiline]=\"multiline\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n } @else {\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiSelection) {\n <div\n [class.kbq-select__match-list]=\"!multiline\"\n [class.kbq-select__multiline-match-list]=\"multiline\"\n >\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n\n @if (!multiline) {\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n }\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n </div>\n }\n }\n\n @if (canShowCleaner) {\n <div\n class=\"kbq-select__cleaner\"\n (click)=\"clearValue($event)\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\"\n >\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n [@fadeInContent]=\"'showing'\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;min-height:var(--kbq-form-field-size-height)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-grow:1;align-items:center}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-right) var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);max-height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__matcher{max-width:100%;padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__arrow-wrapper{align-self:flex-start;align-items:center;height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-s))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__multiline-match-list{display:flex;flex-direction:row;flex-wrap:wrap;margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));gap:var(--kbq-size-xxs)}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;justify-content:center;min-width:var(--kbq-form-field-size-addon-width)}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content{box-sizing:initial}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i7.KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: i7.KbqTagRemove, selector: "[kbqTagRemove]" }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i9.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], animations: [
1033
1046
  kbqSelectAnimations.transformPanel,
1034
1047
  kbqSelectAnimations.fadeInContent
1035
1048
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -1041,6 +1054,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1041
1054
  '[attr.disabled]': 'disabled || null',
1042
1055
  class: 'kbq-select',
1043
1056
  '[class.kbq-select_multiple]': 'multiple',
1057
+ '[class.kbq-select_multiline]': 'multiline',
1044
1058
  '[class.kbq-disabled]': 'disabled',
1045
1059
  '[class.kbq-invalid]': 'errorState',
1046
1060
  '(click)': 'toggle()',
@@ -1055,7 +1069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1055
1069
  { provide: KbqFormFieldControl, useExisting: KbqSelect },
1056
1070
  { provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
1057
1071
  { provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
1058
- ], template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n }\n @if (!empty) {\n <span>\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiple) {\n <div class=\"kbq-select__match-list\">\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n }\n </span>\n }\n\n @if (canShowCleaner) {\n <div\n class=\"kbq-select__cleaner\"\n (click)=\"clearValue($event)\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\"\n >\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n [@fadeInContent]=\"'showing'\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-grow:1;align-items:center;overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-right) var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);max-height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;justify-content:center;width:var(--kbq-form-field-size-addon-width)}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content{box-sizing:initial}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"] }]
1072
+ ], template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger\n cdkOverlayOrigin\n class=\"kbq-select__trigger\"\n [class.kbq-select__trigger_empty]=\"empty\"\n [class.kbq-select__trigger_multiline]=\"multiline\"\n [class.kbq-select__trigger_multiple]=\"multiple\"\n [class.kbq-select__trigger_single]=\"!multiple\"\n>\n @if (!!customMatcher) {\n <ng-content select=\"kbq-select-matcher, [kbq-select-matcher]\" />\n } @else {\n <div class=\"kbq-select__matcher\">\n @if (empty) {\n <span class=\"kbq-select__placeholder\">\n {{ placeholder || '\\u00A0' }}\n </span>\n } @else {\n @if (!!customTrigger) {\n <ng-content select=\"kbq-select-trigger, [kbq-select-trigger]\" />\n } @else {\n <div class=\"kbq-select__match-container\">\n @if (multiSelection) {\n <div\n [class.kbq-select__match-list]=\"!multiline\"\n [class.kbq-select__multiline-match-list]=\"multiline\"\n >\n @if (!customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <kbq-tag\n [color]=\"colorForState\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n >\n {{ option.viewValue }}\n @if (!option.disabled && !disabled) {\n <i\n kbq-icon=\"kbq-xmark-s_16\"\n kbqTagRemove\n (click)=\"onRemoveMatcherItem(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n }\n @if (customTagTemplateRef) {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"$any(customTagTemplateRef)\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n\n @if (!multiline) {\n <div\n class=\"kbq-select__match-hidden-text\"\n [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\"\n >\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n }\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n </div>\n }\n }\n\n @if (canShowCleaner) {\n <div\n class=\"kbq-select__cleaner\"\n (click)=\"clearValue($event)\"\n (keydown.enter)=\"clearValue($event)\"\n (keydown.space)=\"clearValue($event)\"\n >\n <ng-content select=\"kbq-cleaner\" />\n </div>\n }\n\n <div class=\"kbq-select__arrow-wrapper\">\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-select__arrow\" [color]=\"colorForState\"></i>\n </div>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayMinWidth]=\"overlayMinWidth\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClass\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayWidth]=\"overlayWidth\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n cdkMonitorSubtreeFocus\n class=\"kbq-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search) {\n <div class=\"kbq-select__search-container\">\n <ng-content select=\"[kbqSelectSearch]\" />\n </div>\n }\n\n <div\n #optionsContainer\n class=\"kbq-select__content kbq-scrollbar\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n [@fadeInContent]=\"'showing'\"\n >\n @if (isEmptySearchResult) {\n <div class=\"kbq-select__no-options-message\">\n <ng-content select=\"[kbq-select-search-empty-result]\" />\n </div>\n }\n <ng-content />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-select .kbq-select__trigger{display:flex;box-sizing:border-box;position:relative;cursor:pointer;min-height:var(--kbq-form-field-size-height)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-select .kbq-select__matcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-grow:1;align-items:center}.kbq-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty .kbq-select__matcher{padding:var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-right) var(--kbq-select-size-single-padding-vertical) var(--kbq-select-size-single-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher{padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);max-height:calc(var(--kbq-form-field-size-height) - var(--kbq-select-size-multiple-padding-vertical) * 2);gap:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__matcher{max-width:100%;padding:var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-right) var(--kbq-select-size-multiple-padding-vertical) var(--kbq-select-size-multiple-padding-left)}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__arrow-wrapper{align-self:flex-start;align-items:center;height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-s))}.kbq-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__multiline-match-list{display:flex;flex-direction:row;flex-wrap:wrap;margin-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));gap:var(--kbq-size-xxs)}.kbq-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-select .kbq-select__match-container .kbq-select__match-hidden-text{flex:0 0 70px;align-self:center;padding-left:4px;padding-right:var(--kbq-select-size-multiple-content-gap, var(--kbq-size-xxs));text-align:right}.kbq-select .kbq-select__arrow-wrapper{display:flex;align-self:center;justify-content:center;min-width:var(--kbq-form-field-size-addon-width)}.kbq-form-field-appearance-fill .kbq-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-select__panel .kbq-option{font-size:inherit}.kbq-select__panel .kbq-select__no-options-message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--kbq-option-size-height, var(--kbq-size-3xl));cursor:default;outline:none;padding-left:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));padding-right:var(--kbq-option-size-horizontal-padding, var(--kbq-size-m));border:var(--kbq-option-size-border-width, var(--kbq-size-3xs)) solid transparent}.kbq-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-select__panel .kbq-select__footer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;min-height:40px;border-top-width:1px;border-top-style:solid;padding:var(--kbq-size-xxs) var(--kbq-size-l)}.kbq-select__content{box-sizing:initial}.kbq-select__content .kbq-option{position:relative}.kbq-select__content .kbq-option:before,.kbq-select__content .kbq-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-select__content .kbq-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-select__content .kbq-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport{min-height:var(--kbq-select-panel-size-max-height, 256px);max-height:var(--kbq-select-panel-size-max-height, 256px)}.kbq-select__content:not(:has(>.kbq-select__no-options-message)) .cdk-virtual-scroll-viewport.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{max-width:100%}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-select{color:var(--kbq-foreground-contrast)}.kbq-select.kbq-control_has-validate-directive.ng-invalid,.kbq-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-select.kbq-disabled .kbq-select__placeholder{color:var(--kbq-form-field-states-disabled-placeholder)}.kbq-select__placeholder{text-overflow:ellipsis;color:var(--kbq-form-field-default-placeholder)}.kbq-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-select__panel .kbq-select__footer{border-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__search-container{border-bottom-color:var(--kbq-divider-color, var(--kbq-line-contrast-less))}.kbq-select__no-options-message{color:var(--kbq-foreground-contrast-secondary)}.kbq-select,.kbq-select__panel{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-select,.kbq-tree-select,.kbq-select__panel{--kbq-select-size-single-padding-left: var(--kbq-form-field-size-infix-padding);--kbq-select-size-single-padding-right: var(--kbq-form-field-size-suffix-padding);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: 0;--kbq-select-size-multiple-padding-right: 0;--kbq-select-size-multiple-padding-vertical: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-select-panel-size-border-radius: var(--kbq-size-border-radius);--kbq-select-panel-size-max-height: 256px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}\n"] }]
1059
1073
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ErrorStateMatcher }, { type: i0.ElementRef }, { type: i2.OverlayContainer }, { type: i3.Directionality, decorators: [{
1060
1074
  type: Optional
1061
1075
  }] }, { type: i4.NgForm, decorators: [{
@@ -1130,6 +1144,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1130
1144
  type: Input
1131
1145
  }], sortComparator: [{
1132
1146
  type: Input
1147
+ }], multiline: [{
1148
+ type: Input,
1149
+ args: [{ transform: booleanAttribute }]
1133
1150
  }], openedChange: [{
1134
1151
  type: Output
1135
1152
  }], openedStream: [{