@skyux/core 11.15.1 → 11.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/documentation.json +2408 -1407
  2. package/esm2022/index.mjs +6 -1
  3. package/esm2022/lib/modules/adapter-service/adapter.service.mjs +12 -27
  4. package/esm2022/lib/modules/breakpoint-observer/breakpoint-observer.mjs +2 -0
  5. package/esm2022/lib/modules/breakpoint-observer/breakpoint-observer.token.mjs +7 -0
  6. package/esm2022/lib/modules/breakpoint-observer/breakpoint-utils.mjs +38 -0
  7. package/esm2022/lib/modules/breakpoint-observer/breakpoint.mjs +5 -0
  8. package/esm2022/lib/modules/breakpoint-observer/container-breakpoint-observer.mjs +64 -0
  9. package/esm2022/lib/modules/breakpoint-observer/media-breakpoint-observer.mjs +58 -0
  10. package/esm2022/lib/modules/breakpoint-observer/provide-breakpoint-observer.mjs +24 -0
  11. package/esm2022/lib/modules/breakpoint-observer/responsive-host.directive.mjs +55 -0
  12. package/esm2022/lib/modules/media-query/media-breakpoints.mjs +5 -1
  13. package/esm2022/lib/modules/media-query/media-query-listener.mjs +1 -1
  14. package/esm2022/lib/modules/media-query/media-query.service.mjs +34 -77
  15. package/esm2022/lib/modules/resize-observer/resize-observer-media-query.service.mjs +18 -3
  16. package/esm2022/testing/media-query/breakpoint-observer-testing.mjs +26 -0
  17. package/esm2022/testing/media-query/media-query-testing-controller.mjs +22 -0
  18. package/esm2022/testing/media-query/provide-media-query-testing.mjs +26 -0
  19. package/esm2022/testing/mock-media-query.service.mjs +3 -1
  20. package/esm2022/testing/public-api.mjs +6 -3
  21. package/esm2022/testing/resize-observer-mock.mjs +11 -1
  22. package/esm2022/testing/shared/input-harness.mjs +63 -0
  23. package/esm2022/version.mjs +1 -1
  24. package/fesm2022/skyux-core-testing.mjs +213 -74
  25. package/fesm2022/skyux-core-testing.mjs.map +1 -1
  26. package/fesm2022/skyux-core.mjs +422 -236
  27. package/fesm2022/skyux-core.mjs.map +1 -1
  28. package/index.d.ts +8 -1
  29. package/lib/modules/adapter-service/adapter.service.d.ts +5 -3
  30. package/lib/modules/breakpoint-observer/breakpoint-observer.d.ts +9 -0
  31. package/lib/modules/breakpoint-observer/breakpoint-observer.token.d.ts +7 -0
  32. package/lib/modules/breakpoint-observer/breakpoint-utils.d.ts +17 -0
  33. package/lib/modules/breakpoint-observer/breakpoint.d.ts +8 -0
  34. package/lib/modules/breakpoint-observer/container-breakpoint-observer.d.ts +18 -0
  35. package/lib/modules/breakpoint-observer/media-breakpoint-observer.d.ts +18 -0
  36. package/lib/modules/breakpoint-observer/provide-breakpoint-observer.d.ts +7 -0
  37. package/lib/modules/breakpoint-observer/responsive-host.directive.d.ts +32 -0
  38. package/lib/modules/media-query/media-breakpoints.d.ts +4 -0
  39. package/lib/modules/media-query/media-query-listener.d.ts +1 -0
  40. package/lib/modules/media-query/media-query.service.d.ts +16 -6
  41. package/lib/modules/resize-observer/resize-observer-media-query.service.d.ts +10 -2
  42. package/package.json +2 -2
  43. package/testing/media-query/breakpoint-observer-testing.d.ts +15 -0
  44. package/testing/media-query/media-query-testing-controller.d.ts +15 -0
  45. package/testing/media-query/provide-media-query-testing.d.ts +5 -0
  46. package/testing/mock-media-query.service.d.ts +1 -0
  47. package/testing/public-api.d.ts +5 -2
  48. package/testing/resize-observer-mock.d.ts +9 -0
  49. package/testing/shared/input-harness.d.ts +36 -0
package/index.d.ts CHANGED
@@ -45,6 +45,13 @@ export { SkyLogModule } from './lib/modules/log/log.module';
45
45
  export { SkyLogService } from './lib/modules/log/log.service';
46
46
  export { SkyLogLevel } from './lib/modules/log/types/log-level';
47
47
  export { SKY_LOG_LEVEL } from './lib/modules/log/types/log-level-token';
48
+ export { SkyBreakpoint } from './lib/modules/breakpoint-observer/breakpoint';
49
+ export { SkyBreakpointObserver } from './lib/modules/breakpoint-observer/breakpoint-observer';
50
+ export { SKY_BREAKPOINT_OBSERVER } from './lib/modules/breakpoint-observer/breakpoint-observer.token';
51
+ export { SkyContainerBreakpointObserver } from './lib/modules/breakpoint-observer/container-breakpoint-observer';
52
+ export { SkyMediaBreakpointObserver } from './lib/modules/breakpoint-observer/media-breakpoint-observer';
53
+ export { provideSkyBreakpointObserver } from './lib/modules/breakpoint-observer/provide-breakpoint-observer';
54
+ export { SkyResponsiveHostDirective } from './lib/modules/breakpoint-observer/responsive-host.directive';
48
55
  export { SkyMediaBreakpoints } from './lib/modules/media-query/media-breakpoints';
49
56
  export { SkyMediaQueryListener } from './lib/modules/media-query/media-query-listener';
50
57
  export { SkyMediaQueryModule } from './lib/modules/media-query/media-query.module';
@@ -65,8 +72,8 @@ export { SkyPercentPipe } from './lib/modules/percent-pipe/percent.pipe';
65
72
  export { SkyResizeObserverMediaQueryService } from './lib/modules/resize-observer/resize-observer-media-query.service';
66
73
  export { SkyResizeObserverService } from './lib/modules/resize-observer/resize-observer.service';
67
74
  export { SkyScreenReaderLabelDirective } from './lib/modules/screen-reader-label/screen-reader-label.directive';
68
- export { SkyScrollShadowDirective } from './lib/modules/scroll-shadow/scroll-shadow.directive';
69
75
  export { SkyScrollShadowEventArgs } from './lib/modules/scroll-shadow/scroll-shadow-event-args';
76
+ export { SkyScrollShadowDirective } from './lib/modules/scroll-shadow/scroll-shadow.directive';
70
77
  export { SkyScrollableHostService } from './lib/modules/scrollable-host/scrollable-host.service';
71
78
  export { SkyStackingContext } from './lib/modules/stacking-context/stacking-context';
72
79
  export { SKY_STACKING_CONTEXT } from './lib/modules/stacking-context/stacking-context-token';
@@ -1,4 +1,5 @@
1
1
  import { ElementRef, RendererFactory2 } from '@angular/core';
2
+ import { SkyBreakpoint } from '../breakpoint-observer/breakpoint';
2
3
  import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
3
4
  import { SkyFocusableChildrenOptions } from './focusable-children-options';
4
5
  import * as i0 from "@angular/core";
@@ -9,10 +10,11 @@ export declare class SkyCoreAdapterService {
9
10
  * Set the responsive container CSS class for a given element.
10
11
  *
11
12
  * @param elementRef - The element that will receive the new CSS class.
12
- * @param breakpoint - The SkyMediaBreakpoint will determine which class
13
- * gets set. For example a SkyMediaBreakpoint of `xs` will set a CSS class of `sky-responsive-container-xs`.
13
+ * @param breakpoint - The breakpoint to determine which class gets set.
14
+ * For example a breakpoint of "xs" will set a CSS class of "sky-responsive-container-xs".
15
+ * @deprecated Use the `SkyResponsiveHostDirective` instead.
14
16
  */
15
- setResponsiveContainerClass(elementRef: ElementRef, breakpoint: SkyMediaBreakpoints): void;
17
+ setResponsiveContainerClass(elementRef: ElementRef, breakpoint: SkyBreakpoint | SkyMediaBreakpoints): void;
16
18
  /**
17
19
  * This method temporarily enables/disables pointer events.
18
20
  * This is helpful to prevent iFrames from interfering with drag events.
@@ -0,0 +1,9 @@
1
+ import { Observable } from 'rxjs';
2
+ import { SkyBreakpoint } from './breakpoint';
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface SkyBreakpointObserver {
7
+ get breakpointChange(): Observable<SkyBreakpoint>;
8
+ destroy(): void;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { SkyBreakpointObserver } from './breakpoint-observer';
3
+ /**
4
+ * Used to override a breakpoint observer for specific execution contexts.
5
+ * @internal
6
+ */
7
+ export declare const SKY_BREAKPOINT_OBSERVER: InjectionToken<SkyBreakpointObserver>;
@@ -0,0 +1,17 @@
1
+ import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
2
+ import { SkyBreakpoint } from './breakpoint';
3
+ /**
4
+ * Whether the value is of type `SkyBreakpoint`.
5
+ * @internal
6
+ */
7
+ export declare function isSkyBreakpoint(value: SkyBreakpoint | SkyMediaBreakpoints | null | undefined): value is SkyBreakpoint;
8
+ /**
9
+ * Transforms a `SkyMediaBreakpoints` value to `SkyBreakpoint`.
10
+ * @internal
11
+ */
12
+ export declare function toSkyBreakpoint(breakpoint: SkyMediaBreakpoints): SkyBreakpoint;
13
+ /**
14
+ * Transforms a `SkyBreakpoint` value to `SkyMediaBreakpoints`.
15
+ * @internal
16
+ */
17
+ export declare function toSkyMediaBreakpoints(breakpoint: SkyBreakpoint): SkyMediaBreakpoints;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare const SKY_BREAKPOINTS: readonly ["xs", "sm", "md", "lg"];
5
+ /**
6
+ * The name of a viewport or container breakpoint.
7
+ */
8
+ export type SkyBreakpoint = (typeof SKY_BREAKPOINTS)[number];
@@ -0,0 +1,18 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { SkyBreakpoint } from './breakpoint';
4
+ import { SkyBreakpointObserver } from './breakpoint-observer';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Emits when the width of the host container changes.
8
+ * @internal
9
+ */
10
+ export declare class SkyContainerBreakpointObserver implements OnDestroy, SkyBreakpointObserver {
11
+ #private;
12
+ get breakpointChange(): Observable<SkyBreakpoint>;
13
+ constructor();
14
+ ngOnDestroy(): void;
15
+ destroy(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyContainerBreakpointObserver, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyContainerBreakpointObserver>;
18
+ }
@@ -0,0 +1,18 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { SkyBreakpoint } from './breakpoint';
4
+ import { SkyBreakpointObserver } from './breakpoint-observer';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Emits when the viewport width changes.
8
+ * @internal
9
+ */
10
+ export declare class SkyMediaBreakpointObserver implements OnDestroy, SkyBreakpointObserver {
11
+ #private;
12
+ get breakpointChange(): Observable<SkyBreakpoint>;
13
+ constructor();
14
+ ngOnDestroy(): void;
15
+ destroy(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyMediaBreakpointObserver, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyMediaBreakpointObserver>;
18
+ }
@@ -0,0 +1,7 @@
1
+ import { Provider, Type } from '@angular/core';
2
+ import { SkyBreakpointObserver } from './breakpoint-observer';
3
+ /**
4
+ * Overrides the default media breakpoint observer with the given observer.
5
+ * @internal
6
+ */
7
+ export declare function provideSkyBreakpointObserver(observer: Type<SkyBreakpointObserver>): Provider[];
@@ -0,0 +1,32 @@
1
+ import { Injector } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { SkyBreakpoint } from './breakpoint';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Overrides the `SkyMediaQueryService` to emit breakpoint changes when the host
7
+ * container is resized. This directive also adds SKY UX CSS classes to the
8
+ * host element to allow for responsive styles.
9
+ */
10
+ export declare class SkyResponsiveHostDirective {
11
+ #private;
12
+ /**
13
+ * Emits when the breakpoint changes.
14
+ */
15
+ get breakpointChange(): Observable<SkyBreakpoint>;
16
+ /**
17
+ * The injector of the responsive host. Useful when displaying child components
18
+ * via `ngTemplateOutlet`.
19
+ * @example```
20
+ * <my-container #responsiveHost="skyResponsiveHost">
21
+ * <ng-container
22
+ * [ngTemplateOutlet]="myTemplate"
23
+ * [ngTemplateOutletInjector]="responsiveHost.injector"
24
+ * />
25
+ * </my-container>
26
+ * ```
27
+ */
28
+ get injector(): Injector;
29
+ constructor();
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyResponsiveHostDirective, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SkyResponsiveHostDirective, "[skyResponsiveHost]", ["skyResponsiveHost"], {}, {}, never, never, true, never>;
32
+ }
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Represents all available media breakpoints.
3
+ * @deprecated Use `SkyBreakpoint` instead.
4
+ */
1
5
  export declare enum SkyMediaBreakpoints {
2
6
  /**
3
7
  * Screen widths of 767px or less.
@@ -2,5 +2,6 @@ import { SkyMediaBreakpoints } from './media-breakpoints';
2
2
  /**
3
3
  * The function that is called when the breakpoints change. It is called
4
4
  * with a `SkyMediaBreakpoints` argument, which is an enum that represents the new breakpoint.
5
+ * @deprecated Subscribe to the `breakpointChange` observable instead.
5
6
  */
6
7
  export type SkyMediaQueryListener = (args: SkyMediaBreakpoints) => void;
@@ -1,10 +1,18 @@
1
1
  import { NgZone, OnDestroy } from '@angular/core';
2
- import { Subscription } from 'rxjs';
2
+ import { Observable, Subscription } from 'rxjs';
3
+ import { SkyBreakpoint } from '../breakpoint-observer/breakpoint';
3
4
  import { SkyMediaBreakpoints } from './media-breakpoints';
4
5
  import { SkyMediaQueryListener } from './media-query-listener';
5
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * Utility used to subscribe to viewport and container breakpoint changes.
9
+ */
6
10
  export declare class SkyMediaQueryService implements OnDestroy {
7
11
  #private;
12
+ /**
13
+ * Emits when the breakpoint changes.
14
+ */
15
+ get breakpointChange(): Observable<SkyBreakpoint>;
8
16
  /**
9
17
  * The size for the `xs` breakpoint.
10
18
  * @default "(max-width: 767px)"
@@ -27,19 +35,21 @@ export declare class SkyMediaQueryService implements OnDestroy {
27
35
  static lg: string;
28
36
  /**
29
37
  * Returns the current breakpoint.
38
+ * @deprecated Subscribe to the `breakpointChange` observable instead.
30
39
  */
31
40
  get current(): SkyMediaBreakpoints;
32
- constructor(zone: NgZone);
41
+ constructor(_zone?: NgZone);
33
42
  ngOnDestroy(): void;
43
+ /**
44
+ * @internal
45
+ */
46
+ destroy(): void;
34
47
  /**
35
48
  * Subscribes to screen size changes.
36
49
  * @param listener Specifies a function that is called when breakpoints change.
50
+ * @deprecated Subscribe to the `breakpointChange` observable instead.
37
51
  */
38
52
  subscribe(listener: SkyMediaQueryListener): Subscription;
39
- /**
40
- * @internal
41
- */
42
- destroy(): void;
43
53
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyMediaQueryService, never>;
44
54
  static ɵprov: i0.ɵɵInjectableDeclaration<SkyMediaQueryService>;
45
55
  }
@@ -1,15 +1,23 @@
1
1
  import { ElementRef, OnDestroy } from '@angular/core';
2
- import { Subscription } from 'rxjs';
2
+ import { Observable, Subscription } from 'rxjs';
3
+ import { SkyBreakpoint } from '../breakpoint-observer/breakpoint';
3
4
  import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
4
5
  import { SkyMediaQueryListener } from '../media-query/media-query-listener';
6
+ import { SkyMediaQueryService } from '../media-query/media-query.service';
5
7
  import * as i0 from "@angular/core";
6
8
  /**
7
9
  * Acts like `SkyMediaQueryService` for a container element, emitting the same responsive breakpoints.
10
+ * @deprecated Use the `SkyResponsiveHostDirective` instead.
8
11
  */
9
- export declare class SkyResizeObserverMediaQueryService implements OnDestroy {
12
+ export declare class SkyResizeObserverMediaQueryService extends SkyMediaQueryService implements OnDestroy {
10
13
  #private;
14
+ /**
15
+ * Emits when the breakpoint changes.
16
+ */
17
+ get breakpointChange(): Observable<SkyBreakpoint>;
11
18
  /**
12
19
  * Returns the current breakpoint.
20
+ * @deprecated Subscribe to the `breakpointChange` observable instead.
13
21
  */
14
22
  get current(): SkyMediaBreakpoints;
15
23
  ngOnDestroy(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/core",
3
- "version": "11.15.1",
3
+ "version": "11.16.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -41,7 +41,7 @@
41
41
  "@angular/core": "^18.2.8",
42
42
  "@angular/platform-browser": "^18.2.8",
43
43
  "@angular/router": "^18.2.8",
44
- "@skyux/i18n": "11.15.1"
44
+ "@skyux/i18n": "11.16.0"
45
45
  },
46
46
  "dependencies": {
47
47
  "tslib": "^2.6.3"
@@ -0,0 +1,15 @@
1
+ import { SkyBreakpoint, SkyBreakpointObserver } from '@skyux/core';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Overrides the media and container breakpoint observers for testing.
6
+ * @internal
7
+ */
8
+ export declare class SkyBreakpointObserverTesting implements SkyBreakpointObserver {
9
+ #private;
10
+ get breakpointChange(): Observable<SkyBreakpoint>;
11
+ destroy(): void;
12
+ setBreakpoint(breakpoint: SkyBreakpoint): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyBreakpointObserverTesting, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyBreakpointObserverTesting>;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { SkyBreakpoint } from '@skyux/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A controller to be injected into tests, which mocks the
5
+ * `SkyMediaQueryService` and handles interactions with breakpoints.
6
+ */
7
+ export declare class SkyMediaQueryTestingController {
8
+ #private;
9
+ /**
10
+ * Emits the provided breakpoint to all subscribers.
11
+ */
12
+ setBreakpoint(breakpoint: SkyBreakpoint): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyMediaQueryTestingController, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyMediaQueryTestingController>;
15
+ }
@@ -0,0 +1,5 @@
1
+ import { Provider } from '@angular/core';
2
+ /**
3
+ * Adds mocks to allow interactions with breakpoints in tests.
4
+ */
5
+ export declare function provideSkyMediaQueryTesting(): Provider[];
@@ -3,6 +3,7 @@ import { BehaviorSubject, Subscription } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * @internal
6
+ * @deprecated Use `provideSkyMediaQueryTesting()` coupled with `SkyMediaQueryTestingController`.
6
7
  */
7
8
  export declare class MockSkyMediaQueryService extends SkyMediaQueryService {
8
9
  static xs: string;
@@ -1,4 +1,8 @@
1
1
  export { SkyCoreTestingModule } from './core-testing.module';
2
+ export { SkyHelpTestingController } from './help/help-testing-controller';
3
+ export { SkyHelpTestingModule } from './help/help-testing.module';
4
+ export { SkyMediaQueryTestingController } from './media-query/media-query-testing-controller';
5
+ export { provideSkyMediaQueryTesting } from './media-query/provide-media-query-testing';
2
6
  export { MockSkyMediaQueryService } from './mock-media-query.service';
3
7
  export { MockSkyUIConfigService } from './mock-ui-config.service';
4
8
  export { SkyOverlayHarness } from './overlay/overlay-harness';
@@ -7,6 +11,5 @@ export { mockResizeObserver, mockResizeObserverEntry, mockResizeObserverHandle,
7
11
  export { SkyComponentHarness } from './shared/component-harness';
8
12
  export { SkyHarnessFilters } from './shared/harness-filters';
9
13
  export { SkyHarnessUtility } from './shared/harness-utility';
14
+ export { SkyInputHarness } from './shared/input-harness';
10
15
  export { SkyQueryableComponentHarness } from './shared/queryable-component-harness';
11
- export { SkyHelpTestingController } from './help/help-testing-controller';
12
- export { SkyHelpTestingModule } from './help/help-testing.module';
@@ -1,6 +1,15 @@
1
+ /**
2
+ * @internal
3
+ */
1
4
  export declare const mockResizeObserverEntry: ResizeObserverEntry;
5
+ /**
6
+ * @internal
7
+ */
2
8
  export declare const mockResizeObserverHandle: {
3
9
  callback: ResizeObserverCallback;
4
10
  emit: (entries: ResizeObserverEntry[], observer?: ResizeObserver) => void;
5
11
  };
12
+ /**
13
+ * @internal
14
+ */
6
15
  export declare function mockResizeObserver(): void;
@@ -0,0 +1,36 @@
1
+ import { ComponentHarness } from '@angular/cdk/testing';
2
+ /**
3
+ * Harness used to interact with native input elements in tests.
4
+ * @internal
5
+ */
6
+ export declare class SkyInputHarness extends ComponentHarness {
7
+ /**
8
+ * Blurs the input.
9
+ */
10
+ blur(): Promise<void>;
11
+ /**
12
+ * Clears the input value.
13
+ */
14
+ clear(): Promise<void>;
15
+ /**
16
+ * Focuses the input.
17
+ */
18
+ focus(): Promise<void>;
19
+ /**
20
+ * Gets the value of the input.
21
+ */
22
+ getValue(): Promise<string>;
23
+ /**
24
+ * Whether the input is disabled.
25
+ */
26
+ isDisabled(): Promise<boolean>;
27
+ /**
28
+ * Whether the input is focused.
29
+ */
30
+ isFocused(): Promise<boolean>;
31
+ /**
32
+ * Sets the value of the input. The value will be set by simulating key
33
+ * presses that correspond to the given value.
34
+ */
35
+ setValue(value: string): Promise<void>;
36
+ }