@skyux/core 14.0.0-alpha.8 → 14.0.0-beta.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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, Injectable, inject, RendererFactory2, NgZone, DOCUMENT, EventEmitter, Output, Input, Directive, ElementRef, input, output, signal, effect, ChangeDetectionStrategy, Component, provideEnvironmentInitializer, DestroyRef, EnvironmentInjector, createEnvironmentInjector, createComponent, ChangeDetectorRef, ViewContainerRef, ViewChild, InjectionToken, Optional, Inject, ApplicationRef, afterNextRender, Injector, Pipe, HostBinding, Renderer2, HostListener } from '@angular/core';
2
+ import { NgModule, Injectable, inject, RendererFactory2, NgZone, DOCUMENT, EventEmitter, Output, Input, Directive, effect, untracked, input, booleanAttribute, output, ElementRef, DestroyRef, signal, computed, ChangeDetectionStrategy, Component, provideEnvironmentInitializer, EnvironmentInjector, createEnvironmentInjector, createComponent, ChangeDetectorRef, ViewContainerRef, ViewChild, InjectionToken, Optional, Inject, ApplicationRef, afterNextRender, Injector, Pipe, HostBinding, Renderer2, HostListener } from '@angular/core';
3
3
  import { Subject, Subscription, ReplaySubject, fromEvent, of, Observable, filter, map, distinctUntilChanged, shareReplay, observeOn, animationFrameScheduler, takeUntil as takeUntil$1, BehaviorSubject, combineLatestWith, switchMap, concat, debounceTime as debounceTime$1 } from 'rxjs';
4
4
  import { takeUntil, debounceTime, take } from 'rxjs/operators';
5
5
  import { ViewportRuler } from '@angular/cdk/overlay';
@@ -1043,39 +1043,193 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1043
1043
  }] });
1044
1044
 
1045
1045
  /**
1046
- * @internal
1046
+ * Watches the host element for disabled CSS animations. When the trigger
1047
+ * signal changes and the element's `animation-name` is `'none'` or its
1048
+ * `animation-duration` resolves to `0` or less, the emitter fires via a
1049
+ * microtask.
1047
1050
  */
1048
- const SKY_ANIMATIONS_DISABLED_CLASS_NAME = 'sky-animations-disabled';
1051
+ function watchForDisabledCssAnimations(args) {
1052
+ emitWhenMotionDisabled(args, (style) => {
1053
+ return (allValuesEqual(style.animationName, 'none') ||
1054
+ allDurationsNonPositive(style.animationDuration));
1055
+ });
1056
+ }
1057
+ /**
1058
+ * Watches the host element for disabled CSS transitions. When the trigger
1059
+ * signal changes and the tracked property's transition is disabled
1060
+ * (e.g. `transition-property: none` or its paired duration resolves to
1061
+ * `0` or less), the emitter fires via a microtask.
1062
+ */
1063
+ function watchForDisabledCssTransitions(args) {
1064
+ const { propertyToTrack, ...watchArgs } = args;
1065
+ emitWhenMotionDisabled(watchArgs, (style) => {
1066
+ if (allValuesEqual(style.transitionProperty, 'none')) {
1067
+ return true;
1068
+ }
1069
+ const trackedProperty = propertyToTrack();
1070
+ if (!trackedProperty) {
1071
+ return allDurationsNonPositive(style.transitionDuration);
1072
+ }
1073
+ return isTransitionDisabledForProperty({
1074
+ trackedProperty,
1075
+ transitionDuration: style.transitionDuration,
1076
+ transitionProperty: style.transitionProperty,
1077
+ });
1078
+ });
1079
+ }
1080
+ /**
1081
+ * Creates an effect that watches a trigger signal and emits via a microtask
1082
+ * when the host element's CSS motion is disabled. By default, skips the
1083
+ * initial effect run to match native CSS behavior. When `emitOnAnimateEnter`
1084
+ * is `true`, the first run is not skipped, allowing emission for elements
1085
+ * that use `animate.enter` (where DOM insertion is the animation event).
1086
+ */
1087
+ function emitWhenMotionDisabled(args, isMotionDisabled) {
1088
+ const { destroyRef, elementRef, emitOnAnimateEnter, emitter, trigger } = args;
1089
+ const el = elementRef.nativeElement;
1090
+ let destroyed = false;
1091
+ let initialized = false;
1092
+ destroyRef.onDestroy(() => {
1093
+ destroyed = true;
1094
+ });
1095
+ effect(() => {
1096
+ trigger();
1097
+ // On the first run, check if emitOnAnimateEnter opts out of skipping.
1098
+ if (!initialized && emitOnAnimateEnter) {
1099
+ initialized = untracked(() => emitOnAnimateEnter());
1100
+ }
1101
+ const style = getComputedStyle(el);
1102
+ const isRendered = style.display !== 'none';
1103
+ // By default, skip the first effect run (and unrendered elements) to match
1104
+ // native CSS behavior. When emitOnAnimateEnter is true, the first run is
1105
+ // treated as initialized, allowing emission for enter animations.
1106
+ if (initialized && isRendered && untracked(() => isMotionDisabled(style))) {
1107
+ // Defer the emit to a microtask so it fires after the current
1108
+ // change detection pass, matching real transition timing.
1109
+ queueMicrotask(() => {
1110
+ if (!destroyed) {
1111
+ emitter.emit();
1112
+ }
1113
+ });
1114
+ }
1115
+ initialized = true;
1116
+ });
1117
+ }
1118
+ /**
1119
+ * Returns `true` if every entry in a comma-separated list equals `target`.
1120
+ */
1121
+ function allValuesEqual(csv, target) {
1122
+ return csv.split(',').every((v) => v.trim() === target);
1123
+ }
1124
+ /**
1125
+ * Returns `true` if every entry in a comma-separated CSS duration list resolves to `0` or less.
1126
+ */
1127
+ function allDurationsNonPositive(value) {
1128
+ return value.split(',').every((d) => parseFloat(d.trim()) <= 0);
1129
+ }
1130
+ /**
1131
+ * Returns `true` if the tracked property's paired duration is `0` or less,
1132
+ * or if the property isn't listed. Per the CSS spec, durations cycle over
1133
+ * the property list.
1134
+ */
1135
+ function isTransitionDisabledForProperty(args) {
1136
+ const { trackedProperty, transitionDuration, transitionProperty } = args;
1137
+ const properties = transitionProperty.split(',').map((p) => p.trim());
1138
+ const durations = transitionDuration.split(',').map((d) => d.trim());
1139
+ let index = properties.indexOf(trackedProperty);
1140
+ // If the tracked property is not explicitly listed, fall back to an `all`
1141
+ // entry if present. Per CSS, `transition-property: all` applies to every
1142
+ // property and uses its paired duration.
1143
+ if (index === -1) {
1144
+ const allIndex = properties.findIndex((p) => p.toLowerCase() === 'all');
1145
+ if (allIndex === -1) {
1146
+ return true;
1147
+ }
1148
+ index = allIndex;
1149
+ }
1150
+ const duration = durations[index % durations.length];
1151
+ return parseFloat(duration) <= 0;
1152
+ }
1049
1153
 
1050
1154
  /**
1051
1155
  * @internal
1156
+ *
1157
+ * Listens for CSS `animationend` events on the host element and emits
1158
+ * an `animationEnd` output when an animation completes. When the
1159
+ * element's CSS animation is disabled (e.g. `animation-name: none`
1160
+ * or `animation-duration: 0s`), the output emits via a microtask
1161
+ * whenever the `animationTrigger` input changes.
1052
1162
  */
1053
- function _skyAnimationsDisabled() {
1054
- return inject(DOCUMENT).body.classList.contains(SKY_ANIMATIONS_DISABLED_CLASS_NAME);
1163
+ class _SkyAnimationEndHandlerDirective {
1164
+ constructor() {
1165
+ /**
1166
+ * When `true` and the host element uses `animate.enter`, the
1167
+ * disabled-animation fallback emits `animationEnd` on the initial
1168
+ * render. Use this when the element's insertion into the DOM is
1169
+ * the animation event.
1170
+ */
1171
+ this.emitOnAnimateEnter = input(false, { ...(ngDevMode ? { debugName: "emitOnAnimateEnter" } : {}), transform: booleanAttribute });
1172
+ /**
1173
+ * Drives animation lifecycle tracking on the host element. When the
1174
+ * value changes and the CSS animation is disabled, `animationEnd`
1175
+ * emits via a microtask.
1176
+ */
1177
+ this.animationTrigger = input.required(...(ngDevMode ? [{ debugName: "animationTrigger" }] : []));
1178
+ /**
1179
+ * Emits when an `animationend` event fires on the host element, or via a
1180
+ * microtask when the CSS animation is disabled.
1181
+ */
1182
+ this.animationEnd = output();
1183
+ watchForDisabledCssAnimations({
1184
+ destroyRef: inject(DestroyRef),
1185
+ elementRef: inject(ElementRef),
1186
+ emitOnAnimateEnter: this.emitOnAnimateEnter,
1187
+ emitter: this.animationEnd,
1188
+ trigger: this.animationTrigger,
1189
+ });
1190
+ }
1191
+ onAnimationEnd(evt) {
1192
+ this.animationEnd.emit();
1193
+ evt.stopPropagation();
1194
+ }
1195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: _SkyAnimationEndHandlerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1196
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: _SkyAnimationEndHandlerDirective, isStandalone: true, selector: "[skyAnimationEndHandler]", inputs: { emitOnAnimateEnter: { classPropertyName: "emitOnAnimateEnter", publicName: "emitOnAnimateEnter", isSignal: true, isRequired: false, transformFunction: null }, animationTrigger: { classPropertyName: "animationTrigger", publicName: "animationTrigger", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { animationEnd: "animationEnd" }, host: { listeners: { "animationend": "onAnimationEnd($event)" } }, ngImport: i0 }); }
1055
1197
  }
1198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: _SkyAnimationEndHandlerDirective, decorators: [{
1199
+ type: Directive,
1200
+ args: [{
1201
+ selector: '[skyAnimationEndHandler]',
1202
+ host: {
1203
+ '(animationend)': 'onAnimationEnd($event)',
1204
+ },
1205
+ }]
1206
+ }], ctorParameters: () => [], propDecorators: { emitOnAnimateEnter: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitOnAnimateEnter", required: false }] }], animationTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationTrigger", required: true }] }], animationEnd: [{ type: i0.Output, args: ["animationEnd"] }] } });
1056
1207
 
1057
1208
  /**
1058
1209
  * @internal
1059
1210
  *
1060
1211
  * Listens for CSS `transitionend` events on the host element and emits
1061
1212
  * a `transitionEnd` output when the tracked CSS property finishes
1062
- * transitioning. When animations are globally disabled, the output
1063
- * emits synchronously whenever the `transitionTrigger` input changes.
1213
+ * transitioning. When the element's CSS transition is disabled
1214
+ * (e.g. `transition-property: none` or `transition-duration: 0s`), the
1215
+ * output emits via a microtask whenever the `transitionTrigger` input
1216
+ * changes.
1064
1217
  *
1065
1218
  * The CSS property to monitor can be set via the `transitionPropertyToTrack`
1066
1219
  * input (for template usage) or by calling `setPropertyToTrack()`
1067
1220
  * (for `hostDirectives` usage).
1068
1221
  */
1069
- class _SkyAnimationTransitionHandlerDirective {
1222
+ class _SkyTransitionEndHandlerDirective {
1070
1223
  #elementRef;
1071
1224
  #propertyNameOverride;
1225
+ #propertyToTrack;
1072
1226
  constructor() {
1073
1227
  this.#elementRef = inject((ElementRef));
1074
1228
  /**
1075
1229
  * Drives the CSS transition on the host element. When the value
1076
- * changes and animations are enabled, a CSS transition runs and
1077
- * `transitionEnd` emits on completion. When animations are
1078
- * disabled, `transitionEnd` emits synchronously instead.
1230
+ * changes and a CSS transition runs, `transitionEnd` emits on
1231
+ * completion. When the transition is disabled, `transitionEnd`
1232
+ * emits via a microtask instead.
1079
1233
  */
1080
1234
  this.transitionTrigger = input.required(...(ngDevMode ? [{ debugName: "transitionTrigger" }] : []));
1081
1235
  /**
@@ -1086,20 +1240,19 @@ class _SkyAnimationTransitionHandlerDirective {
1086
1240
  this.transitionPropertyToTrack = input(...(ngDevMode ? [undefined, { debugName: "transitionPropertyToTrack" }] : []));
1087
1241
  /**
1088
1242
  * Emits when the tracked CSS property's `transitionend` event fires
1089
- * on the host element, or synchronously when animations are disabled.
1243
+ * on the host element, or via a microtask when the CSS transition is
1244
+ * disabled.
1090
1245
  */
1091
1246
  this.transitionEnd = output();
1092
1247
  this.#propertyNameOverride = signal(undefined, ...(ngDevMode ? [{ debugName: "#propertyNameOverride" }] : []));
1093
- if (_skyAnimationsDisabled()) {
1094
- let initialized = false;
1095
- effect(() => {
1096
- this.transitionTrigger();
1097
- if (initialized) {
1098
- this.transitionEnd.emit();
1099
- }
1100
- initialized = true;
1101
- });
1102
- }
1248
+ this.#propertyToTrack = computed(() => this.transitionPropertyToTrack() ?? this.#propertyNameOverride(), ...(ngDevMode ? [{ debugName: "#propertyToTrack" }] : []));
1249
+ watchForDisabledCssTransitions({
1250
+ destroyRef: inject(DestroyRef),
1251
+ elementRef: this.#elementRef,
1252
+ emitter: this.transitionEnd,
1253
+ propertyToTrack: this.#propertyToTrack,
1254
+ trigger: this.transitionTrigger,
1255
+ });
1103
1256
  }
1104
1257
  /**
1105
1258
  * Sets the CSS property name to monitor for `transitionend` events
@@ -1113,9 +1266,9 @@ class _SkyAnimationTransitionHandlerDirective {
1113
1266
  if (evt.target !== this.#elementRef.nativeElement) {
1114
1267
  return;
1115
1268
  }
1116
- const propertyName = this.transitionPropertyToTrack() ?? this.#propertyNameOverride();
1269
+ const propertyName = this.#propertyToTrack();
1117
1270
  if (!propertyName) {
1118
- throw new Error(`SkyAnimationTransitionHandler: No CSS property specified for transition tracking on element ` +
1271
+ throw new Error(`SkyTransitionEndHandler: No CSS property specified for transition tracking on element ` +
1119
1272
  `'<${this.#elementRef.nativeElement.tagName.toLowerCase()}>'. ` +
1120
1273
  `Set the 'transitionPropertyToTrack' input or call 'setPropertyToTrack()' with a valid CSS property name before a transition occurs.`);
1121
1274
  }
@@ -1124,13 +1277,13 @@ class _SkyAnimationTransitionHandlerDirective {
1124
1277
  evt.stopPropagation();
1125
1278
  }
1126
1279
  }
1127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: _SkyAnimationTransitionHandlerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1128
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: _SkyAnimationTransitionHandlerDirective, isStandalone: true, selector: "[skyAnimationTransitionHandler]", inputs: { transitionTrigger: { classPropertyName: "transitionTrigger", publicName: "transitionTrigger", isSignal: true, isRequired: true, transformFunction: null }, transitionPropertyToTrack: { classPropertyName: "transitionPropertyToTrack", publicName: "transitionPropertyToTrack", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { transitionEnd: "transitionEnd" }, host: { listeners: { "transitionend": "onTransitionEnd($event)" } }, ngImport: i0 }); }
1280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: _SkyTransitionEndHandlerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1281
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: _SkyTransitionEndHandlerDirective, isStandalone: true, selector: "[skyTransitionEndHandler]", inputs: { transitionTrigger: { classPropertyName: "transitionTrigger", publicName: "transitionTrigger", isSignal: true, isRequired: true, transformFunction: null }, transitionPropertyToTrack: { classPropertyName: "transitionPropertyToTrack", publicName: "transitionPropertyToTrack", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { transitionEnd: "transitionEnd" }, host: { listeners: { "transitionend": "onTransitionEnd($event)" } }, ngImport: i0 }); }
1129
1282
  }
1130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: _SkyAnimationTransitionHandlerDirective, decorators: [{
1283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: _SkyTransitionEndHandlerDirective, decorators: [{
1131
1284
  type: Directive,
1132
1285
  args: [{
1133
- selector: '[skyAnimationTransitionHandler]',
1286
+ selector: '[skyTransitionEndHandler]',
1134
1287
  host: {
1135
1288
  '(transitionend)': 'onTransitionEnd($event)',
1136
1289
  },
@@ -1146,10 +1299,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1146
1299
  class _SkyAnimationSlideComponent {
1147
1300
  constructor() {
1148
1301
  this.opened = input.required(...(ngDevMode ? [{ debugName: "opened" }] : []));
1149
- inject(_SkyAnimationTransitionHandlerDirective).setPropertyToTrack('visibility');
1302
+ inject(_SkyTransitionEndHandlerDirective).setPropertyToTrack('visibility');
1150
1303
  }
1151
1304
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: _SkyAnimationSlideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: _SkyAnimationSlideComponent, isStandalone: true, selector: "sky-animation-slide", inputs: { opened: { classPropertyName: "opened", publicName: "opened", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.sky-animation-slide-in": "!opened()", "class.sky-animation-slide-out": "opened()" } }, hostDirectives: [{ directive: _SkyAnimationTransitionHandlerDirective, inputs: ["transitionTrigger", "opened"], outputs: ["transitionEnd", "transitionEnd"] }], ngImport: i0, template: '<div class="sky-animation-slide-content"><ng-content /></div>', isInline: true, styles: [":host{display:grid;grid-template-rows:0fr;overflow:hidden;transition-property:grid-template-rows,visibility;transition-duration:var(--sky-transition-time-short);transition-timing-function:ease-in}:host.sky-animation-slide-in{grid-template-rows:0fr;visibility:hidden}:host.sky-animation-slide-out{grid-template-rows:1fr;visibility:visible}:host>.sky-animation-slide-content{min-height:0;overflow:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: _SkyAnimationSlideComponent, isStandalone: true, selector: "sky-animation-slide", inputs: { opened: { classPropertyName: "opened", publicName: "opened", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.sky-animation-slide-in": "!opened()", "class.sky-animation-slide-out": "opened()" } }, hostDirectives: [{ directive: _SkyTransitionEndHandlerDirective, inputs: ["transitionTrigger", "opened"], outputs: ["transitionEnd", "transitionEnd"] }], ngImport: i0, template: '<div class="sky-animation-slide-content"><ng-content /></div>', isInline: true, styles: [":host{display:grid;grid-template-rows:0fr;overflow:hidden;transition-property:grid-template-rows,visibility;transition-duration:var(--sky-global-duration-short);transition-timing-function:ease-in}:host.sky-animation-slide-in{grid-template-rows:0fr;visibility:hidden}:host.sky-animation-slide-out{grid-template-rows:1fr;visibility:visible}:host>.sky-animation-slide-content{min-height:0;overflow:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1153
1306
  }
1154
1307
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: _SkyAnimationSlideComponent, decorators: [{
1155
1308
  type: Component,
@@ -1158,13 +1311,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1158
1311
  '[class.sky-animation-slide-out]': 'opened()',
1159
1312
  }, hostDirectives: [
1160
1313
  {
1161
- directive: _SkyAnimationTransitionHandlerDirective,
1314
+ directive: _SkyTransitionEndHandlerDirective,
1162
1315
  inputs: ['transitionTrigger: opened'],
1163
1316
  outputs: ['transitionEnd'],
1164
1317
  },
1165
- ], selector: 'sky-animation-slide', template: '<div class="sky-animation-slide-content"><ng-content /></div>', styles: [":host{display:grid;grid-template-rows:0fr;overflow:hidden;transition-property:grid-template-rows,visibility;transition-duration:var(--sky-transition-time-short);transition-timing-function:ease-in}:host.sky-animation-slide-in{grid-template-rows:0fr;visibility:hidden}:host.sky-animation-slide-out{grid-template-rows:1fr;visibility:visible}:host>.sky-animation-slide-content{min-height:0;overflow:hidden}\n"] }]
1318
+ ], selector: 'sky-animation-slide', template: '<div class="sky-animation-slide-content"><ng-content /></div>', styles: [":host{display:grid;grid-template-rows:0fr;overflow:hidden;transition-property:grid-template-rows,visibility;transition-duration:var(--sky-global-duration-short);transition-timing-function:ease-in}:host.sky-animation-slide-in{grid-template-rows:0fr;visibility:hidden}:host.sky-animation-slide-out{grid-template-rows:1fr;visibility:visible}:host>.sky-animation-slide-content{min-height:0;overflow:hidden}\n"] }]
1166
1319
  }], ctorParameters: () => [], propDecorators: { opened: [{ type: i0.Input, args: [{ isSignal: true, alias: "opened", required: true }] }] } });
1167
1320
 
1321
+ /**
1322
+ * @internal
1323
+ */
1324
+ const SKY_ANIMATIONS_DISABLED_CLASS_NAME = 'sky-animations-disabled';
1325
+
1168
1326
  /**
1169
1327
  * Disables CSS transitions and animations for SKY UX components.
1170
1328
  *
@@ -4880,11 +5038,11 @@ class Version {
4880
5038
  /**
4881
5039
  * Represents the version of @skyux/core.
4882
5040
  */
4883
- const VERSION = new Version('14.0.0-alpha.8');
5041
+ const VERSION = new Version('14.0.0-beta.0');
4884
5042
 
4885
5043
  /**
4886
5044
  * Generated bundle index. Do not edit.
4887
5045
  */
4888
5046
 
4889
- 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, SkyViewkeeper, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, VERSION, _SkyAnimationSlideComponent, _SkyAnimationTransitionHandlerDirective, provideNoopSkyAnimations, provideSkyBreakpointObserver, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
5047
+ 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, SkyViewkeeper, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, VERSION, _SkyAnimationEndHandlerDirective, _SkyAnimationSlideComponent, _SkyTransitionEndHandlerDirective, provideNoopSkyAnimations, provideSkyBreakpointObserver, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
4890
5048
  //# sourceMappingURL=skyux-core.mjs.map