@koobiq/components 19.8.3 → 20.1.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/accordion-trigger.component.scss +0 -18
- package/accordion/accordion.component.scss +9 -2
- package/accordion/index.d.ts +238 -1
- package/actions-panel/index.d.ts +304 -5
- package/alert/_alert-theme.scss +0 -4
- package/alert/alert-tokens.scss +4 -4
- package/alert/index.d.ts +54 -1
- package/app-switcher/app-switcher-dropdown-app.scss +2 -0
- 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 +4 -0
- package/breadcrumbs/index.d.ts +244 -1
- package/button/button-group.scss +42 -2
- package/button/index.d.ts +153 -1
- package/button-toggle/button-toggle.scss +23 -0
- package/button-toggle/index.d.ts +157 -1
- package/checkbox/checkbox.scss +5 -4
- package/checkbox/index.d.ts +159 -1
- package/clamped-text/index.d.ts +145 -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 +4794 -1
- package/core/styles/_koobiq-theme.scss +1 -0
- package/core/styles/common/_animation.scss +4 -0
- package/core/styles/common/_overlay.scss +3 -4
- package/core/styles/theming/_components-theming.scss +1 -63
- package/core/styles/theming/_scrollbar-theme.scss +4 -0
- package/datepicker/_datepicker-theme.scss +1 -1
- package/datepicker/datepicker-toggle.scss +3 -3
- package/datepicker/index.d.ts +699 -1
- package/divider/index.d.ts +20 -1
- package/dl/index.d.ts +38 -1
- package/dropdown/dropdown.scss +2 -2
- 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 +104 -115
- 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 +82 -87
- 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 +79 -101
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +92 -88
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +56 -51
- 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 +46 -49
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +115 -136
- 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 +2048 -703
- 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 +30 -31
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +159 -160
- 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 +160 -248
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +1160 -1184
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +66 -0
- package/fesm2022/koobiq-components-flag.mjs.map +1 -0
- 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 +85 -61
- 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 +138 -128
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +38 -45
- 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 +174 -164
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +164 -169
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +80 -59
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +40 -36
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +94 -85
- 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 +95 -85
- 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 +279 -244
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +63 -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 +13 -13
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +29 -22
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +114 -96
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +23 -23
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +260 -275
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +179 -267
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +42 -68
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +65 -66
- 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 +58 -58
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +150 -39
- 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 +141 -121
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +22 -25
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +264 -231
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +273 -239
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +62 -49
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/file-upload-tokens.scss +1 -0
- package/file-upload/index.d.ts +577 -1
- package/filter-bar/_filter-bar-theme.scss +86 -0
- package/filter-bar/filter-bar-tokens.scss +6 -0
- package/filter-bar/filter-bar.scss +10 -4
- package/filter-bar/filter-refresher.scss +1 -1
- package/filter-bar/filters.scss +23 -19
- package/filter-bar/index.d.ts +1165 -1
- package/filter-bar/pipes/base-pipe.scss +14 -35
- package/filter-bar/pipes/pipe-date.scss +20 -14
- package/filter-bar/pipes/pipe-multi-tree-select.scss +5 -3
- package/filter-bar/pipes/pipe-multiselect.scss +5 -3
- package/filter-bar/pipes/pipe-readonly.scss +4 -13
- package/filter-bar/pipes/pipe-select.scss +3 -1
- package/filter-bar/pipes/pipe-tree-select.scss +3 -1
- package/flag/flag.scss +53 -0
- package/flag/index.d.ts +44 -0
- 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 +176 -2
- package/inline-edit/inline-edit.scss +7 -7
- package/input/index.d.ts +339 -1
- package/link/index.d.ts +56 -1
- package/link/link-tokens.scss +2 -2
- package/list/index.d.ts +229 -1
- package/loader-overlay/index.d.ts +57 -1
- package/loader-overlay/loader-overlay-tokens.scss +1 -1
- package/markdown/index.d.ts +68 -1
- package/modal/_modal-animation.scss +6 -6
- package/modal/_modal-theme.scss +3 -6
- package/modal/index.d.ts +313 -1
- package/modal/modal.scss +15 -0
- package/navbar/index.d.ts +305 -1
- package/navbar/navbar.scss +1 -2
- package/notification-center/index.d.ts +322 -1
- package/notification-center/notification-center.scss +14 -9
- package/notification-center/notification-item.scss +2 -1
- package/overflow-items/index.d.ts +162 -2
- package/package.json +13 -17
- 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-bar/progress-bar.scss +4 -0
- package/progress-spinner/index.d.ts +37 -1
- package/progress-spinner/progress-spinner.scss +5 -1
- package/radio/index.d.ts +203 -1
- package/radio/radio.scss +18 -4
- package/resizer/index.d.ts +85 -2
- package/schematics/collection.json +10 -0
- package/schematics/migrations/css-selectors/index.js +1 -1
- package/schematics/migrations/deprecated-icons/index.js +1 -1
- package/schematics/migrations/filter-bar-signals/README.md +66 -0
- package/schematics/migrations/filter-bar-signals/data.js +72 -0
- package/schematics/migrations/filter-bar-signals/index.js +316 -0
- package/schematics/migrations/filter-bar-signals/schema.json +20 -0
- 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 +15 -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 +701 -1
- package/sidebar/index.d.ts +93 -1
- package/sidepanel/index.d.ts +263 -1
- package/sidepanel/sidepanel.scss +0 -8
- package/skeleton/index.d.ts +26 -2
- package/skeleton/skeleton.scss +4 -0
- package/split-button/_split-button-theme.scss +2 -2
- package/split-button/index.d.ts +46 -1
- package/splitter/_splitter-theme.scss +2 -2
- package/splitter/index.d.ts +142 -1
- package/table/_table-theme.scss +4 -0
- package/table/index.d.ts +24 -1
- package/tabs/index.d.ts +647 -1
- package/tabs/tab-header.scss +1 -0
- package/tabs/tabs-tokens.scss +1 -1
- package/tags/index.d.ts +706 -1
- package/textarea/index.d.ts +133 -1
- package/time-range/index.d.ts +310 -7
- package/time-range/time-range.scss +0 -8
- package/timepicker/index.d.ts +193 -1
- package/timepicker/timepicker.scss +2 -2
- package/timezone/index.d.ts +123 -1
- package/title/index.d.ts +131 -1
- package/toast/index.d.ts +164 -1
- package/toggle/index.d.ts +84 -1
- package/tooltip/index.d.ts +211 -1
- package/top-bar/index.d.ts +33 -1
- package/top-bar/top-bar.scss +1 -2
- package/tree/_tree-theme.scss +2 -7
- package/tree/index.d.ts +733 -1
- package/tree/toggle.scss +5 -0
- package/tree/tree-option.scss +20 -11
- package/tree-select/_tree-select-theme.scss +1 -1
- package/tree-select/index.d.ts +384 -1
- package/username/index.d.ts +194 -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 -85
- 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 -121
- 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-slots.d.ts +0 -11
- package/button/button.component.d.ts +0 -74
- package/button/button.dropdown-trigger.directive.d.ts +0 -14
- package/button/button.module.d.ts +0 -13
- package/button/public-api.d.ts +0 -5
- 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 -259
- 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 -176
- package/core/locales/es-LA.d.ts +0 -175
- package/core/locales/formatters.d.ts +0 -190
- package/core/locales/index.d.ts +0 -9
- package/core/locales/locale-service.d.ts +0 -1117
- package/core/locales/locale-service.module.d.ts +0 -6
- package/core/locales/pt-BR.d.ts +0 -175
- package/core/locales/ru-RU.d.ts +0 -176
- package/core/locales/tk-TM.d.ts +0 -176
- 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 -167
- package/dropdown/dropdown.component.d.ts +0 -134
- 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 -184
- package/notification-center/notification-center.module.d.ts +0 -7
- package/notification-center/notification-center.service.d.ts +0 -115
- 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 -34
- package/tabs/tab-label-wrapper.directive.d.ts +0 -29
- package/tabs/tab-label.directive.d.ts +0 -11
- package/tabs/tab-nav-bar.d.ts +0 -91
- package/tabs/tab.component.d.ts +0 -70
- 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,20 +1,17 @@
|
|
|
1
1
|
import { CdkMonitorFocus, A11yModule } from '@angular/cdk/a11y';
|
|
2
|
-
import
|
|
2
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
3
3
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
4
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
5
5
|
import { CdkOverlayOrigin, CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
|
6
6
|
import { Platform, _getEventTarget } from '@angular/cdk/platform';
|
|
7
|
-
import {
|
|
7
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
8
8
|
import * as i0 from '@angular/core';
|
|
9
|
-
import { InjectionToken, inject,
|
|
10
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
11
|
-
import
|
|
12
|
-
import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, ESCAPE, TAB, HOME, END, PAGE_UP, PAGE_DOWN, isSelectAll, hasModifierKey } from '@koobiq/
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import * as i4 from '@koobiq/components/form-field';
|
|
16
|
-
import { KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
|
|
17
|
-
import * as i5 from '@koobiq/components/icon';
|
|
9
|
+
import { InjectionToken, inject, ElementRef, ChangeDetectorRef, NgZone, Renderer2, viewChild, contentChild, TemplateRef, EventEmitter, output, input, booleanAttribute, numberAttribute, DestroyRef, afterNextRender, Input, Output, ViewChildren, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
10
|
+
import { outputToObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
11
|
+
import { NgForm, FormGroupDirective, NgControl } from '@angular/forms';
|
|
12
|
+
import { KbqAbstractSelect, getKbqSelectDynamicMultipleError, isInput, shouldSelectSearchText, KbqSelectAllEvent, KbqComponentColors, ErrorStateMatcher, KBQ_SELECT_SCROLL_STRATEGY, KBQ_LOCALE_SERVICE, defaultOffsetY, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch, KBQ_WINDOW, MultipleMode, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, ESCAPE, TAB, HOME, END, PAGE_UP, PAGE_DOWN, isSelectAll, hasModifierKey, isUndefined, getKbqSelectNonArrayValueError, kbqSelectAnimations, KBQ_PARENT_POPUP, KbqSelectFooter, KbqSelectSearchEmptyResult, KbqPseudoCheckboxModule, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER } from '@koobiq/components/core';
|
|
13
|
+
import { KbqFormField, KbqFormFieldControl, KbqFormFieldModule } from '@koobiq/components/form-field';
|
|
14
|
+
import * as i1 from '@koobiq/components/icon';
|
|
18
15
|
import { KbqIconModule } from '@koobiq/components/icon';
|
|
19
16
|
import { KbqTagRemove, KbqTag, KbqTagsModule } from '@koobiq/components/tags';
|
|
20
17
|
import { KbqTreeSelection, KbqTree, KbqTreeModule } from '@koobiq/components/tree';
|
|
@@ -42,6 +39,8 @@ class KbqTreeSelectChange {
|
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
41
|
class KbqTreeSelect extends KbqAbstractSelect {
|
|
42
|
+
// TODO: Skipped for migration because:
|
|
43
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
45
44
|
get placeholder() {
|
|
46
45
|
return this._placeholder;
|
|
47
46
|
}
|
|
@@ -49,6 +48,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
49
48
|
this._placeholder = value;
|
|
50
49
|
this.stateChanges.next();
|
|
51
50
|
}
|
|
51
|
+
// TODO: Skipped for migration because:
|
|
52
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
52
53
|
get required() {
|
|
53
54
|
return this._required;
|
|
54
55
|
}
|
|
@@ -56,6 +57,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
56
57
|
this._required = coerceBooleanProperty(value);
|
|
57
58
|
this.stateChanges.next();
|
|
58
59
|
}
|
|
60
|
+
// TODO: Skipped for migration because:
|
|
61
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
59
62
|
get multiple() {
|
|
60
63
|
return this._multiple;
|
|
61
64
|
}
|
|
@@ -65,6 +68,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
65
68
|
}
|
|
66
69
|
this._multiple = coerceBooleanProperty(value);
|
|
67
70
|
}
|
|
71
|
+
// TODO: Skipped for migration because:
|
|
72
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
68
73
|
get autoSelect() {
|
|
69
74
|
if (this.multiSelection) {
|
|
70
75
|
return false;
|
|
@@ -75,8 +80,10 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
75
80
|
this._autoSelect = coerceBooleanProperty(value);
|
|
76
81
|
}
|
|
77
82
|
get value() {
|
|
78
|
-
return this.tree.getSelectedValues();
|
|
83
|
+
return this.tree().getSelectedValues();
|
|
79
84
|
}
|
|
85
|
+
// TODO: Skipped for migration because:
|
|
86
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
80
87
|
get id() {
|
|
81
88
|
return this._id;
|
|
82
89
|
}
|
|
@@ -84,12 +91,16 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
84
91
|
this._id = value || this.uid;
|
|
85
92
|
this.stateChanges.next();
|
|
86
93
|
}
|
|
94
|
+
// TODO: Skipped for migration because:
|
|
95
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
87
96
|
get hasBackdrop() {
|
|
88
97
|
return this._hasBackdrop;
|
|
89
98
|
}
|
|
90
99
|
set hasBackdrop(value) {
|
|
91
100
|
this._hasBackdrop = coerceBooleanProperty(value);
|
|
92
101
|
}
|
|
102
|
+
// TODO: Skipped for migration because:
|
|
103
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
93
104
|
get tabIndex() {
|
|
94
105
|
return this.disabled ? -1 : this._tabIndex;
|
|
95
106
|
}
|
|
@@ -98,6 +109,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
98
109
|
this._tabIndex = value;
|
|
99
110
|
}
|
|
100
111
|
}
|
|
112
|
+
// TODO: Skipped for migration because:
|
|
113
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
101
114
|
get disabled() {
|
|
102
115
|
return this._disabled;
|
|
103
116
|
}
|
|
@@ -106,7 +119,12 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
106
119
|
this._disabled = value;
|
|
107
120
|
if (this.parentFormField) {
|
|
108
121
|
Promise.resolve().then(() => {
|
|
109
|
-
this._disabled
|
|
122
|
+
if (this._disabled) {
|
|
123
|
+
this.parentFormField.stopFocusMonitor();
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
this.parentFormField.runFocusMonitor();
|
|
127
|
+
}
|
|
110
128
|
});
|
|
111
129
|
}
|
|
112
130
|
// Let the parent form field know to run change detection when the disabled state changes.
|
|
@@ -116,6 +134,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
116
134
|
/**
|
|
117
135
|
* Function for handling the combination Ctrl + A (select all). By default, the internal handler is used.
|
|
118
136
|
*/
|
|
137
|
+
// TODO: Skipped for migration because:
|
|
138
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
119
139
|
get selectAllHandler() {
|
|
120
140
|
return this._selectAllHandler;
|
|
121
141
|
}
|
|
@@ -127,8 +147,20 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
127
147
|
}
|
|
128
148
|
/** Function for handling the combination Ctrl + A (select all). By default, the internal handler is used. */
|
|
129
149
|
_selectAllHandler(event, select) {
|
|
150
|
+
const searchInput = isInput(event) ? event.target : null;
|
|
151
|
+
if (shouldSelectSearchText(searchInput)) {
|
|
152
|
+
searchInput.select();
|
|
153
|
+
event.preventDefault();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
130
156
|
event.preventDefault();
|
|
131
|
-
select.tree
|
|
157
|
+
const tree = select.tree();
|
|
158
|
+
tree.selectAllOptions(select.selectAllToggle());
|
|
159
|
+
const options = tree.renderedOptions.filter((option) => !option.disabled && option.selectable());
|
|
160
|
+
// `selected` per the KbqSelectAllEvent contract: `true` only when every selectable option is
|
|
161
|
+
// now selected, `false` otherwise (deselected or partial); guarded for the empty-options case.
|
|
162
|
+
const selected = options.length > 0 && options.every((option) => tree.selectionModel.isSelected(option.data));
|
|
163
|
+
select.onSelectAll.emit(new KbqSelectAllEvent(select, options, selected));
|
|
132
164
|
}
|
|
133
165
|
/** Whether the select is focused. */
|
|
134
166
|
get focused() {
|
|
@@ -139,7 +171,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
139
171
|
}
|
|
140
172
|
/** Whether multiple choice is enabled or not. True if multiple or multiline */
|
|
141
173
|
get multiSelection() {
|
|
142
|
-
return this.multiple || this.multiline;
|
|
174
|
+
return this.multiple || this.multiline();
|
|
143
175
|
}
|
|
144
176
|
/**
|
|
145
177
|
* Controls when the search functionality is displayed based on the number of available options.
|
|
@@ -147,6 +179,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
147
179
|
* Automatically enables search hiding if value provided, even if `defaultOptions.searchMinOptionsThreshold` is provided.
|
|
148
180
|
* @default undefined
|
|
149
181
|
*/
|
|
182
|
+
// TODO: Skipped for migration because:
|
|
183
|
+
// Accessor inputs cannot be migrated as they are too complex.
|
|
150
184
|
set searchMinOptionsThreshold(value) {
|
|
151
185
|
this._searchMinOptionsThreshold =
|
|
152
186
|
this.resolveSearchMinOptionsThreshold(value) ??
|
|
@@ -159,7 +193,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
159
193
|
return this._panelOpen;
|
|
160
194
|
}
|
|
161
195
|
get canShowCleaner() {
|
|
162
|
-
return !this.disabled && this.cleaner && this.selectionModel.hasValue();
|
|
196
|
+
return !this.disabled && !!this.cleaner() && this.selectionModel.hasValue();
|
|
163
197
|
}
|
|
164
198
|
/** @docs-private */
|
|
165
199
|
get colorForState() {
|
|
@@ -168,22 +202,21 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
168
202
|
? KbqComponentColors.Error
|
|
169
203
|
: KbqComponentColors.ContrastFade;
|
|
170
204
|
}
|
|
171
|
-
constructor(
|
|
205
|
+
constructor() {
|
|
172
206
|
super();
|
|
173
|
-
this.elementRef =
|
|
174
|
-
this.changeDetectorRef =
|
|
175
|
-
this.ngZone =
|
|
176
|
-
this.renderer =
|
|
177
|
-
this.defaultErrorStateMatcher =
|
|
178
|
-
this.scrollStrategyFactory =
|
|
179
|
-
this.dir =
|
|
180
|
-
this.parentForm =
|
|
181
|
-
this.parentFormGroup =
|
|
182
|
-
this.parentFormField =
|
|
183
|
-
this.ngControl =
|
|
184
|
-
this.localeService =
|
|
207
|
+
this.elementRef = inject(ElementRef);
|
|
208
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
209
|
+
this.ngZone = inject(NgZone);
|
|
210
|
+
this.renderer = inject(Renderer2);
|
|
211
|
+
this.defaultErrorStateMatcher = inject(ErrorStateMatcher);
|
|
212
|
+
this.scrollStrategyFactory = inject(KBQ_SELECT_SCROLL_STRATEGY);
|
|
213
|
+
this.dir = inject(Directionality, { optional: true });
|
|
214
|
+
this.parentForm = inject(NgForm, { optional: true });
|
|
215
|
+
this.parentFormGroup = inject(FormGroupDirective, { optional: true });
|
|
216
|
+
this.parentFormField = inject(KbqFormField, { host: true, optional: true });
|
|
217
|
+
this.ngControl = inject(NgControl, { optional: true, self: true });
|
|
218
|
+
this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
|
|
185
219
|
this.isBrowser = inject(Platform).isBrowser;
|
|
186
|
-
this.useLegacyValidation = inject(KBQ_VALIDATION, { optional: true })?.useValidation ?? false;
|
|
187
220
|
this.defaultOptions = inject(KBQ_TREE_SELECT_OPTIONS, { optional: true });
|
|
188
221
|
/** Whether the component is in an error state. */
|
|
189
222
|
this.errorState = false;
|
|
@@ -232,6 +265,20 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
232
265
|
offsetY: -this.offsetY
|
|
233
266
|
}
|
|
234
267
|
];
|
|
268
|
+
/**
|
|
269
|
+
* Trigger - is a clickable field to open select dropdown panel
|
|
270
|
+
*/
|
|
271
|
+
this.trigger = viewChild.required('trigger');
|
|
272
|
+
this.panel = viewChild.required('panel');
|
|
273
|
+
this.cleaner = contentChild('kbqSelectCleaner', ...(ngDevMode ? [{ debugName: "cleaner" }] : []));
|
|
274
|
+
/** User-supplied override of the trigger element. */
|
|
275
|
+
this.customTrigger = contentChild(KbqSelectTrigger, ...(ngDevMode ? [{ debugName: "customTrigger" }] : []));
|
|
276
|
+
this.customMatcher = contentChild(KbqSelectMatcher, ...(ngDevMode ? [{ debugName: "customMatcher" }] : []));
|
|
277
|
+
this.customTagTemplateRef = contentChild('kbqSelectTagContent', ...(ngDevMode ? [{ debugName: "customTagTemplateRef", read: TemplateRef }] : [{ read: TemplateRef }]));
|
|
278
|
+
this.tree = contentChild(KbqTreeSelection, ...(ngDevMode ? [{ debugName: "tree" }] : []));
|
|
279
|
+
this.search = contentChild(KbqSelectSearch, ...(ngDevMode ? [{ debugName: "search" }] : []));
|
|
280
|
+
// TODO: Skipped for migration because:
|
|
281
|
+
// Your application code writes to the input. This prevents migration.
|
|
235
282
|
this.hiddenItemsText = '+{{ number }}';
|
|
236
283
|
/** Event emitted when the select panel has been toggled. */
|
|
237
284
|
this.openedChange = new EventEmitter();
|
|
@@ -240,22 +287,34 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
240
287
|
/** Event emitted when the select has been closed. */
|
|
241
288
|
this.closedStream = this.openedChange.pipe(filter((o) => !o), map(() => { }));
|
|
242
289
|
/** Event emitted when the selected value has been changed by the user. */
|
|
243
|
-
this.selectionChange =
|
|
290
|
+
this.selectionChange = output();
|
|
291
|
+
/**
|
|
292
|
+
* Event emitted when all options are selected or deselected via the Ctrl/Cmd + A shortcut.
|
|
293
|
+
* Not emitted when a custom `selectAllHandler` is supplied — the handler owns the behaviour then.
|
|
294
|
+
*/
|
|
295
|
+
this.onSelectAll = output();
|
|
244
296
|
/**
|
|
245
297
|
* Event that emits whenever the raw value of the select changes. This is here primarily
|
|
246
298
|
* to facilitate the two-way binding for the `value` input.
|
|
247
299
|
* @docs-private
|
|
248
300
|
*/
|
|
249
|
-
this.valueChange =
|
|
250
|
-
|
|
301
|
+
this.valueChange = output();
|
|
302
|
+
/** Classes to be passed to the select panel. Supports the same syntax as the `[class]` binding. */
|
|
303
|
+
this.panelClass = input(undefined, ...(ngDevMode ? [{ debugName: "panelClass" }] : []));
|
|
304
|
+
this.backdropClass = input('cdk-overlay-transparent-backdrop', ...(ngDevMode ? [{ debugName: "backdropClass" }] : []));
|
|
305
|
+
/**
|
|
306
|
+
* Function used to sort the values in a select in multiple mode.
|
|
307
|
+
* Follows the same logic as `Array.prototype.sort`.
|
|
308
|
+
*/
|
|
309
|
+
this.sortComparator = input(undefined, ...(ngDevMode ? [{ debugName: "sortComparator" }] : []));
|
|
251
310
|
/**
|
|
252
311
|
* Whether to use a multiline matcher or not. Default is false
|
|
253
312
|
*/
|
|
254
|
-
this.multiline = false;
|
|
313
|
+
this.multiline = input(false, ...(ngDevMode ? [{ debugName: "multiline", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
255
314
|
/** Combined stream of all of the child options' change events. */
|
|
256
315
|
this.optionSelectionChanges = defer(() => {
|
|
257
316
|
if (this.options) {
|
|
258
|
-
return this.options.changes.pipe(startWith(this.options), switchMap(() => merge(...this.options.map((option) => option.onSelectionChange))));
|
|
317
|
+
return this.options.changes.pipe(startWith(this.options), switchMap(() => merge(...this.options.map((option) => outputToObservable(option.onSelectionChange)))));
|
|
259
318
|
}
|
|
260
319
|
return this.ngZone.onStable.asObservable().pipe(take(1), switchMap(() => this.optionSelectionChanges));
|
|
261
320
|
});
|
|
@@ -269,6 +328,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
269
328
|
this._required = false;
|
|
270
329
|
this._multiple = false;
|
|
271
330
|
this._autoSelect = true;
|
|
331
|
+
/** When `true`, a repeated Ctrl/Cmd+A deselects all options. Off by default (Ctrl+A only selects). */
|
|
332
|
+
this.selectAllToggle = input(false, ...(ngDevMode ? [{ debugName: "selectAllToggle", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
272
333
|
this._hasBackdrop = false;
|
|
273
334
|
this._tabIndex = 0;
|
|
274
335
|
this._disabled = false;
|
|
@@ -277,12 +338,12 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
277
338
|
* Minimum width of the panel.
|
|
278
339
|
* If minWidth is larger than window width, it will be ignored.
|
|
279
340
|
*/
|
|
280
|
-
this.panelMinWidth = this.defaultOptions?.panelMinWidth ?? 200;
|
|
341
|
+
this.panelMinWidth = input(this.defaultOptions?.panelMinWidth ?? 200, ...(ngDevMode ? [{ debugName: "panelMinWidth", transform: numberAttribute }] : [{ transform: numberAttribute }]));
|
|
281
342
|
/**
|
|
282
343
|
* Width of the panel. If set to `auto`, the panel will match the trigger width.
|
|
283
344
|
* If set to null or an empty string, the panel will grow to match the longest option's text.
|
|
284
345
|
*/
|
|
285
|
-
this.panelWidth = this.defaultOptions?.panelWidth || null;
|
|
346
|
+
this.panelWidth = input(this.defaultOptions?.panelWidth || null, ...(ngDevMode ? [{ debugName: "panelWidth" }] : []));
|
|
286
347
|
this._searchMinOptionsThreshold = this.resolveSearchMinOptionsThreshold();
|
|
287
348
|
this.triggerValues = [];
|
|
288
349
|
this.closeSubscription = Subscription.EMPTY;
|
|
@@ -299,19 +360,23 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
299
360
|
this.onTouched = () => { };
|
|
300
361
|
this.calculateHiddenItems = () => {
|
|
301
362
|
if (!this.isBrowser ||
|
|
302
|
-
this.customTrigger ||
|
|
303
|
-
this.customMatcher ||
|
|
363
|
+
this.customTrigger() ||
|
|
364
|
+
this.customMatcher() ||
|
|
304
365
|
this.empty ||
|
|
305
366
|
!this.multiple ||
|
|
306
|
-
this.multiline)
|
|
367
|
+
this.multiline())
|
|
307
368
|
return;
|
|
308
369
|
const totalItemsWidth = this.getTotalItemsWidthInMatcher();
|
|
309
370
|
const [totalVisibleItemsWidth, visibleItems] = this.getTotalVisibleItems();
|
|
310
371
|
this.hiddenItems = this.selectionModel.selected.length - visibleItems;
|
|
311
372
|
this.changeDetectorRef.detectChanges();
|
|
312
373
|
if (this.hiddenItems) {
|
|
313
|
-
const itemsCounter = this.trigger.nativeElement.querySelector('.kbq-select__match-hidden-text');
|
|
314
|
-
const matcherList = this.trigger.nativeElement.querySelector('.kbq-select__match-list');
|
|
374
|
+
const itemsCounter = this.trigger().nativeElement.querySelector('.kbq-select__match-hidden-text');
|
|
375
|
+
const matcherList = this.trigger().nativeElement.querySelector('.kbq-select__match-list');
|
|
376
|
+
if (!itemsCounter || !matcherList) {
|
|
377
|
+
this.changeDetectorRef.markForCheck();
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
315
380
|
const itemsCounterShowed = itemsCounter.offsetTop < itemsCounter.offsetHeight;
|
|
316
381
|
const itemsCounterWidth = Math.floor(itemsCounter.getBoundingClientRect().width);
|
|
317
382
|
const matcherListWidth = Math.floor(matcherList.getBoundingClientRect().width);
|
|
@@ -341,7 +406,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
341
406
|
// Force setter to be called in case id was not specified.
|
|
342
407
|
this.id = this.id;
|
|
343
408
|
afterNextRender(() => {
|
|
344
|
-
if (this.multiple && !this.multiline) {
|
|
409
|
+
if (this.multiple && !this.multiline()) {
|
|
345
410
|
merge(fromEvent(this.window, 'resize'), this.tags.changes)
|
|
346
411
|
.pipe(delay(0), debounceTime(50), takeUntilDestroyed(this.destroyRef))
|
|
347
412
|
.subscribe(this.calculateHiddenItems);
|
|
@@ -360,8 +425,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
360
425
|
this.scrollTop = 0;
|
|
361
426
|
setTimeout(() => {
|
|
362
427
|
this.highlightCorrectOption();
|
|
363
|
-
|
|
364
|
-
|
|
428
|
+
const search = this.search();
|
|
429
|
+
if (search) {
|
|
430
|
+
search.focus();
|
|
365
431
|
}
|
|
366
432
|
});
|
|
367
433
|
this.openedChange.emit(true);
|
|
@@ -379,29 +445,35 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
379
445
|
}
|
|
380
446
|
}
|
|
381
447
|
ngAfterContentInit() {
|
|
382
|
-
|
|
448
|
+
const tree = this.tree();
|
|
449
|
+
if (!tree)
|
|
383
450
|
return;
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
this.selectionModel =
|
|
387
|
-
this.selectionModel.changed.subscribe(() => {
|
|
451
|
+
tree.resetFocusedItemOnBlur = false;
|
|
452
|
+
tree.optionShouldHoldFocusOnBlur = !!this.search();
|
|
453
|
+
this.selectionModel = tree.selectionModel = new SelectionModel(this.multiSelection);
|
|
454
|
+
this.selectionModel.changed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
388
455
|
this.onChange(this.selectedValues);
|
|
389
456
|
if (this.multiSelection) {
|
|
390
457
|
this.refreshTriggerValues();
|
|
391
458
|
}
|
|
392
459
|
});
|
|
393
|
-
this.selectionModel.changed
|
|
460
|
+
this.selectionModel.changed
|
|
461
|
+
.pipe(delay(0), takeUntilDestroyed(this.destroyRef))
|
|
462
|
+
.subscribe(() => this.setOverlayPosition());
|
|
394
463
|
// eslint-disable-next-line @angular-eslint/no-lifecycle-call
|
|
395
|
-
|
|
464
|
+
tree.ngAfterContentInit();
|
|
396
465
|
this.initKeyManager();
|
|
397
|
-
this.options =
|
|
398
|
-
|
|
399
|
-
|
|
466
|
+
this.options = tree.renderedOptions;
|
|
467
|
+
tree.autoSelect = this.autoSelect;
|
|
468
|
+
// Tree lives inside the select panel: enable hover-to-focus on options even without a
|
|
469
|
+
// wrapping form-field (e.g. filter-bar pipes render the tree-select bare).
|
|
470
|
+
tree.inSelect = true;
|
|
471
|
+
if (tree.multipleMode === null) {
|
|
400
472
|
// setTimeout need for prevent an error "NG0100: ExpressionChangedAfterItHasBeenCheckedError"
|
|
401
|
-
setTimeout(() => (this.tree.multipleMode = this.multiSelection ? MultipleMode.CHECKBOX : null));
|
|
473
|
+
setTimeout(() => (this.tree().multipleMode = this.multiSelection ? MultipleMode.CHECKBOX : null));
|
|
402
474
|
}
|
|
403
475
|
if (this.multiSelection) {
|
|
404
|
-
|
|
476
|
+
tree.noUnselectLast = false;
|
|
405
477
|
}
|
|
406
478
|
if (this.tempValues) {
|
|
407
479
|
this.setSelectionByValue(this.tempValues);
|
|
@@ -413,26 +485,28 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
413
485
|
Promise.resolve().then(() => this.focus());
|
|
414
486
|
}
|
|
415
487
|
});
|
|
416
|
-
|
|
488
|
+
tree.selectionChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
|
|
417
489
|
this.selectionChange.emit(new KbqTreeSelectChange(this, event.option, false, event.options));
|
|
418
|
-
|
|
419
|
-
|
|
490
|
+
const search = this.search();
|
|
491
|
+
if (search) {
|
|
492
|
+
search.focus();
|
|
420
493
|
}
|
|
421
494
|
});
|
|
422
495
|
if (!this.multiSelection) {
|
|
423
496
|
this.selectionModel.changed
|
|
424
497
|
.pipe(filter(({ added }) => !!added.length), takeUntilDestroyed(this.destroyRef))
|
|
425
498
|
.subscribe(({ added }) => {
|
|
426
|
-
this.tree.keyManager.setFocusOrigin('program');
|
|
427
|
-
this.tree.keyManager.setActiveItem(this.options.find(({ data }) => data === added[0]));
|
|
499
|
+
this.tree().keyManager.setFocusOrigin('program');
|
|
500
|
+
this.tree().keyManager.setActiveItem(this.options.find(({ data }) => data === added[0]));
|
|
428
501
|
});
|
|
429
502
|
}
|
|
430
503
|
this.subscribeOnSearchChanges();
|
|
431
504
|
}
|
|
432
505
|
ngAfterViewInit() {
|
|
433
|
-
|
|
506
|
+
const tree = this.tree();
|
|
507
|
+
if (!tree)
|
|
434
508
|
return;
|
|
435
|
-
|
|
509
|
+
tree.treeControl.expansionModel.changed
|
|
436
510
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
437
511
|
.subscribe(() => this.setOverlayPosition());
|
|
438
512
|
}
|
|
@@ -460,14 +534,15 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
460
534
|
// need to prevent scrolling
|
|
461
535
|
$event.preventDefault();
|
|
462
536
|
this.selectionModel.clear();
|
|
463
|
-
this.tree.keyManager.setActiveItem(-1);
|
|
537
|
+
this.tree().keyManager.setActiveItem(-1);
|
|
464
538
|
this.setSelectionByValue([]);
|
|
465
539
|
this.onChange(this.selectedValues);
|
|
466
540
|
this.selectionChange.emit(new KbqTreeSelectChange(this, this.selectedValues));
|
|
467
541
|
this.focus();
|
|
468
542
|
}
|
|
469
543
|
handleClick() {
|
|
470
|
-
|
|
544
|
+
const customMatcher = this.customMatcher();
|
|
545
|
+
if (customMatcher && !customMatcher.useDefaultHandlers())
|
|
471
546
|
return;
|
|
472
547
|
this.toggle();
|
|
473
548
|
}
|
|
@@ -483,10 +558,10 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
483
558
|
if (this.disabled || !this.options || !this.options.length || this._panelOpen)
|
|
484
559
|
return;
|
|
485
560
|
// add check for form-field bounding rectangles, since it adds extra padding around the trigger
|
|
486
|
-
this.triggerRect = (this.parentFormField?.getConnectedOverlayOrigin().nativeElement || this.trigger.nativeElement).getBoundingClientRect();
|
|
561
|
+
this.triggerRect = (this.parentFormField?.getConnectedOverlayOrigin().nativeElement || this.trigger().nativeElement).getBoundingClientRect();
|
|
487
562
|
// Note: The computed font-size will be a string pixel value (e.g. "16px").
|
|
488
563
|
// `parseInt` ignores the trailing 'px' and converts this to a number.
|
|
489
|
-
this.triggerFontSize = parseInt(this.window.getComputedStyle(this.trigger.nativeElement)['font-size']);
|
|
564
|
+
this.triggerFontSize = parseInt(this.window.getComputedStyle(this.trigger().nativeElement)['font-size']);
|
|
490
565
|
// It's important that we read this as late as possible, because doing so earlier will
|
|
491
566
|
// return a different element since it's based on queries in the form field which may
|
|
492
567
|
// not have run yet. Also this needs to be assigned before we measure the overlay width.
|
|
@@ -497,10 +572,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
497
572
|
// set overlayMinWidth to the largest of `panelMinWidth` and `triggerRect.width`
|
|
498
573
|
// only if `overlayWidth` falsy and `panelMinWidth` not provided.
|
|
499
574
|
// This ensures panel isn't narrow.
|
|
575
|
+
const panelMinWidth = this.panelMinWidth();
|
|
500
576
|
this.overlayMinWidth =
|
|
501
|
-
|
|
502
|
-
? Math.max(this.panelMinWidth, this.triggerRect.width)
|
|
503
|
-
: '';
|
|
577
|
+
panelMinWidth !== null && !this.overlayWidth ? Math.max(panelMinWidth, this.triggerRect.width) : '';
|
|
504
578
|
this._panelOpen = true;
|
|
505
579
|
this.changeDetectorRef.markForCheck();
|
|
506
580
|
// Set the font size on the panel element once it exists.
|
|
@@ -521,8 +595,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
521
595
|
this._panelOpen = false;
|
|
522
596
|
this.changeDetectorRef.markForCheck();
|
|
523
597
|
this.onTouched();
|
|
524
|
-
|
|
525
|
-
|
|
598
|
+
const search = this.search();
|
|
599
|
+
if (search) {
|
|
600
|
+
search.reset();
|
|
526
601
|
}
|
|
527
602
|
}
|
|
528
603
|
/**
|
|
@@ -532,7 +607,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
532
607
|
* @param value New value to be written to the model.
|
|
533
608
|
*/
|
|
534
609
|
writeValue(value) {
|
|
535
|
-
if (this.tree) {
|
|
610
|
+
if (this.tree()?.treeControl) {
|
|
536
611
|
this.setSelectionByValue(value);
|
|
537
612
|
}
|
|
538
613
|
else {
|
|
@@ -556,7 +631,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
556
631
|
*
|
|
557
632
|
* @param fn Callback to be triggered when the component has been touched.
|
|
558
633
|
*/
|
|
559
|
-
// eslint-disable-next-line @typescript-eslint/
|
|
634
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
560
635
|
registerOnTouched(fn) {
|
|
561
636
|
this.onTouched = fn;
|
|
562
637
|
}
|
|
@@ -575,14 +650,14 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
575
650
|
return this.multiSelection ? this.selectionModel?.selected : this.selectionModel?.selected[0];
|
|
576
651
|
}
|
|
577
652
|
get selectedValues() {
|
|
578
|
-
const selectedValues = this.selectionModel.selected.map((value) => this.tree.treeControl.getValue(value));
|
|
653
|
+
const selectedValues = this.selectionModel.selected.map((value) => this.tree().treeControl.getValue(value));
|
|
579
654
|
return this.multiSelection ? selectedValues : selectedValues[0];
|
|
580
655
|
}
|
|
581
656
|
get triggerValue() {
|
|
582
657
|
if (this.empty) {
|
|
583
658
|
return '';
|
|
584
659
|
}
|
|
585
|
-
return this.tree.treeControl.getViewValue(this.selected);
|
|
660
|
+
return this.tree().treeControl.getViewValue(this.selected);
|
|
586
661
|
}
|
|
587
662
|
get empty() {
|
|
588
663
|
return !this.selectionModel || this.selectionModel.isEmpty();
|
|
@@ -591,10 +666,11 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
591
666
|
return this.dir ? this.dir.value === 'rtl' : false;
|
|
592
667
|
}
|
|
593
668
|
get firstSelected() {
|
|
594
|
-
return this.selectionModel.selected.filter((node) => !this.tree.treeControl.isDisabled(node))[0];
|
|
669
|
+
return this.selectionModel.selected.filter((node) => !this.tree().treeControl.isDisabled(node))[0];
|
|
595
670
|
}
|
|
596
671
|
handleKeydown(event) {
|
|
597
|
-
|
|
672
|
+
const customMatcher = this.customMatcher();
|
|
673
|
+
if (customMatcher && !customMatcher.useDefaultHandlers())
|
|
598
674
|
return;
|
|
599
675
|
if (!this.disabled) {
|
|
600
676
|
if (this.panelOpen) {
|
|
@@ -606,7 +682,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
606
682
|
}
|
|
607
683
|
}
|
|
608
684
|
onFocus() {
|
|
609
|
-
|
|
685
|
+
const customMatcher = this.customMatcher();
|
|
686
|
+
if (customMatcher && !customMatcher.useDefaultHandlers())
|
|
610
687
|
return;
|
|
611
688
|
if (!this.disabled) {
|
|
612
689
|
this._focused = true;
|
|
@@ -618,18 +695,14 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
618
695
|
* "blur" to the panel when it opens, causing a false positive.
|
|
619
696
|
*/
|
|
620
697
|
onBlur() {
|
|
621
|
-
|
|
698
|
+
const customMatcher = this.customMatcher();
|
|
699
|
+
if (customMatcher && !customMatcher.useDefaultHandlers())
|
|
622
700
|
return;
|
|
623
701
|
this._focused = false;
|
|
624
702
|
if (!this.disabled && !this.panelOpen) {
|
|
625
703
|
this.onTouched();
|
|
626
704
|
this.changeDetectorRef.markForCheck();
|
|
627
705
|
this.stateChanges.next();
|
|
628
|
-
if (this.useLegacyValidation && this.ngControl?.control) {
|
|
629
|
-
const control = this.ngControl.control;
|
|
630
|
-
control.updateValueAndValidity({ emitEvent: false });
|
|
631
|
-
control.statusChanges.emit(control.status);
|
|
632
|
-
}
|
|
633
706
|
}
|
|
634
707
|
}
|
|
635
708
|
/** Callback that is invoked when the overlay panel has been attached. */
|
|
@@ -637,8 +710,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
637
710
|
this.overlayDir.positionChange.pipe(take(1)).subscribe(() => {
|
|
638
711
|
this.changeDetectorRef.detectChanges();
|
|
639
712
|
this.setOverlayPosition();
|
|
640
|
-
this.panel.nativeElement.scrollTop = this.scrollTop;
|
|
641
|
-
this.tree.updateScrollSize();
|
|
713
|
+
this.panel().nativeElement.scrollTop = this.scrollTop;
|
|
714
|
+
this.tree().updateScrollSize();
|
|
642
715
|
});
|
|
643
716
|
this.closeSubscription = this.closingActions().subscribe(() => this.close());
|
|
644
717
|
}
|
|
@@ -646,6 +719,21 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
646
719
|
getPanelTheme() {
|
|
647
720
|
return this.parentFormField ? `kbq-${this.parentFormField.color}` : '';
|
|
648
721
|
}
|
|
722
|
+
/** Returns the full set of classes for the panel: base class, theme and custom `panelClass`. */
|
|
723
|
+
getPanelClasses() {
|
|
724
|
+
const panelClass = this.panelClass();
|
|
725
|
+
const classes = ['kbq-tree-select__panel', this.getPanelTheme()];
|
|
726
|
+
if (typeof panelClass === 'string') {
|
|
727
|
+
classes.push(panelClass);
|
|
728
|
+
}
|
|
729
|
+
else if (Array.isArray(panelClass) || panelClass instanceof Set) {
|
|
730
|
+
classes.push(...panelClass);
|
|
731
|
+
}
|
|
732
|
+
else if (panelClass) {
|
|
733
|
+
classes.push(...Object.keys(panelClass).filter((key) => panelClass[key]));
|
|
734
|
+
}
|
|
735
|
+
return classes.filter(Boolean).join(' ');
|
|
736
|
+
}
|
|
649
737
|
focus() {
|
|
650
738
|
this.elementRef.nativeElement.focus();
|
|
651
739
|
}
|
|
@@ -659,7 +747,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
659
747
|
/** Invoked when an option is clicked. */
|
|
660
748
|
onRemoveSelectedOption(selectedOption, $event) {
|
|
661
749
|
$event.stopPropagation();
|
|
662
|
-
this.selectionModel.deselect(this.selected.find((value) => this.tree.treeControl.getValue(value) === selectedOption.value));
|
|
750
|
+
this.selectionModel.deselect(this.selected.find((value) => this.tree().treeControl.getValue(value) === selectedOption.value));
|
|
663
751
|
this.selectionChange.emit(new KbqTreeSelectChange(this, this.options.find((option) => option.value === selectedOption.value) || selectedOption.value));
|
|
664
752
|
this.onChange(this.selectedValues);
|
|
665
753
|
}
|
|
@@ -668,18 +756,20 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
668
756
|
const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW || keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW;
|
|
669
757
|
const isOpenKey = keyCode === ENTER || keyCode === SPACE;
|
|
670
758
|
// Open the select on ALT + arrow key to match the native <select>
|
|
759
|
+
const tree = this.tree();
|
|
671
760
|
if (isOpenKey || ((this.multiSelection || event.altKey) && isArrowKey)) {
|
|
672
761
|
// prevents the page from scrolling down when pressing space
|
|
673
762
|
event.preventDefault();
|
|
674
763
|
this.open();
|
|
675
764
|
}
|
|
676
|
-
else if (!this.multiSelection &&
|
|
677
|
-
|
|
765
|
+
else if (!this.multiSelection && tree.keyManager && tree.keyManager.onKeydown) {
|
|
766
|
+
tree.keyManager.onKeydown(event);
|
|
678
767
|
}
|
|
679
768
|
}
|
|
680
769
|
panelKeydownHandler(event) {
|
|
681
770
|
const keyCode = event.keyCode;
|
|
682
771
|
const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW;
|
|
772
|
+
const tree = this.tree();
|
|
683
773
|
if ((isArrowKey && event.altKey) || keyCode === ESCAPE || keyCode === TAB) {
|
|
684
774
|
// Close the select on ALT + arrow key to match the native <select>
|
|
685
775
|
event.preventDefault();
|
|
@@ -687,28 +777,28 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
687
777
|
this.focus();
|
|
688
778
|
}
|
|
689
779
|
else if (keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW) {
|
|
690
|
-
return this.originalOnKeyDown.call(this.tree, event);
|
|
780
|
+
return this.originalOnKeyDown.call(this.tree(), event);
|
|
691
781
|
}
|
|
692
782
|
else if (keyCode === HOME) {
|
|
693
783
|
event.preventDefault();
|
|
694
|
-
this.tree.keyManager.setFirstItemActive();
|
|
784
|
+
this.tree().keyManager.setFirstItemActive();
|
|
695
785
|
}
|
|
696
786
|
else if (keyCode === END) {
|
|
697
787
|
event.preventDefault();
|
|
698
|
-
this.tree.keyManager.setLastItemActive();
|
|
788
|
+
this.tree().keyManager.setLastItemActive();
|
|
699
789
|
}
|
|
700
790
|
else if (keyCode === PAGE_UP) {
|
|
701
791
|
event.preventDefault();
|
|
702
|
-
this.tree.keyManager.setPreviousPageItemActive();
|
|
792
|
+
this.tree().keyManager.setPreviousPageItemActive();
|
|
703
793
|
}
|
|
704
794
|
else if (keyCode === PAGE_DOWN) {
|
|
705
795
|
event.preventDefault();
|
|
706
|
-
this.tree.keyManager.setNextPageItemActive();
|
|
796
|
+
this.tree().keyManager.setNextPageItemActive();
|
|
707
797
|
}
|
|
708
|
-
else if ((keyCode === ENTER || keyCode === SPACE) &&
|
|
798
|
+
else if ((keyCode === ENTER || keyCode === SPACE) && tree.keyManager.activeItem) {
|
|
709
799
|
event.preventDefault();
|
|
710
800
|
if (!this.autoSelect) {
|
|
711
|
-
this.originalOnKeyDown.call(
|
|
801
|
+
this.originalOnKeyDown.call(tree, event);
|
|
712
802
|
}
|
|
713
803
|
else {
|
|
714
804
|
this.close();
|
|
@@ -719,36 +809,37 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
719
809
|
this.selectAllHandler(event, this);
|
|
720
810
|
}
|
|
721
811
|
else {
|
|
722
|
-
const previouslyFocusedIndex =
|
|
723
|
-
|
|
724
|
-
|
|
812
|
+
const previouslyFocusedIndex = tree.keyManager.activeItemIndex;
|
|
813
|
+
tree.keyManager.setFocusOrigin('keyboard');
|
|
814
|
+
tree.keyManager.onKeydown(event);
|
|
725
815
|
if (this.multiSelection &&
|
|
726
816
|
isArrowKey &&
|
|
727
817
|
event.shiftKey &&
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
818
|
+
tree.keyManager.activeItem &&
|
|
819
|
+
tree.keyManager.activeItemIndex !== previouslyFocusedIndex) {
|
|
820
|
+
tree.keyManager.activeItem.selectViaInteraction(event);
|
|
731
821
|
}
|
|
732
|
-
if (this.autoSelect &&
|
|
733
|
-
|
|
822
|
+
if (this.autoSelect && tree.keyManager.activeItem) {
|
|
823
|
+
tree.setSelectedOptionsByKey(tree.keyManager.activeItem, hasModifierKey(event, 'shiftKey'),
|
|
734
824
|
// ctrlKey is for Windows, metaKey is for MacOS
|
|
735
825
|
hasModifierKey(event, 'ctrlKey', 'metaKey'));
|
|
736
826
|
}
|
|
737
827
|
// Ensure the active option's keyboard-focus indicator is shown even when the
|
|
738
828
|
// index didn't change (e.g. ArrowDown on a single-option list) — without this
|
|
739
829
|
// setActiveItem isn't invoked and the focus stays on the trigger.
|
|
740
|
-
if (isArrowKey &&
|
|
741
|
-
|
|
830
|
+
if (isArrowKey && tree.keyManager.activeItemIndex === previouslyFocusedIndex) {
|
|
831
|
+
tree.keyManager.activeItem?.focus('keyboard');
|
|
742
832
|
}
|
|
743
|
-
|
|
744
|
-
|
|
833
|
+
const search = this.search();
|
|
834
|
+
if (search && this.shouldShowSearch()) {
|
|
835
|
+
search.focus();
|
|
745
836
|
}
|
|
746
837
|
}
|
|
747
838
|
}
|
|
748
839
|
/** @docs-private */
|
|
749
840
|
shouldShowSearch() {
|
|
750
841
|
return (isUndefined(this.searchMinOptionsThreshold) ||
|
|
751
|
-
!!this.search
|
|
842
|
+
!!this.search()?.value() ||
|
|
752
843
|
this.options.length >= this.searchMinOptionsThreshold);
|
|
753
844
|
}
|
|
754
845
|
closingActions() {
|
|
@@ -762,7 +853,7 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
762
853
|
getTotalItemsWidthInMatcher() {
|
|
763
854
|
const triggerClone = this.buildTriggerClone();
|
|
764
855
|
triggerClone.querySelector('.kbq-select__match-hidden-text')?.remove();
|
|
765
|
-
this.renderer.appendChild(this.trigger.nativeElement, triggerClone);
|
|
856
|
+
this.renderer.appendChild(this.trigger().nativeElement, triggerClone);
|
|
766
857
|
let totalItemsWidth = 0;
|
|
767
858
|
const selectedItemsViewValueContainers = triggerClone.querySelectorAll('kbq-tag');
|
|
768
859
|
selectedItemsViewValueContainers.forEach((item) => (totalItemsWidth += this.getItemWidth(item)));
|
|
@@ -771,8 +862,11 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
771
862
|
}
|
|
772
863
|
getTotalVisibleItems() {
|
|
773
864
|
const triggerClone = this.buildTriggerClone();
|
|
774
|
-
|
|
775
|
-
|
|
865
|
+
const hiddenText = triggerClone.querySelector('.kbq-select__match-hidden-text');
|
|
866
|
+
if (hiddenText) {
|
|
867
|
+
this.renderer.setStyle(hiddenText, 'display', 'block');
|
|
868
|
+
}
|
|
869
|
+
this.renderer.appendChild(this.trigger().nativeElement, triggerClone);
|
|
776
870
|
let visibleItemsCount = 0;
|
|
777
871
|
let totalVisibleItemsWidth = 0;
|
|
778
872
|
triggerClone.querySelectorAll('kbq-tag').forEach((item) => {
|
|
@@ -786,14 +880,15 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
786
880
|
}
|
|
787
881
|
/** Gets how wide the overlay panel should be. */
|
|
788
882
|
getOverlayWidth(origin) {
|
|
789
|
-
|
|
883
|
+
const panelWidth = this.panelWidth();
|
|
884
|
+
if (panelWidth === 'auto') {
|
|
790
885
|
const elementRef = origin instanceof CdkOverlayOrigin ? origin.elementRef : origin || this.elementRef;
|
|
791
886
|
return elementRef.nativeElement.getBoundingClientRect().width;
|
|
792
887
|
}
|
|
793
|
-
return
|
|
888
|
+
return panelWidth ?? '';
|
|
794
889
|
}
|
|
795
890
|
buildTriggerClone() {
|
|
796
|
-
const triggerClone = this.trigger.nativeElement.cloneNode(true);
|
|
891
|
+
const triggerClone = this.trigger().nativeElement.cloneNode(true);
|
|
797
892
|
this.renderer.setStyle(triggerClone, 'position', 'absolute');
|
|
798
893
|
this.renderer.setStyle(triggerClone, 'visibility', 'hidden');
|
|
799
894
|
this.renderer.setStyle(triggerClone, 'top', '-100%');
|
|
@@ -809,9 +904,9 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
809
904
|
}
|
|
810
905
|
refreshTriggerValues() {
|
|
811
906
|
this.triggerValues = this.selectionModel.selected.map((node) => ({
|
|
812
|
-
value: this.tree.treeControl.getValue(node),
|
|
813
|
-
viewValue: this.tree.treeControl.getViewValue(node),
|
|
814
|
-
disabled: this.tree.treeControl.isDisabled(node)
|
|
907
|
+
value: this.tree().treeControl.getValue(node),
|
|
908
|
+
viewValue: this.tree().treeControl.getViewValue(node),
|
|
909
|
+
disabled: this.tree().treeControl.isDisabled(node)
|
|
815
910
|
}));
|
|
816
911
|
this.changeDetectorRef.detectChanges();
|
|
817
912
|
}
|
|
@@ -824,23 +919,25 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
824
919
|
if (!Array.isArray(value)) {
|
|
825
920
|
throw getKbqSelectNonArrayValueError();
|
|
826
921
|
}
|
|
827
|
-
this.tree.setOptionsFromValues(value);
|
|
922
|
+
this.tree().setOptionsFromValues(value);
|
|
828
923
|
this.sortValues();
|
|
829
924
|
}
|
|
830
925
|
else {
|
|
831
|
-
this.tree.setOptionsFromValues([value]);
|
|
926
|
+
this.tree().setOptionsFromValues([value]);
|
|
832
927
|
}
|
|
833
928
|
this.changeDetectorRef.detectChanges();
|
|
834
929
|
}
|
|
835
930
|
initKeyManager() {
|
|
836
|
-
|
|
837
|
-
this.tree.onKeyDown
|
|
838
|
-
|
|
839
|
-
|
|
931
|
+
const tree = this.tree();
|
|
932
|
+
this.originalOnKeyDown = tree.onKeyDown;
|
|
933
|
+
tree.onKeyDown = () => { };
|
|
934
|
+
tree.keyManager.change.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
935
|
+
const treeValue = this.tree();
|
|
936
|
+
if (this._panelOpen && this.panel()) {
|
|
840
937
|
this.scrollActiveOptionIntoView();
|
|
841
938
|
}
|
|
842
|
-
else if (!this._panelOpen && !this.multiSelection &&
|
|
843
|
-
|
|
939
|
+
else if (!this._panelOpen && !this.multiSelection && treeValue.keyManager.activeItem) {
|
|
940
|
+
treeValue.keyManager.activeItem.selectViaInteraction();
|
|
844
941
|
}
|
|
845
942
|
});
|
|
846
943
|
}
|
|
@@ -849,9 +946,8 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
849
946
|
if (this.multiSelection) {
|
|
850
947
|
const options = this.options.toArray();
|
|
851
948
|
this.selectionModel.sort((a, b) => {
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
: options.indexOf(a) - options.indexOf(b);
|
|
949
|
+
const sortComparator = this.sortComparator();
|
|
950
|
+
return sortComparator ? sortComparator(a, b, options) : options.indexOf(a) - options.indexOf(b);
|
|
855
951
|
});
|
|
856
952
|
this.stateChanges.next();
|
|
857
953
|
}
|
|
@@ -861,44 +957,48 @@ class KbqTreeSelect extends KbqAbstractSelect {
|
|
|
861
957
|
* the first item instead.
|
|
862
958
|
*/
|
|
863
959
|
highlightCorrectOption() {
|
|
864
|
-
|
|
960
|
+
const tree = this.tree();
|
|
961
|
+
if (!tree.keyManager) {
|
|
865
962
|
return;
|
|
866
963
|
}
|
|
867
964
|
const selectedOption = this.options.find((option) => option.data === this.firstSelected);
|
|
868
|
-
|
|
965
|
+
tree.keyManager.setFocusOrigin('keyboard');
|
|
869
966
|
if (selectedOption) {
|
|
870
|
-
|
|
967
|
+
tree.keyManager.setActiveItem(selectedOption);
|
|
871
968
|
}
|
|
872
969
|
else {
|
|
873
|
-
|
|
874
|
-
if (
|
|
875
|
-
|
|
970
|
+
tree.keyManager.setFirstItemActive();
|
|
971
|
+
if (tree.keyManager.activeItem?.disabled) {
|
|
972
|
+
tree.keyManager.setActiveItem(-1);
|
|
876
973
|
}
|
|
877
974
|
}
|
|
878
975
|
}
|
|
879
976
|
/** Scrolls the active option into view. */
|
|
880
977
|
scrollActiveOptionIntoView() {
|
|
881
|
-
this.tree.keyManager.activeItem?.focus();
|
|
978
|
+
this.tree().keyManager.activeItem?.focus();
|
|
882
979
|
}
|
|
883
980
|
subscribeOnSearchChanges() {
|
|
884
|
-
|
|
981
|
+
const search = this.search();
|
|
982
|
+
if (!search?.ngControl.valueChanges)
|
|
885
983
|
return;
|
|
886
|
-
|
|
887
|
-
|
|
984
|
+
search.ngControl.valueChanges
|
|
985
|
+
.pipe(audit(() => this.tree().unorderedOptions.changes), takeUntilDestroyed(this.destroyRef))
|
|
986
|
+
.subscribe((value) => {
|
|
987
|
+
this.isEmptySearchResult = !!value && this.tree().isEmpty;
|
|
888
988
|
this.changeDetectorRef.markForCheck();
|
|
889
989
|
});
|
|
890
990
|
}
|
|
891
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
892
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
991
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelect, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
992
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: KbqTreeSelect, isStandalone: true, selector: "kbq-tree-select", inputs: { hiddenItemsText: { classPropertyName: "hiddenItemsText", publicName: "hiddenItemsText", isSignal: false, 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 }, 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 }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: false, isRequired: false, transformFunction: null }, selectAllToggle: { classPropertyName: "selectAllToggle", publicName: "selectAllToggle", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectAllHandler: { classPropertyName: "selectAllHandler", publicName: "selectAllHandler", isSignal: false, isRequired: false, transformFunction: null }, panelMinWidth: { classPropertyName: "panelMinWidth", publicName: "panelMinWidth", isSignal: true, isRequired: false, transformFunction: null }, panelWidth: { classPropertyName: "panelWidth", publicName: "panelWidth", isSignal: true, isRequired: false, transformFunction: null }, searchMinOptionsThreshold: { classPropertyName: "searchMinOptionsThreshold", publicName: "searchMinOptionsThreshold", isSignal: false, isRequired: false, transformFunction: null }, hiddenItemsTextFormatter: { classPropertyName: "hiddenItemsTextFormatter", publicName: "hiddenItemsTextFormatter", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", onSelectAll: "onSelectAll", valueChange: "valueChange" }, host: { listeners: { "click": "handleClick()", "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.kbq-select_multiple": "multiple", "class.kbq-select_multiline": "multiline()", "class.kbq-disabled": "disabled", "class.kbq-invalid": "errorState", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "kbq-tree-select" }, providers: [
|
|
893
993
|
{ provide: KbqFormFieldControl, useExisting: KbqTreeSelect },
|
|
894
994
|
{ provide: KbqTree, useExisting: KbqTreeSelect },
|
|
895
995
|
{ provide: KBQ_PARENT_POPUP, useExisting: KbqTreeSelect }
|
|
896
|
-
], queries: [{ propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], descendants: true, static: 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: "tree", first: true, predicate: KbqTreeSelection, descendants: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqTreeSelect"], 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)=\"onRemoveSelectedOption(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]=\"customTagTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n @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 </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>\n <div\n #panel\n class=\"kbq-tree-select__panel {{ getPanelTheme() }}\"\n cdkMonitorSubtreeFocus\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"panelKeydownHandler($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-tree-select__content kbq-scrollbar\"\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\n <ng-content select=\"kbq-tree-selection\" />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-tree-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-tree-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-tree-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-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-tree-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-tree-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-tree-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-tree-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-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-tree-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-tree-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-tree-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-tree-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-tree-select kbq-select-trigger,.kbq-tree-select [kbq-select-trigger]{width:100%}.kbq-tree-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-tree-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-tree-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-tree-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-tree-select__panel .kbq-option{font-size:inherit}.kbq-tree-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-tree-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-tree-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-tree-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-tree-select__content .kbq-tree-selection{height:100%}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option{position:relative}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before,.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-tree-select{color:var(--kbq-foreground-contrast)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid,.kbq-tree-select.kbq-invalid{color:var(--kbq-error-default)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-tree-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-tree-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-tree-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-tree-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-default-container-background);background:var(--kbq-tree-default-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-default-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-default-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-default-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-default-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused{--kbq-option-background: var(--kbq-tree-states-hover-container-background);background:var(--kbq-tree-states-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-text{color:var(--kbq-tree-states-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-hover-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-states-selected-container-background);background:var(--kbq-tree-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-states-selected-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-selected-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-states-selected-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused{--kbq-option-background: var(--kbq-tree-states-selected-hover-container-background);background:var(--kbq-tree-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-text{color:var(--kbq-tree-states-selected-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-selected-hover-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-selected-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-hovered:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-hovered:not(.kbq-focused){background:var(--kbq-tree-multiple-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-focused,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-focused{background:var(--kbq-tree-multiple-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused:not(.kbq-action-button-focused){border-color:transparent}.kbq-tree-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-tree-select,.kbq-tree-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-tree-select__panel{--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}.kbq-tree-select__panel .kbq-tree-selection{--kbq-tree-option-border-radius: var(--kbq-size-xs)}\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: "ngmodule", type: KbqIconModule }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: KbqTagRemove, selector: "[kbqTagRemove]" }, { 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: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }], animations: [
|
|
996
|
+
], queries: [{ propertyName: "cleaner", first: true, predicate: ["kbqSelectCleaner"], 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: "tree", first: true, predicate: KbqTreeSelection, descendants: true, isSignal: true }, { propertyName: "search", first: true, predicate: KbqSelectSearch, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, isSignal: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: KbqTag, descendants: true }], exportAs: ["kbqTreeSelect"], 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)=\"onRemoveSelectedOption(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n } @else {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"customTagTemplateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n @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 </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>\n <div\n #panel\n cdkMonitorSubtreeFocus\n [class]=\"getPanelClasses()\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"panelKeydownHandler($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-tree-select__content kbq-scrollbar\"\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\n <ng-content select=\"kbq-tree-selection\" />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-tree-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-tree-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-tree-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-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-tree-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-tree-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-tree-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-tree-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-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-tree-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-tree-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-tree-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-tree-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-tree-select kbq-select-trigger,.kbq-tree-select [kbq-select-trigger]{width:100%}.kbq-tree-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-tree-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-tree-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-tree-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-tree-select__panel .kbq-option{font-size:inherit}.kbq-tree-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-tree-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-tree-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-tree-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-tree-select__content .kbq-tree-selection{height:100%}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option{position:relative}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before,.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-tree-select{color:var(--kbq-foreground-contrast)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid,.kbq-tree-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-tree-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-tree-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-tree-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-tree-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-default-container-background);background:var(--kbq-tree-default-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-default-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-default-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-default-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused{--kbq-option-background: var(--kbq-tree-states-hover-container-background);background:var(--kbq-tree-states-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-text{color:var(--kbq-tree-states-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-states-selected-container-background);background:var(--kbq-tree-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-states-selected-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-states-selected-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused{--kbq-option-background: var(--kbq-tree-states-selected-hover-container-background);background:var(--kbq-tree-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-text{color:var(--kbq-tree-states-selected-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-selected-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-hovered:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-hovered:not(.kbq-focused){background:var(--kbq-tree-multiple-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-focused,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-focused{background:var(--kbq-tree-multiple-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused:not(.kbq-action-button-focused){border-color:transparent}.kbq-tree-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-tree-select,.kbq-tree-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-tree-select__panel{--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}.kbq-tree-select__panel .kbq-tree-selection{--kbq-tree-option-border-radius: var(--kbq-size-xs)}\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: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: KbqTagRemove, selector: "[kbqTagRemove]" }, { 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: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { 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"] }], animations: [
|
|
897
997
|
kbqSelectAnimations.transformPanel,
|
|
898
998
|
kbqSelectAnimations.fadeInContent
|
|
899
999
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
900
1000
|
}
|
|
901
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1001
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelect, decorators: [{
|
|
902
1002
|
type: Component,
|
|
903
1003
|
args: [{ selector: 'kbq-tree-select', imports: [
|
|
904
1004
|
CdkOverlayOrigin,
|
|
@@ -906,13 +1006,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
906
1006
|
KbqTagRemove,
|
|
907
1007
|
CdkConnectedOverlay,
|
|
908
1008
|
CdkMonitorFocus,
|
|
909
|
-
NgClass,
|
|
910
1009
|
KbqTag,
|
|
911
1010
|
NgTemplateOutlet
|
|
912
|
-
],
|
|
1011
|
+
], providers: [
|
|
1012
|
+
{ provide: KbqFormFieldControl, useExisting: KbqTreeSelect },
|
|
1013
|
+
{ provide: KbqTree, useExisting: KbqTreeSelect },
|
|
1014
|
+
{ provide: KBQ_PARENT_POPUP, useExisting: KbqTreeSelect }
|
|
1015
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
913
1016
|
class: 'kbq-tree-select',
|
|
914
1017
|
'[class.kbq-select_multiple]': 'multiple',
|
|
915
|
-
'[class.kbq-select_multiline]': 'multiline',
|
|
1018
|
+
'[class.kbq-select_multiline]': 'multiline()',
|
|
916
1019
|
'[class.kbq-disabled]': 'disabled',
|
|
917
1020
|
'[class.kbq-invalid]': 'errorState',
|
|
918
1021
|
'[attr.tabindex]': 'tabIndex',
|
|
@@ -924,64 +1027,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
924
1027
|
}, animations: [
|
|
925
1028
|
kbqSelectAnimations.transformPanel,
|
|
926
1029
|
kbqSelectAnimations.fadeInContent
|
|
927
|
-
], providers: [
|
|
928
|
-
|
|
929
|
-
{ provide: KbqTree, useExisting: KbqTreeSelect },
|
|
930
|
-
{ provide: KBQ_PARENT_POPUP, useExisting: KbqTreeSelect }
|
|
931
|
-
], 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)=\"onRemoveSelectedOption(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]=\"customTagTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n @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 </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>\n <div\n #panel\n class=\"kbq-tree-select__panel {{ getPanelTheme() }}\"\n cdkMonitorSubtreeFocus\n [ngClass]=\"panelClass\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"panelKeydownHandler($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-tree-select__content kbq-scrollbar\"\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\n <ng-content select=\"kbq-tree-selection\" />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-tree-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-tree-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-tree-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-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-tree-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-tree-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-tree-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-tree-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-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-tree-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-tree-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-tree-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-tree-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-tree-select kbq-select-trigger,.kbq-tree-select [kbq-select-trigger]{width:100%}.kbq-tree-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-tree-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-tree-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-tree-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-tree-select__panel .kbq-option{font-size:inherit}.kbq-tree-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-tree-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-tree-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-tree-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-tree-select__content .kbq-tree-selection{height:100%}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option{position:relative}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before,.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-tree-select{color:var(--kbq-foreground-contrast)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid,.kbq-tree-select.kbq-invalid{color:var(--kbq-error-default)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-tree-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-tree-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-tree-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-tree-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-default-container-background);background:var(--kbq-tree-default-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-default-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-default-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-default-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-default-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused{--kbq-option-background: var(--kbq-tree-states-hover-container-background);background:var(--kbq-tree-states-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-text{color:var(--kbq-tree-states-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-hover-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-states-selected-container-background);background:var(--kbq-tree-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-states-selected-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-selected-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-states-selected-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused{--kbq-option-background: var(--kbq-tree-states-selected-hover-container-background);background:var(--kbq-tree-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-text{color:var(--kbq-tree-states-selected-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-tree-node-toggle .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-icon.kbq-empty.kbq-tree-node-toggle{color:var(--kbq-tree-states-selected-hover-tree-toggle-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-selected-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-hovered:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-hovered:not(.kbq-focused){background:var(--kbq-tree-multiple-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-focused,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-focused{background:var(--kbq-tree-multiple-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused:not(.kbq-action-button-focused){border-color:transparent}.kbq-tree-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-tree-select,.kbq-tree-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-tree-select__panel{--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}.kbq-tree-select__panel .kbq-tree-selection{--kbq-tree-option-border-radius: var(--kbq-size-xs)}\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"] }]
|
|
932
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
|
|
933
|
-
type: Inject,
|
|
934
|
-
args: [KBQ_SELECT_SCROLL_STRATEGY]
|
|
935
|
-
}] }, { type: i2.Directionality, decorators: [{
|
|
936
|
-
type: Optional
|
|
937
|
-
}] }, { type: i3.NgForm, decorators: [{
|
|
938
|
-
type: Optional
|
|
939
|
-
}] }, { type: i3.FormGroupDirective, decorators: [{
|
|
940
|
-
type: Optional
|
|
941
|
-
}] }, { type: i4.KbqFormField, decorators: [{
|
|
942
|
-
type: Host
|
|
943
|
-
}, {
|
|
944
|
-
type: Optional
|
|
945
|
-
}] }, { type: i3.NgControl, decorators: [{
|
|
946
|
-
type: Optional
|
|
947
|
-
}, {
|
|
948
|
-
type: Self
|
|
949
|
-
}] }, { type: i1.KbqLocaleService, decorators: [{
|
|
950
|
-
type: Optional
|
|
951
|
-
}, {
|
|
952
|
-
type: Inject,
|
|
953
|
-
args: [KBQ_LOCALE_SERVICE]
|
|
954
|
-
}] }], propDecorators: { trigger: [{
|
|
955
|
-
type: ViewChild,
|
|
956
|
-
args: ['trigger', { static: false }]
|
|
957
|
-
}], panel: [{
|
|
958
|
-
type: ViewChild,
|
|
959
|
-
args: ['panel', { static: false }]
|
|
960
|
-
}], overlayDir: [{
|
|
1030
|
+
], exportAs: 'kbqTreeSelect', 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)=\"onRemoveSelectedOption(option, $event)\"\n ></i>\n }\n </kbq-tag>\n }\n } @else {\n @for (option of triggerValues; track option) {\n <ng-container\n [ngTemplateOutlet]=\"customTagTemplateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: option, select: this }\"\n />\n }\n }\n </div>\n } @else {\n <span class=\"kbq-select__matcher-text\">\n {{ triggerValue }}\n </span>\n }\n @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 </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>\n <div\n #panel\n cdkMonitorSubtreeFocus\n [class]=\"getPanelClasses()\"\n [style.font-size.px]=\"triggerFontSize\"\n [style.transformOrigin]=\"transformOrigin\"\n (keydown)=\"panelKeydownHandler($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-tree-select__content kbq-scrollbar\"\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\n <ng-content select=\"kbq-tree-selection\" />\n </div>\n\n <ng-content select=\"kbq-select-footer,[kbq-tree-select-footer]\" />\n </div>\n</ng-template>\n", styles: [".kbq-tree-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.kbq-tree-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-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline){height:calc(var(--kbq-form-field-size-height) - var(--kbq-size-border-width) * 2)}.kbq-tree-select .kbq-select__trigger:not(.kbq-select__trigger_multiline) .kbq-select__matcher{overflow:hidden;white-space:nowrap}.kbq-tree-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-tree-select .kbq-select__matcher>span{flex:1;overflow:hidden}.kbq-tree-select .kbq-select__trigger.kbq-select__trigger_single .kbq-select__matcher,.kbq-tree-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-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) .kbq-select__matcher .kbq-select__match-container{display:flex}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__match-container{flex-direction:column}.kbq-tree-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-tree-select .kbq-select__trigger.kbq-select__trigger_multiline:not(.kbq-select__trigger_empty) .kbq-select__cleaner,.kbq-tree-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-tree-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-tree-select .kbq-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.kbq-tree-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-tree-select kbq-select-trigger,.kbq-tree-select [kbq-select-trigger]{width:100%}.kbq-tree-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-tree-select .kbq-select__arrow-wrapper,.kbq-form-field-appearance-standard .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-50%)}.kbq-form-field-appearance-outline .kbq-tree-select .kbq-select__arrow-wrapper{transform:translateY(-25%)}.kbq-disabled.kbq-tree-select .kbq-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-tree-select__panel{min-width:100%;overflow:hidden;border-radius:var(--kbq-select-panel-size-border-radius, var(--kbq-size-border-radius))}.kbq-tree-select__panel .kbq-option{font-size:inherit}.kbq-tree-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-tree-select__panel .kbq-select__search-container{padding:var(--kbq-size-xxs);border-bottom-width:1px;border-bottom-style:solid}.kbq-tree-select__content{max-height:var(--kbq-select-panel-size-max-height, 256px);padding:var(--kbq-size-xxs);overflow:hidden auto}.kbq-tree-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-tree-select__content .kbq-tree-selection{height:100%}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option{position:relative}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before,.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{position:absolute;content:\"\";width:var(--kbq-size-xxs);height:calc(100% + var(--kbq-size-3xs) * 2)}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:before{right:calc(100% + var(--kbq-size-3xs))}.kbq-tree-select__content .kbq-tree-selection .kbq-tree-option:after{left:calc(100% + var(--kbq-size-3xs))}.kbq-form-field-type-select:not(.kbq-disabled) .kbq-form-field-flex{cursor:pointer}.kbq-tree-select{color:var(--kbq-foreground-contrast)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid,.kbq-tree-select.kbq-invalid{color:var(--kbq-foreground-error)}.kbq-tree-select.kbq-control_has-validate-directive.ng-invalid .kbq-select__placeholder,.kbq-tree-select.kbq-invalid .kbq-select__placeholder{color:var(--kbq-form-field-states-error-placeholder)}.kbq-tree-select.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-tree-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-tree-select__panel{box-shadow:var(--kbq-select-panel-dropdown-shadow);background:var(--kbq-select-panel-dropdown-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-default-container-background);background:var(--kbq-tree-default-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-default-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-default-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled):hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-default-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused{--kbq-option-background: var(--kbq-tree-states-hover-container-background);background:var(--kbq-tree-states-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-text{color:var(--kbq-tree-states-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused){--kbq-option-background: var(--kbq-tree-states-selected-container-background);background:var(--kbq-tree-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-text,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-text{color:var(--kbq-tree-states-selected-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected:hover:not(.kbq-focused) .kbq-option-caption,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-hovered:not(.kbq-focused) .kbq-option-caption{color:var(--kbq-tree-states-selected-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused{--kbq-option-background: var(--kbq-tree-states-selected-hover-container-background);background:var(--kbq-tree-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-text{color:var(--kbq-tree-states-selected-hover-text-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-tree-states-selected-hover-action-button-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-selected.kbq-focused .kbq-option-caption{color:var(--kbq-tree-states-selected-hover-caption-color)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected):hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-hovered:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected:hover:not(.kbq-focused),.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-hovered:not(.kbq-focused){background:var(--kbq-tree-multiple-states-selected-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-checked:not(.kbq-selected).kbq-focused,.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-tree-option_multiple.kbq-selected.kbq-focused{background:var(--kbq-tree-multiple-states-selected-hover-container-background)}.kbq-tree-select__panel .kbq-tree-selection .kbq-tree-option:not(.kbq-disabled).kbq-focused:not(.kbq-action-button-focused){border-color:transparent}.kbq-tree-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-tree-select,.kbq-tree-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-tree-select__panel{--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup)}.kbq-tree-select__panel .kbq-tree-selection{--kbq-tree-option-border-radius: var(--kbq-size-xs)}\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"] }]
|
|
1031
|
+
}], ctorParameters: () => [], propDecorators: { trigger: [{ type: i0.ViewChild, args: ['trigger', { isSignal: true }] }], panel: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }], overlayDir: [{
|
|
961
1032
|
type: ViewChild,
|
|
962
1033
|
args: [CdkConnectedOverlay, { static: false }]
|
|
963
1034
|
}], tags: [{
|
|
964
1035
|
type: ViewChildren,
|
|
965
1036
|
args: [KbqTag]
|
|
966
|
-
}], cleaner: [{
|
|
967
|
-
type: ContentChild,
|
|
968
|
-
args: ['kbqSelectCleaner', { static: true }]
|
|
969
|
-
}], customTrigger: [{
|
|
970
|
-
type: ContentChild,
|
|
971
|
-
args: [KbqSelectTrigger, { static: false }]
|
|
972
|
-
}], customMatcher: [{
|
|
973
|
-
type: ContentChild,
|
|
974
|
-
args: [KbqSelectMatcher, { static: false }]
|
|
975
|
-
}], customTagTemplateRef: [{
|
|
976
|
-
type: ContentChild,
|
|
977
|
-
args: ['kbqSelectTagContent', { static: false, read: TemplateRef }]
|
|
978
|
-
}], tree: [{
|
|
979
|
-
type: ContentChild,
|
|
980
|
-
args: [KbqTreeSelection, { static: false }]
|
|
981
|
-
}], search: [{
|
|
982
|
-
type: ContentChild,
|
|
983
|
-
args: [KbqSelectSearch, { static: false }]
|
|
984
|
-
}], hiddenItemsText: [{
|
|
1037
|
+
}], cleaner: [{ type: i0.ContentChild, args: ['kbqSelectCleaner', { isSignal: true }] }], 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 }] }], tree: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqTreeSelection), { isSignal: true }] }], search: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSelectSearch), { isSignal: true }] }], hiddenItemsText: [{
|
|
985
1038
|
type: Input
|
|
986
1039
|
}], openedChange: [{
|
|
987
1040
|
type: Output
|
|
@@ -991,22 +1044,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
991
1044
|
}], closedStream: [{
|
|
992
1045
|
type: Output,
|
|
993
1046
|
args: ['closed']
|
|
994
|
-
}], selectionChange: [{
|
|
995
|
-
type: Output
|
|
996
|
-
}], valueChange: [{
|
|
997
|
-
type: Output
|
|
998
|
-
}], panelClass: [{
|
|
999
|
-
type: Input
|
|
1000
|
-
}], backdropClass: [{
|
|
1001
|
-
type: Input
|
|
1002
|
-
}], errorStateMatcher: [{
|
|
1003
|
-
type: Input
|
|
1004
|
-
}], sortComparator: [{
|
|
1047
|
+
}], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], onSelectAll: [{ type: i0.Output, args: ["onSelectAll"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], panelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClass", required: false }] }], backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdropClass", required: false }] }], errorStateMatcher: [{
|
|
1005
1048
|
type: Input
|
|
1006
|
-
}], multiline: [{
|
|
1007
|
-
type: Input,
|
|
1008
|
-
args: [{ transform: booleanAttribute }]
|
|
1009
|
-
}], placeholder: [{
|
|
1049
|
+
}], sortComparator: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortComparator", required: false }] }], multiline: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiline", required: false }] }], placeholder: [{
|
|
1010
1050
|
type: Input
|
|
1011
1051
|
}], required: [{
|
|
1012
1052
|
type: Input
|
|
@@ -1015,7 +1055,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1015
1055
|
args: [{ transform: booleanAttribute }]
|
|
1016
1056
|
}], autoSelect: [{
|
|
1017
1057
|
type: Input
|
|
1018
|
-
}], id: [{
|
|
1058
|
+
}], selectAllToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectAllToggle", required: false }] }], id: [{
|
|
1019
1059
|
type: Input
|
|
1020
1060
|
}], hasBackdrop: [{
|
|
1021
1061
|
type: Input
|
|
@@ -1026,20 +1066,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1026
1066
|
args: [{ transform: booleanAttribute }]
|
|
1027
1067
|
}], selectAllHandler: [{
|
|
1028
1068
|
type: Input
|
|
1029
|
-
}], panelMinWidth: [{
|
|
1030
|
-
type: Input,
|
|
1031
|
-
args: [{ transform: numberAttribute }]
|
|
1032
|
-
}], panelWidth: [{
|
|
1033
|
-
type: Input
|
|
1034
|
-
}], searchMinOptionsThreshold: [{
|
|
1069
|
+
}], panelMinWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelMinWidth", required: false }] }], panelWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelWidth", required: false }] }], searchMinOptionsThreshold: [{
|
|
1035
1070
|
type: Input
|
|
1036
1071
|
}], hiddenItemsTextFormatter: [{
|
|
1037
1072
|
type: Input
|
|
1038
1073
|
}] } });
|
|
1039
1074
|
|
|
1040
1075
|
class KbqTreeSelectModule {
|
|
1041
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1042
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1076
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1077
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelectModule, imports: [OverlayModule,
|
|
1043
1078
|
KbqTreeModule,
|
|
1044
1079
|
KbqIconModule,
|
|
1045
1080
|
KbqTagsModule,
|
|
@@ -1049,7 +1084,6 @@ class KbqTreeSelectModule {
|
|
|
1049
1084
|
KbqSelectMatcher,
|
|
1050
1085
|
KbqSelectTrigger,
|
|
1051
1086
|
KbqSelectSearchEmptyResult,
|
|
1052
|
-
NgClass,
|
|
1053
1087
|
NgTemplateOutlet,
|
|
1054
1088
|
A11yModule,
|
|
1055
1089
|
KbqTreeSelect], exports: [KbqTreeSelect,
|
|
@@ -1059,7 +1093,7 @@ class KbqTreeSelectModule {
|
|
|
1059
1093
|
KbqSelectTrigger,
|
|
1060
1094
|
KbqSelectSearchEmptyResult,
|
|
1061
1095
|
KbqFormFieldModule] }); }
|
|
1062
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1096
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelectModule, providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule,
|
|
1063
1097
|
KbqTreeModule,
|
|
1064
1098
|
KbqIconModule,
|
|
1065
1099
|
KbqTagsModule,
|
|
@@ -1067,7 +1101,7 @@ class KbqTreeSelectModule {
|
|
|
1067
1101
|
A11yModule,
|
|
1068
1102
|
KbqTreeSelect, KbqFormFieldModule] }); }
|
|
1069
1103
|
}
|
|
1070
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqTreeSelectModule, decorators: [{
|
|
1071
1105
|
type: NgModule,
|
|
1072
1106
|
args: [{
|
|
1073
1107
|
imports: [
|
|
@@ -1081,11 +1115,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1081
1115
|
KbqSelectMatcher,
|
|
1082
1116
|
KbqSelectTrigger,
|
|
1083
1117
|
KbqSelectSearchEmptyResult,
|
|
1084
|
-
NgClass,
|
|
1085
1118
|
NgTemplateOutlet,
|
|
1086
1119
|
A11yModule,
|
|
1087
1120
|
KbqTreeSelect
|
|
1088
1121
|
],
|
|
1122
|
+
providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER],
|
|
1089
1123
|
exports: [
|
|
1090
1124
|
KbqTreeSelect,
|
|
1091
1125
|
KbqSelectSearch,
|
|
@@ -1094,8 +1128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1094
1128
|
KbqSelectTrigger,
|
|
1095
1129
|
KbqSelectSearchEmptyResult,
|
|
1096
1130
|
KbqFormFieldModule
|
|
1097
|
-
]
|
|
1098
|
-
providers: [KBQ_SELECT_SCROLL_STRATEGY_PROVIDER]
|
|
1131
|
+
]
|
|
1099
1132
|
}]
|
|
1100
1133
|
}] });
|
|
1101
1134
|
|