@angular/cdk 21.0.2 → 21.0.5
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 +22 -22
- 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 +5 -5
- package/fesm2022/_list-key-manager-chunk.mjs.map +1 -1
- package/fesm2022/_overlay-module-chunk.mjs +42 -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/_visually-hidden-chunk.mjs +3 -3
- package/fesm2022/_visually-hidden-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 +69 -52
- 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.map +1 -1
- package/fesm2022/scrolling.mjs +40 -40
- 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 +7 -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/_overlay-module-chunk.d.ts +1 -0
- package/types/menu.d.ts +7 -2
- package/types/testing-testbed.d.ts +3 -0
- package/_adev_assets/cdk_drag_drop.json +0 -7221
- package/_adev_assets/cdk_testing.json +0 -7601
- package/_adev_assets/cdk_testing_protractor.json +0 -1747
- package/_adev_assets/cdk_testing_selenium_webdriver.json +0 -1801
- package/_adev_assets/cdk_testing_testbed.json +0 -1903
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_id-generator-chunk.mjs","sources":["../../../../../
|
|
1
|
+
{"version":3,"file":"_id-generator-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/a11y/id-generator.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 {APP_ID, inject, Injectable} from '@angular/core';\n\n/**\n * Keeps track of the ID count per prefix. This helps us make the IDs a bit more deterministic\n * like they were before the service was introduced. Note that ideally we wouldn't have to do\n * this, but there are some internal tests that rely on the IDs.\n */\nconst counters: Record<string, number> = {};\n\n/** Service that generates unique IDs for DOM nodes. */\n@Injectable({providedIn: 'root'})\nexport class _IdGenerator {\n private _appId = inject(APP_ID);\n private static _infix = `a${Math.floor(Math.random() * 100000).toString()}`;\n\n /**\n * Generates a unique ID with a specific prefix.\n * @param prefix Prefix to add to the ID.\n * @param randomize Add a randomized infix string.\n */\n getId(prefix: string, randomize: boolean = false): string {\n // Omit the app ID if it's the default `ng`. Since the vast majority of pages have one\n // Angular app on them, we can reduce the amount of breakages by not adding it.\n if (this._appId !== 'ng') {\n prefix += this._appId;\n }\n\n if (!counters.hasOwnProperty(prefix)) {\n counters[prefix] = 0;\n }\n\n return `${prefix}${randomize ? _IdGenerator._infix + '-' : ''}${counters[prefix]++}`;\n }\n}\n"],"names":["counters","_IdGenerator","_appId","inject","APP_ID","_infix","Math","floor","random","toString","getId","prefix","randomize","hasOwnProperty","deps","target","i0","ɵɵFactoryTarget","Injectable","ɵprov","ɵɵngDeclareInjectable","minVersion","version","ngImport","type","decorators","providedIn"],"mappings":";;;AAeA,MAAMA,QAAQ,GAA2B,EAAE;MAI9BC,YAAY,CAAA;AACfC,EAAAA,MAAM,GAAGC,MAAM,CAACC,MAAM,CAAC;AACvB,EAAA,OAAOC,MAAM,GAAG,CAAA,CAAA,EAAIC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAG,MAAM,CAAC,CAACC,QAAQ,EAAE,CAAE,CAAA;AAO3EC,EAAAA,KAAKA,CAACC,MAAc,EAAEC,SAAA,GAAqB,KAAK,EAAA;AAG9C,IAAA,IAAI,IAAI,CAACV,MAAM,KAAK,IAAI,EAAE;MACxBS,MAAM,IAAI,IAAI,CAACT,MAAM;AACvB;AAEA,IAAA,IAAI,CAACF,QAAQ,CAACa,cAAc,CAACF,MAAM,CAAC,EAAE;AACpCX,MAAAA,QAAQ,CAACW,MAAM,CAAC,GAAG,CAAC;AACtB;AAEA,IAAA,OAAO,GAAGA,MAAM,CAAA,EAAGC,SAAS,GAAGX,YAAY,CAACI,MAAM,GAAG,GAAG,GAAG,EAAE,CAAGL,EAAAA,QAAQ,CAACW,MAAM,CAAC,EAAE,CAAE,CAAA;AACtF;;;;;UArBWV,YAAY;AAAAa,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAZ,EAAA,OAAAC,KAAA,GAAAH,EAAA,CAAAI,qBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,QAAA;AAAAC,IAAAA,QAAA,EAAAP,EAAA;AAAAQ,IAAAA,IAAA,EAAAvB,YAAY;gBADA;AAAM,GAAA,CAAA;;;;;;QAClBA,YAAY;AAAAwB,EAAAA,UAAA,EAAA,CAAA;UADxBP,UAAU;WAAC;AAACQ,MAAAA,UAAU,EAAE;KAAO;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_keycodes-chunk.mjs","sources":["../../../../../
|
|
1
|
+
{"version":3,"file":"_keycodes-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/keycodes/keycodes.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\nexport const MAC_ENTER = 3;\nexport const BACKSPACE = 8;\nexport const TAB = 9;\nexport const NUM_CENTER = 12;\nexport const ENTER = 13;\nexport const SHIFT = 16;\nexport const CONTROL = 17;\nexport const ALT = 18;\nexport const PAUSE = 19;\nexport const CAPS_LOCK = 20;\nexport const ESCAPE = 27;\nexport const SPACE = 32;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const END = 35;\nexport const HOME = 36;\nexport const LEFT_ARROW = 37;\nexport const UP_ARROW = 38;\nexport const RIGHT_ARROW = 39;\nexport const DOWN_ARROW = 40;\nexport const PLUS_SIGN = 43;\nexport const PRINT_SCREEN = 44;\nexport const INSERT = 45;\nexport const DELETE = 46;\nexport const ZERO = 48;\nexport const ONE = 49;\nexport const TWO = 50;\nexport const THREE = 51;\nexport const FOUR = 52;\nexport const FIVE = 53;\nexport const SIX = 54;\nexport const SEVEN = 55;\nexport const EIGHT = 56;\nexport const NINE = 57;\nexport const FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nexport const FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nexport const QUESTION_MARK = 63;\nexport const AT_SIGN = 64;\nexport const A = 65;\nexport const B = 66;\nexport const C = 67;\nexport const D = 68;\nexport const E = 69;\nexport const F = 70;\nexport const G = 71;\nexport const H = 72;\nexport const I = 73;\nexport const J = 74;\nexport const K = 75;\nexport const L = 76;\nexport const M = 77;\nexport const N = 78;\nexport const O = 79;\nexport const P = 80;\nexport const Q = 81;\nexport const R = 82;\nexport const S = 83;\nexport const T = 84;\nexport const U = 85;\nexport const V = 86;\nexport const W = 87;\nexport const X = 88;\nexport const Y = 89;\nexport const Z = 90;\nexport const META = 91; // WIN_KEY_LEFT\nexport const MAC_WK_CMD_LEFT = 91;\nexport const MAC_WK_CMD_RIGHT = 93;\nexport const CONTEXT_MENU = 93;\nexport const NUMPAD_ZERO = 96;\nexport const NUMPAD_ONE = 97;\nexport const NUMPAD_TWO = 98;\nexport const NUMPAD_THREE = 99;\nexport const NUMPAD_FOUR = 100;\nexport const NUMPAD_FIVE = 101;\nexport const NUMPAD_SIX = 102;\nexport const NUMPAD_SEVEN = 103;\nexport const NUMPAD_EIGHT = 104;\nexport const NUMPAD_NINE = 105;\nexport const NUMPAD_MULTIPLY = 106;\nexport const NUMPAD_PLUS = 107;\nexport const NUMPAD_MINUS = 109;\nexport const NUMPAD_PERIOD = 110;\nexport const NUMPAD_DIVIDE = 111;\nexport const F1 = 112;\nexport const F2 = 113;\nexport const F3 = 114;\nexport const F4 = 115;\nexport const F5 = 116;\nexport const F6 = 117;\nexport const F7 = 118;\nexport const F8 = 119;\nexport const F9 = 120;\nexport const F10 = 121;\nexport const F11 = 122;\nexport const F12 = 123;\nexport const NUM_LOCK = 144;\nexport const SCROLL_LOCK = 145;\nexport const FIRST_MEDIA = 166;\nexport const FF_MINUS = 173;\nexport const MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nexport const VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nexport const VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nexport const FF_MUTE = 181;\nexport const FF_VOLUME_DOWN = 182;\nexport const LAST_MEDIA = 183;\nexport const FF_VOLUME_UP = 183;\nexport const SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nexport const EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nexport const COMMA = 188;\nexport const DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nexport const PERIOD = 190;\nexport const SLASH = 191;\nexport const APOSTROPHE = 192;\nexport const TILDE = 192;\nexport const OPEN_SQUARE_BRACKET = 219;\nexport const BACKSLASH = 220;\nexport const CLOSE_SQUARE_BRACKET = 221;\nexport const SINGLE_QUOTE = 222;\nexport const MAC_META = 224;\n"],"names":["MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CONTROL","ALT","PAUSE","CAPS_LOCK","ESCAPE","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT_ARROW","UP_ARROW","RIGHT_ARROW","DOWN_ARROW","PLUS_SIGN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","FF_SEMICOLON","FF_EQUALS","QUESTION_MARK","AT_SIGN","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","MAC_WK_CMD_LEFT","MAC_WK_CMD_RIGHT","CONTEXT_MENU","NUMPAD_ZERO","NUMPAD_ONE","NUMPAD_TWO","NUMPAD_THREE","NUMPAD_FOUR","NUMPAD_FIVE","NUMPAD_SIX","NUMPAD_SEVEN","NUMPAD_EIGHT","NUMPAD_NINE","NUMPAD_MULTIPLY","NUMPAD_PLUS","NUMPAD_MINUS","NUMPAD_PERIOD","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUM_LOCK","SCROLL_LOCK","FIRST_MEDIA","FF_MINUS","MUTE","VOLUME_DOWN","VOLUME_UP","FF_MUTE","FF_VOLUME_DOWN","LAST_MEDIA","FF_VOLUME_UP","SEMICOLON","EQUALS","COMMA","DASH","PERIOD","SLASH","APOSTROPHE","TILDE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","SINGLE_QUOTE","MAC_META"],"mappings":"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"}
|
|
@@ -34,12 +34,12 @@ class ListKeyManager {
|
|
|
34
34
|
if (!injector && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
35
35
|
throw new Error('ListKeyManager constructed with a signal must receive an injector');
|
|
36
36
|
}
|
|
37
|
-
this._effectRef = effect(() => this._itemsChanged(_items()),
|
|
38
|
-
|
|
37
|
+
this._effectRef = effect(() => this._itemsChanged(_items()), {
|
|
38
|
+
...(ngDevMode ? {
|
|
39
|
+
debugName: "_effectRef"
|
|
40
|
+
} : {}),
|
|
39
41
|
injector
|
|
40
|
-
}
|
|
41
|
-
injector
|
|
42
|
-
}]));
|
|
42
|
+
});
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
tabOut = new Subject();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_list-key-manager-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/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;\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":["ListKeyManager","_items","_activeItemIndex","signal","_activeItem","_wrap","_typeaheadSubscription","Subscription","EMPTY","_itemChangesSubscription","_vertical","_horizontal","_allowedModifierKeys","_homeAndEnd","_pageUpAndDown","enabled","delta","_effectRef","_typeahead","_skipPredicateFn","item","disabled","constructor","injector","QueryList","changes","subscribe","newItems","_itemsChanged","toArray","isSignal","ngDevMode","Error","effect","debugName","tabOut","Subject","change","skipPredicate","predicate","withWrap","shouldWrap","withVerticalOrientation","withHorizontalOrientation","direction","withAllowedModifierKeys","keys","withTypeAhead","debounceInterval","items","_getItemsArray","length","some","getLabel","unsubscribe","Typeahead","undefined","selectedItem","setActiveItem","cancelTypeahead","reset","withHomeAndEnd","withPageUpDown","previousActiveItem","updateActiveItem","next","onKeydown","event","keyCode","modifiers","isModifierAllowed","every","modifier","indexOf","TAB","DOWN_ARROW","setNextItemActive","UP_ARROW","setPreviousItemActive","RIGHT_ARROW","LEFT_ARROW","HOME","setFirstItemActive","END","setLastItemActive","PAGE_UP","targetIndex","_setActiveItemByIndex","PAGE_DOWN","itemsLength","hasModifierKey","handleKey","preventDefault","activeItemIndex","activeItem","isTyping","_setActiveItemByDelta","itemArray","index","set","setCurrentSelectedItemIndex","destroy","complete","_setActiveInWrapMode","_setActiveInDefaultMode","i","fallbackDelta","setItems","newIndex"],"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;\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":["ListKeyManager","_items","_activeItemIndex","signal","_activeItem","_wrap","_typeaheadSubscription","Subscription","EMPTY","_itemChangesSubscription","_vertical","_horizontal","_allowedModifierKeys","_homeAndEnd","_pageUpAndDown","enabled","delta","_effectRef","_typeahead","_skipPredicateFn","item","disabled","constructor","injector","QueryList","changes","subscribe","newItems","_itemsChanged","toArray","isSignal","ngDevMode","Error","effect","debugName","tabOut","Subject","change","skipPredicate","predicate","withWrap","shouldWrap","withVerticalOrientation","withHorizontalOrientation","direction","withAllowedModifierKeys","keys","withTypeAhead","debounceInterval","items","_getItemsArray","length","some","getLabel","unsubscribe","Typeahead","undefined","selectedItem","setActiveItem","cancelTypeahead","reset","withHomeAndEnd","withPageUpDown","previousActiveItem","updateActiveItem","next","onKeydown","event","keyCode","modifiers","isModifierAllowed","every","modifier","indexOf","TAB","DOWN_ARROW","setNextItemActive","UP_ARROW","setPreviousItemActive","RIGHT_ARROW","LEFT_ARROW","HOME","setFirstItemActive","END","setLastItemActive","PAGE_UP","targetIndex","_setActiveItemByIndex","PAGE_DOWN","itemsLength","hasModifierKey","handleKey","preventDefault","activeItemIndex","activeItem","isTyping","_setActiveItemByDelta","itemArray","index","set","setCurrentSelectedItemIndex","destroy","complete","_setActiveInWrapMode","_setActiveInDefaultMode","i","fallbackDelta","setItems","newIndex"],"mappings":"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"}
|
|
@@ -245,7 +245,7 @@ class ScrollStrategyOptions {
|
|
|
245
245
|
reposition = config => createRepositionScrollStrategy(this._injector, config);
|
|
246
246
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
247
247
|
minVersion: "12.0.0",
|
|
248
|
-
version: "21.0.
|
|
248
|
+
version: "21.0.3",
|
|
249
249
|
ngImport: i0,
|
|
250
250
|
type: ScrollStrategyOptions,
|
|
251
251
|
deps: [],
|
|
@@ -253,7 +253,7 @@ class ScrollStrategyOptions {
|
|
|
253
253
|
});
|
|
254
254
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
255
255
|
minVersion: "12.0.0",
|
|
256
|
-
version: "21.0.
|
|
256
|
+
version: "21.0.3",
|
|
257
257
|
ngImport: i0,
|
|
258
258
|
type: ScrollStrategyOptions,
|
|
259
259
|
providedIn: 'root'
|
|
@@ -261,7 +261,7 @@ class ScrollStrategyOptions {
|
|
|
261
261
|
}
|
|
262
262
|
i0.ɵɵngDeclareClassMetadata({
|
|
263
263
|
minVersion: "12.0.0",
|
|
264
|
-
version: "21.0.
|
|
264
|
+
version: "21.0.3",
|
|
265
265
|
ngImport: i0,
|
|
266
266
|
type: ScrollStrategyOptions,
|
|
267
267
|
decorators: [{
|
|
@@ -367,7 +367,7 @@ class BaseOverlayDispatcher {
|
|
|
367
367
|
}
|
|
368
368
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
369
369
|
minVersion: "12.0.0",
|
|
370
|
-
version: "21.0.
|
|
370
|
+
version: "21.0.3",
|
|
371
371
|
ngImport: i0,
|
|
372
372
|
type: BaseOverlayDispatcher,
|
|
373
373
|
deps: [],
|
|
@@ -375,7 +375,7 @@ class BaseOverlayDispatcher {
|
|
|
375
375
|
});
|
|
376
376
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
377
377
|
minVersion: "12.0.0",
|
|
378
|
-
version: "21.0.
|
|
378
|
+
version: "21.0.3",
|
|
379
379
|
ngImport: i0,
|
|
380
380
|
type: BaseOverlayDispatcher,
|
|
381
381
|
providedIn: 'root'
|
|
@@ -383,7 +383,7 @@ class BaseOverlayDispatcher {
|
|
|
383
383
|
}
|
|
384
384
|
i0.ɵɵngDeclareClassMetadata({
|
|
385
385
|
minVersion: "12.0.0",
|
|
386
|
-
version: "21.0.
|
|
386
|
+
version: "21.0.3",
|
|
387
387
|
ngImport: i0,
|
|
388
388
|
type: BaseOverlayDispatcher,
|
|
389
389
|
decorators: [{
|
|
@@ -425,7 +425,7 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
425
425
|
};
|
|
426
426
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
427
427
|
minVersion: "12.0.0",
|
|
428
|
-
version: "21.0.
|
|
428
|
+
version: "21.0.3",
|
|
429
429
|
ngImport: i0,
|
|
430
430
|
type: OverlayKeyboardDispatcher,
|
|
431
431
|
deps: null,
|
|
@@ -433,7 +433,7 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
433
433
|
});
|
|
434
434
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
435
435
|
minVersion: "12.0.0",
|
|
436
|
-
version: "21.0.
|
|
436
|
+
version: "21.0.3",
|
|
437
437
|
ngImport: i0,
|
|
438
438
|
type: OverlayKeyboardDispatcher,
|
|
439
439
|
providedIn: 'root'
|
|
@@ -441,7 +441,7 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
441
441
|
}
|
|
442
442
|
i0.ɵɵngDeclareClassMetadata({
|
|
443
443
|
minVersion: "12.0.0",
|
|
444
|
-
version: "21.0.
|
|
444
|
+
version: "21.0.3",
|
|
445
445
|
ngImport: i0,
|
|
446
446
|
type: OverlayKeyboardDispatcher,
|
|
447
447
|
decorators: [{
|
|
@@ -514,7 +514,7 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
514
514
|
};
|
|
515
515
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
516
516
|
minVersion: "12.0.0",
|
|
517
|
-
version: "21.0.
|
|
517
|
+
version: "21.0.3",
|
|
518
518
|
ngImport: i0,
|
|
519
519
|
type: OverlayOutsideClickDispatcher,
|
|
520
520
|
deps: null,
|
|
@@ -522,7 +522,7 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
522
522
|
});
|
|
523
523
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
524
524
|
minVersion: "12.0.0",
|
|
525
|
-
version: "21.0.
|
|
525
|
+
version: "21.0.3",
|
|
526
526
|
ngImport: i0,
|
|
527
527
|
type: OverlayOutsideClickDispatcher,
|
|
528
528
|
providedIn: 'root'
|
|
@@ -530,7 +530,7 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
530
530
|
}
|
|
531
531
|
i0.ɵɵngDeclareClassMetadata({
|
|
532
532
|
minVersion: "12.0.0",
|
|
533
|
-
version: "21.0.
|
|
533
|
+
version: "21.0.3",
|
|
534
534
|
ngImport: i0,
|
|
535
535
|
type: OverlayOutsideClickDispatcher,
|
|
536
536
|
decorators: [{
|
|
@@ -555,7 +555,7 @@ function containsPierceShadowDom(parent, child) {
|
|
|
555
555
|
class _CdkOverlayStyleLoader {
|
|
556
556
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
557
557
|
minVersion: "12.0.0",
|
|
558
|
-
version: "21.0.
|
|
558
|
+
version: "21.0.3",
|
|
559
559
|
ngImport: i0,
|
|
560
560
|
type: _CdkOverlayStyleLoader,
|
|
561
561
|
deps: [],
|
|
@@ -563,7 +563,7 @@ class _CdkOverlayStyleLoader {
|
|
|
563
563
|
});
|
|
564
564
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
565
565
|
minVersion: "14.0.0",
|
|
566
|
-
version: "21.0.
|
|
566
|
+
version: "21.0.3",
|
|
567
567
|
type: _CdkOverlayStyleLoader,
|
|
568
568
|
isStandalone: true,
|
|
569
569
|
selector: "ng-component",
|
|
@@ -582,7 +582,7 @@ class _CdkOverlayStyleLoader {
|
|
|
582
582
|
}
|
|
583
583
|
i0.ɵɵngDeclareClassMetadata({
|
|
584
584
|
minVersion: "12.0.0",
|
|
585
|
-
version: "21.0.
|
|
585
|
+
version: "21.0.3",
|
|
586
586
|
ngImport: i0,
|
|
587
587
|
type: _CdkOverlayStyleLoader,
|
|
588
588
|
decorators: [{
|
|
@@ -637,7 +637,7 @@ class OverlayContainer {
|
|
|
637
637
|
}
|
|
638
638
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
639
639
|
minVersion: "12.0.0",
|
|
640
|
-
version: "21.0.
|
|
640
|
+
version: "21.0.3",
|
|
641
641
|
ngImport: i0,
|
|
642
642
|
type: OverlayContainer,
|
|
643
643
|
deps: [],
|
|
@@ -645,7 +645,7 @@ class OverlayContainer {
|
|
|
645
645
|
});
|
|
646
646
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
647
647
|
minVersion: "12.0.0",
|
|
648
|
-
version: "21.0.
|
|
648
|
+
version: "21.0.3",
|
|
649
649
|
ngImport: i0,
|
|
650
650
|
type: OverlayContainer,
|
|
651
651
|
providedIn: 'root'
|
|
@@ -653,7 +653,7 @@ class OverlayContainer {
|
|
|
653
653
|
}
|
|
654
654
|
i0.ɵɵngDeclareClassMetadata({
|
|
655
655
|
minVersion: "12.0.0",
|
|
656
|
-
version: "21.0.
|
|
656
|
+
version: "21.0.3",
|
|
657
657
|
ngImport: i0,
|
|
658
658
|
type: OverlayContainer,
|
|
659
659
|
decorators: [{
|
|
@@ -724,6 +724,7 @@ class OverlayRef {
|
|
|
724
724
|
_backdropRef = null;
|
|
725
725
|
_detachContentMutationObserver;
|
|
726
726
|
_detachContentAfterRenderRef;
|
|
727
|
+
_disposed;
|
|
727
728
|
_previousHostParent;
|
|
728
729
|
_keydownEvents = new Subject();
|
|
729
730
|
_outsidePointerEvents = new Subject();
|
|
@@ -757,6 +758,9 @@ class OverlayRef {
|
|
|
757
758
|
return this._host;
|
|
758
759
|
}
|
|
759
760
|
attach(portal) {
|
|
761
|
+
if (this._disposed) {
|
|
762
|
+
return null;
|
|
763
|
+
}
|
|
760
764
|
this._attachHost();
|
|
761
765
|
const attachResult = this._portalOutlet.attach(portal);
|
|
762
766
|
this._positionStrategy?.attach(this);
|
|
@@ -819,6 +823,9 @@ class OverlayRef {
|
|
|
819
823
|
return detachmentResult;
|
|
820
824
|
}
|
|
821
825
|
dispose() {
|
|
826
|
+
if (this._disposed) {
|
|
827
|
+
return;
|
|
828
|
+
}
|
|
822
829
|
const isAttached = this.hasAttached();
|
|
823
830
|
if (this._positionStrategy) {
|
|
824
831
|
this._positionStrategy.dispose();
|
|
@@ -841,6 +848,7 @@ class OverlayRef {
|
|
|
841
848
|
}
|
|
842
849
|
this._detachments.complete();
|
|
843
850
|
this._completeDetachContent();
|
|
851
|
+
this._disposed = true;
|
|
844
852
|
}
|
|
845
853
|
hasAttached() {
|
|
846
854
|
return this._portalOutlet.hasAttached();
|
|
@@ -2004,7 +2012,7 @@ class OverlayPositionBuilder {
|
|
|
2004
2012
|
}
|
|
2005
2013
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2006
2014
|
minVersion: "12.0.0",
|
|
2007
|
-
version: "21.0.
|
|
2015
|
+
version: "21.0.3",
|
|
2008
2016
|
ngImport: i0,
|
|
2009
2017
|
type: OverlayPositionBuilder,
|
|
2010
2018
|
deps: [],
|
|
@@ -2012,7 +2020,7 @@ class OverlayPositionBuilder {
|
|
|
2012
2020
|
});
|
|
2013
2021
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
2014
2022
|
minVersion: "12.0.0",
|
|
2015
|
-
version: "21.0.
|
|
2023
|
+
version: "21.0.3",
|
|
2016
2024
|
ngImport: i0,
|
|
2017
2025
|
type: OverlayPositionBuilder,
|
|
2018
2026
|
providedIn: 'root'
|
|
@@ -2020,7 +2028,7 @@ class OverlayPositionBuilder {
|
|
|
2020
2028
|
}
|
|
2021
2029
|
i0.ɵɵngDeclareClassMetadata({
|
|
2022
2030
|
minVersion: "12.0.0",
|
|
2023
|
-
version: "21.0.
|
|
2031
|
+
version: "21.0.3",
|
|
2024
2032
|
ngImport: i0,
|
|
2025
2033
|
type: OverlayPositionBuilder,
|
|
2026
2034
|
decorators: [{
|
|
@@ -2086,7 +2094,7 @@ class Overlay {
|
|
|
2086
2094
|
}
|
|
2087
2095
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2088
2096
|
minVersion: "12.0.0",
|
|
2089
|
-
version: "21.0.
|
|
2097
|
+
version: "21.0.3",
|
|
2090
2098
|
ngImport: i0,
|
|
2091
2099
|
type: Overlay,
|
|
2092
2100
|
deps: [],
|
|
@@ -2094,7 +2102,7 @@ class Overlay {
|
|
|
2094
2102
|
});
|
|
2095
2103
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
2096
2104
|
minVersion: "12.0.0",
|
|
2097
|
-
version: "21.0.
|
|
2105
|
+
version: "21.0.3",
|
|
2098
2106
|
ngImport: i0,
|
|
2099
2107
|
type: Overlay,
|
|
2100
2108
|
providedIn: 'root'
|
|
@@ -2102,7 +2110,7 @@ class Overlay {
|
|
|
2102
2110
|
}
|
|
2103
2111
|
i0.ɵɵngDeclareClassMetadata({
|
|
2104
2112
|
minVersion: "12.0.0",
|
|
2105
|
-
version: "21.0.
|
|
2113
|
+
version: "21.0.3",
|
|
2106
2114
|
ngImport: i0,
|
|
2107
2115
|
type: Overlay,
|
|
2108
2116
|
decorators: [{
|
|
@@ -2147,7 +2155,7 @@ class CdkOverlayOrigin {
|
|
|
2147
2155
|
constructor() {}
|
|
2148
2156
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2149
2157
|
minVersion: "12.0.0",
|
|
2150
|
-
version: "21.0.
|
|
2158
|
+
version: "21.0.3",
|
|
2151
2159
|
ngImport: i0,
|
|
2152
2160
|
type: CdkOverlayOrigin,
|
|
2153
2161
|
deps: [],
|
|
@@ -2155,7 +2163,7 @@ class CdkOverlayOrigin {
|
|
|
2155
2163
|
});
|
|
2156
2164
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
2157
2165
|
minVersion: "14.0.0",
|
|
2158
|
-
version: "21.0.
|
|
2166
|
+
version: "21.0.3",
|
|
2159
2167
|
type: CdkOverlayOrigin,
|
|
2160
2168
|
isStandalone: true,
|
|
2161
2169
|
selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]",
|
|
@@ -2165,7 +2173,7 @@ class CdkOverlayOrigin {
|
|
|
2165
2173
|
}
|
|
2166
2174
|
i0.ɵɵngDeclareClassMetadata({
|
|
2167
2175
|
minVersion: "12.0.0",
|
|
2168
|
-
version: "21.0.
|
|
2176
|
+
version: "21.0.3",
|
|
2169
2177
|
ngImport: i0,
|
|
2170
2178
|
type: CdkOverlayOrigin,
|
|
2171
2179
|
decorators: [{
|
|
@@ -2443,7 +2451,7 @@ class CdkConnectedOverlay {
|
|
|
2443
2451
|
}
|
|
2444
2452
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2445
2453
|
minVersion: "12.0.0",
|
|
2446
|
-
version: "21.0.
|
|
2454
|
+
version: "21.0.3",
|
|
2447
2455
|
ngImport: i0,
|
|
2448
2456
|
type: CdkConnectedOverlay,
|
|
2449
2457
|
deps: [],
|
|
@@ -2451,7 +2459,7 @@ class CdkConnectedOverlay {
|
|
|
2451
2459
|
});
|
|
2452
2460
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
2453
2461
|
minVersion: "16.1.0",
|
|
2454
|
-
version: "21.0.
|
|
2462
|
+
version: "21.0.3",
|
|
2455
2463
|
type: CdkConnectedOverlay,
|
|
2456
2464
|
isStandalone: true,
|
|
2457
2465
|
selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]",
|
|
@@ -2497,7 +2505,7 @@ class CdkConnectedOverlay {
|
|
|
2497
2505
|
}
|
|
2498
2506
|
i0.ɵɵngDeclareClassMetadata({
|
|
2499
2507
|
minVersion: "12.0.0",
|
|
2500
|
-
version: "21.0.
|
|
2508
|
+
version: "21.0.3",
|
|
2501
2509
|
ngImport: i0,
|
|
2502
2510
|
type: CdkConnectedOverlay,
|
|
2503
2511
|
decorators: [{
|
|
@@ -2656,7 +2664,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2656
2664
|
class OverlayModule {
|
|
2657
2665
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2658
2666
|
minVersion: "12.0.0",
|
|
2659
|
-
version: "21.0.
|
|
2667
|
+
version: "21.0.3",
|
|
2660
2668
|
ngImport: i0,
|
|
2661
2669
|
type: OverlayModule,
|
|
2662
2670
|
deps: [],
|
|
@@ -2664,7 +2672,7 @@ class OverlayModule {
|
|
|
2664
2672
|
});
|
|
2665
2673
|
static ɵmod = i0.ɵɵngDeclareNgModule({
|
|
2666
2674
|
minVersion: "14.0.0",
|
|
2667
|
-
version: "21.0.
|
|
2675
|
+
version: "21.0.3",
|
|
2668
2676
|
ngImport: i0,
|
|
2669
2677
|
type: OverlayModule,
|
|
2670
2678
|
imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin],
|
|
@@ -2672,7 +2680,7 @@ class OverlayModule {
|
|
|
2672
2680
|
});
|
|
2673
2681
|
static ɵinj = i0.ɵɵngDeclareInjector({
|
|
2674
2682
|
minVersion: "12.0.0",
|
|
2675
|
-
version: "21.0.
|
|
2683
|
+
version: "21.0.3",
|
|
2676
2684
|
ngImport: i0,
|
|
2677
2685
|
type: OverlayModule,
|
|
2678
2686
|
providers: [Overlay],
|
|
@@ -2681,7 +2689,7 @@ class OverlayModule {
|
|
|
2681
2689
|
}
|
|
2682
2690
|
i0.ɵɵngDeclareClassMetadata({
|
|
2683
2691
|
minVersion: "12.0.0",
|
|
2684
|
-
version: "21.0.
|
|
2692
|
+
version: "21.0.3",
|
|
2685
2693
|
ngImport: i0,
|
|
2686
2694
|
type: OverlayModule,
|
|
2687
2695
|
decorators: [{
|