@skyux/core 6.3.2 → 6.5.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.
- package/documentation.json +928 -687
- package/esm2020/index.mjs +3 -1
- package/esm2020/lib/modules/id/id.directive.mjs +11 -4
- package/esm2020/lib/modules/trim/trim.directive.mjs +67 -0
- package/esm2020/lib/modules/trim/trim.module.mjs +16 -0
- package/fesm2015/skyux-core.mjs +85 -4
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +85 -4
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/index.d.ts +2 -0
- package/lib/modules/id/id.directive.d.ts +1 -1
- package/lib/modules/trim/trim.directive.d.ts +16 -0
- package/lib/modules/trim/trim.module.d.ts +7 -0
- package/package.json +2 -2
package/esm2020/index.mjs
CHANGED
@@ -50,6 +50,7 @@ export * from './lib/modules/resize-observer/resize-observer-media-query.service
|
|
50
50
|
export * from './lib/modules/scrollable-host/scrollable-host.service';
|
51
51
|
export * from './lib/modules/title/set-title-args';
|
52
52
|
export * from './lib/modules/title/title.service';
|
53
|
+
export * from './lib/modules/trim/trim.module';
|
53
54
|
export * from './lib/modules/ui-config/ui-config.service';
|
54
55
|
export * from './lib/modules/viewkeeper/viewkeeper-host-options';
|
55
56
|
export * from './lib/modules/viewkeeper/viewkeeper-options';
|
@@ -61,4 +62,5 @@ export * from './lib/modules/window/window-ref';
|
|
61
62
|
export { SkyAffixDirective as λ1 } from './lib/modules/affix/affix.directive';
|
62
63
|
export { SkyIdDirective as λ2 } from './lib/modules/id/id.directive';
|
63
64
|
export { SkyViewkeeperDirective as λ3 } from './lib/modules/viewkeeper/viewkeeper.directive';
|
64
|
-
|
65
|
+
export { SkyTrimDirective as λ4 } from './lib/modules/trim/trim.directive';
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMERBQTBELENBQUM7QUFFekUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywyREFBMkQsQ0FBQztBQUUxRSxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtDQUErQyxDQUFDO0FBRTlELGNBQWMsa0RBQWtELENBQUM7QUFFakUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxtRUFBbUUsQ0FBQztBQUVsRixjQUFjLHVEQUF1RCxDQUFDO0FBRXRFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELDBGQUEwRjtBQUMxRiwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLElBQUksRUFBRSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixJQUFJLEVBQUUsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9mb2N1c2FibGUtY2hpbGRyZW4tb3B0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtYXV0by1maXQtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWhvcml6b250YWwtYWxpZ25tZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtb2Zmc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtb2Zmc2V0LWNoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LXBsYWNlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LXBsYWNlbWVudC1jaGFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXhlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWluc2VydC1jb21wb25lbnQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2staXRlbS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2stbG9jYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2stb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2RvY2svZG9jay5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2suc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtbG9jYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZm9ybWF0L2FwcC1mb3JtYXQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2lkL2lkLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9nL2xvZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvdHlwZXMvbG9nLWxldmVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9nL3R5cGVzL2xvZy1sZXZlbC10b2tlbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLXNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy1zeW1ib2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWluc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9wZXJjZW50LXBpcGUvcGVyY2VudC1waXBlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXItbWVkaWEtcXVlcnkuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2Nyb2xsYWJsZS1ob3N0L3Njcm9sbGFibGUtaG9zdC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy90aXRsZS9zZXQtdGl0bGUtYXJncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3RpdGxlL3RpdGxlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3RyaW0vdHJpbS5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3VpLWNvbmZpZy91aS1jb25maWcuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLWhvc3Qtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy93aW5kb3cvd2luZG93LXJlZic7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXIncyBcInBhcnRpYWxcIiBJdnkgY29tcGlsZXIuXG4vLyBPYnNjdXJlIG5hbWVzIGFyZSB1c2VkIHRvIGluZGljYXRlIHR5cGVzIGFyZSBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cbmV4cG9ydCB7IFNreUFmZml4RGlyZWN0aXZlIGFzIM67MSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXguZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreUlkRGlyZWN0aXZlIGFzIM67MiB9IGZyb20gJy4vbGliL21vZHVsZXMvaWQvaWQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreVZpZXdrZWVwZXJEaXJlY3RpdmUgYXMgzrszIH0gZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreVRyaW1EaXJlY3RpdmUgYXMgzrs0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy90cmltL3RyaW0uZGlyZWN0aXZlJztcbiJdfQ==
|
@@ -1,9 +1,14 @@
|
|
1
|
+
var _SkyIdDirective__id;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { Directive, ElementRef, Renderer2 } from '@angular/core';
|
2
4
|
import * as i0 from "@angular/core";
|
3
5
|
let idIndex = 0;
|
4
6
|
function generateId() {
|
5
7
|
idIndex++;
|
6
|
-
|
8
|
+
// Include timestamp and an incrementing index to guarantee unique IDs both during the application
|
9
|
+
// lifecycle as well as across sessions, since browsers will try to apply autocomplete options to
|
10
|
+
// elements with the same ID across sessions.
|
11
|
+
return `sky-id-gen__${new Date().getTime()}__${idIndex}`;
|
7
12
|
}
|
8
13
|
/**
|
9
14
|
* Sets the element's `id` attribute to a unique ID. To reference this unique ID on other elements,
|
@@ -12,16 +17,18 @@ function generateId() {
|
|
12
17
|
*/
|
13
18
|
export class SkyIdDirective {
|
14
19
|
constructor(elRef, renderer) {
|
20
|
+
_SkyIdDirective__id.set(this, void 0);
|
15
21
|
// Generate and apply the ID before the template is rendered
|
16
22
|
// to avoid a changed-after-checked error.
|
17
23
|
const id = generateId();
|
18
24
|
renderer.setAttribute(elRef.nativeElement, 'id', id);
|
19
|
-
this
|
25
|
+
__classPrivateFieldSet(this, _SkyIdDirective__id, id, "f");
|
20
26
|
}
|
21
27
|
get id() {
|
22
|
-
return this
|
28
|
+
return __classPrivateFieldGet(this, _SkyIdDirective__id, "f");
|
23
29
|
}
|
24
30
|
}
|
31
|
+
_SkyIdDirective__id = new WeakMap();
|
25
32
|
SkyIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyIdDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
26
33
|
SkyIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyIdDirective, selector: "[skyId]", exportAs: ["skyId"], ngImport: i0 });
|
27
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyIdDirective, decorators: [{
|
@@ -31,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
31
38
|
exportAs: 'skyId',
|
32
39
|
}]
|
33
40
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2lkL2lkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFakUsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCLFNBQVMsVUFBVTtJQUNqQixPQUFPLEVBQUUsQ0FBQztJQUVWLGtHQUFrRztJQUNsRyxpR0FBaUc7SUFDakcsNkNBQTZDO0lBQzdDLE9BQU8sZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBRSxDQUFDO0FBQzNELENBQUM7QUFFRDs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLGNBQWM7SUFPekIsWUFBWSxLQUFpQixFQUFFLFFBQW1CO1FBRmxELHNDQUFhO1FBR1gsNERBQTREO1FBQzVELDBDQUEwQztRQUMxQyxNQUFNLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUV4QixRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJELHVCQUFBLElBQUksdUJBQVEsRUFBRSxNQUFBLENBQUM7SUFDakIsQ0FBQztJQWRELElBQVcsRUFBRTtRQUNYLE9BQU8sdUJBQUEsSUFBSSwyQkFBSyxDQUFDO0lBQ25CLENBQUM7OzsyR0FIVSxjQUFjOytGQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IGlkSW5kZXggPSAwO1xuXG5mdW5jdGlvbiBnZW5lcmF0ZUlkKCk6IHN0cmluZyB7XG4gIGlkSW5kZXgrKztcblxuICAvLyBJbmNsdWRlIHRpbWVzdGFtcCBhbmQgYW4gaW5jcmVtZW50aW5nIGluZGV4IHRvIGd1YXJhbnRlZSB1bmlxdWUgSURzIGJvdGggZHVyaW5nIHRoZSBhcHBsaWNhdGlvblxuICAvLyBsaWZlY3ljbGUgYXMgd2VsbCBhcyBhY3Jvc3Mgc2Vzc2lvbnMsIHNpbmNlIGJyb3dzZXJzIHdpbGwgdHJ5IHRvIGFwcGx5IGF1dG9jb21wbGV0ZSBvcHRpb25zIHRvXG4gIC8vIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgSUQgYWNyb3NzIHNlc3Npb25zLlxuICByZXR1cm4gYHNreS1pZC1nZW5fXyR7bmV3IERhdGUoKS5nZXRUaW1lKCl9X18ke2lkSW5kZXh9YDtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBlbGVtZW50J3MgYGlkYCBhdHRyaWJ1dGUgdG8gYSB1bmlxdWUgSUQuIFRvIHJlZmVyZW5jZSB0aGlzIHVuaXF1ZSBJRCBvbiBvdGhlciBlbGVtZW50cyxcbiAqIHN1Y2ggYXMgaW4gYSBgbGFiZWxgIGVsZW1lbnQncyBgZm9yYCBhdHRyaWJ1dGUsIGFzc2lnbiB0aGlzIGRpcmVjdGl2ZSB0byBhIHRlbXBsYXRlIHJlZmVyZW5jZVxuICogdmFyaWFibGUsIHRoZW4gdXNlIGl0cyBgaWRgIHByb3BlcnR5LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5SWRdJyxcbiAgZXhwb3J0QXM6ICdza3lJZCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUlkRGlyZWN0aXZlIHtcbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfaWQ7XG4gIH1cblxuICAjX2lkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZWxSZWY6IEVsZW1lbnRSZWYsIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAvLyBHZW5lcmF0ZSBhbmQgYXBwbHkgdGhlIElEIGJlZm9yZSB0aGUgdGVtcGxhdGUgaXMgcmVuZGVyZWRcbiAgICAvLyB0byBhdm9pZCBhIGNoYW5nZWQtYWZ0ZXItY2hlY2tlZCBlcnJvci5cbiAgICBjb25zdCBpZCA9IGdlbmVyYXRlSWQoKTtcblxuICAgIHJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbFJlZi5uYXRpdmVFbGVtZW50LCAnaWQnLCBpZCk7XG5cbiAgICB0aGlzLiNfaWQgPSBpZDtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,67 @@
|
|
1
|
+
var _SkyTrimDirective_instances, _SkyTrimDirective_obs, _SkyTrimDirective_observe, _SkyTrimDirective_disconnect, _SkyTrimDirective_trim;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
+
import { Directive, ElementRef } from '@angular/core';
|
4
|
+
import { MutationObserverService } from '../mutation/mutation-observer-service';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "../mutation/mutation-observer-service";
|
7
|
+
/**
|
8
|
+
* Trims whitespace in each text node that is a direct descendent of the current element.
|
9
|
+
*/
|
10
|
+
export class SkyTrimDirective {
|
11
|
+
constructor(elRef, mutationObs) {
|
12
|
+
this.elRef = elRef;
|
13
|
+
this.mutationObs = mutationObs;
|
14
|
+
_SkyTrimDirective_instances.add(this);
|
15
|
+
_SkyTrimDirective_obs.set(this, void 0);
|
16
|
+
__classPrivateFieldSet(this, _SkyTrimDirective_obs, this.mutationObs.create((mutations) => {
|
17
|
+
const nodes = [];
|
18
|
+
// Only trim white space inside direct descendents of the current element.
|
19
|
+
for (const mutation of mutations) {
|
20
|
+
if (mutation.target.parentNode === this.elRef.nativeElement) {
|
21
|
+
nodes.push(mutation.target);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_trim).call(this, nodes);
|
25
|
+
}), "f");
|
26
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_observe).call(this);
|
27
|
+
}
|
28
|
+
ngOnInit() {
|
29
|
+
const el = this.elRef.nativeElement;
|
30
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_trim).call(this, Array.from(el.childNodes));
|
31
|
+
}
|
32
|
+
ngOnDestroy() {
|
33
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_disconnect).call(this);
|
34
|
+
__classPrivateFieldSet(this, _SkyTrimDirective_obs, undefined, "f");
|
35
|
+
}
|
36
|
+
}
|
37
|
+
_SkyTrimDirective_obs = new WeakMap(), _SkyTrimDirective_instances = new WeakSet(), _SkyTrimDirective_observe = function _SkyTrimDirective_observe() {
|
38
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_obs, "f").observe(this.elRef.nativeElement, {
|
39
|
+
characterData: true,
|
40
|
+
subtree: true,
|
41
|
+
});
|
42
|
+
}, _SkyTrimDirective_disconnect = function _SkyTrimDirective_disconnect() {
|
43
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_obs, "f").disconnect();
|
44
|
+
}, _SkyTrimDirective_trim = function _SkyTrimDirective_trim(nodes) {
|
45
|
+
// Suspend the MutationObserver so altering the text content of each node
|
46
|
+
// doesn't retrigger the observe callback.
|
47
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_disconnect).call(this);
|
48
|
+
for (const node of nodes) {
|
49
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
50
|
+
const textContent = node.textContent;
|
51
|
+
const textContentTrimmed = textContent.trim();
|
52
|
+
if (textContent !== textContentTrimmed) {
|
53
|
+
node.textContent = textContentTrimmed;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_observe).call(this);
|
58
|
+
};
|
59
|
+
SkyTrimDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimDirective, deps: [{ token: i0.ElementRef }, { token: i1.MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
|
60
|
+
SkyTrimDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyTrimDirective, selector: "[skyTrim]", ngImport: i0 });
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimDirective, decorators: [{
|
62
|
+
type: Directive,
|
63
|
+
args: [{
|
64
|
+
selector: '[skyTrim]',
|
65
|
+
}]
|
66
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MutationObserverService }]; } });
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvdHJpbS90cmltLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBRWhGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUNVLEtBQWlCLEVBQ2pCLFdBQW9DO1FBRHBDLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCOztRQUo5Qyx3Q0FBdUI7UUFNckIsdUJBQUEsSUFBSSx5QkFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTJCLEVBQUUsRUFBRTtZQUNsRSxNQUFNLEtBQUssR0FBVyxFQUFFLENBQUM7WUFFekIsMEVBQTBFO1lBQzFFLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO2dCQUNoQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFO29CQUMzRCxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDN0I7YUFDRjtZQUVELHVCQUFBLElBQUksMkRBQU0sTUFBVixJQUFJLEVBQU8sS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLE1BQUEsQ0FBQztRQUVILHVCQUFBLElBQUksOERBQVMsTUFBYixJQUFJLENBQVcsQ0FBQztJQUNsQixDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBd0IsQ0FBQztRQUMvQyx1QkFBQSxJQUFJLDJEQUFNLE1BQVYsSUFBSSxFQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsdUJBQUEsSUFBSSxpRUFBWSxNQUFoQixJQUFJLENBQWMsQ0FBQztRQUNuQix1QkFBQSxJQUFJLHlCQUFRLFNBQVMsTUFBQSxDQUFDO0lBQ3hCLENBQUM7OztJQUdDLHVCQUFBLElBQUksNkJBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7UUFDMUMsYUFBYSxFQUFFLElBQUk7UUFDbkIsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDO0lBR0MsdUJBQUEsSUFBSSw2QkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3pCLENBQUMsMkRBRUssS0FBYTtJQUNqQix5RUFBeUU7SUFDekUsMENBQTBDO0lBQzFDLHVCQUFBLElBQUksaUVBQVksTUFBaEIsSUFBSSxDQUFjLENBQUM7SUFFbkIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNyQyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUU5QyxJQUFJLFdBQVcsS0FBSyxrQkFBa0IsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQzthQUN2QztTQUNGO0tBQ0Y7SUFFRCx1QkFBQSxJQUFJLDhEQUFTLE1BQWIsSUFBSSxDQUFXLENBQUM7QUFDbEIsQ0FBQzs2R0E3RFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5cbi8qKlxuICogVHJpbXMgd2hpdGVzcGFjZSBpbiBlYWNoIHRleHQgbm9kZSB0aGF0IGlzIGEgZGlyZWN0IGRlc2NlbmRlbnQgb2YgdGhlIGN1cnJlbnQgZWxlbWVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVRyaW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VHJpbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgI29iczogTXV0YXRpb25PYnNlcnZlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbXV0YXRpb25PYnM6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI29icyA9IHRoaXMubXV0YXRpb25PYnMuY3JlYXRlKChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pID0+IHtcbiAgICAgIGNvbnN0IG5vZGVzOiBOb2RlW10gPSBbXTtcblxuICAgICAgLy8gT25seSB0cmltIHdoaXRlIHNwYWNlIGluc2lkZSBkaXJlY3QgZGVzY2VuZGVudHMgb2YgdGhlIGN1cnJlbnQgZWxlbWVudC5cbiAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zKSB7XG4gICAgICAgIGlmIChtdXRhdGlvbi50YXJnZXQucGFyZW50Tm9kZSA9PT0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgbm9kZXMucHVzaChtdXRhdGlvbi50YXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI3RyaW0obm9kZXMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jb2JzZXJ2ZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEVsZW1lbnQ7XG4gICAgdGhpcy4jdHJpbShBcnJheS5mcm9tKGVsLmNoaWxkTm9kZXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNkaXNjb25uZWN0KCk7XG4gICAgdGhpcy4jb2JzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgI29ic2VydmUoKTogdm9pZCB7XG4gICAgdGhpcy4jb2JzLm9ic2VydmUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gICNkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuI29icy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICAjdHJpbShub2RlczogTm9kZVtdKTogdm9pZCB7XG4gICAgLy8gU3VzcGVuZCB0aGUgTXV0YXRpb25PYnNlcnZlciBzbyBhbHRlcmluZyB0aGUgdGV4dCBjb250ZW50IG9mIGVhY2ggbm9kZVxuICAgIC8vIGRvZXNuJ3QgcmV0cmlnZ2VyIHRoZSBvYnNlcnZlIGNhbGxiYWNrLlxuICAgIHRoaXMuI2Rpc2Nvbm5lY3QoKTtcblxuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgICAgIGNvbnN0IHRleHRDb250ZW50ID0gbm9kZS50ZXh0Q29udGVudDtcbiAgICAgICAgY29uc3QgdGV4dENvbnRlbnRUcmltbWVkID0gdGV4dENvbnRlbnQudHJpbSgpO1xuXG4gICAgICAgIGlmICh0ZXh0Q29udGVudCAhPT0gdGV4dENvbnRlbnRUcmltbWVkKSB7XG4gICAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IHRleHRDb250ZW50VHJpbW1lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuI29ic2VydmUoKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { SkyTrimDirective } from './trim.directive';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class SkyTrimModule {
|
5
|
+
}
|
6
|
+
SkyTrimModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
7
|
+
SkyTrimModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimModule, declarations: [SkyTrimDirective], exports: [SkyTrimDirective] });
|
8
|
+
SkyTrimModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimModule });
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimModule, decorators: [{
|
10
|
+
type: NgModule,
|
11
|
+
args: [{
|
12
|
+
declarations: [SkyTrimDirective],
|
13
|
+
exports: [SkyTrimDirective],
|
14
|
+
}]
|
15
|
+
}] });
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvdHJpbS90cmltLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU1wRCxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQUhULGdCQUFnQixhQUNyQixnQkFBZ0I7MkdBRWYsYUFBYTsyRkFBYixhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUcmltRGlyZWN0aXZlIH0gZnJvbSAnLi90cmltLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NreVRyaW1EaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbU2t5VHJpbURpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRyaW1Nb2R1bGUge31cbiJdfQ==
|
package/fesm2015/skyux-core.mjs
CHANGED
@@ -1345,10 +1345,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
1345
1345
|
}]
|
1346
1346
|
}] });
|
1347
1347
|
|
1348
|
+
var _SkyIdDirective__id;
|
1348
1349
|
let idIndex = 0;
|
1349
1350
|
function generateId() {
|
1350
1351
|
idIndex++;
|
1351
|
-
|
1352
|
+
// Include timestamp and an incrementing index to guarantee unique IDs both during the application
|
1353
|
+
// lifecycle as well as across sessions, since browsers will try to apply autocomplete options to
|
1354
|
+
// elements with the same ID across sessions.
|
1355
|
+
return `sky-id-gen__${new Date().getTime()}__${idIndex}`;
|
1352
1356
|
}
|
1353
1357
|
/**
|
1354
1358
|
* Sets the element's `id` attribute to a unique ID. To reference this unique ID on other elements,
|
@@ -1357,16 +1361,18 @@ function generateId() {
|
|
1357
1361
|
*/
|
1358
1362
|
class SkyIdDirective {
|
1359
1363
|
constructor(elRef, renderer) {
|
1364
|
+
_SkyIdDirective__id.set(this, void 0);
|
1360
1365
|
// Generate and apply the ID before the template is rendered
|
1361
1366
|
// to avoid a changed-after-checked error.
|
1362
1367
|
const id = generateId();
|
1363
1368
|
renderer.setAttribute(elRef.nativeElement, 'id', id);
|
1364
|
-
this
|
1369
|
+
__classPrivateFieldSet(this, _SkyIdDirective__id, id, "f");
|
1365
1370
|
}
|
1366
1371
|
get id() {
|
1367
|
-
return this
|
1372
|
+
return __classPrivateFieldGet(this, _SkyIdDirective__id, "f");
|
1368
1373
|
}
|
1369
1374
|
}
|
1375
|
+
_SkyIdDirective__id = new WeakMap();
|
1370
1376
|
SkyIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyIdDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
1371
1377
|
SkyIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyIdDirective, selector: "[skyId]", exportAs: ["skyId"], ngImport: i0 });
|
1372
1378
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyIdDirective, decorators: [{
|
@@ -2895,6 +2901,81 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
2895
2901
|
}]
|
2896
2902
|
}], ctorParameters: function () { return [{ type: i1$1.Title }]; } });
|
2897
2903
|
|
2904
|
+
var _SkyTrimDirective_instances, _SkyTrimDirective_obs, _SkyTrimDirective_observe, _SkyTrimDirective_disconnect, _SkyTrimDirective_trim;
|
2905
|
+
/**
|
2906
|
+
* Trims whitespace in each text node that is a direct descendent of the current element.
|
2907
|
+
*/
|
2908
|
+
class SkyTrimDirective {
|
2909
|
+
constructor(elRef, mutationObs) {
|
2910
|
+
this.elRef = elRef;
|
2911
|
+
this.mutationObs = mutationObs;
|
2912
|
+
_SkyTrimDirective_instances.add(this);
|
2913
|
+
_SkyTrimDirective_obs.set(this, void 0);
|
2914
|
+
__classPrivateFieldSet(this, _SkyTrimDirective_obs, this.mutationObs.create((mutations) => {
|
2915
|
+
const nodes = [];
|
2916
|
+
// Only trim white space inside direct descendents of the current element.
|
2917
|
+
for (const mutation of mutations) {
|
2918
|
+
if (mutation.target.parentNode === this.elRef.nativeElement) {
|
2919
|
+
nodes.push(mutation.target);
|
2920
|
+
}
|
2921
|
+
}
|
2922
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_trim).call(this, nodes);
|
2923
|
+
}), "f");
|
2924
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_observe).call(this);
|
2925
|
+
}
|
2926
|
+
ngOnInit() {
|
2927
|
+
const el = this.elRef.nativeElement;
|
2928
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_trim).call(this, Array.from(el.childNodes));
|
2929
|
+
}
|
2930
|
+
ngOnDestroy() {
|
2931
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_disconnect).call(this);
|
2932
|
+
__classPrivateFieldSet(this, _SkyTrimDirective_obs, undefined, "f");
|
2933
|
+
}
|
2934
|
+
}
|
2935
|
+
_SkyTrimDirective_obs = new WeakMap(), _SkyTrimDirective_instances = new WeakSet(), _SkyTrimDirective_observe = function _SkyTrimDirective_observe() {
|
2936
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_obs, "f").observe(this.elRef.nativeElement, {
|
2937
|
+
characterData: true,
|
2938
|
+
subtree: true,
|
2939
|
+
});
|
2940
|
+
}, _SkyTrimDirective_disconnect = function _SkyTrimDirective_disconnect() {
|
2941
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_obs, "f").disconnect();
|
2942
|
+
}, _SkyTrimDirective_trim = function _SkyTrimDirective_trim(nodes) {
|
2943
|
+
// Suspend the MutationObserver so altering the text content of each node
|
2944
|
+
// doesn't retrigger the observe callback.
|
2945
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_disconnect).call(this);
|
2946
|
+
for (const node of nodes) {
|
2947
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
2948
|
+
const textContent = node.textContent;
|
2949
|
+
const textContentTrimmed = textContent.trim();
|
2950
|
+
if (textContent !== textContentTrimmed) {
|
2951
|
+
node.textContent = textContentTrimmed;
|
2952
|
+
}
|
2953
|
+
}
|
2954
|
+
}
|
2955
|
+
__classPrivateFieldGet(this, _SkyTrimDirective_instances, "m", _SkyTrimDirective_observe).call(this);
|
2956
|
+
};
|
2957
|
+
SkyTrimDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimDirective, deps: [{ token: i0.ElementRef }, { token: MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
|
2958
|
+
SkyTrimDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyTrimDirective, selector: "[skyTrim]", ngImport: i0 });
|
2959
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimDirective, decorators: [{
|
2960
|
+
type: Directive,
|
2961
|
+
args: [{
|
2962
|
+
selector: '[skyTrim]',
|
2963
|
+
}]
|
2964
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MutationObserverService }]; } });
|
2965
|
+
|
2966
|
+
class SkyTrimModule {
|
2967
|
+
}
|
2968
|
+
SkyTrimModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
2969
|
+
SkyTrimModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimModule, declarations: [SkyTrimDirective], exports: [SkyTrimDirective] });
|
2970
|
+
SkyTrimModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimModule });
|
2971
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTrimModule, decorators: [{
|
2972
|
+
type: NgModule,
|
2973
|
+
args: [{
|
2974
|
+
declarations: [SkyTrimDirective],
|
2975
|
+
exports: [SkyTrimDirective],
|
2976
|
+
}]
|
2977
|
+
}] });
|
2978
|
+
|
2898
2979
|
class SkyUIConfigService {
|
2899
2980
|
getConfig(key, defaultConfig) {
|
2900
2981
|
return of(defaultConfig);
|
@@ -3333,5 +3414,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
3333
3414
|
* Generated bundle index. Do not edit.
|
3334
3415
|
*/
|
3335
3416
|
|
3336
|
-
export { MutationObserverService, NumericOptions, SKY_LOG_LEVEL, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScrollableHostService, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3 };
|
3417
|
+
export { MutationObserverService, NumericOptions, SKY_LOG_LEVEL, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
|
3337
3418
|
//# sourceMappingURL=skyux-core.mjs.map
|