@angular/cdk 22.1.0 → 22.1.2
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/fesm2022/_a11y-module-chunk.mjs +35 -25
- package/fesm2022/_a11y-module-chunk.mjs.map +1 -1
- package/fesm2022/_activedescendant-key-manager-chunk.mjs.map +1 -1
- package/fesm2022/_array-chunk.mjs.map +1 -1
- package/fesm2022/_breakpoints-observer-chunk.mjs +6 -6
- package/fesm2022/_breakpoints-observer-chunk.mjs.map +1 -1
- package/fesm2022/_css-pixel-value-chunk.mjs.map +1 -1
- package/fesm2022/_data-source-chunk.mjs.map +1 -1
- package/fesm2022/_directionality-chunk.mjs +3 -3
- package/fesm2022/_directionality-chunk.mjs.map +1 -1
- package/fesm2022/_dispose-view-repeater-strategy-chunk.mjs.map +1 -1
- package/fesm2022/_element-chunk.mjs.map +1 -1
- package/fesm2022/_fake-event-detection-chunk.mjs.map +1 -1
- package/fesm2022/_focus-key-manager-chunk.mjs.map +1 -1
- package/fesm2022/_focus-monitor-chunk.mjs +9 -9
- package/fesm2022/_focus-monitor-chunk.mjs.map +1 -1
- package/fesm2022/_id-generator-chunk.mjs +3 -3
- package/fesm2022/_id-generator-chunk.mjs.map +1 -1
- package/fesm2022/_keycodes-chunk.mjs.map +1 -1
- package/fesm2022/_list-key-manager-chunk.mjs.map +1 -1
- package/fesm2022/_overlay-module-chunk.mjs +34 -34
- package/fesm2022/_overlay-module-chunk.mjs.map +1 -1
- package/fesm2022/_passive-listeners-chunk.mjs.map +1 -1
- package/fesm2022/_platform-chunk.mjs +3 -3
- package/fesm2022/_platform-chunk.mjs.map +1 -1
- package/fesm2022/_recycle-view-repeater-strategy-chunk.mjs.map +1 -1
- package/fesm2022/_scrolling-chunk.mjs.map +1 -1
- package/fesm2022/_selection-model-chunk.mjs.map +1 -1
- package/fesm2022/_shadow-dom-chunk.mjs.map +1 -1
- package/fesm2022/_style-loader-chunk.mjs +3 -3
- package/fesm2022/_style-loader-chunk.mjs.map +1 -1
- package/fesm2022/_test-environment-chunk.mjs.map +1 -1
- package/fesm2022/_tree-key-manager-chunk.mjs.map +1 -1
- package/fesm2022/_typeahead-chunk.mjs.map +1 -1
- package/fesm2022/_unique-selection-dispatcher-chunk.mjs +3 -3
- package/fesm2022/_unique-selection-dispatcher-chunk.mjs.map +1 -1
- package/fesm2022/a11y.mjs +9 -9
- package/fesm2022/a11y.mjs.map +1 -1
- package/fesm2022/accordion.mjs +10 -10
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/bidi.mjs +7 -7
- package/fesm2022/bidi.mjs.map +1 -1
- package/fesm2022/cdk.mjs +1 -1
- package/fesm2022/cdk.mjs.map +1 -1
- package/fesm2022/clipboard.mjs +10 -10
- package/fesm2022/clipboard.mjs.map +1 -1
- package/fesm2022/coercion-private.mjs.map +1 -1
- package/fesm2022/coercion.mjs.map +1 -1
- package/fesm2022/dialog.mjs +10 -10
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/drag-drop.mjs +31 -31
- package/fesm2022/drag-drop.mjs.map +1 -1
- package/fesm2022/keycodes.mjs.map +1 -1
- package/fesm2022/layout.mjs +4 -4
- package/fesm2022/layout.mjs.map +1 -1
- package/fesm2022/listbox.mjs +10 -10
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +49 -49
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/observers-private.mjs +3 -3
- package/fesm2022/observers-private.mjs.map +1 -1
- package/fesm2022/observers.mjs +13 -13
- package/fesm2022/observers.mjs.map +1 -1
- package/fesm2022/overlay.mjs +3 -3
- package/fesm2022/overlay.mjs.map +1 -1
- package/fesm2022/platform.mjs +4 -4
- package/fesm2022/platform.mjs.map +1 -1
- package/fesm2022/portal.mjs +10 -10
- package/fesm2022/portal.mjs.map +1 -1
- package/fesm2022/private.mjs +3 -3
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/scrolling.mjs +35 -35
- package/fesm2022/scrolling.mjs.map +1 -1
- package/fesm2022/stepper.mjs +22 -22
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table.mjs +73 -73
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/testing-selenium-webdriver.mjs.map +1 -1
- package/fesm2022/testing-testbed.mjs.map +1 -1
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/text-field.mjs +16 -16
- package/fesm2022/text-field.mjs.map +1 -1
- package/fesm2022/tree.mjs +25 -25
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/types/_a11y-module-chunk.d.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_list-key-manager-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/cdk/a11y/key-manager/list-key-manager.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n DOWN_ARROW,\n END,\n HOME,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n TAB,\n UP_ARROW,\n hasModifierKey,\n} from '../../keycodes';\nimport {EffectRef, Injector, QueryList, Signal, effect, isSignal, signal} from '@angular/core';\nimport {Subject, Subscription} from 'rxjs';\nimport {Typeahead} from './typeahead';\n\n/** This interface is for items that can be passed to a ListKeyManager. */\nexport interface ListKeyManagerOption {\n /** Whether the option is disabled. */\n disabled?: boolean;\n\n /** Gets the label for this option. */\n getLabel?(): string;\n}\n\n/** Modifier keys handled by the ListKeyManager. */\nexport type ListKeyManagerModifierKey = 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey';\n\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nexport class ListKeyManager<T extends ListKeyManagerOption> {\n private _activeItemIndex = signal(-1);\n private _activeItem = signal<T | null>(null);\n private _wrap = false;\n private _typeaheadSubscription = Subscription.EMPTY;\n private _itemChangesSubscription?: Subscription;\n private _vertical = true;\n private _horizontal: 'ltr' | 'rtl' | null = null;\n private _allowedModifierKeys: ListKeyManagerModifierKey[] = [];\n private _homeAndEnd = false;\n private _pageUpAndDown = {enabled: false, delta: 10};\n private _effectRef: EffectRef | undefined;\n private _typeahead?: Typeahead<T>;\n\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n private _skipPredicateFn = (item: T) => item.disabled;\n\n constructor(items: QueryList<T> | T[] | readonly T[]);\n constructor(items: Signal<T[]> | Signal<readonly T[]>, injector: Injector);\n constructor(\n private _items: QueryList<T> | T[] | readonly T[] | Signal<T[]> | Signal<readonly T[]>,\n injector?: Injector,\n ) {\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n this._itemChangesSubscription = _items.changes.subscribe((newItems: QueryList<T>) =>\n this._itemsChanged(newItems.toArray()),\n );\n } else if (isSignal(_items)) {\n if (!injector && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw new Error('ListKeyManager constructed with a signal must receive an injector');\n }\n\n this._effectRef = effect(() => this._itemsChanged(_items()), {injector});\n }\n }\n\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n readonly tabOut = new Subject<void>();\n\n /** Stream that emits whenever the active item of the list manager changes. */\n readonly change = new Subject<number>();\n\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate: (item: T) => boolean): this {\n this._skipPredicateFn = predicate;\n return this;\n }\n\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true): this {\n this._wrap = shouldWrap;\n return this;\n }\n\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled: boolean = true): this {\n this._vertical = enabled;\n return this;\n }\n\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this {\n this._horizontal = direction;\n return this;\n }\n\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys: ListKeyManagerModifierKey[]): this {\n this._allowedModifierKeys = keys;\n return this;\n }\n\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval: number = 200): this {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const items = this._getItemsArray();\n if (items.length > 0 && items.some(item => typeof item.getLabel !== 'function')) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n }\n\n this._typeaheadSubscription.unsubscribe();\n\n const items = this._getItemsArray();\n this._typeahead = new Typeahead(items, {\n debounceInterval: typeof debounceInterval === 'number' ? debounceInterval : undefined,\n skipPredicate: item => this._skipPredicateFn(item),\n });\n\n this._typeaheadSubscription = this._typeahead.selectedItem.subscribe(item => {\n this.setActiveItem(item);\n });\n\n return this;\n }\n\n /** Cancels the current typeahead sequence. */\n cancelTypeahead(): this {\n this._typeahead?.reset();\n return this;\n }\n\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled: boolean = true): this {\n this._homeAndEnd = enabled;\n return this;\n }\n\n /**\n * Configures the key manager to activate every 10th, configured or first/last element in up/down direction\n * respectively when the Page-Up or Page-Down key is pressed.\n * @param enabled Whether pressing the Page-Up or Page-Down key activates the first/last item.\n * @param delta Whether pressing the Home or End key activates the first/last item.\n */\n withPageUpDown(enabled: boolean = true, delta: number = 10): this {\n this._pageUpAndDown = {enabled, delta};\n return this;\n }\n\n /**\n * Sets the active item to the item at the index specified.\n * @param index The index of the item to be set as active.\n */\n setActiveItem(index: number): void;\n\n /**\n * Sets the active item to the specified item.\n * @param item The item to be set as active.\n */\n setActiveItem(item: T): void;\n\n /**\n * Sets the active item to the specified item.\n * @param item The item to be set as active.\n */\n setActiveItem(item: T | number): void;\n\n setActiveItem(item: any): void {\n const previousActiveItem = this._activeItem();\n\n this.updateActiveItem(item);\n\n if (this._activeItem() !== previousActiveItem) {\n this.change.next(this._activeItemIndex());\n }\n }\n\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n const modifiers: ListKeyManagerModifierKey[] = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n } else {\n return;\n }\n\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n } else {\n return;\n }\n\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n } else {\n return;\n }\n\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n } else {\n return;\n }\n\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n } else {\n return;\n }\n\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n } else {\n return;\n }\n\n case PAGE_UP:\n if (this._pageUpAndDown.enabled && isModifierAllowed) {\n const targetIndex = this._activeItemIndex() - this._pageUpAndDown.delta;\n this._setActiveItemByIndex(targetIndex > 0 ? targetIndex : 0, 1);\n break;\n } else {\n return;\n }\n\n case PAGE_DOWN:\n if (this._pageUpAndDown.enabled && isModifierAllowed) {\n const targetIndex = this._activeItemIndex() + this._pageUpAndDown.delta;\n const itemsLength = this._getItemsArray().length;\n this._setActiveItemByIndex(targetIndex < itemsLength ? targetIndex : itemsLength - 1, -1);\n break;\n } else {\n return;\n }\n\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n this._typeahead?.handleKey(event);\n }\n\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n\n this._typeahead?.reset();\n event.preventDefault();\n }\n\n /** Index of the currently active item. */\n get activeItemIndex(): number | null {\n return this._activeItemIndex();\n }\n\n /** The active item. */\n get activeItem(): T | null {\n return this._activeItem();\n }\n\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping(): boolean {\n return !!this._typeahead && this._typeahead.isTyping();\n }\n\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive(): void {\n this._setActiveItemByIndex(0, 1);\n }\n\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive(): void {\n this._setActiveItemByIndex(this._getItemsArray().length - 1, -1);\n }\n\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive(): void {\n this._activeItemIndex() < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive(): void {\n this._activeItemIndex() < 0 && this._wrap\n ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n\n /**\n * Allows setting the active without any other effects.\n * @param index Index of the item to be set as active.\n */\n updateActiveItem(index: number): void;\n\n /**\n * Allows setting the active item without any other effects.\n * @param item Item to be set as active.\n */\n updateActiveItem(item: T): void;\n\n updateActiveItem(item: any): void {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem.set(activeItem == null ? null : activeItem);\n this._activeItemIndex.set(index);\n this._typeahead?.setCurrentSelectedItemIndex(index);\n }\n\n /** Cleans up the key manager. */\n destroy() {\n this._typeaheadSubscription.unsubscribe();\n this._itemChangesSubscription?.unsubscribe();\n this._effectRef?.destroy();\n this._typeahead?.destroy();\n this.tabOut.complete();\n this.change.complete();\n }\n\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n private _setActiveItemByDelta(delta: -1 | 1): void {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n private _setActiveInWrapMode(delta: -1 | 1): void {\n const items = this._getItemsArray();\n\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex() + delta * i + items.length) % items.length;\n const item = items[index];\n\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n private _setActiveInDefaultMode(delta: -1 | 1): void {\n this._setActiveItemByIndex(this._activeItemIndex() + delta, delta);\n }\n\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n private _setActiveItemByIndex(index: number, fallbackDelta: -1 | 1): void {\n const items = this._getItemsArray();\n\n if (!items[index]) {\n return;\n }\n\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n\n if (!items[index]) {\n return;\n }\n }\n\n this.setActiveItem(index);\n }\n\n /** Returns the items as an array. */\n private _getItemsArray(): T[] | readonly T[] {\n if (isSignal(this._items)) {\n return this._items();\n }\n\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n\n /** Callback for when the items have changed. */\n private _itemsChanged(newItems: T[] | readonly T[]) {\n this._typeahead?.setItems(newItems);\n const activeItem = this._activeItem();\n if (activeItem) {\n const newIndex = newItems.indexOf(activeItem);\n\n if (newIndex > -1 && newIndex !== this._activeItemIndex()) {\n this._activeItemIndex.set(newIndex);\n this._typeahead?.setCurrentSelectedItemIndex(newIndex);\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_list-key-manager-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/a11y/key-manager/list-key-manager.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n DOWN_ARROW,\n END,\n HOME,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n TAB,\n UP_ARROW,\n hasModifierKey,\n} from '../../keycodes';\nimport {EffectRef, Injector, QueryList, Signal, effect, isSignal, signal} from '@angular/core';\nimport {Subject, Subscription} from 'rxjs';\nimport {Typeahead} from './typeahead';\n\n/** This interface is for items that can be passed to a ListKeyManager. */\nexport interface ListKeyManagerOption {\n /** Whether the option is disabled. */\n disabled?: boolean;\n\n /** Gets the label for this option. */\n getLabel?(): string;\n}\n\n/** Modifier keys handled by the ListKeyManager. */\nexport type ListKeyManagerModifierKey = 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey';\n\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nexport class ListKeyManager<T extends ListKeyManagerOption> {\n private _activeItemIndex = signal(-1);\n private _activeItem = signal<T | null>(null);\n private _wrap = false;\n private _typeaheadSubscription = Subscription.EMPTY;\n private _itemChangesSubscription?: Subscription;\n private _vertical = true;\n private _horizontal: 'ltr' | 'rtl' | null = null;\n private _allowedModifierKeys: ListKeyManagerModifierKey[] = [];\n private _homeAndEnd = false;\n private _pageUpAndDown = {enabled: false, delta: 10};\n private _effectRef: EffectRef | undefined;\n private _typeahead?: Typeahead<T>;\n\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n private _skipPredicateFn = (item: T) => item.disabled;\n\n constructor(items: QueryList<T> | T[] | readonly T[]);\n constructor(items: Signal<T[]> | Signal<readonly T[]>, injector: Injector);\n constructor(\n private _items: QueryList<T> | T[] | readonly T[] | Signal<T[]> | Signal<readonly T[]>,\n injector?: Injector,\n ) {\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n this._itemChangesSubscription = _items.changes.subscribe((newItems: QueryList<T>) =>\n this._itemsChanged(newItems.toArray()),\n );\n } else if (isSignal(_items)) {\n if (!injector && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw new Error('ListKeyManager constructed with a signal must receive an injector');\n }\n\n this._effectRef = effect(() => this._itemsChanged(_items()), {injector});\n }\n }\n\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n readonly tabOut = new Subject<void>();\n\n /** Stream that emits whenever the active item of the list manager changes. */\n readonly change = new Subject<number>();\n\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate: (item: T) => boolean): this {\n this._skipPredicateFn = predicate;\n return this;\n }\n\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true): this {\n this._wrap = shouldWrap;\n return this;\n }\n\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled: boolean = true): this {\n this._vertical = enabled;\n return this;\n }\n\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this {\n this._horizontal = direction;\n return this;\n }\n\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys: ListKeyManagerModifierKey[]): this {\n this._allowedModifierKeys = keys;\n return this;\n }\n\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval: number = 200): this {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const items = this._getItemsArray();\n if (items.length > 0 && items.some(item => typeof item.getLabel !== 'function')) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n }\n\n this._typeaheadSubscription.unsubscribe();\n\n const items = this._getItemsArray();\n this._typeahead = new Typeahead(items, {\n debounceInterval: typeof debounceInterval === 'number' ? debounceInterval : undefined,\n skipPredicate: item => this._skipPredicateFn(item),\n });\n\n this._typeaheadSubscription = this._typeahead.selectedItem.subscribe(item => {\n this.setActiveItem(item);\n });\n\n return this;\n }\n\n /** Cancels the current typeahead sequence. */\n cancelTypeahead(): this {\n this._typeahead?.reset();\n return this;\n }\n\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled: boolean = true): this {\n this._homeAndEnd = enabled;\n return this;\n }\n\n /**\n * Configures the key manager to activate every 10th, configured or first/last element in up/down direction\n * respectively when the Page-Up or Page-Down key is pressed.\n * @param enabled Whether pressing the Page-Up or Page-Down key activates the first/last item.\n * @param delta Whether pressing the Home or End key activates the first/last item.\n */\n withPageUpDown(enabled: boolean = true, delta: number = 10): this {\n this._pageUpAndDown = {enabled, delta};\n return this;\n }\n\n /**\n * Sets the active item to the item at the index specified.\n * @param index The index of the item to be set as active.\n */\n setActiveItem(index: number): void;\n\n /**\n * Sets the active item to the specified item.\n * @param item The item to be set as active.\n */\n setActiveItem(item: T): void;\n\n /**\n * Sets the active item to the specified item.\n * @param item The item to be set as active.\n */\n setActiveItem(item: T | number): void;\n\n setActiveItem(item: any): void {\n const previousActiveItem = this._activeItem();\n\n this.updateActiveItem(item);\n\n if (this._activeItem() !== previousActiveItem) {\n this.change.next(this._activeItemIndex());\n }\n }\n\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n const modifiers: ListKeyManagerModifierKey[] = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n } else {\n return;\n }\n\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n } else {\n return;\n }\n\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n } else {\n return;\n }\n\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n } else {\n return;\n }\n\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n } else {\n return;\n }\n\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n } else {\n return;\n }\n\n case PAGE_UP:\n if (this._pageUpAndDown.enabled && isModifierAllowed) {\n const targetIndex = this._activeItemIndex() - this._pageUpAndDown.delta;\n this._setActiveItemByIndex(targetIndex > 0 ? targetIndex : 0, 1);\n break;\n } else {\n return;\n }\n\n case PAGE_DOWN:\n if (this._pageUpAndDown.enabled && isModifierAllowed) {\n const targetIndex = this._activeItemIndex() + this._pageUpAndDown.delta;\n const itemsLength = this._getItemsArray().length;\n this._setActiveItemByIndex(targetIndex < itemsLength ? targetIndex : itemsLength - 1, -1);\n break;\n } else {\n return;\n }\n\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n this._typeahead?.handleKey(event);\n }\n\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n\n this._typeahead?.reset();\n event.preventDefault();\n }\n\n /** Index of the currently active item. */\n get activeItemIndex(): number | null {\n return this._activeItemIndex();\n }\n\n /** The active item. */\n get activeItem(): T | null {\n return this._activeItem();\n }\n\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping(): boolean {\n return !!this._typeahead && this._typeahead.isTyping();\n }\n\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive(): void {\n this._setActiveItemByIndex(0, 1);\n }\n\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive(): void {\n this._setActiveItemByIndex(this._getItemsArray().length - 1, -1);\n }\n\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive(): void {\n this._activeItemIndex() < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive(): void {\n this._activeItemIndex() < 0 && this._wrap\n ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n\n /**\n * Allows setting the active without any other effects.\n * @param index Index of the item to be set as active.\n */\n updateActiveItem(index: number): void;\n\n /**\n * Allows setting the active item without any other effects.\n * @param item Item to be set as active.\n */\n updateActiveItem(item: T): void;\n\n updateActiveItem(item: any): void {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem.set(activeItem == null ? null : activeItem);\n this._activeItemIndex.set(index);\n this._typeahead?.setCurrentSelectedItemIndex(index);\n }\n\n /** Cleans up the key manager. */\n destroy() {\n this._typeaheadSubscription.unsubscribe();\n this._itemChangesSubscription?.unsubscribe();\n this._effectRef?.destroy();\n this._typeahead?.destroy();\n this.tabOut.complete();\n this.change.complete();\n }\n\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n private _setActiveItemByDelta(delta: -1 | 1): void {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n private _setActiveInWrapMode(delta: -1 | 1): void {\n const items = this._getItemsArray();\n\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex() + delta * i + items.length) % items.length;\n const item = items[index];\n\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n private _setActiveInDefaultMode(delta: -1 | 1): void {\n this._setActiveItemByIndex(this._activeItemIndex() + delta, delta);\n }\n\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n private _setActiveItemByIndex(index: number, fallbackDelta: -1 | 1): void {\n const items = this._getItemsArray();\n\n if (!items[index]) {\n return;\n }\n\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n\n if (!items[index]) {\n return;\n }\n }\n\n this.setActiveItem(index);\n }\n\n /** Returns the items as an array. */\n private _getItemsArray(): T[] | readonly T[] {\n if (isSignal(this._items)) {\n return this._items();\n }\n\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n\n /** Callback for when the items have changed. */\n private _itemsChanged(newItems: T[] | readonly T[]) {\n this._typeahead?.setItems(newItems);\n const activeItem = this._activeItem();\n if (activeItem) {\n const newIndex = newItems.indexOf(activeItem);\n\n if (newIndex > -1 && newIndex !== this._activeItemIndex()) {\n this._activeItemIndex.set(newIndex);\n this._typeahead?.setCurrentSelectedItemIndex(newIndex);\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -244,7 +244,7 @@ class ScrollStrategyOptions {
|
|
|
244
244
|
reposition = config => createRepositionScrollStrategy(this._injector, config);
|
|
245
245
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
246
246
|
minVersion: "12.0.0",
|
|
247
|
-
version: "22.1.
|
|
247
|
+
version: "22.1.1",
|
|
248
248
|
ngImport: i0,
|
|
249
249
|
type: ScrollStrategyOptions,
|
|
250
250
|
deps: [],
|
|
@@ -252,14 +252,14 @@ class ScrollStrategyOptions {
|
|
|
252
252
|
});
|
|
253
253
|
static ɵprov = i0.ɵɵngDeclareService({
|
|
254
254
|
minVersion: "22.0.0",
|
|
255
|
-
version: "22.1.
|
|
255
|
+
version: "22.1.1",
|
|
256
256
|
ngImport: i0,
|
|
257
257
|
type: ScrollStrategyOptions
|
|
258
258
|
});
|
|
259
259
|
}
|
|
260
260
|
i0.ɵɵngDeclareClassMetadata({
|
|
261
261
|
minVersion: "12.0.0",
|
|
262
|
-
version: "22.1.
|
|
262
|
+
version: "22.1.1",
|
|
263
263
|
ngImport: i0,
|
|
264
264
|
type: ScrollStrategyOptions,
|
|
265
265
|
decorators: [{
|
|
@@ -370,7 +370,7 @@ class BaseOverlayDispatcher {
|
|
|
370
370
|
}
|
|
371
371
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
372
372
|
minVersion: "12.0.0",
|
|
373
|
-
version: "22.1.
|
|
373
|
+
version: "22.1.1",
|
|
374
374
|
ngImport: i0,
|
|
375
375
|
type: BaseOverlayDispatcher,
|
|
376
376
|
deps: [],
|
|
@@ -378,14 +378,14 @@ class BaseOverlayDispatcher {
|
|
|
378
378
|
});
|
|
379
379
|
static ɵprov = i0.ɵɵngDeclareService({
|
|
380
380
|
minVersion: "22.0.0",
|
|
381
|
-
version: "22.1.
|
|
381
|
+
version: "22.1.1",
|
|
382
382
|
ngImport: i0,
|
|
383
383
|
type: BaseOverlayDispatcher
|
|
384
384
|
});
|
|
385
385
|
}
|
|
386
386
|
i0.ɵɵngDeclareClassMetadata({
|
|
387
387
|
minVersion: "12.0.0",
|
|
388
|
-
version: "22.1.
|
|
388
|
+
version: "22.1.1",
|
|
389
389
|
ngImport: i0,
|
|
390
390
|
type: BaseOverlayDispatcher,
|
|
391
391
|
decorators: [{
|
|
@@ -424,7 +424,7 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
424
424
|
};
|
|
425
425
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
426
426
|
minVersion: "12.0.0",
|
|
427
|
-
version: "22.1.
|
|
427
|
+
version: "22.1.1",
|
|
428
428
|
ngImport: i0,
|
|
429
429
|
type: OverlayKeyboardDispatcher,
|
|
430
430
|
deps: [],
|
|
@@ -432,14 +432,14 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
432
432
|
});
|
|
433
433
|
static ɵprov = i0.ɵɵngDeclareService({
|
|
434
434
|
minVersion: "22.0.0",
|
|
435
|
-
version: "22.1.
|
|
435
|
+
version: "22.1.1",
|
|
436
436
|
ngImport: i0,
|
|
437
437
|
type: OverlayKeyboardDispatcher
|
|
438
438
|
});
|
|
439
439
|
}
|
|
440
440
|
i0.ɵɵngDeclareClassMetadata({
|
|
441
441
|
minVersion: "12.0.0",
|
|
442
|
-
version: "22.1.
|
|
442
|
+
version: "22.1.1",
|
|
443
443
|
ngImport: i0,
|
|
444
444
|
type: OverlayKeyboardDispatcher,
|
|
445
445
|
decorators: [{
|
|
@@ -509,7 +509,7 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
509
509
|
};
|
|
510
510
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
511
511
|
minVersion: "12.0.0",
|
|
512
|
-
version: "22.1.
|
|
512
|
+
version: "22.1.1",
|
|
513
513
|
ngImport: i0,
|
|
514
514
|
type: OverlayOutsideClickDispatcher,
|
|
515
515
|
deps: [],
|
|
@@ -517,14 +517,14 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
517
517
|
});
|
|
518
518
|
static ɵprov = i0.ɵɵngDeclareService({
|
|
519
519
|
minVersion: "22.0.0",
|
|
520
|
-
version: "22.1.
|
|
520
|
+
version: "22.1.1",
|
|
521
521
|
ngImport: i0,
|
|
522
522
|
type: OverlayOutsideClickDispatcher
|
|
523
523
|
});
|
|
524
524
|
}
|
|
525
525
|
i0.ɵɵngDeclareClassMetadata({
|
|
526
526
|
minVersion: "12.0.0",
|
|
527
|
-
version: "22.1.
|
|
527
|
+
version: "22.1.1",
|
|
528
528
|
ngImport: i0,
|
|
529
529
|
type: OverlayOutsideClickDispatcher,
|
|
530
530
|
decorators: [{
|
|
@@ -546,7 +546,7 @@ function containsPierceShadowDom(parent, child) {
|
|
|
546
546
|
class _CdkOverlayStyleLoader {
|
|
547
547
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
548
548
|
minVersion: "12.0.0",
|
|
549
|
-
version: "22.1.
|
|
549
|
+
version: "22.1.1",
|
|
550
550
|
ngImport: i0,
|
|
551
551
|
type: _CdkOverlayStyleLoader,
|
|
552
552
|
deps: [],
|
|
@@ -554,7 +554,7 @@ class _CdkOverlayStyleLoader {
|
|
|
554
554
|
});
|
|
555
555
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
556
556
|
minVersion: "14.0.0",
|
|
557
|
-
version: "22.1.
|
|
557
|
+
version: "22.1.1",
|
|
558
558
|
type: _CdkOverlayStyleLoader,
|
|
559
559
|
isStandalone: true,
|
|
560
560
|
selector: "ng-component",
|
|
@@ -572,7 +572,7 @@ class _CdkOverlayStyleLoader {
|
|
|
572
572
|
}
|
|
573
573
|
i0.ɵɵngDeclareClassMetadata({
|
|
574
574
|
minVersion: "12.0.0",
|
|
575
|
-
version: "22.1.
|
|
575
|
+
version: "22.1.1",
|
|
576
576
|
ngImport: i0,
|
|
577
577
|
type: _CdkOverlayStyleLoader,
|
|
578
578
|
decorators: [{
|
|
@@ -625,7 +625,7 @@ class OverlayContainer {
|
|
|
625
625
|
}
|
|
626
626
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
627
627
|
minVersion: "12.0.0",
|
|
628
|
-
version: "22.1.
|
|
628
|
+
version: "22.1.1",
|
|
629
629
|
ngImport: i0,
|
|
630
630
|
type: OverlayContainer,
|
|
631
631
|
deps: [],
|
|
@@ -633,14 +633,14 @@ class OverlayContainer {
|
|
|
633
633
|
});
|
|
634
634
|
static ɵprov = i0.ɵɵngDeclareService({
|
|
635
635
|
minVersion: "22.0.0",
|
|
636
|
-
version: "22.1.
|
|
636
|
+
version: "22.1.1",
|
|
637
637
|
ngImport: i0,
|
|
638
638
|
type: OverlayContainer
|
|
639
639
|
});
|
|
640
640
|
}
|
|
641
641
|
i0.ɵɵngDeclareClassMetadata({
|
|
642
642
|
minVersion: "12.0.0",
|
|
643
|
-
version: "22.1.
|
|
643
|
+
version: "22.1.1",
|
|
644
644
|
ngImport: i0,
|
|
645
645
|
type: OverlayContainer,
|
|
646
646
|
decorators: [{
|
|
@@ -2008,7 +2008,7 @@ class OverlayPositionBuilder {
|
|
|
2008
2008
|
}
|
|
2009
2009
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2010
2010
|
minVersion: "12.0.0",
|
|
2011
|
-
version: "22.1.
|
|
2011
|
+
version: "22.1.1",
|
|
2012
2012
|
ngImport: i0,
|
|
2013
2013
|
type: OverlayPositionBuilder,
|
|
2014
2014
|
deps: [],
|
|
@@ -2016,14 +2016,14 @@ class OverlayPositionBuilder {
|
|
|
2016
2016
|
});
|
|
2017
2017
|
static ɵprov = i0.ɵɵngDeclareService({
|
|
2018
2018
|
minVersion: "22.0.0",
|
|
2019
|
-
version: "22.1.
|
|
2019
|
+
version: "22.1.1",
|
|
2020
2020
|
ngImport: i0,
|
|
2021
2021
|
type: OverlayPositionBuilder
|
|
2022
2022
|
});
|
|
2023
2023
|
}
|
|
2024
2024
|
i0.ɵɵngDeclareClassMetadata({
|
|
2025
2025
|
minVersion: "12.0.0",
|
|
2026
|
-
version: "22.1.
|
|
2026
|
+
version: "22.1.1",
|
|
2027
2027
|
ngImport: i0,
|
|
2028
2028
|
type: OverlayPositionBuilder,
|
|
2029
2029
|
decorators: [{
|
|
@@ -2085,7 +2085,7 @@ class Overlay {
|
|
|
2085
2085
|
}
|
|
2086
2086
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2087
2087
|
minVersion: "12.0.0",
|
|
2088
|
-
version: "22.1.
|
|
2088
|
+
version: "22.1.1",
|
|
2089
2089
|
ngImport: i0,
|
|
2090
2090
|
type: Overlay,
|
|
2091
2091
|
deps: [],
|
|
@@ -2093,14 +2093,14 @@ class Overlay {
|
|
|
2093
2093
|
});
|
|
2094
2094
|
static ɵprov = i0.ɵɵngDeclareService({
|
|
2095
2095
|
minVersion: "22.0.0",
|
|
2096
|
-
version: "22.1.
|
|
2096
|
+
version: "22.1.1",
|
|
2097
2097
|
ngImport: i0,
|
|
2098
2098
|
type: Overlay
|
|
2099
2099
|
});
|
|
2100
2100
|
}
|
|
2101
2101
|
i0.ɵɵngDeclareClassMetadata({
|
|
2102
2102
|
minVersion: "12.0.0",
|
|
2103
|
-
version: "22.1.
|
|
2103
|
+
version: "22.1.1",
|
|
2104
2104
|
ngImport: i0,
|
|
2105
2105
|
type: Overlay,
|
|
2106
2106
|
decorators: [{
|
|
@@ -2140,7 +2140,7 @@ class CdkOverlayOrigin {
|
|
|
2140
2140
|
elementRef = inject(ElementRef);
|
|
2141
2141
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2142
2142
|
minVersion: "12.0.0",
|
|
2143
|
-
version: "22.1.
|
|
2143
|
+
version: "22.1.1",
|
|
2144
2144
|
ngImport: i0,
|
|
2145
2145
|
type: CdkOverlayOrigin,
|
|
2146
2146
|
deps: [],
|
|
@@ -2148,7 +2148,7 @@ class CdkOverlayOrigin {
|
|
|
2148
2148
|
});
|
|
2149
2149
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
2150
2150
|
minVersion: "14.0.0",
|
|
2151
|
-
version: "22.1.
|
|
2151
|
+
version: "22.1.1",
|
|
2152
2152
|
type: CdkOverlayOrigin,
|
|
2153
2153
|
isStandalone: true,
|
|
2154
2154
|
selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]",
|
|
@@ -2158,7 +2158,7 @@ class CdkOverlayOrigin {
|
|
|
2158
2158
|
}
|
|
2159
2159
|
i0.ɵɵngDeclareClassMetadata({
|
|
2160
2160
|
minVersion: "12.0.0",
|
|
2161
|
-
version: "22.1.
|
|
2161
|
+
version: "22.1.1",
|
|
2162
2162
|
ngImport: i0,
|
|
2163
2163
|
type: CdkOverlayOrigin,
|
|
2164
2164
|
decorators: [{
|
|
@@ -2435,7 +2435,7 @@ class CdkConnectedOverlay {
|
|
|
2435
2435
|
}
|
|
2436
2436
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2437
2437
|
minVersion: "12.0.0",
|
|
2438
|
-
version: "22.1.
|
|
2438
|
+
version: "22.1.1",
|
|
2439
2439
|
ngImport: i0,
|
|
2440
2440
|
type: CdkConnectedOverlay,
|
|
2441
2441
|
deps: [],
|
|
@@ -2443,7 +2443,7 @@ class CdkConnectedOverlay {
|
|
|
2443
2443
|
});
|
|
2444
2444
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
2445
2445
|
minVersion: "16.1.0",
|
|
2446
|
-
version: "22.1.
|
|
2446
|
+
version: "22.1.1",
|
|
2447
2447
|
type: CdkConnectedOverlay,
|
|
2448
2448
|
isStandalone: true,
|
|
2449
2449
|
selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]",
|
|
@@ -2489,7 +2489,7 @@ class CdkConnectedOverlay {
|
|
|
2489
2489
|
}
|
|
2490
2490
|
i0.ɵɵngDeclareClassMetadata({
|
|
2491
2491
|
minVersion: "12.0.0",
|
|
2492
|
-
version: "22.1.
|
|
2492
|
+
version: "22.1.1",
|
|
2493
2493
|
ngImport: i0,
|
|
2494
2494
|
type: CdkConnectedOverlay,
|
|
2495
2495
|
decorators: [{
|
|
@@ -2648,7 +2648,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2648
2648
|
class OverlayModule {
|
|
2649
2649
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2650
2650
|
minVersion: "12.0.0",
|
|
2651
|
-
version: "22.1.
|
|
2651
|
+
version: "22.1.1",
|
|
2652
2652
|
ngImport: i0,
|
|
2653
2653
|
type: OverlayModule,
|
|
2654
2654
|
deps: [],
|
|
@@ -2656,7 +2656,7 @@ class OverlayModule {
|
|
|
2656
2656
|
});
|
|
2657
2657
|
static ɵmod = i0.ɵɵngDeclareNgModule({
|
|
2658
2658
|
minVersion: "14.0.0",
|
|
2659
|
-
version: "22.1.
|
|
2659
|
+
version: "22.1.1",
|
|
2660
2660
|
ngImport: i0,
|
|
2661
2661
|
type: OverlayModule,
|
|
2662
2662
|
imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin],
|
|
@@ -2664,7 +2664,7 @@ class OverlayModule {
|
|
|
2664
2664
|
});
|
|
2665
2665
|
static ɵinj = i0.ɵɵngDeclareInjector({
|
|
2666
2666
|
minVersion: "12.0.0",
|
|
2667
|
-
version: "22.1.
|
|
2667
|
+
version: "22.1.1",
|
|
2668
2668
|
ngImport: i0,
|
|
2669
2669
|
type: OverlayModule,
|
|
2670
2670
|
providers: [Overlay],
|
|
@@ -2673,7 +2673,7 @@ class OverlayModule {
|
|
|
2673
2673
|
}
|
|
2674
2674
|
i0.ɵɵngDeclareClassMetadata({
|
|
2675
2675
|
minVersion: "12.0.0",
|
|
2676
|
-
version: "22.1.
|
|
2676
|
+
version: "22.1.1",
|
|
2677
2677
|
ngImport: i0,
|
|
2678
2678
|
type: OverlayModule,
|
|
2679
2679
|
decorators: [{
|