@skyux/core 5.6.1 → 5.7.1
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/bundles/skyux-core.umd.js +55 -32
- package/documentation.json +499 -954
- package/esm2015/lib/modules/affix/affixer.js.map +1 -1
- package/esm2015/lib/modules/dock/dock.service.js +18 -15
- package/esm2015/lib/modules/dock/dock.service.js.map +1 -1
- package/esm2015/lib/modules/numeric/numeric.options.js +1 -1
- package/esm2015/lib/modules/numeric/numeric.options.js.map +1 -1
- package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js +35 -14
- package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js.map +1 -1
- package/esm2015/lib/modules/shared/number-format/number-format-utility.js +0 -2
- package/esm2015/lib/modules/shared/number-format/number-format-utility.js.map +1 -1
- package/esm2015/lib/modules/shared/sky-core-resources.module.js +1 -1
- package/esm2015/lib/modules/shared/sky-core-resources.module.js.map +1 -1
- package/fesm2015/skyux-core.js +55 -33
- package/fesm2015/skyux-core.js.map +1 -1
- package/lib/modules/dock/dock.service.d.ts +2 -2
- package/lib/modules/numeric/numeric.options.d.ts +1 -1
- package/lib/modules/scrollable-host/scrollable-host.service.d.ts +2 -1
- package/lib/modules/shared/number-format/number-format-utility.d.ts +0 -1
- package/lib/modules/shared/sky-core-resources.module.d.ts +1 -1
- package/package.json +2 -2
package/fesm2015/skyux-core.js
CHANGED
@@ -1230,13 +1230,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
1230
1230
|
class SkyDockService {
|
1231
1231
|
constructor(dynamicComponentService) {
|
1232
1232
|
this.dynamicComponentService = dynamicComponentService;
|
1233
|
-
this._items = [];
|
1234
1233
|
}
|
1235
1234
|
/**
|
1236
1235
|
* Returns all docked items.
|
1237
1236
|
*/
|
1238
1237
|
get items() {
|
1239
|
-
return
|
1238
|
+
return SkyDockService._items;
|
1240
1239
|
}
|
1241
1240
|
/**
|
1242
1241
|
* Docks a component to the bottom of the page.
|
@@ -1244,20 +1243,20 @@ class SkyDockService {
|
|
1244
1243
|
* @param config Options that affect the docking action.
|
1245
1244
|
*/
|
1246
1245
|
insertComponent(component, config) {
|
1247
|
-
if (!
|
1246
|
+
if (!SkyDockService.dockRef) {
|
1248
1247
|
this.createDock();
|
1249
1248
|
}
|
1250
|
-
const itemRef =
|
1249
|
+
const itemRef = SkyDockService.dockRef.instance.insertComponent(component, config);
|
1251
1250
|
const item = new SkyDockItem(itemRef.componentRef.instance, itemRef.stackOrder);
|
1252
1251
|
item.destroyed.subscribe(() => {
|
1253
|
-
|
1254
|
-
|
1255
|
-
if (
|
1252
|
+
SkyDockService.dockRef.instance.removeItem(itemRef);
|
1253
|
+
SkyDockService._items.splice(SkyDockService._items.indexOf(item), 1);
|
1254
|
+
if (SkyDockService._items.length === 0) {
|
1256
1255
|
this.destroyDock();
|
1257
1256
|
}
|
1258
1257
|
});
|
1259
|
-
|
1260
|
-
|
1258
|
+
SkyDockService._items.push(item);
|
1259
|
+
SkyDockService._items.sort(sortByStackOrder);
|
1261
1260
|
return item;
|
1262
1261
|
}
|
1263
1262
|
/**
|
@@ -1290,20 +1289,24 @@ class SkyDockService {
|
|
1290
1289
|
referenceEl: this.options.referenceEl,
|
1291
1290
|
};
|
1292
1291
|
}
|
1293
|
-
|
1294
|
-
|
1292
|
+
SkyDockService.dockRef = this.dynamicComponentService.createComponent(SkyDockComponent, dockOptions);
|
1293
|
+
SkyDockService.dockRef.instance.setOptions(this.options);
|
1295
1294
|
}
|
1296
1295
|
destroyDock() {
|
1297
|
-
this.dynamicComponentService.removeComponent(
|
1298
|
-
|
1296
|
+
this.dynamicComponentService.removeComponent(SkyDockService.dockRef);
|
1297
|
+
SkyDockService.dockRef = undefined;
|
1299
1298
|
}
|
1300
1299
|
}
|
1300
|
+
SkyDockService._items = [];
|
1301
1301
|
SkyDockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDockService, deps: [{ token: SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
|
1302
|
-
SkyDockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDockService, providedIn: '
|
1302
|
+
SkyDockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDockService, providedIn: 'any' });
|
1303
1303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDockService, decorators: [{
|
1304
1304
|
type: Injectable,
|
1305
1305
|
args: [{
|
1306
|
-
|
1306
|
+
// Must be 'any' so that the dock component is created in the context of its module's injector.
|
1307
|
+
// If set to 'root', the component's dependency injections would only be derived from the root
|
1308
|
+
// injector and may loose context if the dock was opened from within a lazy-loaded module.
|
1309
|
+
providedIn: 'any',
|
1307
1310
|
}]
|
1308
1311
|
}], ctorParameters: function () { return [{ type: SkyDynamicComponentService }]; } });
|
1309
1312
|
|
@@ -1552,7 +1555,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
1552
1555
|
/**
|
1553
1556
|
* NOTICE: DO NOT MODIFY THIS FILE!
|
1554
1557
|
* The contents of this file were automatically generated by
|
1555
|
-
* the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-core' schematic.
|
1558
|
+
* the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-core' schematic.
|
1556
1559
|
* To update this file, simply rerun the command.
|
1557
1560
|
*/
|
1558
1561
|
const RESOURCES = {
|
@@ -1625,7 +1628,7 @@ class NumericOptions {
|
|
1625
1628
|
this.iso = 'USD';
|
1626
1629
|
/**
|
1627
1630
|
* Indicates whether to shorten numbers to rounded numbers and abbreviation characters
|
1628
|
-
* such as K for thousands, M for millions, B for billions, and T for
|
1631
|
+
* such as K for thousands, M for millions, B for billions, and T for trillions.
|
1629
1632
|
*/
|
1630
1633
|
this.truncate = true;
|
1631
1634
|
/**
|
@@ -1653,8 +1656,6 @@ function parseIntAutoRadix(text) {
|
|
1653
1656
|
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
1654
1657
|
// @dynamic
|
1655
1658
|
class SkyNumberFormatUtility {
|
1656
|
-
/* istanbul ignore next */
|
1657
|
-
constructor() { }
|
1658
1659
|
static formatNumber(locale, value, style, digits, currency = null, currencyAsSymbol = false, currencySign) {
|
1659
1660
|
if (value == null) {
|
1660
1661
|
return null;
|
@@ -2435,20 +2436,30 @@ class SkyScrollableHostService {
|
|
2435
2436
|
*/
|
2436
2437
|
watchScrollableHost(elementRef) {
|
2437
2438
|
const subscribers = [];
|
2438
|
-
let
|
2439
|
+
let parentMutationObserver;
|
2440
|
+
let documentHiddenElementMutationObserver;
|
2439
2441
|
return new Observable((subscriber) => {
|
2440
2442
|
subscribers.push(subscriber);
|
2441
2443
|
let scrollableHost = this.findScrollableHost(elementRef.nativeElement);
|
2442
2444
|
if (subscribers.length === 1) {
|
2443
|
-
|
2445
|
+
parentMutationObserver = this.mutationObserverSvc.create(() => {
|
2444
2446
|
const newScrollableHost = this.findScrollableHost(elementRef.nativeElement);
|
2445
|
-
if (newScrollableHost !== scrollableHost
|
2447
|
+
if (newScrollableHost !== scrollableHost &&
|
2448
|
+
elementRef.nativeElement.offsetParent) {
|
2446
2449
|
scrollableHost = newScrollableHost;
|
2447
|
-
this.observeForScrollableHostChanges(scrollableHost,
|
2450
|
+
this.observeForScrollableHostChanges(scrollableHost, parentMutationObserver);
|
2451
|
+
notifySubscribers(subscribers, scrollableHost);
|
2452
|
+
}
|
2453
|
+
});
|
2454
|
+
this.observeForScrollableHostChanges(scrollableHost, parentMutationObserver);
|
2455
|
+
documentHiddenElementMutationObserver = this.mutationObserverSvc.create(() => {
|
2456
|
+
if (!elementRef.nativeElement.offsetParent) {
|
2457
|
+
scrollableHost = undefined;
|
2458
|
+
this.observeForScrollableHostChanges(scrollableHost, parentMutationObserver);
|
2448
2459
|
notifySubscribers(subscribers, scrollableHost);
|
2449
2460
|
}
|
2450
2461
|
});
|
2451
|
-
this.
|
2462
|
+
this.observeDocumentHiddenElementChanges(documentHiddenElementMutationObserver);
|
2452
2463
|
}
|
2453
2464
|
subscriber.next(scrollableHost);
|
2454
2465
|
subscriber.add(() => {
|
@@ -2459,7 +2470,8 @@ class SkyScrollableHostService {
|
|
2459
2470
|
subscribers.splice(subIndex, 1);
|
2460
2471
|
}
|
2461
2472
|
if (subscribers.length === 0) {
|
2462
|
-
|
2473
|
+
documentHiddenElementMutationObserver.disconnect();
|
2474
|
+
parentMutationObserver.disconnect();
|
2463
2475
|
}
|
2464
2476
|
});
|
2465
2477
|
});
|
@@ -2468,7 +2480,7 @@ class SkyScrollableHostService {
|
|
2468
2480
|
* Returns an observable which emits whenever the element's scrollable host emits a scroll event. The observable will always emit the scroll events from the elements current scrollable host and will update based on any scrollable host changes. The observable will also emit once whenever the scrollable host changes.
|
2469
2481
|
* @param elementRef The element whose scrollable host scroll events are being requested
|
2470
2482
|
* @param completionObservable An observable which alerts the internal observers that they should complete
|
2471
|
-
* @returns An observable which emits the
|
2483
|
+
* @returns An observable which emits when the elements scrollable host is scrolled or is changed
|
2472
2484
|
*/
|
2473
2485
|
watchScrollableHostScrollEvents(elementRef) {
|
2474
2486
|
const subscribers = [];
|
@@ -2487,11 +2499,13 @@ class SkyScrollableHostService {
|
|
2487
2499
|
}
|
2488
2500
|
scrollableHost = newScrollableHost;
|
2489
2501
|
newScrollableHostObservable = new Subject();
|
2490
|
-
|
2491
|
-
|
2492
|
-
|
2493
|
-
|
2494
|
-
|
2502
|
+
if (newScrollableHost) {
|
2503
|
+
scrollEventSubscription = fromEvent(newScrollableHost, 'scroll')
|
2504
|
+
.pipe(takeUntil(newScrollableHostObservable))
|
2505
|
+
.subscribe(() => {
|
2506
|
+
notifySubscribers(subscribers);
|
2507
|
+
});
|
2508
|
+
}
|
2495
2509
|
});
|
2496
2510
|
}
|
2497
2511
|
subscriber.add(() => {
|
@@ -2534,12 +2548,20 @@ class SkyScrollableHostService {
|
|
2534
2548
|
}
|
2535
2549
|
return parent;
|
2536
2550
|
}
|
2551
|
+
observeDocumentHiddenElementChanges(mutationObserver) {
|
2552
|
+
mutationObserver.observe(document.documentElement, {
|
2553
|
+
attributes: true,
|
2554
|
+
attributeFilter: ['class', 'style', 'hidden'],
|
2555
|
+
childList: true,
|
2556
|
+
subtree: true,
|
2557
|
+
});
|
2558
|
+
}
|
2537
2559
|
observeForScrollableHostChanges(element, mutationObserver) {
|
2538
2560
|
mutationObserver.disconnect();
|
2539
2561
|
if (element instanceof HTMLElement) {
|
2540
2562
|
mutationObserver.observe(element, {
|
2541
2563
|
attributes: true,
|
2542
|
-
attributeFilter: ['class', 'style
|
2564
|
+
attributeFilter: ['class', 'style'],
|
2543
2565
|
childList: true,
|
2544
2566
|
subtree: true,
|
2545
2567
|
});
|
@@ -2547,7 +2569,7 @@ class SkyScrollableHostService {
|
|
2547
2569
|
else {
|
2548
2570
|
mutationObserver.observe(document.documentElement, {
|
2549
2571
|
attributes: true,
|
2550
|
-
attributeFilter: ['class', 'style
|
2572
|
+
attributeFilter: ['class', 'style'],
|
2551
2573
|
childList: true,
|
2552
2574
|
subtree: true,
|
2553
2575
|
});
|