@koobiq/components 20.4.1 → 21.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-trigger.scss +3 -10
- package/accordion/accordion.scss +4 -6
- package/actions-panel/actions-panel-container.scss +45 -1
- package/alert/alert.component.scss +3 -2
- package/app-switcher/_app-switcher-theme.scss +0 -4
- package/app-switcher/app-switcher-dropdown-app.scss +3 -2
- package/app-switcher/app-switcher-dropdown-site.scss +2 -1
- package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
- package/app-switcher/app-switcher-tokens.scss +15 -0
- package/app-switcher/app-switcher.scss +14 -4
- package/autocomplete/autocomplete.scss +7 -6
- package/badge/badge.component.scss +5 -8
- package/breadcrumbs/breadcrumbs.scss +25 -10
- package/button/_button-base.scss +30 -7
- package/button/_button-theme.scss +16 -0
- package/button/button-group.scss +7 -0
- package/button/button-tokens.scss +0 -2
- package/button/button.scss +34 -2
- package/button-toggle/_button-toggle-theme.scss +7 -2
- package/button-toggle/button-toggle.scss +65 -15
- package/checkbox/_checkbox-theme.scss +4 -3
- package/checkbox/checkbox.scss +3 -6
- package/clamped-text/clamped-text.scss +6 -2
- package/code-block/code-block-tokens.scss +0 -224
- package/code-block/code-block.scss +20 -9
- package/content-panel/content-panel-aside.scss +3 -2
- package/content-panel/content-panel-container.scss +37 -0
- package/content-panel/content-panel.scss +4 -3
- package/core/highlight/_highlight-theme.scss +3 -1
- package/core/option/action-container.scss +2 -2
- package/core/option/action.scss +2 -1
- package/core/option/option.scss +2 -1
- package/core/pop-up/_pop-up.scss +0 -37
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
- package/core/styles/_core.scss +3 -0
- package/core/styles/_koobiq-theme.scss +5 -6
- package/core/styles/common/_animation.scss +44 -16
- package/core/styles/common/_groups-mixins.scss +21 -19
- package/core/styles/common/_groups.scss +4 -32
- package/core/styles/common/_index.scss +0 -2
- package/core/styles/common/_link.scss +117 -0
- package/core/styles/common/_list.scss +0 -26
- package/core/styles/common/_overlay.scss +8 -10
- package/core/styles/common/_rtl.scss +0 -14
- package/core/styles/common/_select.scss +33 -15
- package/core/styles/common/_squircle.scss +63 -0
- package/core/styles/common/_tokens.scss +0 -11
- package/core/styles/common/_vendor-prefixes.scss +0 -20
- package/core/styles/functions/_timing.scss +0 -22
- package/core/styles/theming/_scrollbar-theme.scss +6 -1
- package/core/styles/theming/_theming.scss +13 -65
- package/core/styles/typography/_index.scss +0 -1
- package/core/styles/typography/_typography.scss +0 -143
- package/core/styles/visual/_body.scss +1 -6
- package/core/styles/visual/_layout.scss +0 -12
- package/datepicker/calendar-body.scss +3 -1
- package/datepicker/calendar-header.scss +0 -1
- package/datepicker/datepicker-content.scss +33 -1
- package/datepicker/datepicker-toggle.scss +0 -38
- package/dl/dl-tokens.scss +10 -0
- package/dl/dl.scss +113 -13
- package/dropdown/_dropdown-theme.scss +4 -16
- package/dropdown/dropdown-item.scss +4 -10
- package/dropdown/dropdown.scss +2 -1
- package/empty-state/_empty-state-theme.scss +10 -4
- package/empty-state/empty-state-tokens.scss +4 -4
- package/empty-state/empty-state.scss +4 -0
- package/fesm2022/koobiq-components-accordion.mjs +347 -229
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +39 -39
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +46 -48
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +332 -116
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +172 -132
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +755 -601
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +260 -143
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +4342 -1595
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +73 -36
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +447 -89
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +703 -599
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +116 -60
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +550 -290
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +79 -24
- package/fesm2022/koobiq-components-flag.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +389 -525
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +366 -136
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +601 -459
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
- package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-link.mjs +328 -125
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +583 -433
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +55 -78
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +853 -475
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +895 -556
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +680 -310
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +684 -285
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +450 -231
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +127 -21
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
- package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +883 -693
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +207 -88
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +815 -41
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +109 -88
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
- package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-splitter.mjs +890 -501
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +63 -49
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +1062 -603
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +886 -733
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +213 -185
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +299 -147
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +233 -245
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +344 -142
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +229 -145
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +486 -165
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +177 -130
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +657 -214
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +61 -32
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +719 -488
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +1506 -558
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +290 -135
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/dropzone.scss +31 -3
- package/file-upload/file-upload-tokens.scss +2 -22
- package/file-upload/file-upload.scss +6 -0
- package/file-upload/multiple-file-upload.component.scss +14 -12
- package/file-upload/single-file-upload.component.scss +3 -2
- package/filter-bar/filters.scss +7 -0
- package/filter-bar/pipes/base-pipe.scss +3 -3
- package/filter-bar/pipes/pipe-date.scss +8 -1
- package/flag/flag-tokens.scss +22 -0
- package/flag/flag.scss +34 -21
- package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
- package/form-field/_form-field-theme.scss +4 -9
- package/form-field/cleaner.scss +3 -1
- package/form-field/fieldset.scss +3 -4
- package/form-field/form-field.scss +26 -21
- package/form-field/password-toggle.scss +3 -1
- package/icon/_icon-button-theme.scss +7 -0
- package/icon/_icon-theme.scss +10 -7
- package/icon/icon-button.scss +0 -2
- package/icon/icon-tokens.scss +12 -9
- package/inline-edit/inline-edit.scss +40 -54
- package/input/input.scss +4 -0
- package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
- package/link/deprecated/link-tokens.scss +27 -0
- package/link/link-tokens.scss +6 -25
- package/link/link.scss +137 -0
- package/list/list.scss +3 -2
- package/loader-overlay/_loader-overlay-theme.scss +19 -10
- package/loader-overlay/loader-overlay-tokens.scss +0 -2
- package/loader-overlay/loader-overlay.scss +7 -1
- package/markdown/_markdown-theme.scss +16 -0
- package/markdown/markdown-tokens.scss +5 -0
- package/markdown/markdown.scss +2 -1
- package/modal/_modal-animation.scss +23 -14
- package/modal/modal-tokens.scss +2 -1
- package/modal/modal.scss +35 -31
- package/navbar/_navbar-item_horizontal.scss +8 -6
- package/navbar/_navbar-item_vertical.scss +18 -6
- package/navbar/_navbar-theme.scss +9 -1
- package/navbar/navbar-brand.scss +8 -6
- package/navbar/navbar-divider.scss +1 -1
- package/navbar/navbar-item.scss +8 -9
- package/navbar/navbar-toggle.scss +3 -3
- package/navbar/navbar-tokens.scss +14 -0
- package/navbar/navbar.scss +1 -2
- package/navbar/vertical-navbar.scss +2 -2
- package/notification-center/_notification-center-theme.scss +11 -6
- package/notification-center/notification-center-tokens.scss +33 -0
- package/notification-center/notification-center.scss +58 -20
- package/notification-center/notification-item.scss +15 -6
- package/package.json +112 -81
- package/popover/popover-tokens.scss +0 -2
- package/popover/popover.scss +41 -19
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +20 -3
- package/progress-bar/progress-bar-tokens.scss +3 -0
- package/progress-bar/progress-bar.scss +36 -8
- package/progress-spinner/progress-spinner.scss +4 -3
- package/radio/_radio-theme.scss +21 -4
- package/radio/radio-tokens.scss +7 -3
- package/radio/radio.scss +55 -8
- package/schematics/collection.json +399 -7
- package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
- package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
- package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
- package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
- package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
- package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
- package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
- package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
- package/schematics/migrations/alert-signals/README.md +13 -7
- package/schematics/migrations/alert-signals/data.js +3 -0
- package/schematics/migrations/alert-signals/index.js +70 -203
- package/schematics/migrations/angular-animations-removal/README.md +46 -0
- package/schematics/migrations/angular-animations-removal/data.js +150 -0
- package/schematics/migrations/angular-animations-removal/index.js +20 -0
- package/schematics/migrations/angular-animations-removal/schema.json +15 -0
- package/schematics/migrations/app-switcher-signals/README.md +88 -0
- package/schematics/migrations/app-switcher-signals/data.js +136 -0
- package/schematics/migrations/app-switcher-signals/index.js +365 -0
- package/schematics/migrations/app-switcher-signals/schema.json +20 -0
- package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
- package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
- package/schematics/migrations/autocomplete-signals/README.md +92 -0
- package/schematics/migrations/autocomplete-signals/data.js +149 -0
- package/schematics/migrations/autocomplete-signals/index.js +706 -0
- package/schematics/migrations/autocomplete-signals/schema.json +20 -0
- package/schematics/migrations/badge-signals/README.md +77 -0
- package/schematics/migrations/badge-signals/data.js +109 -0
- package/schematics/migrations/badge-signals/index.js +693 -0
- package/schematics/migrations/badge-signals/schema.json +20 -0
- package/schematics/migrations/button-state-and-styles/README.md +129 -0
- package/schematics/migrations/button-state-and-styles/data.js +136 -0
- package/schematics/migrations/button-state-and-styles/index.js +220 -0
- package/schematics/migrations/button-state-and-styles/schema.json +20 -0
- package/schematics/migrations/button-supported-colors/README.md +73 -0
- package/schematics/migrations/button-supported-colors/data.js +106 -0
- package/schematics/migrations/button-supported-colors/index.js +260 -0
- package/schematics/migrations/button-supported-colors/schema.json +20 -0
- package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
- package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
- package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
- package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/button-truncation/README.md +110 -0
- package/schematics/migrations/button-truncation/data.js +88 -0
- package/schematics/migrations/button-truncation/index.js +269 -0
- package/schematics/migrations/button-truncation/schema.json +20 -0
- package/schematics/migrations/checkbox-signals/README.md +76 -0
- package/schematics/migrations/checkbox-signals/data.js +114 -0
- package/schematics/migrations/checkbox-signals/index.js +634 -0
- package/schematics/migrations/checkbox-signals/schema.json +20 -0
- package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
- package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
- package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
- package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
- package/schematics/migrations/code-block-signals/README.md +84 -0
- package/schematics/migrations/code-block-signals/data.js +121 -0
- package/schematics/migrations/code-block-signals/index.js +700 -0
- package/schematics/migrations/code-block-signals/schema.json +20 -0
- package/schematics/migrations/color-signals/README.md +46 -0
- package/schematics/migrations/color-signals/data.js +131 -0
- package/schematics/migrations/color-signals/index.js +19 -0
- package/schematics/migrations/color-signals/schema.json +20 -0
- package/schematics/migrations/core-mixins-removal/README.md +20 -0
- package/schematics/migrations/core-mixins-removal/data.js +27 -0
- package/schematics/migrations/core-mixins-removal/index.js +17 -0
- package/schematics/migrations/core-mixins-removal/schema.json +15 -0
- package/schematics/migrations/css-selectors/README.md +2 -2
- package/schematics/migrations/css-selectors/index.js +1 -1
- package/schematics/migrations/datepicker-signals/README.md +24 -0
- package/schematics/migrations/datepicker-signals/data.js +49 -0
- package/schematics/migrations/datepicker-signals/index.js +17 -0
- package/schematics/migrations/datepicker-signals/schema.json +15 -0
- package/schematics/migrations/deprecated-icons/README.md +2 -2
- package/schematics/migrations/deprecated-icons/index.js +1 -1
- package/schematics/migrations/design-tokens-v4/README.md +75 -0
- package/schematics/migrations/design-tokens-v4/index.js +59 -0
- package/schematics/migrations/design-tokens-v4/schema.json +15 -0
- package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
- package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
- package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
- package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
- package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
- package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
- package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
- package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
- package/schematics/migrations/dl-standalone-names/README.md +49 -0
- package/schematics/migrations/dl-standalone-names/data.js +44 -0
- package/schematics/migrations/dl-standalone-names/index.js +321 -0
- package/schematics/migrations/dl-standalone-names/schema.json +20 -0
- package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
- package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
- package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
- package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
- package/schematics/migrations/dropdown-signals/README.md +83 -0
- package/schematics/migrations/dropdown-signals/data.js +152 -0
- package/schematics/migrations/dropdown-signals/index.js +19 -0
- package/schematics/migrations/dropdown-signals/schema.json +20 -0
- package/schematics/migrations/empty-state-error-color/README.md +84 -0
- package/schematics/migrations/empty-state-error-color/data.js +85 -0
- package/schematics/migrations/empty-state-error-color/index.js +71 -0
- package/schematics/migrations/empty-state-error-color/schema.json +15 -0
- package/schematics/migrations/empty-state-size-attr/README.md +2 -2
- package/schematics/migrations/empty-state-size-attr/index.js +1 -1
- package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
- package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
- package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
- package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
- package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
- package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
- package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
- package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
- package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
- package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
- package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
- package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
- package/schematics/migrations/filter-bar-signals/README.md +27 -16
- package/schematics/migrations/filter-bar-signals/data.js +1 -2
- package/schematics/migrations/filter-bar-signals/index.js +100 -195
- package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
- package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
- package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
- package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
- package/schematics/migrations/flag-inner-html/README.md +67 -0
- package/schematics/migrations/flag-inner-html/data.js +58 -0
- package/schematics/migrations/flag-inner-html/index.js +61 -0
- package/schematics/migrations/flag-inner-html/schema.json +15 -0
- package/schematics/migrations/form-field-signals/README.md +125 -0
- package/schematics/migrations/form-field-signals/data.js +288 -0
- package/schematics/migrations/form-field-signals/index.js +382 -0
- package/schematics/migrations/form-field-signals/schema.json +20 -0
- package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
- package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
- package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
- package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
- package/schematics/migrations/icons-replacement/README.md +5 -5
- package/schematics/migrations/icons-replacement/index.js +1 -1
- package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
- package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
- package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
- package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
- package/schematics/migrations/input-number-surface/README.md +140 -0
- package/schematics/migrations/input-number-surface/data.js +135 -0
- package/schematics/migrations/input-number-surface/index.js +292 -0
- package/schematics/migrations/input-number-surface/schema.json +20 -0
- package/schematics/migrations/input-signals/README.md +20 -0
- package/schematics/migrations/input-signals/data.js +30 -0
- package/schematics/migrations/input-signals/index.js +17 -0
- package/schematics/migrations/input-signals/schema.json +15 -0
- package/schematics/migrations/link-deprecated-path/README.md +144 -0
- package/schematics/migrations/link-deprecated-path/index.js +19 -0
- package/schematics/migrations/link-deprecated-path/schema.json +20 -0
- package/schematics/migrations/link-signals/README.md +71 -0
- package/schematics/migrations/link-signals/data.js +116 -0
- package/schematics/migrations/link-signals/index.js +415 -0
- package/schematics/migrations/link-signals/schema.json +20 -0
- package/schematics/migrations/list-signals/README.md +22 -0
- package/schematics/migrations/list-signals/data.js +35 -0
- package/schematics/migrations/list-signals/index.js +17 -0
- package/schematics/migrations/list-signals/schema.json +15 -0
- package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
- package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
- package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
- package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
- package/schematics/migrations/loader-overlay-signals/README.md +62 -0
- package/schematics/migrations/loader-overlay-signals/data.js +101 -0
- package/schematics/migrations/loader-overlay-signals/index.js +697 -0
- package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
- package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
- package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
- package/schematics/migrations/locale-configuration-providers/README.md +163 -0
- package/schematics/migrations/locale-configuration-providers/data.js +257 -0
- package/schematics/migrations/locale-configuration-providers/index.js +294 -0
- package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
- package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
- package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
- package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
- package/schematics/migrations/markdown-signals/README.md +58 -0
- package/schematics/migrations/markdown-signals/data.js +79 -0
- package/schematics/migrations/markdown-signals/index.js +639 -0
- package/schematics/migrations/markdown-signals/schema.json +20 -0
- package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
- package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
- package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
- package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
- package/schematics/migrations/modal-signals/README.md +88 -0
- package/schematics/migrations/modal-signals/data.js +132 -0
- package/schematics/migrations/modal-signals/index.js +19 -0
- package/schematics/migrations/modal-signals/schema.json +20 -0
- package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
- package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
- package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
- package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/new-icons-pack/README.md +10 -10
- package/schematics/migrations/new-icons-pack/index.js +1 -1
- package/schematics/migrations/notification-center-signals/README.md +67 -0
- package/schematics/migrations/notification-center-signals/data.js +66 -0
- package/schematics/migrations/notification-center-signals/index.js +61 -0
- package/schematics/migrations/notification-center-signals/schema.json +15 -0
- package/schematics/migrations/option-signals/README.md +37 -0
- package/schematics/migrations/option-signals/data.js +86 -0
- package/schematics/migrations/option-signals/index.js +19 -0
- package/schematics/migrations/option-signals/schema.json +20 -0
- package/schematics/migrations/popover-leave-delay/README.md +51 -0
- package/schematics/migrations/popover-leave-delay/data.js +61 -0
- package/schematics/migrations/popover-leave-delay/index.js +54 -0
- package/schematics/migrations/popover-leave-delay/schema.json +15 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
- package/schematics/migrations/progress-spinner-signals/README.md +72 -0
- package/schematics/migrations/progress-spinner-signals/data.js +83 -0
- package/schematics/migrations/progress-spinner-signals/index.js +694 -0
- package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
- package/schematics/migrations/query-list-signals/README.md +32 -0
- package/schematics/migrations/query-list-signals/data.js +70 -0
- package/schematics/migrations/query-list-signals/index.js +17 -0
- package/schematics/migrations/query-list-signals/schema.json +15 -0
- package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
- package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
- package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
- package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
- package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
- package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
- package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
- package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
- package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
- package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
- package/schematics/migrations/select-signal-inputs/README.md +61 -0
- package/schematics/migrations/select-signal-inputs/data.js +99 -0
- package/schematics/migrations/select-signal-inputs/index.js +57 -0
- package/schematics/migrations/select-signal-inputs/schema.json +15 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
- package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
- package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
- package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
- package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
- package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
- package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
- package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
- package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
- package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
- package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
- package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
- package/schematics/migrations/state-saving-default/README.md +67 -0
- package/schematics/migrations/state-saving-default/data.js +88 -0
- package/schematics/migrations/state-saving-default/index.js +62 -0
- package/schematics/migrations/state-saving-default/schema.json +15 -0
- package/schematics/migrations/table-cell-content/README.md +55 -0
- package/schematics/migrations/table-cell-content/data.js +66 -0
- package/schematics/migrations/table-cell-content/index.js +66 -0
- package/schematics/migrations/table-cell-content/schema.json +15 -0
- package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
- package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
- package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
- package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
- package/schematics/migrations/tag-list-cleaner/README.md +58 -0
- package/schematics/migrations/tag-list-cleaner/data.js +42 -0
- package/schematics/migrations/tag-list-cleaner/index.js +196 -0
- package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
- package/schematics/migrations/tag-slots/README.md +41 -0
- package/schematics/migrations/tag-slots/index.js +190 -0
- package/schematics/migrations/tag-slots/schema.json +20 -0
- package/schematics/migrations/tags-signals/README.md +85 -0
- package/schematics/migrations/tags-signals/data.js +103 -0
- package/schematics/migrations/tags-signals/index.js +673 -0
- package/schematics/migrations/tags-signals/schema.json +20 -0
- package/schematics/migrations/textarea-signals/README.md +72 -0
- package/schematics/migrations/textarea-signals/data.js +121 -0
- package/schematics/migrations/textarea-signals/index.js +379 -0
- package/schematics/migrations/textarea-signals/schema.json +20 -0
- package/schematics/migrations/time-range-title-for/README.md +164 -0
- package/schematics/migrations/time-range-title-for/data.js +139 -0
- package/schematics/migrations/time-range-title-for/index.js +163 -0
- package/schematics/migrations/time-range-title-for/schema.json +20 -0
- package/schematics/migrations/timepicker-signals/README.md +78 -0
- package/schematics/migrations/timepicker-signals/data.js +82 -0
- package/schematics/migrations/timepicker-signals/index.js +709 -0
- package/schematics/migrations/timepicker-signals/schema.json +20 -0
- package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
- package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
- package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
- package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
- package/schematics/migrations/title-encapsulation/README.md +49 -0
- package/schematics/migrations/title-encapsulation/data.js +69 -0
- package/schematics/migrations/title-encapsulation/index.js +57 -0
- package/schematics/migrations/title-encapsulation/schema.json +15 -0
- package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
- package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
- package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
- package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
- package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
- package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
- package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
- package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
- package/schematics/migrations/tree-select-signals/README.md +61 -0
- package/schematics/migrations/tree-select-signals/data.js +106 -0
- package/schematics/migrations/tree-select-signals/index.js +58 -0
- package/schematics/migrations/tree-select-signals/schema.json +15 -0
- package/schematics/migrations/tree-signals/README.md +82 -0
- package/schematics/migrations/tree-signals/data.js +123 -0
- package/schematics/migrations/tree-signals/index.js +54 -0
- package/schematics/migrations/tree-signals/schema.json +15 -0
- package/schematics/migrations/tree-state-saving-default/README.md +66 -0
- package/schematics/migrations/tree-state-saving-default/data.js +78 -0
- package/schematics/migrations/tree-state-saving-default/index.js +60 -0
- package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
- package/schematics/migrations/username-pipe-injection/README.md +59 -0
- package/schematics/migrations/username-pipe-injection/data.js +78 -0
- package/schematics/migrations/username-pipe-injection/index.js +58 -0
- package/schematics/migrations/username-pipe-injection/schema.json +15 -0
- package/schematics/migrations/v20-upgrade/README.md +36 -16
- package/schematics/migrations/v20-upgrade/data.js +124 -77
- package/schematics/migrations/v20-upgrade/index.js +6 -213
- package/schematics/migrations/v21-upgrade/README.md +271 -0
- package/schematics/migrations/v21-upgrade/data.js +1371 -0
- package/schematics/migrations/v21-upgrade/index.js +94 -0
- package/schematics/migrations/v21-upgrade/schema.json +20 -0
- package/schematics/migrations/zoneless-change-detection/README.md +30 -0
- package/schematics/migrations/zoneless-change-detection/data.js +29 -0
- package/schematics/migrations/zoneless-change-detection/index.js +20 -0
- package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
- package/schematics/migrations.json +392 -2
- package/schematics/ng-add/index.js +515 -14
- package/schematics/ng-add/schema.json +15 -0
- package/schematics/utils/deprecated-path-migration.js +61 -0
- package/schematics/utils/package-config.js +9 -105
- package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
- package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
- package/scrollbar/native-scrollbar.scss +68 -0
- package/scrollbar/scrollbar-tokens.scss +13 -22
- package/scrollbar/scrollbar-track.scss +94 -0
- package/scrollbar/scrollbar-viewport.scss +33 -0
- package/scrollbar/scrollbar.scss +24 -0
- package/search-expandable/search-expandable-tokens.scss +4 -0
- package/search-expandable/search-expandable.scss +4 -2
- package/select/_select-theme.scss +3 -16
- package/select/select.scss +0 -6
- package/sidebar/sidebar.scss +20 -0
- package/sidepanel/_sidepanel-theme.scss +1 -1
- package/sidepanel/sidepanel-tokens.scss +7 -1
- package/sidepanel/sidepanel.scss +41 -5
- package/skeleton/skeleton-presets.scss +350 -0
- package/skeleton/skeleton-tokens.scss +127 -0
- package/skeleton/skeleton.scss +53 -45
- package/split-button/_split-button-theme.scss +4 -4
- package/split-button/split-button.scss +2 -6
- package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
- package/splitter/deprecated/splitter.scss +51 -0
- package/splitter/splitter-tokens.scss +19 -0
- package/splitter/splitter.scss +148 -28
- package/table/_table-theme.scss +13 -12
- package/table/table-tokens.scss +8 -0
- package/table/table.scss +47 -22
- package/tabs/_tabs-common.scss +14 -14
- package/tabs/_tabs-theme.scss +4 -5
- package/tabs/tab-body.scss +49 -1
- package/tabs/tab-header.scss +2 -1
- package/tags/tag-list.scss +4 -0
- package/tags/tag.scss +19 -1
- package/time-range/time-range.scss +9 -0
- package/timezone/timezone-option.component.scss +4 -7
- package/timezone/timezone-select.component.scss +3 -0
- package/toast/_toast-theme.scss +1 -4
- package/toast/toast-container.component.scss +19 -13
- package/toast/toast-tokens.scss +12 -6
- package/toast/toast.component.scss +42 -19
- package/toggle/_toggle-theme.scss +4 -10
- package/toggle/toggle.scss +67 -26
- package/tooltip/_tooltip-theme.scss +7 -1
- package/tooltip/tooltip-tokens.scss +1 -2
- package/tooltip/tooltip.scss +55 -9
- package/top-bar/top-bar-tokens.scss +13 -2
- package/top-bar/top-bar.scss +24 -19
- package/tree/_tree-theme.scss +0 -1
- package/tree/toggle.scss +5 -9
- package/tree/tree-option.scss +2 -4
- package/tree/tree-tokens.scss +2 -1
- package/tree/tree.scss +3 -5
- package/tree-select/_tree-select-theme.scss +4 -15
- package/tree-select/tree-select-tokens.scss +16 -0
- package/tree-select/tree-select.scss +0 -6
- package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
- package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
- package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
- package/types/koobiq-components-app-switcher.d.ts +406 -0
- package/types/koobiq-components-autocomplete.d.ts +443 -0
- package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
- package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
- package/types/koobiq-components-button-toggle.d.ts +340 -0
- package/types/koobiq-components-button.d.ts +296 -0
- package/types/koobiq-components-checkbox.d.ts +172 -0
- package/types/koobiq-components-clamped-text.d.ts +184 -0
- package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
- package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
- package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
- package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
- package/types/koobiq-components-divider.d.ts +43 -0
- package/types/koobiq-components-dl.d.ts +235 -0
- package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
- package/types/koobiq-components-ellipsis-center.d.ts +85 -0
- package/types/koobiq-components-empty-state.d.ts +106 -0
- package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
- package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
- package/types/koobiq-components-flag.d.ts +68 -0
- package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
- package/types/koobiq-components-icon.d.ts +333 -0
- package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
- package/types/koobiq-components-input.d.ts +477 -0
- package/types/koobiq-components-link-deprecated.d.ts +101 -0
- package/types/koobiq-components-link.d.ts +176 -0
- package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
- package/types/koobiq-components-loader-overlay.d.ts +101 -0
- package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
- package/types/koobiq-components-modal.d.ts +666 -0
- package/types/koobiq-components-navbar.d.ts +569 -0
- package/types/koobiq-components-notification-center.d.ts +500 -0
- package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
- package/types/koobiq-components-popover.d.ts +468 -0
- package/types/koobiq-components-progress-bar.d.ts +67 -0
- package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
- package/types/koobiq-components-radio.d.ts +294 -0
- package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
- package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
- package/types/koobiq-components-scrollbar.d.ts +154 -0
- package/types/koobiq-components-search-expandable.d.ts +164 -0
- package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
- package/types/koobiq-components-sidebar.d.ts +152 -0
- package/types/koobiq-components-sidepanel.d.ts +436 -0
- package/types/koobiq-components-skeleton.d.ts +234 -0
- package/types/koobiq-components-split-button.d.ts +65 -0
- package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
- package/types/koobiq-components-splitter.d.ts +406 -0
- package/types/koobiq-components-table.d.ts +44 -0
- package/types/koobiq-components-tabs.d.ts +888 -0
- package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
- package/types/koobiq-components-textarea.d.ts +178 -0
- package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
- package/types/koobiq-components-timepicker.d.ts +223 -0
- package/types/koobiq-components-timezone.d.ts +266 -0
- package/types/koobiq-components-title.d.ts +184 -0
- package/types/koobiq-components-toast.d.ts +289 -0
- package/types/koobiq-components-toggle.d.ts +121 -0
- package/types/koobiq-components-tooltip.d.ts +610 -0
- package/types/koobiq-components-top-bar.d.ts +61 -0
- package/types/koobiq-components-tree-select.d.ts +667 -0
- package/types/koobiq-components-tree.d.ts +1290 -0
- package/types/koobiq-components-username.d.ts +340 -0
- package/username/_username-theme.scss +35 -0
- package/username/username.scss +10 -34
- package/app-switcher/index.d.ts +0 -276
- package/autocomplete/index.d.ts +0 -286
- package/button/index.d.ts +0 -153
- package/button-toggle/index.d.ts +0 -162
- package/checkbox/index.d.ts +0 -163
- package/clamped-text/index.d.ts +0 -146
- package/core/styles/_tokens.scss +0 -7
- package/core/styles/common/_clearfix.scss +0 -13
- package/core/styles/common/_popup.scss +0 -6
- package/core/styles/functions/_index.scss +0 -3
- package/core/styles/functions/_number.scss +0 -60
- package/core/styles/functions/_string.scss +0 -18
- package/core/styles/theming/scrollbar-tokens.scss +0 -25
- package/core/styles/typography/_typography-utils.scss +0 -84
- package/divider/index.d.ts +0 -20
- package/dl/index.d.ts +0 -45
- package/ellipsis-center/index.d.ts +0 -71
- package/empty-state/index.d.ts +0 -45
- package/flag/index.d.ts +0 -44
- package/icon/index.d.ts +0 -200
- package/input/index.d.ts +0 -354
- package/link/index.d.ts +0 -56
- package/loader-overlay/index.d.ts +0 -57
- package/modal/index.d.ts +0 -339
- package/navbar/index.d.ts +0 -372
- package/notification-center/index.d.ts +0 -323
- package/popover/index.d.ts +0 -182
- package/prebuilt-themes/dark-theme.css +0 -1
- package/prebuilt-themes/light-theme.css +0 -1
- package/progress-bar/index.d.ts +0 -31
- package/radio/index.d.ts +0 -203
- package/search-expandable/index.d.ts +0 -101
- package/sidebar/index.d.ts +0 -94
- package/sidepanel/index.d.ts +0 -272
- package/skeleton/index.d.ts +0 -26
- package/split-button/index.d.ts +0 -46
- package/table/index.d.ts +0 -25
- package/tabs/index.d.ts +0 -677
- package/textarea/index.d.ts +0 -138
- package/timepicker/index.d.ts +0 -197
- package/timezone/index.d.ts +0 -125
- package/title/index.d.ts +0 -139
- package/toast/index.d.ts +0 -187
- package/toggle/index.d.ts +0 -104
- package/tooltip/index.d.ts +0 -335
- package/top-bar/index.d.ts +0 -33
- package/tree/index.d.ts +0 -802
- package/tree-select/index.d.ts +0 -475
- package/username/index.d.ts +0 -194
- /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
- /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
|
@@ -0,0 +1,1290 @@
|
|
|
1
|
+
import { SelectionModel, DataSource, CollectionViewer, SelectionChange } from '@angular/cdk/collections';
|
|
2
|
+
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
3
|
+
import * as _angular_core from '@angular/core';
|
|
4
|
+
import { TemplateRef, ViewContainerRef, OnDestroy, ElementRef, AfterContentChecked, AfterContentInit, OnInit, IterableDiffers, ChangeDetectorRef, TrackByFunction, Signal, IterableDiffer, DestroyRef, AfterViewInit, InjectionToken, QueryList, DoCheck, EventEmitter, Provider } from '@angular/core';
|
|
5
|
+
import * as _koobiq_components_tree from '@koobiq/components/tree';
|
|
6
|
+
import * as i1 from '@koobiq/components/core';
|
|
7
|
+
import { IFocusableOption, KbqPseudoCheckboxState, KbqTitleTextRef, KbqPseudoCheckbox, KbqOptionActionComponent, FocusKeyManager, KbqMultipleInput, MultipleMode } from '@koobiq/components/core';
|
|
8
|
+
import { FocusOrigin, FocusMonitor } from '@angular/cdk/a11y';
|
|
9
|
+
import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
|
|
10
|
+
import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
|
|
11
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
12
|
+
import * as i2 from '@koobiq/components/icon';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Tree control interface. User can implement TreeControl to expand/collapse dataNodes in the tree.
|
|
16
|
+
* The Tree will use this TreeControl to expand/collapse a node.
|
|
17
|
+
* User can also use it outside the `<kbq-tree>` to control the expansion status of the tree.
|
|
18
|
+
*/
|
|
19
|
+
interface TreeControl<T> {
|
|
20
|
+
/** The saved tree nodes data for `expandAll` action. */
|
|
21
|
+
dataNodes: T[];
|
|
22
|
+
/** The expansion model */
|
|
23
|
+
expansionModel: SelectionModel<T>;
|
|
24
|
+
filterModel: SelectionModel<T>;
|
|
25
|
+
filterValue: BehaviorSubject<T[] | string | null>;
|
|
26
|
+
/** Get depth of a given data node, return the level number. This is for flat tree node. */
|
|
27
|
+
getLevel(dataNode: T): number;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the data node is expandable. Returns true if expandable.
|
|
30
|
+
* This is for flat tree node.
|
|
31
|
+
*/
|
|
32
|
+
isExpandable(dataNode: T): boolean;
|
|
33
|
+
/** Gets a stream that emits whenever the given data node's children change. */
|
|
34
|
+
getChildren(dataNode: T): Observable<T[]>;
|
|
35
|
+
/** Whether the data node is expanded or collapsed. Return true if it's expanded. */
|
|
36
|
+
isExpanded(dataNode: T): boolean;
|
|
37
|
+
/** Get all descendants of a data node */
|
|
38
|
+
getDescendants(dataNode: T): any[];
|
|
39
|
+
/** Expand or collapse data node */
|
|
40
|
+
toggle(dataNode: T): void;
|
|
41
|
+
/** Expand one data node */
|
|
42
|
+
expand(dataNode: T): void;
|
|
43
|
+
/** Collapse one data node */
|
|
44
|
+
collapse(dataNode: T): void;
|
|
45
|
+
/** Expand all the dataNodes in the tree */
|
|
46
|
+
expandAll(): void;
|
|
47
|
+
/** Collapse all the dataNodes in the tree */
|
|
48
|
+
collapseAll(): void;
|
|
49
|
+
/** Toggle a data node by expand/collapse it and all its descendants */
|
|
50
|
+
toggleDescendants(dataNode: T): void;
|
|
51
|
+
/** Expand a data node and all its descendants */
|
|
52
|
+
expandDescendants(dataNode: T): void;
|
|
53
|
+
/** Collapse a data node and all its descendants */
|
|
54
|
+
collapseDescendants(dataNode: T): void;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */
|
|
58
|
+
declare abstract class BaseTreeControl<T> implements TreeControl<T> {
|
|
59
|
+
dataNodes: T[];
|
|
60
|
+
/** A selection model with multi-selection to track expansion status. */
|
|
61
|
+
expansionModel: SelectionModel<T>;
|
|
62
|
+
filterModel: SelectionModel<T>;
|
|
63
|
+
filterValue: BehaviorSubject<string | T[] | null>;
|
|
64
|
+
/** Get depth of a given data node, return the level number. This is for flat tree node. */
|
|
65
|
+
getLevel: (dataNode: T) => number;
|
|
66
|
+
/**
|
|
67
|
+
* Whether the data node is expandable. Returns true if expandable.
|
|
68
|
+
* This is for flat tree node.
|
|
69
|
+
*/
|
|
70
|
+
isExpandable: (dataNode: T) => boolean;
|
|
71
|
+
/** Gets a stream that emits whenever the given data node's children change. */
|
|
72
|
+
getChildren: (dataNode: T) => Observable<T[]>;
|
|
73
|
+
/** Gets a list of descendent data nodes of a subtree rooted at given data node recursively. */
|
|
74
|
+
abstract getDescendants(dataNode: T): T[];
|
|
75
|
+
/** Expands all data nodes in the tree. */
|
|
76
|
+
abstract expandAll(): void;
|
|
77
|
+
/** Toggles one single data node's expanded/collapsed state. */
|
|
78
|
+
toggle(dataNode: T): void;
|
|
79
|
+
/** Expands one single data node. */
|
|
80
|
+
expand(dataNode: T): void;
|
|
81
|
+
/** Collapses one single data node. */
|
|
82
|
+
collapse(dataNode: T): void;
|
|
83
|
+
/** Whether a given data node is expanded or not. Returns true if the data node is expanded. */
|
|
84
|
+
isExpanded(dataNode: T): boolean;
|
|
85
|
+
/** Toggles a subtree rooted at `node` recursively. */
|
|
86
|
+
toggleDescendants(dataNode: T): void;
|
|
87
|
+
/** Collapse all dataNodes in the tree. */
|
|
88
|
+
collapseAll(): void;
|
|
89
|
+
/** Expands a subtree rooted at given data node recursively. */
|
|
90
|
+
expandDescendants(dataNode: T): void;
|
|
91
|
+
/** Collapses a subtree rooted at given data node recursively. */
|
|
92
|
+
collapseDescendants(dataNode: T): void;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
declare const kbqTreeSelectAllValue = "selectAll";
|
|
96
|
+
interface FlatTreeControlFilter<T> {
|
|
97
|
+
result: T[];
|
|
98
|
+
handle(value: string | null, prevFilter?: FlatTreeControlFilter<T> | null): T[];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Default first stage of the filter pipeline: keeps the nodes whose view value matches the query.
|
|
102
|
+
*
|
|
103
|
+
* @docs-private
|
|
104
|
+
*/
|
|
105
|
+
declare class FilterByViewValue<T> implements FlatTreeControlFilter<T> {
|
|
106
|
+
private control;
|
|
107
|
+
result: T[];
|
|
108
|
+
constructor(control: FlatTreeControl<T>);
|
|
109
|
+
handle(value: string | null): T[];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Default last stage of the filter pipeline: re-adds the ancestors of every matched node so the
|
|
113
|
+
* matches stay reachable in the rendered hierarchy.
|
|
114
|
+
*
|
|
115
|
+
* @docs-private
|
|
116
|
+
*/
|
|
117
|
+
declare class FilterParentsForNodes<T> implements FlatTreeControlFilter<T> {
|
|
118
|
+
private control;
|
|
119
|
+
result: T[];
|
|
120
|
+
constructor(control: FlatTreeControl<T>);
|
|
121
|
+
handle(_: any, prevFilter: FlatTreeControlFilter<T>): T[];
|
|
122
|
+
}
|
|
123
|
+
declare class FilterByValues<T> implements FlatTreeControlFilter<T> {
|
|
124
|
+
private control;
|
|
125
|
+
result: T[];
|
|
126
|
+
private values;
|
|
127
|
+
constructor(control: FlatTreeControl<T>);
|
|
128
|
+
handle(_: any, prevFilter?: FlatTreeControlFilter<T>): T[];
|
|
129
|
+
setValues: (values: string[]) => void;
|
|
130
|
+
getValues(): string[];
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
declare function defaultCompareValues(firstValue: string, secondValue: string): boolean;
|
|
134
|
+
declare function defaultCompareViewValues(firstViewValue: string, secondViewValue: string): boolean;
|
|
135
|
+
/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */
|
|
136
|
+
declare class FlatTreeControl<T> extends BaseTreeControl<T> {
|
|
137
|
+
getLevel: (dataNode: T) => number;
|
|
138
|
+
isExpandable: (dataNode: T) => boolean;
|
|
139
|
+
/** getValue will be used to determine if the tree contains value or not. Used in method hasValue */
|
|
140
|
+
getValue: (dataNode: T) => any;
|
|
141
|
+
/** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */
|
|
142
|
+
getViewValue: (dataNode: T) => string;
|
|
143
|
+
/** compareValues will be used to comparing values. */
|
|
144
|
+
compareValues: (firstValue: any, secondValue: any) => boolean;
|
|
145
|
+
/** compareValues will be used to comparing values. */
|
|
146
|
+
compareViewValues: (firstViewValue: any, secondViewValue: any) => boolean;
|
|
147
|
+
/** isDisabled will be used to determine if the node is disabled. */
|
|
148
|
+
isDisabled: (dataNode: T) => boolean;
|
|
149
|
+
expandedItemsBeforeFiltration: T[];
|
|
150
|
+
private filters;
|
|
151
|
+
/** Construct with flat tree data node functions getLevel, isExpandable, getValue and getViewValue. */
|
|
152
|
+
constructor(getLevel: (dataNode: T) => number, isExpandable: (dataNode: T) => boolean,
|
|
153
|
+
/** getValue will be used to determine if the tree contains value or not. Used in method hasValue */
|
|
154
|
+
getValue: (dataNode: T) => any,
|
|
155
|
+
/** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */
|
|
156
|
+
getViewValue: (dataNode: T) => string,
|
|
157
|
+
/** compareValues will be used to comparing values. */
|
|
158
|
+
compareValues?: (firstValue: any, secondValue: any) => boolean,
|
|
159
|
+
/** compareValues will be used to comparing values. */
|
|
160
|
+
compareViewValues?: (firstViewValue: any, secondViewValue: any) => boolean,
|
|
161
|
+
/** isDisabled will be used to determine if the node is disabled. */
|
|
162
|
+
isDisabled?: (dataNode: T) => boolean);
|
|
163
|
+
getFilters(): FlatTreeControlFilter<T>[];
|
|
164
|
+
setFilters(...filters: FlatTreeControlFilter<T>[]): void;
|
|
165
|
+
/**
|
|
166
|
+
* Gets a list of the data node's subtree of descendent data nodes.
|
|
167
|
+
*
|
|
168
|
+
* To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes
|
|
169
|
+
* with correct levels.
|
|
170
|
+
*/
|
|
171
|
+
getDescendants(dataNode: T): T[];
|
|
172
|
+
/**
|
|
173
|
+
* Expands all data nodes in the tree.
|
|
174
|
+
*
|
|
175
|
+
* To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened
|
|
176
|
+
* data nodes of the tree.
|
|
177
|
+
*/
|
|
178
|
+
expandAll(): void;
|
|
179
|
+
/**
|
|
180
|
+
* Ancestors of a data node, outermost first.
|
|
181
|
+
*
|
|
182
|
+
* Derived from `dataNodes` rather than from a `parent` back-reference: the flattened nodes are in
|
|
183
|
+
* depth-first order, so scanning backwards from the node, the first node of a smaller level is its
|
|
184
|
+
* parent, and repeating with that level yields the whole chain. A data node whose shape carries no
|
|
185
|
+
* `parent` therefore resolves just as well as one that does.
|
|
186
|
+
*
|
|
187
|
+
* @param result Collector the ancestors are prepended to. Provided so callers can accumulate into
|
|
188
|
+
* an existing array; a fresh one is used when omitted.
|
|
189
|
+
*/
|
|
190
|
+
getParents(node: T, result?: T[]): T[];
|
|
191
|
+
hasValue(value: string): T | undefined;
|
|
192
|
+
filterNodes(value?: string | null): void;
|
|
193
|
+
private updateFilterValue;
|
|
194
|
+
private saveExpansionState;
|
|
195
|
+
private restoreExpansionState;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */
|
|
199
|
+
declare class NestedTreeControl<T> extends BaseTreeControl<T> {
|
|
200
|
+
getChildren: (dataNode: T) => Observable<T[]>;
|
|
201
|
+
/**
|
|
202
|
+
* Construct with nested tree function getChildren.
|
|
203
|
+
*
|
|
204
|
+
* @param getChildren Must emit **synchronously** (e.g. `of(children)` or a `BehaviorSubject`).
|
|
205
|
+
* `getDescendants` walks the tree with `take(1)` and returns as soon as the recursion unwinds, so
|
|
206
|
+
* an asynchronous source yields an incomplete — usually empty — descendant list.
|
|
207
|
+
*/
|
|
208
|
+
constructor(getChildren: (dataNode: T) => Observable<T[]>);
|
|
209
|
+
/**
|
|
210
|
+
* Expands all dataNodes in the tree.
|
|
211
|
+
*
|
|
212
|
+
* To make this working, the `dataNodes` variable of the TreeControl must be set to all root level
|
|
213
|
+
* data nodes of the tree.
|
|
214
|
+
*/
|
|
215
|
+
expandAll(): void;
|
|
216
|
+
/** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */
|
|
217
|
+
getDescendants(dataNode: T): T[];
|
|
218
|
+
/** A helper function to get descendants recursively. */
|
|
219
|
+
private _getDescendants;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Tree flattener to convert a normal type of node to node with children & level information.
|
|
224
|
+
* Transform nested nodes of type `T` to flattened nodes of type `F`.
|
|
225
|
+
*
|
|
226
|
+
* For example, the input data of type `T` is nested, and contains its children data:
|
|
227
|
+
*
|
|
228
|
+
* ```ts
|
|
229
|
+
* SomeNode: {
|
|
230
|
+
* key: 'Fruits',
|
|
231
|
+
* children: [
|
|
232
|
+
* NodeOne: {
|
|
233
|
+
* key: 'Apple'
|
|
234
|
+
* },
|
|
235
|
+
* NodeTwo: {
|
|
236
|
+
* key: 'Pear'
|
|
237
|
+
* }
|
|
238
|
+
* ]
|
|
239
|
+
* }
|
|
240
|
+
* ```
|
|
241
|
+
*
|
|
242
|
+
* After flattener flatten the tree, the structure will become
|
|
243
|
+
*
|
|
244
|
+
* ```ts
|
|
245
|
+
* SomeNode: {
|
|
246
|
+
* key: 'Fruits',
|
|
247
|
+
* expandable: true,
|
|
248
|
+
* level: 1
|
|
249
|
+
* },
|
|
250
|
+
* NodeOne: {
|
|
251
|
+
* key: 'Apple',
|
|
252
|
+
* expandable: false,
|
|
253
|
+
* level: 2
|
|
254
|
+
* },
|
|
255
|
+
* NodeTwo: {
|
|
256
|
+
* key: 'Pear',
|
|
257
|
+
* expandable: false,
|
|
258
|
+
* level: 2
|
|
259
|
+
* }
|
|
260
|
+
* ```
|
|
261
|
+
*
|
|
262
|
+
* and the output flattened type is `F` with additional information.
|
|
263
|
+
*/
|
|
264
|
+
declare class KbqTreeFlattener<T, F> {
|
|
265
|
+
transformFunction: (node: T, level: number, parent: F | null) => F;
|
|
266
|
+
getLevel: (node: F) => number;
|
|
267
|
+
isExpandable: (node: F) => boolean;
|
|
268
|
+
getChildren: (node: T) => Observable<T[]> | T[] | undefined | null;
|
|
269
|
+
constructor(transformFunction: (node: T, level: number, parent: F | null) => F, getLevel: (node: F) => number, isExpandable: (node: F) => boolean, getChildren: (node: T) => Observable<T[]> | T[] | undefined | null);
|
|
270
|
+
/** @docs-private */
|
|
271
|
+
flattenNode(node: T, level: number, resultNodes: F[], parent: F | null): F[];
|
|
272
|
+
/** @docs-private */
|
|
273
|
+
flattenChildren(children: T[], level: number, resultNodes: F[], parent: F | null): void;
|
|
274
|
+
/**
|
|
275
|
+
* Flatten a list of node type T to flattened version of node F.
|
|
276
|
+
* Please note that type T may be nested, and the length of `structuredData` may be different
|
|
277
|
+
* from that of returned list `F[]`.
|
|
278
|
+
*/
|
|
279
|
+
flattenNodes(structuredData: T[]): F[];
|
|
280
|
+
/**
|
|
281
|
+
* Expand flattened node with current expansion status.
|
|
282
|
+
* The returned list may have different length.
|
|
283
|
+
*/
|
|
284
|
+
expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[];
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Data source for flat tree.
|
|
288
|
+
* The data source need to handle expansion/collapsion of the tree node and change the data feed
|
|
289
|
+
* to `KbqTree`.
|
|
290
|
+
* The nested tree nodes of type `T` are flattened through `KbqTreeFlattener`, and converted
|
|
291
|
+
* to type `F` for `KbqTree` to consume.
|
|
292
|
+
*/
|
|
293
|
+
declare class KbqTreeFlatDataSource<T, F> extends DataSource<F> {
|
|
294
|
+
private treeControl;
|
|
295
|
+
private treeFlattener;
|
|
296
|
+
flattenedData: BehaviorSubject<F[]>;
|
|
297
|
+
expandedData: BehaviorSubject<F[]>;
|
|
298
|
+
filteredData: BehaviorSubject<F[]>;
|
|
299
|
+
get data(): T[];
|
|
300
|
+
set data(value: T[]);
|
|
301
|
+
private readonly _data;
|
|
302
|
+
constructor(treeControl: FlatTreeControl<F>, treeFlattener: KbqTreeFlattener<T, F>, initialData?: T[]);
|
|
303
|
+
connect(collectionViewer: CollectionViewer): Observable<F[]>;
|
|
304
|
+
filterHandler(): F[];
|
|
305
|
+
expansionHandler(_change: SelectionChange<F>): F[];
|
|
306
|
+
disconnect(): void;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Data source for nested tree.
|
|
311
|
+
*
|
|
312
|
+
* The data source for nested tree doesn't have to consider node flattener, or the way to expand
|
|
313
|
+
* or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.
|
|
314
|
+
*/
|
|
315
|
+
declare class KbqTreeNestedDataSource<T> extends DataSource<T> {
|
|
316
|
+
get data(): T[];
|
|
317
|
+
set data(value: T[]);
|
|
318
|
+
private _data;
|
|
319
|
+
connect(collectionViewer: CollectionViewer): Observable<T[]>;
|
|
320
|
+
disconnect(): void;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/** Context provided to the tree node component. */
|
|
324
|
+
declare class KbqTreeNodeOutletContext<T> {
|
|
325
|
+
/** Data for the node. */
|
|
326
|
+
$implicit: T;
|
|
327
|
+
/** Depth of the node. */
|
|
328
|
+
level: number;
|
|
329
|
+
/** Index location of the node. */
|
|
330
|
+
index?: number;
|
|
331
|
+
/** Length of the number of total dataNodes. */
|
|
332
|
+
count?: number;
|
|
333
|
+
constructor(data: T);
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Data node definition for the KbqTree.
|
|
337
|
+
* Captures the node's template and a when predicate that describes when this node should be used.
|
|
338
|
+
*/
|
|
339
|
+
declare class KbqTreeNodeDef<T> {
|
|
340
|
+
template: TemplateRef<any>;
|
|
341
|
+
readonly data: _angular_core.InputSignal<T>;
|
|
342
|
+
/**
|
|
343
|
+
* Function that should return true if this node template should be used for the provided node
|
|
344
|
+
* data and index. If left undefined, this node will be considered the default node template to
|
|
345
|
+
* use when no other when functions return true for the data.
|
|
346
|
+
* For every node, there must be at least one when function that passes or an undefined to
|
|
347
|
+
* default.
|
|
348
|
+
*/
|
|
349
|
+
when: (index: number, nodeData: T) => boolean;
|
|
350
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeDef<any>, never>;
|
|
351
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodeDef<any>, "[kbqTreeNodeDef]", never, { "when": { "alias": "kbqTreeNodeDefWhen"; "required": false; }; "data": { "alias": "kbqTreeNode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
declare class KbqTreeNodeOutlet {
|
|
355
|
+
viewContainer: ViewContainerRef;
|
|
356
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeOutlet, never>;
|
|
357
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodeOutlet, "[kbqTreeNodeOutlet]", never, {}, {}, never, never, true, never>;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/** The persisted state of a tree — the values of the nodes that were expanded. */
|
|
361
|
+
type KbqTreeState = string[];
|
|
362
|
+
/**
|
|
363
|
+
* Rendering core of the tree.
|
|
364
|
+
*
|
|
365
|
+
* Originally forked from `@angular/cdk/tree` and maintained independently since: the node/outlet
|
|
366
|
+
* contract, the option-based selection model and the filtering pipeline have all diverged, so
|
|
367
|
+
* `@angular/cdk/tree` is deliberately not a dependency of this package and upstream fixes have to be
|
|
368
|
+
* ported by hand.
|
|
369
|
+
*
|
|
370
|
+
* `C` narrows the tree control a concrete tree accepts, and so the type its `treeControl` binding is checked against.
|
|
371
|
+
*/
|
|
372
|
+
declare class KbqTreeBase<T, C extends TreeControl<T> = TreeControl<T>> implements AfterContentChecked, AfterContentInit, CollectionViewer, OnDestroy, OnInit {
|
|
373
|
+
protected differs: IterableDiffers;
|
|
374
|
+
protected changeDetectorRef: ChangeDetectorRef;
|
|
375
|
+
/**
|
|
376
|
+
* Persistence of the expanded state, applied as a host directive by the concrete tree components.
|
|
377
|
+
* Optional because `KbqTreeBase` is exported: a tree without the directive persists nothing.
|
|
378
|
+
*/
|
|
379
|
+
private readonly stateSaving;
|
|
380
|
+
/** @docs-private */
|
|
381
|
+
readonly treeControlInput: _angular_core.InputSignal<C>;
|
|
382
|
+
/** Controls the expanded state and holds the data nodes of the tree. */
|
|
383
|
+
get treeControl(): C;
|
|
384
|
+
/** {@link treeControl} as state saving reads it: by node value, which only a `FlatTreeControl` has. */
|
|
385
|
+
private get flatTreeControl();
|
|
386
|
+
/**
|
|
387
|
+
* Tracking function that will be used to check the differences in data changes. Used similarly
|
|
388
|
+
* to `ngFor` `trackBy` function. Optimize node operations by identifying a node based on its data
|
|
389
|
+
* relative to the function to know if a node should be added/removed/moved.
|
|
390
|
+
* Accepts a function that takes two parameters, `index` and `item`.
|
|
391
|
+
*
|
|
392
|
+
* Views are reused for nodes the function reports as unchanged, which a data source that rebuilds
|
|
393
|
+
* its node objects on every emission — a flattener among them — otherwise cannot get.
|
|
394
|
+
*/
|
|
395
|
+
readonly trackBy: _angular_core.InputSignal<TrackByFunction<T>>;
|
|
396
|
+
private readonly nodeOutletQuery;
|
|
397
|
+
/** Outlet within the tree's template where the data nodes are inserted. */
|
|
398
|
+
get nodeOutlet(): KbqTreeNodeOutlet;
|
|
399
|
+
/** The tree node template for the tree */
|
|
400
|
+
readonly nodeDefs: Signal<readonly KbqTreeNodeDef<T>[]>;
|
|
401
|
+
/**
|
|
402
|
+
* Stream containing the latest information on what rows are being displayed on screen.
|
|
403
|
+
* Can be used by the data source to as a heuristic of what data should be provided.
|
|
404
|
+
*
|
|
405
|
+
* The tree renders every expanded node eagerly, so the window is the whole data set; a data source
|
|
406
|
+
* cannot use it to page or virtualize. Windowing would have to emit a real range from a scroll
|
|
407
|
+
* listener here first.
|
|
408
|
+
*/
|
|
409
|
+
viewChange: BehaviorSubject<{
|
|
410
|
+
start: number;
|
|
411
|
+
end: number;
|
|
412
|
+
}>;
|
|
413
|
+
/** Differ used to find the changes in the data provided by the data source. */
|
|
414
|
+
protected dataDiffer: IterableDiffer<T>;
|
|
415
|
+
/** Stores the node definition that does not have a when predicate. */
|
|
416
|
+
private defaultNodeDef;
|
|
417
|
+
/** Data subscription */
|
|
418
|
+
private dataSubscription;
|
|
419
|
+
/** Level of nodes */
|
|
420
|
+
private levels;
|
|
421
|
+
/** Most recently constructed node of this tree, see `registerNode`. */
|
|
422
|
+
private recentNode;
|
|
423
|
+
/** Node rendered for a given outlet context, so a reused view can be handed its new data. */
|
|
424
|
+
private readonly nodesByContext;
|
|
425
|
+
/**
|
|
426
|
+
* Values from the persisted state whose node has not appeared in `treeControl.dataNodes` yet —
|
|
427
|
+
* applied as the nodes show up, and dropped the first time each node is seen.
|
|
428
|
+
*/
|
|
429
|
+
private pendingValues;
|
|
430
|
+
/** The `dataNodes` the last restore ran against, so an unchanged list is not walked again. */
|
|
431
|
+
private lastRestoredDataNodes;
|
|
432
|
+
/**
|
|
433
|
+
* Whether the persisted state has been read. `KbqTreeSelect` calls `ngAfterContentInit()` by hand on
|
|
434
|
+
* the tree it projects into its panel, and a second read would resurrect values the user dismissed.
|
|
435
|
+
*/
|
|
436
|
+
private hasRead;
|
|
437
|
+
/** Whether the dev-mode warnings below have already been logged, so each is logged once. */
|
|
438
|
+
private warnedAboutTreeControl;
|
|
439
|
+
private warnedAboutValues;
|
|
440
|
+
/** @docs-private */
|
|
441
|
+
readonly dataSourceInput: _angular_core.InputSignal<DataSource<T> | T[] | Observable<T[]> | null | undefined>;
|
|
442
|
+
/**
|
|
443
|
+
* Provides a stream containing the latest data array to render. Influenced by the tree's
|
|
444
|
+
* stream of view window (what dataNodes are currently on screen).
|
|
445
|
+
* Data source can be an observable of data array, or a data array to render.
|
|
446
|
+
*/
|
|
447
|
+
get dataSource(): DataSource<T> | Observable<T[]> | T[] | null;
|
|
448
|
+
private _dataSource;
|
|
449
|
+
constructor();
|
|
450
|
+
protected readonly destroyRef: DestroyRef;
|
|
451
|
+
/** Whether `ngAfterContentChecked` has run, i.e. the node definitions the first render needs are resolved. */
|
|
452
|
+
private contentChecked;
|
|
453
|
+
ngOnInit(): void;
|
|
454
|
+
ngAfterContentInit(): void;
|
|
455
|
+
/** Reads the persisted expansion and applies it. Runs while initializing, and again on a key change. */
|
|
456
|
+
private restoreState;
|
|
457
|
+
ngOnDestroy(): void;
|
|
458
|
+
ngAfterContentChecked(): void;
|
|
459
|
+
/**
|
|
460
|
+
* Persists the values of the currently expanded nodes.
|
|
461
|
+
*
|
|
462
|
+
* Called for every expansion and collapse a user performs. Expansion driven by the application —
|
|
463
|
+
* `treeControl.expandAll()`, or writing to `expansionModel` — is not persisted; call this to record it.
|
|
464
|
+
*
|
|
465
|
+
* A no-op while a filter is active: what is expanded then is the result set, not a chosen state.
|
|
466
|
+
*/
|
|
467
|
+
saveState(): void;
|
|
468
|
+
/**
|
|
469
|
+
* Removes the state persisted for this tree.
|
|
470
|
+
*
|
|
471
|
+
* Persistence itself stays on — the next expansion is written again.
|
|
472
|
+
*/
|
|
473
|
+
clearSavedState(): void;
|
|
474
|
+
/**
|
|
475
|
+
* Whether state is currently persisted for this tree — restored on init, or written since.
|
|
476
|
+
* Always `false` while `useStateSaving` is unset, and `false` again after `clearSavedState()`.
|
|
477
|
+
*/
|
|
478
|
+
get hasSavedState(): boolean;
|
|
479
|
+
/** Check for changes made in the data and render each change (node added/removed/moved). */
|
|
480
|
+
renderNodeChanges(data: T[] | ReadonlyArray<T>, dataDiffer?: IterableDiffer<T>, viewContainer?: ViewContainerRef, parentData?: T): void;
|
|
481
|
+
/**
|
|
482
|
+
* Applies the data changes to the view container without running change detection, and reports
|
|
483
|
+
* whether anything moved. Split out of `renderNodeChanges` so a subclass can update the state its
|
|
484
|
+
* own template reads before the single change-detection pass, instead of running a second one.
|
|
485
|
+
*
|
|
486
|
+
* @docs-private
|
|
487
|
+
*/
|
|
488
|
+
protected applyNodeChanges(data: T[] | ReadonlyArray<T>, dataDiffer: IterableDiffer<T>, viewContainer: ViewContainerRef, parentData?: T): boolean;
|
|
489
|
+
private refreshNodeData;
|
|
490
|
+
/**
|
|
491
|
+
* Finds the matching node definition that should be used for this node data. If there is only
|
|
492
|
+
* one node definition, it is returned. Otherwise, find the node definition that has a when
|
|
493
|
+
* predicate that returns true with the data. If none return true, return the default node
|
|
494
|
+
* definition.
|
|
495
|
+
*/
|
|
496
|
+
getNodeDef(data: T, i: number): KbqTreeNodeDef<T>;
|
|
497
|
+
/**
|
|
498
|
+
* Create the embedded view for the data node template and place it in the correct index location
|
|
499
|
+
* within the data node view container.
|
|
500
|
+
*/
|
|
501
|
+
insertNode(nodeData: T, index: number, viewContainer?: ViewContainerRef, parentData?: T): void;
|
|
502
|
+
/**
|
|
503
|
+
* Called by a `KbqTreeNode` while it is being constructed, so `insertNode` can hand it its data.
|
|
504
|
+
*
|
|
505
|
+
* @docs-private
|
|
506
|
+
*/
|
|
507
|
+
registerNode(node: KbqTreeNode<T>): void;
|
|
508
|
+
/** Whether this tree reads and writes its expanded state at all. */
|
|
509
|
+
private get persists();
|
|
510
|
+
/**
|
|
511
|
+
* Expands every pending value whose node is present, and stops tracking it.
|
|
512
|
+
*
|
|
513
|
+
* Idempotent, and safe to call on every render: the pending set only shrinks, so a tree that has
|
|
514
|
+
* restored everything does no work at all.
|
|
515
|
+
*/
|
|
516
|
+
private restorePending;
|
|
517
|
+
/** The values of the nodes that are currently expanded, plus the ones still waiting to appear. */
|
|
518
|
+
private expandedValues;
|
|
519
|
+
/** Set up a subscription for the data provided by the data source. */
|
|
520
|
+
private observeRenderChanges;
|
|
521
|
+
/**
|
|
522
|
+
* Switch to the provided data source by resetting the data and unsubscribing from the current
|
|
523
|
+
* render change subscription if one exists. If the data source is null, interpret this by
|
|
524
|
+
* clearing the node outlet. Otherwise start listening for new data.
|
|
525
|
+
*/
|
|
526
|
+
private switchDataSource;
|
|
527
|
+
private createDataDiffer;
|
|
528
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeBase<any, any>, never>;
|
|
529
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeBase<any, any>, never, never, { "treeControlInput": { "alias": "treeControl"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "dataSourceInput": { "alias": "dataSource"; "required": false; "isSignal": true; }; }, {}, ["nodeDefs"], never, true, never>;
|
|
530
|
+
}
|
|
531
|
+
declare class KbqTreeNode<T> implements IFocusableOption, OnDestroy {
|
|
532
|
+
protected elementRef: ElementRef<HTMLElement>;
|
|
533
|
+
tree: KbqTreeBase<T, TreeControl<T>>;
|
|
534
|
+
/**
|
|
535
|
+
* The most recently created `KbqTreeNode`, across every tree on the page.
|
|
536
|
+
*
|
|
537
|
+
* @deprecated Kept for backwards compatibility only — the tree hands a node its data through
|
|
538
|
+
* `KbqTreeBase.registerNode`, which is scoped to the tree that owns the node. Will be removed in 22.0.0.
|
|
539
|
+
*/
|
|
540
|
+
static mostRecentTreeNode: KbqTreeNode<any> | null;
|
|
541
|
+
protected destroyed: Subject<void>;
|
|
542
|
+
/**
|
|
543
|
+
* Emits after the tree reused this node's view for a different data object, so a directive on the
|
|
544
|
+
* same element can re-derive what it computed from the previous one.
|
|
545
|
+
*
|
|
546
|
+
* @docs-private
|
|
547
|
+
*/
|
|
548
|
+
readonly refreshed: Subject<void>;
|
|
549
|
+
get data(): T;
|
|
550
|
+
set data(value: T);
|
|
551
|
+
private _data;
|
|
552
|
+
get isExpanded(): boolean;
|
|
553
|
+
get level(): number;
|
|
554
|
+
constructor();
|
|
555
|
+
ngOnDestroy(): void;
|
|
556
|
+
/**
|
|
557
|
+
* Called by the tree once `data` has been replaced on a reused view. State a subclass derived from
|
|
558
|
+
* the previous node — its value, its level — is stale at this point and has to be recomputed.
|
|
559
|
+
*
|
|
560
|
+
* @docs-private
|
|
561
|
+
*/
|
|
562
|
+
refresh(): void;
|
|
563
|
+
focus(): void;
|
|
564
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNode<any>, never>;
|
|
565
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNode<any>, "kbq-tree-node", ["kbqTreeNode"], {}, {}, never, never, true, never>;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
declare class KbqTreeNodePadding<T> implements AfterViewInit {
|
|
569
|
+
protected treeNode: KbqTreeNode<T>;
|
|
570
|
+
protected tree: KbqTreeBase<T, _koobiq_components_tree.TreeControl<T>>;
|
|
571
|
+
private renderer;
|
|
572
|
+
private element;
|
|
573
|
+
private option;
|
|
574
|
+
private dir;
|
|
575
|
+
get level(): number;
|
|
576
|
+
set level(value: number);
|
|
577
|
+
private _level;
|
|
578
|
+
/** Indentation added per nesting level. Accepts a bare number (px) or a value with CSS units. */
|
|
579
|
+
readonly indent: _angular_core.InputSignal<string | number>;
|
|
580
|
+
private readonly parsedIndent;
|
|
581
|
+
get leftPadding(): number;
|
|
582
|
+
get leftPaddingForFirstLevel(): number;
|
|
583
|
+
/** CSS units used for the indentation value. */
|
|
584
|
+
get indentUnits(): string;
|
|
585
|
+
withIcon: boolean;
|
|
586
|
+
/**
|
|
587
|
+
* Horizontal room a toggle takes up in a row: its own 16px box plus the option's 8px `gap`. A node
|
|
588
|
+
* without a toggle reserves the same amount so its content lines up with a sibling that has one —
|
|
589
|
+
* which is why widening the toggle itself pushes every branch row out of line.
|
|
590
|
+
*/
|
|
591
|
+
iconWidth: number;
|
|
592
|
+
constructor();
|
|
593
|
+
ngAfterViewInit(): void;
|
|
594
|
+
paddingIndent(): string | null;
|
|
595
|
+
/**
|
|
596
|
+
* This has been extracted to a util because of TS 4 and VE.
|
|
597
|
+
* View Engine doesn't support property rename inheritance.
|
|
598
|
+
* TS 4.0 doesn't allow properties to override accessors or vice-versa.
|
|
599
|
+
*/
|
|
600
|
+
private setLevelInput;
|
|
601
|
+
private setPadding;
|
|
602
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodePadding<any>, never>;
|
|
603
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodePadding<any>, "[kbqTreeNodePadding]", ["kbqTreeNodePadding"], { "indent": { "alias": "kbqTreeNodePaddingIndent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
/** @docs-private */
|
|
607
|
+
declare class KbqTreeNodeToggleBaseDirective<T> {
|
|
608
|
+
private tree;
|
|
609
|
+
private treeNode;
|
|
610
|
+
readonly node: _angular_core.InputSignal<T>;
|
|
611
|
+
/** Whether toggling expands or collapses the whole subtree instead of the node alone. */
|
|
612
|
+
readonly recursive: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
613
|
+
/**
|
|
614
|
+
* Backing input of `disabled`. Bind through the `disabled` attribute; read the `disabled` getter,
|
|
615
|
+
* which also reports the toggle disabled while a filter is active.
|
|
616
|
+
*
|
|
617
|
+
* @docs-private
|
|
618
|
+
*/
|
|
619
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
620
|
+
/** Set while a filter is active: filtering already decides what is expanded. */
|
|
621
|
+
private readonly filterDisabled;
|
|
622
|
+
private readonly disabledState;
|
|
623
|
+
get disabled(): boolean;
|
|
624
|
+
get iconState(): boolean;
|
|
625
|
+
toggle(event: Event): void;
|
|
626
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeToggleBaseDirective<any>, never>;
|
|
627
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodeToggleBaseDirective<any>, never, never, { "node": { "alias": "node"; "required": false; "isSignal": true; }; "recursive": { "alias": "kbqTreeNodeToggleRecursive"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
628
|
+
}
|
|
629
|
+
declare class KbqTreeNodeToggleComponent<T> extends KbqTreeNodeToggleBaseDirective<T> {
|
|
630
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeToggleComponent<any>, never>;
|
|
631
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeNodeToggleComponent<any>, "kbq-tree-node-toggle", ["kbqTreeNodeToggle"], {}, {}, never, ["*"], true, never>;
|
|
632
|
+
}
|
|
633
|
+
declare class KbqTreeNodeToggleDirective<T> extends KbqTreeNodeToggleBaseDirective<T> {
|
|
634
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeNodeToggleDirective<any>, never>;
|
|
635
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeNodeToggleDirective<any>, "[kbq-tree-node-toggle], [kbqTreeNodeToggle]", ["kbqTreeNodeToggle"], {}, {}, never, never, true, never>;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
declare class KbqTree extends KbqTreeBase<any> {
|
|
639
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTree, never>;
|
|
640
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTree, "kbq-tree", ["kbqTree"], {}, {}, never, never, true, [{ directive: typeof i1.KbqStateSaving; inputs: { "useStateSaving": "useStateSaving"; "stateSavingKey": "stateSavingKey"; }; outputs: {}; }]>;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
interface KbqTreeOptionEvent {
|
|
644
|
+
option: KbqTreeOption;
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* The part of the tree an option talks to.
|
|
648
|
+
*
|
|
649
|
+
* Declared as an interface rather than as `KbqTreeSelection` so the token stays free of a circular
|
|
650
|
+
* import, and so anything embedding options only has to provide these members.
|
|
651
|
+
*/
|
|
652
|
+
interface KbqTreeOptionParent<T = any> {
|
|
653
|
+
/** Whether the whole tree is disabled. */
|
|
654
|
+
disabled: boolean;
|
|
655
|
+
/** Whether more than one option can be selected at a time. */
|
|
656
|
+
multiple: boolean;
|
|
657
|
+
/** Whether the options render a checkbox. */
|
|
658
|
+
showCheckbox: boolean;
|
|
659
|
+
/** Whether the tree is rendered inside a select panel, which makes hovering an option focus it. */
|
|
660
|
+
inSelect: boolean;
|
|
661
|
+
/** Whether an option keeps focus while the tree loses it, as a select with a search field needs. */
|
|
662
|
+
optionShouldHoldFocusOnBlur: boolean;
|
|
663
|
+
/** State of the tree-level "select all" checkbox. */
|
|
664
|
+
selectAllState: KbqPseudoCheckboxState;
|
|
665
|
+
treeControl: FlatTreeControl<T>;
|
|
666
|
+
selectionModel: SelectionModel<T>;
|
|
667
|
+
unorderedOptions: QueryList<KbqTreeOption<T>>;
|
|
668
|
+
setSelectedOptionsByClick(option: KbqTreeOption<T>, shiftKey: boolean, ctrlKey: boolean): void;
|
|
669
|
+
}
|
|
670
|
+
/** Injection token used to provide the parent component to options. */
|
|
671
|
+
declare const KBQ_TREE_OPTION_PARENT_COMPONENT: InjectionToken<KbqTreeOptionParent>;
|
|
672
|
+
/** Represents a change event for a tree option. */
|
|
673
|
+
declare class KbqTreeOptionChange {
|
|
674
|
+
/** The tree option that has been modified or selected. */
|
|
675
|
+
source: KbqTreeOption;
|
|
676
|
+
constructor(
|
|
677
|
+
/** The tree option that has been modified or selected. */
|
|
678
|
+
source: KbqTreeOption);
|
|
679
|
+
}
|
|
680
|
+
declare class KbqTreeOption<T = any> extends KbqTreeNode<T> implements AfterContentInit, DoCheck, KbqTitleTextRef {
|
|
681
|
+
private changeDetectorRef;
|
|
682
|
+
private readonly environmentInjector;
|
|
683
|
+
private readonly destroyRef;
|
|
684
|
+
tree: KbqTreeOptionParent<T> & KbqTreeBase<T>;
|
|
685
|
+
private readonly focusEvents;
|
|
686
|
+
private readonly blurEvents;
|
|
687
|
+
/** Emits when the option takes focus. */
|
|
688
|
+
readonly onFocus: Observable<KbqTreeOptionEvent>;
|
|
689
|
+
/** Emits when the option loses focus. */
|
|
690
|
+
readonly onBlur: Observable<KbqTreeOptionEvent>;
|
|
691
|
+
preventBlur: boolean;
|
|
692
|
+
private readonly titleContainer;
|
|
693
|
+
/** Container of the option text, measured by `kbq-title`. */
|
|
694
|
+
get parentTextElement(): ElementRef<HTMLElement> | undefined;
|
|
695
|
+
get textElement(): ElementRef<HTMLElement> | undefined;
|
|
696
|
+
readonly toggleElementDirective: _angular_core.Signal<KbqTreeNodeToggleDirective<any> | undefined>;
|
|
697
|
+
readonly toggleElementComponent: _angular_core.Signal<KbqTreeNodeToggleComponent<any> | undefined>;
|
|
698
|
+
readonly pseudoCheckbox: _angular_core.Signal<KbqPseudoCheckbox | undefined>;
|
|
699
|
+
readonly actionButton: _angular_core.Signal<KbqOptionActionComponent | undefined>;
|
|
700
|
+
private readonly tooltipTriggerQuery;
|
|
701
|
+
private readonly dropdownTriggerQuery;
|
|
702
|
+
/** Tooltip trigger projected into the option. */
|
|
703
|
+
get tooltipTrigger(): KbqTooltipTrigger | undefined;
|
|
704
|
+
/** Dropdown trigger projected into the option. */
|
|
705
|
+
get dropdownTrigger(): KbqDropdownTrigger | undefined;
|
|
706
|
+
readonly checkboxThirdState: _angular_core.InputSignal<boolean>;
|
|
707
|
+
get externalPseudoCheckbox(): boolean;
|
|
708
|
+
get value(): any;
|
|
709
|
+
set value(value: any);
|
|
710
|
+
private _value;
|
|
711
|
+
/** @docs-private */
|
|
712
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
|
|
713
|
+
/** Whether the option is disabled: through its own input, the tree, or the tree control's `isDisabled`. */
|
|
714
|
+
get disabled(): boolean;
|
|
715
|
+
/**
|
|
716
|
+
* `disabled` as of the last check, which the host bindings read: the tree control's `isDisabled` predicate gives
|
|
717
|
+
* no notice of a change and may be costly, so a check asks it once.
|
|
718
|
+
*/
|
|
719
|
+
protected checkedDisabled: boolean;
|
|
720
|
+
/**
|
|
721
|
+
* What the tree control's `isDisabled` and `isExpandable` say about the row. Derived, so a predicate reading a
|
|
722
|
+
* signal brings the row back once that signal changes; `ngDoCheck` sets it on every check for one reading plain
|
|
723
|
+
* state. Read by a single host binding, see `ariaExpanded`.
|
|
724
|
+
*/
|
|
725
|
+
private readonly predicates;
|
|
726
|
+
private checkedAriaSelected;
|
|
727
|
+
private checkedSelectAllState;
|
|
728
|
+
private checkedCheckboxRow;
|
|
729
|
+
/**
|
|
730
|
+
* Whether the option can be selected by user interaction (click, keyboard, select all).
|
|
731
|
+
* A non-selectable option remains focusable, navigable and expandable.
|
|
732
|
+
* Programmatic selection (`setSelected`, `select`, value accessor) is not affected.
|
|
733
|
+
* Options that are not rendered (e.g. collapsed) are not checked by "select all".
|
|
734
|
+
*/
|
|
735
|
+
readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
736
|
+
/**
|
|
737
|
+
* Whether this option is the tree's "select all" row rather than a rendered data node.
|
|
738
|
+
*
|
|
739
|
+
* Such a row has no `data`, so everything that would resolve the option against the tree control
|
|
740
|
+
* (`getValue`, `isDisabled`, `isExpandable`, descendants) is skipped — those accessors belong to the
|
|
741
|
+
* consumer and must never be handed a node their data source has never seen. Its checkbox state and
|
|
742
|
+
* selection are driven from the outside instead.
|
|
743
|
+
*
|
|
744
|
+
* @docs-private
|
|
745
|
+
*/
|
|
746
|
+
readonly selectAllRow: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
747
|
+
/** @docs-private */
|
|
748
|
+
readonly showCheckboxInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
|
|
749
|
+
/** Whether the option renders a pseudo-checkbox. Falls back to the tree's own mode until bound. */
|
|
750
|
+
get showCheckbox(): boolean;
|
|
751
|
+
/** Emits whenever the selected state of the option changes. */
|
|
752
|
+
readonly selectionChange: _angular_core.OutputEmitterRef<KbqTreeOptionChange>;
|
|
753
|
+
/** @deprecated Use `selectionChange` instead. Will be removed in 22.0.0. */
|
|
754
|
+
readonly onSelectionChange: _angular_core.OutputEmitterRef<KbqTreeOptionChange>;
|
|
755
|
+
readonly userInteraction: EventEmitter<void>;
|
|
756
|
+
get selected(): boolean;
|
|
757
|
+
set selected(value: boolean);
|
|
758
|
+
private readonly selectedState;
|
|
759
|
+
get id(): string;
|
|
760
|
+
private _id;
|
|
761
|
+
get viewValue(): string;
|
|
762
|
+
get hasFocus(): boolean;
|
|
763
|
+
set hasFocus(value: boolean);
|
|
764
|
+
private readonly focused;
|
|
765
|
+
get isExpandable(): boolean;
|
|
766
|
+
/** The "select all" row sits above the tree at root depth; `getLevel` has no node to resolve for it. */
|
|
767
|
+
get level(): number;
|
|
768
|
+
get toggleElement(): KbqTreeNodeToggleBaseDirective<T> | undefined;
|
|
769
|
+
get isToggleInDefaultPlace(): boolean;
|
|
770
|
+
get checkboxState(): KbqPseudoCheckboxState;
|
|
771
|
+
set checkboxState(value: KbqPseudoCheckboxState);
|
|
772
|
+
private readonly checkbox;
|
|
773
|
+
/**
|
|
774
|
+
* `aria-expanded` of the row as of the last check, reported for every branch and omitted on a leaf.
|
|
775
|
+
*
|
|
776
|
+
* Deliberately not `isExpandable`, which also asks whether the toggle is operable: filtering
|
|
777
|
+
* disables every toggle while leaving the matched branches expanded, and a branch that stops
|
|
778
|
+
* reporting `aria-expanded` is announced as a leaf while its children are on screen.
|
|
779
|
+
*/
|
|
780
|
+
protected get ariaExpanded(): boolean | null;
|
|
781
|
+
/**
|
|
782
|
+
* `aria-checked` of the row: tri-state for a checkbox option, and the "select all" state for the
|
|
783
|
+
* row that drives it. `null` for a plain option, which reports `aria-selected` instead.
|
|
784
|
+
*/
|
|
785
|
+
protected get ariaChecked(): string | null;
|
|
786
|
+
/** `aria-selected` of the row as of the last check. Options with a checkbox report `aria-checked` instead. */
|
|
787
|
+
protected get ariaSelected(): boolean | null;
|
|
788
|
+
constructor();
|
|
789
|
+
ngDoCheck(): void;
|
|
790
|
+
ngAfterContentInit(): void;
|
|
791
|
+
/**
|
|
792
|
+
* The value and the checkbox state were derived from the node this view held before it was reused,
|
|
793
|
+
* and `ngAfterContentInit` does not run again. A stale `value` drops the row out of the tree's
|
|
794
|
+
* `renderedOptions`, so it renders but can no longer be focused, selected or copied.
|
|
795
|
+
*
|
|
796
|
+
* @docs-private
|
|
797
|
+
*/
|
|
798
|
+
refresh(): void;
|
|
799
|
+
descendantsAllSelected(): boolean;
|
|
800
|
+
descendantsPartiallySelected(): boolean;
|
|
801
|
+
updateParentsCheckboxState(node: T): void;
|
|
802
|
+
updateCheckboxState: () => void;
|
|
803
|
+
toggle(): void;
|
|
804
|
+
setSelected(selected: boolean): void;
|
|
805
|
+
focus(focusOrigin?: FocusOrigin): void;
|
|
806
|
+
blur(): void;
|
|
807
|
+
/** @docs-private */
|
|
808
|
+
getHeight(): number;
|
|
809
|
+
/**
|
|
810
|
+
* Label the key manager's type-ahead matches against.
|
|
811
|
+
*
|
|
812
|
+
* The "select all" row is navigable but is not a data node, and its label is a localized phrase —
|
|
813
|
+
* answering type-ahead with it would hijack every query starting with that letter.
|
|
814
|
+
*
|
|
815
|
+
* @docs-private
|
|
816
|
+
*/
|
|
817
|
+
getLabel(): string;
|
|
818
|
+
select(setFocus?: boolean): void;
|
|
819
|
+
deselect(): void;
|
|
820
|
+
onKeydown($event: any): void;
|
|
821
|
+
selectViaInteraction($event?: KeyboardEvent | MouseEvent): void;
|
|
822
|
+
emitSelectionChangeEvent(): void;
|
|
823
|
+
getHostElement(): HTMLElement;
|
|
824
|
+
markForCheck(): void;
|
|
825
|
+
/** @docs-private */
|
|
826
|
+
protected onMouseenter(): void;
|
|
827
|
+
/** Recomputes the option's own checkbox state, leaving its ancestors as they are. */
|
|
828
|
+
private syncCheckboxState;
|
|
829
|
+
private toAriaChecked;
|
|
830
|
+
private resolvePredicates;
|
|
831
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeOption<any>, never>;
|
|
832
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeOption<any>, "kbq-tree-option", ["kbqTreeOption"], { "checkboxThirdState": { "alias": "checkboxThirdState"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectAllRow": { "alias": "selectAllRow"; "required": false; "isSignal": true; }; "showCheckboxInput": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "onSelectionChange": "onSelectionChange"; }, ["toggleElementDirective", "toggleElementComponent", "pseudoCheckbox", "actionButton", "tooltipTriggerQuery", "dropdownTriggerQuery"], ["kbq-tree-node-toggle, [kbq-tree-node-toggle], [kbqTreeNodeToggle]", "kbq-pseudo-checkbox", "kbq-checkbox", "[kbq-icon]", "kbq-progress-spinner", "*", "kbq-option-action"], true, never>;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
declare const KBQ_SELECTION_TREE_VALUE_ACCESSOR: Provider;
|
|
836
|
+
declare class KbqTreeSelectAllEvent<T, N = any> {
|
|
837
|
+
source: KbqTreeSelection<N>;
|
|
838
|
+
options: T[];
|
|
839
|
+
constructor(source: KbqTreeSelection<N>, options: T[]);
|
|
840
|
+
}
|
|
841
|
+
/**
|
|
842
|
+
* Event class that occurs when copying an item from the KbqTreeSelection.
|
|
843
|
+
* Used to pass data about the copied item and copy context.
|
|
844
|
+
*
|
|
845
|
+
* @param source - instance of KbqTreeSelection
|
|
846
|
+
* @param option - instance of KbqTreeOption
|
|
847
|
+
* @param event - original keyboard event (optional) that triggered the copy
|
|
848
|
+
*/
|
|
849
|
+
declare class KbqTreeCopyEvent<T, N = any> {
|
|
850
|
+
source: KbqTreeSelection<N>;
|
|
851
|
+
option: T;
|
|
852
|
+
event?: KeyboardEvent | undefined;
|
|
853
|
+
constructor(source: KbqTreeSelection<N>, option: T, event?: KeyboardEvent | undefined);
|
|
854
|
+
}
|
|
855
|
+
declare class KbqTreeNavigationChange<T, N = any> {
|
|
856
|
+
source: KbqTreeSelection<N>;
|
|
857
|
+
option: T;
|
|
858
|
+
constructor(source: KbqTreeSelection<N>, option: T);
|
|
859
|
+
}
|
|
860
|
+
declare class KbqTreeSelectionChange<T, N = any> {
|
|
861
|
+
source: KbqTreeSelection<N>;
|
|
862
|
+
option: T;
|
|
863
|
+
options?: T[] | undefined;
|
|
864
|
+
constructor(source: KbqTreeSelection<N>, option: T, options?: T[] | undefined);
|
|
865
|
+
}
|
|
866
|
+
declare class KbqTreeSelection<T = any> extends KbqTreeBase<T, FlatTreeControl<T>> implements ControlValueAccessor, AfterContentInit, AfterViewInit, OnDestroy {
|
|
867
|
+
private elementRef;
|
|
868
|
+
private scheduler;
|
|
869
|
+
private clipboard;
|
|
870
|
+
private readonly platform;
|
|
871
|
+
private readonly injector;
|
|
872
|
+
protected readonly focusMonitor: FocusMonitor;
|
|
873
|
+
/**
|
|
874
|
+
* Whether this tree-selection is rendered inside a select panel (enables option
|
|
875
|
+
* hover-to-focus). Defaults to detecting a wrapping `KbqFormField`, and is forced to `true`
|
|
876
|
+
* by the host `KbqTreeSelect` so hover works even when the tree-select has no form-field
|
|
877
|
+
* wrapper (e.g. the filter-bar pipes render the tree-select bare).
|
|
878
|
+
*/
|
|
879
|
+
inSelect: boolean;
|
|
880
|
+
renderedOptions: QueryList<KbqTreeOption<T>>;
|
|
881
|
+
keyManager: FocusKeyManager<KbqTreeOption<T>>;
|
|
882
|
+
/**
|
|
883
|
+
* Accessible name of the tree. Set it whenever the tree has no visible label of its own; a tree
|
|
884
|
+
* embedded in a `kbq-tree-select` is labelled by the select instead.
|
|
885
|
+
*/
|
|
886
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
887
|
+
/** Id of the element that labels the tree, for when the label is rendered next to it. */
|
|
888
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
889
|
+
/**
|
|
890
|
+
* Accessible name written to the host.
|
|
891
|
+
*
|
|
892
|
+
* The host is the very element the consumer writes, and a host binding runs after their own
|
|
893
|
+
* `[attr.aria-label]` binding on that element — an unset input reporting `null` would erase the name
|
|
894
|
+
* they just set, because `[attr.]` never reaches the aliased input. Whatever is already on the
|
|
895
|
+
* element therefore stands in for an unset input.
|
|
896
|
+
*/
|
|
897
|
+
protected get resolvedAriaLabel(): string | null;
|
|
898
|
+
/** Labelling element of the host. Falls back to the element's own attribute, see `resolvedAriaLabel`. */
|
|
899
|
+
protected get resolvedAriaLabelledby(): string | null;
|
|
900
|
+
/**
|
|
901
|
+
* Model backing the selection.
|
|
902
|
+
*
|
|
903
|
+
* The instance is replaced whenever {@link multiple} changes the multiplicity, because CDK freezes that
|
|
904
|
+
* flag at construction. Subscribe to {@link selectionChange} rather than to `selectionModel.changed`:
|
|
905
|
+
* a subscription taken on the model directly is left behind on the discarded instance.
|
|
906
|
+
*
|
|
907
|
+
* `T` is the type of the data nodes, inferred from `[treeControl]` in a template. A query names it:
|
|
908
|
+
* `viewChild.required<KbqTreeSelection<Node>>(KbqTreeSelection)`.
|
|
909
|
+
*/
|
|
910
|
+
selectionModel: SelectionModel<T>;
|
|
911
|
+
resetFocusedItemOnBlur: boolean;
|
|
912
|
+
userTabIndex: number | null;
|
|
913
|
+
optionShouldHoldFocusOnBlur: boolean;
|
|
914
|
+
/**
|
|
915
|
+
* Whether the tree acts on keyboard input itself. Turned off by an embedding host that owns the
|
|
916
|
+
* keyboard, such as `KbqTreeSelect`.
|
|
917
|
+
*/
|
|
918
|
+
ownsKeyboard: boolean;
|
|
919
|
+
/** Reference to the built-in "select all" row, rendered only while `selectAll` is on. */
|
|
920
|
+
readonly selectAllOption: _angular_core.Signal<KbqTreeOption<T> | undefined>;
|
|
921
|
+
private readonly unorderedOptionsQuery;
|
|
922
|
+
private readonly unorderedOptionsList;
|
|
923
|
+
get unorderedOptions(): QueryList<KbqTreeOption<T>>;
|
|
924
|
+
readonly navigationChange: _angular_core.OutputEmitterRef<KbqTreeNavigationChange<KbqTreeOption<T>, T>>;
|
|
925
|
+
/**
|
|
926
|
+
* Emits when the selection changes. A stream rather than an `output()`: `KbqTreeSelect` pipes it with rxjs.
|
|
927
|
+
*/
|
|
928
|
+
readonly selectionChange: EventEmitter<KbqTreeSelectionChange<KbqTreeOption<T>, T>>;
|
|
929
|
+
/** @docs-private */
|
|
930
|
+
readonly selectionChangeOutput: _angular_core.OutputRef<KbqTreeSelectionChange<KbqTreeOption<T>, T>>;
|
|
931
|
+
/** Emits after "select all" ran, with the options it could act on. */
|
|
932
|
+
readonly selectAllChange: _angular_core.OutputEmitterRef<KbqTreeSelectAllEvent<KbqTreeOption<T>, T>>;
|
|
933
|
+
/** @deprecated Use `selectAllChange` instead. Will be removed in 22.0.0. */
|
|
934
|
+
readonly onSelectAll: _angular_core.OutputEmitterRef<KbqTreeSelectAllEvent<KbqTreeOption<T>, T>>;
|
|
935
|
+
/**
|
|
936
|
+
* Emits when the active option is copied with Ctrl/Cmd + C. Subscribing replaces the built-in
|
|
937
|
+
* clipboard handler, so the event has to stay an `EventEmitter`: the decision is made by reading
|
|
938
|
+
* `observed`, which `OutputEmitterRef` does not have. A template listener subscribes to it through
|
|
939
|
+
* the output below.
|
|
940
|
+
*/
|
|
941
|
+
readonly copyChange: EventEmitter<KbqTreeCopyEvent<KbqTreeOption<T>, T>>;
|
|
942
|
+
/** @docs-private */
|
|
943
|
+
readonly copyChangeOutput: _angular_core.OutputRef<KbqTreeCopyEvent<KbqTreeOption<T>, T>>;
|
|
944
|
+
/** @deprecated Use `copyChange` instead. Will be removed in 22.0.0. */
|
|
945
|
+
readonly onCopy: EventEmitter<KbqTreeCopyEvent<KbqTreeOption<T>, T>>;
|
|
946
|
+
/** @docs-private */
|
|
947
|
+
readonly onCopyOutput: _angular_core.OutputRef<KbqTreeCopyEvent<KbqTreeOption<T>, T>>;
|
|
948
|
+
private sortedNodes;
|
|
949
|
+
private lastSyncedDataNodes;
|
|
950
|
+
/** @docs-private */
|
|
951
|
+
readonly autoSelectInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
|
|
952
|
+
/** `undefined` while the value is derived from the mode. Written by `KbqTreeSelect` as well. */
|
|
953
|
+
private readonly autoSelectState;
|
|
954
|
+
/**
|
|
955
|
+
* Whether clicking a node clears the rest of the selection. Defaults to `true`, and to `false` for
|
|
956
|
+
* `multiple="checkbox"`.
|
|
957
|
+
*
|
|
958
|
+
* Assigning it — from a template binding or imperatively, as `KbqTreeSelect` does — replaces the
|
|
959
|
+
* derived default, so a later {@link multiple} change leaves the value alone.
|
|
960
|
+
*/
|
|
961
|
+
get autoSelect(): boolean;
|
|
962
|
+
set autoSelect(value: boolean);
|
|
963
|
+
get optionFocusChanges(): Observable<KbqTreeOptionEvent>;
|
|
964
|
+
get optionBlurChanges(): Observable<KbqTreeOptionEvent>;
|
|
965
|
+
/**
|
|
966
|
+
* Selection mode of the tree.
|
|
967
|
+
*
|
|
968
|
+
* `checkbox` renders a checkbox in every node, `keyboard` selects without one. A bare `multiple` and
|
|
969
|
+
* `true` both mean `checkbox`; `single`, `false` and an absent attribute mean single selection. The mode
|
|
970
|
+
* can be changed at any time — narrowing it to single selection keeps the first selected node and
|
|
971
|
+
* reports the shortened value through the `ControlValueAccessor`.
|
|
972
|
+
*
|
|
973
|
+
* A tree rendered inside a `kbq-tree-select` shares its `SelectionModel` with the select, so the
|
|
974
|
+
* select decides how many nodes may be selected: switching this input between single and multiple
|
|
975
|
+
* selection there throws. Switching between `checkbox` and `keyboard` only changes the presentation
|
|
976
|
+
* and is allowed.
|
|
977
|
+
*
|
|
978
|
+
* The getter reports whether more than one node can be selected; read {@link multipleMode} for the mode
|
|
979
|
+
* itself.
|
|
980
|
+
*/
|
|
981
|
+
get multiple(): boolean;
|
|
982
|
+
/** @docs-private */
|
|
983
|
+
readonly multipleInput: _angular_core.InputSignal<KbqMultipleInput>;
|
|
984
|
+
/** Resolved selection mode, or `null` when only one node can be selected. */
|
|
985
|
+
get multipleMode(): MultipleMode | null;
|
|
986
|
+
set multipleMode(value: MultipleMode | null);
|
|
987
|
+
/**
|
|
988
|
+
* Backing signal of {@link multipleMode}. A signal rather than a field because the mode is also written
|
|
989
|
+
* from inside the component and by `KbqTreeSelect`: options read it through `multiple` and
|
|
990
|
+
* `showCheckbox`, and only a signal read re-runs their `OnPush` views and host bindings.
|
|
991
|
+
*/
|
|
992
|
+
private readonly mode;
|
|
993
|
+
/** @docs-private */
|
|
994
|
+
readonly noUnselectLastInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
|
|
995
|
+
/** `undefined` while the value is derived from the mode. Written by `KbqTreeSelect` as well. */
|
|
996
|
+
private readonly noUnselectLastState;
|
|
997
|
+
/**
|
|
998
|
+
* Whether the last selected node can be deselected.
|
|
999
|
+
* Derived from the mode until assigned, like {@link autoSelect}.
|
|
1000
|
+
*/
|
|
1001
|
+
get noUnselectLast(): boolean;
|
|
1002
|
+
set noUnselectLast(value: boolean);
|
|
1003
|
+
/**
|
|
1004
|
+
* Whether typing printable characters moves the focus to the next option whose label starts with
|
|
1005
|
+
* them. On by default.
|
|
1006
|
+
*
|
|
1007
|
+
* Turn it off wherever the tree shares its keystrokes with a text field: an embedder such as
|
|
1008
|
+
* `KbqTreeSelect` routes everything the user types — the search query included — into this key
|
|
1009
|
+
* manager, and type-ahead would move the active option out from under the query.
|
|
1010
|
+
*/
|
|
1011
|
+
get typeAhead(): boolean;
|
|
1012
|
+
set typeAhead(value: boolean);
|
|
1013
|
+
/** @docs-private */
|
|
1014
|
+
readonly typeAheadInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
|
|
1015
|
+
private readonly typeAheadState;
|
|
1016
|
+
/** When `true`, a repeated Ctrl/Cmd+A deselects all options. Off by default (Ctrl+A only selects). */
|
|
1017
|
+
readonly selectAllToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1018
|
+
/**
|
|
1019
|
+
* Whether to render the "select all" master checkbox above the nodes. Multiple selection only.
|
|
1020
|
+
*
|
|
1021
|
+
* Enabling it also makes Ctrl/Cmd + A a two-way toggle, so the shortcut and the checkbox never
|
|
1022
|
+
* disagree (`selectAllToggle` is implied).
|
|
1023
|
+
*/
|
|
1024
|
+
get selectAll(): boolean;
|
|
1025
|
+
set selectAll(value: boolean);
|
|
1026
|
+
/** @docs-private */
|
|
1027
|
+
readonly selectAllInput: _angular_core.InputSignalWithTransform<boolean, string | boolean | null | undefined>;
|
|
1028
|
+
private readonly selectAllEnabled;
|
|
1029
|
+
/** Whether the "select all" row is currently rendered. */
|
|
1030
|
+
protected get showSelectAll(): boolean;
|
|
1031
|
+
/** Whether every node "select all" can act on is selected. */
|
|
1032
|
+
get allOptionsSelected(): boolean;
|
|
1033
|
+
/** State of the "select all" master checkbox. */
|
|
1034
|
+
get selectAllState(): KbqPseudoCheckboxState;
|
|
1035
|
+
/** Label of the "select all" row. Follows the active locale. */
|
|
1036
|
+
protected get selectAllText(): string;
|
|
1037
|
+
private readonly localeConfiguration;
|
|
1038
|
+
/**
|
|
1039
|
+
* Data nodes "select all" acts on, and the ones its checkbox state is derived from.
|
|
1040
|
+
*
|
|
1041
|
+
* While a filter is active only the rendered nodes qualify — the hidden ones are not what the user
|
|
1042
|
+
* is looking at, and selecting them would contradict a master checkbox that can only report on what
|
|
1043
|
+
* is on screen. Without a filter the whole data set qualifies, collapsed branches included.
|
|
1044
|
+
*/
|
|
1045
|
+
private get selectAllTargets();
|
|
1046
|
+
/** Adapter shared by the master checkbox and the Ctrl/Cmd + A handler, so the two cannot drift apart. */
|
|
1047
|
+
private get selectAllAdapter();
|
|
1048
|
+
/** @docs-private */
|
|
1049
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean | undefined, string | boolean | null | undefined>;
|
|
1050
|
+
/** Whether the tree is disabled, bound with `[disabled]` or set by a form control. */
|
|
1051
|
+
get disabled(): boolean;
|
|
1052
|
+
private readonly disabledState;
|
|
1053
|
+
/** @docs-private */
|
|
1054
|
+
readonly tabIndexInput: _angular_core.InputSignalWithTransform<number | undefined, string | number | null | undefined>;
|
|
1055
|
+
/** Tab index of the tree, `-1` while it is disabled. */
|
|
1056
|
+
get tabIndex(): number;
|
|
1057
|
+
private readonly tabIndexState;
|
|
1058
|
+
get showCheckbox(): boolean;
|
|
1059
|
+
get isEmpty(): boolean;
|
|
1060
|
+
/**
|
|
1061
|
+
* Number of real, data-backed nodes currently rendered — unlike `renderedOptions.length`, never
|
|
1062
|
+
* includes the "select all" row, which is appended to `renderedOptions` on its own, later-processed
|
|
1063
|
+
* reactive pass and would otherwise make a consumer's own node count race against that pass.
|
|
1064
|
+
*/
|
|
1065
|
+
get nodesCount(): number;
|
|
1066
|
+
private optionFocusSubscription;
|
|
1067
|
+
private optionBlurSubscription;
|
|
1068
|
+
private selectionModelSubscription;
|
|
1069
|
+
/** Whether a value report is queued for the end of the current tick. Cleared by `writeValue` to cancel it. */
|
|
1070
|
+
private pendingValueReport;
|
|
1071
|
+
/** The `multiple` binding the mode was last set from, see `applyMultipleInput`. */
|
|
1072
|
+
private appliedMultipleInput;
|
|
1073
|
+
/** The `disabled` binding the state was last set from, see `applyDisabledInput`. */
|
|
1074
|
+
private appliedDisabledInput;
|
|
1075
|
+
/** Backs {@link syncingSelection}: a change of the selection made by code is no change to report back. */
|
|
1076
|
+
private writingValue;
|
|
1077
|
+
/**
|
|
1078
|
+
* Whether the tree is changing the selection model itself — to a value the form wrote, or onto the nodes of
|
|
1079
|
+
* reloaded data — rather than acting on the user. A host sharing the model, such as `KbqTreeSelect`, reports
|
|
1080
|
+
* no such change.
|
|
1081
|
+
*
|
|
1082
|
+
* @docs-private
|
|
1083
|
+
*/
|
|
1084
|
+
get syncingSelection(): boolean;
|
|
1085
|
+
/**
|
|
1086
|
+
* The last value the form wrote while some of the nodes it names were not in the data yet. Applied again as the
|
|
1087
|
+
* data changes, until every node is found or the selection is reported to the form.
|
|
1088
|
+
*/
|
|
1089
|
+
private unresolvedValue;
|
|
1090
|
+
private destroyed;
|
|
1091
|
+
/** `treeControl.dataNodes` the options' checkbox states were last recomputed against. */
|
|
1092
|
+
private checkboxSyncedDataNodes;
|
|
1093
|
+
/**
|
|
1094
|
+
* The model this tree built for itself. `KbqTreeSelect` overwrites {@link selectionModel} with one it
|
|
1095
|
+
* shares with the tree, and the two diverging is how a mode change knows the model is not ours to swap.
|
|
1096
|
+
*/
|
|
1097
|
+
private ownSelectionModel;
|
|
1098
|
+
constructor();
|
|
1099
|
+
/** Selects every node "select all" can act on, or deselects them all when they are already selected. */
|
|
1100
|
+
protected toggleSelectAll(): void;
|
|
1101
|
+
/**
|
|
1102
|
+
* Sets the mode from the `multiple` binding, once per bound value: an unbound input leaves what
|
|
1103
|
+
* `KbqTreeSelect` or the {@link multipleMode} setter wrote, and a value bound back to `undefined` means
|
|
1104
|
+
* single selection.
|
|
1105
|
+
*
|
|
1106
|
+
* Called by an effect, and by `writeValue` ahead of it: a forms directive on this element writes the
|
|
1107
|
+
* value from its own `ngOnChanges`, which runs before any effect of the view.
|
|
1108
|
+
*/
|
|
1109
|
+
private applyMultipleInput;
|
|
1110
|
+
/**
|
|
1111
|
+
* Sets the disabled state from the `disabled` binding, once per bound value, so that whichever of the binding
|
|
1112
|
+
* and the form control changed last wins. An unbound input leaves what the form control wrote.
|
|
1113
|
+
*
|
|
1114
|
+
* Called by an effect, and by `setDisabledState` ahead of it: a forms directive on this element calls that
|
|
1115
|
+
* from its own `ngOnChanges`, after the binding is set but before any effect of the view runs.
|
|
1116
|
+
*/
|
|
1117
|
+
private applyDisabledInput;
|
|
1118
|
+
/**
|
|
1119
|
+
* Applies a new selection mode, rebuilding the `SelectionModel` when the multiplicity itself changes —
|
|
1120
|
+
* CDK freezes that flag at construction, so the model has to be replaced rather than reconfigured.
|
|
1121
|
+
*/
|
|
1122
|
+
private setMultipleMode;
|
|
1123
|
+
/** Replaces the `SelectionModel` with one of the given multiplicity, keeping what the new one can hold. */
|
|
1124
|
+
private rebuildSelectionModel;
|
|
1125
|
+
/**
|
|
1126
|
+
* Reports the value once the current change-detection pass is over: a bound `[multiple]` is written
|
|
1127
|
+
* during change detection, and reporting straight back to the form control there would raise
|
|
1128
|
+
* "Expression has changed after it was checked". Coalesced so that several mode changes in one tick
|
|
1129
|
+
* produce one notification, and dropped if the form writes a value or the tree is gone by the time it runs.
|
|
1130
|
+
*/
|
|
1131
|
+
private scheduleValueReport;
|
|
1132
|
+
/** Reports the selection to the form, which then holds it instead of a value still waiting for its nodes. */
|
|
1133
|
+
private reportValue;
|
|
1134
|
+
/** (Re)points the change subscription at the current {@link selectionModel}. */
|
|
1135
|
+
private bindSelectionModel;
|
|
1136
|
+
ngAfterContentInit(): void;
|
|
1137
|
+
/**
|
|
1138
|
+
* Rebuilds the tree around a selection model owned by an embedding host, such as `KbqTreeSelect`.
|
|
1139
|
+
*
|
|
1140
|
+
* The host has to take the model over before the tree starts reacting to it, and re-running
|
|
1141
|
+
* `ngAfterContentInit()` is not a way to do that: neither `unorderedOptions` nor `renderedOptions` is
|
|
1142
|
+
* ever re-created, so a second run would only leave a second set of subscribers on both — every options
|
|
1143
|
+
* change handled twice, and the whole option sweep run twice per emission. Only the subscription that
|
|
1144
|
+
* depends on the model has to move, which is exactly what `bindSelectionModel` does.
|
|
1145
|
+
*/
|
|
1146
|
+
initializeForEmbedding(selectionModel: SelectionModel<T>): void;
|
|
1147
|
+
ngAfterContentChecked(): void;
|
|
1148
|
+
ngAfterViewInit(): void;
|
|
1149
|
+
ngOnDestroy(): void;
|
|
1150
|
+
focus($event: any): void;
|
|
1151
|
+
/** @docs-private */
|
|
1152
|
+
highlightSelectedOption(): void;
|
|
1153
|
+
blur(): void;
|
|
1154
|
+
/**
|
|
1155
|
+
* Host listener for keyboard input.
|
|
1156
|
+
*
|
|
1157
|
+
* Does nothing while an embedding host owns the keyboard — `KbqTreeSelect` routes every key through
|
|
1158
|
+
* its own panel handler and calls back into `handleKeydown` for the parts it delegates, so without
|
|
1159
|
+
* this guard the same event would be acted on twice.
|
|
1160
|
+
*/
|
|
1161
|
+
onKeyDown(event: KeyboardEvent): void;
|
|
1162
|
+
/** Runs the tree's own keyboard handling, whether or not it owns the keyboard. */
|
|
1163
|
+
handleKeydown(event: KeyboardEvent): void;
|
|
1164
|
+
/** @docs-private */
|
|
1165
|
+
updateScrollSize(): void;
|
|
1166
|
+
/** @docs-private */
|
|
1167
|
+
setSelectedOptionsByKey(option: KbqTreeOption<T>, shiftKey: boolean, ctrlKey: boolean): void;
|
|
1168
|
+
/** @docs-private */
|
|
1169
|
+
setSelectedOptionsByClick(option: KbqTreeOption<T>, shiftKey: boolean, ctrlKey: boolean): void;
|
|
1170
|
+
/** @docs-private */
|
|
1171
|
+
protected selectActiveOptions(): void;
|
|
1172
|
+
/** @docs-private */
|
|
1173
|
+
protected toggleFocusedOption(): void;
|
|
1174
|
+
/** @docs-private */
|
|
1175
|
+
renderNodeChanges(data: T[] | ReadonlyArray<T>, dataDiffer?: IterableDiffer<T>, viewContainer?: ViewContainerRef, parentData?: T): void;
|
|
1176
|
+
/**
|
|
1177
|
+
* Recomputes every option's checkbox state where no selection change follows to do it: after `dataNodes` is
|
|
1178
|
+
* replaced, which moves the descendants a branch counts, and once a hidden checkbox appears. A microtask later, as
|
|
1179
|
+
* a flat data source assigns `dataNodes` only after it emits.
|
|
1180
|
+
*/
|
|
1181
|
+
private scheduleCheckboxSync;
|
|
1182
|
+
/** @docs-private */
|
|
1183
|
+
protected emitNavigationEvent(option: KbqTreeOption<T>): void;
|
|
1184
|
+
/** @docs-private */
|
|
1185
|
+
protected emitChangeEvent(option: KbqTreeOption<T>): void;
|
|
1186
|
+
/** @docs-private */
|
|
1187
|
+
readonly selectAllHandlerInput: _angular_core.InputSignalWithTransform<((event: KeyboardEvent, tree: KbqTreeSelection<T>) => void) | undefined, ((event: KeyboardEvent, tree: KbqTreeSelection<T>) => void) | undefined>;
|
|
1188
|
+
/**
|
|
1189
|
+
* Function for handling the combination Ctrl + A (select all). By default, the internal handler is used,
|
|
1190
|
+
* which toggles the selection of all non-disabled, selectable options.
|
|
1191
|
+
*/
|
|
1192
|
+
get selectAllHandler(): (event: KeyboardEvent, tree: KbqTreeSelection<T>) => void;
|
|
1193
|
+
private defaultSelectAllHandler;
|
|
1194
|
+
selectAllOptions(allowDeselect?: boolean): void;
|
|
1195
|
+
copyActiveOption(event: KeyboardEvent): void;
|
|
1196
|
+
writeValue(value: any): void;
|
|
1197
|
+
/** Selects the nodes of a value the form wrote, and keeps the value for the data still to come if any is missing. */
|
|
1198
|
+
private applyWrittenValue;
|
|
1199
|
+
/** Runs a change of the selection made by code, which reports nothing back to the form or to a host. */
|
|
1200
|
+
private syncSelection;
|
|
1201
|
+
/**
|
|
1202
|
+
* Called when the value changes. Needed to properly implement `ControlValueAccessor`.
|
|
1203
|
+
*
|
|
1204
|
+
* @docs-private
|
|
1205
|
+
*/
|
|
1206
|
+
onChange: (value: any) => void;
|
|
1207
|
+
registerOnChange(fn: (value: any) => void): void;
|
|
1208
|
+
/**
|
|
1209
|
+
* Called when the control is blurred. Needed to properly implement `ControlValueAccessor`.
|
|
1210
|
+
*
|
|
1211
|
+
* @docs-private
|
|
1212
|
+
*/
|
|
1213
|
+
onTouched: () => void;
|
|
1214
|
+
registerOnTouched(fn: () => void): void;
|
|
1215
|
+
/**
|
|
1216
|
+
* Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
|
|
1217
|
+
*/
|
|
1218
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1219
|
+
/** @docs-private */
|
|
1220
|
+
setOptionsFromValues(values: any[]): void;
|
|
1221
|
+
/**
|
|
1222
|
+
* Rebinds orphan node references in selectionModel to current treeControl.dataNodes by value.
|
|
1223
|
+
* Needed after dataSource.data is replaced — selectionModel holds references to old node
|
|
1224
|
+
* objects, but options render with new ones, so toggle()/isSelected() break on identity.
|
|
1225
|
+
*
|
|
1226
|
+
* A value the form wrote ahead of its nodes is applied again instead, which resolves every node anew.
|
|
1227
|
+
* Either way the selection only follows the data, so nothing is reported.
|
|
1228
|
+
*/
|
|
1229
|
+
private syncSelectionModelToDataNodes;
|
|
1230
|
+
/** @docs-private */
|
|
1231
|
+
getSelectedValues(): any[];
|
|
1232
|
+
setStateChildren(option: KbqTreeOption<T>, state: boolean): void;
|
|
1233
|
+
private onCopyDefaultHandler;
|
|
1234
|
+
/**
|
|
1235
|
+
* Moves focus to the closest enabled ancestor of the active option — ArrowLeft on a leaf, on an
|
|
1236
|
+
* already-collapsed node, or on a node whose toggle is disabled.
|
|
1237
|
+
*
|
|
1238
|
+
* Ancestors are resolved against `renderedOptions` rather than `treeControl.dataNodes`: every
|
|
1239
|
+
* ancestor of a visible option is itself visible, options are rendered depth-first, and these are
|
|
1240
|
+
* the indices `keyManager` navigates — so the walk starts from `keyManager.activeItemIndex`.
|
|
1241
|
+
* Scanning backwards, the first option with a smaller level is the parent.
|
|
1242
|
+
*
|
|
1243
|
+
* A disabled option cannot take focus (`KbqTreeOption.focus` refuses it), so the walk steps over a
|
|
1244
|
+
* disabled ancestor and narrows `level` to that ancestor's level. Without narrowing, the scan would
|
|
1245
|
+
* continue against the original level and land on a preceding sibling of the parent.
|
|
1246
|
+
*/
|
|
1247
|
+
private setActiveParentOption;
|
|
1248
|
+
/** `-1` is the key manager's way of keeping the letter stream running but never matching on it. */
|
|
1249
|
+
private applyTypeAhead;
|
|
1250
|
+
/**
|
|
1251
|
+
* Moves focus to the first child of an already-expanded option — ArrowRight on an expanded node.
|
|
1252
|
+
*
|
|
1253
|
+
* The mirror of `setActiveParentOption`: the first rendered option after the active one is its
|
|
1254
|
+
* first child whenever its level is greater, so nothing has to be re-derived from `treeControl`.
|
|
1255
|
+
* A disabled child cannot take focus, so the walk continues while the options stay inside the
|
|
1256
|
+
* subtree, and stops as soon as the level falls back to the active option's own.
|
|
1257
|
+
*/
|
|
1258
|
+
private setActiveFirstChildOption;
|
|
1259
|
+
private getHeight;
|
|
1260
|
+
/** A tree with nothing rendered leaves the tab order, unless a tab index other than `0` is bound. */
|
|
1261
|
+
private updateTabIndex;
|
|
1262
|
+
private updateRenderedOptions;
|
|
1263
|
+
private getSortedNodes;
|
|
1264
|
+
private resetOptions;
|
|
1265
|
+
private dropSubscriptions;
|
|
1266
|
+
private listenToOptionsFocus;
|
|
1267
|
+
/**
|
|
1268
|
+
* Utility to ensure all indexes are valid.
|
|
1269
|
+
*
|
|
1270
|
+
* @param index The index to be checked.
|
|
1271
|
+
* @returns True if the index is valid for our list of options.
|
|
1272
|
+
*/
|
|
1273
|
+
private isValidIndex;
|
|
1274
|
+
/** Checks whether any of the options is focused. */
|
|
1275
|
+
private hasFocusedOption;
|
|
1276
|
+
private updateOptionsFocus;
|
|
1277
|
+
private canDeselectLast;
|
|
1278
|
+
private isFocusReceivedFromNestedOption;
|
|
1279
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeSelection<any>, never>;
|
|
1280
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqTreeSelection<any>, "kbq-tree-selection", ["kbqTreeSelection"], { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "autoSelectInput": { "alias": "autoSelect"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "noUnselectLastInput": { "alias": "noUnselectLast"; "required": false; "isSignal": true; }; "typeAheadInput": { "alias": "typeAhead"; "required": false; "isSignal": true; }; "selectAllToggle": { "alias": "selectAllToggle"; "required": false; "isSignal": true; }; "selectAllInput": { "alias": "selectAll"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabIndexInput": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "selectAllHandlerInput": { "alias": "selectAllHandler"; "required": false; "isSignal": true; }; }, { "navigationChange": "navigationChange"; "selectionChangeOutput": "selectionChange"; "selectAllChange": "selectAllChange"; "onSelectAll": "onSelectAll"; "copyChangeOutput": "copyChange"; "onCopyOutput": "onCopy"; }, ["unorderedOptionsQuery"], never, true, [{ directive: typeof i1.KbqStateSaving; inputs: { "useStateSaving": "useStateSaving"; "stateSavingKey": "stateSavingKey"; }; outputs: {}; }, { directive: typeof i1.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
declare class KbqTreeModule {
|
|
1284
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeModule, never>;
|
|
1285
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<KbqTreeModule, never, [typeof i1.KbqPseudoCheckboxModule, typeof i2.KbqIconModule, typeof i1.KbqActionContainer, typeof KbqTreeNodeOutlet, typeof KbqTreeNodeDef, typeof KbqTreeNode, typeof KbqTreeNodePadding, typeof KbqTree, typeof KbqTreeSelection, typeof KbqTreeOption, typeof KbqTreeNodeToggleComponent, typeof KbqTreeNodeToggleDirective], [typeof KbqTreeNodeOutlet, typeof KbqTreeNodeDef, typeof KbqTreeNode, typeof KbqTreeNodePadding, typeof KbqTree, typeof KbqTreeSelection, typeof KbqTreeOption, typeof KbqTreeNodeToggleComponent, typeof KbqTreeNodeToggleDirective]>;
|
|
1286
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqTreeModule>;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
export { BaseTreeControl, FilterByValues, FilterByViewValue, FilterParentsForNodes, FlatTreeControl, KBQ_SELECTION_TREE_VALUE_ACCESSOR, KBQ_TREE_OPTION_PARENT_COMPONENT, KbqTree, KbqTreeBase, KbqTreeCopyEvent, KbqTreeFlatDataSource, KbqTreeFlattener, KbqTreeModule, KbqTreeNavigationChange, KbqTreeNestedDataSource, KbqTreeNode, KbqTreeNodeDef, KbqTreeNodeOutlet, KbqTreeNodeOutletContext, KbqTreeNodePadding, KbqTreeNodeToggleBaseDirective, KbqTreeNodeToggleComponent, KbqTreeNodeToggleDirective, KbqTreeOption, KbqTreeOptionChange, KbqTreeSelectAllEvent, KbqTreeSelection, KbqTreeSelectionChange, NestedTreeControl, defaultCompareValues, defaultCompareViewValues, kbqTreeSelectAllValue };
|
|
1290
|
+
export type { FlatTreeControlFilter, KbqTreeOptionEvent, KbqTreeOptionParent, KbqTreeState, TreeControl };
|