@fundamental-ngx/core 0.35.4-rc.5 → 0.35.4-rc.8
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/action-bar/package.json +1 -1
- package/action-sheet/package.json +1 -1
- package/alert/package.json +1 -1
- package/avatar/package.json +1 -1
- package/avatar-group/package.json +1 -1
- package/bar/package.json +1 -1
- package/breadcrumb/package.json +1 -1
- package/busy-indicator/package.json +1 -1
- package/button/package.json +1 -1
- package/calendar/package.json +1 -1
- package/card/package.json +1 -1
- package/carousel/package.json +1 -1
- package/checkbox/package.json +1 -1
- package/combobox/package.json +1 -1
- package/content-density/esm2020/classes/deprecated-compact.directive.mjs +4 -4
- package/content-density/esm2020/classes/deprecated-condensed.directive.mjs +3 -3
- package/content-density/esm2020/classes/deprecated-cozy.directive.mjs +3 -3
- package/content-density/fesm2015/fundamental-ngx-core-content-density.mjs +7 -7
- package/content-density/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/content-density/fesm2020/fundamental-ngx-core-content-density.mjs +7 -7
- package/content-density/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/content-density/package.json +3 -3
- package/date-picker/package.json +1 -1
- package/datetime/package.json +1 -1
- package/datetime-picker/package.json +1 -1
- package/dialog/package.json +1 -1
- package/dynamic-page/package.json +1 -1
- package/dynamic-side-content/package.json +1 -1
- package/esm2020/content-density/classes/deprecated-compact.directive.mjs +4 -4
- package/esm2020/content-density/classes/deprecated-condensed.directive.mjs +3 -3
- package/esm2020/content-density/classes/deprecated-cozy.directive.mjs +3 -3
- package/facets/package.json +1 -1
- package/feed-input/package.json +1 -1
- package/feed-list-item/package.json +1 -1
- package/fesm2015/fundamental-ngx-core-content-density.mjs +7 -7
- package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-content-density.mjs +7 -7
- package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/file-uploader/package.json +1 -1
- package/fixed-card-layout/package.json +1 -1
- package/flexible-column-layout/package.json +1 -1
- package/form/package.json +1 -1
- package/formatted-text/package.json +1 -1
- package/grid-list/package.json +1 -1
- package/icon/package.json +1 -1
- package/illustrated-message/package.json +1 -1
- package/infinite-scroll/package.json +1 -1
- package/info-label/package.json +1 -1
- package/inline-help/package.json +1 -1
- package/input-group/package.json +1 -1
- package/layout-grid/package.json +1 -1
- package/layout-panel/package.json +1 -1
- package/link/package.json +1 -1
- package/list/package.json +1 -1
- package/menu/package.json +1 -1
- package/message-box/package.json +1 -1
- package/message-strip/package.json +1 -1
- package/message-toast/package.json +1 -1
- package/micro-process-flow/package.json +1 -1
- package/mobile-mode/package.json +1 -1
- package/multi-input/package.json +1 -1
- package/nested-list/package.json +1 -1
- package/notification/package.json +1 -1
- package/object-identifier/package.json +1 -1
- package/object-marker/package.json +1 -1
- package/object-number/package.json +1 -1
- package/object-status/package.json +1 -1
- package/overflow-layout/package.json +13 -13
- package/package.json +1 -1
- package/pagination/package.json +1 -1
- package/panel/package.json +1 -1
- package/popover/package.json +1 -1
- package/product-switch/package.json +1 -1
- package/progress-indicator/package.json +1 -1
- package/quick-view/package.json +1 -1
- package/radio/package.json +1 -1
- package/rating-indicator/package.json +1 -1
- package/resizable-card-layout/package.json +1 -1
- package/scroll-spy/package.json +1 -1
- package/scrollbar/package.json +1 -1
- package/segmented-button/package.json +1 -1
- package/select/package.json +1 -1
- package/shared/package.json +1 -1
- package/shellbar/package.json +1 -1
- package/side-navigation/package.json +1 -1
- package/slider/package.json +1 -1
- package/split-button/package.json +1 -1
- package/splitter/package.json +1 -1
- package/status-indicator/package.json +1 -1
- package/step-input/package.json +1 -1
- package/switch/package.json +1 -1
- package/table/package.json +1 -1
- package/tabs/package.json +1 -1
- package/text/package.json +1 -1
- package/theming/package.json +1 -1
- package/tile/package.json +1 -1
- package/time/package.json +1 -1
- package/time-picker/package.json +1 -1
- package/timeline/package.json +1 -1
- package/title/package.json +1 -1
- package/token/package.json +1 -1
- package/toolbar/package.json +1 -1
- package/tree/package.json +1 -1
- package/upload-collection/package.json +1 -1
- package/utils/package.json +1 -1
- package/vertical-navigation/package.json +1 -1
- package/wizard/package.json +1 -1
package/action-bar/package.json
CHANGED
package/alert/package.json
CHANGED
package/avatar/package.json
CHANGED
package/bar/package.json
CHANGED
package/breadcrumb/package.json
CHANGED
package/button/package.json
CHANGED
package/calendar/package.json
CHANGED
package/card/package.json
CHANGED
package/carousel/package.json
CHANGED
package/checkbox/package.json
CHANGED
package/combobox/package.json
CHANGED
|
@@ -14,12 +14,12 @@ export class DeprecatedCompactDirective extends BehaviorSubject {
|
|
|
14
14
|
link: ['/core', 'content-density']
|
|
15
15
|
};
|
|
16
16
|
this.message = `Usage of ${selectorBase}[compact] is deprecated`;
|
|
17
|
-
if (isDevMode()) {
|
|
18
|
-
console.warn(`${this.message}. Use [fdCompact] directive instead.`);
|
|
19
|
-
}
|
|
20
17
|
}
|
|
21
18
|
/** @deprecated use fdCompact directive instead */
|
|
22
19
|
set compact(value) {
|
|
20
|
+
if (isDevMode()) {
|
|
21
|
+
console.warn(`${this.message}. Use [fdCompact] directive instead.`);
|
|
22
|
+
}
|
|
23
23
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.COMPACT : ContentDensityMode.COZY);
|
|
24
24
|
}
|
|
25
25
|
ngOnDestroy() {
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
33
33
|
}], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { compact: [{
|
|
34
34
|
type: Input
|
|
35
35
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC1jb21wYWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NvbnRlbnQtZGVuc2l0eS9jbGFzc2VzL2RlcHJlY2F0ZWQtY29tcGFjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUc5RDs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFDVCxTQUFRLGVBQW1DO0lBa0IzQyxZQUFZLFlBQW9CO1FBQzVCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU4xQixnQkFBVyxHQUFHO1lBQ25CLElBQUksRUFBRSxtQ0FBbUM7WUFDekMsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDO1NBQ3JDLENBQUM7UUFJRSxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksWUFBWSx5QkFBeUIsQ0FBQztJQUNyRSxDQUFDO0lBbEJELGtEQUFrRDtJQUNsRCxJQUNJLE9BQU8sQ0FBQyxLQUFtQjtRQUMzQixJQUFJLFNBQVMsRUFBRSxFQUFFO1lBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLHNDQUFzQyxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFhRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3VIQTFCUSwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTOzZGQU9GLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGlzRGV2TW9kZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSB9IGZyb20gJy4uL2NvbnRlbnQtZGVuc2l0eS50eXBlcyc7XG5pbXBvcnQgeyBNb2R1bGVEZXByZWNhdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGRlY29yYXRvciBpcyBvbmx5IGZvciBhbGxvd2luZyBASW5wdXRcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRGVwcmVjYXRlZENvbXBhY3REaXJlY3RpdmVcbiAgICBleHRlbmRzIEJlaGF2aW9yU3ViamVjdDxDb250ZW50RGVuc2l0eU1vZGU+XG4gICAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE1vZHVsZURlcHJlY2F0aW9uXG57XG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBmZENvbXBhY3QgZGlyZWN0aXZlIGluc3RlYWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb21wYWN0KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYCR7dGhpcy5tZXNzYWdlfS4gVXNlIFtmZENvbXBhY3RdIGRpcmVjdGl2ZSBpbnN0ZWFkLmApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpID8gQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1QgOiBDb250ZW50RGVuc2l0eU1vZGUuQ09aWSk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFsdGVybmF0aXZlID0ge1xuICAgICAgICBuYW1lOiAnVXNlIFtmZENvbXBhY3RdIGRpcmVjdGl2ZSBpbnN0ZWFkJyxcbiAgICAgICAgbGluazogWycvY29yZScsICdjb250ZW50LWRlbnNpdHknXVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihzZWxlY3RvckJhc2U6IHN0cmluZykge1xuICAgICAgICBzdXBlcihDb250ZW50RGVuc2l0eU1vZGUuQ09aWSk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IGBVc2FnZSBvZiAke3NlbGVjdG9yQmFzZX1bY29tcGFjdF0gaXMgZGVwcmVjYXRlZGA7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -14,11 +14,11 @@ export class DeprecatedCondensedDirective extends BehaviorSubject {
|
|
|
14
14
|
link: ['/core', 'content-density']
|
|
15
15
|
};
|
|
16
16
|
this.message = `Usage of ${selectorBase}[condensed] is deprecated`;
|
|
17
|
+
}
|
|
18
|
+
set condensed(value) {
|
|
17
19
|
if (isDevMode()) {
|
|
18
20
|
console.warn(`${this.message}. Use [fdCondensed] directive instead.`);
|
|
19
21
|
}
|
|
20
|
-
}
|
|
21
|
-
set condensed(value) {
|
|
22
22
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.CONDENSED : ContentDensityMode.COZY);
|
|
23
23
|
}
|
|
24
24
|
ngOnDestroy() {
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
32
32
|
}], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { condensed: [{
|
|
33
33
|
type: Input
|
|
34
34
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC1jb25kZW5zZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29udGVudC1kZW5zaXR5L2NsYXNzZXMvZGVwcmVjYXRlZC1jb25kZW5zZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHOUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQ1QsU0FBUSxlQUFtQztJQWlCM0MsWUFBWSxZQUFvQjtRQUM1QixLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFOMUIsZ0JBQVcsR0FBRztZQUNuQixJQUFJLEVBQUUscUNBQXFDO1lBQzNDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztTQUNyQyxDQUFDO1FBSUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLFlBQVksMkJBQTJCLENBQUM7SUFDdkUsQ0FBQztJQWpCRCxJQUNJLFNBQVMsQ0FBQyxLQUFtQjtRQUM3QixJQUFJLFNBQVMsRUFBRSxFQUFFO1lBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLHdDQUF3QyxDQUFDLENBQUM7U0FDekU7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFhRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3lIQXpCUSw0QkFBNEI7NkdBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQUR4QyxTQUFTOzZGQU1GLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGlzRGV2TW9kZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSB9IGZyb20gJy4uL2NvbnRlbnQtZGVuc2l0eS50eXBlcyc7XG5pbXBvcnQgeyBNb2R1bGVEZXByZWNhdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGRlY29yYXRvciBpcyBvbmx5IGZvciBhbGxvd2luZyBASW5wdXRcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRGVwcmVjYXRlZENvbmRlbnNlZERpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQmVoYXZpb3JTdWJqZWN0PENvbnRlbnREZW5zaXR5TW9kZT5cbiAgICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgTW9kdWxlRGVwcmVjYXRpb25cbntcbiAgICBASW5wdXQoKVxuICAgIHNldCBjb25kZW5zZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLm1lc3NhZ2V9LiBVc2UgW2ZkQ29uZGVuc2VkXSBkaXJlY3RpdmUgaW5zdGVhZC5gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5leHQoY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSA/IENvbnRlbnREZW5zaXR5TW9kZS5DT05ERU5TRUQgOiBDb250ZW50RGVuc2l0eU1vZGUuQ09aWSk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFsdGVybmF0aXZlID0ge1xuICAgICAgICBuYW1lOiAnVXNlIFtmZENvbmRlbnNlZF0gZGlyZWN0aXZlIGluc3RlYWQnLFxuICAgICAgICBsaW5rOiBbJy9jb3JlJywgJ2NvbnRlbnQtZGVuc2l0eSddXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHNlbGVjdG9yQmFzZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKENvbnRlbnREZW5zaXR5TW9kZS5DT1pZKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gYFVzYWdlIG9mICR7c2VsZWN0b3JCYXNlfVtjb25kZW5zZWRdIGlzIGRlcHJlY2F0ZWRgO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -14,11 +14,11 @@ export class DeprecatedCozyDirective extends BehaviorSubject {
|
|
|
14
14
|
link: ['/core', 'content-density']
|
|
15
15
|
};
|
|
16
16
|
this.message = `Usage of ${selectorBase}[cozy] is deprecated`;
|
|
17
|
+
}
|
|
18
|
+
set cozy(value) {
|
|
17
19
|
if (isDevMode()) {
|
|
18
20
|
console.warn(`${this.message}. Use [fdCozy] directive instead.`);
|
|
19
21
|
}
|
|
20
|
-
}
|
|
21
|
-
set cozy(value) {
|
|
22
22
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.COZY : ContentDensityMode.COMPACT);
|
|
23
23
|
}
|
|
24
24
|
ngOnDestroy() {
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
32
32
|
}], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { cozy: [{
|
|
33
33
|
type: Input
|
|
34
34
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC1jb3p5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NvbnRlbnQtZGVuc2l0eS9jbGFzc2VzL2RlcHJlY2F0ZWQtY296eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUc5RDs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFDVCxTQUFRLGVBQW1DO0lBaUIzQyxZQUFZLFlBQW9CO1FBQzVCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQU43QixnQkFBVyxHQUFHO1lBQ25CLElBQUksRUFBRSxnQ0FBZ0M7WUFDdEMsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDO1NBQ3JDLENBQUM7UUFJRSxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksWUFBWSxzQkFBc0IsQ0FBQztJQUNsRSxDQUFDO0lBakJELElBQ0ksSUFBSSxDQUFDLEtBQW1CO1FBQ3hCLElBQUksU0FBUyxFQUFFLEVBQUU7WUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sbUNBQW1DLENBQUMsQ0FBQztTQUNwRTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQWFELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7b0hBekJRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFNBQVM7NkZBTUYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgaXNEZXZNb2RlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2RlIH0gZnJvbSAnLi4vY29udGVudC1kZW5zaXR5LnR5cGVzJztcbmltcG9ydCB7IE1vZHVsZURlcHJlY2F0aW9uIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgZGVjb3JhdG9yIGlzIG9ubHkgZm9yIGFsbG93aW5nIEBJbnB1dFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBEZXByZWNhdGVkQ296eURpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQmVoYXZpb3JTdWJqZWN0PENvbnRlbnREZW5zaXR5TW9kZT5cbiAgICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgTW9kdWxlRGVwcmVjYXRpb25cbntcbiAgICBASW5wdXQoKVxuICAgIHNldCBjb3p5KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYCR7dGhpcy5tZXNzYWdlfS4gVXNlIFtmZENvenldIGRpcmVjdGl2ZSBpbnN0ZWFkLmApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpID8gQ29udGVudERlbnNpdHlNb2RlLkNPWlkgOiBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVCk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFsdGVybmF0aXZlID0ge1xuICAgICAgICBuYW1lOiAnVXNlIFtmZENvenldIGRpcmVjdGl2ZSBpbnN0ZWFkJyxcbiAgICAgICAgbGluazogWycvY29yZScsICdjb250ZW50LWRlbnNpdHknXVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihzZWxlY3RvckJhc2U6IHN0cmluZykge1xuICAgICAgICBzdXBlcihDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVCk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IGBVc2FnZSBvZiAke3NlbGVjdG9yQmFzZX1bY296eV0gaXMgZGVwcmVjYXRlZGA7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -562,12 +562,12 @@ class DeprecatedCompactDirective extends BehaviorSubject {
|
|
|
562
562
|
link: ['/core', 'content-density']
|
|
563
563
|
};
|
|
564
564
|
this.message = `Usage of ${selectorBase}[compact] is deprecated`;
|
|
565
|
-
if (isDevMode()) {
|
|
566
|
-
console.warn(`${this.message}. Use [fdCompact] directive instead.`);
|
|
567
|
-
}
|
|
568
565
|
}
|
|
569
566
|
/** @deprecated use fdCompact directive instead */
|
|
570
567
|
set compact(value) {
|
|
568
|
+
if (isDevMode()) {
|
|
569
|
+
console.warn(`${this.message}. Use [fdCompact] directive instead.`);
|
|
570
|
+
}
|
|
571
571
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.COMPACT : ContentDensityMode.COZY);
|
|
572
572
|
}
|
|
573
573
|
ngOnDestroy() {
|
|
@@ -593,11 +593,11 @@ class DeprecatedCozyDirective extends BehaviorSubject {
|
|
|
593
593
|
link: ['/core', 'content-density']
|
|
594
594
|
};
|
|
595
595
|
this.message = `Usage of ${selectorBase}[cozy] is deprecated`;
|
|
596
|
+
}
|
|
597
|
+
set cozy(value) {
|
|
596
598
|
if (isDevMode()) {
|
|
597
599
|
console.warn(`${this.message}. Use [fdCozy] directive instead.`);
|
|
598
600
|
}
|
|
599
|
-
}
|
|
600
|
-
set cozy(value) {
|
|
601
601
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.COZY : ContentDensityMode.COMPACT);
|
|
602
602
|
}
|
|
603
603
|
ngOnDestroy() {
|
|
@@ -623,11 +623,11 @@ class DeprecatedCondensedDirective extends BehaviorSubject {
|
|
|
623
623
|
link: ['/core', 'content-density']
|
|
624
624
|
};
|
|
625
625
|
this.message = `Usage of ${selectorBase}[condensed] is deprecated`;
|
|
626
|
+
}
|
|
627
|
+
set condensed(value) {
|
|
626
628
|
if (isDevMode()) {
|
|
627
629
|
console.warn(`${this.message}. Use [fdCondensed] directive instead.`);
|
|
628
630
|
}
|
|
629
|
-
}
|
|
630
|
-
set condensed(value) {
|
|
631
631
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.CONDENSED : ContentDensityMode.COZY);
|
|
632
632
|
}
|
|
633
633
|
ngOnDestroy() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-content-density.mjs","sources":["../../../../../libs/core/src/lib/content-density/content-density.types.ts","../../../../../libs/core/src/lib/content-density/tokens/content-density-directive.ts","../../../../../libs/core/src/lib/content-density/directives/content-density.directive.ts","../../../../../libs/core/src/lib/content-density/tokens/default-content-density.token.ts","../../../../../libs/core/src/lib/content-density/classes/abstract-content-density-storage.ts","../../../../../libs/core/src/lib/content-density/providers/memory-content-density-storage.ts","../../../../../libs/core/src/lib/content-density/services/global-content-density.service.ts","../../../../../libs/core/src/lib/content-density/tokens/content-density-storage-key.token.ts","../../../../../libs/core/src/lib/content-density/providers/local-content-density-storage.ts","../../../../../libs/core/src/lib/content-density/providers/url-content-density-storage.ts","../../../../../libs/core/src/lib/content-density/helpers/density-type-checkers.ts","../../../../../libs/core/src/lib/content-density/services/deprecated-content-density.service.ts","../../../../../libs/core/src/lib/content-density/content-density.module.ts","../../../../../libs/core/src/lib/content-density/helpers/get-changes-source.provider.ts","../../../../../libs/core/src/lib/content-density/variables/default-content-density-consumer-config.ts","../../../../../libs/core/src/lib/content-density/helpers/content-density-change-callback-factory.ts","../../../../../libs/core/src/lib/content-density/classes/content-density-observer.settings.ts","../../../../../libs/core/src/lib/content-density/services/content-density-observer.service.ts","../../../../../libs/core/src/lib/content-density/providers/content-density-observer-providers.ts","../../../../../libs/core/src/lib/content-density/classes/deprecated-compact.directive.ts","../../../../../libs/core/src/lib/content-density/classes/deprecated-cozy.directive.ts","../../../../../libs/core/src/lib/content-density/classes/deprecated-condensed.directive.ts","../../../../../libs/core/src/lib/content-density/testing/mocked-local-content-density-directive.ts","../../../../../libs/core/src/lib/content-density/fundamental-ngx-core-content-density.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/core/utils';\nimport { ContentDensityObserverSettings } from './classes/content-density-observer.settings';\n\nexport const ContentDensityGlobalKeyword = 'global';\n\nexport enum ContentDensityMode {\n COZY = 'cozy',\n CONDENSED = 'condensed',\n COMPACT = 'compact'\n}\n\nexport type LocalContentDensityMode = ContentDensityMode | typeof ContentDensityGlobalKeyword;\n\ninterface BaseContentDensityModuleConfig {\n defaultGlobalContentDensity?: ContentDensityMode;\n}\n\ninterface LocalStorageConfig {\n storage: 'localStorage';\n storageKey?: string;\n}\n\ninterface UrlStorageConfig {\n storage: 'url';\n storageKey?: string;\n}\n\ninterface CustomStorageConfig {\n storage: Provider;\n}\n\ninterface MemoryStorageConfig {\n storage: 'memory';\n}\n\nexport type ContentDensityModuleConfig = (\n | LocalStorageConfig\n | MemoryStorageConfig\n | UrlStorageConfig\n | CustomStorageConfig\n) &\n BaseContentDensityModuleConfig;\n\nexport interface ContentDensityObserverTarget extends HasElementRef {\n contentDensitySettings: ContentDensityObserverSettings;\n}\n\nexport type ContentDensityCallbackFn = (target: ContentDensityMode) => void;\n","import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ContentDensityMode } from '../content-density.types';\n\nexport const CONTENT_DENSITY_DIRECTIVE = new InjectionToken<Observable<ContentDensityMode>>('ContentDensityDirective');\n","import { Directive, forwardRef, Input, OnDestroy } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { BehaviorSubject } from 'rxjs';\nimport { ContentDensityGlobalKeyword, ContentDensityMode, LocalContentDensityMode } from '../content-density.types';\nimport { CONTENT_DENSITY_DIRECTIVE } from '../tokens/content-density-directive';\n\n/**\n * Directive to control the content density of the elements.\n * This Directive is used in density controllers and consumers\n */\n@Directive({\n selector: `[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]),\n [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]),\n [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]),\n [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])`,\n exportAs: 'fdContentDensity',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => ContentDensityDirective)\n }\n ]\n})\nexport class ContentDensityDirective extends BehaviorSubject<LocalContentDensityMode> implements OnDestroy {\n /**\n * Update the content density of the element on the fly\n */\n @Input()\n set fdContentDensity(val: LocalContentDensityMode | '') {\n this.next(val ? val : ContentDensityGlobalKeyword);\n }\n\n /**\n * This input is basically syntax sugar, for not writing fdContentDensity=\"compact\",\n * instead you can just write fdCompact=\"true\" or [fdCompact]\n */\n @Input()\n set fdCompact(val: BooleanInput) {\n if (coerceBooleanProperty(val)) {\n this.next(ContentDensityMode.COMPACT);\n } else {\n this.next(ContentDensityGlobalKeyword);\n }\n }\n\n /**\n * This input is basically syntax sugar, for not writing fdContentDensity=\"condensed\",\n * instead you can just write fdCondensed=\"true\" or [fdCondensed]\n */\n @Input()\n set fdCondensed(val: BooleanInput) {\n if (coerceBooleanProperty(val)) {\n this.next(ContentDensityMode.CONDENSED);\n } else {\n this.next(ContentDensityGlobalKeyword);\n }\n }\n\n /**\n * This input is basically syntax sugar, for not writing fdContentDensity=\"cozy\",\n * instead you can just write fdCozy=\"true\" or [fdCozy]\n */\n @Input()\n set fdCozy(val: BooleanInput) {\n if (coerceBooleanProperty(val)) {\n this.next(ContentDensityMode.COZY);\n } else {\n this.next(ContentDensityGlobalKeyword);\n }\n }\n\n /** @hidden */\n constructor() {\n super(ContentDensityGlobalKeyword);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ContentDensityMode } from '../content-density.types';\n\nexport const DEFAULT_CONTENT_DENSITY = new InjectionToken<ContentDensityMode>('Default global content density', {\n factory: () => ContentDensityMode.COZY\n});\n","import { ContentDensityMode } from '../content-density.types';\nimport { Observable } from 'rxjs';\n\n/**\n * Abstract provider class for providing content density storage functionality\n * Default implementation is MemoryContentDensityStorage\n */\nexport abstract class ContentDensityStorage {\n /**\n * Get listener for current density updates\n */\n abstract getContentDensity(): Observable<ContentDensityMode>;\n\n /**\n * Save updated configuration\n * @param density\n */\n abstract setContentDensity(density: ContentDensityMode): Observable<void>;\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { ContentDensityStorage } from '../classes/abstract-content-density-storage';\nimport { ContentDensityMode } from '../content-density.types';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\n\n@Injectable()\nexport class MemoryContentDensityStorage implements ContentDensityStorage {\n private _currentContentDensity$: BehaviorSubject<ContentDensityMode>;\n\n constructor(@Inject(DEFAULT_CONTENT_DENSITY) defaultContentDensity: ContentDensityMode) {\n this._currentContentDensity$ = new BehaviorSubject(defaultContentDensity);\n }\n\n getContentDensity(): Observable<ContentDensityMode> {\n return this._currentContentDensity$.asObservable();\n }\n\n setContentDensity(density: ContentDensityMode): Observable<void> {\n this._currentContentDensity$.next(density);\n return of(undefined);\n }\n}\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { ContentDensityStorage } from '../classes/abstract-content-density-storage';\nimport { Observable, Subscription } from 'rxjs';\nimport { ContentDensityMode } from '../content-density.types';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\n\n/**\n * Service for managing global content density state.\n */\n@Injectable()\nexport class GlobalContentDensityService implements OnDestroy {\n /**\n * Current content density.\n */\n currentContentDensity: ContentDensityMode;\n\n /** @hidden */\n private _subscription = new Subscription();\n\n /** @hidden */\n constructor(\n @Inject(ContentDensityStorage) private _storage: ContentDensityStorage,\n @Inject(DEFAULT_CONTENT_DENSITY) private _defaultContentDensity: ContentDensityMode\n ) {\n this._subscription.add(\n this.contentDensityListener().subscribe((density) => {\n this.currentContentDensity = density;\n })\n );\n }\n\n /** Listen to current content density changes */\n contentDensityListener(): Observable<ContentDensityMode> {\n return this._storage.getContentDensity();\n }\n\n /** Update content density */\n updateContentDensity(density: ContentDensityMode): Observable<void> {\n return this._storage.setContentDensity(density);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const CONTENT_DENSITY_STORAGE_KEY = new InjectionToken<string>(\n 'Content density storage key for local storage or for url param',\n {\n factory: () => '__ContentDensity__'\n }\n);\n","import { Inject, Injectable } from '@angular/core';\nimport { LocalStorageService } from '@fundamental-ngx/core/utils';\nimport { Observable, of, Subject } from 'rxjs';\nimport { ContentDensityStorage } from '../classes/abstract-content-density-storage';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\nimport { CONTENT_DENSITY_STORAGE_KEY } from '../tokens/content-density-storage-key.token';\nimport { ContentDensityMode } from '../content-density.types';\n\n@Injectable()\nexport class LocalContentDensityStorage implements ContentDensityStorage {\n private _update$ = new Subject<void>();\n\n constructor(\n @Inject(DEFAULT_CONTENT_DENSITY) private _defaultContentDensity: ContentDensityMode,\n @Inject(CONTENT_DENSITY_STORAGE_KEY) private _storageKey: string,\n private _storage: LocalStorageService\n ) {\n this._initialize();\n }\n\n getContentDensity(): Observable<ContentDensityMode> {\n return new Observable<ContentDensityMode>((subscriber) => {\n subscriber.next(this._storage.get(this._storageKey));\n const subscription = this._update$.subscribe(() => {\n subscriber.next(this._storage.get(this._storageKey));\n });\n return () => {\n subscription.unsubscribe();\n };\n });\n }\n\n setContentDensity(density: ContentDensityMode): Observable<void> {\n this._storage.set(this._storageKey, density);\n this._update$.next();\n return of(undefined);\n }\n\n private _initialize(): void {\n if (!this._storage.get(this._storageKey)) {\n this._storage.set(this._storageKey, this._defaultContentDensity);\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ContentDensityStorage } from '../classes/abstract-content-density-storage';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\nimport { CONTENT_DENSITY_STORAGE_KEY } from '../tokens/content-density-storage-key.token';\nimport { ContentDensityMode } from '../content-density.types';\nimport { BehaviorSubject, distinctUntilChanged, filter, Observable, of } from 'rxjs';\n\n@Injectable()\nexport class UrlContentDensityStorage implements ContentDensityStorage {\n private _current$: BehaviorSubject<ContentDensityMode>;\n\n constructor(\n private _router: Router,\n private _activatedRoute: ActivatedRoute,\n @Inject(DEFAULT_CONTENT_DENSITY) private _defaultContentDensity: ContentDensityMode,\n @Inject(CONTENT_DENSITY_STORAGE_KEY) private _storageKey: string\n ) {\n this._initialize();\n }\n\n private _initialize(): void {\n this._current$ = new BehaviorSubject<ContentDensityMode>(this._defaultContentDensity);\n\n this._activatedRoute.queryParams\n .pipe(filter((queryParams) => !!queryParams[this._storageKey]))\n .subscribe((queryParams) => {\n this._current$.next(queryParams[this._storageKey]);\n });\n }\n\n private _setUrlQueryParam(density: ContentDensityMode): void {\n const url = new URL(`https://google.com${this._router.url}`);\n url.searchParams.delete(this._storageKey);\n url.searchParams.append(this._storageKey, density);\n const queryParams = {};\n url.searchParams.forEach((value, key) => (queryParams[key] = value));\n\n this._router.navigateByUrl(url.pathname + '?' + url.searchParams.toString());\n }\n\n getContentDensity(): Observable<ContentDensityMode> {\n return this._current$.asObservable().pipe(distinctUntilChanged());\n }\n\n setContentDensity(density: ContentDensityMode): Observable<void> {\n this._current$.next(density);\n this._setUrlQueryParam(density);\n return of(undefined);\n }\n}\n","import { ContentDensityMode } from '../content-density.types';\n\nexport const isCompact = (density: ContentDensityMode): boolean => density === ContentDensityMode.COMPACT;\nexport const isCondensed = (density: ContentDensityMode): boolean => density === ContentDensityMode.CONDENSED;\nexport const isCozy = (density: ContentDensityMode): boolean => density === ContentDensityMode.COZY;\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { GlobalContentDensityService } from './global-content-density.service';\nimport { BehaviorSubject, Observable, skip, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { isCompact } from '../helpers/density-type-checkers';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\nimport { ContentDensityMode } from '../content-density.types';\n\n/**\n * Temporary replacement for ContentDensityService\n */\n@Injectable()\nexport class DeprecatedContentDensityService implements OnDestroy {\n /** Content Density BehaviourSubject */\n readonly contentDensity = new BehaviorSubject<ContentDensityMode>(this._defaultContentDensity);\n\n constructor(\n private _contentDensityController: GlobalContentDensityService,\n @Inject(DEFAULT_CONTENT_DENSITY) private _defaultContentDensity: ContentDensityMode\n ) {\n this.contentDensity\n .pipe(\n skip(1),\n tap((d) => this._contentDensityController.updateContentDensity(d))\n )\n .subscribe();\n }\n\n /** @hidden */\n get _contentDensityListener(): Observable<ContentDensityMode> {\n return this._contentDensityController.contentDensityListener();\n }\n\n /** @hidden */\n get _isCompactDensity(): Observable<boolean> {\n return this._contentDensityController.contentDensityListener().pipe(map(isCompact));\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.contentDensity.complete();\n }\n}\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ContentDensityDirective } from './directives/content-density.directive';\nimport { DEFAULT_CONTENT_DENSITY } from './tokens/default-content-density.token';\nimport { ContentDensityMode, ContentDensityModuleConfig } from './content-density.types';\nimport { ContentDensityStorage } from './classes/abstract-content-density-storage';\nimport { MemoryContentDensityStorage } from './providers/memory-content-density-storage';\nimport { GlobalContentDensityService } from './services/global-content-density.service';\nimport { LocalContentDensityStorage } from './providers/local-content-density-storage';\nimport { CONTENT_DENSITY_STORAGE_KEY } from './tokens/content-density-storage-key.token';\nimport { UrlContentDensityStorage } from './providers/url-content-density-storage';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { DeprecatedContentDensityService } from './services/deprecated-content-density.service';\n\nfunction generateContentDensityStorage(config: ContentDensityModuleConfig): Provider {\n if (config.storage === 'localStorage') {\n return {\n provide: ContentDensityStorage,\n useClass: LocalContentDensityStorage\n };\n }\n if (config.storage === 'memory') {\n return {\n provide: ContentDensityStorage,\n useClass: MemoryContentDensityStorage\n };\n }\n if (config.storage === 'url') {\n return {\n provide: ContentDensityStorage,\n useClass: UrlContentDensityStorage,\n deps: [Router, ActivatedRoute, DEFAULT_CONTENT_DENSITY, CONTENT_DENSITY_STORAGE_KEY, DOCUMENT]\n };\n }\n return [];\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ContentDensityDirective],\n declarations: [ContentDensityDirective]\n})\nexport class ContentDensityModule {\n static forRoot(config?: ContentDensityModuleConfig): ModuleWithProviders<ContentDensityModule> {\n let storage: Provider;\n const conf: ContentDensityModuleConfig = config || { storage: 'memory' };\n\n if (typeof conf.storage === 'string') {\n storage = generateContentDensityStorage(conf);\n } else if (typeof conf.storage === 'object') {\n storage = conf.storage;\n } else {\n storage = {\n provide: ContentDensityStorage,\n useClass: MemoryContentDensityStorage\n };\n }\n\n return {\n ngModule: ContentDensityModule,\n providers: [\n {\n provide: DEFAULT_CONTENT_DENSITY,\n useValue: conf.defaultGlobalContentDensity || ContentDensityMode.COZY\n },\n {\n provide: CONTENT_DENSITY_STORAGE_KEY,\n useValue: (conf as any).storageKey || '__ContentDensity__'\n },\n {\n provide: ContentDensityService,\n useClass: DeprecatedContentDensityService\n },\n GlobalContentDensityService,\n storage\n ]\n };\n }\n}\n","import { Observable, of, switchMap } from 'rxjs';\nimport { GlobalContentDensityService } from '../services/global-content-density.service';\nimport { ContentDensityGlobalKeyword, ContentDensityMode, LocalContentDensityMode } from '../content-density.types';\n\nexport const getChangesSource$ = (params: {\n defaultContentDensity: ContentDensityMode;\n contentDensityDirective?: Observable<LocalContentDensityMode>;\n contentDensityService?: GlobalContentDensityService;\n}): Observable<ContentDensityMode> => {\n const serviceValue$: Observable<ContentDensityMode> = params.contentDensityService\n ? params.contentDensityService.contentDensityListener()\n : of(params.defaultContentDensity);\n const changesSource$ = params.contentDensityDirective ? params.contentDensityDirective : serviceValue$;\n\n return changesSource$.pipe(\n switchMap((mode: LocalContentDensityMode) => {\n if (mode !== ContentDensityGlobalKeyword) {\n return of(mode);\n }\n return serviceValue$;\n })\n );\n};\n","import { ContentDensityMode } from '../content-density.types';\nimport { ContentDensityObserverSettings } from '../classes/content-density-observer.settings';\n\nexport const defaultContentDensityObserverConfigs: Required<ContentDensityObserverSettings> = {\n modifiers: {},\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY],\n defaultContentDensity: ContentDensityMode.COZY\n};\n","import { coerceElement } from '@angular/cdk/coercion';\nimport { ContentDensityCallbackFn, ContentDensityObserverTarget, ContentDensityMode } from '../content-density.types';\nimport { defaultContentDensityObserverConfigs } from '../variables/default-content-density-consumer-config';\nimport { ContentDensityObserverSettings } from '../classes/content-density-observer.settings';\n\nexport function contentDensityCallbackFactory(\n consumerConfig: ContentDensityObserverTarget | ContentDensityCallbackFn\n): ContentDensityCallbackFn {\n if (typeof consumerConfig === 'function') {\n return consumerConfig;\n }\n return (contentDensityMode: ContentDensityMode) => {\n const configs = {\n contentDensitySettings: {\n ...defaultContentDensityObserverConfigs,\n ...consumerConfig.contentDensitySettings\n },\n elementRef: () => consumerConfig.elementRef()\n };\n const settings: Required<ContentDensityObserverSettings> = configs.contentDensitySettings;\n const element = coerceElement(configs.elementRef());\n\n Object.values(settings.modifiers).forEach((className) => {\n element.classList.remove(className);\n });\n if (settings.modifiers[contentDensityMode]) {\n element.classList.add(settings.modifiers[contentDensityMode]);\n }\n };\n}\n","import { ContentDensityMode } from '../content-density.types';\n\nexport class ContentDensityObserverSettings {\n modifiers?: Partial<Record<ContentDensityMode, string>>;\n supportedContentDensity?: ContentDensityMode[];\n defaultContentDensity?: ContentDensityMode;\n}\n","import { ChangeDetectorRef, ElementRef, Injectable, InjectFlags, Injector } from '@angular/core';\nimport {\n ContentDensityCallbackFn,\n ContentDensityMode,\n ContentDensityObserverTarget,\n LocalContentDensityMode\n} from '../content-density.types';\nimport { BehaviorSubject, distinctUntilChanged, finalize, map, Observable, Subscription, takeUntil, tap } from 'rxjs';\nimport { GlobalContentDensityService } from '../services/global-content-density.service';\nimport { getChangesSource$ } from '../helpers/get-changes-source.provider';\nimport { defaultContentDensityObserverConfigs } from '../variables/default-content-density-consumer-config';\nimport { contentDensityCallbackFactory } from '../helpers/content-density-change-callback-factory';\nimport { isCompact, isCondensed, isCozy } from '../helpers/density-type-checkers';\nimport { CONTENT_DENSITY_DIRECTIVE } from '../tokens/content-density-directive';\nimport { DestroyedService } from '@fundamental-ngx/core/utils';\nimport { ContentDensityObserverSettings } from '../classes/content-density-observer.settings';\n\n@Injectable()\nexport class ContentDensityObserver extends BehaviorSubject<ContentDensityMode> {\n /** Stream for getting compact state changes */\n isCompact$: Observable<boolean>;\n /** Stream for getting cozy state changes */\n isCozy$: Observable<boolean>;\n /** Stream for getting condensed state changes */\n isCondensed$: Observable<boolean>;\n\n /** @hidden */\n private _callbacks: Map<any, ContentDensityCallbackFn> = new Map<any, ContentDensityCallbackFn>();\n\n /** @hidden */\n private _isCompact: boolean;\n /** @hidden */\n private _isCozy: boolean;\n /** @hidden */\n private _isCondensed: boolean;\n\n /** @hidden */\n private _compactSubscription: Subscription;\n /** @hidden */\n private _condensedSubscription: Subscription;\n /** @hidden */\n private _cozySubscription: Subscription;\n\n /** @hidden */\n private configuration: Required<ContentDensityObserverSettings>;\n\n /** @hidden */\n private alternativeTo = {\n [ContentDensityMode.COMPACT]: (): ContentDensityMode =>\n this.isSupported(ContentDensityMode.CONDENSED) ? ContentDensityMode.CONDENSED : ContentDensityMode.COZY,\n [ContentDensityMode.CONDENSED]: (): ContentDensityMode =>\n this.isSupported(ContentDensityMode.COMPACT) ? ContentDensityMode.COMPACT : ContentDensityMode.COZY,\n [ContentDensityMode.COZY]: (): ContentDensityMode => ContentDensityMode.COZY // No alternative here, everyone should support it\n };\n\n private readonly destroy$: Observable<void>;\n private changeDetectorRef: ChangeDetectorRef;\n private contentDensityDirective?: Observable<LocalContentDensityMode>;\n private contentDensityService?: GlobalContentDensityService;\n\n constructor(private _injector: Injector, private _providedConfig?: ContentDensityObserverSettings) {\n super(\n _injector.get(GlobalContentDensityService, null, InjectFlags.Optional)?.currentContentDensity ||\n _providedConfig?.defaultContentDensity ||\n defaultContentDensityObserverConfigs.defaultContentDensity\n );\n this.configuration = {\n ...defaultContentDensityObserverConfigs,\n ...(_providedConfig || {})\n };\n this.destroy$ = this._injector.get(DestroyedService);\n this.changeDetectorRef = this._injector.get(ChangeDetectorRef);\n this.contentDensityDirective = this._injector.get(CONTENT_DENSITY_DIRECTIVE, undefined, InjectFlags.Optional);\n this.contentDensityService = this._injector.get(GlobalContentDensityService, undefined, InjectFlags.Optional);\n\n const changesSource$: Observable<ContentDensityMode> = getChangesSource$({\n defaultContentDensity: this.configuration.defaultContentDensity,\n contentDensityDirective: this.contentDensityDirective,\n contentDensityService: this.contentDensityService\n }).pipe(\n map((density: ContentDensityMode) => {\n if (!this.isSupported(density)) {\n return this.alternativeTo[density]();\n }\n return density;\n }),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n );\n changesSource$\n .pipe(\n tap((density) => this._callCallbacks(density)),\n finalize(() => this.complete())\n )\n .subscribe((density) => {\n this.next(density);\n });\n this.isCompact$ = changesSource$.pipe(map(isCompact));\n this.isCozy$ = changesSource$.pipe(map(isCozy));\n this.isCondensed$ = changesSource$.pipe(map(isCondensed));\n if (_providedConfig) {\n this.consume({\n contentDensitySettings: this.configuration,\n elementRef: () => this._injector.get(ElementRef)\n });\n }\n }\n\n isSupported(density: ContentDensityMode): boolean {\n return this.configuration.supportedContentDensity.includes(density);\n }\n\n /**\n * Sync isCompact. Calls ChangeDetectorRef.markForCheck() on update\n */\n get isCompact(): boolean {\n if (!this._compactSubscription) {\n this._compactSubscription = this._listenToChanges(this.isCompact$, (v) => (this._isCompact = v));\n }\n return this._isCompact;\n }\n\n /**\n * Sync isCondensed. Calls ChangeDetectorRef.markForCheck() on update\n */\n get isCondensed(): boolean {\n if (!this._condensedSubscription) {\n this._condensedSubscription = this._listenToChanges(this.isCondensed$, (v) => (this._isCondensed = v));\n }\n return this._isCondensed;\n }\n\n /**\n * Sync isCozy. Calls ChangeDetectorRef.markForCheck() on update\n */\n get isCozy(): boolean {\n if (!this._cozySubscription) {\n this._cozySubscription = this._listenToChanges(this.isCozy$, (v) => (this._isCozy = v));\n }\n return this._isCozy;\n }\n\n /**\n * Pass consumers callback function, or configuration object to be called on density change\n */\n consume(\n ...consumerConfigs: Array<ContentDensityObserverTarget | ContentDensityCallbackFn>\n ): ContentDensityObserver {\n consumerConfigs.forEach((consumerConfig) => {\n const callback = contentDensityCallbackFactory(consumerConfig);\n this._callbacks.set(consumerConfig, callback);\n callback(this.value);\n });\n return this;\n }\n\n /**\n * Remove consumer callback from list of callbacks\n */\n removeConsumer(\n ...consumerConfigs: Array<ContentDensityObserverTarget | ContentDensityCallbackFn>\n ): ContentDensityObserver {\n consumerConfigs.forEach((consumerConfig) => {\n this._callbacks.delete(consumerConfig);\n });\n return this;\n }\n\n /** @hidden */\n private _callCallbacks(density: ContentDensityMode): void {\n this._callbacks.forEach((callback) => callback(density));\n }\n\n /** @hidden */\n private _listenToChanges(source: Observable<boolean>, callback: (newValue: boolean) => void): Subscription {\n return source\n .pipe(\n tap(callback),\n tap(() => this.changeDetectorRef.markForCheck()),\n takeUntil(this.destroy$)\n )\n .subscribe();\n }\n}\n","import { Provider } from '@angular/core';\nimport { consumerProviderFactory, DestroyedService } from '@fundamental-ngx/core/utils';\nimport { ContentDensityObserver } from '../services/content-density-observer.service';\nimport { ContentDensityObserverSettings } from '../classes/content-density-observer.settings';\n\n/**\n * Creates provider for ContentDensityObserver and adds DestroyedService provider\n */\nexport function contentDensityObserverProviders(params?: ContentDensityObserverSettings): Provider[] {\n return [DestroyedService, consumerProviderFactory(ContentDensityObserver, params)];\n}\n","import { Directive, Input, isDevMode, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentDensityMode } from '../content-density.types';\nimport { ModuleDeprecation } from '@fundamental-ngx/core/utils';\n\n/**\n * Directive decorator is only for allowing @Input\n */\n@Directive()\nexport class DeprecatedCompactDirective\n extends BehaviorSubject<ContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n /** @deprecated use fdCompact directive instead */\n @Input()\n set compact(value: BooleanInput) {\n this.next(coerceBooleanProperty(value) ? ContentDensityMode.COMPACT : ContentDensityMode.COZY);\n }\n\n readonly message: string;\n readonly alternative = {\n name: 'Use [fdCompact] directive instead',\n link: ['/core', 'content-density']\n };\n\n constructor(selectorBase: string) {\n super(ContentDensityMode.COZY);\n this.message = `Usage of ${selectorBase}[compact] is deprecated`;\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdCompact] directive instead.`);\n }\n }\n\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { Directive, Input, isDevMode, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentDensityMode } from '../content-density.types';\nimport { ModuleDeprecation } from '@fundamental-ngx/core/utils';\n\n/**\n * Directive decorator is only for allowing @Input\n */\n@Directive()\nexport class DeprecatedCozyDirective\n extends BehaviorSubject<ContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n @Input()\n set cozy(value: BooleanInput) {\n this.next(coerceBooleanProperty(value) ? ContentDensityMode.COZY : ContentDensityMode.COMPACT);\n }\n\n readonly message: string;\n readonly alternative = {\n name: 'Use [fdCozy] directive instead',\n link: ['/core', 'content-density']\n };\n\n constructor(selectorBase: string) {\n super(ContentDensityMode.COMPACT);\n this.message = `Usage of ${selectorBase}[cozy] is deprecated`;\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdCozy] directive instead.`);\n }\n }\n\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { Directive, Input, isDevMode, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentDensityMode } from '../content-density.types';\nimport { ModuleDeprecation } from '@fundamental-ngx/core/utils';\n\n/**\n * Directive decorator is only for allowing @Input\n */\n@Directive()\nexport class DeprecatedCondensedDirective\n extends BehaviorSubject<ContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n @Input()\n set condensed(value: BooleanInput) {\n this.next(coerceBooleanProperty(value) ? ContentDensityMode.CONDENSED : ContentDensityMode.COZY);\n }\n\n readonly message: string;\n readonly alternative = {\n name: 'Use [fdCondensed] directive instead',\n link: ['/core', 'content-density']\n };\n\n constructor(selectorBase: string) {\n super(ContentDensityMode.COZY);\n this.message = `Usage of ${selectorBase}[condensed] is deprecated`;\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdCondensed] directive instead.`);\n }\n }\n\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { Provider } from '@angular/core';\nimport { ContentDensityGlobalKeyword, LocalContentDensityMode } from '../content-density.types';\nimport { BehaviorSubject } from 'rxjs';\nimport { CONTENT_DENSITY_DIRECTIVE } from '../tokens/content-density-directive';\n\nexport function mockedLocalContentDensityDirective(\n defaultValue: LocalContentDensityMode = ContentDensityGlobalKeyword\n): { contentDensityDirectiveProvider: Provider; setContentDensity: (cd: LocalContentDensityMode) => void } {\n const behaviorSubject = new BehaviorSubject(defaultValue);\n return {\n contentDensityDirectiveProvider: {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useValue: behaviorSubject.asObservable()\n },\n setContentDensity: (cd: LocalContentDensityMode) => behaviorSubject.next(cd)\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["map"],"mappings":";;;;;;;;;;;MAIa,2BAA2B,GAAG,SAAS;IAExC;AAAZ,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,6CAAuB,CAAA;IACvB,yCAAmB,CAAA;AACvB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB;;MCFjB,yBAAyB,GAAG,IAAI,cAAc,CAAiC,yBAAyB;;ACErH;;;;MAiBa,gCAAgC,eAAwC;;IAiDjF;QACI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KACtC;;;;IA/CD,IACI,gBAAgB,CAAC,GAAiC;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,2BAA2B,CAAC,CAAC;KACtD;;;;;IAMD,IACI,SAAS,CAAC,GAAiB;QAC3B,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACzC;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;SAC1C;KACJ;;;;;IAMD,IACI,WAAW,CAAC,GAAiB;QAC7B,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;SAC3C;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;SAC1C;KACJ;;;;;IAMD,IACI,MAAM,CAAC,GAAiB;QACxB,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;SAC1C;KACJ;;IAQD,WAAW;QACP,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;;oHAxDQ,uBAAuB;wGAAvB,uBAAuB,4dAPrB;QACP;YACI,OAAO,EAAE,yBAAyB;YAClC,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;SACzD;KACJ;2FAEQ,uBAAuB;kBAbnC,SAAS;mBAAC;oBACP,QAAQ,EAAE;;;qFAGuE;oBACjF,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE;wBACP;4BACI,OAAO,EAAE,yBAAyB;4BAClC,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;yBACzD;qBACJ;iBACJ;0EAMO,gBAAgB;sBADnB,KAAK;gBAUF,SAAS;sBADZ,KAAK;gBAcF,WAAW;sBADd,KAAK;gBAcF,MAAM;sBADT,KAAK;;;AC3DH,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAqB,gCAAgC,EAAE;IAC5G,OAAO,EAAE,MAAM,kBAAkB,CAAC,IAAI;CACzC,CAAC;;ACFF;;;;MAIsB,qBAAqB;;;MCA9B,2BAA2B;IAGpC,YAA6C,qBAAyC;QAClF,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;KAC7E;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;KACtD;IAED,iBAAiB,CAAC,OAA2B;QACzC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;KACxB;;wHAdQ,2BAA2B,kBAGhB,uBAAuB;4HAHlC,2BAA2B;2FAA3B,2BAA2B;kBADvC,UAAU;;;8BAIM,MAAM;+BAAC,uBAAuB;;;;ACJ/C;;;MAIa,2BAA2B;;IAUpC,YAC2C,QAA+B,EAC7B,sBAA0C;QAD5C,aAAQ,GAAR,QAAQ,CAAuB;QAC7B,2BAAsB,GAAtB,sBAAsB,CAAoB;;QAL/E,kBAAa,GAAG,IAAI,YAAY,EAAE,CAAC;QAOvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAClB,IAAI,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO;YAC5C,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;SACxC,CAAC,CACL,CAAC;KACL;;IAGD,sBAAsB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;KAC5C;;IAGD,oBAAoB,CAAC,OAA2B;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACnD;;IAGD,WAAW;QACP,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;KACpC;;wHAlCQ,2BAA2B,kBAWxB,qBAAqB,aACrB,uBAAuB;4HAZ1B,2BAA2B;2FAA3B,2BAA2B;kBADvC,UAAU;;;8BAYF,MAAM;+BAAC,qBAAqB;;8BAC5B,MAAM;+BAAC,uBAAuB;;;;ACpBhC,MAAM,2BAA2B,GAAG,IAAI,cAAc,CACzD,gEAAgE,EAChE;IACI,OAAO,EAAE,MAAM,oBAAoB;CACtC,CACJ;;MCEY,0BAA0B;IAGnC,YAC6C,sBAA0C,EACtC,WAAmB,EACxD,QAA6B;QAFI,2BAAsB,GAAtB,sBAAsB,CAAoB;QACtC,gBAAW,GAAX,WAAW,CAAQ;QACxD,aAAQ,GAAR,QAAQ,CAAqB;QALjC,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAOnC,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAED,iBAAiB;QACb,OAAO,IAAI,UAAU,CAAqB,CAAC,UAAU;YACjD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACzC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACxD,CAAC,CAAC;YACH,OAAO;gBACH,YAAY,CAAC,WAAW,EAAE,CAAC;aAC9B,CAAC;SACL,CAAC,CAAC;KACN;IAED,iBAAiB,CAAC,OAA2B;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;KACxB;IAEO,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACpE;KACJ;;uHAjCQ,0BAA0B,kBAIvB,uBAAuB,aACvB,2BAA2B;2HAL9B,0BAA0B;2FAA1B,0BAA0B;kBADtC,UAAU;;;8BAKF,MAAM;+BAAC,uBAAuB;;8BAC9B,MAAM;+BAAC,2BAA2B;;;;MCL9B,wBAAwB;IAGjC,YACY,OAAe,EACf,eAA+B,EACE,sBAA0C,EACtC,WAAmB;QAHxD,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAgB;QACE,2BAAsB,GAAtB,sBAAsB,CAAoB;QACtC,gBAAW,GAAX,WAAW,CAAQ;QAEhE,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAEO,WAAW;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAqB,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEtF,IAAI,CAAC,eAAe,CAAC,WAAW;aAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aAC9D,SAAS,CAAC,CAAC,WAAW;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;SACtD,CAAC,CAAC;KACV;IAEO,iBAAiB,CAAC,OAA2B;QACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;KAChF;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KACrE;IAED,iBAAiB,CAAC,OAA2B;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;KACxB;;qHAxCQ,wBAAwB,0EAMrB,uBAAuB,aACvB,2BAA2B;yHAP9B,wBAAwB;2FAAxB,wBAAwB;kBADpC,UAAU;;;8BAOF,MAAM;+BAAC,uBAAuB;;8BAC9B,MAAM;+BAAC,2BAA2B;;;;MCd9B,SAAS,GAAG,CAAC,OAA2B,KAAc,OAAO,KAAK,kBAAkB,CAAC,QAAQ;MAC7F,WAAW,GAAG,CAAC,OAA2B,KAAc,OAAO,KAAK,kBAAkB,CAAC,UAAU;MACjG,MAAM,GAAG,CAAC,OAA2B,KAAc,OAAO,KAAK,kBAAkB,CAAC;;ACI/F;;;MAIa,+BAA+B;IAIxC,YACY,yBAAsD,EACrB,sBAA0C;QAD3E,8BAAyB,GAAzB,yBAAyB,CAA6B;QACrB,2BAAsB,GAAtB,sBAAsB,CAAoB;;QAJ9E,mBAAc,GAAG,IAAI,eAAe,CAAqB,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAM3F,IAAI,CAAC,cAAc;aACd,IAAI,CACD,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CACrE;aACA,SAAS,EAAE,CAAC;KACpB;;IAGD,IAAI,uBAAuB;QACvB,OAAO,IAAI,CAAC,yBAAyB,CAAC,sBAAsB,EAAE,CAAC;KAClE;;IAGD,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,yBAAyB,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;KACvF;;IAGD,WAAW;QACP,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAClC;;4HA7BQ,+BAA+B,0DAM5B,uBAAuB;gIAN1B,+BAA+B;2FAA/B,+BAA+B;kBAD3C,UAAU;;;8BAOF,MAAM;+BAAC,uBAAuB;;;;ACHvC,SAAS,6BAA6B,CAAC,MAAkC;IACrE,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE;QACnC,OAAO;YACH,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,0BAA0B;SACvC,CAAC;KACL;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;QAC7B,OAAO;YACH,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,2BAA2B;SACxC,CAAC;KACL;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;QAC1B,OAAO;YACH,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,wBAAwB;YAClC,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,QAAQ,CAAC;SACjG,CAAC;KACL;IACD,OAAO,EAAE,CAAC;AACd,CAAC;MAOY,oBAAoB;IAC7B,OAAO,OAAO,CAAC,MAAmC;QAC9C,IAAI,OAAiB,CAAC;QACtB,MAAM,IAAI,GAA+B,MAAM,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAEzE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YAClC,OAAO,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;SACjD;aAAM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YACzC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAC1B;aAAM;YACH,OAAO,GAAG;gBACN,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,2BAA2B;aACxC,CAAC;SACL;QAED,OAAO;YACH,QAAQ,EAAE,oBAAoB;YAC9B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,uBAAuB;oBAChC,QAAQ,EAAE,IAAI,CAAC,2BAA2B,IAAI,kBAAkB,CAAC,IAAI;iBACxE;gBACD;oBACI,OAAO,EAAE,2BAA2B;oBACpC,QAAQ,EAAG,IAAY,CAAC,UAAU,IAAI,oBAAoB;iBAC7D;gBACD;oBACI,OAAO,EAAE,qBAAqB;oBAC9B,QAAQ,EAAE,+BAA+B;iBAC5C;gBACD,2BAA2B;gBAC3B,OAAO;aACV;SACJ,CAAC;KACL;;iHAnCQ,oBAAoB;kHAApB,oBAAoB,iBAFd,uBAAuB,aAF5B,YAAY,aACZ,uBAAuB;kHAGxB,oBAAoB,YAJpB,CAAC,YAAY,CAAC;2FAId,oBAAoB;kBALhC,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,YAAY,EAAE,CAAC,uBAAuB,CAAC;iBAC1C;;;ACtCM,MAAM,iBAAiB,GAAG,CAAC,MAIjC;IACG,MAAM,aAAa,GAAmC,MAAM,CAAC,qBAAqB;UAC5E,MAAM,CAAC,qBAAqB,CAAC,sBAAsB,EAAE;UACrD,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,GAAG,aAAa,CAAC;IAEvG,OAAO,cAAc,CAAC,IAAI,CACtB,SAAS,CAAC,CAAC,IAA6B;QACpC,IAAI,IAAI,KAAK,2BAA2B,EAAE;YACtC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;SACnB;QACD,OAAO,aAAa,CAAC;KACxB,CAAC,CACL,CAAC;AACN,CAAC;;ACnBM,MAAM,oCAAoC,GAA6C;IAC1F,SAAS,EAAE,EAAE;IACb,uBAAuB,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAC9E,qBAAqB,EAAE,kBAAkB,CAAC,IAAI;CACjD;;SCFe,6BAA6B,CACzC,cAAuE;IAEvE,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;QACtC,OAAO,cAAc,CAAC;KACzB;IACD,OAAO,CAAC,kBAAsC;QAC1C,MAAM,OAAO,GAAG;YACZ,sBAAsB,kCACf,oCAAoC,GACpC,cAAc,CAAC,sBAAsB,CAC3C;YACD,UAAU,EAAE,MAAM,cAAc,CAAC,UAAU,EAAE;SAChD,CAAC;QACF,MAAM,QAAQ,GAA6C,OAAO,CAAC,sBAAsB,CAAC;QAC1F,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAEpD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS;YAChD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACvC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;YACxC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;SACjE;KACJ,CAAC;AACN;;MC3Ba,8BAA8B;;;MCgB9B,+BAA+B,eAAmC;IA0C3E,YAAoB,SAAmB,EAAU,eAAgD;;QAC7F,KAAK,CACD,CAAA,MAAA,SAAS,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,0CAAE,qBAAqB;aACzF,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,qBAAqB,CAAA;YACtC,oCAAoC,CAAC,qBAAqB,CACjE,CAAC;QALc,cAAS,GAAT,SAAS,CAAU;QAAU,oBAAe,GAAf,eAAe,CAAiC;;QAjCzF,eAAU,GAAuC,IAAI,GAAG,EAAiC,CAAC;;QAoB1F,kBAAa,GAAG;YACpB,CAAC,kBAAkB,CAAC,OAAO,GAAG,MAC1B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI;YAC3G,CAAC,kBAAkB,CAAC,SAAS,GAAG,MAC5B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI;YACvG,CAAC,kBAAkB,CAAC,IAAI,GAAG,MAA0B,kBAAkB,CAAC,IAAI;SAC/E,CAAC;QAaE,IAAI,CAAC,aAAa,mCACX,oCAAoC,IACnC,eAAe,IAAI,EAAE,EAC5B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9G,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE9G,MAAM,cAAc,GAAmC,iBAAiB,CAAC;YACrE,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,qBAAqB;YAC/D,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SACpD,CAAC,CAAC,IAAI,CACHA,KAAG,CAAC,CAAC,OAA2B;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;aACxC;YACD,OAAO,OAAO,CAAC;SAClB,CAAC,EACF,oBAAoB,EAAE,EACtB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B,CAAC;QACF,cAAc;aACT,IAAI,CACD,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAC9C,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAClC;aACA,SAAS,CAAC,CAAC,OAAO;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtB,CAAC,CAAC;QACP,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,IAAI,CAACA,KAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAACA,KAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAACA,KAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,IAAI,eAAe,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC;gBACT,sBAAsB,EAAE,IAAI,CAAC,aAAa;gBAC1C,UAAU,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;aACnD,CAAC,CAAC;SACN;KACJ;IAED,WAAW,CAAC,OAA2B;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KACvE;;;;IAKD,IAAI,SAAS;QACT,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;SACpG;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;;;IAKD,IAAI,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;SAC1G;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;;;;IAKD,IAAI,MAAM;QACN,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SAC3F;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;;;;IAKD,OAAO,CACH,GAAG,eAA+E;QAElF,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc;YACnC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;KACf;;;;IAKD,cAAc,CACV,GAAG,eAA+E;QAElF,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc;YACnC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;KACf;;IAGO,cAAc,CAAC,OAA2B;QAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;KAC5D;;IAGO,gBAAgB,CAAC,MAA2B,EAAE,QAAqC;QACvF,OAAO,MAAM;aACR,IAAI,CACD,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,EAChD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B;aACA,SAAS,EAAE,CAAC;KACpB;;mHApKQ,sBAAsB;uHAAtB,sBAAsB;2FAAtB,sBAAsB;kBADlC,UAAU;;;ACZX;;;SAGgB,+BAA+B,CAAC,MAAuC;IACnF,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;AACvF;;ACJA;;;MAIa,mCACD,eAAmC;IAe3C,YAAY,YAAoB;QAC5B,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAN1B,gBAAW,GAAG;YACnB,IAAI,EAAE,mCAAmC;YACzC,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;SACrC,CAAC;QAIE,IAAI,CAAC,OAAO,GAAG,YAAY,YAAY,yBAAyB,CAAC;QACjE,IAAI,SAAS,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,sCAAsC,CAAC,CAAC;SACvE;KACJ;;IAjBD,IACI,OAAO,CAAC,KAAmB;QAC3B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;KAClG;IAgBD,WAAW;QACP,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;;uHA1BQ,0BAA0B;2GAA1B,0BAA0B;2FAA1B,0BAA0B;kBADtC,SAAS;6FAOF,OAAO;sBADV,KAAK;;;ACTV;;;MAIa,gCACD,eAAmC;IAc3C,YAAY,YAAoB;QAC5B,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAN7B,gBAAW,GAAG;YACnB,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;SACrC,CAAC;QAIE,IAAI,CAAC,OAAO,GAAG,YAAY,YAAY,sBAAsB,CAAC;QAC9D,IAAI,SAAS,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,mCAAmC,CAAC,CAAC;SACpE;KACJ;IAjBD,IACI,IAAI,CAAC,KAAmB;QACxB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;KAClG;IAgBD,WAAW;QACP,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;;oHAzBQ,uBAAuB;wGAAvB,uBAAuB;2FAAvB,uBAAuB;kBADnC,SAAS;6FAMF,IAAI;sBADP,KAAK;;;ACRV;;;MAIa,qCACD,eAAmC;IAc3C,YAAY,YAAoB;QAC5B,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAN1B,gBAAW,GAAG;YACnB,IAAI,EAAE,qCAAqC;YAC3C,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;SACrC,CAAC;QAIE,IAAI,CAAC,OAAO,GAAG,YAAY,YAAY,2BAA2B,CAAC;QACnE,IAAI,SAAS,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,wCAAwC,CAAC,CAAC;SACzE;KACJ;IAjBD,IACI,SAAS,CAAC,KAAmB;QAC7B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;KACpG;IAgBD,WAAW;QACP,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;;yHAzBQ,4BAA4B;6GAA5B,4BAA4B;2FAA5B,4BAA4B;kBADxC,SAAS;6FAMF,SAAS;sBADZ,KAAK;;;SCTM,kCAAkC,CAC9C,eAAwC,2BAA2B;IAEnE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;IAC1D,OAAO;QACH,+BAA+B,EAAE;YAC7B,OAAO,EAAE,yBAAyB;YAClC,QAAQ,EAAE,eAAe,CAAC,YAAY,EAAE;SAC3C;QACD,iBAAiB,EAAE,CAAC,EAA2B,KAAK,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;KAC/E,CAAC;AACN;;AChBA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-content-density.mjs","sources":["../../../../../libs/core/src/lib/content-density/content-density.types.ts","../../../../../libs/core/src/lib/content-density/tokens/content-density-directive.ts","../../../../../libs/core/src/lib/content-density/directives/content-density.directive.ts","../../../../../libs/core/src/lib/content-density/tokens/default-content-density.token.ts","../../../../../libs/core/src/lib/content-density/classes/abstract-content-density-storage.ts","../../../../../libs/core/src/lib/content-density/providers/memory-content-density-storage.ts","../../../../../libs/core/src/lib/content-density/services/global-content-density.service.ts","../../../../../libs/core/src/lib/content-density/tokens/content-density-storage-key.token.ts","../../../../../libs/core/src/lib/content-density/providers/local-content-density-storage.ts","../../../../../libs/core/src/lib/content-density/providers/url-content-density-storage.ts","../../../../../libs/core/src/lib/content-density/helpers/density-type-checkers.ts","../../../../../libs/core/src/lib/content-density/services/deprecated-content-density.service.ts","../../../../../libs/core/src/lib/content-density/content-density.module.ts","../../../../../libs/core/src/lib/content-density/helpers/get-changes-source.provider.ts","../../../../../libs/core/src/lib/content-density/variables/default-content-density-consumer-config.ts","../../../../../libs/core/src/lib/content-density/helpers/content-density-change-callback-factory.ts","../../../../../libs/core/src/lib/content-density/classes/content-density-observer.settings.ts","../../../../../libs/core/src/lib/content-density/services/content-density-observer.service.ts","../../../../../libs/core/src/lib/content-density/providers/content-density-observer-providers.ts","../../../../../libs/core/src/lib/content-density/classes/deprecated-compact.directive.ts","../../../../../libs/core/src/lib/content-density/classes/deprecated-cozy.directive.ts","../../../../../libs/core/src/lib/content-density/classes/deprecated-condensed.directive.ts","../../../../../libs/core/src/lib/content-density/testing/mocked-local-content-density-directive.ts","../../../../../libs/core/src/lib/content-density/fundamental-ngx-core-content-density.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/core/utils';\nimport { ContentDensityObserverSettings } from './classes/content-density-observer.settings';\n\nexport const ContentDensityGlobalKeyword = 'global';\n\nexport enum ContentDensityMode {\n COZY = 'cozy',\n CONDENSED = 'condensed',\n COMPACT = 'compact'\n}\n\nexport type LocalContentDensityMode = ContentDensityMode | typeof ContentDensityGlobalKeyword;\n\ninterface BaseContentDensityModuleConfig {\n defaultGlobalContentDensity?: ContentDensityMode;\n}\n\ninterface LocalStorageConfig {\n storage: 'localStorage';\n storageKey?: string;\n}\n\ninterface UrlStorageConfig {\n storage: 'url';\n storageKey?: string;\n}\n\ninterface CustomStorageConfig {\n storage: Provider;\n}\n\ninterface MemoryStorageConfig {\n storage: 'memory';\n}\n\nexport type ContentDensityModuleConfig = (\n | LocalStorageConfig\n | MemoryStorageConfig\n | UrlStorageConfig\n | CustomStorageConfig\n) &\n BaseContentDensityModuleConfig;\n\nexport interface ContentDensityObserverTarget extends HasElementRef {\n contentDensitySettings: ContentDensityObserverSettings;\n}\n\nexport type ContentDensityCallbackFn = (target: ContentDensityMode) => void;\n","import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ContentDensityMode } from '../content-density.types';\n\nexport const CONTENT_DENSITY_DIRECTIVE = new InjectionToken<Observable<ContentDensityMode>>('ContentDensityDirective');\n","import { Directive, forwardRef, Input, OnDestroy } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { BehaviorSubject } from 'rxjs';\nimport { ContentDensityGlobalKeyword, ContentDensityMode, LocalContentDensityMode } from '../content-density.types';\nimport { CONTENT_DENSITY_DIRECTIVE } from '../tokens/content-density-directive';\n\n/**\n * Directive to control the content density of the elements.\n * This Directive is used in density controllers and consumers\n */\n@Directive({\n selector: `[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]),\n [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]),\n [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]),\n [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])`,\n exportAs: 'fdContentDensity',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => ContentDensityDirective)\n }\n ]\n})\nexport class ContentDensityDirective extends BehaviorSubject<LocalContentDensityMode> implements OnDestroy {\n /**\n * Update the content density of the element on the fly\n */\n @Input()\n set fdContentDensity(val: LocalContentDensityMode | '') {\n this.next(val ? val : ContentDensityGlobalKeyword);\n }\n\n /**\n * This input is basically syntax sugar, for not writing fdContentDensity=\"compact\",\n * instead you can just write fdCompact=\"true\" or [fdCompact]\n */\n @Input()\n set fdCompact(val: BooleanInput) {\n if (coerceBooleanProperty(val)) {\n this.next(ContentDensityMode.COMPACT);\n } else {\n this.next(ContentDensityGlobalKeyword);\n }\n }\n\n /**\n * This input is basically syntax sugar, for not writing fdContentDensity=\"condensed\",\n * instead you can just write fdCondensed=\"true\" or [fdCondensed]\n */\n @Input()\n set fdCondensed(val: BooleanInput) {\n if (coerceBooleanProperty(val)) {\n this.next(ContentDensityMode.CONDENSED);\n } else {\n this.next(ContentDensityGlobalKeyword);\n }\n }\n\n /**\n * This input is basically syntax sugar, for not writing fdContentDensity=\"cozy\",\n * instead you can just write fdCozy=\"true\" or [fdCozy]\n */\n @Input()\n set fdCozy(val: BooleanInput) {\n if (coerceBooleanProperty(val)) {\n this.next(ContentDensityMode.COZY);\n } else {\n this.next(ContentDensityGlobalKeyword);\n }\n }\n\n /** @hidden */\n constructor() {\n super(ContentDensityGlobalKeyword);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ContentDensityMode } from '../content-density.types';\n\nexport const DEFAULT_CONTENT_DENSITY = new InjectionToken<ContentDensityMode>('Default global content density', {\n factory: () => ContentDensityMode.COZY\n});\n","import { ContentDensityMode } from '../content-density.types';\nimport { Observable } from 'rxjs';\n\n/**\n * Abstract provider class for providing content density storage functionality\n * Default implementation is MemoryContentDensityStorage\n */\nexport abstract class ContentDensityStorage {\n /**\n * Get listener for current density updates\n */\n abstract getContentDensity(): Observable<ContentDensityMode>;\n\n /**\n * Save updated configuration\n * @param density\n */\n abstract setContentDensity(density: ContentDensityMode): Observable<void>;\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { ContentDensityStorage } from '../classes/abstract-content-density-storage';\nimport { ContentDensityMode } from '../content-density.types';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\n\n@Injectable()\nexport class MemoryContentDensityStorage implements ContentDensityStorage {\n private _currentContentDensity$: BehaviorSubject<ContentDensityMode>;\n\n constructor(@Inject(DEFAULT_CONTENT_DENSITY) defaultContentDensity: ContentDensityMode) {\n this._currentContentDensity$ = new BehaviorSubject(defaultContentDensity);\n }\n\n getContentDensity(): Observable<ContentDensityMode> {\n return this._currentContentDensity$.asObservable();\n }\n\n setContentDensity(density: ContentDensityMode): Observable<void> {\n this._currentContentDensity$.next(density);\n return of(undefined);\n }\n}\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { ContentDensityStorage } from '../classes/abstract-content-density-storage';\nimport { Observable, Subscription } from 'rxjs';\nimport { ContentDensityMode } from '../content-density.types';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\n\n/**\n * Service for managing global content density state.\n */\n@Injectable()\nexport class GlobalContentDensityService implements OnDestroy {\n /**\n * Current content density.\n */\n currentContentDensity: ContentDensityMode;\n\n /** @hidden */\n private _subscription = new Subscription();\n\n /** @hidden */\n constructor(\n @Inject(ContentDensityStorage) private _storage: ContentDensityStorage,\n @Inject(DEFAULT_CONTENT_DENSITY) private _defaultContentDensity: ContentDensityMode\n ) {\n this._subscription.add(\n this.contentDensityListener().subscribe((density) => {\n this.currentContentDensity = density;\n })\n );\n }\n\n /** Listen to current content density changes */\n contentDensityListener(): Observable<ContentDensityMode> {\n return this._storage.getContentDensity();\n }\n\n /** Update content density */\n updateContentDensity(density: ContentDensityMode): Observable<void> {\n return this._storage.setContentDensity(density);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const CONTENT_DENSITY_STORAGE_KEY = new InjectionToken<string>(\n 'Content density storage key for local storage or for url param',\n {\n factory: () => '__ContentDensity__'\n }\n);\n","import { Inject, Injectable } from '@angular/core';\nimport { LocalStorageService } from '@fundamental-ngx/core/utils';\nimport { Observable, of, Subject } from 'rxjs';\nimport { ContentDensityStorage } from '../classes/abstract-content-density-storage';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\nimport { CONTENT_DENSITY_STORAGE_KEY } from '../tokens/content-density-storage-key.token';\nimport { ContentDensityMode } from '../content-density.types';\n\n@Injectable()\nexport class LocalContentDensityStorage implements ContentDensityStorage {\n private _update$ = new Subject<void>();\n\n constructor(\n @Inject(DEFAULT_CONTENT_DENSITY) private _defaultContentDensity: ContentDensityMode,\n @Inject(CONTENT_DENSITY_STORAGE_KEY) private _storageKey: string,\n private _storage: LocalStorageService\n ) {\n this._initialize();\n }\n\n getContentDensity(): Observable<ContentDensityMode> {\n return new Observable<ContentDensityMode>((subscriber) => {\n subscriber.next(this._storage.get(this._storageKey));\n const subscription = this._update$.subscribe(() => {\n subscriber.next(this._storage.get(this._storageKey));\n });\n return () => {\n subscription.unsubscribe();\n };\n });\n }\n\n setContentDensity(density: ContentDensityMode): Observable<void> {\n this._storage.set(this._storageKey, density);\n this._update$.next();\n return of(undefined);\n }\n\n private _initialize(): void {\n if (!this._storage.get(this._storageKey)) {\n this._storage.set(this._storageKey, this._defaultContentDensity);\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ContentDensityStorage } from '../classes/abstract-content-density-storage';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\nimport { CONTENT_DENSITY_STORAGE_KEY } from '../tokens/content-density-storage-key.token';\nimport { ContentDensityMode } from '../content-density.types';\nimport { BehaviorSubject, distinctUntilChanged, filter, Observable, of } from 'rxjs';\n\n@Injectable()\nexport class UrlContentDensityStorage implements ContentDensityStorage {\n private _current$: BehaviorSubject<ContentDensityMode>;\n\n constructor(\n private _router: Router,\n private _activatedRoute: ActivatedRoute,\n @Inject(DEFAULT_CONTENT_DENSITY) private _defaultContentDensity: ContentDensityMode,\n @Inject(CONTENT_DENSITY_STORAGE_KEY) private _storageKey: string\n ) {\n this._initialize();\n }\n\n private _initialize(): void {\n this._current$ = new BehaviorSubject<ContentDensityMode>(this._defaultContentDensity);\n\n this._activatedRoute.queryParams\n .pipe(filter((queryParams) => !!queryParams[this._storageKey]))\n .subscribe((queryParams) => {\n this._current$.next(queryParams[this._storageKey]);\n });\n }\n\n private _setUrlQueryParam(density: ContentDensityMode): void {\n const url = new URL(`https://google.com${this._router.url}`);\n url.searchParams.delete(this._storageKey);\n url.searchParams.append(this._storageKey, density);\n const queryParams = {};\n url.searchParams.forEach((value, key) => (queryParams[key] = value));\n\n this._router.navigateByUrl(url.pathname + '?' + url.searchParams.toString());\n }\n\n getContentDensity(): Observable<ContentDensityMode> {\n return this._current$.asObservable().pipe(distinctUntilChanged());\n }\n\n setContentDensity(density: ContentDensityMode): Observable<void> {\n this._current$.next(density);\n this._setUrlQueryParam(density);\n return of(undefined);\n }\n}\n","import { ContentDensityMode } from '../content-density.types';\n\nexport const isCompact = (density: ContentDensityMode): boolean => density === ContentDensityMode.COMPACT;\nexport const isCondensed = (density: ContentDensityMode): boolean => density === ContentDensityMode.CONDENSED;\nexport const isCozy = (density: ContentDensityMode): boolean => density === ContentDensityMode.COZY;\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { GlobalContentDensityService } from './global-content-density.service';\nimport { BehaviorSubject, Observable, skip, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { isCompact } from '../helpers/density-type-checkers';\nimport { DEFAULT_CONTENT_DENSITY } from '../tokens/default-content-density.token';\nimport { ContentDensityMode } from '../content-density.types';\n\n/**\n * Temporary replacement for ContentDensityService\n */\n@Injectable()\nexport class DeprecatedContentDensityService implements OnDestroy {\n /** Content Density BehaviourSubject */\n readonly contentDensity = new BehaviorSubject<ContentDensityMode>(this._defaultContentDensity);\n\n constructor(\n private _contentDensityController: GlobalContentDensityService,\n @Inject(DEFAULT_CONTENT_DENSITY) private _defaultContentDensity: ContentDensityMode\n ) {\n this.contentDensity\n .pipe(\n skip(1),\n tap((d) => this._contentDensityController.updateContentDensity(d))\n )\n .subscribe();\n }\n\n /** @hidden */\n get _contentDensityListener(): Observable<ContentDensityMode> {\n return this._contentDensityController.contentDensityListener();\n }\n\n /** @hidden */\n get _isCompactDensity(): Observable<boolean> {\n return this._contentDensityController.contentDensityListener().pipe(map(isCompact));\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.contentDensity.complete();\n }\n}\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ContentDensityDirective } from './directives/content-density.directive';\nimport { DEFAULT_CONTENT_DENSITY } from './tokens/default-content-density.token';\nimport { ContentDensityMode, ContentDensityModuleConfig } from './content-density.types';\nimport { ContentDensityStorage } from './classes/abstract-content-density-storage';\nimport { MemoryContentDensityStorage } from './providers/memory-content-density-storage';\nimport { GlobalContentDensityService } from './services/global-content-density.service';\nimport { LocalContentDensityStorage } from './providers/local-content-density-storage';\nimport { CONTENT_DENSITY_STORAGE_KEY } from './tokens/content-density-storage-key.token';\nimport { UrlContentDensityStorage } from './providers/url-content-density-storage';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { DeprecatedContentDensityService } from './services/deprecated-content-density.service';\n\nfunction generateContentDensityStorage(config: ContentDensityModuleConfig): Provider {\n if (config.storage === 'localStorage') {\n return {\n provide: ContentDensityStorage,\n useClass: LocalContentDensityStorage\n };\n }\n if (config.storage === 'memory') {\n return {\n provide: ContentDensityStorage,\n useClass: MemoryContentDensityStorage\n };\n }\n if (config.storage === 'url') {\n return {\n provide: ContentDensityStorage,\n useClass: UrlContentDensityStorage,\n deps: [Router, ActivatedRoute, DEFAULT_CONTENT_DENSITY, CONTENT_DENSITY_STORAGE_KEY, DOCUMENT]\n };\n }\n return [];\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ContentDensityDirective],\n declarations: [ContentDensityDirective]\n})\nexport class ContentDensityModule {\n static forRoot(config?: ContentDensityModuleConfig): ModuleWithProviders<ContentDensityModule> {\n let storage: Provider;\n const conf: ContentDensityModuleConfig = config || { storage: 'memory' };\n\n if (typeof conf.storage === 'string') {\n storage = generateContentDensityStorage(conf);\n } else if (typeof conf.storage === 'object') {\n storage = conf.storage;\n } else {\n storage = {\n provide: ContentDensityStorage,\n useClass: MemoryContentDensityStorage\n };\n }\n\n return {\n ngModule: ContentDensityModule,\n providers: [\n {\n provide: DEFAULT_CONTENT_DENSITY,\n useValue: conf.defaultGlobalContentDensity || ContentDensityMode.COZY\n },\n {\n provide: CONTENT_DENSITY_STORAGE_KEY,\n useValue: (conf as any).storageKey || '__ContentDensity__'\n },\n {\n provide: ContentDensityService,\n useClass: DeprecatedContentDensityService\n },\n GlobalContentDensityService,\n storage\n ]\n };\n }\n}\n","import { Observable, of, switchMap } from 'rxjs';\nimport { GlobalContentDensityService } from '../services/global-content-density.service';\nimport { ContentDensityGlobalKeyword, ContentDensityMode, LocalContentDensityMode } from '../content-density.types';\n\nexport const getChangesSource$ = (params: {\n defaultContentDensity: ContentDensityMode;\n contentDensityDirective?: Observable<LocalContentDensityMode>;\n contentDensityService?: GlobalContentDensityService;\n}): Observable<ContentDensityMode> => {\n const serviceValue$: Observable<ContentDensityMode> = params.contentDensityService\n ? params.contentDensityService.contentDensityListener()\n : of(params.defaultContentDensity);\n const changesSource$ = params.contentDensityDirective ? params.contentDensityDirective : serviceValue$;\n\n return changesSource$.pipe(\n switchMap((mode: LocalContentDensityMode) => {\n if (mode !== ContentDensityGlobalKeyword) {\n return of(mode);\n }\n return serviceValue$;\n })\n );\n};\n","import { ContentDensityMode } from '../content-density.types';\nimport { ContentDensityObserverSettings } from '../classes/content-density-observer.settings';\n\nexport const defaultContentDensityObserverConfigs: Required<ContentDensityObserverSettings> = {\n modifiers: {},\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY],\n defaultContentDensity: ContentDensityMode.COZY\n};\n","import { coerceElement } from '@angular/cdk/coercion';\nimport { ContentDensityCallbackFn, ContentDensityObserverTarget, ContentDensityMode } from '../content-density.types';\nimport { defaultContentDensityObserverConfigs } from '../variables/default-content-density-consumer-config';\nimport { ContentDensityObserverSettings } from '../classes/content-density-observer.settings';\n\nexport function contentDensityCallbackFactory(\n consumerConfig: ContentDensityObserverTarget | ContentDensityCallbackFn\n): ContentDensityCallbackFn {\n if (typeof consumerConfig === 'function') {\n return consumerConfig;\n }\n return (contentDensityMode: ContentDensityMode) => {\n const configs = {\n contentDensitySettings: {\n ...defaultContentDensityObserverConfigs,\n ...consumerConfig.contentDensitySettings\n },\n elementRef: () => consumerConfig.elementRef()\n };\n const settings: Required<ContentDensityObserverSettings> = configs.contentDensitySettings;\n const element = coerceElement(configs.elementRef());\n\n Object.values(settings.modifiers).forEach((className) => {\n element.classList.remove(className);\n });\n if (settings.modifiers[contentDensityMode]) {\n element.classList.add(settings.modifiers[contentDensityMode]);\n }\n };\n}\n","import { ContentDensityMode } from '../content-density.types';\n\nexport class ContentDensityObserverSettings {\n modifiers?: Partial<Record<ContentDensityMode, string>>;\n supportedContentDensity?: ContentDensityMode[];\n defaultContentDensity?: ContentDensityMode;\n}\n","import { ChangeDetectorRef, ElementRef, Injectable, InjectFlags, Injector } from '@angular/core';\nimport {\n ContentDensityCallbackFn,\n ContentDensityMode,\n ContentDensityObserverTarget,\n LocalContentDensityMode\n} from '../content-density.types';\nimport { BehaviorSubject, distinctUntilChanged, finalize, map, Observable, Subscription, takeUntil, tap } from 'rxjs';\nimport { GlobalContentDensityService } from '../services/global-content-density.service';\nimport { getChangesSource$ } from '../helpers/get-changes-source.provider';\nimport { defaultContentDensityObserverConfigs } from '../variables/default-content-density-consumer-config';\nimport { contentDensityCallbackFactory } from '../helpers/content-density-change-callback-factory';\nimport { isCompact, isCondensed, isCozy } from '../helpers/density-type-checkers';\nimport { CONTENT_DENSITY_DIRECTIVE } from '../tokens/content-density-directive';\nimport { DestroyedService } from '@fundamental-ngx/core/utils';\nimport { ContentDensityObserverSettings } from '../classes/content-density-observer.settings';\n\n@Injectable()\nexport class ContentDensityObserver extends BehaviorSubject<ContentDensityMode> {\n /** Stream for getting compact state changes */\n isCompact$: Observable<boolean>;\n /** Stream for getting cozy state changes */\n isCozy$: Observable<boolean>;\n /** Stream for getting condensed state changes */\n isCondensed$: Observable<boolean>;\n\n /** @hidden */\n private _callbacks: Map<any, ContentDensityCallbackFn> = new Map<any, ContentDensityCallbackFn>();\n\n /** @hidden */\n private _isCompact: boolean;\n /** @hidden */\n private _isCozy: boolean;\n /** @hidden */\n private _isCondensed: boolean;\n\n /** @hidden */\n private _compactSubscription: Subscription;\n /** @hidden */\n private _condensedSubscription: Subscription;\n /** @hidden */\n private _cozySubscription: Subscription;\n\n /** @hidden */\n private configuration: Required<ContentDensityObserverSettings>;\n\n /** @hidden */\n private alternativeTo = {\n [ContentDensityMode.COMPACT]: (): ContentDensityMode =>\n this.isSupported(ContentDensityMode.CONDENSED) ? ContentDensityMode.CONDENSED : ContentDensityMode.COZY,\n [ContentDensityMode.CONDENSED]: (): ContentDensityMode =>\n this.isSupported(ContentDensityMode.COMPACT) ? ContentDensityMode.COMPACT : ContentDensityMode.COZY,\n [ContentDensityMode.COZY]: (): ContentDensityMode => ContentDensityMode.COZY // No alternative here, everyone should support it\n };\n\n private readonly destroy$: Observable<void>;\n private changeDetectorRef: ChangeDetectorRef;\n private contentDensityDirective?: Observable<LocalContentDensityMode>;\n private contentDensityService?: GlobalContentDensityService;\n\n constructor(private _injector: Injector, private _providedConfig?: ContentDensityObserverSettings) {\n super(\n _injector.get(GlobalContentDensityService, null, InjectFlags.Optional)?.currentContentDensity ||\n _providedConfig?.defaultContentDensity ||\n defaultContentDensityObserverConfigs.defaultContentDensity\n );\n this.configuration = {\n ...defaultContentDensityObserverConfigs,\n ...(_providedConfig || {})\n };\n this.destroy$ = this._injector.get(DestroyedService);\n this.changeDetectorRef = this._injector.get(ChangeDetectorRef);\n this.contentDensityDirective = this._injector.get(CONTENT_DENSITY_DIRECTIVE, undefined, InjectFlags.Optional);\n this.contentDensityService = this._injector.get(GlobalContentDensityService, undefined, InjectFlags.Optional);\n\n const changesSource$: Observable<ContentDensityMode> = getChangesSource$({\n defaultContentDensity: this.configuration.defaultContentDensity,\n contentDensityDirective: this.contentDensityDirective,\n contentDensityService: this.contentDensityService\n }).pipe(\n map((density: ContentDensityMode) => {\n if (!this.isSupported(density)) {\n return this.alternativeTo[density]();\n }\n return density;\n }),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n );\n changesSource$\n .pipe(\n tap((density) => this._callCallbacks(density)),\n finalize(() => this.complete())\n )\n .subscribe((density) => {\n this.next(density);\n });\n this.isCompact$ = changesSource$.pipe(map(isCompact));\n this.isCozy$ = changesSource$.pipe(map(isCozy));\n this.isCondensed$ = changesSource$.pipe(map(isCondensed));\n if (_providedConfig) {\n this.consume({\n contentDensitySettings: this.configuration,\n elementRef: () => this._injector.get(ElementRef)\n });\n }\n }\n\n isSupported(density: ContentDensityMode): boolean {\n return this.configuration.supportedContentDensity.includes(density);\n }\n\n /**\n * Sync isCompact. Calls ChangeDetectorRef.markForCheck() on update\n */\n get isCompact(): boolean {\n if (!this._compactSubscription) {\n this._compactSubscription = this._listenToChanges(this.isCompact$, (v) => (this._isCompact = v));\n }\n return this._isCompact;\n }\n\n /**\n * Sync isCondensed. Calls ChangeDetectorRef.markForCheck() on update\n */\n get isCondensed(): boolean {\n if (!this._condensedSubscription) {\n this._condensedSubscription = this._listenToChanges(this.isCondensed$, (v) => (this._isCondensed = v));\n }\n return this._isCondensed;\n }\n\n /**\n * Sync isCozy. Calls ChangeDetectorRef.markForCheck() on update\n */\n get isCozy(): boolean {\n if (!this._cozySubscription) {\n this._cozySubscription = this._listenToChanges(this.isCozy$, (v) => (this._isCozy = v));\n }\n return this._isCozy;\n }\n\n /**\n * Pass consumers callback function, or configuration object to be called on density change\n */\n consume(\n ...consumerConfigs: Array<ContentDensityObserverTarget | ContentDensityCallbackFn>\n ): ContentDensityObserver {\n consumerConfigs.forEach((consumerConfig) => {\n const callback = contentDensityCallbackFactory(consumerConfig);\n this._callbacks.set(consumerConfig, callback);\n callback(this.value);\n });\n return this;\n }\n\n /**\n * Remove consumer callback from list of callbacks\n */\n removeConsumer(\n ...consumerConfigs: Array<ContentDensityObserverTarget | ContentDensityCallbackFn>\n ): ContentDensityObserver {\n consumerConfigs.forEach((consumerConfig) => {\n this._callbacks.delete(consumerConfig);\n });\n return this;\n }\n\n /** @hidden */\n private _callCallbacks(density: ContentDensityMode): void {\n this._callbacks.forEach((callback) => callback(density));\n }\n\n /** @hidden */\n private _listenToChanges(source: Observable<boolean>, callback: (newValue: boolean) => void): Subscription {\n return source\n .pipe(\n tap(callback),\n tap(() => this.changeDetectorRef.markForCheck()),\n takeUntil(this.destroy$)\n )\n .subscribe();\n }\n}\n","import { Provider } from '@angular/core';\nimport { consumerProviderFactory, DestroyedService } from '@fundamental-ngx/core/utils';\nimport { ContentDensityObserver } from '../services/content-density-observer.service';\nimport { ContentDensityObserverSettings } from '../classes/content-density-observer.settings';\n\n/**\n * Creates provider for ContentDensityObserver and adds DestroyedService provider\n */\nexport function contentDensityObserverProviders(params?: ContentDensityObserverSettings): Provider[] {\n return [DestroyedService, consumerProviderFactory(ContentDensityObserver, params)];\n}\n","import { Directive, Input, isDevMode, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentDensityMode } from '../content-density.types';\nimport { ModuleDeprecation } from '@fundamental-ngx/core/utils';\n\n/**\n * Directive decorator is only for allowing @Input\n */\n@Directive()\nexport class DeprecatedCompactDirective\n extends BehaviorSubject<ContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n /** @deprecated use fdCompact directive instead */\n @Input()\n set compact(value: BooleanInput) {\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdCompact] directive instead.`);\n }\n this.next(coerceBooleanProperty(value) ? ContentDensityMode.COMPACT : ContentDensityMode.COZY);\n }\n\n readonly message: string;\n readonly alternative = {\n name: 'Use [fdCompact] directive instead',\n link: ['/core', 'content-density']\n };\n\n constructor(selectorBase: string) {\n super(ContentDensityMode.COZY);\n this.message = `Usage of ${selectorBase}[compact] is deprecated`;\n }\n\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { Directive, Input, isDevMode, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentDensityMode } from '../content-density.types';\nimport { ModuleDeprecation } from '@fundamental-ngx/core/utils';\n\n/**\n * Directive decorator is only for allowing @Input\n */\n@Directive()\nexport class DeprecatedCozyDirective\n extends BehaviorSubject<ContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n @Input()\n set cozy(value: BooleanInput) {\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdCozy] directive instead.`);\n }\n this.next(coerceBooleanProperty(value) ? ContentDensityMode.COZY : ContentDensityMode.COMPACT);\n }\n\n readonly message: string;\n readonly alternative = {\n name: 'Use [fdCozy] directive instead',\n link: ['/core', 'content-density']\n };\n\n constructor(selectorBase: string) {\n super(ContentDensityMode.COMPACT);\n this.message = `Usage of ${selectorBase}[cozy] is deprecated`;\n }\n\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { Directive, Input, isDevMode, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentDensityMode } from '../content-density.types';\nimport { ModuleDeprecation } from '@fundamental-ngx/core/utils';\n\n/**\n * Directive decorator is only for allowing @Input\n */\n@Directive()\nexport class DeprecatedCondensedDirective\n extends BehaviorSubject<ContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n @Input()\n set condensed(value: BooleanInput) {\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdCondensed] directive instead.`);\n }\n this.next(coerceBooleanProperty(value) ? ContentDensityMode.CONDENSED : ContentDensityMode.COZY);\n }\n\n readonly message: string;\n readonly alternative = {\n name: 'Use [fdCondensed] directive instead',\n link: ['/core', 'content-density']\n };\n\n constructor(selectorBase: string) {\n super(ContentDensityMode.COZY);\n this.message = `Usage of ${selectorBase}[condensed] is deprecated`;\n }\n\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { Provider } from '@angular/core';\nimport { ContentDensityGlobalKeyword, LocalContentDensityMode } from '../content-density.types';\nimport { BehaviorSubject } from 'rxjs';\nimport { CONTENT_DENSITY_DIRECTIVE } from '../tokens/content-density-directive';\n\nexport function mockedLocalContentDensityDirective(\n defaultValue: LocalContentDensityMode = ContentDensityGlobalKeyword\n): { contentDensityDirectiveProvider: Provider; setContentDensity: (cd: LocalContentDensityMode) => void } {\n const behaviorSubject = new BehaviorSubject(defaultValue);\n return {\n contentDensityDirectiveProvider: {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useValue: behaviorSubject.asObservable()\n },\n setContentDensity: (cd: LocalContentDensityMode) => behaviorSubject.next(cd)\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["map"],"mappings":"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"}
|
|
@@ -557,12 +557,12 @@ class DeprecatedCompactDirective extends BehaviorSubject {
|
|
|
557
557
|
link: ['/core', 'content-density']
|
|
558
558
|
};
|
|
559
559
|
this.message = `Usage of ${selectorBase}[compact] is deprecated`;
|
|
560
|
-
if (isDevMode()) {
|
|
561
|
-
console.warn(`${this.message}. Use [fdCompact] directive instead.`);
|
|
562
|
-
}
|
|
563
560
|
}
|
|
564
561
|
/** @deprecated use fdCompact directive instead */
|
|
565
562
|
set compact(value) {
|
|
563
|
+
if (isDevMode()) {
|
|
564
|
+
console.warn(`${this.message}. Use [fdCompact] directive instead.`);
|
|
565
|
+
}
|
|
566
566
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.COMPACT : ContentDensityMode.COZY);
|
|
567
567
|
}
|
|
568
568
|
ngOnDestroy() {
|
|
@@ -588,11 +588,11 @@ class DeprecatedCozyDirective extends BehaviorSubject {
|
|
|
588
588
|
link: ['/core', 'content-density']
|
|
589
589
|
};
|
|
590
590
|
this.message = `Usage of ${selectorBase}[cozy] is deprecated`;
|
|
591
|
+
}
|
|
592
|
+
set cozy(value) {
|
|
591
593
|
if (isDevMode()) {
|
|
592
594
|
console.warn(`${this.message}. Use [fdCozy] directive instead.`);
|
|
593
595
|
}
|
|
594
|
-
}
|
|
595
|
-
set cozy(value) {
|
|
596
596
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.COZY : ContentDensityMode.COMPACT);
|
|
597
597
|
}
|
|
598
598
|
ngOnDestroy() {
|
|
@@ -618,11 +618,11 @@ class DeprecatedCondensedDirective extends BehaviorSubject {
|
|
|
618
618
|
link: ['/core', 'content-density']
|
|
619
619
|
};
|
|
620
620
|
this.message = `Usage of ${selectorBase}[condensed] is deprecated`;
|
|
621
|
+
}
|
|
622
|
+
set condensed(value) {
|
|
621
623
|
if (isDevMode()) {
|
|
622
624
|
console.warn(`${this.message}. Use [fdCondensed] directive instead.`);
|
|
623
625
|
}
|
|
624
|
-
}
|
|
625
|
-
set condensed(value) {
|
|
626
626
|
this.next(coerceBooleanProperty(value) ? ContentDensityMode.CONDENSED : ContentDensityMode.COZY);
|
|
627
627
|
}
|
|
628
628
|
ngOnDestroy() {
|