@koobiq/components 19.8.0 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/index.d.ts +238 -1
- package/actions-panel/index.d.ts +303 -5
- package/alert/index.d.ts +54 -1
- package/app-switcher/index.d.ts +239 -1
- package/autocomplete/index.d.ts +265 -1
- package/badge/index.d.ts +57 -1
- package/breadcrumbs/breadcrumbs.scss +7 -0
- package/breadcrumbs/index.d.ts +243 -1
- package/button/_button-base.scss +20 -0
- package/button/_button-theme.scss +3 -11
- package/button/button.scss +0 -11
- package/button/index.d.ts +153 -1
- package/button-toggle/index.d.ts +155 -1
- package/checkbox/index.d.ts +159 -1
- package/clamped-text/index.d.ts +144 -4
- package/code-block/_code-block-theme.scss +0 -6
- package/code-block/code-block-tokens.scss +0 -2
- package/code-block/index.d.ts +383 -1
- package/content-panel/content-panel.scss +0 -8
- package/content-panel/index.d.ts +158 -2
- package/core/highlight/_highlight-theme.scss +9 -0
- package/core/index.d.ts +4405 -1
- package/core/option/_option-theme.scss +5 -14
- package/core/styles/_koobiq-theme.scss +1 -0
- package/core/styles/theming/_components-theming.scss +0 -62
- package/datepicker/index.d.ts +699 -1
- package/divider/index.d.ts +20 -1
- package/dl/index.d.ts +37 -1
- package/dropdown/_dropdown-theme.scss +4 -8
- package/dropdown/dropdown.scss +4 -0
- package/dropdown/index.d.ts +473 -1
- package/dynamic-translation/index.d.ts +81 -2
- package/ellipsis-center/index.d.ts +38 -1
- package/empty-state/index.d.ts +45 -1
- package/fesm2022/koobiq-components-accordion.mjs +103 -114
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +16 -16
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +35 -49
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +81 -86
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +294 -304
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +35 -42
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +154 -163
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +87 -86
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +209 -96
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +50 -52
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +42 -49
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +125 -125
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +90 -107
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +1630 -618
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +285 -349
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +14 -25
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +27 -29
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +202 -167
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +23 -23
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +16 -21
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +35 -39
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +135 -234
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +321 -561
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +211 -430
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +42 -43
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +65 -60
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +116 -155
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +38 -53
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +105 -114
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +37 -44
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +31 -35
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +169 -163
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +159 -161
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +54 -55
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +36 -36
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +95 -86
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +24 -30
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +25 -32
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +94 -80
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +17 -17
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +69 -60
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +44 -35
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +249 -234
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +59 -55
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +88 -128
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +12 -12
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +27 -20
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +110 -96
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +21 -23
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +269 -275
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +177 -267
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +37 -56
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +64 -65
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +46 -38
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +52 -58
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +23 -30
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +54 -69
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +51 -63
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +91 -119
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +25 -23
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +227 -227
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +217 -209
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +48 -48
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/index.d.ts +574 -1
- package/filter-bar/_filter-bar-theme.scss +0 -4
- package/filter-bar/index.d.ts +796 -1
- package/form-field/index.d.ts +569 -1
- package/icon/index.d.ts +162 -1
- package/index.d.ts +2 -1
- package/inline-edit/index.d.ts +171 -2
- package/input/index.d.ts +339 -1
- package/link/index.d.ts +56 -1
- package/list/index.d.ts +220 -1
- package/loader-overlay/index.d.ts +57 -1
- package/markdown/index.d.ts +68 -1
- package/modal/_modal-theme.scss +0 -8
- package/modal/index.d.ts +311 -1
- package/navbar/index.d.ts +304 -1
- package/notification-center/index.d.ts +237 -1
- package/notification-center/notification-center.scss +0 -8
- package/overflow-items/index.d.ts +161 -2
- package/package.json +10 -18
- package/popover/index.d.ts +182 -1
- package/popover/popover.scss +8 -12
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/index.d.ts +31 -1
- package/progress-spinner/index.d.ts +37 -1
- package/radio/index.d.ts +207 -1
- package/resizer/index.d.ts +85 -2
- package/schematics/collection.json +5 -0
- package/schematics/migrations/css-selectors/index.js +1 -1
- package/schematics/migrations/deprecated-icons/index.js +1 -1
- package/schematics/migrations/new-icons-pack/index.js +1 -1
- package/schematics/migrations/v20-upgrade/README.md +72 -0
- package/schematics/migrations/v20-upgrade/data.js +274 -0
- package/schematics/migrations/v20-upgrade/index.js +222 -0
- package/schematics/migrations/v20-upgrade/schema.json +20 -0
- package/schematics/migrations.json +10 -0
- package/schematics/ng-add/index.js +3 -4
- package/scrollbar/index.d.ts +136 -1
- package/search-expandable/index.d.ts +98 -1
- package/select/index.d.ts +693 -1
- package/sidebar/index.d.ts +92 -1
- package/sidepanel/index.d.ts +263 -1
- package/sidepanel/sidepanel.scss +0 -8
- package/skeleton/index.d.ts +26 -2
- package/split-button/index.d.ts +46 -1
- package/splitter/index.d.ts +141 -1
- package/table/index.d.ts +23 -1
- package/tabs/_tabs-common.scss +31 -1
- package/tabs/_tabs-theme.scss +2 -2
- package/tabs/index.d.ts +645 -1
- package/tags/index.d.ts +706 -1
- package/textarea/index.d.ts +134 -1
- package/time-range/index.d.ts +310 -7
- package/timepicker/index.d.ts +193 -1
- package/timezone/index.d.ts +122 -1
- package/title/index.d.ts +41 -1
- package/toast/index.d.ts +164 -1
- package/toggle/index.d.ts +84 -1
- package/tooltip/index.d.ts +163 -1
- package/top-bar/index.d.ts +33 -1
- package/tree/_tree-theme.scss +4 -0
- package/tree/index.d.ts +718 -1
- package/tree/tree-option.scss +20 -7
- package/tree-select/_tree-select-theme.scss +39 -0
- package/tree-select/index.d.ts +377 -1
- package/username/index.d.ts +176 -5
- package/accordion/accordion-content.d.ts +0 -6
- package/accordion/accordion-content.directive.d.ts +0 -27
- package/accordion/accordion-header.d.ts +0 -6
- package/accordion/accordion-header.directive.d.ts +0 -7
- package/accordion/accordion-item.d.ts +0 -77
- package/accordion/accordion-trigger.component.d.ts +0 -24
- package/accordion/accordion-trigger.directive.d.ts +0 -21
- package/accordion/accordion.component.d.ts +0 -79
- package/accordion/accordion.module.d.ts +0 -12
- package/accordion/public-api.d.ts +0 -9
- package/actions-panel/actions-panel-config.d.ts +0 -82
- package/actions-panel/actions-panel-container.d.ts +0 -90
- package/actions-panel/actions-panel-ref.d.ts +0 -44
- package/actions-panel/actions-panel.d.ts +0 -84
- package/actions-panel/module.d.ts +0 -7
- package/alert/alert.component.d.ts +0 -43
- package/alert/alert.module.d.ts +0 -9
- package/alert/public-api.d.ts +0 -2
- package/app-switcher/app-switcher-animations.d.ts +0 -5
- package/app-switcher/app-switcher-dropdown-app.d.ts +0 -11
- package/app-switcher/app-switcher-dropdown-site.d.ts +0 -9
- package/app-switcher/app-switcher.d.ts +0 -198
- package/app-switcher/app-switcher.module.d.ts +0 -10
- package/app-switcher/kbq-app-switcher-list-item.d.ts +0 -16
- package/app-switcher/public-api.d.ts +0 -6
- package/autocomplete/autocomplete-origin.directive.d.ts +0 -12
- package/autocomplete/autocomplete-trigger.directive.d.ts +0 -169
- package/autocomplete/autocomplete.component.d.ts +0 -88
- package/autocomplete/autocomplete.module.d.ts +0 -12
- package/autocomplete/public-api.d.ts +0 -4
- package/badge/badge.component.d.ts +0 -46
- package/badge/badge.module.d.ts +0 -9
- package/badge/public-api.d.ts +0 -2
- package/breadcrumbs/breadcrumbs.d.ts +0 -127
- package/breadcrumbs/breadcrumbs.module.d.ts +0 -7
- package/breadcrumbs/breadcrumbs.types.d.ts +0 -22
- package/breadcrumbs/public-api.d.ts +0 -5
- package/breadcrumbs/roving-focus-group.directive.d.ts +0 -50
- package/breadcrumbs/roving-focus-item.directive.d.ts +0 -50
- package/breadcrumbs/utils.d.ts +0 -19
- package/button/button-group.d.ts +0 -45
- package/button/button.component.d.ts +0 -59
- package/button/button.dropdown-trigger.directive.d.ts +0 -14
- package/button/button.module.d.ts +0 -12
- package/button/public-api.d.ts +0 -4
- package/button-toggle/button-toggle.component.d.ts +0 -146
- package/button-toggle/button-toggle.module.d.ts +0 -9
- package/button-toggle/public-api.d.ts +0 -2
- package/checkbox/checkbox-config.d.ts +0 -13
- package/checkbox/checkbox-module.d.ts +0 -9
- package/checkbox/checkbox-required-validator.d.ts +0 -13
- package/checkbox/checkbox.d.ts +0 -128
- package/checkbox/public-api.d.ts +0 -4
- package/clamped-text/clamped-list.d.ts +0 -41
- package/clamped-text/clamped-text.d.ts +0 -65
- package/clamped-text/constants.d.ts +0 -34
- package/clamped-text/module.d.ts +0 -8
- package/code-block/code-block-highlight.d.ts +0 -98
- package/code-block/code-block.d.ts +0 -255
- package/code-block/code-block.module.d.ts +0 -7
- package/code-block/public-api.d.ts +0 -4
- package/code-block/types.d.ts +0 -36
- package/content-panel/content-panel.d.ts +0 -149
- package/content-panel/module.d.ts +0 -7
- package/core/animation/animation.d.ts +0 -37
- package/core/animation/fade-animations.d.ts +0 -2
- package/core/animation/index.d.ts +0 -3
- package/core/animation/select-animations.d.ts +0 -12
- package/core/common-behaviors/checkbox.d.ts +0 -5
- package/core/common-behaviors/clipboard.d.ts +0 -12
- package/core/common-behaviors/color.d.ts +0 -50
- package/core/common-behaviors/common-module.d.ts +0 -38
- package/core/common-behaviors/constructor.d.ts +0 -9
- package/core/common-behaviors/disabled.d.ts +0 -8
- package/core/common-behaviors/error-state.d.ts +0 -46
- package/core/common-behaviors/flex.d.ts +0 -4
- package/core/common-behaviors/hover.d.ts +0 -15
- package/core/common-behaviors/index.d.ts +0 -14
- package/core/common-behaviors/orientation.d.ts +0 -4
- package/core/common-behaviors/read-state.d.ts +0 -12
- package/core/common-behaviors/size.d.ts +0 -4
- package/core/common-behaviors/tabindex.d.ts +0 -8
- package/core/datetime/date-adapter.d.ts +0 -12
- package/core/datetime/date-formats.d.ts +0 -4
- package/core/datetime/index.d.ts +0 -2
- package/core/error/error-state-matcher.d.ts +0 -39
- package/core/form-field/field-sizing-content.d.ts +0 -21
- package/core/form-field/form-field-ref.d.ts +0 -28
- package/core/form-field/index.d.ts +0 -2
- package/core/formatters/date/formatter.d.ts +0 -11
- package/core/formatters/date/formatter.pipe.d.ts +0 -139
- package/core/formatters/filesize/config.d.ts +0 -66
- package/core/formatters/filesize/formatter.d.ts +0 -17
- package/core/formatters/filesize/index.d.ts +0 -3
- package/core/formatters/filesize/size.d.ts +0 -52
- package/core/formatters/index.d.ts +0 -13
- package/core/formatters/number/formatter.d.ts +0 -101
- package/core/forms/forms-module.d.ts +0 -7
- package/core/forms/forms.directive.d.ts +0 -22
- package/core/forms/index.d.ts +0 -3
- package/core/forms/validators.d.ts +0 -120
- package/core/highlight/highlight.pipe.d.ts +0 -10
- package/core/highlight/index.d.ts +0 -9
- package/core/line/line.d.ts +0 -23
- package/core/locales/en-US.d.ts +0 -175
- package/core/locales/es-LA.d.ts +0 -174
- package/core/locales/formatters.d.ts +0 -190
- package/core/locales/index.d.ts +0 -9
- package/core/locales/locale-service.d.ts +0 -1112
- package/core/locales/locale-service.module.d.ts +0 -6
- package/core/locales/pt-BR.d.ts +0 -174
- package/core/locales/ru-RU.d.ts +0 -175
- package/core/locales/tk-TM.d.ts +0 -175
- package/core/locales/types.d.ts +0 -77
- package/core/navbar/index.d.ts +0 -1
- package/core/navbar/rectangle-item.d.ts +0 -14
- package/core/option/action-container.d.ts +0 -5
- package/core/option/action.d.ts +0 -38
- package/core/option/index.d.ts +0 -5
- package/core/option/optgroup.d.ts +0 -16
- package/core/option/option-module.d.ts +0 -10
- package/core/option/option.d.ts +0 -170
- package/core/overlay/overlay-position-map.d.ts +0 -40
- package/core/pop-up/constants.d.ts +0 -56
- package/core/pop-up/focus-trap-strategy.d.ts +0 -5
- package/core/pop-up/index.d.ts +0 -5
- package/core/pop-up/pop-up-styles.d.ts +0 -2
- package/core/pop-up/pop-up-trigger.d.ts +0 -104
- package/core/pop-up/pop-up.d.ts +0 -57
- package/core/public-api.d.ts +0 -23
- package/core/select/common.d.ts +0 -59
- package/core/select/constants.d.ts +0 -22
- package/core/select/errors.d.ts +0 -19
- package/core/select/events.d.ts +0 -1
- package/core/select/index.d.ts +0 -4
- package/core/selection/constants.d.ts +0 -4
- package/core/selection/index.d.ts +0 -3
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +0 -23
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +0 -8
- package/core/services/measure-scrollbar.service.d.ts +0 -11
- package/core/services/theme.service.d.ts +0 -41
- package/core/title/index.d.ts +0 -1
- package/core/title/title-text-ref.d.ts +0 -6
- package/core/tokens/index.d.ts +0 -1
- package/core/tokens/window.d.ts +0 -5
- package/core/utils/dom.d.ts +0 -4
- package/core/utils/index.d.ts +0 -2
- package/core/utils/public-api.d.ts +0 -1
- package/core/utils/utils.d.ts +0 -25
- package/core/validation/index.d.ts +0 -1
- package/core/validation/validation.d.ts +0 -29
- package/core/version.d.ts +0 -2
- package/datepicker/calendar-body.component.d.ts +0 -55
- package/datepicker/calendar-header.component.d.ts +0 -51
- package/datepicker/calendar.component.d.ts +0 -89
- package/datepicker/datepicker-animations.d.ts +0 -9
- package/datepicker/datepicker-errors.d.ts +0 -2
- package/datepicker/datepicker-input.directive.d.ts +0 -221
- package/datepicker/datepicker-intl.d.ts +0 -32
- package/datepicker/datepicker-module.d.ts +0 -21
- package/datepicker/datepicker-toggle.component.d.ts +0 -57
- package/datepicker/datepicker.component.d.ts +0 -148
- package/datepicker/month-view.component.d.ts +0 -73
- package/datepicker/public-api.d.ts +0 -10
- package/divider/divider.component.d.ts +0 -18
- package/divider/divider.module.d.ts +0 -8
- package/divider/public-api.d.ts +0 -2
- package/dl/dl.component.d.ts +0 -26
- package/dl/dl.module.d.ts +0 -9
- package/dl/public-api.d.ts +0 -2
- package/dropdown/dropdown-animations.d.ts +0 -11
- package/dropdown/dropdown-content.directive.d.ts +0 -32
- package/dropdown/dropdown-errors.d.ts +0 -17
- package/dropdown/dropdown-item.component.d.ts +0 -52
- package/dropdown/dropdown-trigger.directive.d.ts +0 -156
- package/dropdown/dropdown.component.d.ts +0 -126
- package/dropdown/dropdown.module.d.ts +0 -13
- package/dropdown/dropdown.types.d.ts +0 -67
- package/dropdown/public-api.d.ts +0 -8
- package/dynamic-translation/dynamic-translation.d.ts +0 -72
- package/dynamic-translation/module.d.ts +0 -7
- package/ellipsis-center/ellipsis-center.directive.d.ts +0 -36
- package/ellipsis-center/public-api.d.ts +0 -1
- package/empty-state/empty-state.component.d.ts +0 -36
- package/empty-state/empty-state.module.d.ts +0 -9
- package/empty-state/public-api.d.ts +0 -2
- package/fesm2022/koobiq-components-navbar-ic.mjs +0 -863
- package/fesm2022/koobiq-components-navbar-ic.mjs.map +0 -1
- package/fesm2022/koobiq-components-risk-level.mjs +0 -75
- package/fesm2022/koobiq-components-risk-level.mjs.map +0 -1
- package/file-upload/dropzone.d.ts +0 -147
- package/file-upload/file-upload.d.ts +0 -102
- package/file-upload/file-upload.module.d.ts +0 -20
- package/file-upload/multiple-file-upload.component.d.ts +0 -138
- package/file-upload/primitives/file-drop.d.ts +0 -35
- package/file-upload/primitives/file-picker.d.ts +0 -82
- package/file-upload/primitives/index.d.ts +0 -2
- package/file-upload/public-api.d.ts +0 -7
- package/file-upload/single-file-upload.component.d.ts +0 -118
- package/filter-bar/filter-bar-button.d.ts +0 -14
- package/filter-bar/filter-bar.d.ts +0 -81
- package/filter-bar/filter-bar.module.d.ts +0 -17
- package/filter-bar/filter-bar.types.d.ts +0 -143
- package/filter-bar/filter-refresher.d.ts +0 -5
- package/filter-bar/filter-reset.d.ts +0 -15
- package/filter-bar/filter-search.d.ts +0 -54
- package/filter-bar/filter-search.scss +0 -12
- package/filter-bar/filters.d.ts +0 -122
- package/filter-bar/pipe-add.d.ts +0 -28
- package/filter-bar/pipe.directive.d.ts +0 -13
- package/filter-bar/pipes/base-pipe.d.ts +0 -74
- package/filter-bar/pipes/pipe-button.d.ts +0 -21
- package/filter-bar/pipes/pipe-date.d.ts +0 -65
- package/filter-bar/pipes/pipe-datetime.d.ts +0 -66
- package/filter-bar/pipes/pipe-multi-select.d.ts +0 -56
- package/filter-bar/pipes/pipe-multi-tree-select.d.ts +0 -67
- package/filter-bar/pipes/pipe-readonly.d.ts +0 -7
- package/filter-bar/pipes/pipe-select.d.ts +0 -30
- package/filter-bar/pipes/pipe-state.d.ts +0 -21
- package/filter-bar/pipes/pipe-text.d.ts +0 -26
- package/filter-bar/pipes/pipe-title.d.ts +0 -27
- package/filter-bar/pipes/pipe-tree-select.d.ts +0 -42
- package/filter-bar/public-api.d.ts +0 -21
- package/form-field/cleaner.d.ts +0 -11
- package/form-field/error.d.ts +0 -8
- package/form-field/fieldset.d.ts +0 -27
- package/form-field/form-field-control.d.ts +0 -40
- package/form-field/form-field.d.ts +0 -298
- package/form-field/form-field.module.d.ts +0 -19
- package/form-field/hint.d.ts +0 -15
- package/form-field/label.d.ts +0 -6
- package/form-field/password-hint.d.ts +0 -53
- package/form-field/password-toggle.d.ts +0 -56
- package/form-field/prefix.d.ts +0 -6
- package/form-field/public-api.d.ts +0 -15
- package/form-field/reactive-password-hint.d.ts +0 -20
- package/form-field/stepper.d.ts +0 -59
- package/form-field/suffix.d.ts +0 -6
- package/form-field/validate.directive.d.ts +0 -53
- package/icon/icon-button.component.d.ts +0 -28
- package/icon/icon-item.component.d.ts +0 -11
- package/icon/icon-registry-providers.d.ts +0 -34
- package/icon/icon-registry.d.ts +0 -50
- package/icon/icon.component.d.ts +0 -33
- package/icon/icon.module.d.ts +0 -9
- package/icon/public-api.d.ts +0 -6
- package/inline-edit/inline-edit.d.ts +0 -161
- package/inline-edit/module.d.ts +0 -7
- package/input/input-errors.d.ts +0 -1
- package/input/input-number-validators.d.ts +0 -35
- package/input/input-number.d.ts +0 -96
- package/input/input-password.d.ts +0 -99
- package/input/input-value-accessor.d.ts +0 -4
- package/input/input.d.ts +0 -109
- package/input/input.module.d.ts +0 -14
- package/input/public-api.d.ts +0 -6
- package/link/link.component.d.ts +0 -53
- package/link/link.module.d.ts +0 -8
- package/link/public-api.d.ts +0 -2
- package/list/list-selection.component.d.ts +0 -196
- package/list/list.component.d.ts +0 -18
- package/list/list.module.d.ts +0 -11
- package/list/public-api.d.ts +0 -3
- package/loader-overlay/loader-overlay.component.d.ts +0 -47
- package/loader-overlay/loader-overlay.module.d.ts +0 -10
- package/loader-overlay/public-api.d.ts +0 -2
- package/markdown/markdown.component.d.ts +0 -31
- package/markdown/markdown.module.d.ts +0 -7
- package/markdown/markdown.service.d.ts +0 -19
- package/markdown/markdown.values.d.ts +0 -10
- package/markdown/public-api.d.ts +0 -4
- package/modal/css-unit.pipe.d.ts +0 -7
- package/modal/modal-control.service.d.ts +0 -20
- package/modal/modal-ref.class.d.ts +0 -37
- package/modal/modal-util.d.ts +0 -15
- package/modal/modal.component.d.ts +0 -141
- package/modal/modal.directive.d.ts +0 -20
- package/modal/modal.module.d.ts +0 -15
- package/modal/modal.service.d.ts +0 -42
- package/modal/modal.type.d.ts +0 -72
- package/modal/public-api.d.ts +0 -6
- package/navbar/navbar-brand.component.d.ts +0 -41
- package/navbar/navbar-item.component.d.ts +0 -131
- package/navbar/navbar-toggle.component.d.ts +0 -23
- package/navbar/navbar.component.d.ts +0 -68
- package/navbar/navbar.module.d.ts +0 -15
- package/navbar/public-api.d.ts +0 -6
- package/navbar/vertical-navbar.component.d.ts +0 -47
- package/navbar-ic/_navbar-ic-theme.scss +0 -81
- package/navbar-ic/index.d.ts +0 -1
- package/navbar-ic/navbar-ic-divider.scss +0 -7
- package/navbar-ic/navbar-ic-header.d.ts +0 -22
- package/navbar-ic/navbar-ic-header.scss +0 -49
- package/navbar-ic/navbar-ic-item.d.ts +0 -144
- package/navbar-ic/navbar-ic-item.scss +0 -92
- package/navbar-ic/navbar-ic-tokens.scss +0 -22
- package/navbar-ic/navbar-ic.animation.d.ts +0 -3
- package/navbar-ic/navbar-ic.d.ts +0 -118
- package/navbar-ic/navbar-ic.module.d.ts +0 -14
- package/navbar-ic/navbar-ic.scss +0 -32
- package/navbar-ic/public-api.d.ts +0 -4
- package/notification-center/notification-center-animations.d.ts +0 -5
- package/notification-center/notification-center.d.ts +0 -156
- package/notification-center/notification-center.module.d.ts +0 -7
- package/notification-center/notification-center.service.d.ts +0 -72
- package/notification-center/notification-item.d.ts +0 -27
- package/notification-center/public-api.d.ts +0 -4
- package/overflow-items/module.d.ts +0 -7
- package/overflow-items/overflow-items.d.ts +0 -152
- package/popover/popover-animations.d.ts +0 -4
- package/popover/popover-confirm.component.d.ts +0 -28
- package/popover/popover.component.d.ts +0 -139
- package/popover/popover.module.d.ts +0 -14
- package/popover/public-api.d.ts +0 -4
- package/progress-bar/progress-bar.component.d.ts +0 -20
- package/progress-bar/progress-bar.module.d.ts +0 -8
- package/progress-bar/public-api.d.ts +0 -2
- package/progress-spinner/progress-spinner.component.d.ts +0 -26
- package/progress-spinner/progress-spinner.module.d.ts +0 -9
- package/progress-spinner/public-api.d.ts +0 -2
- package/public-api.d.ts +0 -1
- package/radio/public-api.d.ts +0 -2
- package/radio/radio.component.d.ts +0 -200
- package/radio/radio.module.d.ts +0 -8
- package/resizer/module.d.ts +0 -7
- package/resizer/resizer.d.ts +0 -75
- package/risk-level/_risk-level-theme.scss +0 -74
- package/risk-level/index.d.ts +0 -1
- package/risk-level/public-api.d.ts +0 -2
- package/risk-level/risk-level-tokens.scss +0 -33
- package/risk-level/risk-level.component.d.ts +0 -21
- package/risk-level/risk-level.component.scss +0 -22
- package/risk-level/risk-level.module.d.ts +0 -12
- package/scrollbar/public-api.d.ts +0 -4
- package/scrollbar/scrollbar.component.d.ts +0 -37
- package/scrollbar/scrollbar.directive.d.ts +0 -29
- package/scrollbar/scrollbar.module.d.ts +0 -8
- package/scrollbar/scrollbar.types.d.ts +0 -33
- package/search-expandable/public-api.d.ts +0 -2
- package/search-expandable/search-expandable.d.ts +0 -89
- package/search-expandable/search-expandable.module.d.ts +0 -7
- package/select/public-api.d.ts +0 -4
- package/select/select-common.d.ts +0 -30
- package/select/select-option.directive.d.ts +0 -21
- package/select/select.component.d.ts +0 -627
- package/select/select.module.d.ts +0 -17
- package/sidebar/public-api.d.ts +0 -2
- package/sidebar/sidebar-animations.d.ts +0 -8
- package/sidebar/sidebar.component.d.ts +0 -80
- package/sidebar/sidebar.module.d.ts +0 -8
- package/sidepanel/public-api.d.ts +0 -6
- package/sidepanel/sidepanel-animations.d.ts +0 -20
- package/sidepanel/sidepanel-config.d.ts +0 -43
- package/sidepanel/sidepanel-container.component.d.ts +0 -67
- package/sidepanel/sidepanel-directives.d.ts +0 -61
- package/sidepanel/sidepanel-ref.d.ts +0 -36
- package/sidepanel/sidepanel.module.d.ts +0 -14
- package/sidepanel/sidepanel.service.d.ts +0 -58
- package/skeleton/module.d.ts +0 -7
- package/skeleton/skeleton.d.ts +0 -17
- package/split-button/public-api.d.ts +0 -2
- package/split-button/split-button.d.ts +0 -37
- package/split-button/split-button.module.d.ts +0 -7
- package/splitter/public-api.d.ts +0 -2
- package/splitter/splitter.component.d.ts +0 -136
- package/splitter/splitter.module.d.ts +0 -8
- package/table/public-api.d.ts +0 -2
- package/table/table.component.d.ts +0 -12
- package/table/table.module.d.ts +0 -9
- package/tabs/paginated-tab-header.d.ts +0 -182
- package/tabs/public-api.d.ts +0 -10
- package/tabs/tab-body.component.d.ts +0 -95
- package/tabs/tab-content.directive.d.ts +0 -9
- package/tabs/tab-group.component.d.ts +0 -137
- package/tabs/tab-header.component.d.ts +0 -32
- package/tabs/tab-label-wrapper.directive.d.ts +0 -29
- package/tabs/tab-label.directive.d.ts +0 -9
- package/tabs/tab-nav-bar.d.ts +0 -91
- package/tabs/tab.component.d.ts +0 -68
- package/tabs/tabs-animations.d.ts +0 -4
- package/tabs/tabs.module.d.ts +0 -20
- package/tags/public-api.d.ts +0 -5
- package/tags/tag-default-options.d.ts +0 -13
- package/tags/tag-input.d.ts +0 -110
- package/tags/tag-list.component.d.ts +0 -373
- package/tags/tag-text-control.d.ts +0 -10
- package/tags/tag.component.d.ts +0 -272
- package/tags/tag.module.d.ts +0 -10
- package/textarea/public-api.d.ts +0 -2
- package/textarea/textarea.component.d.ts +0 -123
- package/textarea/textarea.module.d.ts +0 -10
- package/time-range/constants.d.ts +0 -19
- package/time-range/module.d.ts +0 -10
- package/time-range/time-range-editor.d.ts +0 -65
- package/time-range/time-range-title-as-form-field.d.ts +0 -41
- package/time-range/time-range-title.d.ts +0 -18
- package/time-range/time-range.d.ts +0 -78
- package/time-range/time-range.service.d.ts +0 -25
- package/time-range/types.d.ts +0 -69
- package/timepicker/public-api.d.ts +0 -3
- package/timepicker/timepicker.constants.d.ts +0 -22
- package/timepicker/timepicker.directive.d.ts +0 -159
- package/timepicker/timepicker.module.d.ts +0 -11
- package/timezone/cities-by-filter.pipe.d.ts +0 -7
- package/timezone/public-api.d.ts +0 -6
- package/timezone/timezone-option.component.d.ts +0 -15
- package/timezone/timezone-option.directive.d.ts +0 -22
- package/timezone/timezone-select.component.d.ts +0 -16
- package/timezone/timezone.models.d.ts +0 -16
- package/timezone/timezone.module.d.ts +0 -20
- package/timezone/timezone.utils.d.ts +0 -22
- package/timezone/utc-offset.pipe.d.ts +0 -9
- package/title/public-api.d.ts +0 -2
- package/title/title.directive.d.ts +0 -33
- package/title/title.module.d.ts +0 -8
- package/toast/public-api.d.ts +0 -5
- package/toast/toast-animations.d.ts +0 -5
- package/toast/toast-container.component.d.ts +0 -19
- package/toast/toast.component.d.ts +0 -41
- package/toast/toast.module.d.ts +0 -8
- package/toast/toast.service.d.ts +0 -61
- package/toast/toast.type.d.ts +0 -44
- package/toggle/public-api.d.ts +0 -2
- package/toggle/toggle.component.d.ts +0 -77
- package/toggle/toggle.module.d.ts +0 -8
- package/tooltip/public-api.d.ts +0 -2
- package/tooltip/tooltip.animations.d.ts +0 -8
- package/tooltip/tooltip.component.d.ts +0 -156
- package/tooltip/tooltip.module.d.ts +0 -7
- package/top-bar/module.d.ts +0 -7
- package/top-bar/public-api.d.ts +0 -2
- package/top-bar/top-bar.d.ts +0 -25
- package/tree/control/base-tree-control.d.ts +0 -40
- package/tree/control/flat-tree-control.d.ts +0 -55
- package/tree/control/flat-tree-control.filters.d.ts +0 -27
- package/tree/control/nested-tree-control.d.ts +0 -19
- package/tree/control/tree-control.d.ts +0 -44
- package/tree/data-source/flat-data-source.d.ts +0 -80
- package/tree/data-source/nested-data-source.d.ts +0 -15
- package/tree/node.d.ts +0 -34
- package/tree/outlet.d.ts +0 -9
- package/tree/padding.directive.d.ts +0 -45
- package/tree/public-api.d.ts +0 -16
- package/tree/toggle.d.ts +0 -28
- package/tree/tree-base.d.ts +0 -96
- package/tree/tree-errors.d.ts +0 -25
- package/tree/tree-option.component.d.ts +0 -89
- package/tree/tree-selection.component.d.ts +0 -156
- package/tree/tree.d.ts +0 -6
- package/tree/tree.module.d.ts +0 -16
- package/tree-select/public-api.d.ts +0 -2
- package/tree-select/tree-select.component.d.ts +0 -360
- package/tree-select/tree-select.module.d.ts +0 -15
- package/username/constants.d.ts +0 -15
- package/username/module.d.ts +0 -8
- package/username/types.d.ts +0 -62
- package/username/username.d.ts +0 -68
- package/username/username.pipe.d.ts +0 -23
|
@@ -1,37 +1,32 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, input, booleanAttribute, Directive, inject, InjectionToken,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, input, booleanAttribute, Directive, inject, InjectionToken, ChangeDetectorRef, NgZone, Renderer2, ElementRef, DestroyRef, viewChild, contentChild, TemplateRef, contentChildren, EventEmitter, output, numberAttribute, afterNextRender, isDevMode, Input, Output, ContentChildren, ViewChildren, ViewChild, ViewEncapsulation, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@koobiq/components/progress-spinner';
|
|
4
4
|
import { KbqProgressSpinnerModule } from '@koobiq/components/progress-spinner';
|
|
5
5
|
import { ContentObserver } from '@angular/cdk/observers';
|
|
6
6
|
import { SharedResizeObserver } from '@angular/cdk/observers/private';
|
|
7
|
-
import
|
|
8
|
-
import { KbqOption, KbqAbstractSelect, getKbqSelectDynamicMultipleError, getKbqSelectNonFunctionValueError, KbqComponentColors, KBQ_VALIDATION, KBQ_WINDOW, defaultOffsetY, isUndefined, getKbqSelectNonArrayValueError, KbqVirtualOption, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, kbqSelectAnimations, KbqSelectFooter, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqOptgroup, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_POPUP, KbqOptionModule, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
|
|
7
|
+
import { KbqOption, KbqAbstractSelect, getKbqSelectDynamicMultipleError, getKbqSelectNonFunctionValueError, KbqComponentColors, ErrorStateMatcher, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, KBQ_WINDOW, defaultOffsetY, KbqSelectFooter, KbqSelectTrigger, KbqSelectMatcher, KbqOptgroup, KbqSelectSearch, KbqSelectSearchEmptyResult, isUndefined, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, ESCAPE, TAB, HOME, END, PAGE_UP, PAGE_DOWN, A, BACKSPACE, DELETE, getKbqSelectNonArrayValueError, KbqVirtualOption, ActiveDescendantKeyManager, kbqSelectAnimations, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_POPUP, KbqOptionModule, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
|
|
9
8
|
import { KbqTooltipTrigger, KbqToolTipModule } from '@koobiq/components/tooltip';
|
|
10
9
|
import { Subscription, throttleTime, Subject, defer, merge, EMPTY, BehaviorSubject, fromEvent } from 'rxjs';
|
|
11
10
|
import { debounceTime, switchMap, startWith, take, filter, map, delay, distinctUntilChanged, auditTime, takeUntil } from 'rxjs/operators';
|
|
12
11
|
import { CdkMonitorFocus, A11yModule } from '@angular/cdk/a11y';
|
|
13
|
-
import
|
|
12
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
14
13
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
15
14
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
16
|
-
import
|
|
17
|
-
import { CdkOverlayOrigin, CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
|
15
|
+
import { OverlayContainer, CdkOverlayOrigin, CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
|
18
16
|
import { Platform } from '@angular/cdk/platform';
|
|
19
17
|
import { CdkVirtualForOf, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
20
|
-
import { NgTemplateOutlet
|
|
18
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
21
19
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
22
|
-
import
|
|
23
|
-
import {
|
|
24
|
-
import
|
|
25
|
-
import * as i5 from '@koobiq/components/form-field';
|
|
26
|
-
import { KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
|
|
27
|
-
import * as i6 from '@koobiq/components/icon';
|
|
20
|
+
import { NgForm, FormGroupDirective, NgControl } from '@angular/forms';
|
|
21
|
+
import { KbqFormField, KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
|
|
22
|
+
import * as i1$1 from '@koobiq/components/icon';
|
|
28
23
|
import { KbqIconModule } from '@koobiq/components/icon';
|
|
29
24
|
import { KbqTag, KbqTagsModule } from '@koobiq/components/tags';
|
|
30
25
|
import { SizeXxs } from '@koobiq/design-tokens';
|
|
31
26
|
|
|
32
27
|
class KbqSelectLoading {
|
|
33
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
28
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectLoading, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: KbqSelectLoading, isStandalone: true, selector: "kbq-select-loading, [kbq-select-loading]", host: { classAttribute: "kbq-select-loading" }, exportAs: ["kbqSelectLoading"], ngImport: i0, template: `
|
|
35
30
|
<ng-content select="kbq-progress-spinner">
|
|
36
31
|
<div class="layout-row layout-margin-top-4xl layout-margin-bottom-4xl layout-align-center-center">
|
|
37
32
|
<kbq-progress-spinner [mode]="'indeterminate'" />
|
|
@@ -39,7 +34,7 @@ class KbqSelectLoading {
|
|
|
39
34
|
</ng-content>
|
|
40
35
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: KbqProgressSpinnerModule }, { kind: "component", type: i1.KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: ["id", "value", "mode", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41
36
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectLoading, decorators: [{
|
|
43
38
|
type: Component,
|
|
44
39
|
args: [{
|
|
45
40
|
selector: 'kbq-select-loading, [kbq-select-loading]',
|
|
@@ -54,10 +49,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
54
49
|
</ng-content>
|
|
55
50
|
`,
|
|
56
51
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
57
|
-
exportAs: 'kbqSelectLoading',
|
|
58
52
|
host: {
|
|
59
53
|
class: 'kbq-select-loading'
|
|
60
|
-
}
|
|
54
|
+
},
|
|
55
|
+
exportAs: 'kbqSelectLoading'
|
|
61
56
|
}]
|
|
62
57
|
}] });
|
|
63
58
|
/**
|
|
@@ -68,56 +63,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
68
63
|
class KbqSelectError {
|
|
69
64
|
constructor() {
|
|
70
65
|
/** Indicates whether styles for pagination controls should be used. */
|
|
71
|
-
this.paging = input(false, { transform: booleanAttribute });
|
|
66
|
+
this.paging = input(false, ...(ngDevMode ? [{ debugName: "paging", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
72
67
|
}
|
|
73
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
74
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
68
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectError, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: KbqSelectError, isStandalone: true, selector: "kbq-select-error, [kbq-select-error]", inputs: { paging: { classPropertyName: "paging", publicName: "paging", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.kbq-select-error_default": "!paging()", "class.kbq-select-error_paging": "paging()" }, classAttribute: "kbq-select-error" }, exportAs: ["kbqSelectError"], ngImport: i0, template: `
|
|
75
70
|
<ng-content />
|
|
76
71
|
`, isInline: true, styles: [":host{display:flex;flex-direction:column}:host.kbq-select-error_default{align-items:center;justify-content:center;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl)}:host.kbq-select-error_paging{justify-content:start}:host.kbq-select-error_paging ::ng-deep .kbq-select-error__text{padding-left:var(--kbq-size-l)}::ng-deep .kbq-select-error__text{margin-top:var(--kbq-size-xs);margin-bottom:var(--kbq-size-3xs);color:var(--kbq-foreground-error)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
77
72
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectError, decorators: [{
|
|
79
74
|
type: Component,
|
|
80
75
|
args: [{ selector: 'kbq-select-error, [kbq-select-error]', template: `
|
|
81
76
|
<ng-content />
|
|
82
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
77
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
83
78
|
class: 'kbq-select-error',
|
|
84
79
|
'[class.kbq-select-error_default]': '!paging()',
|
|
85
80
|
'[class.kbq-select-error_paging]': 'paging()'
|
|
86
|
-
}, styles: [":host{display:flex;flex-direction:column}:host.kbq-select-error_default{align-items:center;justify-content:center;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl)}:host.kbq-select-error_paging{justify-content:start}:host.kbq-select-error_paging ::ng-deep .kbq-select-error__text{padding-left:var(--kbq-size-l)}::ng-deep .kbq-select-error__text{margin-top:var(--kbq-size-xs);margin-bottom:var(--kbq-size-3xs);color:var(--kbq-foreground-error)}\n"] }]
|
|
87
|
-
}] });
|
|
81
|
+
}, exportAs: 'kbqSelectError', styles: [":host{display:flex;flex-direction:column}:host.kbq-select-error_default{align-items:center;justify-content:center;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl)}:host.kbq-select-error_paging{justify-content:start}:host.kbq-select-error_paging ::ng-deep .kbq-select-error__text{padding-left:var(--kbq-size-l)}::ng-deep .kbq-select-error__text{margin-top:var(--kbq-size-xs);margin-bottom:var(--kbq-size-3xs);color:var(--kbq-foreground-error)}\n"] }]
|
|
82
|
+
}], propDecorators: { paging: [{ type: i0.Input, args: [{ isSignal: true, alias: "paging", required: false }] }] } });
|
|
88
83
|
/**
|
|
89
84
|
* Marks an element as the error text container for a *KbqSelect* component.
|
|
90
85
|
*/
|
|
91
86
|
class KbqSelectErrorText {
|
|
92
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
93
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
87
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectErrorText, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
88
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqSelectErrorText, isStandalone: true, selector: "[kbq-select-error-text]", host: { classAttribute: "kbq-select-error__text" }, exportAs: ["kbqSelectErrorText"], ngImport: i0 }); }
|
|
94
89
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectErrorText, decorators: [{
|
|
96
91
|
type: Directive,
|
|
97
92
|
args: [{
|
|
98
93
|
selector: '[kbq-select-error-text]',
|
|
99
|
-
exportAs: 'kbqSelectErrorText',
|
|
100
94
|
host: {
|
|
101
95
|
class: 'kbq-select-error__text'
|
|
102
|
-
}
|
|
96
|
+
},
|
|
97
|
+
exportAs: 'kbqSelectErrorText'
|
|
103
98
|
}]
|
|
104
99
|
}] });
|
|
105
100
|
/**
|
|
106
101
|
* Component that represents the empty state of a select dropdown.
|
|
107
102
|
*/
|
|
108
103
|
class KbqSelectNoOptions {
|
|
109
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
110
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
104
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectNoOptions, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: KbqSelectNoOptions, isStandalone: true, selector: "kbq-select-no-options, [kbq-select-no-options]", host: { classAttribute: "kbq-select-no-options" }, exportAs: ["kbqSelectNoOptions"], ngImport: i0, template: `
|
|
111
106
|
<ng-content />
|
|
112
107
|
`, isInline: true, styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:var(--kbq-size-3xl);padding-top:var(--kbq-size-3xl);color:var(--kbq-foreground-contrast-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
113
108
|
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectNoOptions, decorators: [{
|
|
115
110
|
type: Component,
|
|
116
111
|
args: [{ selector: 'kbq-select-no-options, [kbq-select-no-options]', template: `
|
|
117
112
|
<ng-content />
|
|
118
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
113
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
119
114
|
class: 'kbq-select-no-options'
|
|
120
|
-
}, styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:var(--kbq-size-3xl);padding-top:var(--kbq-size-3xl);color:var(--kbq-foreground-contrast-secondary)}\n"] }]
|
|
115
|
+
}, exportAs: 'kbqSelectNoOptions', styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:var(--kbq-size-3xl);padding-top:var(--kbq-size-3xl);color:var(--kbq-foreground-contrast-secondary)}\n"] }]
|
|
121
116
|
}] });
|
|
122
117
|
|
|
123
118
|
class KbqOptionTooltip extends KbqTooltipTrigger {
|
|
@@ -168,10 +163,10 @@ class KbqOptionTooltip extends KbqTooltipTrigger {
|
|
|
168
163
|
handleElementLeave() {
|
|
169
164
|
this.disabled = true;
|
|
170
165
|
}
|
|
171
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
172
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
166
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOptionTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
167
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: KbqOptionTooltip, isStandalone: true, selector: "kbq-option", host: { listeners: { "mouseenter": "handleElementEnter()", "mouseleave": "handleElementLeave()" } }, usesInheritance: true, ngImport: i0 }); }
|
|
173
168
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqOptionTooltip, decorators: [{
|
|
175
170
|
type: Directive,
|
|
176
171
|
args: [{
|
|
177
172
|
selector: 'kbq-option',
|
|
@@ -211,6 +206,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
211
206
|
* Automatically enables search hiding if value provided, even if `defaultOptions.searchMinOptionsThreshold` is provided.
|
|
212
207
|
* @default undefined
|
|
213
208
|
*/
|
|
209
|
+
// TODO: Skipped for migration because:
|
|
210
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
214
211
|
set searchMinOptionsThreshold(value) {
|
|
215
212
|
this._searchMinOptionsThreshold =
|
|
216
213
|
this.resolveSearchMinOptionsThreshold(value) ??
|
|
@@ -223,6 +220,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
223
220
|
* Whether the overlay should have a backdrop.
|
|
224
221
|
* When true, clicking the backdrop will close the select.
|
|
225
222
|
*/
|
|
223
|
+
// TODO: Skipped for migration because:
|
|
224
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
226
225
|
get hasBackdrop() {
|
|
227
226
|
return this._hasBackdrop;
|
|
228
227
|
}
|
|
@@ -233,6 +232,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
233
232
|
* Placeholder text to be shown when no value is selected.
|
|
234
233
|
* Displayed in the trigger when the select is closed and no value is selected.
|
|
235
234
|
*/
|
|
235
|
+
// TODO: Skipped for migration because:
|
|
236
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
236
237
|
get placeholder() {
|
|
237
238
|
return this._placeholder;
|
|
238
239
|
}
|
|
@@ -243,6 +244,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
243
244
|
/**
|
|
244
245
|
* Whether the select is required. Affects validation and display of placeholder.
|
|
245
246
|
*/
|
|
247
|
+
// TODO: Skipped for migration because:
|
|
248
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
246
249
|
get required() {
|
|
247
250
|
return this._required;
|
|
248
251
|
}
|
|
@@ -254,6 +257,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
254
257
|
* Whether multiple options can be selected.
|
|
255
258
|
* Note: This cannot be changed dynamically after initialization.
|
|
256
259
|
*/
|
|
260
|
+
// TODO: Skipped for migration because:
|
|
261
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
257
262
|
get multiple() {
|
|
258
263
|
return this._multiple;
|
|
259
264
|
}
|
|
@@ -270,6 +275,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
270
275
|
* Should return true if the values match.
|
|
271
276
|
* Defaults to strict equality comparison.
|
|
272
277
|
*/
|
|
278
|
+
// TODO: Skipped for migration because:
|
|
279
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
273
280
|
get compareWith() {
|
|
274
281
|
return this._compareWith;
|
|
275
282
|
}
|
|
@@ -289,6 +296,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
289
296
|
* @param event The keyboard event that triggered the handler.
|
|
290
297
|
* @param select Reference to this select component.
|
|
291
298
|
*/
|
|
299
|
+
// TODO: Skipped for migration because:
|
|
300
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
292
301
|
get selectAllHandler() {
|
|
293
302
|
return this._selectAllHandler;
|
|
294
303
|
}
|
|
@@ -299,6 +308,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
299
308
|
this._selectAllHandler = fn;
|
|
300
309
|
}
|
|
301
310
|
/** Value of the select control. Can be a single value or array of values for multiple selection. */
|
|
311
|
+
// TODO: Skipped for migration because:
|
|
312
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
302
313
|
get value() {
|
|
303
314
|
return this._value;
|
|
304
315
|
}
|
|
@@ -312,6 +323,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
312
323
|
* Unique identifier for the select component.
|
|
313
324
|
* Auto-generates an ID if not provided.
|
|
314
325
|
*/
|
|
326
|
+
// TODO: Skipped for migration because:
|
|
327
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
315
328
|
get id() {
|
|
316
329
|
return this._id;
|
|
317
330
|
}
|
|
@@ -323,6 +336,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
323
336
|
* Sets the tabIndex of the select element.
|
|
324
337
|
* Automatically set to -1 when disabled.
|
|
325
338
|
*/
|
|
339
|
+
// TODO: Skipped for migration because:
|
|
340
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
326
341
|
get tabIndex() {
|
|
327
342
|
return this.disabled ? -1 : this._tabIndex;
|
|
328
343
|
}
|
|
@@ -333,6 +348,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
333
348
|
* Whether the select is disabled.
|
|
334
349
|
* When disabled, the select cannot be opened and its value cannot be changed.
|
|
335
350
|
*/
|
|
351
|
+
// TODO: Skipped for migration because:
|
|
352
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
336
353
|
get disabled() {
|
|
337
354
|
return this._disabled;
|
|
338
355
|
}
|
|
@@ -341,7 +358,12 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
341
358
|
this._disabled = value;
|
|
342
359
|
if (this.parentFormField) {
|
|
343
360
|
Promise.resolve().then(() => {
|
|
344
|
-
this._disabled
|
|
361
|
+
if (this._disabled) {
|
|
362
|
+
this.parentFormField.stopFocusMonitor();
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
this.parentFormField.runFocusMonitor();
|
|
366
|
+
}
|
|
345
367
|
});
|
|
346
368
|
}
|
|
347
369
|
// Let the parent form field know to run change detection when the disabled state changes.
|
|
@@ -357,11 +379,12 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
357
379
|
}
|
|
358
380
|
/** Whether the search returned no results. */
|
|
359
381
|
get isEmptySearchResult() {
|
|
360
|
-
|
|
382
|
+
const search = this.search();
|
|
383
|
+
return !!search && this.options?.filter((option) => option.selectable()).length === 0 && !!search.value();
|
|
361
384
|
}
|
|
362
385
|
/** Whether the cleaner (clear button) should be shown. */
|
|
363
386
|
get canShowCleaner() {
|
|
364
|
-
return !this.disabled && this.cleaner && this.selectionModel.hasValue();
|
|
387
|
+
return !this.disabled && !!this.cleaner() && this.selectionModel.hasValue();
|
|
365
388
|
}
|
|
366
389
|
/** Returns the currently selected option(s). Single value or array for multiple selection. */
|
|
367
390
|
get selected() {
|
|
@@ -382,7 +405,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
382
405
|
if (this.isRtl()) {
|
|
383
406
|
selectedOptions.reverse();
|
|
384
407
|
}
|
|
385
|
-
return this.triggerValuesLimit > 0 ? selectedOptions.slice(0, this.triggerValuesLimit) : selectedOptions;
|
|
408
|
+
return this.triggerValuesLimit() > 0 ? selectedOptions.slice(0, this.triggerValuesLimit()) : selectedOptions;
|
|
386
409
|
}
|
|
387
410
|
/** Whether no option is currently selected. */
|
|
388
411
|
get empty() {
|
|
@@ -411,24 +434,23 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
411
434
|
}
|
|
412
435
|
/** Whether multiple choice is enabled. True if multiple or multiline mode is active. */
|
|
413
436
|
get multiSelection() {
|
|
414
|
-
return this.multiple || this.multiline;
|
|
437
|
+
return this.multiple || this.multiline();
|
|
415
438
|
}
|
|
416
|
-
constructor(
|
|
439
|
+
constructor() {
|
|
417
440
|
super();
|
|
418
|
-
this._changeDetectorRef =
|
|
419
|
-
this._ngZone =
|
|
420
|
-
this._renderer =
|
|
421
|
-
this.defaultErrorStateMatcher =
|
|
422
|
-
this.elementRef =
|
|
423
|
-
this.overlayContainer =
|
|
424
|
-
this._dir =
|
|
425
|
-
this.parentForm =
|
|
426
|
-
this.parentFormGroup =
|
|
427
|
-
this.parentFormField =
|
|
428
|
-
this.ngControl =
|
|
429
|
-
this.scrollStrategyFactory =
|
|
430
|
-
this.localeService =
|
|
431
|
-
this.useLegacyValidation = inject(KBQ_VALIDATION, { optional: true })?.useValidation ?? false;
|
|
441
|
+
this._changeDetectorRef = inject(ChangeDetectorRef);
|
|
442
|
+
this._ngZone = inject(NgZone);
|
|
443
|
+
this._renderer = inject(Renderer2);
|
|
444
|
+
this.defaultErrorStateMatcher = inject(ErrorStateMatcher);
|
|
445
|
+
this.elementRef = inject(ElementRef);
|
|
446
|
+
this.overlayContainer = inject(OverlayContainer);
|
|
447
|
+
this._dir = inject(Directionality, { optional: true });
|
|
448
|
+
this.parentForm = inject(NgForm, { optional: true });
|
|
449
|
+
this.parentFormGroup = inject(FormGroupDirective, { optional: true });
|
|
450
|
+
this.parentFormField = inject(KbqFormField, { host: true, optional: true });
|
|
451
|
+
this.ngControl = inject(NgControl, { self: true, optional: true });
|
|
452
|
+
this.scrollStrategyFactory = inject(KBQ_SELECT_SCROLL_STRATEGY);
|
|
453
|
+
this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
|
|
432
454
|
/** @docs-private */
|
|
433
455
|
this.destroyRef = inject(DestroyRef);
|
|
434
456
|
this.isBrowser = inject(Platform).isBrowser;
|
|
@@ -483,24 +505,61 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
483
505
|
offsetY: -this.offsetY
|
|
484
506
|
}
|
|
485
507
|
];
|
|
508
|
+
/**
|
|
509
|
+
* Trigger - is a clickable field to open select dropdown panel
|
|
510
|
+
*/
|
|
511
|
+
this.trigger = viewChild('trigger', ...(ngDevMode ? [{ debugName: "trigger" }] : []));
|
|
512
|
+
/** Reference to the overlay panel element. */
|
|
513
|
+
this.panel = viewChild('panel', ...(ngDevMode ? [{ debugName: "panel" }] : []));
|
|
514
|
+
/** Reference to the container element that holds the options. */
|
|
515
|
+
this.optionsContainer = viewChild.required('optionsContainer');
|
|
516
|
+
/** Reference to the optional footer element in the panel. */
|
|
517
|
+
this.footer = contentChild(KbqSelectFooter, ...(ngDevMode ? [{ debugName: "footer", read: ElementRef }] : [{ read: ElementRef }]));
|
|
518
|
+
/** Reference to the CDK virtual scroll directive for virtual scrolling support. */
|
|
519
|
+
this.cdkVirtualForOf = contentChild(CdkVirtualForOf, ...(ngDevMode ? [{ debugName: "cdkVirtualForOf" }] : []));
|
|
520
|
+
/** Reference to the CDK virtual scroll viewport for tracking scroll position in virtual mode. */
|
|
521
|
+
this.virtualScrollViewport = contentChild(CdkVirtualScrollViewport, ...(ngDevMode ? [{ debugName: "virtualScrollViewport" }] : []));
|
|
522
|
+
/** User-supplied override of the trigger element for custom rendering. */
|
|
523
|
+
this.customTrigger = contentChild(KbqSelectTrigger, ...(ngDevMode ? [{ debugName: "customTrigger" }] : []));
|
|
524
|
+
/** User-supplied matcher component for custom value matching logic. */
|
|
525
|
+
this.customMatcher = contentChild(KbqSelectMatcher, ...(ngDevMode ? [{ debugName: "customMatcher" }] : []));
|
|
526
|
+
/** Custom template reference for rendering tag content. */
|
|
527
|
+
this.customTagTemplateRef = contentChild('kbqSelectTagContent', ...(ngDevMode ? [{ debugName: "customTagTemplateRef", read: TemplateRef }] : [{ read: TemplateRef }]));
|
|
528
|
+
/** Reference to the optional cleaner element for clearing selection. */
|
|
529
|
+
this.cleaner = contentChild('kbqSelectCleaner', ...(ngDevMode ? [{ debugName: "cleaner" }] : []));
|
|
530
|
+
/** All of the defined groups of options. */
|
|
531
|
+
this.optionGroups = contentChildren(KbqOptgroup, ...(ngDevMode ? [{ debugName: "optionGroups" }] : []));
|
|
532
|
+
/** Reference to the optional search component. */
|
|
533
|
+
this.search = contentChild(KbqSelectSearch, ...(ngDevMode ? [{ debugName: "search" }] : []));
|
|
534
|
+
/** Reference to the optional empty search result component. */
|
|
535
|
+
this.searchEmpty = contentChild(KbqSelectSearchEmptyResult, ...(ngDevMode ? [{ debugName: "searchEmpty" }] : []));
|
|
486
536
|
/** Template string for hidden items text. Supports {{ number }} placeholder. */
|
|
537
|
+
// TODO: Skipped for migration because:
|
|
538
|
+
// Your application code writes to the input. This prevents migration.
|
|
487
539
|
this.hiddenItemsText = '+{{ number }}';
|
|
488
540
|
/** Determines whether preselected values are displayed. */
|
|
489
|
-
this.showPreselectedValues = false;
|
|
541
|
+
this.showPreselectedValues = input(false, ...(ngDevMode ? [{ debugName: "showPreselectedValues" }] : []));
|
|
490
542
|
/**
|
|
491
543
|
* Specifies the maximum number of trigger values allowed.
|
|
492
544
|
* This constant limits the size of the trigger values array to ensure performance
|
|
493
545
|
* and prevent excessive memory usage.
|
|
494
546
|
* A value of `0` indicates that there is no limit.
|
|
495
547
|
*/
|
|
496
|
-
this.triggerValuesLimit = 0;
|
|
548
|
+
this.triggerValuesLimit = input(0, ...(ngDevMode ? [{ debugName: "triggerValuesLimit" }] : []));
|
|
549
|
+
/** Classes to be passed to the select panel. Supports the same syntax as the `[class]` binding. */
|
|
550
|
+
this.panelClass = input(undefined, ...(ngDevMode ? [{ debugName: "panelClass" }] : []));
|
|
497
551
|
/** Classes to be passed to the overlay backdrop. */
|
|
498
|
-
this.backdropClass = 'cdk-overlay-transparent-backdrop';
|
|
552
|
+
this.backdropClass = input('cdk-overlay-transparent-backdrop', ...(ngDevMode ? [{ debugName: "backdropClass" }] : []));
|
|
553
|
+
/**
|
|
554
|
+
* Function used to sort the values in a select in multiple mode.
|
|
555
|
+
* Follows the same logic as `Array.prototype.sort`.
|
|
556
|
+
*/
|
|
557
|
+
this.sortComparator = input(undefined, ...(ngDevMode ? [{ debugName: "sortComparator" }] : []));
|
|
499
558
|
/**
|
|
500
559
|
* Whether to use a multiline matcher or not. Default is false.
|
|
501
560
|
* When true, allows multiple lines of text in the selected value display.
|
|
502
561
|
*/
|
|
503
|
-
this.multiline = false;
|
|
562
|
+
this.multiline = input(false, ...(ngDevMode ? [{ debugName: "multiline", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
504
563
|
this._searchMinOptionsThreshold = this.resolveSearchMinOptionsThreshold(this.defaultOptions?.searchMinOptionsThreshold);
|
|
505
564
|
/** Combined stream of all of the child options' change events. */
|
|
506
565
|
this.optionSelectionChanges = defer(() => {
|
|
@@ -524,32 +583,50 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
524
583
|
/** Event emitted when the select has been closed. */
|
|
525
584
|
this.closedStream = this.openedChange.pipe(filter((o) => !o), map(() => { }));
|
|
526
585
|
/** Event emitted when the selected value has been changed by the user. */
|
|
527
|
-
this.selectionChange =
|
|
586
|
+
this.selectionChange = output();
|
|
528
587
|
/**
|
|
529
588
|
* Event that emits whenever the raw value of the select changes. This is here primarily
|
|
530
589
|
* to facilitate the two-way binding for the `value` input.
|
|
531
590
|
* @docs-private
|
|
532
591
|
*/
|
|
533
|
-
this.valueChange =
|
|
592
|
+
this.valueChange = output();
|
|
534
593
|
/**
|
|
535
594
|
* Distance in pixels from the bottom of the options panel at which `scrolledToBottom` fires.
|
|
536
595
|
* Default `0` — emits only when the panel is fully scrolled to the bottom.
|
|
537
596
|
*/
|
|
538
|
-
this.scrolledToBottomOffset = 0;
|
|
597
|
+
this.scrolledToBottomOffset = input(0, ...(ngDevMode ? [{ debugName: "scrolledToBottomOffset", transform: numberAttribute }] : [{ transform: numberAttribute }]));
|
|
539
598
|
/** Emits when the options panel is scrolled to (or within `scrolledToBottomOffset` of) the bottom. */
|
|
540
|
-
this.scrolledToBottom =
|
|
599
|
+
this.scrolledToBottom = output();
|
|
541
600
|
this._hasBackdrop = false;
|
|
542
601
|
this._required = false;
|
|
543
602
|
this._multiple = false;
|
|
603
|
+
/**
|
|
604
|
+
* Factory used to construct a `KbqVirtualOption` for selected values whose
|
|
605
|
+
* `KbqOption` is not currently rendered (e.g. virtual scroll out of viewport,
|
|
606
|
+
* programmatically set initial value, `showPreselectedValues`).
|
|
607
|
+
*
|
|
608
|
+
* Required when option values are objects so the trigger (and tags in
|
|
609
|
+
* multiple mode) can render a human-readable label. Also lets consumers
|
|
610
|
+
* customise per-value `disabled` state or any future `KbqVirtualOption`
|
|
611
|
+
* fields without adding new `@Input`s.
|
|
612
|
+
*
|
|
613
|
+
* Defaults to `new KbqVirtualOption(value, this.disabled)`, which is correct
|
|
614
|
+
* for primitive values where `value` itself is the display label.
|
|
615
|
+
*/
|
|
616
|
+
this.virtualOptionFactory = input(...(ngDevMode ? [undefined, { debugName: "virtualOptionFactory" }] : []));
|
|
544
617
|
/**
|
|
545
618
|
* Width of the panel. If set to `auto`, the panel will match the trigger width.
|
|
546
619
|
* If set to null or an empty string, the panel will grow to match the longest option's text.
|
|
547
620
|
*/
|
|
621
|
+
// TODO: Skipped for migration because:
|
|
622
|
+
// The input cannot be migrated because the field is overridden by a subclass.
|
|
548
623
|
this.panelWidth = this.defaultOptions?.panelWidth || null;
|
|
549
624
|
/**
|
|
550
625
|
* Minimum width of the panel in pixels.
|
|
551
626
|
* If minWidth is larger than window width, it will be ignored.
|
|
552
627
|
*/
|
|
628
|
+
// TODO: Skipped for migration because:
|
|
629
|
+
// The input cannot be migrated because the field is overridden by a subclass.
|
|
553
630
|
this.panelMinWidth = this.defaultOptions?.panelMinWidth ?? 200;
|
|
554
631
|
this._tabIndex = 0;
|
|
555
632
|
this._disabled = false;
|
|
@@ -578,19 +655,23 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
578
655
|
*/
|
|
579
656
|
this.calculateHiddenItems = () => {
|
|
580
657
|
if (!this.isBrowser ||
|
|
581
|
-
this.customTrigger ||
|
|
582
|
-
this.customMatcher ||
|
|
658
|
+
this.customTrigger() ||
|
|
659
|
+
this.customMatcher() ||
|
|
583
660
|
this.empty ||
|
|
584
661
|
!this.multiple ||
|
|
585
|
-
this.multiline)
|
|
662
|
+
this.multiline())
|
|
586
663
|
return;
|
|
587
664
|
const totalItemsWidth = this.getTotalItemsWidthInMatcher();
|
|
588
665
|
const [totalVisibleItemsWidth, visibleItems] = this.getTotalVisibleItems();
|
|
589
666
|
this.hiddenItems = this.selected.length - visibleItems;
|
|
590
667
|
this._changeDetectorRef.detectChanges();
|
|
591
668
|
if (this.hiddenItems) {
|
|
592
|
-
const itemsCounter = this.trigger.nativeElement.querySelector('.kbq-select__match-hidden-text');
|
|
593
|
-
const matcherList = this.trigger.nativeElement.querySelector('.kbq-select__match-list');
|
|
669
|
+
const itemsCounter = this.trigger().nativeElement.querySelector('.kbq-select__match-hidden-text');
|
|
670
|
+
const matcherList = this.trigger().nativeElement.querySelector('.kbq-select__match-list');
|
|
671
|
+
if (!itemsCounter || !matcherList) {
|
|
672
|
+
this._changeDetectorRef.markForCheck();
|
|
673
|
+
return;
|
|
674
|
+
}
|
|
594
675
|
const itemsCounterShowed = itemsCounter.offsetTop < itemsCounter.offsetHeight;
|
|
595
676
|
const itemsCounterWidth = Math.floor(itemsCounter.getBoundingClientRect().width);
|
|
596
677
|
const matcherListWidth = Math.floor(matcherList.getBoundingClientRect().width);
|
|
@@ -623,7 +704,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
623
704
|
// Force setter to be called in case id was not specified.
|
|
624
705
|
this.id = this.id;
|
|
625
706
|
afterNextRender(() => {
|
|
626
|
-
if (this.multiple && !this.multiline) {
|
|
707
|
+
if (this.multiple && !this.multiline()) {
|
|
627
708
|
merge(fromEvent(this.window, 'resize'), this.tags.changes)
|
|
628
709
|
.pipe(delay(0), debounceTime(50), takeUntilDestroyed(this.destroyRef))
|
|
629
710
|
.subscribe(this.calculateHiddenItems);
|
|
@@ -642,8 +723,9 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
642
723
|
.subscribe(() => {
|
|
643
724
|
if (this.panelOpen) {
|
|
644
725
|
this.scrollTop = 0;
|
|
645
|
-
|
|
646
|
-
|
|
726
|
+
const search = this.search();
|
|
727
|
+
if (search) {
|
|
728
|
+
search.focus();
|
|
647
729
|
}
|
|
648
730
|
this.openedChange.emit(true);
|
|
649
731
|
}
|
|
@@ -656,7 +738,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
656
738
|
.pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))
|
|
657
739
|
.subscribe(() => setTimeout(() => {
|
|
658
740
|
this.calculateHiddenItems();
|
|
659
|
-
if (this.multiline) {
|
|
741
|
+
if (this.multiline()) {
|
|
660
742
|
this.setOverlayPosition();
|
|
661
743
|
}
|
|
662
744
|
}, 0));
|
|
@@ -670,7 +752,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
670
752
|
}
|
|
671
753
|
/** Lifecycle hook after content initialization. Sets up key manager and option subscriptions. */
|
|
672
754
|
ngAfterContentInit() {
|
|
673
|
-
this.withVirtualScroll = !!this.cdkVirtualForOf;
|
|
755
|
+
this.withVirtualScroll = !!this.cdkVirtualForOf();
|
|
674
756
|
this.initKeyManager();
|
|
675
757
|
this.selectionModel.changed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
|
|
676
758
|
event.added.forEach((option) => option.select());
|
|
@@ -680,8 +762,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
680
762
|
this.resetOptions();
|
|
681
763
|
this.initializeSelection();
|
|
682
764
|
});
|
|
683
|
-
this.search
|
|
684
|
-
.pipe(takeUntilDestroyed(this.destroyRef), delay(0), filter(() => {
|
|
765
|
+
this.search()
|
|
766
|
+
?.changes.pipe(takeUntilDestroyed(this.destroyRef), delay(0), filter(() => {
|
|
685
767
|
const activeItem = this.keyManager.activeItem;
|
|
686
768
|
return !activeItem || !this.options.toArray().includes(activeItem);
|
|
687
769
|
}))
|
|
@@ -730,16 +812,17 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
730
812
|
}
|
|
731
813
|
/** Resets the search component if present. */
|
|
732
814
|
resetSearch() {
|
|
733
|
-
|
|
815
|
+
const search = this.search();
|
|
816
|
+
if (!search) {
|
|
734
817
|
return;
|
|
735
818
|
}
|
|
736
|
-
|
|
819
|
+
search.reset();
|
|
737
820
|
/*
|
|
738
821
|
todo the incorrect behaviour of keyManager is possible here
|
|
739
822
|
to avoid first item selection (to provide correct options flipping on closed select)
|
|
740
823
|
we should process options update like it is the first options appearance
|
|
741
824
|
*/
|
|
742
|
-
|
|
825
|
+
search.isSearchChanged = false;
|
|
743
826
|
}
|
|
744
827
|
/** Toggles the overlay panel open or closed. */
|
|
745
828
|
toggle() {
|
|
@@ -774,13 +857,14 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
774
857
|
* Sets up the overlay dimensions based on trigger size and configured options.
|
|
775
858
|
*/
|
|
776
859
|
openPanel() {
|
|
777
|
-
|
|
860
|
+
const trigger = this.trigger();
|
|
861
|
+
if (!trigger || !this.keyManager)
|
|
778
862
|
return;
|
|
779
863
|
// add check for form-field bounding rectangles, since it adds extra padding around the trigger
|
|
780
|
-
this.triggerRect = (this.parentFormField?.getConnectedOverlayOrigin().nativeElement ||
|
|
864
|
+
this.triggerRect = (this.parentFormField?.getConnectedOverlayOrigin().nativeElement || trigger.nativeElement).getBoundingClientRect();
|
|
781
865
|
// Note: The computed font-size will be a string pixel value (e.g. "16px").
|
|
782
866
|
// `parseInt` ignores the trailing 'px' and converts this to a number.
|
|
783
|
-
this.triggerFontSize = parseInt(this.window.getComputedStyle(
|
|
867
|
+
this.triggerFontSize = parseInt(this.window.getComputedStyle(trigger.nativeElement)['font-size']);
|
|
784
868
|
// It's important that we read this as late as possible, because doing so earlier will
|
|
785
869
|
// return a different element since it's based on queries in the form field which may
|
|
786
870
|
// not have run yet. Also this needs to be assigned before we measure the overlay width.
|
|
@@ -809,8 +893,8 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
809
893
|
this.overlayDir.overlayRef.overlayElement.style.fontSize = `${this.triggerFontSize}px`;
|
|
810
894
|
}
|
|
811
895
|
this.addClassToOverlayContainer();
|
|
812
|
-
if (this.search && !this.overlayWidth) {
|
|
813
|
-
const measuredPanelWidth = this.panel?.nativeElement.getBoundingClientRect().width;
|
|
896
|
+
if (this.search() && !this.overlayWidth) {
|
|
897
|
+
const measuredPanelWidth = this.panel()?.nativeElement.getBoundingClientRect().width;
|
|
814
898
|
if (measuredPanelWidth) {
|
|
815
899
|
this.overlayWidth = measuredPanelWidth;
|
|
816
900
|
}
|
|
@@ -857,7 +941,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
857
941
|
*
|
|
858
942
|
* @param fn Callback to be triggered when the component has been touched.
|
|
859
943
|
*/
|
|
860
|
-
// eslint-disable-next-line @typescript-eslint/
|
|
944
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
861
945
|
registerOnTouched(fn) {
|
|
862
946
|
this.onTouched = fn;
|
|
863
947
|
}
|
|
@@ -911,11 +995,6 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
911
995
|
this.onTouched();
|
|
912
996
|
this._changeDetectorRef.markForCheck();
|
|
913
997
|
this.stateChanges.next();
|
|
914
|
-
if (this.useLegacyValidation && this.ngControl?.control) {
|
|
915
|
-
const control = this.ngControl.control;
|
|
916
|
-
control.updateValueAndValidity({ emitEvent: false });
|
|
917
|
-
control.statusChanges.emit(control.status);
|
|
918
|
-
}
|
|
919
998
|
}
|
|
920
999
|
}
|
|
921
1000
|
/**
|
|
@@ -926,17 +1005,34 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
926
1005
|
this.overlayDir.positionChange.pipe(take(1)).subscribe(() => {
|
|
927
1006
|
this._changeDetectorRef.detectChanges();
|
|
928
1007
|
this.setOverlayPosition();
|
|
929
|
-
this.optionsContainer.nativeElement.scrollTop = this.scrollTop;
|
|
1008
|
+
this.optionsContainer().nativeElement.scrollTop = this.scrollTop;
|
|
930
1009
|
this.updateScrollSize();
|
|
931
1010
|
this.subscribeToScrolledToBottom();
|
|
932
1011
|
});
|
|
933
|
-
this.options.changes
|
|
1012
|
+
this.options.changes
|
|
1013
|
+
.pipe(delay(1), takeUntilDestroyed(this.destroyRef))
|
|
1014
|
+
.subscribe(() => this.setOverlayPosition());
|
|
934
1015
|
this.closeSubscription = this.closingActions().subscribe(() => this.close());
|
|
935
1016
|
}
|
|
936
1017
|
/** Returns the theme to be used on the panel based on parent form field color. */
|
|
937
1018
|
getPanelTheme() {
|
|
938
1019
|
return this.parentFormField ? `kbq-${this.parentFormField.color}` : '';
|
|
939
1020
|
}
|
|
1021
|
+
/** Returns the full set of classes for the panel: base class, theme and custom `panelClass`. */
|
|
1022
|
+
getPanelClasses() {
|
|
1023
|
+
const panelClass = this.panelClass();
|
|
1024
|
+
const classes = ['kbq-select__panel', this.getPanelTheme()];
|
|
1025
|
+
if (typeof panelClass === 'string') {
|
|
1026
|
+
classes.push(panelClass);
|
|
1027
|
+
}
|
|
1028
|
+
else if (Array.isArray(panelClass) || panelClass instanceof Set) {
|
|
1029
|
+
classes.push(...panelClass);
|
|
1030
|
+
}
|
|
1031
|
+
else if (panelClass) {
|
|
1032
|
+
classes.push(...Object.keys(panelClass).filter((key) => panelClass[key]));
|
|
1033
|
+
}
|
|
1034
|
+
return classes.filter(Boolean).join(' ');
|
|
1035
|
+
}
|
|
940
1036
|
/** Focuses the select element. */
|
|
941
1037
|
focus() {
|
|
942
1038
|
this.elementRef.nativeElement.focus();
|
|
@@ -970,13 +1066,13 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
970
1066
|
* @param $event The mouse event to handle.
|
|
971
1067
|
*/
|
|
972
1068
|
handleClick($event) {
|
|
973
|
-
if (this.footer?.nativeElement.contains($event.target)) {
|
|
1069
|
+
if (this.footer()?.nativeElement.contains($event.target)) {
|
|
974
1070
|
this.close();
|
|
975
1071
|
}
|
|
976
1072
|
}
|
|
977
1073
|
/** @docs-private */
|
|
978
1074
|
setSelectedOptionsByClick(option) {
|
|
979
|
-
if (this.multiple || this.multiline) {
|
|
1075
|
+
if (this.multiple || this.multiline()) {
|
|
980
1076
|
this.keyManager.setActiveItem(option);
|
|
981
1077
|
const options = this.options.toArray();
|
|
982
1078
|
let fromIndex = this.keyManager.previousActiveItemIndex;
|
|
@@ -1008,7 +1104,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1008
1104
|
/** @docs-private */
|
|
1009
1105
|
shouldShowSearch() {
|
|
1010
1106
|
return (isUndefined(this.searchMinOptionsThreshold) ||
|
|
1011
|
-
!!this.search
|
|
1107
|
+
!!this.search()?.value() ||
|
|
1012
1108
|
this.options.length >= this.searchMinOptionsThreshold);
|
|
1013
1109
|
}
|
|
1014
1110
|
/** Checks if the component is currently visible in the viewport. */
|
|
@@ -1045,7 +1141,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1045
1141
|
}
|
|
1046
1142
|
/** Gets the height of the options container element. */
|
|
1047
1143
|
getHeightOfOptionsContainer() {
|
|
1048
|
-
return this.optionsContainer.nativeElement.getClientRects()[0]?.height;
|
|
1144
|
+
return this.optionsContainer().nativeElement.getClientRects()[0]?.height;
|
|
1049
1145
|
}
|
|
1050
1146
|
/** Updates the keyboard manager scroll size based on options container height. */
|
|
1051
1147
|
updateScrollSize() {
|
|
@@ -1062,17 +1158,18 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1062
1158
|
*/
|
|
1063
1159
|
subscribeToScrolledToBottom() {
|
|
1064
1160
|
this.scrollSubscription.unsubscribe();
|
|
1065
|
-
const
|
|
1066
|
-
|
|
1161
|
+
const virtualScrollViewport = this.virtualScrollViewport();
|
|
1162
|
+
const distance = this.withVirtualScroll && virtualScrollViewport
|
|
1163
|
+
? virtualScrollViewport
|
|
1067
1164
|
.elementScrolled()
|
|
1068
|
-
.pipe(map(() => this.virtualScrollViewport.measureScrollOffset('bottom')))
|
|
1069
|
-
: fromEvent(this.optionsContainer.nativeElement, 'scroll').pipe(map(() => {
|
|
1070
|
-
const element = this.optionsContainer.nativeElement;
|
|
1165
|
+
.pipe(map(() => this.virtualScrollViewport().measureScrollOffset('bottom')))
|
|
1166
|
+
: fromEvent(this.optionsContainer().nativeElement, 'scroll').pipe(map(() => {
|
|
1167
|
+
const element = this.optionsContainer().nativeElement;
|
|
1071
1168
|
return element.scrollHeight - element.scrollTop - element.clientHeight;
|
|
1072
1169
|
}));
|
|
1073
1170
|
this._ngZone.runOutsideAngular(() => {
|
|
1074
1171
|
this.scrollSubscription = distance
|
|
1075
|
-
.pipe(auditTime(SCROLLED_TO_BOTTOM_THROTTLE_TIME), map((distance) => distance <= this.scrolledToBottomOffset), distinctUntilChanged(), filter(Boolean), takeUntilDestroyed(this.destroyRef), takeUntil(this.closedStream))
|
|
1172
|
+
.pipe(auditTime(SCROLLED_TO_BOTTOM_THROTTLE_TIME), map((distance) => distance <= this.scrolledToBottomOffset()), distinctUntilChanged(), filter(Boolean), takeUntilDestroyed(this.destroyRef), takeUntil(this.closedStream))
|
|
1076
1173
|
.subscribe(() => this._ngZone.run(() => this.scrolledToBottom.emit()));
|
|
1077
1174
|
});
|
|
1078
1175
|
}
|
|
@@ -1080,7 +1177,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1080
1177
|
getTotalItemsWidthInMatcher() {
|
|
1081
1178
|
const triggerClone = this.buildTriggerClone();
|
|
1082
1179
|
triggerClone.querySelector('.kbq-select__match-hidden-text')?.remove();
|
|
1083
|
-
this._renderer.appendChild(this.trigger.nativeElement, triggerClone);
|
|
1180
|
+
this._renderer.appendChild(this.trigger().nativeElement, triggerClone);
|
|
1084
1181
|
let totalItemsWidth = 0;
|
|
1085
1182
|
const selectedItemsViewValueContainers = triggerClone.querySelectorAll('kbq-tag');
|
|
1086
1183
|
selectedItemsViewValueContainers.forEach((item) => (totalItemsWidth += this.getItemWidth(item)));
|
|
@@ -1162,10 +1259,11 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1162
1259
|
if (isArrowKey && this.keyManager.activeItemIndex === previouslyFocusedIndex) {
|
|
1163
1260
|
this.keyManager.activeItem?.focus();
|
|
1164
1261
|
}
|
|
1165
|
-
|
|
1166
|
-
|
|
1262
|
+
const search = this.search();
|
|
1263
|
+
if (search && this.shouldShowSearch()) {
|
|
1264
|
+
search.focus();
|
|
1167
1265
|
}
|
|
1168
|
-
if (
|
|
1266
|
+
if (search && (this.keyManager.isTyping() || [BACKSPACE, DELETE].includes(keyCode))) {
|
|
1169
1267
|
setTimeout(() => this.highlightCorrectOption());
|
|
1170
1268
|
}
|
|
1171
1269
|
}
|
|
@@ -1241,13 +1339,13 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1241
1339
|
this.selectionModel.select(correspondingOption);
|
|
1242
1340
|
}
|
|
1243
1341
|
else if (this.withVirtualScroll) {
|
|
1244
|
-
const source = this.cdkVirtualForOf?.cdkVirtualForOf;
|
|
1342
|
+
const source = this.cdkVirtualForOf()?.cdkVirtualForOf;
|
|
1245
1343
|
const correspondingOptionVirtual = source instanceof Array ? source.find((item) => this.compareWith(item, value)) : undefined;
|
|
1246
1344
|
if (correspondingOptionVirtual) {
|
|
1247
1345
|
this.selectionModel.select(this.createVirtualOption(correspondingOptionVirtual));
|
|
1248
1346
|
}
|
|
1249
1347
|
}
|
|
1250
|
-
else if (this.showPreselectedValues) {
|
|
1348
|
+
else if (this.showPreselectedValues()) {
|
|
1251
1349
|
this.selectionModel.select(this.createVirtualOption(value));
|
|
1252
1350
|
}
|
|
1253
1351
|
return correspondingOption;
|
|
@@ -1258,21 +1356,20 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1258
1356
|
* wraps the raw value with the select's current `disabled` state.
|
|
1259
1357
|
*/
|
|
1260
1358
|
createVirtualOption(value) {
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
: new KbqVirtualOption(value, this.disabled);
|
|
1359
|
+
const virtualOptionFactory = this.virtualOptionFactory();
|
|
1360
|
+
return virtualOptionFactory ? virtualOptionFactory(value) : new KbqVirtualOption(value, this.disabled);
|
|
1264
1361
|
}
|
|
1265
1362
|
/** Sets up a key manager to listen to keyboard events on the overlay panel. */
|
|
1266
1363
|
initKeyManager() {
|
|
1267
1364
|
const typeAheadDebounce = 200;
|
|
1268
1365
|
this.keyManager = new ActiveDescendantKeyManager(this.options)
|
|
1269
|
-
.withTypeAhead(typeAheadDebounce, this.search ? -1 : 0)
|
|
1366
|
+
.withTypeAhead(typeAheadDebounce, this.search() ? -1 : 0)
|
|
1270
1367
|
.withVerticalOrientation()
|
|
1271
1368
|
.withHorizontalOrientation(this.isRtl() ? 'rtl' : 'ltr');
|
|
1272
1369
|
this.keyManager.change.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
1273
|
-
if (this.panelOpen && this.panel) {
|
|
1370
|
+
if (this.panelOpen && this.panel()) {
|
|
1274
1371
|
this.scrollActiveOptionIntoView();
|
|
1275
|
-
this.search?.focus();
|
|
1372
|
+
this.search()?.focus();
|
|
1276
1373
|
}
|
|
1277
1374
|
else if (!this.panelOpen && !this.multiSelection && this.keyManager.activeItem) {
|
|
1278
1375
|
this.keyManager.activeItem.selectViaInteraction();
|
|
@@ -1330,7 +1427,10 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1330
1427
|
sortValues() {
|
|
1331
1428
|
if (this.multiSelection) {
|
|
1332
1429
|
const options = this.options.toArray();
|
|
1333
|
-
this.selectionModel.sort((a, b) =>
|
|
1430
|
+
this.selectionModel.sort((a, b) => {
|
|
1431
|
+
const sortComparator = this.sortComparator();
|
|
1432
|
+
return sortComparator ? sortComparator(a, b, options) : a.value - b.value;
|
|
1433
|
+
});
|
|
1334
1434
|
this.stateChanges.next();
|
|
1335
1435
|
}
|
|
1336
1436
|
}
|
|
@@ -1394,8 +1494,11 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1394
1494
|
*/
|
|
1395
1495
|
getTotalVisibleItems() {
|
|
1396
1496
|
const triggerClone = this.buildTriggerClone();
|
|
1397
|
-
|
|
1398
|
-
|
|
1497
|
+
const hiddenText = triggerClone.querySelector('.kbq-select__match-hidden-text');
|
|
1498
|
+
if (hiddenText) {
|
|
1499
|
+
this._renderer.setStyle(hiddenText, 'display', 'block');
|
|
1500
|
+
}
|
|
1501
|
+
this._renderer.appendChild(this.trigger().nativeElement, triggerClone);
|
|
1399
1502
|
let visibleItemsCount = 0;
|
|
1400
1503
|
let totalVisibleItemsWidth = 0;
|
|
1401
1504
|
triggerClone.querySelectorAll('kbq-tag').forEach((item) => {
|
|
@@ -1412,7 +1515,7 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1412
1515
|
* @returns Clone of the trigger element positioned off-screen.
|
|
1413
1516
|
*/
|
|
1414
1517
|
buildTriggerClone() {
|
|
1415
|
-
const triggerClone = this.trigger.nativeElement.cloneNode(true);
|
|
1518
|
+
const triggerClone = this.trigger().nativeElement.cloneNode(true);
|
|
1416
1519
|
this._renderer.setStyle(triggerClone, 'position', 'absolute');
|
|
1417
1520
|
this._renderer.setStyle(triggerClone, 'visibility', 'hidden');
|
|
1418
1521
|
this._renderer.setStyle(triggerClone, 'top', '-100%');
|
|
@@ -1434,17 +1537,17 @@ class KbqSelect extends KbqAbstractSelect {
|
|
|
1434
1537
|
this._renderer.removeClass(this.overlayContainer.getContainerElement(), 'cdk-overlay-container_dropdown');
|
|
1435
1538
|
}
|
|
1436
1539
|
}
|
|
1437
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1438
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1540
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelect, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1541
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: KbqSelect, isStandalone: true, selector: "kbq-select", inputs: { hiddenItemsText: { classPropertyName: "hiddenItemsText", publicName: "hiddenItemsText", isSignal: false, isRequired: false, transformFunction: null }, showPreselectedValues: { classPropertyName: "showPreselectedValues", publicName: "showPreselectedValues", isSignal: true, isRequired: false, transformFunction: null }, triggerValuesLimit: { classPropertyName: "triggerValuesLimit", publicName: "triggerValuesLimit", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null }, errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: false, isRequired: false, transformFunction: null }, sortComparator: { classPropertyName: "sortComparator", publicName: "sortComparator", isSignal: true, isRequired: false, transformFunction: null }, multiline: { classPropertyName: "multiline", publicName: "multiline", isSignal: true, isRequired: false, transformFunction: null }, searchMinOptionsThreshold: { classPropertyName: "searchMinOptionsThreshold", publicName: "searchMinOptionsThreshold", isSignal: false, isRequired: false, transformFunction: null }, scrolledToBottomOffset: { classPropertyName: "scrolledToBottomOffset", publicName: "scrolledToBottomOffset", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: false, isRequired: false, transformFunction: null }, virtualOptionFactory: { classPropertyName: "virtualOptionFactory", publicName: "virtualOptionFactory", isSignal: true, isRequired: false, transformFunction: null }, selectAllHandler: { classPropertyName: "selectAllHandler", publicName: "selectAllHandler", isSignal: false, isRequired: false, transformFunction: null }, panelWidth: { classPropertyName: "panelWidth", publicName: "panelWidth", isSignal: false, isRequired: false, transformFunction: null }, panelMinWidth: { classPropertyName: "panelMinWidth", publicName: "panelMinWidth", isSignal: false, isRequired: false, transformFunction: numberAttribute }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, hiddenItemsTextFormatter: { classPropertyName: "hiddenItemsTextFormatter", publicName: "hiddenItemsTextFormatter", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange", beforeOpened: "beforeOpened", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange", scrolledToBottom: "scrolledToBottom" }, host: { listeners: { "click": "toggle()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()" }, 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: [
|
|
1439
1542
|
{ provide: KbqFormFieldControl, useExisting: KbqSelect },
|
|
1440
1543
|
{ provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
|
|
1441
1544
|
{ provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
|
|
1442
|
-
], queries: [{ propertyName: "footer", first: true, predicate: KbqSelectFooter, descendants: true, read: ElementRef }, { propertyName: "cdkVirtualForOf", first: true, predicate: CdkVirtualForOf, descendants: true }, { propertyName: "virtualScrollViewport", first: true, predicate: CdkVirtualScrollViewport, 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: "searchEmpty", first: true, predicate: KbqSelectSearchEmptyResult, 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 class=\"kbq-select__panel {{ getPanelTheme() }}\"\n cdkMonitorSubtreeFocus\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 && shouldShowSearch()) {\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\"\n [class.kbq-scrollbar]=\"!withVirtualScroll\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\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:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.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:calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-right) calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) 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));min-width:var(--kbq-form-field-size-addon-width)}.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 40px;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-trigger,.kbq-select [kbq-select-trigger]{width:100%}.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;justify-content:center;box-sizing:border-box;position:relative;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl);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: 0;--kbq-select-size-single-padding-right: 0;--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: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["editable", "preventEditSubmit", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["editChange", "selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: 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: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], animations: [
|
|
1545
|
+
], queries: [{ propertyName: "footer", first: true, predicate: KbqSelectFooter, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "cdkVirtualForOf", first: true, predicate: CdkVirtualForOf, descendants: true, isSignal: true }, { propertyName: "virtualScrollViewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true, isSignal: true }, { propertyName: "customTrigger", first: true, predicate: KbqSelectTrigger, descendants: true, isSignal: true }, { propertyName: "customMatcher", first: true, predicate: KbqSelectMatcher, descendants: true, isSignal: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["kbqSelectTagContent"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, isSignal: true }, { propertyName: "optionGroups", predicate: KbqOptgroup, isSignal: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true, isSignal: true }, { propertyName: "searchEmpty", first: true, predicate: KbqSelectSearchEmptyResult, descendants: true, isSignal: true }, { propertyName: "options", predicate: KbqOption, descendants: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, isSignal: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true, isSignal: 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 } @else {\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]=\"getPanelClasses()\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search() && shouldShowSearch()) {\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\"\n [class.kbq-scrollbar]=\"!withVirtualScroll\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\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:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.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:calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-right) calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) 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));min-width:var(--kbq-form-field-size-addon-width)}.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 40px;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-trigger,.kbq-select [kbq-select-trigger]{width:100%}.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;justify-content:center;box-sizing:border-box;position:relative;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl);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: 0;--kbq-select-size-single-padding-right: 0;--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: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: KbqTag, selector: "kbq-tag, [kbq-tag], kbq-basic-tag, [kbq-basic-tag]", inputs: ["editable", "preventEditSubmit", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["editChange", "selectionChange", "destroyed", "removed"], exportAs: ["kbqTag"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: 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: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1$1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], animations: [
|
|
1443
1546
|
kbqSelectAnimations.transformPanel,
|
|
1444
1547
|
kbqSelectAnimations.fadeInContent
|
|
1445
1548
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1446
1549
|
}
|
|
1447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1550
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelect, decorators: [{
|
|
1448
1551
|
type: Component,
|
|
1449
1552
|
args: [{ selector: 'kbq-select', imports: [
|
|
1450
1553
|
CdkOverlayOrigin,
|
|
@@ -1452,14 +1555,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1452
1555
|
NgTemplateOutlet,
|
|
1453
1556
|
CdkMonitorFocus,
|
|
1454
1557
|
CdkConnectedOverlay,
|
|
1455
|
-
NgClass,
|
|
1456
1558
|
KbqIconModule
|
|
1457
|
-
],
|
|
1559
|
+
], providers: [
|
|
1560
|
+
{ provide: KbqFormFieldControl, useExisting: KbqSelect },
|
|
1561
|
+
{ provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
|
|
1562
|
+
{ provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
|
|
1563
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
1458
1564
|
'[attr.tabindex]': 'tabIndex',
|
|
1459
1565
|
'[attr.disabled]': 'disabled || null',
|
|
1460
1566
|
class: 'kbq-select',
|
|
1461
1567
|
'[class.kbq-select_multiple]': 'multiple',
|
|
1462
|
-
'[class.kbq-select_multiline]': 'multiline',
|
|
1568
|
+
'[class.kbq-select_multiline]': 'multiline()',
|
|
1463
1569
|
'[class.kbq-disabled]': 'disabled',
|
|
1464
1570
|
'[class.kbq-invalid]': 'errorState',
|
|
1465
1571
|
'(click)': 'toggle()',
|
|
@@ -1469,118 +1575,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1469
1575
|
}, animations: [
|
|
1470
1576
|
kbqSelectAnimations.transformPanel,
|
|
1471
1577
|
kbqSelectAnimations.fadeInContent
|
|
1472
|
-
], providers: [
|
|
1473
|
-
|
|
1474
|
-
{ provide: KBQ_OPTION_PARENT_COMPONENT, useExisting: KbqSelect },
|
|
1475
|
-
{ provide: KBQ_PARENT_POPUP, useExisting: KbqSelect }
|
|
1476
|
-
], 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 class=\"kbq-select__panel {{ getPanelTheme() }}\"\n cdkMonitorSubtreeFocus\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 && shouldShowSearch()) {\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\"\n [class.kbq-scrollbar]=\"!withVirtualScroll\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\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:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.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:calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-right) calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) 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));min-width:var(--kbq-form-field-size-addon-width)}.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 40px;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-trigger,.kbq-select [kbq-select-trigger]{width:100%}.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;justify-content:center;box-sizing:border-box;position:relative;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl);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: 0;--kbq-select-size-single-padding-right: 0;--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"] }]
|
|
1477
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.ErrorStateMatcher }, { type: i0.ElementRef }, { type: i2.OverlayContainer }, { type: i3.Directionality, decorators: [{
|
|
1478
|
-
type: Optional
|
|
1479
|
-
}] }, { type: i4.NgForm, decorators: [{
|
|
1480
|
-
type: Optional
|
|
1481
|
-
}] }, { type: i4.FormGroupDirective, decorators: [{
|
|
1482
|
-
type: Optional
|
|
1483
|
-
}] }, { type: i5.KbqFormField, decorators: [{
|
|
1484
|
-
type: Host
|
|
1485
|
-
}, {
|
|
1486
|
-
type: Optional
|
|
1487
|
-
}] }, { type: i4.NgControl, decorators: [{
|
|
1488
|
-
type: Self
|
|
1489
|
-
}, {
|
|
1490
|
-
type: Optional
|
|
1491
|
-
}] }, { type: undefined, decorators: [{
|
|
1492
|
-
type: Inject,
|
|
1493
|
-
args: [KBQ_SELECT_SCROLL_STRATEGY]
|
|
1494
|
-
}] }, { type: i1$1.KbqLocaleService, decorators: [{
|
|
1495
|
-
type: Optional
|
|
1496
|
-
}, {
|
|
1497
|
-
type: Inject,
|
|
1498
|
-
args: [KBQ_LOCALE_SERVICE]
|
|
1499
|
-
}] }], propDecorators: { trigger: [{
|
|
1500
|
-
type: ViewChild,
|
|
1501
|
-
args: ['trigger', { static: false }]
|
|
1502
|
-
}], panel: [{
|
|
1503
|
-
type: ViewChild,
|
|
1504
|
-
args: ['panel', { static: false }]
|
|
1505
|
-
}], optionsContainer: [{
|
|
1506
|
-
type: ViewChild,
|
|
1507
|
-
args: ['optionsContainer', { static: false }]
|
|
1508
|
-
}], overlayDir: [{
|
|
1578
|
+
], exportAs: 'kbqSelect', 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 } @else {\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]=\"getPanelClasses()\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeydown($event)\"\n >\n @if (search() && shouldShowSearch()) {\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\"\n [class.kbq-scrollbar]=\"!withVirtualScroll\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\"\n >\n @if (isEmptySearchResult) {\n <ng-content select=\"[kbq-select-search-empty-result]\" />\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:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.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:calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) var(--kbq-select-size-multiple-padding-right) calc(var(--kbq-select-size-multiple-padding-vertical) - var(--kbq-size-border-width)) 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));min-width:var(--kbq-form-field-size-addon-width)}.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 40px;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-trigger,.kbq-select [kbq-select-trigger]{width:100%}.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;justify-content:center;box-sizing:border-box;position:relative;margin-bottom:var(--kbq-size-3xl);margin-top:var(--kbq-size-3xl);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: 0;--kbq-select-size-single-padding-right: 0;--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"] }]
|
|
1579
|
+
}], ctorParameters: () => [], propDecorators: { trigger: [{ type: i0.ViewChild, args: ['trigger', { isSignal: true }] }], panel: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }], optionsContainer: [{ type: i0.ViewChild, args: ['optionsContainer', { isSignal: true }] }], overlayDir: [{
|
|
1509
1580
|
type: ViewChild,
|
|
1510
1581
|
args: [CdkConnectedOverlay, { static: false }]
|
|
1511
|
-
}], footer: [{
|
|
1512
|
-
type: ContentChild,
|
|
1513
|
-
args: [KbqSelectFooter, { static: false, read: ElementRef }]
|
|
1514
|
-
}], cdkVirtualForOf: [{
|
|
1515
|
-
type: ContentChild,
|
|
1516
|
-
args: [CdkVirtualForOf, { static: false }]
|
|
1517
|
-
}], virtualScrollViewport: [{
|
|
1518
|
-
type: ContentChild,
|
|
1519
|
-
args: [CdkVirtualScrollViewport, { static: false }]
|
|
1520
|
-
}], tags: [{
|
|
1582
|
+
}], footer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectFooter), { ...{ read: ElementRef }, isSignal: true }] }], cdkVirtualForOf: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CdkVirtualForOf), { isSignal: true }] }], virtualScrollViewport: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CdkVirtualScrollViewport), { isSignal: true }] }], tags: [{
|
|
1521
1583
|
type: ViewChildren,
|
|
1522
1584
|
args: [KbqTag]
|
|
1523
|
-
}], customTrigger: [{
|
|
1524
|
-
type: ContentChild,
|
|
1525
|
-
args: [KbqSelectTrigger, { static: false }]
|
|
1526
|
-
}], customMatcher: [{
|
|
1527
|
-
type: ContentChild,
|
|
1528
|
-
args: [KbqSelectMatcher, { static: false }]
|
|
1529
|
-
}], customTagTemplateRef: [{
|
|
1530
|
-
type: ContentChild,
|
|
1531
|
-
args: ['kbqSelectTagContent', { static: false, read: TemplateRef }]
|
|
1532
|
-
}], cleaner: [{
|
|
1533
|
-
type: ContentChild,
|
|
1534
|
-
args: ['kbqSelectCleaner', { static: true }]
|
|
1535
|
-
}], options: [{
|
|
1585
|
+
}], customTrigger: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectTrigger), { isSignal: true }] }], customMatcher: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectMatcher), { isSignal: true }] }], customTagTemplateRef: [{ type: i0.ContentChild, args: ['kbqSelectTagContent', { ...{ read: TemplateRef }, isSignal: true }] }], cleaner: [{ type: i0.ContentChild, args: ['kbqSelectCleaner', { isSignal: true }] }], options: [{
|
|
1536
1586
|
type: ContentChildren,
|
|
1537
1587
|
args: [KbqOption, { descendants: true }]
|
|
1538
|
-
}], optionGroups: [{
|
|
1539
|
-
type: ContentChildren,
|
|
1540
|
-
args: [KbqOptgroup]
|
|
1541
|
-
}], search: [{
|
|
1542
|
-
type: ContentChild,
|
|
1543
|
-
args: [KbqSelectSearch, { static: false }]
|
|
1544
|
-
}], searchEmpty: [{
|
|
1545
|
-
type: ContentChild,
|
|
1546
|
-
args: [KbqSelectSearchEmptyResult, { static: false }]
|
|
1547
|
-
}], hiddenItemsText: [{
|
|
1548
|
-
type: Input
|
|
1549
|
-
}], showPreselectedValues: [{
|
|
1550
|
-
type: Input
|
|
1551
|
-
}], triggerValuesLimit: [{
|
|
1588
|
+
}], optionGroups: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KbqOptgroup), { isSignal: true }] }], search: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectSearch), { isSignal: true }] }], searchEmpty: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectSearchEmptyResult), { isSignal: true }] }], hiddenItemsText: [{
|
|
1552
1589
|
type: Input
|
|
1553
|
-
}], panelClass: [{
|
|
1590
|
+
}], showPreselectedValues: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPreselectedValues", required: false }] }], triggerValuesLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggerValuesLimit", required: false }] }], panelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClass", required: false }] }], backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdropClass", required: false }] }], errorStateMatcher: [{
|
|
1554
1591
|
type: Input
|
|
1555
|
-
}],
|
|
1556
|
-
type: Input
|
|
1557
|
-
}], errorStateMatcher: [{
|
|
1558
|
-
type: Input
|
|
1559
|
-
}], sortComparator: [{
|
|
1560
|
-
type: Input
|
|
1561
|
-
}], multiline: [{
|
|
1562
|
-
type: Input,
|
|
1563
|
-
args: [{ transform: booleanAttribute }]
|
|
1564
|
-
}], searchMinOptionsThreshold: [{
|
|
1592
|
+
}], sortComparator: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortComparator", required: false }] }], multiline: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiline", required: false }] }], searchMinOptionsThreshold: [{
|
|
1565
1593
|
type: Input
|
|
1566
1594
|
}], openedChange: [{
|
|
1567
1595
|
type: Output
|
|
1568
|
-
}], openedStream: [{
|
|
1596
|
+
}], beforeOpened: [{ type: i0.Output, args: ["beforeOpened"] }], openedStream: [{
|
|
1569
1597
|
type: Output,
|
|
1570
1598
|
args: ['opened']
|
|
1571
1599
|
}], closedStream: [{
|
|
1572
1600
|
type: Output,
|
|
1573
1601
|
args: ['closed']
|
|
1574
|
-
}], selectionChange: [{
|
|
1575
|
-
type: Output
|
|
1576
|
-
}], valueChange: [{
|
|
1577
|
-
type: Output
|
|
1578
|
-
}], scrolledToBottomOffset: [{
|
|
1579
|
-
type: Input,
|
|
1580
|
-
args: [{ transform: numberAttribute }]
|
|
1581
|
-
}], scrolledToBottom: [{
|
|
1582
|
-
type: Output
|
|
1583
|
-
}], hasBackdrop: [{
|
|
1602
|
+
}], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], scrolledToBottomOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrolledToBottomOffset", required: false }] }], scrolledToBottom: [{ type: i0.Output, args: ["scrolledToBottom"] }], hasBackdrop: [{
|
|
1584
1603
|
type: Input
|
|
1585
1604
|
}], placeholder: [{
|
|
1586
1605
|
type: Input
|
|
@@ -1591,9 +1610,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1591
1610
|
args: [{ transform: booleanAttribute }]
|
|
1592
1611
|
}], compareWith: [{
|
|
1593
1612
|
type: Input
|
|
1594
|
-
}], virtualOptionFactory: [{
|
|
1595
|
-
type: Input
|
|
1596
|
-
}], selectAllHandler: [{
|
|
1613
|
+
}], virtualOptionFactory: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualOptionFactory", required: false }] }], selectAllHandler: [{
|
|
1597
1614
|
type: Input
|
|
1598
1615
|
}], panelWidth: [{
|
|
1599
1616
|
type: Input
|
|
@@ -1615,8 +1632,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1615
1632
|
}] } });
|
|
1616
1633
|
|
|
1617
1634
|
class KbqSelectModule {
|
|
1618
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1619
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1635
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1636
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectModule, imports: [OverlayModule,
|
|
1620
1637
|
KbqOptionModule,
|
|
1621
1638
|
KbqIconModule,
|
|
1622
1639
|
KbqTagsModule,
|
|
@@ -1626,7 +1643,6 @@ class KbqSelectModule {
|
|
|
1626
1643
|
KbqSelectMatcher,
|
|
1627
1644
|
KbqSelectTrigger,
|
|
1628
1645
|
KbqSelectSearchEmptyResult,
|
|
1629
|
-
NgClass,
|
|
1630
1646
|
NgTemplateOutlet,
|
|
1631
1647
|
A11yModule,
|
|
1632
1648
|
KbqSelect,
|
|
@@ -1647,7 +1663,7 @@ class KbqSelectModule {
|
|
|
1647
1663
|
KbqSelectError,
|
|
1648
1664
|
KbqSelectNoOptions,
|
|
1649
1665
|
KbqSelectErrorText] }); }
|
|
1650
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1666
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectModule, providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule,
|
|
1651
1667
|
KbqOptionModule,
|
|
1652
1668
|
KbqIconModule,
|
|
1653
1669
|
KbqTagsModule,
|
|
@@ -1657,7 +1673,7 @@ class KbqSelectModule {
|
|
|
1657
1673
|
KbqSelectLoading, KbqOptionModule,
|
|
1658
1674
|
KbqFormFieldModule] }); }
|
|
1659
1675
|
}
|
|
1660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqSelectModule, decorators: [{
|
|
1661
1677
|
type: NgModule,
|
|
1662
1678
|
args: [{
|
|
1663
1679
|
imports: [
|
|
@@ -1671,7 +1687,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1671
1687
|
KbqSelectMatcher,
|
|
1672
1688
|
KbqSelectTrigger,
|
|
1673
1689
|
KbqSelectSearchEmptyResult,
|
|
1674
|
-
NgClass,
|
|
1675
1690
|
NgTemplateOutlet,
|
|
1676
1691
|
A11yModule,
|
|
1677
1692
|
KbqSelect,
|
|
@@ -1681,6 +1696,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1681
1696
|
KbqSelectNoOptions,
|
|
1682
1697
|
KbqSelectErrorText
|
|
1683
1698
|
],
|
|
1699
|
+
providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER],
|
|
1684
1700
|
exports: [
|
|
1685
1701
|
KbqSelect,
|
|
1686
1702
|
KbqOptionTooltip,
|
|
@@ -1695,8 +1711,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1695
1711
|
KbqSelectError,
|
|
1696
1712
|
KbqSelectNoOptions,
|
|
1697
1713
|
KbqSelectErrorText
|
|
1698
|
-
]
|
|
1699
|
-
providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER]
|
|
1714
|
+
]
|
|
1700
1715
|
}]
|
|
1701
1716
|
}] });
|
|
1702
1717
|
|