@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.
Files changed (107) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/checkbox/package.json +1 -1
  14. package/combobox/package.json +1 -1
  15. package/content-density/esm2020/classes/deprecated-compact.directive.mjs +4 -4
  16. package/content-density/esm2020/classes/deprecated-condensed.directive.mjs +3 -3
  17. package/content-density/esm2020/classes/deprecated-cozy.directive.mjs +3 -3
  18. package/content-density/fesm2015/fundamental-ngx-core-content-density.mjs +7 -7
  19. package/content-density/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
  20. package/content-density/fesm2020/fundamental-ngx-core-content-density.mjs +7 -7
  21. package/content-density/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
  22. package/content-density/package.json +3 -3
  23. package/date-picker/package.json +1 -1
  24. package/datetime/package.json +1 -1
  25. package/datetime-picker/package.json +1 -1
  26. package/dialog/package.json +1 -1
  27. package/dynamic-page/package.json +1 -1
  28. package/dynamic-side-content/package.json +1 -1
  29. package/esm2020/content-density/classes/deprecated-compact.directive.mjs +4 -4
  30. package/esm2020/content-density/classes/deprecated-condensed.directive.mjs +3 -3
  31. package/esm2020/content-density/classes/deprecated-cozy.directive.mjs +3 -3
  32. package/facets/package.json +1 -1
  33. package/feed-input/package.json +1 -1
  34. package/feed-list-item/package.json +1 -1
  35. package/fesm2015/fundamental-ngx-core-content-density.mjs +7 -7
  36. package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
  37. package/fesm2020/fundamental-ngx-core-content-density.mjs +7 -7
  38. package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
  39. package/file-uploader/package.json +1 -1
  40. package/fixed-card-layout/package.json +1 -1
  41. package/flexible-column-layout/package.json +1 -1
  42. package/form/package.json +1 -1
  43. package/formatted-text/package.json +1 -1
  44. package/grid-list/package.json +1 -1
  45. package/icon/package.json +1 -1
  46. package/illustrated-message/package.json +1 -1
  47. package/infinite-scroll/package.json +1 -1
  48. package/info-label/package.json +1 -1
  49. package/inline-help/package.json +1 -1
  50. package/input-group/package.json +1 -1
  51. package/layout-grid/package.json +1 -1
  52. package/layout-panel/package.json +1 -1
  53. package/link/package.json +1 -1
  54. package/list/package.json +1 -1
  55. package/menu/package.json +1 -1
  56. package/message-box/package.json +1 -1
  57. package/message-strip/package.json +1 -1
  58. package/message-toast/package.json +1 -1
  59. package/micro-process-flow/package.json +1 -1
  60. package/mobile-mode/package.json +1 -1
  61. package/multi-input/package.json +1 -1
  62. package/nested-list/package.json +1 -1
  63. package/notification/package.json +1 -1
  64. package/object-identifier/package.json +1 -1
  65. package/object-marker/package.json +1 -1
  66. package/object-number/package.json +1 -1
  67. package/object-status/package.json +1 -1
  68. package/overflow-layout/package.json +13 -13
  69. package/package.json +1 -1
  70. package/pagination/package.json +1 -1
  71. package/panel/package.json +1 -1
  72. package/popover/package.json +1 -1
  73. package/product-switch/package.json +1 -1
  74. package/progress-indicator/package.json +1 -1
  75. package/quick-view/package.json +1 -1
  76. package/radio/package.json +1 -1
  77. package/rating-indicator/package.json +1 -1
  78. package/resizable-card-layout/package.json +1 -1
  79. package/scroll-spy/package.json +1 -1
  80. package/scrollbar/package.json +1 -1
  81. package/segmented-button/package.json +1 -1
  82. package/select/package.json +1 -1
  83. package/shared/package.json +1 -1
  84. package/shellbar/package.json +1 -1
  85. package/side-navigation/package.json +1 -1
  86. package/slider/package.json +1 -1
  87. package/split-button/package.json +1 -1
  88. package/splitter/package.json +1 -1
  89. package/status-indicator/package.json +1 -1
  90. package/step-input/package.json +1 -1
  91. package/switch/package.json +1 -1
  92. package/table/package.json +1 -1
  93. package/tabs/package.json +1 -1
  94. package/text/package.json +1 -1
  95. package/theming/package.json +1 -1
  96. package/tile/package.json +1 -1
  97. package/time/package.json +1 -1
  98. package/time-picker/package.json +1 -1
  99. package/timeline/package.json +1 -1
  100. package/title/package.json +1 -1
  101. package/token/package.json +1 -1
  102. package/toolbar/package.json +1 -1
  103. package/tree/package.json +1 -1
  104. package/upload-collection/package.json +1 -1
  105. package/utils/package.json +1 -1
  106. package/vertical-navigation/package.json +1 -1
  107. package/wizard/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-bar",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-sheet",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/alert",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/avatar",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/avatar-group",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/bar/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/bar",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/breadcrumb",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/busy-indicator",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/button",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/calendar",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/card/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/card",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/carousel",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/checkbox",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/combobox",
3
- "version": "0.35.4-rc.5",
3
+ "version": "0.35.4-rc.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC1jb21wYWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NvbnRlbnQtZGVuc2l0eS9jbGFzc2VzL2RlcHJlY2F0ZWQtY29tcGFjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUc5RDs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFDVCxTQUFRLGVBQW1DO0lBZTNDLFlBQVksWUFBb0I7UUFDNUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBTjFCLGdCQUFXLEdBQUc7WUFDbkIsSUFBSSxFQUFFLG1DQUFtQztZQUN6QyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUM7U0FDckMsQ0FBQztRQUlFLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxZQUFZLHlCQUF5QixDQUFDO1FBQ2pFLElBQUksU0FBUyxFQUFFLEVBQUU7WUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sc0NBQXNDLENBQUMsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFsQkQsa0RBQWtEO0lBQ2xELElBQ0ksT0FBTyxDQUFDLEtBQW1CO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQWdCRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3VIQTFCUSwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTOzZGQU9GLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGlzRGV2TW9kZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSB9IGZyb20gJy4uL2NvbnRlbnQtZGVuc2l0eS50eXBlcyc7XG5pbXBvcnQgeyBNb2R1bGVEZXByZWNhdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGRlY29yYXRvciBpcyBvbmx5IGZvciBhbGxvd2luZyBASW5wdXRcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRGVwcmVjYXRlZENvbXBhY3REaXJlY3RpdmVcbiAgICBleHRlbmRzIEJlaGF2aW9yU3ViamVjdDxDb250ZW50RGVuc2l0eU1vZGU+XG4gICAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE1vZHVsZURlcHJlY2F0aW9uXG57XG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBmZENvbXBhY3QgZGlyZWN0aXZlIGluc3RlYWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb21wYWN0KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5uZXh0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkgPyBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVCA6IENvbnRlbnREZW5zaXR5TW9kZS5DT1pZKTtcbiAgICB9XG5cbiAgICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYWx0ZXJuYXRpdmUgPSB7XG4gICAgICAgIG5hbWU6ICdVc2UgW2ZkQ29tcGFjdF0gZGlyZWN0aXZlIGluc3RlYWQnLFxuICAgICAgICBsaW5rOiBbJy9jb3JlJywgJ2NvbnRlbnQtZGVuc2l0eSddXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHNlbGVjdG9yQmFzZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKENvbnRlbnREZW5zaXR5TW9kZS5DT1pZKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gYFVzYWdlIG9mICR7c2VsZWN0b3JCYXNlfVtjb21wYWN0XSBpcyBkZXByZWNhdGVkYDtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYCR7dGhpcy5tZXNzYWdlfS4gVXNlIFtmZENvbXBhY3RdIGRpcmVjdGl2ZSBpbnN0ZWFkLmApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC1jb25kZW5zZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY29udGVudC1kZW5zaXR5L2NsYXNzZXMvZGVwcmVjYXRlZC1jb25kZW5zZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHOUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQ1QsU0FBUSxlQUFtQztJQWMzQyxZQUFZLFlBQW9CO1FBQzVCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU4xQixnQkFBVyxHQUFHO1lBQ25CLElBQUksRUFBRSxxQ0FBcUM7WUFDM0MsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDO1NBQ3JDLENBQUM7UUFJRSxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksWUFBWSwyQkFBMkIsQ0FBQztRQUNuRSxJQUFJLFNBQVMsRUFBRSxFQUFFO1lBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLHdDQUF3QyxDQUFDLENBQUM7U0FDekU7SUFDTCxDQUFDO0lBakJELElBQ0ksU0FBUyxDQUFDLEtBQW1CO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckcsQ0FBQztJQWdCRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3lIQXpCUSw0QkFBNEI7NkdBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQUR4QyxTQUFTOzZGQU1GLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGlzRGV2TW9kZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSB9IGZyb20gJy4uL2NvbnRlbnQtZGVuc2l0eS50eXBlcyc7XG5pbXBvcnQgeyBNb2R1bGVEZXByZWNhdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGRlY29yYXRvciBpcyBvbmx5IGZvciBhbGxvd2luZyBASW5wdXRcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRGVwcmVjYXRlZENvbmRlbnNlZERpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQmVoYXZpb3JTdWJqZWN0PENvbnRlbnREZW5zaXR5TW9kZT5cbiAgICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgTW9kdWxlRGVwcmVjYXRpb25cbntcbiAgICBASW5wdXQoKVxuICAgIHNldCBjb25kZW5zZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLm5leHQoY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSA/IENvbnRlbnREZW5zaXR5TW9kZS5DT05ERU5TRUQgOiBDb250ZW50RGVuc2l0eU1vZGUuQ09aWSk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFsdGVybmF0aXZlID0ge1xuICAgICAgICBuYW1lOiAnVXNlIFtmZENvbmRlbnNlZF0gZGlyZWN0aXZlIGluc3RlYWQnLFxuICAgICAgICBsaW5rOiBbJy9jb3JlJywgJ2NvbnRlbnQtZGVuc2l0eSddXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHNlbGVjdG9yQmFzZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKENvbnRlbnREZW5zaXR5TW9kZS5DT1pZKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gYFVzYWdlIG9mICR7c2VsZWN0b3JCYXNlfVtjb25kZW5zZWRdIGlzIGRlcHJlY2F0ZWRgO1xuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLm1lc3NhZ2V9LiBVc2UgW2ZkQ29uZGVuc2VkXSBkaXJlY3RpdmUgaW5zdGVhZC5gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC1jb3p5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NvbnRlbnQtZGVuc2l0eS9jbGFzc2VzL2RlcHJlY2F0ZWQtY296eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUc5RDs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFDVCxTQUFRLGVBQW1DO0lBYzNDLFlBQVksWUFBb0I7UUFDNUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBTjdCLGdCQUFXLEdBQUc7WUFDbkIsSUFBSSxFQUFFLGdDQUFnQztZQUN0QyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUM7U0FDckMsQ0FBQztRQUlFLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxZQUFZLHNCQUFzQixDQUFDO1FBQzlELElBQUksU0FBUyxFQUFFLEVBQUU7WUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sbUNBQW1DLENBQUMsQ0FBQztTQUNwRTtJQUNMLENBQUM7SUFqQkQsSUFDSSxJQUFJLENBQUMsS0FBbUI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBZ0JELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7b0hBekJRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFNBQVM7NkZBTUYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgaXNEZXZNb2RlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2RlIH0gZnJvbSAnLi4vY29udGVudC1kZW5zaXR5LnR5cGVzJztcbmltcG9ydCB7IE1vZHVsZURlcHJlY2F0aW9uIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgZGVjb3JhdG9yIGlzIG9ubHkgZm9yIGFsbG93aW5nIEBJbnB1dFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBEZXByZWNhdGVkQ296eURpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQmVoYXZpb3JTdWJqZWN0PENvbnRlbnREZW5zaXR5TW9kZT5cbiAgICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgTW9kdWxlRGVwcmVjYXRpb25cbntcbiAgICBASW5wdXQoKVxuICAgIHNldCBjb3p5KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5uZXh0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkgPyBDb250ZW50RGVuc2l0eU1vZGUuQ09aWSA6IENvbnRlbnREZW5zaXR5TW9kZS5DT01QQUNUKTtcbiAgICB9XG5cbiAgICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYWx0ZXJuYXRpdmUgPSB7XG4gICAgICAgIG5hbWU6ICdVc2UgW2ZkQ296eV0gZGlyZWN0aXZlIGluc3RlYWQnLFxuICAgICAgICBsaW5rOiBbJy9jb3JlJywgJ2NvbnRlbnQtZGVuc2l0eSddXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHNlbGVjdG9yQmFzZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKENvbnRlbnREZW5zaXR5TW9kZS5DT01QQUNUKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gYFVzYWdlIG9mICR7c2VsZWN0b3JCYXNlfVtjb3p5XSBpcyBkZXByZWNhdGVkYDtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYCR7dGhpcy5tZXNzYWdlfS4gVXNlIFtmZENvenldIGRpcmVjdGl2ZSBpbnN0ZWFkLmApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
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":"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"}
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() {