@kato-lee/cdk 14.2.7
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/LICENSE +21 -0
- package/README.md +8 -0
- package/_index.scss +8 -0
- package/a11y/_index.import.scss +2 -0
- package/a11y/_index.scss +102 -0
- package/a11y/index.d.ts +1212 -0
- package/a11y-prebuilt.css +1 -0
- package/accordion/index.d.ts +140 -0
- package/bidi/index.d.ts +80 -0
- package/clipboard/index.d.ts +115 -0
- package/coercion/index.d.ts +67 -0
- package/collections/index.d.ts +374 -0
- package/dialog/index.d.ts +469 -0
- package/drag-drop/index.d.ts +1614 -0
- package/esm2020/a11y/a11y-module.mjs +32 -0
- package/esm2020/a11y/a11y_public_index.mjs +5 -0
- package/esm2020/a11y/aria-describer/aria-describer.mjs +232 -0
- package/esm2020/a11y/aria-describer/aria-reference.mjs +44 -0
- package/esm2020/a11y/fake-event-detection.mjs +31 -0
- package/esm2020/a11y/focus-monitor/focus-monitor.mjs +451 -0
- package/esm2020/a11y/focus-trap/configurable-focus-trap-config.mjs +9 -0
- package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +53 -0
- package/esm2020/a11y/focus-trap/configurable-focus-trap.mjs +51 -0
- package/esm2020/a11y/focus-trap/event-listener-inert-strategy.mjs +61 -0
- package/esm2020/a11y/focus-trap/focus-trap-inert-strategy.mjs +11 -0
- package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +53 -0
- package/esm2020/a11y/focus-trap/focus-trap.mjs +402 -0
- package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +109 -0
- package/esm2020/a11y/index.mjs +9 -0
- package/esm2020/a11y/input-modality/input-modality-detector.mjs +176 -0
- package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +238 -0
- package/esm2020/a11y/key-manager/activedescendant-key-manager.mjs +20 -0
- package/esm2020/a11y/key-manager/focus-key-manager.mjs +29 -0
- package/esm2020/a11y/key-manager/list-key-manager.mjs +321 -0
- package/esm2020/a11y/live-announcer/live-announcer-tokens.mjs +19 -0
- package/esm2020/a11y/live-announcer/live-announcer.mjs +178 -0
- package/esm2020/a11y/public-api.mjs +26 -0
- package/esm2020/accordion/accordion-item.mjs +167 -0
- package/esm2020/accordion/accordion-module.mjs +24 -0
- package/esm2020/accordion/accordion.mjs +70 -0
- package/esm2020/accordion/accordion_public_index.mjs +5 -0
- package/esm2020/accordion/index.mjs +9 -0
- package/esm2020/accordion/public-api.mjs +11 -0
- package/esm2020/bidi/bidi-module.mjs +23 -0
- package/esm2020/bidi/bidi_public_index.mjs +5 -0
- package/esm2020/bidi/dir-document-token.mjs +33 -0
- package/esm2020/bidi/dir.mjs +69 -0
- package/esm2020/bidi/directionality.mjs +52 -0
- package/esm2020/bidi/index.mjs +9 -0
- package/esm2020/bidi/public-api.mjs +12 -0
- package/esm2020/clipboard/clipboard-module.mjs +23 -0
- package/esm2020/clipboard/clipboard.mjs +53 -0
- package/esm2020/clipboard/clipboard_public_index.mjs +5 -0
- package/esm2020/clipboard/copy-to-clipboard.mjs +99 -0
- package/esm2020/clipboard/index.mjs +9 -0
- package/esm2020/clipboard/pending-copy.mjs +69 -0
- package/esm2020/clipboard/public-api.mjs +12 -0
- package/esm2020/coercion/array.mjs +11 -0
- package/esm2020/coercion/boolean-property.mjs +12 -0
- package/esm2020/coercion/css-pixel-value.mjs +15 -0
- package/esm2020/coercion/element.mjs +16 -0
- package/esm2020/coercion/index.mjs +9 -0
- package/esm2020/coercion/number-property.mjs +21 -0
- package/esm2020/coercion/public-api.mjs +14 -0
- package/esm2020/coercion/string-array.mjs +38 -0
- package/esm2020/collections/array-data-source.mjs +21 -0
- package/esm2020/collections/collection-viewer.mjs +9 -0
- package/esm2020/collections/collections_public_index.mjs +5 -0
- package/esm2020/collections/data-source.mjs +19 -0
- package/esm2020/collections/dispose-view-repeater-strategy.mjs +47 -0
- package/esm2020/collections/index.mjs +9 -0
- package/esm2020/collections/public-api.mjs +17 -0
- package/esm2020/collections/recycle-view-repeater-strategy.mjs +128 -0
- package/esm2020/collections/selection-model.mjs +216 -0
- package/esm2020/collections/tree-adapter.mjs +9 -0
- package/esm2020/collections/unique-selection-dispatcher.mjs +55 -0
- package/esm2020/collections/view-repeater.mjs +14 -0
- package/esm2020/dialog/dialog-config.mjs +63 -0
- package/esm2020/dialog/dialog-container.mjs +278 -0
- package/esm2020/dialog/dialog-injectors.mjs +26 -0
- package/esm2020/dialog/dialog-module.mjs +42 -0
- package/esm2020/dialog/dialog-ref.mjs +76 -0
- package/esm2020/dialog/dialog.mjs +301 -0
- package/esm2020/dialog/dialog_public_index.mjs +5 -0
- package/esm2020/dialog/index.mjs +9 -0
- package/esm2020/dialog/public-api.mjs +14 -0
- package/esm2020/drag-drop/directives/assertions.mjs +18 -0
- package/esm2020/drag-drop/directives/config.mjs +14 -0
- package/esm2020/drag-drop/directives/drag-handle.mjs +66 -0
- package/esm2020/drag-drop/directives/drag-placeholder.mjs +36 -0
- package/esm2020/drag-drop/directives/drag-preview.mjs +47 -0
- package/esm2020/drag-drop/directives/drag.mjs +487 -0
- package/esm2020/drag-drop/directives/drop-list-group.mjs +53 -0
- package/esm2020/drag-drop/directives/drop-list.mjs +345 -0
- package/esm2020/drag-drop/dom/client-rect.mjs +64 -0
- package/esm2020/drag-drop/dom/clone-node.mjs +65 -0
- package/esm2020/drag-drop/dom/parent-position-tracker.mjs +76 -0
- package/esm2020/drag-drop/dom/styling.mjs +69 -0
- package/esm2020/drag-drop/dom/transition-duration.mjs +36 -0
- package/esm2020/drag-drop/drag-drop-module.mjs +57 -0
- package/esm2020/drag-drop/drag-drop-registry.mjs +231 -0
- package/esm2020/drag-drop/drag-drop.mjs +57 -0
- package/esm2020/drag-drop/drag-drop_public_index.mjs +5 -0
- package/esm2020/drag-drop/drag-events.mjs +9 -0
- package/esm2020/drag-drop/drag-parent.mjs +16 -0
- package/esm2020/drag-drop/drag-ref.mjs +1146 -0
- package/esm2020/drag-drop/drag-utils.mjs +60 -0
- package/esm2020/drag-drop/drop-list-ref.mjs +577 -0
- package/esm2020/drag-drop/index.mjs +9 -0
- package/esm2020/drag-drop/public-api.mjs +23 -0
- package/esm2020/drag-drop/sorting/drop-list-sort-strategy.mjs +9 -0
- package/esm2020/drag-drop/sorting/single-axis-sort-strategy.mjs +341 -0
- package/esm2020/index.mjs +9 -0
- package/esm2020/keycodes/index.mjs +9 -0
- package/esm2020/keycodes/keycodes.mjs +127 -0
- package/esm2020/keycodes/keycodes_public_index.mjs +5 -0
- package/esm2020/keycodes/modifiers.mjs +18 -0
- package/esm2020/keycodes/public-api.mjs +10 -0
- package/esm2020/layout/breakpoints-observer.mjs +105 -0
- package/esm2020/layout/breakpoints.mjs +29 -0
- package/esm2020/layout/index.mjs +9 -0
- package/esm2020/layout/layout-module.mjs +19 -0
- package/esm2020/layout/layout_public_index.mjs +5 -0
- package/esm2020/layout/media-matcher.mjs +85 -0
- package/esm2020/layout/public-api.mjs +12 -0
- package/esm2020/listbox/index.mjs +9 -0
- package/esm2020/listbox/listbox-module.mjs +24 -0
- package/esm2020/listbox/listbox.mjs +872 -0
- package/esm2020/listbox/listbox_public_index.mjs +5 -0
- package/esm2020/listbox/public-api.mjs +10 -0
- package/esm2020/menu/context-menu-trigger.mjs +212 -0
- package/esm2020/menu/index.mjs +9 -0
- package/esm2020/menu/menu-aim.mjs +203 -0
- package/esm2020/menu/menu-bar.mjs +133 -0
- package/esm2020/menu/menu-base.mjs +187 -0
- package/esm2020/menu/menu-errors.mjs +22 -0
- package/esm2020/menu/menu-group.mjs +30 -0
- package/esm2020/menu/menu-interface.mjs +11 -0
- package/esm2020/menu/menu-item-checkbox.mjs +49 -0
- package/esm2020/menu/menu-item-radio.mjs +71 -0
- package/esm2020/menu/menu-item-selectable.mjs +42 -0
- package/esm2020/menu/menu-item.mjs +267 -0
- package/esm2020/menu/menu-module.mjs +62 -0
- package/esm2020/menu/menu-stack.mjs +156 -0
- package/esm2020/menu/menu-trigger-base.mjs +107 -0
- package/esm2020/menu/menu-trigger.mjs +291 -0
- package/esm2020/menu/menu.mjs +134 -0
- package/esm2020/menu/menu_public_index.mjs +5 -0
- package/esm2020/menu/pointer-focus-tracker.mjs +51 -0
- package/esm2020/menu/public-api.mjs +24 -0
- package/esm2020/observers/index.mjs +9 -0
- package/esm2020/observers/observe-content.mjs +187 -0
- package/esm2020/observers/observers_public_index.mjs +5 -0
- package/esm2020/observers/public-api.mjs +9 -0
- package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +52 -0
- package/esm2020/overlay/dispatchers/index.mjs +10 -0
- package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +81 -0
- package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +138 -0
- package/esm2020/overlay/fullscreen-overlay-container.mjs +94 -0
- package/esm2020/overlay/index.mjs +9 -0
- package/esm2020/overlay/overlay-config.mjs +45 -0
- package/esm2020/overlay/overlay-container.mjs +81 -0
- package/esm2020/overlay/overlay-directives.mjs +427 -0
- package/esm2020/overlay/overlay-module.mjs +29 -0
- package/esm2020/overlay/overlay-ref.mjs +427 -0
- package/esm2020/overlay/overlay-reference.mjs +9 -0
- package/esm2020/overlay/overlay.mjs +125 -0
- package/esm2020/overlay/overlay_public_index.mjs +5 -0
- package/esm2020/overlay/position/connected-position.mjs +88 -0
- package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +985 -0
- package/esm2020/overlay/position/global-position-strategy.mjs +237 -0
- package/esm2020/overlay/position/overlay-position-builder.mjs +50 -0
- package/esm2020/overlay/position/position-strategy.mjs +9 -0
- package/esm2020/overlay/position/scroll-clip.mjs +40 -0
- package/esm2020/overlay/public-api.mjs +22 -0
- package/esm2020/overlay/scroll/block-scroll-strategy.mjs +80 -0
- package/esm2020/overlay/scroll/close-scroll-strategy.mjs +61 -0
- package/esm2020/overlay/scroll/index.mjs +14 -0
- package/esm2020/overlay/scroll/noop-scroll-strategy.mjs +17 -0
- package/esm2020/overlay/scroll/reposition-scroll-strategy.mjs +61 -0
- package/esm2020/overlay/scroll/scroll-strategy-options.mjs +55 -0
- package/esm2020/overlay/scroll/scroll-strategy.mjs +14 -0
- package/esm2020/platform/features/input-types.mjs +59 -0
- package/esm2020/platform/features/passive-listeners.mjs +36 -0
- package/esm2020/platform/features/scrolling.mjs +85 -0
- package/esm2020/platform/features/shadow-dom.mjs +54 -0
- package/esm2020/platform/features/test-environment.mjs +24 -0
- package/esm2020/platform/index.mjs +9 -0
- package/esm2020/platform/platform-module.mjs +19 -0
- package/esm2020/platform/platform.mjs +85 -0
- package/esm2020/platform/platform_public_index.mjs +5 -0
- package/esm2020/platform/public-api.mjs +15 -0
- package/esm2020/portal/dom-portal-outlet.mjs +158 -0
- package/esm2020/portal/index.mjs +9 -0
- package/esm2020/portal/portal-directives.mjs +246 -0
- package/esm2020/portal/portal-errors.mjs +51 -0
- package/esm2020/portal/portal-injector.mjs +28 -0
- package/esm2020/portal/portal.mjs +188 -0
- package/esm2020/portal/portal_public_index.mjs +5 -0
- package/esm2020/portal/public-api.mjs +12 -0
- package/esm2020/public-api.mjs +9 -0
- package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +217 -0
- package/esm2020/scrolling/index.mjs +9 -0
- package/esm2020/scrolling/public-api.mjs +20 -0
- package/esm2020/scrolling/scroll-dispatcher.mjs +163 -0
- package/esm2020/scrolling/scrollable.mjs +176 -0
- package/esm2020/scrolling/scrolling-module.mjs +67 -0
- package/esm2020/scrolling/scrolling_public_index.mjs +5 -0
- package/esm2020/scrolling/viewport-ruler.mjs +146 -0
- package/esm2020/scrolling/virtual-for-of.mjs +298 -0
- package/esm2020/scrolling/virtual-scroll-repeater.mjs +9 -0
- package/esm2020/scrolling/virtual-scroll-strategy.mjs +11 -0
- package/esm2020/scrolling/virtual-scroll-viewport.mjs +437 -0
- package/esm2020/scrolling/virtual-scrollable-element.mjs +41 -0
- package/esm2020/scrolling/virtual-scrollable-window.mjs +40 -0
- package/esm2020/scrolling/virtual-scrollable.mjs +40 -0
- package/esm2020/stepper/index.mjs +9 -0
- package/esm2020/stepper/public-api.mjs +13 -0
- package/esm2020/stepper/step-header.mjs +30 -0
- package/esm2020/stepper/step-label.mjs +23 -0
- package/esm2020/stepper/stepper-button.mjs +56 -0
- package/esm2020/stepper/stepper-module.mjs +40 -0
- package/esm2020/stepper/stepper.mjs +458 -0
- package/esm2020/stepper/stepper_public_index.mjs +5 -0
- package/esm2020/table/can-stick.mjs +44 -0
- package/esm2020/table/cell.mjs +217 -0
- package/esm2020/table/coalesced-style-scheduler.mjs +91 -0
- package/esm2020/table/index.mjs +9 -0
- package/esm2020/table/public-api.mjs +20 -0
- package/esm2020/table/row.mjs +262 -0
- package/esm2020/table/sticky-position-listener.mjs +11 -0
- package/esm2020/table/sticky-styler.mjs +345 -0
- package/esm2020/table/table-errors.mjs +67 -0
- package/esm2020/table/table-module.mjs +94 -0
- package/esm2020/table/table.mjs +1065 -0
- package/esm2020/table/table_public_index.mjs +5 -0
- package/esm2020/table/text-column.mjs +153 -0
- package/esm2020/table/tokens.mjs +16 -0
- package/esm2020/text-field/autofill.mjs +113 -0
- package/esm2020/text-field/autosize.mjs +309 -0
- package/esm2020/text-field/index.mjs +9 -0
- package/esm2020/text-field/public-api.mjs +11 -0
- package/esm2020/text-field/text-field-module.mjs +24 -0
- package/esm2020/text-field/text-field_public_index.mjs +5 -0
- package/esm2020/tree/control/base-tree-control.mjs +57 -0
- package/esm2020/tree/control/flat-tree-control.mjs +51 -0
- package/esm2020/tree/control/nested-tree-control.mjs +58 -0
- package/esm2020/tree/control/tree-control.mjs +2 -0
- package/esm2020/tree/index.mjs +9 -0
- package/esm2020/tree/nested-node.mjs +112 -0
- package/esm2020/tree/node.mjs +35 -0
- package/esm2020/tree/outlet.mjs +39 -0
- package/esm2020/tree/padding.mjs +131 -0
- package/esm2020/tree/public-api.mjs +20 -0
- package/esm2020/tree/toggle.mjs +50 -0
- package/esm2020/tree/tree-errors.mjs +43 -0
- package/esm2020/tree/tree-module.mjs +49 -0
- package/esm2020/tree/tree.mjs +347 -0
- package/esm2020/tree/tree_public_index.mjs +5 -0
- package/esm2020/version.mjs +11 -0
- package/fesm2015/a11y.mjs +2473 -0
- package/fesm2015/a11y.mjs.map +1 -0
- package/fesm2015/accordion.mjs +414 -0
- package/fesm2015/accordion.mjs.map +1 -0
- package/fesm2015/bidi.mjs +194 -0
- package/fesm2015/bidi.mjs.map +1 -0
- package/fesm2015/cdk.mjs +30 -0
- package/fesm2015/cdk.mjs.map +1 -0
- package/fesm2015/clipboard.mjs +263 -0
- package/fesm2015/clipboard.mjs.map +1 -0
- package/fesm2015/coercion.mjs +132 -0
- package/fesm2015/coercion.mjs.map +1 -0
- package/fesm2015/collections.mjs +519 -0
- package/fesm2015/collections.mjs.map +1 -0
- package/fesm2015/dialog.mjs +1050 -0
- package/fesm2015/dialog.mjs.map +1 -0
- package/fesm2015/drag-drop.mjs +3812 -0
- package/fesm2015/drag-drop.mjs.map +1 -0
- package/fesm2015/keycodes.mjs +167 -0
- package/fesm2015/keycodes.mjs.map +1 -0
- package/fesm2015/layout.mjs +337 -0
- package/fesm2015/layout.mjs.map +1 -0
- package/fesm2015/listbox.mjs +1200 -0
- package/fesm2015/listbox.mjs.map +1 -0
- package/fesm2015/menu.mjs +2719 -0
- package/fesm2015/menu.mjs.map +1 -0
- package/fesm2015/observers.mjs +326 -0
- package/fesm2015/observers.mjs.map +1 -0
- package/fesm2015/overlay.mjs +3137 -0
- package/fesm2015/overlay.mjs.map +1 -0
- package/fesm2015/platform.mjs +385 -0
- package/fesm2015/platform.mjs.map +1 -0
- package/fesm2015/portal.mjs +691 -0
- package/fesm2015/portal.mjs.map +1 -0
- package/fesm2015/scrolling.mjs +1558 -0
- package/fesm2015/scrolling.mjs.map +1 -0
- package/fesm2015/stepper.mjs +989 -0
- package/fesm2015/stepper.mjs.map +1 -0
- package/fesm2015/table.mjs +2356 -0
- package/fesm2015/table.mjs.map +1 -0
- package/fesm2015/testing.mjs +833 -0
- package/fesm2015/testing.mjs.map +1 -0
- package/fesm2015/text-field.mjs +461 -0
- package/fesm2015/text-field.mjs.map +1 -0
- package/fesm2015/tree.mjs +1303 -0
- package/fesm2015/tree.mjs.map +1 -0
- package/fesm2020/a11y.mjs +2476 -0
- package/fesm2020/a11y.mjs.map +1 -0
- package/fesm2020/accordion.mjs +414 -0
- package/fesm2020/accordion.mjs.map +1 -0
- package/fesm2020/bidi.mjs +192 -0
- package/fesm2020/bidi.mjs.map +1 -0
- package/fesm2020/cdk.mjs +30 -0
- package/fesm2020/cdk.mjs.map +1 -0
- package/fesm2020/clipboard.mjs +259 -0
- package/fesm2020/clipboard.mjs.map +1 -0
- package/fesm2020/coercion.mjs +132 -0
- package/fesm2020/coercion.mjs.map +1 -0
- package/fesm2020/collections.mjs +535 -0
- package/fesm2020/collections.mjs.map +1 -0
- package/fesm2020/dialog.mjs +787 -0
- package/fesm2020/dialog.mjs.map +1 -0
- package/fesm2020/drag-drop.mjs +3808 -0
- package/fesm2020/drag-drop.mjs.map +1 -0
- package/fesm2020/keycodes.mjs +167 -0
- package/fesm2020/keycodes.mjs.map +1 -0
- package/fesm2020/layout.mjs +337 -0
- package/fesm2020/layout.mjs.map +1 -0
- package/fesm2020/listbox.mjs +1164 -0
- package/fesm2020/listbox.mjs.map +1 -0
- package/fesm2020/menu.mjs +2615 -0
- package/fesm2020/menu.mjs.map +1 -0
- package/fesm2020/observers.mjs +325 -0
- package/fesm2020/observers.mjs.map +1 -0
- package/fesm2020/overlay.mjs +3145 -0
- package/fesm2020/overlay.mjs.map +1 -0
- package/fesm2020/platform.mjs +383 -0
- package/fesm2020/platform.mjs.map +1 -0
- package/fesm2020/portal.mjs +689 -0
- package/fesm2020/portal.mjs.map +1 -0
- package/fesm2020/scrolling.mjs +1591 -0
- package/fesm2020/scrolling.mjs.map +1 -0
- package/fesm2020/stepper.mjs +985 -0
- package/fesm2020/stepper.mjs.map +1 -0
- package/fesm2020/table.mjs +2348 -0
- package/fesm2020/table.mjs.map +1 -0
- package/fesm2020/testing.mjs +797 -0
- package/fesm2020/testing.mjs.map +1 -0
- package/fesm2020/text-field.mjs +459 -0
- package/fesm2020/text-field.mjs.map +1 -0
- package/fesm2020/tree.mjs +1305 -0
- package/fesm2020/tree.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/keycodes/index.d.ts +249 -0
- package/layout/index.d.ts +90 -0
- package/listbox/index.d.ts +419 -0
- package/menu/index.d.ts +1013 -0
- package/observers/index.d.ts +109 -0
- package/overlay/_index-deprecated.scss +13 -0
- package/overlay/_index.import.scss +13 -0
- package/overlay/_index.scss +152 -0
- package/overlay/index.d.ts +1343 -0
- package/overlay-prebuilt.css +1 -0
- package/package.json +232 -0
- package/platform/index.d.ts +106 -0
- package/portal/index.d.ts +328 -0
- package/scrolling/index.d.ts +849 -0
- package/stepper/index.d.ts +419 -0
- package/table/index.d.ts +1483 -0
- package/text-field/_index.import.scss +2 -0
- package/text-field/_index.scss +89 -0
- package/text-field/index.d.ts +203 -0
- package/text-field-prebuilt.css +1 -0
- package/tree/index.d.ts +593 -0
package/tree/index.d.ts
ADDED
|
@@ -0,0 +1,593 @@
|
|
|
1
|
+
import { AfterContentChecked } from '@angular/core';
|
|
2
|
+
import { AfterContentInit } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { BooleanInput } from '@kato-lee/cdk/coercion';
|
|
5
|
+
import { ChangeDetectorRef } from '@angular/core';
|
|
6
|
+
import { CollectionViewer } from '@kato-lee/cdk/collections';
|
|
7
|
+
import { DataSource } from '@kato-lee/cdk/collections';
|
|
8
|
+
import { Directionality } from '@kato-lee/cdk/bidi';
|
|
9
|
+
import { ElementRef } from '@angular/core';
|
|
10
|
+
import { FocusableOption } from '@kato-lee/cdk/a11y';
|
|
11
|
+
import * as i0 from '@angular/core';
|
|
12
|
+
import { InjectionToken } from '@angular/core';
|
|
13
|
+
import { IterableDiffer } from '@angular/core';
|
|
14
|
+
import { IterableDiffers } from '@angular/core';
|
|
15
|
+
import { NumberInput } from '@kato-lee/cdk/coercion';
|
|
16
|
+
import { Observable } from 'rxjs';
|
|
17
|
+
import { OnDestroy } from '@angular/core';
|
|
18
|
+
import { OnInit } from '@angular/core';
|
|
19
|
+
import { QueryList } from '@angular/core';
|
|
20
|
+
import { SelectionModel } from '@kato-lee/cdk/collections';
|
|
21
|
+
import { Subject } from 'rxjs';
|
|
22
|
+
import { TemplateRef } from '@angular/core';
|
|
23
|
+
import { TrackByFunction } from '@angular/core';
|
|
24
|
+
import { ViewContainerRef } from '@angular/core';
|
|
25
|
+
|
|
26
|
+
/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */
|
|
27
|
+
export declare abstract class BaseTreeControl<T, K = T> implements TreeControl<T, K> {
|
|
28
|
+
/** Gets a list of descendent data nodes of a subtree rooted at given data node recursively. */
|
|
29
|
+
abstract getDescendants(dataNode: T): T[];
|
|
30
|
+
/** Expands all data nodes in the tree. */
|
|
31
|
+
abstract expandAll(): void;
|
|
32
|
+
/** Saved data node for `expandAll` action. */
|
|
33
|
+
dataNodes: T[];
|
|
34
|
+
/** A selection model with multi-selection to track expansion status. */
|
|
35
|
+
expansionModel: SelectionModel<K>;
|
|
36
|
+
/**
|
|
37
|
+
* Returns the identifier by which a dataNode should be tracked, should its
|
|
38
|
+
* reference change.
|
|
39
|
+
*
|
|
40
|
+
* Similar to trackBy for *ngFor
|
|
41
|
+
*/
|
|
42
|
+
trackBy?: (dataNode: T) => K;
|
|
43
|
+
/** Get depth of a given data node, return the level number. This is for flat tree node. */
|
|
44
|
+
getLevel: (dataNode: T) => number;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the data node is expandable. Returns true if expandable.
|
|
47
|
+
* This is for flat tree node.
|
|
48
|
+
*/
|
|
49
|
+
isExpandable: (dataNode: T) => boolean;
|
|
50
|
+
/** Gets a stream that emits whenever the given data node's children change. */
|
|
51
|
+
getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null;
|
|
52
|
+
/** Toggles one single data node's expanded/collapsed state. */
|
|
53
|
+
toggle(dataNode: T): void;
|
|
54
|
+
/** Expands one single data node. */
|
|
55
|
+
expand(dataNode: T): void;
|
|
56
|
+
/** Collapses one single data node. */
|
|
57
|
+
collapse(dataNode: T): void;
|
|
58
|
+
/** Whether a given data node is expanded or not. Returns true if the data node is expanded. */
|
|
59
|
+
isExpanded(dataNode: T): boolean;
|
|
60
|
+
/** Toggles a subtree rooted at `node` recursively. */
|
|
61
|
+
toggleDescendants(dataNode: T): void;
|
|
62
|
+
/** Collapse all dataNodes in the tree. */
|
|
63
|
+
collapseAll(): void;
|
|
64
|
+
/** Expands a subtree rooted at given data node recursively. */
|
|
65
|
+
expandDescendants(dataNode: T): void;
|
|
66
|
+
/** Collapses a subtree rooted at given data node recursively. */
|
|
67
|
+
collapseDescendants(dataNode: T): void;
|
|
68
|
+
protected _trackByValue(value: T | K): K;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Injection token used to provide a `CdkTreeNode` to its outlet.
|
|
73
|
+
* Used primarily to avoid circular imports.
|
|
74
|
+
* @docs-private
|
|
75
|
+
*/
|
|
76
|
+
export declare const CDK_TREE_NODE_OUTLET_NODE: InjectionToken<{}>;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Nested node is a child of `<cdk-tree>`. It works with nested tree.
|
|
80
|
+
* By using `cdk-nested-tree-node` component in tree node template, children of the parent node will
|
|
81
|
+
* be added in the `cdkTreeNodeOutlet` in tree node template.
|
|
82
|
+
* The children of node will be automatically added to `cdkTreeNodeOutlet`.
|
|
83
|
+
*/
|
|
84
|
+
export declare class CdkNestedTreeNode<T, K = T>
|
|
85
|
+
extends CdkTreeNode<T, K>
|
|
86
|
+
implements AfterContentInit, OnDestroy, OnInit
|
|
87
|
+
{
|
|
88
|
+
protected _differs: IterableDiffers;
|
|
89
|
+
/** Differ used to find the changes in the data provided by the data source. */
|
|
90
|
+
private _dataDiffer;
|
|
91
|
+
/** The children data dataNodes of current node. They will be placed in `CdkTreeNodeOutlet`. */
|
|
92
|
+
protected _children: T[];
|
|
93
|
+
/** The children node placeholder. */
|
|
94
|
+
nodeOutlet: QueryList<CdkTreeNodeOutlet>;
|
|
95
|
+
constructor(elementRef: ElementRef<HTMLElement>, tree: CdkTree<T, K>, _differs: IterableDiffers);
|
|
96
|
+
ngAfterContentInit(): void;
|
|
97
|
+
ngOnInit(): void;
|
|
98
|
+
ngOnDestroy(): void;
|
|
99
|
+
/** Add children dataNodes to the NodeOutlet */
|
|
100
|
+
protected updateChildrenNodes(children?: T[]): void;
|
|
101
|
+
/** Clear the children dataNodes. */
|
|
102
|
+
protected _clear(): void;
|
|
103
|
+
/** Gets the outlet for the current node. */
|
|
104
|
+
private _getNodeOutlet;
|
|
105
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkNestedTreeNode<any, any>, never>;
|
|
106
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
107
|
+
CdkNestedTreeNode<any, any>,
|
|
108
|
+
'cdk-nested-tree-node',
|
|
109
|
+
['cdkNestedTreeNode'],
|
|
110
|
+
{ role: 'role'; disabled: 'disabled'; tabIndex: 'tabIndex' },
|
|
111
|
+
{},
|
|
112
|
+
['nodeOutlet'],
|
|
113
|
+
never,
|
|
114
|
+
false
|
|
115
|
+
>;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* CDK tree component that connects with a data source to retrieve data of type `T` and renders
|
|
120
|
+
* dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.
|
|
121
|
+
*/
|
|
122
|
+
export declare class CdkTree<T, K = T>
|
|
123
|
+
implements AfterContentChecked, CollectionViewer, OnDestroy, OnInit
|
|
124
|
+
{
|
|
125
|
+
private _differs;
|
|
126
|
+
private _changeDetectorRef;
|
|
127
|
+
/** Subject that emits when the component has been destroyed. */
|
|
128
|
+
private readonly _onDestroy;
|
|
129
|
+
/** Differ used to find the changes in the data provided by the data source. */
|
|
130
|
+
private _dataDiffer;
|
|
131
|
+
/** Stores the node definition that does not have a when predicate. */
|
|
132
|
+
private _defaultNodeDef;
|
|
133
|
+
/** Data subscription */
|
|
134
|
+
private _dataSubscription;
|
|
135
|
+
/** Level of nodes */
|
|
136
|
+
private _levels;
|
|
137
|
+
/**
|
|
138
|
+
* Provides a stream containing the latest data array to render. Influenced by the tree's
|
|
139
|
+
* stream of view window (what dataNodes are currently on screen).
|
|
140
|
+
* Data source can be an observable of data array, or a data array to render.
|
|
141
|
+
*/
|
|
142
|
+
get dataSource(): DataSource<T> | Observable<T[]> | T[];
|
|
143
|
+
set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]);
|
|
144
|
+
private _dataSource;
|
|
145
|
+
/** The tree controller */
|
|
146
|
+
treeControl: TreeControl<T, K>;
|
|
147
|
+
/**
|
|
148
|
+
* Tracking function that will be used to check the differences in data changes. Used similarly
|
|
149
|
+
* to `ngFor` `trackBy` function. Optimize node operations by identifying a node based on its data
|
|
150
|
+
* relative to the function to know if a node should be added/removed/moved.
|
|
151
|
+
* Accepts a function that takes two parameters, `index` and `item`.
|
|
152
|
+
*/
|
|
153
|
+
trackBy: TrackByFunction<T>;
|
|
154
|
+
_nodeOutlet: CdkTreeNodeOutlet;
|
|
155
|
+
/** The tree node template for the tree */
|
|
156
|
+
_nodeDefs: QueryList<CdkTreeNodeDef<T>>;
|
|
157
|
+
/**
|
|
158
|
+
* Stream containing the latest information on what rows are being displayed on screen.
|
|
159
|
+
* Can be used by the data source to as a heuristic of what data should be provided.
|
|
160
|
+
*/
|
|
161
|
+
readonly viewChange: BehaviorSubject<{
|
|
162
|
+
start: number;
|
|
163
|
+
end: number;
|
|
164
|
+
}>;
|
|
165
|
+
constructor(_differs: IterableDiffers, _changeDetectorRef: ChangeDetectorRef);
|
|
166
|
+
ngOnInit(): void;
|
|
167
|
+
ngOnDestroy(): void;
|
|
168
|
+
ngAfterContentChecked(): void;
|
|
169
|
+
/**
|
|
170
|
+
* Switch to the provided data source by resetting the data and unsubscribing from the current
|
|
171
|
+
* render change subscription if one exists. If the data source is null, interpret this by
|
|
172
|
+
* clearing the node outlet. Otherwise start listening for new data.
|
|
173
|
+
*/
|
|
174
|
+
private _switchDataSource;
|
|
175
|
+
/** Set up a subscription for the data provided by the data source. */
|
|
176
|
+
private _observeRenderChanges;
|
|
177
|
+
/** Check for changes made in the data and render each change (node added/removed/moved). */
|
|
178
|
+
renderNodeChanges(
|
|
179
|
+
data: readonly T[],
|
|
180
|
+
dataDiffer?: IterableDiffer<T>,
|
|
181
|
+
viewContainer?: ViewContainerRef,
|
|
182
|
+
parentData?: T
|
|
183
|
+
): void;
|
|
184
|
+
/**
|
|
185
|
+
* Finds the matching node definition that should be used for this node data. If there is only
|
|
186
|
+
* one node definition, it is returned. Otherwise, find the node definition that has a when
|
|
187
|
+
* predicate that returns true with the data. If none return true, return the default node
|
|
188
|
+
* definition.
|
|
189
|
+
*/
|
|
190
|
+
_getNodeDef(data: T, i: number): CdkTreeNodeDef<T>;
|
|
191
|
+
/**
|
|
192
|
+
* Create the embedded view for the data node template and place it in the correct index location
|
|
193
|
+
* within the data node view container.
|
|
194
|
+
*/
|
|
195
|
+
insertNode(nodeData: T, index: number, viewContainer?: ViewContainerRef, parentData?: T): void;
|
|
196
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTree<any, any>, never>;
|
|
197
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
198
|
+
CdkTree<any, any>,
|
|
199
|
+
'cdk-tree',
|
|
200
|
+
['cdkTree'],
|
|
201
|
+
{ dataSource: 'dataSource'; treeControl: 'treeControl'; trackBy: 'trackBy' },
|
|
202
|
+
{},
|
|
203
|
+
['_nodeDefs'],
|
|
204
|
+
never,
|
|
205
|
+
false
|
|
206
|
+
>;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export declare class CdkTreeModule {
|
|
210
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeModule, never>;
|
|
211
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<
|
|
212
|
+
CdkTreeModule,
|
|
213
|
+
[
|
|
214
|
+
typeof i1.CdkNestedTreeNode,
|
|
215
|
+
typeof i2.CdkTreeNodeDef,
|
|
216
|
+
typeof i3.CdkTreeNodePadding,
|
|
217
|
+
typeof i4.CdkTreeNodeToggle,
|
|
218
|
+
typeof i5.CdkTree,
|
|
219
|
+
typeof i5.CdkTreeNode,
|
|
220
|
+
typeof i6.CdkTreeNodeOutlet,
|
|
221
|
+
],
|
|
222
|
+
never,
|
|
223
|
+
[
|
|
224
|
+
typeof i1.CdkNestedTreeNode,
|
|
225
|
+
typeof i2.CdkTreeNodeDef,
|
|
226
|
+
typeof i3.CdkTreeNodePadding,
|
|
227
|
+
typeof i4.CdkTreeNodeToggle,
|
|
228
|
+
typeof i5.CdkTree,
|
|
229
|
+
typeof i5.CdkTreeNode,
|
|
230
|
+
typeof i6.CdkTreeNodeOutlet,
|
|
231
|
+
]
|
|
232
|
+
>;
|
|
233
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CdkTreeModule>;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Tree node for CdkTree. It contains the data in the tree node.
|
|
238
|
+
*/
|
|
239
|
+
export declare class CdkTreeNode<T, K = T> implements FocusableOption, OnDestroy, OnInit {
|
|
240
|
+
protected _elementRef: ElementRef<HTMLElement>;
|
|
241
|
+
protected _tree: CdkTree<T, K>;
|
|
242
|
+
/**
|
|
243
|
+
* The role of the tree node.
|
|
244
|
+
* @deprecated The correct role is 'treeitem', 'group' should not be used. This input will be
|
|
245
|
+
* removed in a future version.
|
|
246
|
+
* @breaking-change 12.0.0 Remove this input
|
|
247
|
+
*/
|
|
248
|
+
get role(): 'treeitem' | 'group';
|
|
249
|
+
set role(_role: 'treeitem' | 'group');
|
|
250
|
+
/**
|
|
251
|
+
* The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it
|
|
252
|
+
* in `CdkTree` and set the data to it.
|
|
253
|
+
*/
|
|
254
|
+
static mostRecentTreeNode: CdkTreeNode<any> | null;
|
|
255
|
+
/** Subject that emits when the component has been destroyed. */
|
|
256
|
+
protected readonly _destroyed: Subject<void>;
|
|
257
|
+
/** Emits when the node's data has changed. */
|
|
258
|
+
readonly _dataChanges: Subject<void>;
|
|
259
|
+
private _parentNodeAriaLevel;
|
|
260
|
+
/** The tree node's data. */
|
|
261
|
+
get data(): T;
|
|
262
|
+
set data(value: T);
|
|
263
|
+
protected _data: T;
|
|
264
|
+
get isExpanded(): boolean;
|
|
265
|
+
get level(): number;
|
|
266
|
+
constructor(_elementRef: ElementRef<HTMLElement>, _tree: CdkTree<T, K>);
|
|
267
|
+
ngOnInit(): void;
|
|
268
|
+
ngOnDestroy(): void;
|
|
269
|
+
/** Focuses the menu item. Implements for FocusableOption. */
|
|
270
|
+
focus(): void;
|
|
271
|
+
protected _setRoleFromData(): void;
|
|
272
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNode<any, any>, never>;
|
|
273
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
274
|
+
CdkTreeNode<any, any>,
|
|
275
|
+
'cdk-tree-node',
|
|
276
|
+
['cdkTreeNode'],
|
|
277
|
+
{ role: 'role' },
|
|
278
|
+
{},
|
|
279
|
+
never,
|
|
280
|
+
never,
|
|
281
|
+
false
|
|
282
|
+
>;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Data node definition for the CdkTree.
|
|
287
|
+
* Captures the node's template and a when predicate that describes when this node should be used.
|
|
288
|
+
*/
|
|
289
|
+
export declare class CdkTreeNodeDef<T> {
|
|
290
|
+
template: TemplateRef<any>;
|
|
291
|
+
/**
|
|
292
|
+
* Function that should return true if this node template should be used for the provided node
|
|
293
|
+
* data and index. If left undefined, this node will be considered the default node template to
|
|
294
|
+
* use when no other when functions return true for the data.
|
|
295
|
+
* For every node, there must be at least one when function that passes or an undefined to
|
|
296
|
+
* default.
|
|
297
|
+
*/
|
|
298
|
+
when: (index: number, nodeData: T) => boolean;
|
|
299
|
+
/** @docs-private */
|
|
300
|
+
constructor(template: TemplateRef<any>);
|
|
301
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeDef<any>, never>;
|
|
302
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
303
|
+
CdkTreeNodeDef<any>,
|
|
304
|
+
'[cdkTreeNodeDef]',
|
|
305
|
+
never,
|
|
306
|
+
{ when: 'cdkTreeNodeDefWhen' },
|
|
307
|
+
{},
|
|
308
|
+
never,
|
|
309
|
+
never,
|
|
310
|
+
false
|
|
311
|
+
>;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes
|
|
316
|
+
* inside the outlet.
|
|
317
|
+
*/
|
|
318
|
+
export declare class CdkTreeNodeOutlet {
|
|
319
|
+
viewContainer: ViewContainerRef;
|
|
320
|
+
_node?: any;
|
|
321
|
+
constructor(viewContainer: ViewContainerRef, _node?: any);
|
|
322
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeOutlet, [null, { optional: true }]>;
|
|
323
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
324
|
+
CdkTreeNodeOutlet,
|
|
325
|
+
'[cdkTreeNodeOutlet]',
|
|
326
|
+
never,
|
|
327
|
+
{},
|
|
328
|
+
{},
|
|
329
|
+
never,
|
|
330
|
+
never,
|
|
331
|
+
false
|
|
332
|
+
>;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/** Context provided to the tree node component. */
|
|
336
|
+
export declare class CdkTreeNodeOutletContext<T> {
|
|
337
|
+
/** Data for the node. */
|
|
338
|
+
$implicit: T;
|
|
339
|
+
/** Depth of the node. */
|
|
340
|
+
level: number;
|
|
341
|
+
/** Index location of the node. */
|
|
342
|
+
index?: number;
|
|
343
|
+
/** Length of the number of total dataNodes. */
|
|
344
|
+
count?: number;
|
|
345
|
+
constructor(data: T);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Indent for the children tree dataNodes.
|
|
350
|
+
* This directive will add left-padding to the node to show hierarchy.
|
|
351
|
+
*/
|
|
352
|
+
export declare class CdkTreeNodePadding<T, K = T> implements OnDestroy {
|
|
353
|
+
private _treeNode;
|
|
354
|
+
private _tree;
|
|
355
|
+
private _element;
|
|
356
|
+
private _dir;
|
|
357
|
+
/** Current padding value applied to the element. Used to avoid unnecessarily hitting the DOM. */
|
|
358
|
+
private _currentPadding;
|
|
359
|
+
/** Subject that emits when the component has been destroyed. */
|
|
360
|
+
private readonly _destroyed;
|
|
361
|
+
/** CSS units used for the indentation value. */
|
|
362
|
+
indentUnits: string;
|
|
363
|
+
/** The level of depth of the tree node. The padding will be `level * indent` pixels. */
|
|
364
|
+
get level(): number;
|
|
365
|
+
set level(value: NumberInput);
|
|
366
|
+
_level: number;
|
|
367
|
+
/**
|
|
368
|
+
* The indent for each level. Can be a number or a CSS string.
|
|
369
|
+
* Default number 40px from material design menu sub-menu spec.
|
|
370
|
+
*/
|
|
371
|
+
get indent(): number | string;
|
|
372
|
+
set indent(indent: number | string);
|
|
373
|
+
_indent: number;
|
|
374
|
+
constructor(
|
|
375
|
+
_treeNode: CdkTreeNode<T, K>,
|
|
376
|
+
_tree: CdkTree<T, K>,
|
|
377
|
+
_element: ElementRef<HTMLElement>,
|
|
378
|
+
_dir: Directionality
|
|
379
|
+
);
|
|
380
|
+
ngOnDestroy(): void;
|
|
381
|
+
/** The padding indent value for the tree node. Returns a string with px numbers if not null. */
|
|
382
|
+
_paddingIndent(): string | null;
|
|
383
|
+
_setPadding(forceChange?: boolean): void;
|
|
384
|
+
/**
|
|
385
|
+
* This has been extracted to a util because of TS 4 and VE.
|
|
386
|
+
* View Engine doesn't support property rename inheritance.
|
|
387
|
+
* TS 4.0 doesn't allow properties to override accessors or vice-versa.
|
|
388
|
+
* @docs-private
|
|
389
|
+
*/
|
|
390
|
+
protected _setLevelInput(value: NumberInput): void;
|
|
391
|
+
/**
|
|
392
|
+
* This has been extracted to a util because of TS 4 and VE.
|
|
393
|
+
* View Engine doesn't support property rename inheritance.
|
|
394
|
+
* TS 4.0 doesn't allow properties to override accessors or vice-versa.
|
|
395
|
+
* @docs-private
|
|
396
|
+
*/
|
|
397
|
+
protected _setIndentInput(indent: number | string): void;
|
|
398
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
399
|
+
CdkTreeNodePadding<any, any>,
|
|
400
|
+
[null, null, null, { optional: true }]
|
|
401
|
+
>;
|
|
402
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
403
|
+
CdkTreeNodePadding<any, any>,
|
|
404
|
+
'[cdkTreeNodePadding]',
|
|
405
|
+
never,
|
|
406
|
+
{ level: 'cdkTreeNodePadding'; indent: 'cdkTreeNodePaddingIndent' },
|
|
407
|
+
{},
|
|
408
|
+
never,
|
|
409
|
+
never,
|
|
410
|
+
false
|
|
411
|
+
>;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Node toggle to expand/collapse the node.
|
|
416
|
+
*/
|
|
417
|
+
export declare class CdkTreeNodeToggle<T, K = T> {
|
|
418
|
+
protected _tree: CdkTree<T, K>;
|
|
419
|
+
protected _treeNode: CdkTreeNode<T, K>;
|
|
420
|
+
/** Whether expand/collapse the node recursively. */
|
|
421
|
+
get recursive(): boolean;
|
|
422
|
+
set recursive(value: BooleanInput);
|
|
423
|
+
protected _recursive: boolean;
|
|
424
|
+
constructor(_tree: CdkTree<T, K>, _treeNode: CdkTreeNode<T, K>);
|
|
425
|
+
_toggle(event: Event): void;
|
|
426
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTreeNodeToggle<any, any>, never>;
|
|
427
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
428
|
+
CdkTreeNodeToggle<any, any>,
|
|
429
|
+
'[cdkTreeNodeToggle]',
|
|
430
|
+
never,
|
|
431
|
+
{ recursive: 'cdkTreeNodeToggleRecursive' },
|
|
432
|
+
{},
|
|
433
|
+
never,
|
|
434
|
+
never,
|
|
435
|
+
false
|
|
436
|
+
>;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */
|
|
440
|
+
export declare class FlatTreeControl<T, K = T> extends BaseTreeControl<T, K> {
|
|
441
|
+
getLevel: (dataNode: T) => number;
|
|
442
|
+
isExpandable: (dataNode: T) => boolean;
|
|
443
|
+
options?: FlatTreeControlOptions<T, K> | undefined;
|
|
444
|
+
/** Construct with flat tree data node functions getLevel and isExpandable. */
|
|
445
|
+
constructor(
|
|
446
|
+
getLevel: (dataNode: T) => number,
|
|
447
|
+
isExpandable: (dataNode: T) => boolean,
|
|
448
|
+
options?: FlatTreeControlOptions<T, K> | undefined
|
|
449
|
+
);
|
|
450
|
+
/**
|
|
451
|
+
* Gets a list of the data node's subtree of descendent data nodes.
|
|
452
|
+
*
|
|
453
|
+
* To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes
|
|
454
|
+
* with correct levels.
|
|
455
|
+
*/
|
|
456
|
+
getDescendants(dataNode: T): T[];
|
|
457
|
+
/**
|
|
458
|
+
* Expands all data nodes in the tree.
|
|
459
|
+
*
|
|
460
|
+
* To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened
|
|
461
|
+
* data nodes of the tree.
|
|
462
|
+
*/
|
|
463
|
+
expandAll(): void;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
/** Optional set of configuration that can be provided to the FlatTreeControl. */
|
|
467
|
+
export declare interface FlatTreeControlOptions<T, K> {
|
|
468
|
+
trackBy?: (dataNode: T) => K;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Returns an error to be thrown when tree control did not implement functions for flat/nested node.
|
|
473
|
+
* @docs-private
|
|
474
|
+
*/
|
|
475
|
+
export declare function getTreeControlFunctionsMissingError(): Error;
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* Returns an error to be thrown when there are tree control.
|
|
479
|
+
* @docs-private
|
|
480
|
+
*/
|
|
481
|
+
export declare function getTreeControlMissingError(): Error;
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* Returns an error to be thrown when there are no matching node defs for a particular set of data.
|
|
485
|
+
* @docs-private
|
|
486
|
+
*/
|
|
487
|
+
export declare function getTreeMissingMatchingNodeDefError(): Error;
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* Returns an error to be thrown when there are multiple nodes that are missing a when function.
|
|
491
|
+
* @docs-private
|
|
492
|
+
*/
|
|
493
|
+
export declare function getTreeMultipleDefaultNodeDefsError(): Error;
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* Returns an error to be thrown when there is no usable data.
|
|
497
|
+
* @docs-private
|
|
498
|
+
*/
|
|
499
|
+
export declare function getTreeNoValidDataSourceError(): Error;
|
|
500
|
+
|
|
501
|
+
declare namespace i1 {
|
|
502
|
+
export { CdkNestedTreeNode };
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
declare namespace i2 {
|
|
506
|
+
export { CdkTreeNodeOutletContext, CdkTreeNodeDef };
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
declare namespace i3 {
|
|
510
|
+
export { CdkTreeNodePadding };
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
declare namespace i4 {
|
|
514
|
+
export { CdkTreeNodeToggle };
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
declare namespace i5 {
|
|
518
|
+
export { CdkTree, CdkTreeNode };
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
declare namespace i6 {
|
|
522
|
+
export { CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet };
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */
|
|
526
|
+
export declare class NestedTreeControl<T, K = T> extends BaseTreeControl<T, K> {
|
|
527
|
+
getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null;
|
|
528
|
+
options?: NestedTreeControlOptions<T, K> | undefined;
|
|
529
|
+
/** Construct with nested tree function getChildren. */
|
|
530
|
+
constructor(
|
|
531
|
+
getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null,
|
|
532
|
+
options?: NestedTreeControlOptions<T, K> | undefined
|
|
533
|
+
);
|
|
534
|
+
/**
|
|
535
|
+
* Expands all dataNodes in the tree.
|
|
536
|
+
*
|
|
537
|
+
* To make this working, the `dataNodes` variable of the TreeControl must be set to all root level
|
|
538
|
+
* data nodes of the tree.
|
|
539
|
+
*/
|
|
540
|
+
expandAll(): void;
|
|
541
|
+
/** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */
|
|
542
|
+
getDescendants(dataNode: T): T[];
|
|
543
|
+
/** A helper function to get descendants recursively. */
|
|
544
|
+
protected _getDescendants(descendants: T[], dataNode: T): void;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
/** Optional set of configuration that can be provided to the NestedTreeControl. */
|
|
548
|
+
export declare interface NestedTreeControlOptions<T, K> {
|
|
549
|
+
trackBy?: (dataNode: T) => K;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* Tree control interface. User can implement TreeControl to expand/collapse dataNodes in the tree.
|
|
554
|
+
* The CDKTree will use this TreeControl to expand/collapse a node.
|
|
555
|
+
* User can also use it outside the `<cdk-tree>` to control the expansion status of the tree.
|
|
556
|
+
*/
|
|
557
|
+
export declare interface TreeControl<T, K = T> {
|
|
558
|
+
/** The saved tree nodes data for `expandAll` action. */
|
|
559
|
+
dataNodes: T[];
|
|
560
|
+
/** The expansion model */
|
|
561
|
+
expansionModel: SelectionModel<K>;
|
|
562
|
+
/** Whether the data node is expanded or collapsed. Return true if it's expanded. */
|
|
563
|
+
isExpanded(dataNode: T): boolean;
|
|
564
|
+
/** Get all descendants of a data node */
|
|
565
|
+
getDescendants(dataNode: T): any[];
|
|
566
|
+
/** Expand or collapse data node */
|
|
567
|
+
toggle(dataNode: T): void;
|
|
568
|
+
/** Expand one data node */
|
|
569
|
+
expand(dataNode: T): void;
|
|
570
|
+
/** Collapse one data node */
|
|
571
|
+
collapse(dataNode: T): void;
|
|
572
|
+
/** Expand all the dataNodes in the tree */
|
|
573
|
+
expandAll(): void;
|
|
574
|
+
/** Collapse all the dataNodes in the tree */
|
|
575
|
+
collapseAll(): void;
|
|
576
|
+
/** Toggle a data node by expand/collapse it and all its descendants */
|
|
577
|
+
toggleDescendants(dataNode: T): void;
|
|
578
|
+
/** Expand a data node and all its descendants */
|
|
579
|
+
expandDescendants(dataNode: T): void;
|
|
580
|
+
/** Collapse a data node and all its descendants */
|
|
581
|
+
collapseDescendants(dataNode: T): void;
|
|
582
|
+
/** Get depth of a given data node, return the level number. This is for flat tree node. */
|
|
583
|
+
readonly getLevel: (dataNode: T) => number;
|
|
584
|
+
/**
|
|
585
|
+
* Whether the data node is expandable. Returns true if expandable.
|
|
586
|
+
* This is for flat tree node.
|
|
587
|
+
*/
|
|
588
|
+
readonly isExpandable: (dataNode: T) => boolean;
|
|
589
|
+
/** Gets a stream that emits whenever the given data node's children change. */
|
|
590
|
+
readonly getChildren: (dataNode: T) => Observable<T[]> | T[] | undefined | null;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
export {};
|