@skyux/core 12.0.0-alpha.5 → 12.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +2189 -1291
- package/fesm2022/skyux-core-testing.mjs +0 -1
- package/fesm2022/skyux-core-testing.mjs.map +1 -1
- package/fesm2022/skyux-core.mjs +72 -5
- package/fesm2022/skyux-core.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/modules/layout-host/layout-host.directive.d.ts +11 -0
- package/lib/modules/live-announcer/types/live-announcer-args.d.ts +4 -0
- package/package.json +2 -2
- package/testing/shared/harness-filters.d.ts +0 -1
- package/testing/shared/input-harness.d.ts +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"skyux-core-testing.mjs","sources":["../../../../../libs/components/core/testing/src/legacy/mock-media-query.service.ts","../../../../../libs/components/core/testing/src/legacy/mock-ui-config.service.ts","../../../../../libs/components/core/testing/src/legacy/core-testing.module.ts","../../../../../libs/components/core/testing/src/legacy/resize-observer-mock.ts","../../../../../libs/components/core/testing/src/modules/file-reader/file-reader-testing.service.ts","../../../../../libs/components/core/testing/src/modules/file-reader/provide-file-reader-testing.ts","../../../../../libs/components/core/testing/src/modules/help/help-testing-controller.ts","../../../../../libs/components/core/testing/src/modules/help/help-testing.service.ts","../../../../../libs/components/core/testing/src/modules/help/help-testing.module.ts","../../../../../libs/components/core/testing/src/modules/media-query/breakpoint-observer-testing.ts","../../../../../libs/components/core/testing/src/modules/media-query/media-query-testing-controller.ts","../../../../../libs/components/core/testing/src/modules/media-query/provide-media-query-testing.ts","../../../../../libs/components/core/testing/src/shared/component-harness.ts","../../../../../libs/components/core/testing/src/shared/queryable-component-harness.ts","../../../../../libs/components/core/testing/src/modules/overlay/overlay-harness.ts","../../../../../libs/components/core/testing/src/shared/harness-utility.ts","../../../../../libs/components/core/testing/src/shared/input-harness.ts","../../../../../libs/components/core/testing/src/skyux-core-testing.ts"],"sourcesContent":["import { Injectable, NgZone } from '@angular/core';\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryListener,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n/**\n * @internal\n * @deprecated Use `provideSkyMediaQueryTesting()` coupled with `SkyMediaQueryTestingController`.\n */\n@Injectable()\nexport class MockSkyMediaQueryService extends SkyMediaQueryService {\n public static override xs = '(max-width: 767px)';\n public static override sm = '(min-width: 768px) and (max-width: 991px)';\n public static override md = '(min-width: 992px) and (max-width: 1199px)';\n public static override lg = '(min-width: 1200px)';\n\n public override get current(): SkyMediaBreakpoints {\n return this.currentBreakpoints;\n }\n\n public override set current(breakpoints: SkyMediaBreakpoints) {\n this.currentBreakpoints = breakpoints;\n }\n\n public currentMockSubject = new BehaviorSubject<SkyMediaBreakpoints>(\n this.current,\n );\n\n protected currentBreakpoints = SkyMediaBreakpoints.md;\n\n constructor() {\n super(\n new NgZone({\n enableLongStackTrace: true,\n }),\n );\n }\n\n public override subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.currentMockSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public fire(args: SkyMediaBreakpoints): void {\n this.currentBreakpoints = args;\n this.currentMockSubject.next(this.currentBreakpoints);\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public override destroy(): void {}\n}\n","import { Injectable } from '@angular/core';\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { Observable, of as observableOf } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public override getConfig(key: string, defaultConfig?: any): Observable<any> {\n switch (key) {\n case 'defaultSettings':\n return observableOf(defaultConfig);\n case 'badData':\n return observableOf({ invalidProperty: 'invalidData' });\n default: {\n return observableOf({\n settings: {\n userSettings: {\n singleColumn: {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n multiColumn: [\n {\n tiles: [\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n ],\n },\n ],\n },\n defaultSettings: ['tile-1', 'tile-2'],\n },\n });\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyMediaQueryService, SkyUIConfigService } from '@skyux/core';\n\nimport { MockSkyMediaQueryService } from './mock-media-query.service';\nimport { MockSkyUIConfigService } from './mock-ui-config.service';\n\n/**\n * @internal\n */\n@NgModule({\n providers: [\n { provide: SkyMediaQueryService, useClass: MockSkyMediaQueryService },\n {\n provide: SkyUIConfigService,\n useClass: MockSkyUIConfigService,\n },\n ],\n})\nexport class SkyCoreTestingModule {}\n","/* istanbul ignore file: these are used in @skyux/core */\n\n/**\n * @internal\n */\nexport const mockResizeObserverEntry: ResizeObserverEntry = {\n target: {} as Element,\n borderBoxSize: [],\n contentBoxSize: [],\n contentRect: {\n width: 20,\n height: 20,\n x: 20,\n y: 20,\n top: 20,\n bottom: 20,\n left: 20,\n right: 20,\n toJSON: () => 'true',\n } as DOMRectReadOnly,\n devicePixelContentBoxSize: [],\n};\n\nconst defaultCallback: ResizeObserverCallback = (\n entries: ResizeObserverEntry[],\n observer: ResizeObserver,\n) => {};\n\n/**\n * @internal\n */\nexport const mockResizeObserverHandle = {\n callback: defaultCallback,\n emit: (entries: ResizeObserverEntry[], observer?: ResizeObserver) => {\n mockResizeObserverHandle.callback(entries, observer!);\n },\n};\n\n/**\n * @internal\n */\nexport function mockResizeObserver() {\n (window as any).requestAnimationFrame = (callback: () => void): number => {\n callback();\n return 0;\n };\n (window as any).cancelAnimationFrame = (_: number): void => undefined;\n window.ResizeObserver = class {\n constructor(callback: ResizeObserverCallback) {\n mockResizeObserverHandle.callback = callback;\n }\n\n public disconnect() {}\n\n public observe(target: Element, options?: ResizeObserverOptions) {}\n\n public unobserve(element: HTMLElement) {}\n };\n}\n","import { Injectable } from '@angular/core';\nimport { SkyFileReaderService } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyFileReaderTestingService extends SkyFileReaderService {\n public override async readAsDataURL(file: File): Promise<string> {\n return await new Promise((resolve) => {\n resolve(`data:${file.type};base64,MOCK_DATA`);\n });\n }\n}\n","import { Provider } from '@angular/core';\nimport { SkyFileReaderService } from '@skyux/core';\n\nimport { SkyFileReaderTestingService } from './file-reader-testing.service';\n\n/**\n * Provides mocks for file reader testing.\n * @internal\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileReaderTesting()]\n * });\n * ```\n */\nexport function provideSkyFileReaderTesting(): Provider[] {\n return [\n SkyFileReaderTestingService,\n {\n provide: SkyFileReaderService,\n useClass: SkyFileReaderTestingService,\n },\n ];\n}\n","import { inject } from '@angular/core';\nimport { SkyHelpService } from '@skyux/core';\n\nimport { SkyHelpTestingService } from './help-testing.service';\n\nfunction formatHelpKeyForError(helpKey: string | undefined): string {\n return helpKey === undefined ? 'undefined' : `'${helpKey}'`;\n}\n\n/**\n * Provides methods for validating global help in unit tests.\n */\nexport class SkyHelpTestingController {\n #helpSvc = inject(SkyHelpService) as SkyHelpTestingService;\n\n /**\n * Validates the current help key and throws an error if the current help key does not match the expected help key.\n * @param expectedHelpKey The expected help key.\n */\n public expectCurrentHelpKey(expectedHelpKey: string | undefined): void {\n const currentHelpKey = this.#helpSvc.getCurrentHelpKey();\n\n if (currentHelpKey !== expectedHelpKey) {\n throw new Error(\n `Expected current help key to be ${formatHelpKeyForError(expectedHelpKey)}, but the current help key is ${formatHelpKeyForError(currentHelpKey)}.`,\n );\n }\n }\n\n /**\n * Close the current help.\n */\n public closeHelp(): void {\n this.#helpSvc.closeHelp();\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n SkyHelpOpenArgs,\n SkyHelpService,\n SkyHelpUpdateArgs,\n} from '@skyux/core';\n\nimport { Observable, of } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyHelpTestingService extends SkyHelpService {\n public override get widgetReadyStateChange(): Observable<boolean> {\n return of(true);\n }\n\n #currentHelpKey: string | undefined;\n #currentPageHelpKey: string | undefined;\n\n public override openHelp(args?: SkyHelpOpenArgs): void {\n this.#currentHelpKey = args?.helpKey;\n }\n\n public override updateHelp(args: SkyHelpUpdateArgs): void {\n if ('pageDefaultHelpKey' in args) {\n this.#currentPageHelpKey = args.pageDefaultHelpKey;\n }\n\n if ('helpKey' in args) {\n this.#currentHelpKey = args.helpKey;\n }\n }\n\n public getCurrentHelpKey(): string | undefined {\n return this.#currentHelpKey || this.#currentPageHelpKey;\n }\n\n public closeHelp(): void {\n this.#currentHelpKey = undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyHelpService } from '@skyux/core';\n\nimport { SkyHelpTestingController } from './help-testing-controller';\nimport { SkyHelpTestingService } from './help-testing.service';\n\n/**\n * Mocks SkyHelpService to enable testing of global help.\n */\n@NgModule({\n providers: [\n {\n provide: SkyHelpService,\n useClass: SkyHelpTestingService,\n },\n SkyHelpTestingController,\n ],\n})\nexport class SkyHelpTestingModule {}\n","import { Injectable } from '@angular/core';\nimport { SkyBreakpoint, SkyBreakpointObserver } from '@skyux/core';\n\nimport { Observable, ReplaySubject } from 'rxjs';\n\n/**\n * Overrides the media and container breakpoint observers for testing.\n * @internal\n */\n@Injectable()\nexport class SkyBreakpointObserverTesting implements SkyBreakpointObserver {\n public get breakpointChange(): Observable<SkyBreakpoint> {\n return this.#breakpointChangeObs;\n }\n\n #breakpointChange = new ReplaySubject<SkyBreakpoint>(1);\n #breakpointChangeObs = this.#breakpointChange.asObservable();\n\n public destroy(): void {\n this.#breakpointChange.complete();\n }\n\n public setBreakpoint(breakpoint: SkyBreakpoint): void {\n this.#breakpointChange.next(breakpoint);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { SkyBreakpoint } from '@skyux/core';\n\nimport { SkyBreakpointObserverTesting } from './breakpoint-observer-testing';\n\n/**\n * A controller to be injected into tests, which mocks the\n * `SkyMediaQueryService` and handles interactions with breakpoints.\n */\n@Injectable()\nexport class SkyMediaQueryTestingController {\n readonly #observer = inject(SkyBreakpointObserverTesting);\n\n /**\n * Emits the provided breakpoint to all subscribers.\n */\n public setBreakpoint(breakpoint: SkyBreakpoint): void {\n this.#observer.setBreakpoint(breakpoint);\n }\n}\n","import { Provider } from '@angular/core';\nimport {\n SKY_BREAKPOINT_OBSERVER,\n SkyContainerBreakpointObserver,\n SkyMediaBreakpointObserver,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { SkyBreakpointObserverTesting } from './breakpoint-observer-testing';\nimport { SkyMediaQueryTestingController } from './media-query-testing-controller';\n\n/**\n * Adds mocks to allow interactions with breakpoints in tests.\n */\nexport function provideSkyMediaQueryTesting(): Provider[] {\n return [\n SkyMediaQueryService,\n SkyBreakpointObserverTesting,\n SkyMediaQueryTestingController,\n {\n provide: SkyContainerBreakpointObserver,\n useExisting: SkyBreakpointObserverTesting,\n },\n {\n provide: SkyMediaBreakpointObserver,\n useExisting: SkyBreakpointObserverTesting,\n },\n {\n provide: SKY_BREAKPOINT_OBSERVER,\n useExisting: SkyBreakpointObserverTesting,\n },\n ];\n}\n","import {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\nimport { SkyHarnessFilters } from './harness-filters';\n\n/**\n * @internal\n */\nexport abstract class SkyComponentHarness extends ComponentHarness {\n protected static getDataSkyIdPredicate<T extends SkyComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n filters: SkyHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, filters).addOption(\n 'dataSkyId',\n filters.dataSkyId,\n (harness, text) =>\n HarnessPredicate.stringMatches(harness.#getSkyId(), text),\n );\n }\n\n async #getSkyId(): Promise<string | null> {\n return await (await this.host()).getAttribute('data-sky-id');\n }\n}\n","import {\n ComponentHarness,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\n\nimport { SkyComponentHarness } from './component-harness';\n\n/**\n * @internal\n */\nexport abstract class SkyQueryableComponentHarness extends SkyComponentHarness {\n /**\n * Returns a child harness or throws an error if not found.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>,\n ): Promise<T> {\n return await this.locatorFor(query)();\n }\n\n /**\n * Returns a child harness or null if not found.\n */\n public async queryHarnessOrNull<T extends ComponentHarness>(\n query: HarnessQuery<T>,\n ): Promise<T | null> {\n return await this.locatorForOptional(query)();\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>,\n ): Promise<T[]> {\n return await this.locatorForAll(harness)();\n }\n\n /**\n * Returns a child test element or throws an error if not found.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return await this.locatorFor(selector)();\n }\n\n /**\n * Returns a child test element or null if not found.\n */\n public async querySelectorOrNull(\n selector: string,\n ): Promise<TestElement | null> {\n return await this.locatorForOptional(selector)();\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return await this.locatorForAll(selector)();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyQueryableComponentHarness } from '../../shared/queryable-component-harness';\n\nimport { SkyOverlayHarnessFilters } from './overlay-harness-filters';\n\n/**\n * Harness for interacting with an overlay component in tests.\n * @internal\n */\nexport class SkyOverlayHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-overlay';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyOverlayHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyOverlayHarnessFilters,\n ): HarnessPredicate<SkyOverlayHarness> {\n return new HarnessPredicate(SkyOverlayHarness, filters);\n }\n}\n","import { TestElement } from '@angular/cdk/testing';\n\nexport class SkyHarnessUtility {\n public static async getBackgroundImageUrl(\n el: TestElement,\n ): Promise<string | undefined> {\n const backgroundImage = await el.getCssValue('background-image');\n\n return /url\\(('|\")([^'\"]+)('|\")\\)/gi.exec(backgroundImage)?.[2];\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * Harness used to interact with native input elements in tests.\n * @internal\n */\nexport class SkyInputHarness extends ComponentHarness {\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n await (await this.host()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n await (await this.host()).clear();\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n await (await this.host()).focus();\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return await (await this.host()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.host()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return await (await this.host()).isFocused();\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating key\n * presses that correspond to the given value.\n */\n public async setValue(value: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (value) {\n await inputEl.sendKeys(value);\n }\n\n // Some input types won't respond to key presses (e.g. `color`) so to be sure that the\n // value is set, we also set the property after the keyboard sequence. Note that we don't\n // want to do it before, because it can cause the value to be entered twice.\n await inputEl.setInputValue(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"skyux-core-testing.mjs","sources":["../../../../../libs/components/core/testing/src/legacy/mock-media-query.service.ts","../../../../../libs/components/core/testing/src/legacy/mock-ui-config.service.ts","../../../../../libs/components/core/testing/src/legacy/core-testing.module.ts","../../../../../libs/components/core/testing/src/legacy/resize-observer-mock.ts","../../../../../libs/components/core/testing/src/modules/file-reader/file-reader-testing.service.ts","../../../../../libs/components/core/testing/src/modules/file-reader/provide-file-reader-testing.ts","../../../../../libs/components/core/testing/src/modules/help/help-testing-controller.ts","../../../../../libs/components/core/testing/src/modules/help/help-testing.service.ts","../../../../../libs/components/core/testing/src/modules/help/help-testing.module.ts","../../../../../libs/components/core/testing/src/modules/media-query/breakpoint-observer-testing.ts","../../../../../libs/components/core/testing/src/modules/media-query/media-query-testing-controller.ts","../../../../../libs/components/core/testing/src/modules/media-query/provide-media-query-testing.ts","../../../../../libs/components/core/testing/src/shared/component-harness.ts","../../../../../libs/components/core/testing/src/shared/queryable-component-harness.ts","../../../../../libs/components/core/testing/src/modules/overlay/overlay-harness.ts","../../../../../libs/components/core/testing/src/shared/harness-utility.ts","../../../../../libs/components/core/testing/src/shared/input-harness.ts","../../../../../libs/components/core/testing/src/skyux-core-testing.ts"],"sourcesContent":["import { Injectable, NgZone } from '@angular/core';\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryListener,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n/**\n * @internal\n * @deprecated Use `provideSkyMediaQueryTesting()` coupled with `SkyMediaQueryTestingController`.\n */\n@Injectable()\nexport class MockSkyMediaQueryService extends SkyMediaQueryService {\n public static override xs = '(max-width: 767px)';\n public static override sm = '(min-width: 768px) and (max-width: 991px)';\n public static override md = '(min-width: 992px) and (max-width: 1199px)';\n public static override lg = '(min-width: 1200px)';\n\n public override get current(): SkyMediaBreakpoints {\n return this.currentBreakpoints;\n }\n\n public override set current(breakpoints: SkyMediaBreakpoints) {\n this.currentBreakpoints = breakpoints;\n }\n\n public currentMockSubject = new BehaviorSubject<SkyMediaBreakpoints>(\n this.current,\n );\n\n protected currentBreakpoints = SkyMediaBreakpoints.md;\n\n constructor() {\n super(\n new NgZone({\n enableLongStackTrace: true,\n }),\n );\n }\n\n public override subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.currentMockSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public fire(args: SkyMediaBreakpoints): void {\n this.currentBreakpoints = args;\n this.currentMockSubject.next(this.currentBreakpoints);\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public override destroy(): void {}\n}\n","import { Injectable } from '@angular/core';\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { Observable, of as observableOf } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public override getConfig(key: string, defaultConfig?: any): Observable<any> {\n switch (key) {\n case 'defaultSettings':\n return observableOf(defaultConfig);\n case 'badData':\n return observableOf({ invalidProperty: 'invalidData' });\n default: {\n return observableOf({\n settings: {\n userSettings: {\n singleColumn: {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n multiColumn: [\n {\n tiles: [\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n ],\n },\n ],\n },\n defaultSettings: ['tile-1', 'tile-2'],\n },\n });\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyMediaQueryService, SkyUIConfigService } from '@skyux/core';\n\nimport { MockSkyMediaQueryService } from './mock-media-query.service';\nimport { MockSkyUIConfigService } from './mock-ui-config.service';\n\n/**\n * @internal\n */\n@NgModule({\n providers: [\n { provide: SkyMediaQueryService, useClass: MockSkyMediaQueryService },\n {\n provide: SkyUIConfigService,\n useClass: MockSkyUIConfigService,\n },\n ],\n})\nexport class SkyCoreTestingModule {}\n","/* istanbul ignore file: these are used in @skyux/core */\n\n/**\n * @internal\n */\nexport const mockResizeObserverEntry: ResizeObserverEntry = {\n target: {} as Element,\n borderBoxSize: [],\n contentBoxSize: [],\n contentRect: {\n width: 20,\n height: 20,\n x: 20,\n y: 20,\n top: 20,\n bottom: 20,\n left: 20,\n right: 20,\n toJSON: () => 'true',\n } as DOMRectReadOnly,\n devicePixelContentBoxSize: [],\n};\n\nconst defaultCallback: ResizeObserverCallback = (\n entries: ResizeObserverEntry[],\n observer: ResizeObserver,\n) => {};\n\n/**\n * @internal\n */\nexport const mockResizeObserverHandle = {\n callback: defaultCallback,\n emit: (entries: ResizeObserverEntry[], observer?: ResizeObserver) => {\n mockResizeObserverHandle.callback(entries, observer!);\n },\n};\n\n/**\n * @internal\n */\nexport function mockResizeObserver() {\n (window as any).requestAnimationFrame = (callback: () => void): number => {\n callback();\n return 0;\n };\n (window as any).cancelAnimationFrame = (_: number): void => undefined;\n window.ResizeObserver = class {\n constructor(callback: ResizeObserverCallback) {\n mockResizeObserverHandle.callback = callback;\n }\n\n public disconnect() {}\n\n public observe(target: Element, options?: ResizeObserverOptions) {}\n\n public unobserve(element: HTMLElement) {}\n };\n}\n","import { Injectable } from '@angular/core';\nimport { SkyFileReaderService } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyFileReaderTestingService extends SkyFileReaderService {\n public override async readAsDataURL(file: File): Promise<string> {\n return await new Promise((resolve) => {\n resolve(`data:${file.type};base64,MOCK_DATA`);\n });\n }\n}\n","import { Provider } from '@angular/core';\nimport { SkyFileReaderService } from '@skyux/core';\n\nimport { SkyFileReaderTestingService } from './file-reader-testing.service';\n\n/**\n * Provides mocks for file reader testing.\n * @internal\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileReaderTesting()]\n * });\n * ```\n */\nexport function provideSkyFileReaderTesting(): Provider[] {\n return [\n SkyFileReaderTestingService,\n {\n provide: SkyFileReaderService,\n useClass: SkyFileReaderTestingService,\n },\n ];\n}\n","import { inject } from '@angular/core';\nimport { SkyHelpService } from '@skyux/core';\n\nimport { SkyHelpTestingService } from './help-testing.service';\n\nfunction formatHelpKeyForError(helpKey: string | undefined): string {\n return helpKey === undefined ? 'undefined' : `'${helpKey}'`;\n}\n\n/**\n * Provides methods for validating global help in unit tests.\n */\nexport class SkyHelpTestingController {\n #helpSvc = inject(SkyHelpService) as SkyHelpTestingService;\n\n /**\n * Validates the current help key and throws an error if the current help key does not match the expected help key.\n * @param expectedHelpKey The expected help key.\n */\n public expectCurrentHelpKey(expectedHelpKey: string | undefined): void {\n const currentHelpKey = this.#helpSvc.getCurrentHelpKey();\n\n if (currentHelpKey !== expectedHelpKey) {\n throw new Error(\n `Expected current help key to be ${formatHelpKeyForError(expectedHelpKey)}, but the current help key is ${formatHelpKeyForError(currentHelpKey)}.`,\n );\n }\n }\n\n /**\n * Close the current help.\n */\n public closeHelp(): void {\n this.#helpSvc.closeHelp();\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n SkyHelpOpenArgs,\n SkyHelpService,\n SkyHelpUpdateArgs,\n} from '@skyux/core';\n\nimport { Observable, of } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyHelpTestingService extends SkyHelpService {\n public override get widgetReadyStateChange(): Observable<boolean> {\n return of(true);\n }\n\n #currentHelpKey: string | undefined;\n #currentPageHelpKey: string | undefined;\n\n public override openHelp(args?: SkyHelpOpenArgs): void {\n this.#currentHelpKey = args?.helpKey;\n }\n\n public override updateHelp(args: SkyHelpUpdateArgs): void {\n if ('pageDefaultHelpKey' in args) {\n this.#currentPageHelpKey = args.pageDefaultHelpKey;\n }\n\n if ('helpKey' in args) {\n this.#currentHelpKey = args.helpKey;\n }\n }\n\n public getCurrentHelpKey(): string | undefined {\n return this.#currentHelpKey || this.#currentPageHelpKey;\n }\n\n public closeHelp(): void {\n this.#currentHelpKey = undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyHelpService } from '@skyux/core';\n\nimport { SkyHelpTestingController } from './help-testing-controller';\nimport { SkyHelpTestingService } from './help-testing.service';\n\n/**\n * Mocks SkyHelpService to enable testing of global help.\n */\n@NgModule({\n providers: [\n {\n provide: SkyHelpService,\n useClass: SkyHelpTestingService,\n },\n SkyHelpTestingController,\n ],\n})\nexport class SkyHelpTestingModule {}\n","import { Injectable } from '@angular/core';\nimport { SkyBreakpoint, SkyBreakpointObserver } from '@skyux/core';\n\nimport { Observable, ReplaySubject } from 'rxjs';\n\n/**\n * Overrides the media and container breakpoint observers for testing.\n * @internal\n */\n@Injectable()\nexport class SkyBreakpointObserverTesting implements SkyBreakpointObserver {\n public get breakpointChange(): Observable<SkyBreakpoint> {\n return this.#breakpointChangeObs;\n }\n\n #breakpointChange = new ReplaySubject<SkyBreakpoint>(1);\n #breakpointChangeObs = this.#breakpointChange.asObservable();\n\n public destroy(): void {\n this.#breakpointChange.complete();\n }\n\n public setBreakpoint(breakpoint: SkyBreakpoint): void {\n this.#breakpointChange.next(breakpoint);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { SkyBreakpoint } from '@skyux/core';\n\nimport { SkyBreakpointObserverTesting } from './breakpoint-observer-testing';\n\n/**\n * A controller to be injected into tests, which mocks the\n * `SkyMediaQueryService` and handles interactions with breakpoints.\n */\n@Injectable()\nexport class SkyMediaQueryTestingController {\n readonly #observer = inject(SkyBreakpointObserverTesting);\n\n /**\n * Emits the provided breakpoint to all subscribers.\n */\n public setBreakpoint(breakpoint: SkyBreakpoint): void {\n this.#observer.setBreakpoint(breakpoint);\n }\n}\n","import { Provider } from '@angular/core';\nimport {\n SKY_BREAKPOINT_OBSERVER,\n SkyContainerBreakpointObserver,\n SkyMediaBreakpointObserver,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { SkyBreakpointObserverTesting } from './breakpoint-observer-testing';\nimport { SkyMediaQueryTestingController } from './media-query-testing-controller';\n\n/**\n * Adds mocks to allow interactions with breakpoints in tests.\n */\nexport function provideSkyMediaQueryTesting(): Provider[] {\n return [\n SkyMediaQueryService,\n SkyBreakpointObserverTesting,\n SkyMediaQueryTestingController,\n {\n provide: SkyContainerBreakpointObserver,\n useExisting: SkyBreakpointObserverTesting,\n },\n {\n provide: SkyMediaBreakpointObserver,\n useExisting: SkyBreakpointObserverTesting,\n },\n {\n provide: SKY_BREAKPOINT_OBSERVER,\n useExisting: SkyBreakpointObserverTesting,\n },\n ];\n}\n","import {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\nimport { SkyHarnessFilters } from './harness-filters';\n\n/**\n * @internal\n */\nexport abstract class SkyComponentHarness extends ComponentHarness {\n protected static getDataSkyIdPredicate<T extends SkyComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n filters: SkyHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, filters).addOption(\n 'dataSkyId',\n filters.dataSkyId,\n (harness, text) =>\n HarnessPredicate.stringMatches(harness.#getSkyId(), text),\n );\n }\n\n async #getSkyId(): Promise<string | null> {\n return await (await this.host()).getAttribute('data-sky-id');\n }\n}\n","import {\n ComponentHarness,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\n\nimport { SkyComponentHarness } from './component-harness';\n\n/**\n * @internal\n */\nexport abstract class SkyQueryableComponentHarness extends SkyComponentHarness {\n /**\n * Returns a child harness or throws an error if not found.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>,\n ): Promise<T> {\n return await this.locatorFor(query)();\n }\n\n /**\n * Returns a child harness or null if not found.\n */\n public async queryHarnessOrNull<T extends ComponentHarness>(\n query: HarnessQuery<T>,\n ): Promise<T | null> {\n return await this.locatorForOptional(query)();\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>,\n ): Promise<T[]> {\n return await this.locatorForAll(harness)();\n }\n\n /**\n * Returns a child test element or throws an error if not found.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return await this.locatorFor(selector)();\n }\n\n /**\n * Returns a child test element or null if not found.\n */\n public async querySelectorOrNull(\n selector: string,\n ): Promise<TestElement | null> {\n return await this.locatorForOptional(selector)();\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return await this.locatorForAll(selector)();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyQueryableComponentHarness } from '../../shared/queryable-component-harness';\n\nimport { SkyOverlayHarnessFilters } from './overlay-harness-filters';\n\n/**\n * Harness for interacting with an overlay component in tests.\n * @internal\n */\nexport class SkyOverlayHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-overlay';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyOverlayHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyOverlayHarnessFilters,\n ): HarnessPredicate<SkyOverlayHarness> {\n return new HarnessPredicate(SkyOverlayHarness, filters);\n }\n}\n","import { TestElement } from '@angular/cdk/testing';\n\nexport class SkyHarnessUtility {\n public static async getBackgroundImageUrl(\n el: TestElement,\n ): Promise<string | undefined> {\n const backgroundImage = await el.getCssValue('background-image');\n\n return /url\\(('|\")([^'\"]+)('|\")\\)/gi.exec(backgroundImage)?.[2];\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * Harness used to interact with native input elements in tests.\n */\nexport class SkyInputHarness extends ComponentHarness {\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n await (await this.host()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n await (await this.host()).clear();\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n await (await this.host()).focus();\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return await (await this.host()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.host()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return await (await this.host()).isFocused();\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating key\n * presses that correspond to the given value.\n */\n public async setValue(value: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (value) {\n await inputEl.sendKeys(value);\n }\n\n // Some input types won't respond to key presses (e.g. `color`) so to be sure that the\n // value is set, we also set the property after the keyboard sequence. Note that we don't\n // want to do it before, because it can cause the value to be entered twice.\n await inputEl.setInputValue(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":"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"}
|
package/fesm2022/skyux-core.mjs
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { NgModule, Injectable, inject, RendererFactory2, NgZone, EventEmitter, Directive, Input, Output, EnvironmentInjector, createEnvironmentInjector, createComponent, ChangeDetectorRef, ElementRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, InjectionToken, Optional, Inject, ApplicationRef, afterNextRender, Injector, Pipe, HostBinding, Renderer2, HostListener } from '@angular/core';
|
2
|
+
import { NgModule, Injectable, inject, RendererFactory2, NgZone, EventEmitter, Directive, Input, Output, EnvironmentInjector, createEnvironmentInjector, createComponent, ChangeDetectorRef, ElementRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, InjectionToken, input, effect, Optional, Inject, ApplicationRef, afterNextRender, Injector, Pipe, HostBinding, Renderer2, HostListener } from '@angular/core';
|
3
3
|
import * as i1$1 from '@angular/common';
|
4
4
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
5
5
|
import { Subject, Subscription, ReplaySubject, fromEvent, of, Observable, filter, map, distinctUntilChanged, shareReplay, throttle, animationFrames, take, takeUntil as takeUntil$1, BehaviorSubject, concat, animationFrameScheduler } from 'rxjs';
|
6
6
|
import { takeUntil, debounceTime, switchMap, map as map$1 } from 'rxjs/operators';
|
7
7
|
import { ViewportRuler } from '@angular/cdk/overlay';
|
8
|
-
import {
|
8
|
+
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
9
9
|
import * as i1 from '@skyux/i18n';
|
10
10
|
import { SkyLibResourcesService, SkyI18nModule, SkyIntlNumberFormatStyle, SkyIntlNumberFormatter } from '@skyux/i18n';
|
11
11
|
import { Router, NavigationStart } from '@angular/router';
|
@@ -1774,6 +1774,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
1774
1774
|
type: Injectable
|
1775
1775
|
}] });
|
1776
1776
|
|
1777
|
+
const LAYOUT_FOR_CHILD_CLASS_PREFIX = 'sky-layout-host-for-child-';
|
1778
|
+
const LAYOUT_CLASS_PREFIX = 'sky-layout-host-';
|
1779
|
+
/**
|
1780
|
+
* @internal
|
1781
|
+
*/
|
1782
|
+
class SkyLayoutHostDirective {
|
1783
|
+
#elementRef;
|
1784
|
+
#layoutForChild;
|
1785
|
+
#renderer;
|
1786
|
+
constructor() {
|
1787
|
+
this.#elementRef = inject(ElementRef);
|
1788
|
+
this.#layoutForChild = toSignal(inject(SkyLayoutHostService).hostLayoutForChild);
|
1789
|
+
this.#renderer = inject(RendererFactory2).createRenderer(null, null);
|
1790
|
+
this.layout = input();
|
1791
|
+
effect(() => {
|
1792
|
+
const cssClass = [`${LAYOUT_CLASS_PREFIX}${this.layout() ?? 'none'}`];
|
1793
|
+
const layoutForChild = this.#layoutForChild()?.layout;
|
1794
|
+
if (layoutForChild) {
|
1795
|
+
cssClass.push(`${LAYOUT_FOR_CHILD_CLASS_PREFIX}${layoutForChild}`);
|
1796
|
+
}
|
1797
|
+
const classList = this.#elementRef.nativeElement.classList.values();
|
1798
|
+
for (const className of classList) {
|
1799
|
+
if (className.startsWith(LAYOUT_CLASS_PREFIX) &&
|
1800
|
+
!cssClass.includes(className)) {
|
1801
|
+
this.#renderer.removeClass(this.#elementRef.nativeElement, className);
|
1802
|
+
}
|
1803
|
+
}
|
1804
|
+
for (const className of cssClass) {
|
1805
|
+
this.#renderer.addClass(this.#elementRef.nativeElement, className);
|
1806
|
+
}
|
1807
|
+
});
|
1808
|
+
}
|
1809
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyLayoutHostDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
1810
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: SkyLayoutHostDirective, isStandalone: true, selector: "[skyLayoutHost]", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SkyLayoutHostService], ngImport: i0 }); }
|
1811
|
+
}
|
1812
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SkyLayoutHostDirective, decorators: [{
|
1813
|
+
type: Directive,
|
1814
|
+
args: [{
|
1815
|
+
selector: '[skyLayoutHost]',
|
1816
|
+
standalone: true,
|
1817
|
+
providers: [SkyLayoutHostService],
|
1818
|
+
}]
|
1819
|
+
}], ctorParameters: () => [] });
|
1820
|
+
|
1777
1821
|
/**
|
1778
1822
|
* Allows for announcing messages to screen reader users through the use of a common `aria-live` element.
|
1779
1823
|
* @internal
|
@@ -1782,10 +1826,13 @@ class SkyLiveAnnouncerService {
|
|
1782
1826
|
#announcerElement;
|
1783
1827
|
#document;
|
1784
1828
|
#idService;
|
1829
|
+
#durationTimeout;
|
1830
|
+
#ngZone;
|
1785
1831
|
constructor() {
|
1786
1832
|
this.announcerElementChanged = new ReplaySubject(1);
|
1787
1833
|
this.#document = inject(DOCUMENT);
|
1788
1834
|
this.#idService = inject(SkyIdService);
|
1835
|
+
this.#ngZone = inject(NgZone);
|
1789
1836
|
this.#announcerElement = this.#createLiveElement();
|
1790
1837
|
this.announcerElementChanged.next(this.#announcerElement);
|
1791
1838
|
}
|
@@ -1802,9 +1849,13 @@ class SkyLiveAnnouncerService {
|
|
1802
1849
|
this.announcerElementChanged.next(this.#announcerElement);
|
1803
1850
|
}
|
1804
1851
|
const politeness = args?.politeness ?? 'polite';
|
1805
|
-
this.clear();
|
1806
1852
|
this.#announcerElement.setAttribute('aria-live', politeness);
|
1853
|
+
this.clear();
|
1854
|
+
clearTimeout(this.#durationTimeout);
|
1807
1855
|
this.#announcerElement.textContent = message;
|
1856
|
+
this.#ngZone.runOutsideAngular(() => {
|
1857
|
+
this.#durationTimeout = setTimeout(() => this.clear(), args?.duration ?? this.#calculateDefaultDurationFromString(message));
|
1858
|
+
});
|
1808
1859
|
}
|
1809
1860
|
/**
|
1810
1861
|
* Clears the current text from the announcer element. Can be used to prevent
|
@@ -1823,6 +1874,16 @@ class SkyLiveAnnouncerService {
|
|
1823
1874
|
this.#announcerElement?.remove();
|
1824
1875
|
this.#announcerElement = undefined;
|
1825
1876
|
this.announcerElementChanged.next(undefined);
|
1877
|
+
clearTimeout(this.#durationTimeout);
|
1878
|
+
}
|
1879
|
+
#calculateDefaultDurationFromString(message) {
|
1880
|
+
// Research suggests normal WPM is 110 for english. Lowering here to be conservative.
|
1881
|
+
const baseWordsPerMinute = 80;
|
1882
|
+
const minuteInMilliseconds = 60000;
|
1883
|
+
const numberOfWords = message.split(' ').length;
|
1884
|
+
const baseTime = (numberOfWords / baseWordsPerMinute) * minuteInMilliseconds;
|
1885
|
+
// Add 50% to time to account for exceptionally slow screen reader settings and/or speech settings that leave long pauses between words.
|
1886
|
+
return baseTime * 1.5;
|
1826
1887
|
}
|
1827
1888
|
#createLiveElement() {
|
1828
1889
|
const elementClass = 'sky-live-announcer-element';
|
@@ -2424,6 +2485,12 @@ const RESOURCES = {
|
|
2424
2485
|
skyux_numeric_thousands_symbol: { message: 'K' },
|
2425
2486
|
skyux_numeric_trillions_symbol: { message: 'T' },
|
2426
2487
|
},
|
2488
|
+
'FR-CA': {
|
2489
|
+
skyux_numeric_billions_symbol: { message: 'G' },
|
2490
|
+
skyux_numeric_millions_symbol: { message: 'M' },
|
2491
|
+
skyux_numeric_thousands_symbol: { message: 'K' },
|
2492
|
+
skyux_numeric_trillions_symbol: { message: 'T' },
|
2493
|
+
},
|
2427
2494
|
};
|
2428
2495
|
SkyLibResourcesService.addResources(RESOURCES);
|
2429
2496
|
/**
|
@@ -4535,11 +4602,11 @@ class Version {
|
|
4535
4602
|
/**
|
4536
4603
|
* Represents the version of @skyux/core.
|
4537
4604
|
*/
|
4538
|
-
const VERSION = new Version('12.0.0-alpha.
|
4605
|
+
const VERSION = new Version('12.0.0-alpha.7');
|
4539
4606
|
|
4540
4607
|
/**
|
4541
4608
|
* Generated bundle index. Do not edit.
|
4542
4609
|
*/
|
4543
4610
|
|
4544
|
-
export { NumericOptions, SKY_BREAKPOINTS, SKY_BREAKPOINT_OBSERVER, SKY_HELP_GLOBAL_OPTIONS, SKY_LOG_LEVEL, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyContainerBreakpointObserver, SkyContentInfoProvider, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDefaultInputProvider, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLegacyService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyFileReaderService, SkyHelpService, SkyIdModule, SkyIdService, SkyLayoutHostService, SkyLiveAnnouncerService, SkyLogLevel, SkyLogModule, SkyLogService, SkyMediaBreakpointObserver, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyMutationObserverService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayLegacyService, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyResponsiveHostDirective, SkyScreenReaderLabelDirective, SkyScrollShadowDirective, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, VERSION, provideSkyBreakpointObserver, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
|
4611
|
+
export { NumericOptions, SKY_BREAKPOINTS, SKY_BREAKPOINT_OBSERVER, SKY_HELP_GLOBAL_OPTIONS, SKY_LOG_LEVEL, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyContainerBreakpointObserver, SkyContentInfoProvider, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDefaultInputProvider, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLegacyService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyFileReaderService, SkyHelpService, SkyIdModule, SkyIdService, SkyLayoutHostDirective, SkyLayoutHostService, SkyLiveAnnouncerService, SkyLogLevel, SkyLogModule, SkyLogService, SkyMediaBreakpointObserver, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyMutationObserverService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayLegacyService, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyResponsiveHostDirective, SkyScreenReaderLabelDirective, SkyScrollShadowDirective, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, VERSION, provideSkyBreakpointObserver, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
|
4545
4612
|
//# sourceMappingURL=skyux-core.mjs.map
|