@bravura/ui 6.0.1 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/README.md +1 -0
  3. package/alert/index.d.ts +126 -3
  4. package/alert/testing/index.d.ts +28 -5
  5. package/behavior/index.d.ts +231 -3
  6. package/clip-note/index.d.ts +125 -3
  7. package/common/index.d.ts +24 -3
  8. package/currency-input/index.d.ts +69 -3
  9. package/decimal-input/index.d.ts +39 -3
  10. package/discrete-input/index.d.ts +139 -3
  11. package/fesm2022/bravura-ui-alert.mjs +18 -21
  12. package/fesm2022/bravura-ui-alert.mjs.map +1 -1
  13. package/fesm2022/bravura-ui-behavior.mjs +18 -18
  14. package/fesm2022/bravura-ui-behavior.mjs.map +1 -1
  15. package/fesm2022/bravura-ui-clip-note.mjs +10 -10
  16. package/fesm2022/bravura-ui-clip-note.mjs.map +1 -1
  17. package/fesm2022/bravura-ui-common.mjs +5 -6
  18. package/fesm2022/bravura-ui-common.mjs.map +1 -1
  19. package/fesm2022/bravura-ui-currency-input.mjs +7 -7
  20. package/fesm2022/bravura-ui-currency-input.mjs.map +1 -1
  21. package/fesm2022/bravura-ui-decimal-input.mjs +7 -7
  22. package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -1
  23. package/fesm2022/bravura-ui-discrete-input.mjs +14 -39
  24. package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -1
  25. package/fesm2022/bravura-ui-file-upload.mjs +18 -18
  26. package/fesm2022/bravura-ui-file-upload.mjs.map +1 -1
  27. package/fesm2022/bravura-ui-form-field.mjs +10 -10
  28. package/fesm2022/bravura-ui-form-field.mjs.map +1 -1
  29. package/fesm2022/bravura-ui-icon-font.mjs +7 -7
  30. package/fesm2022/bravura-ui-icon-font.mjs.map +1 -1
  31. package/fesm2022/bravura-ui-panel.mjs +16 -16
  32. package/fesm2022/bravura-ui-panel.mjs.map +1 -1
  33. package/fesm2022/bravura-ui-phone-number.mjs +13 -13
  34. package/fesm2022/bravura-ui-phone-number.mjs.map +1 -1
  35. package/fesm2022/bravura-ui-radio-panel.mjs +12 -14
  36. package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -1
  37. package/fesm2022/bravura-ui-selection-panel.mjs +11 -11
  38. package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -1
  39. package/fesm2022/bravura-ui-skeletons.mjs +10 -10
  40. package/fesm2022/bravura-ui-skeletons.mjs.map +1 -1
  41. package/fesm2022/bravura-ui-stepper.mjs +18 -18
  42. package/fesm2022/bravura-ui-stepper.mjs.map +1 -1
  43. package/fesm2022/bravura-ui-tooltip.mjs +13 -13
  44. package/fesm2022/bravura-ui-tooltip.mjs.map +1 -1
  45. package/file-upload/index.d.ts +200 -3
  46. package/form-field/index.d.ts +49 -3
  47. package/icon-font/index.d.ts +79 -3
  48. package/index.d.ts +3 -5
  49. package/package.json +20 -20
  50. package/panel/index.d.ts +107 -3
  51. package/phone-number/index.d.ts +108 -3
  52. package/radio-panel/index.d.ts +71 -3
  53. package/radio-panel/testing/index.d.ts +32 -5
  54. package/selection-panel/index.d.ts +149 -3
  55. package/skeletons/index.d.ts +79 -3
  56. package/stepper/index.d.ts +106 -3
  57. package/tooltip/index.d.ts +83 -3
  58. package/alert/alert-container.component.d.ts +0 -71
  59. package/alert/alert-message.component.d.ts +0 -47
  60. package/alert/alert.module.d.ts +0 -14
  61. package/alert/public-api.d.ts +0 -1
  62. package/alert/testing/test-api.d.ts +0 -24
  63. package/behavior/await.directive.d.ts +0 -71
  64. package/behavior/behavior.module.d.ts +0 -17
  65. package/behavior/observe-content-class.directive.d.ts +0 -29
  66. package/behavior/public-api.d.ts +0 -5
  67. package/behavior/sizing-monitor.directive.d.ts +0 -23
  68. package/behavior/sizing.directive.d.ts +0 -98
  69. package/clip-note/clip-note.component.d.ts +0 -45
  70. package/clip-note/clip-note.directive.d.ts +0 -69
  71. package/clip-note/clip-note.module.d.ts +0 -19
  72. package/clip-note/public-api.d.ts +0 -1
  73. package/common/common-utils.d.ts +0 -11
  74. package/common/common.module.d.ts +0 -11
  75. package/common/public-api.d.ts +0 -2
  76. package/currency-input/currency-input.directive.d.ts +0 -62
  77. package/currency-input/currency-input.module.d.ts +0 -10
  78. package/currency-input/public-api.d.ts +0 -1
  79. package/decimal-input/decimal-input.directive.d.ts +0 -32
  80. package/decimal-input/decimal-input.module.d.ts +0 -10
  81. package/decimal-input/public-api.d.ts +0 -1
  82. package/discrete-input/discrete-input.component.d.ts +0 -141
  83. package/discrete-input/discrete-input.module.d.ts +0 -11
  84. package/discrete-input/public-api.d.ts +0 -2
  85. package/file-upload/file-upload.component.d.ts +0 -148
  86. package/file-upload/file-upload.module.d.ts +0 -14
  87. package/file-upload/file-upload.service.d.ts +0 -42
  88. package/file-upload/public-api.d.ts +0 -6
  89. package/form-field/form-field.component.d.ts +0 -39
  90. package/form-field/form-field.module.d.ts +0 -13
  91. package/form-field/public-api.d.ts +0 -2
  92. package/icon-font/icon-font.module.d.ts +0 -12
  93. package/icon-font/icon.directive.d.ts +0 -46
  94. package/icon-font/public-api.d.ts +0 -3
  95. package/icon-font/utilities.d.ts +0 -20
  96. package/panel/panel-section.component.d.ts +0 -15
  97. package/panel/panel.component.d.ts +0 -60
  98. package/panel/panel.module.d.ts +0 -16
  99. package/panel/public-api.d.ts +0 -1
  100. package/panel/tinted.directive.d.ts +0 -26
  101. package/phone-number/phone-number.directive.d.ts +0 -66
  102. package/phone-number/phone-number.module.d.ts +0 -17
  103. package/phone-number/phone-number.pipe.d.ts +0 -13
  104. package/phone-number/phone-number.validator.d.ts +0 -31
  105. package/phone-number/public-api.d.ts +0 -1
  106. package/public-api.d.ts +0 -1
  107. package/radio-panel/public-api.d.ts +0 -3
  108. package/radio-panel/radio-panel-item.component.d.ts +0 -22
  109. package/radio-panel/radio-panel.component.d.ts +0 -38
  110. package/radio-panel/radio-panel.module.d.ts +0 -15
  111. package/radio-panel/testing/test-api.d.ts +0 -27
  112. package/selection-panel/public-api.d.ts +0 -3
  113. package/selection-panel/selection-panel-item.component.d.ts +0 -77
  114. package/selection-panel/selection-panel.directive.d.ts +0 -67
  115. package/selection-panel/selection-panel.module.d.ts +0 -13
  116. package/skeletons/public-api.d.ts +0 -3
  117. package/skeletons/skeleton-loader-presets.directive.d.ts +0 -23
  118. package/skeletons/skeleton-loader.component.d.ts +0 -44
  119. package/skeletons/skeletons.module.d.ts +0 -16
  120. package/stepper/public-api.d.ts +0 -3
  121. package/stepper/step-label-top.directive.d.ts +0 -17
  122. package/stepper/stepper-animation.d.ts +0 -6
  123. package/stepper/stepper.component.d.ts +0 -75
  124. package/stepper/stepper.module.d.ts +0 -17
  125. package/tooltip/public-api.d.ts +0 -3
  126. package/tooltip/tooltip.component.d.ts +0 -26
  127. package/tooltip/tooltip.directive.d.ts +0 -48
  128. package/tooltip/tooltip.module.d.ts +0 -13
@@ -1,8 +1,8 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { DOCUMENT, CommonModule } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
- import { Directive, EventEmitter, Input, Output, Inject, Optional, NgModule } from '@angular/core';
3
+ import { Directive, EventEmitter, DOCUMENT, Input, Output, Inject, Optional, NgModule } from '@angular/core';
5
4
  import { debounceTime, take } from 'rxjs/operators';
5
+ import { CommonModule } from '@angular/common';
6
6
  import { MatProgressSpinner, MatProgressSpinnerModule } from '@angular/material/progress-spinner';
7
7
  import * as i1 from '@angular/material/button';
8
8
  import { MatButtonModule } from '@angular/material/button';
@@ -28,10 +28,10 @@ class SizingMonitorDirective {
28
28
  constructor(element) {
29
29
  this.element = element;
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SizingMonitorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: SizingMonitorDirective, isStandalone: false, selector: "[buiSizingMonitor]", ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SizingMonitorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: SizingMonitorDirective, isStandalone: false, selector: "[buiSizingMonitor]", ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SizingMonitorDirective, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SizingMonitorDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: '[buiSizingMonitor]',
@@ -264,10 +264,10 @@ class SizingDirective {
264
264
  _toNumber(s) {
265
265
  return (s === '~' ? Infinity : Number(s)) || -Infinity;
266
266
  }
267
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SizingDirective, deps: [{ token: DOCUMENT }, { token: SizingMonitorDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
268
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: SizingDirective, isStandalone: false, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: { buiSizing: "buiSizing", sizingBy: "sizingBy", buiSizingBy: "buiSizingBy", buiFixedHeight: "buiFixedHeight" }, outputs: { buiResized: "buiResized" }, usesOnChanges: true, ngImport: i0 }); }
267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SizingDirective, deps: [{ token: DOCUMENT }, { token: SizingMonitorDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
268
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: SizingDirective, isStandalone: false, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: { buiSizing: "buiSizing", sizingBy: "sizingBy", buiSizingBy: "buiSizingBy", buiFixedHeight: "buiFixedHeight" }, outputs: { buiResized: "buiResized" }, usesOnChanges: true, ngImport: i0 }); }
269
269
  }
270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SizingDirective, decorators: [{
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SizingDirective, decorators: [{
271
271
  type: Directive,
272
272
  args: [{
273
273
  selector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]',
@@ -385,10 +385,10 @@ class AwaitDirective {
385
385
  }
386
386
  }
387
387
  }
388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: i1.MatIconButton, optional: true }, { token: i1.MatIconAnchor, optional: true }, { token: i1.MatFabButton, optional: true }, { token: i1.MatFabAnchor, optional: true }, { token: i1.MatMiniFabButton, optional: true }, { token: i1.MatMiniFabAnchor, optional: true }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
389
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: AwaitDirective, isStandalone: false, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 }); }
388
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: i1.MatIconButton, optional: true }, { token: i1.MatIconAnchor, optional: true }, { token: i1.MatFabButton, optional: true }, { token: i1.MatFabAnchor, optional: true }, { token: i1.MatMiniFabButton, optional: true }, { token: i1.MatMiniFabAnchor, optional: true }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
389
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: AwaitDirective, isStandalone: false, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 }); }
390
390
  }
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AwaitDirective, decorators: [{
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AwaitDirective, decorators: [{
392
392
  type: Directive,
393
393
  args: [{
394
394
  selector: '[buiAwait]',
@@ -457,10 +457,10 @@ class ObserveContentClassDirective {
457
457
  this.classToRemove.push(...classes);
458
458
  }
459
459
  }
460
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ObserveContentClassDirective, deps: [{ token: i1$1.ContentObserver }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
461
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: ObserveContentClassDirective, isStandalone: false, selector: "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", inputs: { classEmpty: ["bui-class.empty", "classEmpty"], classNotEmpty: ["bui-class.not-empty", "classNotEmpty"], classNoText: ["bui-class.no-text", "classNoText"], classHasText: ["bui-class.has-text", "classHasText"] }, ngImport: i0 }); }
460
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ObserveContentClassDirective, deps: [{ token: i1$1.ContentObserver }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
461
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ObserveContentClassDirective, isStandalone: false, selector: "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", inputs: { classEmpty: ["bui-class.empty", "classEmpty"], classNotEmpty: ["bui-class.not-empty", "classNotEmpty"], classNoText: ["bui-class.no-text", "classNoText"], classHasText: ["bui-class.has-text", "classHasText"] }, ngImport: i0 }); }
462
462
  }
463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ObserveContentClassDirective, decorators: [{
463
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ObserveContentClassDirective, decorators: [{
464
464
  type: Directive,
465
465
  args: [{
466
466
  selector: '[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]',
@@ -484,15 +484,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
484
484
  * For functionality that cannot be easily achieved via CSS.
485
485
  */
486
486
  class BehaviorModule {
487
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BehaviorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
488
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: BehaviorModule, declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective], imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule], exports: [SizingDirective,
487
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BehaviorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
488
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: BehaviorModule, declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective], imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule], exports: [SizingDirective,
489
489
  SizingMonitorDirective,
490
490
  AwaitDirective,
491
491
  MatProgressSpinnerModule,
492
492
  ObserveContentClassDirective] }); }
493
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BehaviorModule, imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule, MatProgressSpinnerModule] }); }
493
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BehaviorModule, imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule, MatProgressSpinnerModule] }); }
494
494
  }
495
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BehaviorModule, decorators: [{
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BehaviorModule, decorators: [{
496
496
  type: NgModule,
497
497
  args: [{
498
498
  declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-behavior.mjs","sources":["../../../projects/ui/behavior/sizing-monitor.directive.ts","../../../projects/ui/behavior/sizing.directive.ts","../../../projects/ui/behavior/await.directive.ts","../../../projects/ui/behavior/observe-content-class.directive.ts","../../../projects/ui/behavior/behavior.module.ts","../../../projects/ui/behavior/bravura-ui-behavior.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\r\n\r\n/**\r\n * Use this directive to designate a target HTML element, based on which the child elements'\r\n * `[buiSizing]` directives will calculate the sizes.\r\n *\r\n * ```html\r\n * <div [buiSizingMonitor]>\r\n * <div [buiSizing]=\"...\">\r\n * </div>\r\n * <div>\r\n * <div [buiSizing]=\"...\">\r\n * </div>\r\n * </div>\r\n * <div>\r\n * ```\r\n */\r\n@Directive({\r\n\tselector: '[buiSizingMonitor]',\r\n\tstandalone: false\r\n})\r\nexport class SizingMonitorDirective {\r\n\tconstructor(public readonly element: ElementRef<HTMLElement>) {}\r\n}\r\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport {\r\n\tDirective,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tInject,\r\n\tInput,\r\n\tNgZone,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOptional,\r\n\tOutput,\r\n\tSimpleChanges\r\n} from '@angular/core';\r\nimport { debounceTime, take } from 'rxjs/operators';\r\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\r\n\r\n/**\r\n * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style\r\n * classes and/or inline styles to the current element dynamically.\r\n *\r\n * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property\r\n * `box-sizing` of the `sizingBy` target element must be set to `border-box`.\r\n *\r\n * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)\r\n * to capture the events of element resizing. Please use a polyfill if you want to support older browsers\r\n * that do not implement ResizeObserver API.\r\n *\r\n * Examples:\r\n *\r\n * ```html\r\n * <div #parentElement>\r\n * <div [buiSizing]=\"{'400': 'small', '800': 'medium', '~': 'large'}\" [buiSizingBy]=\"parentElement\"></div>\r\n * <div [buiSizing]=\"['small', 'medium', 'large']\" [buiSizingBy]=\"'root'\"></div>\r\n * <div [buiSizing]=\"{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}\" [buiSizingBy]=\"parentElement\"></div>\r\n * </div>\r\n * ```\r\n */\r\n@Directive({\r\n\tselector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]',\r\n\tstandalone: false\r\n})\r\nexport class SizingDirective implements OnChanges, OnDestroy {\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tstatic defaultSizingBreakpoints = ['400', '800', '~'];\r\n\r\n\t/**\r\n\t * Specifies the breakpoint widths and the style classes.\r\n\t *\r\n\t * The sizing spec `{\"400\": \"small\", \"800\": \"medium\", \"~\": \"large\"}` tells the directive to apply\r\n\t * a style class `small` when the width of the monitored target is smaller than 400 pixels,\r\n\t * `medium` when the width is between 400 and 800 pixels, and `large` when above.\r\n\t *\r\n\t * @example {'400': 'small', '800': 'medium', '~': 'large'}\r\n\t */\r\n\t@Input()\r\n\tbuiSizing: string | Array<string> | { [key: string]: string } = {};\r\n\r\n\t/**\r\n\t * The alias of `buiSizingBy`.\r\n\t * @default 'root'\r\n\t * @deprecated\r\n\t * @ignore\r\n\t */\r\n\t@Input()\r\n\tsizingBy: 'root' | 'parent' | HTMLElement = 'root';\r\n\r\n\t/**\r\n\t * Designate an element to be monitored for recalculating the style classes of the current element.\r\n\t *\r\n\t * - `root` specifies the document root or the enclosing shadow host. This is the default value.\r\n\t * - `parent` specifies the parent element.\r\n\t *\r\n\t * @default 'root'\r\n\t * @alias sizingBy\r\n\t */\r\n\t@Input()\r\n\tget buiSizingBy(): 'root' | 'parent' | HTMLElement {\r\n\t\treturn this.sizingBy;\r\n\t}\r\n\tset buiSizingBy(target: 'root' | 'parent' | HTMLElement) {\r\n\t\tthis.sizingBy = target;\r\n\t}\r\n\r\n\t/**\r\n\t * Emits `{width, height}` when the monitor target element resizes.\r\n\t *\r\n\t * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.\r\n\t */\r\n\t@Output()\r\n\tbuiResized = new EventEmitter<{ width: number; height: number }>();\r\n\r\n\t/**\r\n\t * Recalculate the height of this element according to the height of the monitored target.\r\n\t */\r\n\t@Input()\r\n\tbuiFixedHeight = false;\r\n\r\n\tprivate _monitorTarget: HTMLElement;\r\n\tprivate _observer: ResizeObserver | undefined;\r\n\tprivate _sizingSpec: { [key: string]: string } = {};\r\n\tprivate _width = 0;\r\n\tprivate _height = 0;\r\n\tprivate _reflowFrameCount = 0;\r\n\tprivate _element: HTMLElement;\r\n\tprivate _frameHandlerId = 0;\r\n\r\n\tconstructor(\r\n\t\t@Inject(DOCUMENT) private _doc: Document,\r\n\t\t@Optional() private _defaultTarget: SizingMonitorDirective,\r\n\t\telemRef: ElementRef<HTMLElement>,\r\n\t\tprivate _zone: NgZone\r\n\t) {\r\n\t\tthis._element = elemRef.nativeElement;\r\n\t\tthis._monitorTarget = this._element;\r\n\t}\r\n\r\n\tngOnChanges(_: SimpleChanges): void {\r\n\t\tconst disconnected = this._element.getRootNode() instanceof HTMLElement;\r\n\t\tif (disconnected) {\r\n\t\t\t// defer shadow detection till dom connection event\r\n\t\t\tthis._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());\r\n\t\t} else {\r\n\t\t\tthis._initOrReset();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._tearDownNodeMonitor();\r\n\t}\r\n\r\n\tprivate _initOrReset() {\r\n\t\tconst originalTarget = this._monitorTarget;\r\n\t\tif (this.buiSizingBy instanceof HTMLElement) {\r\n\t\t\tthis._monitorTarget = this.buiSizingBy;\r\n\t\t} else if (this._defaultTarget) {\r\n\t\t\tthis._monitorTarget = this._defaultTarget.element.nativeElement;\r\n\t\t} else if (this.buiSizingBy === 'root') {\r\n\t\t\tconst root = this._element.getRootNode();\r\n\t\t\tif (root instanceof ShadowRoot) {\r\n\t\t\t\tthis._monitorTarget = root.host as HTMLElement;\r\n\t\t\t} else {\r\n\t\t\t\tthis._monitorTarget = this._doc.documentElement;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis._monitorTarget = this._element.parentElement as any;\r\n\t\t}\r\n\r\n\t\tif (this._monitorTarget != originalTarget) {\r\n\t\t\tthis._setUpNodeMonitor();\r\n\t\t}\r\n\r\n\t\tthis._sizingSpec = {};\r\n\t\tlet spec = this.buiSizing;\r\n\t\tif (typeof spec === 'string') {\r\n\t\t\tspec = spec.split(',').map(k => k.trim());\r\n\t\t}\r\n\r\n\t\tif (Array.isArray(spec)) {\r\n\t\t\tspec.forEach((c, i) => {\r\n\t\t\t\tthis._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;\r\n\t\t\t});\r\n\t\t} else if (spec) {\r\n\t\t\tthis._sizingSpec = spec;\r\n\t\t}\r\n\r\n\t\tthis.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);\r\n\r\n\t\tthis._calculateSize();\r\n\t}\r\n\r\n\tprivate _setUpNodeMonitor() {\r\n\t\tthis._tearDownNodeMonitor();\r\n\t\tif (this._monitorTarget) {\r\n\t\t\tthis._observer = new ResizeObserver(() => this._runWithObserver(this._calculateSize.bind(this)));\r\n\r\n\t\t\tthis._observer.observe(this._monitorTarget, { box: 'border-box' });\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _tearDownNodeMonitor() {\r\n\t\tcancelAnimationFrame(this._frameHandlerId);\r\n\t\tthis._runWithObserver(() => {\r\n\t\t\tthis._observer!.disconnect();\r\n\t\t\tthis._observer = undefined;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _runWithObserver<T>(func: () => T): T | undefined {\r\n\t\tif (this._observer) {\r\n\t\t\treturn func();\r\n\t\t}\r\n\t\treturn undefined;\r\n\t}\r\n\r\n\tprivate _calculateSize() {\r\n\t\tconst widthChanged = this._width !== this._monitorTarget.clientWidth;\r\n\t\tconst heightChanged = this._height !== this._monitorTarget.clientHeight;\r\n\t\tif (widthChanged) {\r\n\t\t\tthis._width = this._monitorTarget.clientWidth;\r\n\r\n\t\t\tconst bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));\r\n\t\t\tlet found = false;\r\n\t\t\tfor (const key of bks) {\r\n\t\t\t\tconst classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);\r\n\t\t\t\tthis._removeClassesOrStyles(classesOrStyles);\r\n\t\t\t\tconst expectedWidth = this._toNumber(key);\r\n\t\t\t\tif (this._width <= expectedWidth && !found) {\r\n\t\t\t\t\tthis._applyClassesOrStyles(classesOrStyles);\r\n\t\t\t\t\tfound = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (widthChanged || heightChanged) {\r\n\t\t\tthis._height = this._monitorTarget.clientHeight;\r\n\t\t\tif (this.buiFixedHeight) {\r\n\t\t\t\tthis._reflowFrameCount = 0;\r\n\t\t\t\tthis._reflowHeight();\r\n\t\t\t}\r\n\t\t\tsetTimeout(() => this._zone.run(() => this.buiResized.emit({ width: this._width, height: this._height })));\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _applyClassesOrStyles(clsOrStyles: string[]) {\r\n\t\tclsOrStyles.forEach(s => {\r\n\t\t\tif (s.includes(':')) {\r\n\t\t\t\tconst [prop, val] = s.split(':');\r\n\t\t\t\tthis._element.style.setProperty(prop.trim(), val.trim());\r\n\t\t\t} else {\r\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\r\n\t\t\t\tif (classes.length) {\r\n\t\t\t\t\tthis._element.classList.add(...classes);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _removeClassesOrStyles(clsOrStyles: string[]) {\r\n\t\tclsOrStyles.forEach(s => {\r\n\t\t\tif (s.includes(':')) {\r\n\t\t\t\tconst [prop] = s.split(':');\r\n\t\t\t\tthis._element.style.removeProperty(prop);\r\n\t\t\t} else {\r\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\r\n\t\t\t\tif (classes.length) {\r\n\t\t\t\t\tthis._element.classList.remove(...classes);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _reflowHeight() {\r\n\t\tconst cnt = this._reflowFrameCount;\r\n\t\tif (cnt < 15) {\r\n\t\t\tcancelAnimationFrame(this._frameHandlerId);\r\n\t\t\tthis._frameHandlerId = requestAnimationFrame(this._reflowHeight.bind(this));\r\n\r\n\t\t\tif (cnt === 0) {\r\n\t\t\t\tthis._element.style.height = '0';\r\n\t\t\t} else if (cnt === 14) {\r\n\t\t\t\tconst gt = parseInt(\r\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0',\r\n\t\t\t\t\t10\r\n\t\t\t\t);\r\n\t\t\t\tconst gb = parseInt(\r\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0',\r\n\t\t\t\t\t10\r\n\t\t\t\t);\r\n\t\t\t\tthis._element.style.height = `${this._height - gt - gb - 5}px`;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._reflowFrameCount++;\r\n\t}\r\n\r\n\tprivate _toNumber(s: string) {\r\n\t\treturn (s === '~' ? Infinity : Number(s)) || -Infinity;\r\n\t}\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport {\r\n\tAfterViewInit,\r\n\tComponentRef,\r\n\tDirective,\r\n\tDoCheck,\r\n\tElementRef,\r\n\tInject,\r\n\tInput,\r\n\tOptional,\r\n\tViewContainerRef\r\n} from '@angular/core';\r\nimport {\r\n\tMatButton,\r\n\tMatFabAnchor,\r\n\tMatFabButton,\r\n\tMatIconAnchor,\r\n\tMatIconButton,\r\n\tMatMiniFabAnchor,\r\n\tMatMiniFabButton\r\n} from '@angular/material/button';\r\nimport { MatProgressSpinner, ProgressSpinnerMode } from '@angular/material/progress-spinner';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Use this directive on a `MatButton` element to provide an alternative view when an async operation is in progress.\r\n *\r\n * For example:\r\n *\r\n * ```\r\n * <button (click)=\"submit();\" [buiAwait]=\"submitSubscription\" buiAwaitAriaLabel=\"submitting\">Submit</button>\r\n * ```\r\n *\r\n * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)\r\n * for more details of integrating circular spinner component with action buttons.\r\n *\r\n * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to\r\n *\r\n * - `true`; or\r\n * - a `number` within 0 - 100; or\r\n * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\r\n *\r\n * When in progress\r\n *\r\n * - the button's caption will be hidden;\r\n * - a `<mat-progress-spinner>` will be displayed in place of the caption;\r\n * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.\r\n */\r\n@Directive({\r\n\tselector: '[buiAwait]',\r\n\tstandalone: false\r\n})\r\nexport class AwaitDirective implements AfterViewInit, DoCheck {\r\n\t/**\r\n\t * Indicates the `in progress` status of an async operation.\r\n\t *\r\n\t * The operation is considered 'in progress' when the property evaluates to\r\n\t *\r\n\t * - `true`; or\r\n\t * - a `number` within 0 - 100; or\r\n\t * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\r\n\t *\r\n\t * When it is a number, it represets the progress in percentage term.\r\n\t */\r\n\t@Input()\r\n\tbuiAwait: null | undefined | boolean | Subscription | number;\r\n\r\n\t/** The ARIA label to be put on the spinner. The default value is `\"In progress\"`. */\r\n\t@Input()\r\n\tbuiAwaitAriaLabel = 'In progress';\r\n\r\n\t/** The diameter of the in-progress spinner. The default value is `20`. */\r\n\t@Input()\r\n\tbuiAwaitDiameter = 20;\r\n\r\n\tprivate _overlayEl: HTMLDivElement | undefined;\r\n\tprivate _processing = false;\r\n\tprivate _spinnerRef: ComponentRef<MatProgressSpinner> | undefined;\r\n\tprivate _captionWrapper: HTMLElement | undefined;\r\n\tprivate button:\r\n\t\t| MatButton\r\n\t\t| MatIconButton\r\n\t\t| MatIconAnchor\r\n\t\t| MatFabButton\r\n\t\t| MatFabAnchor\r\n\t\t| MatMiniFabButton\r\n\t\t| MatMiniFabAnchor\r\n\t\t| undefined;\r\n\r\n\tconstructor(\r\n\t\tprivate readonly _eRef: ElementRef<HTMLElement>,\r\n\t\t@Optional() readonly _button: MatButton,\r\n\t\t@Optional() readonly _iconButton: MatIconButton,\r\n\t\t@Optional() readonly _iconAnchor: MatIconAnchor,\r\n\t\t@Optional() readonly _fab: MatFabButton,\r\n\t\t@Optional() readonly _fabAnchor: MatFabAnchor,\r\n\t\t@Optional() readonly _miniFab: MatMiniFabButton,\r\n\t\t@Optional() readonly _miniFabAnchor: MatMiniFabAnchor,\r\n\t\t@Inject(DOCUMENT) private readonly doc: Document,\r\n\t\tprivate _viewCont: ViewContainerRef\r\n\t) {\r\n\t\tthis.button = _button || _iconButton || _iconAnchor || _fab || _fabAnchor || _miniFab || _miniFabAnchor;\r\n\t\tif (!this.button) {\r\n\t\t\tconsole.error('[buiAwait] can only be used on a Material button.');\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\t/** @ignore */\r\n\tngAfterViewInit(): void {\r\n\t\tif (this.button) {\r\n\t\t\tthis._overlayEl = this.doc.createElement('div');\r\n\t\t\tthis._eRef.nativeElement.appendChild(this._overlayEl);\r\n\t\t\tthis._overlayEl.classList.add('bui-await-overlay');\r\n\t\t\tthis._overlayEl.style.cssText =\r\n\t\t\t\t'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';\r\n\t\t\tthis._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label,.mat-icon') as HTMLElement;\r\n\t\t}\r\n\t}\r\n\r\n\t/** @ignore */\r\n\tngDoCheck(): void {\r\n\t\tconst inProgress =\r\n\t\t\tthis.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait!.closed) || this._isDeterminate;\r\n\t\tif (inProgress !== this._processing) {\r\n\t\t\tthis._processing = inProgress;\r\n\t\t\tthis._statusChanged(this._isDeterminate ? 'determinate' : 'indeterminate');\r\n\t\t}\r\n\t\tif (this._isDeterminate && this._spinnerRef) {\r\n\t\t\tthis._spinnerRef.setInput('value', this.buiAwait);\r\n\t\t}\r\n\t}\r\n\r\n\t/** @ignore */\r\n\tprivate get _isDeterminate(): boolean {\r\n\t\treturn typeof this.buiAwait === 'number' && this.buiAwait >= 0 && this.buiAwait < 100;\r\n\t}\r\n\r\n\tprivate _statusChanged(mode: ProgressSpinnerMode) {\r\n\t\tif (this.button) {\r\n\t\t\tthis.button.disabled = this._processing;\r\n\r\n\t\t\tif (this._processing) {\r\n\t\t\t\tthis._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);\r\n\t\t\t\tconst c = this._spinnerRef.instance;\r\n\t\t\t\tc.diameter = this.buiAwaitDiameter;\r\n\t\t\t\tc.mode = mode;\r\n\t\t\t\tc.color = this.button.color;\r\n\t\t\t\tconst e: HTMLElement = this._spinnerRef.location.nativeElement;\r\n\t\t\t\te.setAttribute('aria-label', this.buiAwaitAriaLabel);\r\n\t\t\t\tthis._overlayEl!.appendChild(e);\r\n\t\t\t\tthis._captionWrapper!.style.visibility = 'hidden';\r\n\t\t\t} else {\r\n\t\t\t\tthis._captionWrapper!.style.visibility = '';\r\n\t\t\t\tthis._spinnerRef!.destroy();\r\n\t\t\t\tthis._spinnerRef = undefined;\r\n\t\t\t\tthis._overlayEl!.innerHTML = '';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","import { ContentObserver } from '@angular/cdk/observers';\r\nimport { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Use `[bui-class.not-empty]` to specify a style class activated only when the host element has DOM children;\r\n *\r\n * use `[bui-class.empty]` for a style class activated when it has no DOM children.\r\n *\r\n * Use `[bui-class.no-text]` to specify a style class activated only when the host element has text content;\r\n *\r\n * use `[bui-class.has-text]` for a style class activated when it has no text content.\r\n */\r\n@Directive({\r\n\tselector: '[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]',\r\n\tstandalone: false\r\n})\r\nexport class ObserveContentClassDirective implements OnDestroy, OnInit {\r\n\tprivate readonly subscription: Subscription;\r\n\tprivate readonly element: HTMLElement;\r\n\tprivate classToRemove: string[] = [];\r\n\r\n\t@Input('bui-class.empty')\r\n\tprivate classEmpty?: string;\r\n\r\n\t@Input('bui-class.not-empty')\r\n\tprivate classNotEmpty?: string;\r\n\r\n\t@Input('bui-class.no-text')\r\n\tprivate classNoText?: string;\r\n\r\n\t@Input('bui-class.has-text')\r\n\tprivate classHasText?: string;\r\n\r\n\tconstructor(observer: ContentObserver, elementRef: ElementRef<HTMLElement>) {\r\n\t\tthis.element = elementRef.nativeElement;\r\n\t\tthis.subscription = observer.observe(elementRef).subscribe(() => this.checkClass());\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.checkClass.bind(this);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tprivate checkClass(): void {\r\n\t\tthis.element.classList.remove(...this.classToRemove);\r\n\t\tthis.classToRemove = [];\r\n\t\tthis.checkClassWith(\r\n\t\t\tthis.classEmpty,\r\n\t\t\tthis.classNotEmpty,\r\n\t\t\t() => this.element.childElementCount === 0 && !this.element.textContent?.trim()\r\n\t\t);\r\n\t\tthis.checkClassWith(this.classNoText, this.classHasText, () => !this.element.textContent?.trim());\r\n\t}\r\n\r\n\tprivate checkClassWith(\r\n\t\twithoutClass: string | null | undefined,\r\n\t\twithClass: string | null | undefined,\r\n\t\tisWithout: () => boolean\r\n\t): void {\r\n\t\tconst without = isWithout();\r\n\t\tthis.addClass(without ? withoutClass : (withClass as any));\r\n\t}\r\n\r\n\tprivate addClass(cls: string | null) {\r\n\t\tif (cls?.trim()) {\r\n\t\t\tconst classes = cls.trim().split(/\\s+/);\r\n\t\t\tthis.element.classList.add(...classes);\r\n\t\t\tthis.classToRemove.push(...classes);\r\n\t\t}\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SizingDirective } from './sizing.directive';\r\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\r\nimport { AwaitDirective } from './await.directive';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { ObserveContentClassDirective } from './observe-content-class.directive';\r\nimport { ObserversModule } from '@angular/cdk/observers';\r\n\r\n/**\r\n * For functionality that cannot be easily achieved via CSS.\r\n */\r\n@NgModule({\r\n\tdeclarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective],\r\n\timports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule],\r\n\texports: [\r\n\t\tSizingDirective,\r\n\t\tSizingMonitorDirective,\r\n\t\tAwaitDirective,\r\n\t\tMatProgressSpinnerModule,\r\n\t\tObserveContentClassDirective\r\n\t]\r\n})\r\nexport class BehaviorModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SizingMonitorDirective","i1"],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-behavior.mjs","sources":["../../../projects/ui/behavior/sizing-monitor.directive.ts","../../../projects/ui/behavior/sizing.directive.ts","../../../projects/ui/behavior/await.directive.ts","../../../projects/ui/behavior/observe-content-class.directive.ts","../../../projects/ui/behavior/behavior.module.ts","../../../projects/ui/behavior/bravura-ui-behavior.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\r\n\r\n/**\r\n * Use this directive to designate a target HTML element, based on which the child elements'\r\n * `[buiSizing]` directives will calculate the sizes.\r\n *\r\n * ```html\r\n * <div [buiSizingMonitor]>\r\n * <div [buiSizing]=\"...\">\r\n * </div>\r\n * <div>\r\n * <div [buiSizing]=\"...\">\r\n * </div>\r\n * </div>\r\n * <div>\r\n * ```\r\n */\r\n@Directive({\r\n\tselector: '[buiSizingMonitor]',\r\n\tstandalone: false\r\n})\r\nexport class SizingMonitorDirective {\r\n\tconstructor(public readonly element: ElementRef<HTMLElement>) {}\r\n}\r\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport {\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tOptional,\n\tOutput,\n\tSimpleChanges,\n\tDOCUMENT\n} from '@angular/core';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\n\n/**\n * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style\n * classes and/or inline styles to the current element dynamically.\n *\n * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property\n * `box-sizing` of the `sizingBy` target element must be set to `border-box`.\n *\n * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)\n * to capture the events of element resizing. Please use a polyfill if you want to support older browsers\n * that do not implement ResizeObserver API.\n *\n * Examples:\n *\n * ```html\n * <div #parentElement>\n * <div [buiSizing]=\"{'400': 'small', '800': 'medium', '~': 'large'}\" [buiSizingBy]=\"parentElement\"></div>\n * <div [buiSizing]=\"['small', 'medium', 'large']\" [buiSizingBy]=\"'root'\"></div>\n * <div [buiSizing]=\"{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}\" [buiSizingBy]=\"parentElement\"></div>\n * </div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]',\n\tstandalone: false\n})\nexport class SizingDirective implements OnChanges, OnDestroy {\n\t/**\n\t * @ignore\n\t */\n\tstatic defaultSizingBreakpoints = ['400', '800', '~'];\n\n\t/**\n\t * Specifies the breakpoint widths and the style classes.\n\t *\n\t * The sizing spec `{\"400\": \"small\", \"800\": \"medium\", \"~\": \"large\"}` tells the directive to apply\n\t * a style class `small` when the width of the monitored target is smaller than 400 pixels,\n\t * `medium` when the width is between 400 and 800 pixels, and `large` when above.\n\t *\n\t * @example {'400': 'small', '800': 'medium', '~': 'large'}\n\t */\n\t@Input()\n\tbuiSizing: string | Array<string> | { [key: string]: string } = {};\n\n\t/**\n\t * The alias of `buiSizingBy`.\n\t * @default 'root'\n\t * @deprecated\n\t * @ignore\n\t */\n\t@Input()\n\tsizingBy: 'root' | 'parent' | HTMLElement = 'root';\n\n\t/**\n\t * Designate an element to be monitored for recalculating the style classes of the current element.\n\t *\n\t * - `root` specifies the document root or the enclosing shadow host. This is the default value.\n\t * - `parent` specifies the parent element.\n\t *\n\t * @default 'root'\n\t * @alias sizingBy\n\t */\n\t@Input()\n\tget buiSizingBy(): 'root' | 'parent' | HTMLElement {\n\t\treturn this.sizingBy;\n\t}\n\tset buiSizingBy(target: 'root' | 'parent' | HTMLElement) {\n\t\tthis.sizingBy = target;\n\t}\n\n\t/**\n\t * Emits `{width, height}` when the monitor target element resizes.\n\t *\n\t * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.\n\t */\n\t@Output()\n\tbuiResized = new EventEmitter<{ width: number; height: number }>();\n\n\t/**\n\t * Recalculate the height of this element according to the height of the monitored target.\n\t */\n\t@Input()\n\tbuiFixedHeight = false;\n\n\tprivate _monitorTarget: HTMLElement;\n\tprivate _observer: ResizeObserver | undefined;\n\tprivate _sizingSpec: { [key: string]: string } = {};\n\tprivate _width = 0;\n\tprivate _height = 0;\n\tprivate _reflowFrameCount = 0;\n\tprivate _element: HTMLElement;\n\tprivate _frameHandlerId = 0;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private _doc: Document,\n\t\t@Optional() private _defaultTarget: SizingMonitorDirective,\n\t\telemRef: ElementRef<HTMLElement>,\n\t\tprivate _zone: NgZone\n\t) {\n\t\tthis._element = elemRef.nativeElement;\n\t\tthis._monitorTarget = this._element;\n\t}\n\n\tngOnChanges(_: SimpleChanges): void {\n\t\tconst disconnected = this._element.getRootNode() instanceof HTMLElement;\n\t\tif (disconnected) {\n\t\t\t// defer shadow detection till dom connection event\n\t\t\tthis._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());\n\t\t} else {\n\t\t\tthis._initOrReset();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._tearDownNodeMonitor();\n\t}\n\n\tprivate _initOrReset() {\n\t\tconst originalTarget = this._monitorTarget;\n\t\tif (this.buiSizingBy instanceof HTMLElement) {\n\t\t\tthis._monitorTarget = this.buiSizingBy;\n\t\t} else if (this._defaultTarget) {\n\t\t\tthis._monitorTarget = this._defaultTarget.element.nativeElement;\n\t\t} else if (this.buiSizingBy === 'root') {\n\t\t\tconst root = this._element.getRootNode();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tthis._monitorTarget = root.host as HTMLElement;\n\t\t\t} else {\n\t\t\t\tthis._monitorTarget = this._doc.documentElement;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._monitorTarget = this._element.parentElement as any;\n\t\t}\n\n\t\tif (this._monitorTarget != originalTarget) {\n\t\t\tthis._setUpNodeMonitor();\n\t\t}\n\n\t\tthis._sizingSpec = {};\n\t\tlet spec = this.buiSizing;\n\t\tif (typeof spec === 'string') {\n\t\t\tspec = spec.split(',').map(k => k.trim());\n\t\t}\n\n\t\tif (Array.isArray(spec)) {\n\t\t\tspec.forEach((c, i) => {\n\t\t\t\tthis._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;\n\t\t\t});\n\t\t} else if (spec) {\n\t\t\tthis._sizingSpec = spec;\n\t\t}\n\n\t\tthis.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);\n\n\t\tthis._calculateSize();\n\t}\n\n\tprivate _setUpNodeMonitor() {\n\t\tthis._tearDownNodeMonitor();\n\t\tif (this._monitorTarget) {\n\t\t\tthis._observer = new ResizeObserver(() => this._runWithObserver(this._calculateSize.bind(this)));\n\n\t\t\tthis._observer.observe(this._monitorTarget, { box: 'border-box' });\n\t\t}\n\t}\n\n\tprivate _tearDownNodeMonitor() {\n\t\tcancelAnimationFrame(this._frameHandlerId);\n\t\tthis._runWithObserver(() => {\n\t\t\tthis._observer!.disconnect();\n\t\t\tthis._observer = undefined;\n\t\t});\n\t}\n\n\tprivate _runWithObserver<T>(func: () => T): T | undefined {\n\t\tif (this._observer) {\n\t\t\treturn func();\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate _calculateSize() {\n\t\tconst widthChanged = this._width !== this._monitorTarget.clientWidth;\n\t\tconst heightChanged = this._height !== this._monitorTarget.clientHeight;\n\t\tif (widthChanged) {\n\t\t\tthis._width = this._monitorTarget.clientWidth;\n\n\t\t\tconst bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));\n\t\t\tlet found = false;\n\t\t\tfor (const key of bks) {\n\t\t\t\tconst classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);\n\t\t\t\tthis._removeClassesOrStyles(classesOrStyles);\n\t\t\t\tconst expectedWidth = this._toNumber(key);\n\t\t\t\tif (this._width <= expectedWidth && !found) {\n\t\t\t\t\tthis._applyClassesOrStyles(classesOrStyles);\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (widthChanged || heightChanged) {\n\t\t\tthis._height = this._monitorTarget.clientHeight;\n\t\t\tif (this.buiFixedHeight) {\n\t\t\t\tthis._reflowFrameCount = 0;\n\t\t\t\tthis._reflowHeight();\n\t\t\t}\n\t\t\tsetTimeout(() => this._zone.run(() => this.buiResized.emit({ width: this._width, height: this._height })));\n\t\t}\n\t}\n\n\tprivate _applyClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop, val] = s.split(':');\n\t\t\t\tthis._element.style.setProperty(prop.trim(), val.trim());\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.add(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _removeClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop] = s.split(':');\n\t\t\t\tthis._element.style.removeProperty(prop);\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.remove(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _reflowHeight() {\n\t\tconst cnt = this._reflowFrameCount;\n\t\tif (cnt < 15) {\n\t\t\tcancelAnimationFrame(this._frameHandlerId);\n\t\t\tthis._frameHandlerId = requestAnimationFrame(this._reflowHeight.bind(this));\n\n\t\t\tif (cnt === 0) {\n\t\t\t\tthis._element.style.height = '0';\n\t\t\t} else if (cnt === 14) {\n\t\t\t\tconst gt = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tconst gb = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tthis._element.style.height = `${this._height - gt - gb - 5}px`;\n\t\t\t}\n\t\t}\n\t\tthis._reflowFrameCount++;\n\t}\n\n\tprivate _toNumber(s: string) {\n\t\treturn (s === '~' ? Infinity : Number(s)) || -Infinity;\n\t}\n}\n","import {\n\tAfterViewInit,\n\tComponentRef,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tInject,\n\tInput,\n\tOptional,\n\tViewContainerRef,\n\tDOCUMENT\n} from '@angular/core';\nimport {\n\tMatButton,\n\tMatFabAnchor,\n\tMatFabButton,\n\tMatIconAnchor,\n\tMatIconButton,\n\tMatMiniFabAnchor,\n\tMatMiniFabButton\n} from '@angular/material/button';\nimport { MatProgressSpinner, ProgressSpinnerMode } from '@angular/material/progress-spinner';\nimport { Subscription } from 'rxjs';\n\n/**\n * Use this directive on a `MatButton` element to provide an alternative view when an async operation is in progress.\n *\n * For example:\n *\n * ```\n * <button (click)=\"submit();\" [buiAwait]=\"submitSubscription\" buiAwaitAriaLabel=\"submitting\">Submit</button>\n * ```\n *\n * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)\n * for more details of integrating circular spinner component with action buttons.\n *\n * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to\n *\n * - `true`; or\n * - a `number` within 0 - 100; or\n * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n *\n * When in progress\n *\n * - the button's caption will be hidden;\n * - a `<mat-progress-spinner>` will be displayed in place of the caption;\n * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.\n */\n@Directive({\n\tselector: '[buiAwait]',\n\tstandalone: false\n})\nexport class AwaitDirective implements AfterViewInit, DoCheck {\n\t/**\n\t * Indicates the `in progress` status of an async operation.\n\t *\n\t * The operation is considered 'in progress' when the property evaluates to\n\t *\n\t * - `true`; or\n\t * - a `number` within 0 - 100; or\n\t * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n\t *\n\t * When it is a number, it represets the progress in percentage term.\n\t */\n\t@Input()\n\tbuiAwait: null | undefined | boolean | Subscription | number;\n\n\t/** The ARIA label to be put on the spinner. The default value is `\"In progress\"`. */\n\t@Input()\n\tbuiAwaitAriaLabel = 'In progress';\n\n\t/** The diameter of the in-progress spinner. The default value is `20`. */\n\t@Input()\n\tbuiAwaitDiameter = 20;\n\n\tprivate _overlayEl: HTMLDivElement | undefined;\n\tprivate _processing = false;\n\tprivate _spinnerRef: ComponentRef<MatProgressSpinner> | undefined;\n\tprivate _captionWrapper: HTMLElement | undefined;\n\tprivate button:\n\t\t| MatButton\n\t\t| MatIconButton\n\t\t| MatIconAnchor\n\t\t| MatFabButton\n\t\t| MatFabAnchor\n\t\t| MatMiniFabButton\n\t\t| MatMiniFabAnchor\n\t\t| undefined;\n\n\tconstructor(\n\t\tprivate readonly _eRef: ElementRef<HTMLElement>,\n\t\t@Optional() readonly _button: MatButton,\n\t\t@Optional() readonly _iconButton: MatIconButton,\n\t\t@Optional() readonly _iconAnchor: MatIconAnchor,\n\t\t@Optional() readonly _fab: MatFabButton,\n\t\t@Optional() readonly _fabAnchor: MatFabAnchor,\n\t\t@Optional() readonly _miniFab: MatMiniFabButton,\n\t\t@Optional() readonly _miniFabAnchor: MatMiniFabAnchor,\n\t\t@Inject(DOCUMENT) private readonly doc: Document,\n\t\tprivate _viewCont: ViewContainerRef\n\t) {\n\t\tthis.button = _button || _iconButton || _iconAnchor || _fab || _fabAnchor || _miniFab || _miniFabAnchor;\n\t\tif (!this.button) {\n\t\t\tconsole.error('[buiAwait] can only be used on a Material button.');\n\t\t\treturn;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngAfterViewInit(): void {\n\t\tif (this.button) {\n\t\t\tthis._overlayEl = this.doc.createElement('div');\n\t\t\tthis._eRef.nativeElement.appendChild(this._overlayEl);\n\t\t\tthis._overlayEl.classList.add('bui-await-overlay');\n\t\t\tthis._overlayEl.style.cssText =\n\t\t\t\t'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';\n\t\t\tthis._captionWrapper = this._eRef.nativeElement.querySelector('.mdc-button__label,.mat-icon') as HTMLElement;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngDoCheck(): void {\n\t\tconst inProgress =\n\t\t\tthis.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait!.closed) || this._isDeterminate;\n\t\tif (inProgress !== this._processing) {\n\t\t\tthis._processing = inProgress;\n\t\t\tthis._statusChanged(this._isDeterminate ? 'determinate' : 'indeterminate');\n\t\t}\n\t\tif (this._isDeterminate && this._spinnerRef) {\n\t\t\tthis._spinnerRef.setInput('value', this.buiAwait);\n\t\t}\n\t}\n\n\t/** @ignore */\n\tprivate get _isDeterminate(): boolean {\n\t\treturn typeof this.buiAwait === 'number' && this.buiAwait >= 0 && this.buiAwait < 100;\n\t}\n\n\tprivate _statusChanged(mode: ProgressSpinnerMode) {\n\t\tif (this.button) {\n\t\t\tthis.button.disabled = this._processing;\n\n\t\t\tif (this._processing) {\n\t\t\t\tthis._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);\n\t\t\t\tconst c = this._spinnerRef.instance;\n\t\t\t\tc.diameter = this.buiAwaitDiameter;\n\t\t\t\tc.mode = mode;\n\t\t\t\tc.color = this.button.color;\n\t\t\t\tconst e: HTMLElement = this._spinnerRef.location.nativeElement;\n\t\t\t\te.setAttribute('aria-label', this.buiAwaitAriaLabel);\n\t\t\t\tthis._overlayEl!.appendChild(e);\n\t\t\t\tthis._captionWrapper!.style.visibility = 'hidden';\n\t\t\t} else {\n\t\t\t\tthis._captionWrapper!.style.visibility = '';\n\t\t\t\tthis._spinnerRef!.destroy();\n\t\t\t\tthis._spinnerRef = undefined;\n\t\t\t\tthis._overlayEl!.innerHTML = '';\n\t\t\t}\n\t\t}\n\t}\n}\n","import { ContentObserver } from '@angular/cdk/observers';\r\nimport { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Use `[bui-class.not-empty]` to specify a style class activated only when the host element has DOM children;\r\n *\r\n * use `[bui-class.empty]` for a style class activated when it has no DOM children.\r\n *\r\n * Use `[bui-class.no-text]` to specify a style class activated only when the host element has text content;\r\n *\r\n * use `[bui-class.has-text]` for a style class activated when it has no text content.\r\n */\r\n@Directive({\r\n\tselector: '[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]',\r\n\tstandalone: false\r\n})\r\nexport class ObserveContentClassDirective implements OnDestroy, OnInit {\r\n\tprivate readonly subscription: Subscription;\r\n\tprivate readonly element: HTMLElement;\r\n\tprivate classToRemove: string[] = [];\r\n\r\n\t@Input('bui-class.empty')\r\n\tprivate classEmpty?: string;\r\n\r\n\t@Input('bui-class.not-empty')\r\n\tprivate classNotEmpty?: string;\r\n\r\n\t@Input('bui-class.no-text')\r\n\tprivate classNoText?: string;\r\n\r\n\t@Input('bui-class.has-text')\r\n\tprivate classHasText?: string;\r\n\r\n\tconstructor(observer: ContentObserver, elementRef: ElementRef<HTMLElement>) {\r\n\t\tthis.element = elementRef.nativeElement;\r\n\t\tthis.subscription = observer.observe(elementRef).subscribe(() => this.checkClass());\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.checkClass.bind(this);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tprivate checkClass(): void {\r\n\t\tthis.element.classList.remove(...this.classToRemove);\r\n\t\tthis.classToRemove = [];\r\n\t\tthis.checkClassWith(\r\n\t\t\tthis.classEmpty,\r\n\t\t\tthis.classNotEmpty,\r\n\t\t\t() => this.element.childElementCount === 0 && !this.element.textContent?.trim()\r\n\t\t);\r\n\t\tthis.checkClassWith(this.classNoText, this.classHasText, () => !this.element.textContent?.trim());\r\n\t}\r\n\r\n\tprivate checkClassWith(\r\n\t\twithoutClass: string | null | undefined,\r\n\t\twithClass: string | null | undefined,\r\n\t\tisWithout: () => boolean\r\n\t): void {\r\n\t\tconst without = isWithout();\r\n\t\tthis.addClass(without ? withoutClass : (withClass as any));\r\n\t}\r\n\r\n\tprivate addClass(cls: string | null) {\r\n\t\tif (cls?.trim()) {\r\n\t\t\tconst classes = cls.trim().split(/\\s+/);\r\n\t\t\tthis.element.classList.add(...classes);\r\n\t\t\tthis.classToRemove.push(...classes);\r\n\t\t}\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SizingDirective } from './sizing.directive';\r\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\r\nimport { AwaitDirective } from './await.directive';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { ObserveContentClassDirective } from './observe-content-class.directive';\r\nimport { ObserversModule } from '@angular/cdk/observers';\r\n\r\n/**\r\n * For functionality that cannot be easily achieved via CSS.\r\n */\r\n@NgModule({\r\n\tdeclarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective],\r\n\timports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule],\r\n\texports: [\r\n\t\tSizingDirective,\r\n\t\tSizingMonitorDirective,\r\n\t\tAwaitDirective,\r\n\t\tMatProgressSpinnerModule,\r\n\t\tObserveContentClassDirective\r\n\t]\r\n})\r\nexport class BehaviorModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SizingMonitorDirective","i1"],"mappings":";;;;;;;;;;;AAEA;;;;;;;;;;;;;;AAcG;MAKU,sBAAsB,CAAA;AAClC,IAAA,WAAA,CAA4B,OAAgC,EAAA;QAAhC,IAAO,CAAA,OAAA,GAAP,OAAO;;+GADvB,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE;AACZ,iBAAA;;;ACDD;;;;;;;;;;;;;;;;;;;;AAoBG;MAKU,eAAe,CAAA;AAC3B;;AAEG;aACI,IAAwB,CAAA,wBAAA,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAArB,CAAuB;AAuBtD;;;;;;;;AAQG;AACH,IAAA,IACI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ;;IAErB,IAAI,WAAW,CAAC,MAAuC,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM;;AA0BvB,IAAA,WAAA,CAC2B,IAAc,EACpB,cAAsC,EAC1D,OAAgC,EACxB,KAAa,EAAA;QAHK,IAAI,CAAA,IAAA,GAAJ,IAAI;QACV,IAAc,CAAA,cAAA,GAAd,cAAc;QAE1B,IAAK,CAAA,KAAA,GAAL,KAAK;AAjEd;;;;;;;;AAQG;QAEH,IAAS,CAAA,SAAA,GAAuD,EAAE;AAElE;;;;;AAKG;QAEH,IAAQ,CAAA,QAAA,GAAoC,MAAM;AAmBlD;;;;AAIG;AAEH,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAqC;AAElE;;AAEG;QAEH,IAAc,CAAA,cAAA,GAAG,KAAK;QAId,IAAW,CAAA,WAAA,GAA8B,EAAE;QAC3C,IAAM,CAAA,MAAA,GAAG,CAAC;QACV,IAAO,CAAA,OAAA,GAAG,CAAC;QACX,IAAiB,CAAA,iBAAA,GAAG,CAAC;QAErB,IAAe,CAAA,eAAA,GAAG,CAAC;AAQ1B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,aAAa;AACrC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;;AAGpC,IAAA,WAAW,CAAC,CAAgB,EAAA;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,WAAW;QACvE,IAAI,YAAY,EAAE;;AAEjB,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;;aAClF;YACN,IAAI,CAAC,YAAY,EAAE;;;IAIrB,WAAW,GAAA;QACV,IAAI,CAAC,oBAAoB,EAAE;;IAGpB,YAAY,GAAA;AACnB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc;AAC1C,QAAA,IAAI,IAAI,CAAC,WAAW,YAAY,WAAW,EAAE;AAC5C,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW;;AAChC,aAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa;;AACzD,aAAA,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AACxC,YAAA,IAAI,IAAI,YAAY,UAAU,EAAE;AAC/B,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAmB;;iBACxC;gBACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe;;;aAE1C;YACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAoB;;AAGzD,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,cAAc,EAAE;YAC1C,IAAI,CAAC,iBAAiB,EAAE;;AAGzB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS;AACzB,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;;AAG1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACrB,gBAAA,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;AACzE,aAAC,CAAC;;aACI,IAAI,IAAI,EAAE;AAChB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;;QAGxB,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC;QAEhE,IAAI,CAAC,cAAc,EAAE;;IAGd,iBAAiB,GAAA;QACxB,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAEhG,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;;;IAI5D,oBAAoB,GAAA;AAC3B,QAAA,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC;AAC1C,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,SAAU,CAAC,UAAU,EAAE;AAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAC3B,SAAC,CAAC;;AAGK,IAAA,gBAAgB,CAAI,IAAa,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO,IAAI,EAAE;;AAEd,QAAA,OAAO,SAAS;;IAGT,cAAc,GAAA;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW;QACpE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY;QACvE,IAAI,YAAY,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW;AAE7C,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/F,IAAI,KAAK,GAAG,KAAK;AACjB,YAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;gBACtB,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACxE,gBAAA,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;gBAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACzC,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,KAAK,EAAE;AAC3C,oBAAA,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;oBAC3C,KAAK,GAAG,IAAI;;;;AAKf,QAAA,IAAI,YAAY,IAAI,aAAa,EAAE;YAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY;AAC/C,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACxB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC;gBAC1B,IAAI,CAAC,aAAa,EAAE;;AAErB,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;;;AAIpG,IAAA,qBAAqB,CAAC,WAAqB,EAAA;AAClD,QAAA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAG;AACvB,YAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACpB,gBAAA,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAChC,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;;iBAClD;AACN,gBAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,gBAAA,IAAI,OAAO,CAAC,MAAM,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;;;AAG1C,SAAC,CAAC;;AAGK,IAAA,sBAAsB,CAAC,WAAqB,EAAA;AACnD,QAAA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAG;AACvB,YAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;;iBAClC;AACN,gBAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,gBAAA,IAAI,OAAO,CAAC,MAAM,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;;;AAG7C,SAAC,CAAC;;IAGK,aAAa,GAAA;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB;AAClC,QAAA,IAAI,GAAG,GAAG,EAAE,EAAE;AACb,YAAA,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC;AAC1C,YAAA,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE3E,YAAA,IAAI,GAAG,KAAK,CAAC,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;;AAC1B,iBAAA,IAAI,GAAG,KAAK,EAAE,EAAE;gBACtB,MAAM,EAAE,GAAG,QAAQ,CAClB,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,EAC/F,EAAE,CACF;gBACD,MAAM,EAAE,GAAG,QAAQ,CAClB,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,EAClG,EAAE,CACF;AACD,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAG,EAAA,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI;;;QAGhE,IAAI,CAAC,iBAAiB,EAAE;;AAGjB,IAAA,SAAS,CAAC,CAAS,EAAA;AAC1B,QAAA,OAAO,CAAC,CAAC,KAAK,GAAG,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;;AA5O3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAoElB,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGApEL,eAAe,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,yDAAyD;AACnE,oBAAA,UAAU,EAAE;AACZ,iBAAA;;0BAqEE,MAAM;2BAAC,QAAQ;;0BACf;;sBAtDD;;sBASA;;sBAYA;;sBAaA;;sBAMA;;;AC3EF;;;;;;;;;;;;;;;;;;;;;;;AAuBG;MAKU,cAAc,CAAA;AAqC1B,IAAA,WAAA,CACkB,KAA8B,EAC1B,OAAkB,EAClB,WAA0B,EAC1B,WAA0B,EAC1B,IAAkB,EAClB,UAAwB,EACxB,QAA0B,EAC1B,cAAgC,EAClB,GAAa,EACxC,SAA2B,EAAA;QATlB,IAAK,CAAA,KAAA,GAAL,KAAK;QACD,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAI,CAAA,IAAA,GAAJ,IAAI;QACJ,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAc,CAAA,cAAA,GAAd,cAAc;QACA,IAAG,CAAA,GAAA,GAAH,GAAG;QAC9B,IAAS,CAAA,SAAA,GAAT,SAAS;;QA9BlB,IAAiB,CAAA,iBAAA,GAAG,aAAa;;QAIjC,IAAgB,CAAA,gBAAA,GAAG,EAAE;QAGb,IAAW,CAAA,WAAA,GAAG,KAAK;AAyB1B,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,IAAI,WAAW,IAAI,WAAW,IAAI,IAAI,IAAI,UAAU,IAAI,QAAQ,IAAI,cAAc;AACvG,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACjB,YAAA,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC;YAClE;;;;IAKF,eAAe,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAClD,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;AAC5B,gBAAA,iHAAiH;AAClH,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,8BAA8B,CAAgB;;;;IAK9G,SAAS,GAAA;QACR,MAAM,UAAU,GACf,IAAI,CAAC,QAAQ,KAAK,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc;AAC/G,QAAA,IAAI,UAAU,KAAK,IAAI,CAAC,WAAW,EAAE;AACpC,YAAA,IAAI,CAAC,WAAW,GAAG,UAAU;AAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,GAAG,aAAa,GAAG,eAAe,CAAC;;QAE3E,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE;YAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;;;;AAKnD,IAAA,IAAY,cAAc,GAAA;AACzB,QAAA,OAAO,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG;;AAG9E,IAAA,cAAc,CAAC,IAAyB,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW;AAEvC,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC;AACrE,gBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;AACnC,gBAAA,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB;AAClC,gBAAA,CAAC,CAAC,IAAI,GAAG,IAAI;gBACb,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK;gBAC3B,MAAM,CAAC,GAAgB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa;gBAC9D,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpD,gBAAA,IAAI,CAAC,UAAW,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ;;iBAC3C;gBACN,IAAI,CAAC,eAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE;AAC3C,gBAAA,IAAI,CAAC,WAAY,CAAC,OAAO,EAAE;AAC3B,gBAAA,IAAI,CAAC,WAAW,GAAG,SAAS;AAC5B,gBAAA,IAAI,CAAC,UAAW,CAAC,SAAS,GAAG,EAAE;;;;AAxGtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,uWA8CjB,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGA9CL,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE;AACZ,iBAAA;;0BAwCE;;0BACA;;0BACA;;0BACA;;0BACA;;0BACA;;0BACA;;0BACA,MAAM;2BAAC,QAAQ;;sBAlChB;;sBAIA;;sBAIA;;;ACpEF;;;;;;;;AAQG;MAKU,4BAA4B,CAAA;IAiBxC,WAAY,CAAA,QAAyB,EAAE,UAAmC,EAAA;QAdlE,IAAa,CAAA,aAAA,GAAa,EAAE;AAenC,QAAA,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,aAAa;QACvC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;;IAGpF,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;IAG3B,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;;IAGxB,UAAU,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AACpD,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;AACvB,QAAA,IAAI,CAAC,cAAc,CAClB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,EAClB,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAC/E;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;;AAG1F,IAAA,cAAc,CACrB,YAAuC,EACvC,SAAoC,EACpC,SAAwB,EAAA;AAExB,QAAA,MAAM,OAAO,GAAG,SAAS,EAAE;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,GAAI,SAAiB,CAAC;;AAGnD,IAAA,QAAQ,CAAC,GAAkB,EAAA;AAClC,QAAA,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE;YAChB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;;;+GAtDzB,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA5B,4BAA4B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kFAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,aAAA,EAAA,CAAA,qBAAA,EAAA,eAAA,CAAA,EAAA,WAAA,EAAA,CAAA,mBAAA,EAAA,aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,oBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kFAAkF;AAC5F,oBAAA,UAAU,EAAE;AACZ,iBAAA;;sBAMC,KAAK;uBAAC,iBAAiB;;sBAGvB,KAAK;uBAAC,qBAAqB;;sBAG3B,KAAK;uBAAC,mBAAmB;;sBAGzB,KAAK;uBAAC,oBAAoB;;;ACrB5B;;AAEG;MAYU,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAVX,eAAe,EAAE,sBAAsB,EAAE,cAAc,EAAE,4BAA4B,CAC1F,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,eAAe,aAEjF,eAAe;YACf,sBAAsB;YACtB,cAAc;YACd,wBAAwB;YACxB,4BAA4B,CAAA,EAAA,CAAA,CAAA;gHAGjB,cAAc,EAAA,OAAA,EAAA,CAThB,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,eAAe,EAKjF,wBAAwB,CAAA,EAAA,CAAA,CAAA;;4FAIb,cAAc,EAAA,UAAA,EAAA,CAAA;kBAX1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,YAAY,EAAE,CAAC,eAAe,EAAE,sBAAsB,EAAE,cAAc,EAAE,4BAA4B,CAAC;oBACrG,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,eAAe,CAAC;AACnF,oBAAA,OAAO,EAAE;wBACR,eAAe;wBACf,sBAAsB;wBACtB,cAAc;wBACd,wBAAwB;wBACxB;AACA;AACD,iBAAA;;;ACvBD;;AAEG;;;;"}
@@ -145,8 +145,8 @@ class ClipNoteComponent {
145
145
  this._icon = icon;
146
146
  this._cd.markForCheck();
147
147
  }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ClipNoteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Directionality }, { token: i0.ElementRef, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: ClipNoteComponent, isStandalone: false, selector: "bui-clip-note", host: { classAttribute: "bui-clip-note bui-host" }, viewQueries: [{ propertyName: "_viewDiv", first: true, predicate: ["viewDiv"], descendants: true, read: ElementRef, static: true }, { propertyName: "_noteViewRef", first: true, predicate: ["noteViewRef"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_fallbackTemplate", first: true, predicate: ["fallbackTemplate"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"bui-clip-note-wrapper\">\r\n\t<div\r\n\t\tclass=\"bui-clip-note-content bui-border-{{ _color }} mat-elevation-z3\"\r\n\t\t[@panelAnimation]=\"panelState\"\r\n\t\t#viewDiv\r\n\t\t(cdkObserveContent)=\"_checkContent()\"\r\n\t>\r\n\t\t<ng-container #noteViewRef></ng-container>\r\n\t</div>\r\n\r\n\t<button\r\n\t\tmat-raised-button\r\n\t\tclass=\"bui-clip-note-trigger bui-clip-note-trigger-{{ buttonIconState }}\"\r\n\t\t[color]=\"_color\"\r\n\t\t[@buttonAnimation]=\"buttonState\"\r\n\t\t(mouseenter)=\"_mouseOverButton(true)\"\r\n\t\t(mouseleave)=\"_mouseOverButton(false)\"\r\n\t\t(click)=\"_scheduleToggle()\"\r\n\t>\r\n\t\t<mat-icon\r\n\t\t\t[@buttonIconAnimation]=\"_icon ? 'disabled' : buttonIconState\"\r\n\t\t\t(@buttonIconAnimation.start)=\"_buttonAnimating = true\"\r\n\t\t\t(@buttonIconAnimation.done)=\"_buttonAnimating = false; _checkToggle()\"\r\n\t\t\t[buiIcon]=\"_icon || (direction === 'rtl' ? 'chevron_right' : 'chevron_left')\"\r\n\t\t\tstyle=\"margin: 0\"\r\n\t\t>\r\n\t\t</mat-icon>\r\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ buttonText }}</span>\r\n\t</button>\r\n</div>\r\n\r\n<ng-template #fallbackTemplate>\r\n\t<div [innerHTML]=\"_content\"></div>\r\n</ng-template>\r\n", styles: [":host{position:absolute;top:2rem;box-sizing:border-box;z-index:var(--bui-clip-note-z-index, 100)}:host(.bui-clip-note-hidden){display:none}:host-context(:not([dir=rtl])){right:0}:host-context(:not([dir=rtl])) .bui-clip-note-trigger{right:-18px}:host-context([dir=rtl]){left:0;right:unset}:host-context([dir=rtl]) .bui-clip-note-trigger{left:-18px;right:unset}.bui-clip-note-trigger{border-radius:18px;overflow:hidden;position:absolute;top:-1rem}.bui-clip-note-button-text{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:middle}.bui-clip-note-wrapper{position:relative}.bui-clip-note-content{max-width:320px;min-width:150px;background-color:var(--bui-bg-body);border-radius:6px;border-width:1px;border-style:solid;padding:1rem;overflow-y:hidden}@keyframes rubber-band{0%{transform:scaleZ(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:scaleZ(1)}}:host(.bui-clip-note-reveal) .bui-clip-note-trigger{animation:rubber-band .8s ease}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: i5.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }], animations: [
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ClipNoteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Directionality }, { token: i0.ElementRef, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ClipNoteComponent, isStandalone: false, selector: "bui-clip-note", host: { classAttribute: "bui-clip-note bui-host" }, viewQueries: [{ propertyName: "_viewDiv", first: true, predicate: ["viewDiv"], descendants: true, read: ElementRef, static: true }, { propertyName: "_noteViewRef", first: true, predicate: ["noteViewRef"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_fallbackTemplate", first: true, predicate: ["fallbackTemplate"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"bui-clip-note-wrapper\">\r\n\t<div\r\n\t\tclass=\"bui-clip-note-content bui-border-{{ _color }} mat-elevation-z3\"\r\n\t\t[@panelAnimation]=\"panelState\"\r\n\t\t#viewDiv\r\n\t\t(cdkObserveContent)=\"_checkContent()\"\r\n\t>\r\n\t\t<ng-container #noteViewRef></ng-container>\r\n\t</div>\r\n\r\n\t<button\r\n\t\tmat-raised-button\r\n\t\tclass=\"bui-clip-note-trigger bui-clip-note-trigger-{{ buttonIconState }}\"\r\n\t\t[color]=\"_color\"\r\n\t\t[@buttonAnimation]=\"buttonState\"\r\n\t\t(mouseenter)=\"_mouseOverButton(true)\"\r\n\t\t(mouseleave)=\"_mouseOverButton(false)\"\r\n\t\t(click)=\"_scheduleToggle()\"\r\n\t>\r\n\t\t<mat-icon\r\n\t\t\t[@buttonIconAnimation]=\"_icon ? 'disabled' : buttonIconState\"\r\n\t\t\t(@buttonIconAnimation.start)=\"_buttonAnimating = true\"\r\n\t\t\t(@buttonIconAnimation.done)=\"_buttonAnimating = false; _checkToggle()\"\r\n\t\t\t[buiIcon]=\"_icon || (direction === 'rtl' ? 'chevron_right' : 'chevron_left')\"\r\n\t\t\tstyle=\"margin: 0\"\r\n\t\t>\r\n\t\t</mat-icon>\r\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ buttonText }}</span>\r\n\t</button>\r\n</div>\r\n\r\n<ng-template #fallbackTemplate>\r\n\t<div [innerHTML]=\"_content\"></div>\r\n</ng-template>\r\n", styles: [":host{position:absolute;top:2rem;box-sizing:border-box;z-index:var(--bui-clip-note-z-index, 100)}:host(.bui-clip-note-hidden){display:none}:host-context(:not([dir=rtl])){right:0}:host-context(:not([dir=rtl])) .bui-clip-note-trigger{right:-18px}:host-context([dir=rtl]){left:0;right:unset}:host-context([dir=rtl]) .bui-clip-note-trigger{left:-18px;right:unset}.bui-clip-note-trigger{border-radius:18px;overflow:hidden;position:absolute;top:-1rem}.bui-clip-note-button-text{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:middle}.bui-clip-note-wrapper{position:relative}.bui-clip-note-content{max-width:320px;min-width:150px;background-color:var(--bui-bg-body);border-radius:6px;border-width:1px;border-style:solid;padding:1rem;overflow-y:hidden}@keyframes rubber-band{0%{transform:scaleZ(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:scaleZ(1)}}:host(.bui-clip-note-reveal) .bui-clip-note-trigger{animation:rubber-band .8s ease}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: i5.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }], animations: [
150
150
  trigger('buttonAnimation', [
151
151
  state('*', style({ width: '36px', minWidth: 0, padding: 0 })),
152
152
  state('active', style({})),
@@ -177,7 +177,7 @@ class ClipNoteComponent {
177
177
  ])
178
178
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
179
179
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ClipNoteComponent, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ClipNoteComponent, decorators: [{
181
181
  type: Component,
182
182
  args: [{ selector: 'bui-clip-note', host: { class: 'bui-clip-note bui-host' }, animations: [
183
183
  trigger('buttonAnimation', [
@@ -332,10 +332,10 @@ class ClipNoteDirective {
332
332
  _processContent() {
333
333
  this._compRef.instance._contentChanged(this._content);
334
334
  }
335
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ClipNoteDirective, deps: [{ token: i0.ElementRef, host: true }, { token: i0.ViewContainerRef }, { token: CLIP_NOTE_DEFAULT_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
336
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: ClipNoteDirective, isStandalone: false, selector: "[buiClipNote]", inputs: { buiClipNote: "buiClipNote", buiClipNoteColor: "buiClipNoteColor", buiClipNoteIcon: "buiClipNoteIcon", buiClipNoteCaption: "buiClipNoteCaption" }, outputs: { buiClipNoteOpened: "buiClipNoteOpened", buiClipNoteClosed: "buiClipNoteClosed" }, exportAs: ["buiClipNote"], ngImport: i0 }); }
335
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ClipNoteDirective, deps: [{ token: i0.ElementRef, host: true }, { token: i0.ViewContainerRef }, { token: CLIP_NOTE_DEFAULT_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
336
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ClipNoteDirective, isStandalone: false, selector: "[buiClipNote]", inputs: { buiClipNote: "buiClipNote", buiClipNoteColor: "buiClipNoteColor", buiClipNoteIcon: "buiClipNoteIcon", buiClipNoteCaption: "buiClipNoteCaption" }, outputs: { buiClipNoteOpened: "buiClipNoteOpened", buiClipNoteClosed: "buiClipNoteClosed" }, exportAs: ["buiClipNote"], ngImport: i0 }); }
337
337
  }
338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ClipNoteDirective, decorators: [{
338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ClipNoteDirective, decorators: [{
339
339
  type: Directive,
340
340
  args: [{
341
341
  selector: '[buiClipNote]',
@@ -368,11 +368,11 @@ class ClipNoteModule {
368
368
  providers: [{ provide: CLIP_NOTE_DEFAULT_CONFIG, useValue: config }]
369
369
  };
370
370
  }
371
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ClipNoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
372
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: ClipNoteModule, declarations: [ClipNoteComponent, ClipNoteDirective], imports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule], exports: [ClipNoteDirective] }); }
373
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ClipNoteModule, imports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule] }); }
371
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ClipNoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
372
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ClipNoteModule, declarations: [ClipNoteComponent, ClipNoteDirective], imports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule], exports: [ClipNoteDirective] }); }
373
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ClipNoteModule, imports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule] }); }
374
374
  }
375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ClipNoteModule, decorators: [{
375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ClipNoteModule, decorators: [{
376
376
  type: NgModule,
377
377
  args: [{
378
378
  declarations: [ClipNoteComponent, ClipNoteDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-clip-note.mjs","sources":["../../../projects/ui/clip-note/clip-note.component.ts","../../../projects/ui/clip-note/clip-note.component.html","../../../projects/ui/clip-note/clip-note.directive.ts","../../../projects/ui/clip-note/clip-note.module.ts","../../../projects/ui/clip-note/bravura-ui-clip-note.ts"],"sourcesContent":["import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tElementRef,\r\n\tEmbeddedViewRef,\r\n\tEventEmitter,\r\n\tHost,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tTemplateRef,\r\n\tViewChild,\r\n\tViewContainerRef\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'bui-clip-note',\r\n\ttemplateUrl: './clip-note.component.html',\r\n\tstyleUrls: ['./clip-note.component.scss'],\r\n\thost: { class: 'bui-clip-note bui-host' },\r\n\tanimations: [\r\n\t\ttrigger('buttonAnimation', [\r\n\t\t\tstate('*', style({ width: '36px', minWidth: 0, padding: 0 })),\r\n\t\t\tstate('active', style({})),\r\n\t\t\ttransition('inactive <=> active', [\r\n\t\t\t\tgroup([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),\r\n\t\t\t\tquery('@buttonIconAnimation', animateChild())\r\n\t\t\t])\r\n\t\t]),\r\n\t\ttrigger('buttonTextAnimation', [\r\n\t\t\tstate('inactive', style({ opacity: 0, width: 0 })),\r\n\t\t\tstate('active', style({ opacity: 1 })),\r\n\t\t\ttransition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),\r\n\t\t\ttransition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))\r\n\t\t]),\r\n\t\ttrigger('buttonIconAnimation', [\r\n\t\t\tstate('active-ltr', style({ transform: 'rotate(-90deg)' })),\r\n\t\t\tstate('active-rtl', style({ transform: 'rotate(90deg)' })),\r\n\t\t\tstate('open-ltr', style({ transform: 'rotate(90deg)' })),\r\n\t\t\tstate('open-rtl', style({ transform: 'rotate(270deg)' })),\r\n\t\t\tstate('inactive', style({})),\r\n\t\t\ttransition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\r\n\t\t]),\r\n\t\ttrigger('panelAnimation', [\r\n\t\t\tstate('open', style({})),\r\n\t\t\tstate('closed-rtl', style({ transform: 'scale(0) translate(-80%, -70%)', padding: 0, opacity: 0 })),\r\n\t\t\tstate('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),\r\n\t\t\ttransition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))\r\n\t\t])\r\n\t],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: false\r\n})\r\nexport class ClipNoteComponent implements OnInit, OnDestroy {\r\n\tbuttonText = '';\r\n\r\n\tget buttonState(): string {\r\n\t\tif (this._hovering || this.panelState === 'open') {\r\n\t\t\treturn 'active';\r\n\t\t}\r\n\t\treturn 'inactive';\r\n\t}\r\n\r\n\tget buttonIconState(): string {\r\n\t\tif (this.panelState === 'open') {\r\n\t\t\treturn `open-${this.direction}`;\r\n\t\t}\r\n\t\tif (this.buttonState === 'active') {\r\n\t\t\treturn `active-${this.direction}`;\r\n\t\t}\r\n\t\treturn 'inactive';\r\n\t}\r\n\r\n\tpanelState: 'open' | 'closed-ltr' | 'closed-rtl' = 'closed-ltr';\r\n\r\n\tdirection = 'ltr';\r\n\t_contentView?: EmbeddedViewRef<any>;\r\n\t_content?: string;\r\n\t_color: ThemePalette;\r\n\t_buttonAnimating = false;\r\n\t_icon?: string;\r\n\t_hasContent = false;\r\n\r\n\treadonly opened = new EventEmitter<void>();\r\n\treadonly closed = new EventEmitter<void>();\r\n\r\n\tprivate _hovering = false;\r\n\tprivate _destroyed$ = new Subject<void>();\r\n\tprivate _toggleQueue: boolean[] = [];\r\n\r\n\t@ViewChild('viewDiv', { static: true, read: ElementRef })\r\n\tprivate _viewDiv!: ElementRef<HTMLDivElement>;\r\n\r\n\t@ViewChild('noteViewRef', { static: true, read: ViewContainerRef })\r\n\tprivate _noteViewRef!: ViewContainerRef;\r\n\r\n\t@ViewChild('fallbackTemplate', { static: true })\r\n\tprivate _fallbackTemplate!: TemplateRef<any>;\r\n\r\n\tconstructor(\r\n\t\tprivate _cd: ChangeDetectorRef,\r\n\t\tprivate _dir: Directionality,\r\n\t\t@Host() private _elemRef: ElementRef<HTMLElement>\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tconst changeDir = () => {\r\n\t\t\tthis.direction = this._dir.value;\r\n\t\t\tthis.panelState = `closed-${this.direction}` as any;\r\n\t\t\tthis._cd.markForCheck();\r\n\t\t};\r\n\t\tthis._dir.change.pipe(takeUntil(this._destroyed$)).subscribe(changeDir);\r\n\t\tchangeDir();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._destroyed$.next();\r\n\t\tthis._destroyed$.complete();\r\n\t}\r\n\r\n\t_mouseOverButton(hovering: boolean) {\r\n\t\tif (this._hovering !== hovering) {\r\n\t\t\tthis._hovering = hovering;\r\n\t\t\tthis._cd.markForCheck();\r\n\t\t}\r\n\t}\r\n\r\n\ttoggle() {\r\n\t\tthis.panelState = this.panelState === `closed-${this.direction}` ? 'open' : (`closed-${this.direction}` as any);\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t_scheduleToggle() {\r\n\t\tif (this._buttonAnimating) {\r\n\t\t\tthis._toggleQueue.push(true);\r\n\t\t} else {\r\n\t\t\tthis.toggle();\r\n\t\t}\r\n\t}\r\n\r\n\t_checkToggle() {\r\n\t\tif (this._toggleQueue.pop()) {\r\n\t\t\tthis.toggle();\r\n\t\t}\r\n\t}\r\n\r\n\topen() {\r\n\t\tthis.panelState = 'open';\r\n\t\tthis._cd.markForCheck();\r\n\t\tthis._emit();\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.panelState = `closed-${this.direction}` as any;\r\n\t\tthis._cd.markForCheck();\r\n\t\tthis._emit();\r\n\t}\r\n\r\n\t_emit() {\r\n\t\tif (this.panelState === 'open') {\r\n\t\t\tthis.opened.emit();\r\n\t\t} else {\r\n\t\t\tthis.closed.emit();\r\n\t\t}\r\n\t}\r\n\r\n\t_contentChanged(content?: string | TemplateRef<any>) {\r\n\t\tlet template: TemplateRef<any>;\r\n\r\n\t\tif (content instanceof TemplateRef) {\r\n\t\t\ttemplate = content;\r\n\t\t} else {\r\n\t\t\ttemplate = this._fallbackTemplate;\r\n\t\t\tthis._content = content;\r\n\t\t}\r\n\t\tthis._noteViewRef.clear();\r\n\t\tconst context = {};\r\n\t\tthis._contentView = this._noteViewRef.createEmbeddedView(template, context);\r\n\t\tthis._checkContent(true);\r\n\t}\r\n\r\n\t_checkContent(initial?: boolean) {\r\n\t\tthis._contentView?.detectChanges();\r\n\t\tthis._hasContent = !!this._viewDiv.nativeElement.textContent?.trim();\r\n\t\tconst classList = this._elemRef.nativeElement.classList;\r\n\t\tconst cls = 'bui-clip-note-hidden';\r\n\t\tconst cls1 = 'bui-clip-note-reveal';\r\n\t\tif (this._hasContent) {\r\n\t\t\tclassList.remove(cls);\r\n\t\t\tif (!initial && this.panelState !== 'open') {\r\n\t\t\t\tclassList.add(cls1);\r\n\t\t\t}\r\n\t\t\tthis._elemRef.nativeElement.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\r\n\t\t} else {\r\n\t\t\tclassList.add(cls);\r\n\t\t\tclassList.remove(cls1);\r\n\t\t\tthis.close();\r\n\t\t}\r\n\t}\r\n\r\n\t_assignColor(color: ThemePalette) {\r\n\t\tthis._color = color;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t_assignButtonText(text: string) {\r\n\t\tthis.buttonText = text;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t_assignButtonIcon(icon?: string) {\r\n\t\tthis._icon = icon;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n}\r\n","<div class=\"bui-clip-note-wrapper\">\r\n\t<div\r\n\t\tclass=\"bui-clip-note-content bui-border-{{ _color }} mat-elevation-z3\"\r\n\t\t[@panelAnimation]=\"panelState\"\r\n\t\t#viewDiv\r\n\t\t(cdkObserveContent)=\"_checkContent()\"\r\n\t>\r\n\t\t<ng-container #noteViewRef></ng-container>\r\n\t</div>\r\n\r\n\t<button\r\n\t\tmat-raised-button\r\n\t\tclass=\"bui-clip-note-trigger bui-clip-note-trigger-{{ buttonIconState }}\"\r\n\t\t[color]=\"_color\"\r\n\t\t[@buttonAnimation]=\"buttonState\"\r\n\t\t(mouseenter)=\"_mouseOverButton(true)\"\r\n\t\t(mouseleave)=\"_mouseOverButton(false)\"\r\n\t\t(click)=\"_scheduleToggle()\"\r\n\t>\r\n\t\t<mat-icon\r\n\t\t\t[@buttonIconAnimation]=\"_icon ? 'disabled' : buttonIconState\"\r\n\t\t\t(@buttonIconAnimation.start)=\"_buttonAnimating = true\"\r\n\t\t\t(@buttonIconAnimation.done)=\"_buttonAnimating = false; _checkToggle()\"\r\n\t\t\t[buiIcon]=\"_icon || (direction === 'rtl' ? 'chevron_right' : 'chevron_left')\"\r\n\t\t\tstyle=\"margin: 0\"\r\n\t\t>\r\n\t\t</mat-icon>\r\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ buttonText }}</span>\r\n\t</button>\r\n</div>\r\n\r\n<ng-template #fallbackTemplate>\r\n\t<div [innerHTML]=\"_content\"></div>\r\n</ng-template>\r\n","import {\r\n\tAfterViewInit,\r\n\tComponentRef,\r\n\tDirective,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tHost,\r\n\tInject,\r\n\tInjectionToken,\r\n\tInput,\r\n\tOutput,\r\n\tTemplateRef,\r\n\tViewContainerRef\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { ClipNoteComponent } from './clip-note.component';\r\n\r\nexport interface ClipNoteDefaultConfig {\r\n\tcolor: ThemePalette;\r\n\tcaption: string;\r\n}\r\n\r\n/** Used to provide default config for clip notes. */\r\nexport const CLIP_NOTE_DEFAULT_CONFIG = new InjectionToken<ClipNoteDefaultConfig>('bui-clip-note.default-config', {\r\n\tfactory: () => ({ color: 'primary', caption: 'More info' })\r\n});\r\n\r\n/**\r\n * A clip note consists of a toggle button and a floating 'notepad' element, attached to the top end of the host element's\r\n * viewable area. The 'notepad' normally collapses away and only reveals itself when the toggle button is active.\r\n *\r\n * The toggle button clips on the edge of the host element and expands to display the full caption when hovered. It hides itself\r\n * automatically when there is no content provided via the `buiClipNote` property of the directive.\r\n *\r\n * The clip note component is suitable for large page container elements with visible boundaries. It can present contextual\r\n * information regarding and in addition to the content displayed in the main view area.\r\n *\r\n * The properties `buiClipNoteColor` and `buiClipNoteCaption` customise the appearance of the clip note, the default values of which\r\n * can optionally be provided by the `ClipNoteModule.forConfig()` method.\r\n *\r\n */\r\n@Directive({\r\n\tselector: '[buiClipNote]',\r\n\texportAs: 'buiClipNote',\r\n\tstandalone: false\r\n})\r\nexport class ClipNoteDirective implements AfterViewInit {\r\n\t/**\r\n\t * Provide content to the clip note's floating notepad element.\r\n\t * It accepts a `string` of HTML content or a `TemplateRef` object.\r\n\t */\r\n\t@Input()\r\n\tget buiClipNote(): string | TemplateRef<any> | undefined {\r\n\t\treturn this._content;\r\n\t}\r\n\tset buiClipNote(note: string | TemplateRef<any> | undefined) {\r\n\t\tthis._content = note;\r\n\t\tif (this._compRef) {\r\n\t\t\tthis._processContent();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Customise the theme color alias.\r\n\t * @default 'primary'\r\n\t */\r\n\t@Input()\r\n\tget buiClipNoteColor(): ThemePalette {\r\n\t\treturn this._color;\r\n\t}\r\n\tset buiClipNoteColor(color: ThemePalette) {\r\n\t\tthis._color = color;\r\n\t\tif (this._compRef) {\r\n\t\t\tthis._compRef.instance._assignColor(this._color);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Customise the icon on the toggle button. With this property specified, the animation on the icon\r\n\t * will not be active.\r\n\t */\r\n\t@Input()\r\n\tget buiClipNoteIcon(): string | undefined {\r\n\t\treturn this._icon;\r\n\t}\r\n\tset buiClipNoteIcon(icon: string | undefined) {\r\n\t\tthis._icon = icon;\r\n\t\tif (this._compRef) {\r\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * The caption of the toggle button when expanded.\r\n\t */\r\n\t@Input()\r\n\tget buiClipNoteCaption(): string {\r\n\t\treturn this._caption;\r\n\t}\r\n\tset buiClipNoteCaption(text: string) {\r\n\t\tthis._caption = text;\r\n\t\tif (this._compRef) {\r\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\r\n\t\t}\r\n\t}\r\n\r\n\t/** Emits when the panel opens */\r\n\t@Output()\r\n\treadonly buiClipNoteOpened = new EventEmitter<void>();\r\n\r\n\t/** Emits when the panel closes */\r\n\t@Output()\r\n\treadonly buiClipNoteClosed = new EventEmitter<void>();\r\n\r\n\tprivate _content?: string | TemplateRef<any>;\r\n\tprivate _color: ThemePalette = 'primary';\r\n\tprivate _compRef!: ComponentRef<ClipNoteComponent>;\r\n\tprivate _caption: string;\r\n\tprivate _icon?: string;\r\n\r\n\tconstructor(\r\n\t\t@Host() private _elementRef: ElementRef<HTMLElement>,\r\n\t\tprivate _vc: ViewContainerRef,\r\n\t\t@Inject(CLIP_NOTE_DEFAULT_CONFIG) _config: ClipNoteDefaultConfig\r\n\t) {\r\n\t\tthis._caption = _config.caption;\r\n\t\tthis._color = _config.color;\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis._compRef = this._vc.createComponent(ClipNoteComponent);\r\n\t\t\tconst childElement: HTMLElement = this._compRef.location.nativeElement;\r\n\t\t\tconst element = this._elementRef.nativeElement;\r\n\t\t\telement.style.position = 'relative';\r\n\t\t\telement.appendChild(childElement);\r\n\t\t\tthis._compRef.instance._assignColor(this._color);\r\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\r\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\r\n\t\t\tthis._compRef.instance.opened.subscribe(this.buiClipNoteOpened.next.bind(this.buiClipNoteOpened));\r\n\t\t\tthis._compRef.instance.closed.subscribe(this.buiClipNoteClosed.next.bind(this.buiClipNoteClosed));\r\n\t\t\tthis._processContent();\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._compRef.destroy();\r\n\t}\r\n\r\n\t/** Open the note panel */\r\n\topen() {\r\n\t\tthis._compRef.instance.open();\r\n\t}\r\n\r\n\t/** Close the note panel */\r\n\tclose() {\r\n\t\tthis._compRef.instance.close();\r\n\t}\r\n\r\n\tprivate _processContent() {\r\n\t\tthis._compRef.instance._contentChanged(this._content);\r\n\t}\r\n}\r\n","import { BidiModule } from '@angular/cdk/bidi';\r\nimport { ObserversModule } from '@angular/cdk/observers';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { BuiCommonModule } from '@bravura/ui/common';\r\nimport { IconFontModule } from '@bravura/ui/icon-font';\r\nimport { ClipNoteComponent } from './clip-note.component';\r\nimport { ClipNoteDefaultConfig, ClipNoteDirective, CLIP_NOTE_DEFAULT_CONFIG } from './clip-note.directive';\r\n\r\n@NgModule({\r\n\tdeclarations: [ClipNoteComponent, ClipNoteDirective],\r\n\timports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule],\r\n\texports: [ClipNoteDirective]\r\n})\r\nexport class ClipNoteModule {\r\n\tstatic forConfig(config: ClipNoteDefaultConfig): ModuleWithProviders<ClipNoteModule> {\r\n\t\treturn {\r\n\t\t\tngModule: ClipNoteModule,\r\n\t\t\tproviders: [{ provide: CLIP_NOTE_DEFAULT_CONFIG, useValue: config }]\r\n\t\t};\r\n\t}\r\n}\r\n\r\nexport { ClipNoteDirective };\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-clip-note.mjs","sources":["../../../projects/ui/clip-note/clip-note.component.ts","../../../projects/ui/clip-note/clip-note.component.html","../../../projects/ui/clip-note/clip-note.directive.ts","../../../projects/ui/clip-note/clip-note.module.ts","../../../projects/ui/clip-note/bravura-ui-clip-note.ts"],"sourcesContent":["import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tElementRef,\r\n\tEmbeddedViewRef,\r\n\tEventEmitter,\r\n\tHost,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tTemplateRef,\r\n\tViewChild,\r\n\tViewContainerRef\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'bui-clip-note',\r\n\ttemplateUrl: './clip-note.component.html',\r\n\tstyleUrls: ['./clip-note.component.scss'],\r\n\thost: { class: 'bui-clip-note bui-host' },\r\n\tanimations: [\r\n\t\ttrigger('buttonAnimation', [\r\n\t\t\tstate('*', style({ width: '36px', minWidth: 0, padding: 0 })),\r\n\t\t\tstate('active', style({})),\r\n\t\t\ttransition('inactive <=> active', [\r\n\t\t\t\tgroup([animate('250ms cubic-bezier(.56,.14,.18,.91)'), query('@buttonTextAnimation', animateChild())]),\r\n\t\t\t\tquery('@buttonIconAnimation', animateChild())\r\n\t\t\t])\r\n\t\t]),\r\n\t\ttrigger('buttonTextAnimation', [\r\n\t\t\tstate('inactive', style({ opacity: 0, width: 0 })),\r\n\t\t\tstate('active', style({ opacity: 1 })),\r\n\t\t\ttransition('inactive => active', animate('250ms cubic-bezier(.88,.15,.63,.61)')),\r\n\t\t\ttransition('active => inactive', animate('250ms cubic-bezier(.05,.72,.44,.92)'))\r\n\t\t]),\r\n\t\ttrigger('buttonIconAnimation', [\r\n\t\t\tstate('active-ltr', style({ transform: 'rotate(-90deg)' })),\r\n\t\t\tstate('active-rtl', style({ transform: 'rotate(90deg)' })),\r\n\t\t\tstate('open-ltr', style({ transform: 'rotate(90deg)' })),\r\n\t\t\tstate('open-rtl', style({ transform: 'rotate(270deg)' })),\r\n\t\t\tstate('inactive', style({})),\r\n\t\t\ttransition('inactive <=> *, * <=> open-ltr, * <=> open-rtl', animate('250ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\r\n\t\t]),\r\n\t\ttrigger('panelAnimation', [\r\n\t\t\tstate('open', style({})),\r\n\t\t\tstate('closed-rtl', style({ transform: 'scale(0) translate(-80%, -70%)', padding: 0, opacity: 0 })),\r\n\t\t\tstate('closed-ltr', style({ transform: 'scale(0) translate(80%, -70%)', padding: 0, opacity: 0 })),\r\n\t\t\ttransition('open <=> *', animate('300ms cubic-bezier(.69,.12,.6,.62)'))\r\n\t\t])\r\n\t],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: false\r\n})\r\nexport class ClipNoteComponent implements OnInit, OnDestroy {\r\n\tbuttonText = '';\r\n\r\n\tget buttonState(): string {\r\n\t\tif (this._hovering || this.panelState === 'open') {\r\n\t\t\treturn 'active';\r\n\t\t}\r\n\t\treturn 'inactive';\r\n\t}\r\n\r\n\tget buttonIconState(): string {\r\n\t\tif (this.panelState === 'open') {\r\n\t\t\treturn `open-${this.direction}`;\r\n\t\t}\r\n\t\tif (this.buttonState === 'active') {\r\n\t\t\treturn `active-${this.direction}`;\r\n\t\t}\r\n\t\treturn 'inactive';\r\n\t}\r\n\r\n\tpanelState: 'open' | 'closed-ltr' | 'closed-rtl' = 'closed-ltr';\r\n\r\n\tdirection = 'ltr';\r\n\t_contentView?: EmbeddedViewRef<any>;\r\n\t_content?: string;\r\n\t_color: ThemePalette;\r\n\t_buttonAnimating = false;\r\n\t_icon?: string;\r\n\t_hasContent = false;\r\n\r\n\treadonly opened = new EventEmitter<void>();\r\n\treadonly closed = new EventEmitter<void>();\r\n\r\n\tprivate _hovering = false;\r\n\tprivate _destroyed$ = new Subject<void>();\r\n\tprivate _toggleQueue: boolean[] = [];\r\n\r\n\t@ViewChild('viewDiv', { static: true, read: ElementRef })\r\n\tprivate _viewDiv!: ElementRef<HTMLDivElement>;\r\n\r\n\t@ViewChild('noteViewRef', { static: true, read: ViewContainerRef })\r\n\tprivate _noteViewRef!: ViewContainerRef;\r\n\r\n\t@ViewChild('fallbackTemplate', { static: true })\r\n\tprivate _fallbackTemplate!: TemplateRef<any>;\r\n\r\n\tconstructor(\r\n\t\tprivate _cd: ChangeDetectorRef,\r\n\t\tprivate _dir: Directionality,\r\n\t\t@Host() private _elemRef: ElementRef<HTMLElement>\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tconst changeDir = () => {\r\n\t\t\tthis.direction = this._dir.value;\r\n\t\t\tthis.panelState = `closed-${this.direction}` as any;\r\n\t\t\tthis._cd.markForCheck();\r\n\t\t};\r\n\t\tthis._dir.change.pipe(takeUntil(this._destroyed$)).subscribe(changeDir);\r\n\t\tchangeDir();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._destroyed$.next();\r\n\t\tthis._destroyed$.complete();\r\n\t}\r\n\r\n\t_mouseOverButton(hovering: boolean) {\r\n\t\tif (this._hovering !== hovering) {\r\n\t\t\tthis._hovering = hovering;\r\n\t\t\tthis._cd.markForCheck();\r\n\t\t}\r\n\t}\r\n\r\n\ttoggle() {\r\n\t\tthis.panelState = this.panelState === `closed-${this.direction}` ? 'open' : (`closed-${this.direction}` as any);\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t_scheduleToggle() {\r\n\t\tif (this._buttonAnimating) {\r\n\t\t\tthis._toggleQueue.push(true);\r\n\t\t} else {\r\n\t\t\tthis.toggle();\r\n\t\t}\r\n\t}\r\n\r\n\t_checkToggle() {\r\n\t\tif (this._toggleQueue.pop()) {\r\n\t\t\tthis.toggle();\r\n\t\t}\r\n\t}\r\n\r\n\topen() {\r\n\t\tthis.panelState = 'open';\r\n\t\tthis._cd.markForCheck();\r\n\t\tthis._emit();\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.panelState = `closed-${this.direction}` as any;\r\n\t\tthis._cd.markForCheck();\r\n\t\tthis._emit();\r\n\t}\r\n\r\n\t_emit() {\r\n\t\tif (this.panelState === 'open') {\r\n\t\t\tthis.opened.emit();\r\n\t\t} else {\r\n\t\t\tthis.closed.emit();\r\n\t\t}\r\n\t}\r\n\r\n\t_contentChanged(content?: string | TemplateRef<any>) {\r\n\t\tlet template: TemplateRef<any>;\r\n\r\n\t\tif (content instanceof TemplateRef) {\r\n\t\t\ttemplate = content;\r\n\t\t} else {\r\n\t\t\ttemplate = this._fallbackTemplate;\r\n\t\t\tthis._content = content;\r\n\t\t}\r\n\t\tthis._noteViewRef.clear();\r\n\t\tconst context = {};\r\n\t\tthis._contentView = this._noteViewRef.createEmbeddedView(template, context);\r\n\t\tthis._checkContent(true);\r\n\t}\r\n\r\n\t_checkContent(initial?: boolean) {\r\n\t\tthis._contentView?.detectChanges();\r\n\t\tthis._hasContent = !!this._viewDiv.nativeElement.textContent?.trim();\r\n\t\tconst classList = this._elemRef.nativeElement.classList;\r\n\t\tconst cls = 'bui-clip-note-hidden';\r\n\t\tconst cls1 = 'bui-clip-note-reveal';\r\n\t\tif (this._hasContent) {\r\n\t\t\tclassList.remove(cls);\r\n\t\t\tif (!initial && this.panelState !== 'open') {\r\n\t\t\t\tclassList.add(cls1);\r\n\t\t\t}\r\n\t\t\tthis._elemRef.nativeElement.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\r\n\t\t} else {\r\n\t\t\tclassList.add(cls);\r\n\t\t\tclassList.remove(cls1);\r\n\t\t\tthis.close();\r\n\t\t}\r\n\t}\r\n\r\n\t_assignColor(color: ThemePalette) {\r\n\t\tthis._color = color;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t_assignButtonText(text: string) {\r\n\t\tthis.buttonText = text;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n\r\n\t_assignButtonIcon(icon?: string) {\r\n\t\tthis._icon = icon;\r\n\t\tthis._cd.markForCheck();\r\n\t}\r\n}\r\n","<div class=\"bui-clip-note-wrapper\">\r\n\t<div\r\n\t\tclass=\"bui-clip-note-content bui-border-{{ _color }} mat-elevation-z3\"\r\n\t\t[@panelAnimation]=\"panelState\"\r\n\t\t#viewDiv\r\n\t\t(cdkObserveContent)=\"_checkContent()\"\r\n\t>\r\n\t\t<ng-container #noteViewRef></ng-container>\r\n\t</div>\r\n\r\n\t<button\r\n\t\tmat-raised-button\r\n\t\tclass=\"bui-clip-note-trigger bui-clip-note-trigger-{{ buttonIconState }}\"\r\n\t\t[color]=\"_color\"\r\n\t\t[@buttonAnimation]=\"buttonState\"\r\n\t\t(mouseenter)=\"_mouseOverButton(true)\"\r\n\t\t(mouseleave)=\"_mouseOverButton(false)\"\r\n\t\t(click)=\"_scheduleToggle()\"\r\n\t>\r\n\t\t<mat-icon\r\n\t\t\t[@buttonIconAnimation]=\"_icon ? 'disabled' : buttonIconState\"\r\n\t\t\t(@buttonIconAnimation.start)=\"_buttonAnimating = true\"\r\n\t\t\t(@buttonIconAnimation.done)=\"_buttonAnimating = false; _checkToggle()\"\r\n\t\t\t[buiIcon]=\"_icon || (direction === 'rtl' ? 'chevron_right' : 'chevron_left')\"\r\n\t\t\tstyle=\"margin: 0\"\r\n\t\t>\r\n\t\t</mat-icon>\r\n\t\t<span [@buttonTextAnimation]=\"buttonState\" class=\"bui-clip-note-button-text\">&nbsp; {{ buttonText }}</span>\r\n\t</button>\r\n</div>\r\n\r\n<ng-template #fallbackTemplate>\r\n\t<div [innerHTML]=\"_content\"></div>\r\n</ng-template>\r\n","import {\r\n\tAfterViewInit,\r\n\tComponentRef,\r\n\tDirective,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tHost,\r\n\tInject,\r\n\tInjectionToken,\r\n\tInput,\r\n\tOutput,\r\n\tTemplateRef,\r\n\tViewContainerRef\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { ClipNoteComponent } from './clip-note.component';\r\n\r\nexport interface ClipNoteDefaultConfig {\r\n\tcolor: ThemePalette;\r\n\tcaption: string;\r\n}\r\n\r\n/** Used to provide default config for clip notes. */\r\nexport const CLIP_NOTE_DEFAULT_CONFIG = new InjectionToken<ClipNoteDefaultConfig>('bui-clip-note.default-config', {\r\n\tfactory: () => ({ color: 'primary', caption: 'More info' })\r\n});\r\n\r\n/**\r\n * A clip note consists of a toggle button and a floating 'notepad' element, attached to the top end of the host element's\r\n * viewable area. The 'notepad' normally collapses away and only reveals itself when the toggle button is active.\r\n *\r\n * The toggle button clips on the edge of the host element and expands to display the full caption when hovered. It hides itself\r\n * automatically when there is no content provided via the `buiClipNote` property of the directive.\r\n *\r\n * The clip note component is suitable for large page container elements with visible boundaries. It can present contextual\r\n * information regarding and in addition to the content displayed in the main view area.\r\n *\r\n * The properties `buiClipNoteColor` and `buiClipNoteCaption` customise the appearance of the clip note, the default values of which\r\n * can optionally be provided by the `ClipNoteModule.forConfig()` method.\r\n *\r\n */\r\n@Directive({\r\n\tselector: '[buiClipNote]',\r\n\texportAs: 'buiClipNote',\r\n\tstandalone: false\r\n})\r\nexport class ClipNoteDirective implements AfterViewInit {\r\n\t/**\r\n\t * Provide content to the clip note's floating notepad element.\r\n\t * It accepts a `string` of HTML content or a `TemplateRef` object.\r\n\t */\r\n\t@Input()\r\n\tget buiClipNote(): string | TemplateRef<any> | undefined {\r\n\t\treturn this._content;\r\n\t}\r\n\tset buiClipNote(note: string | TemplateRef<any> | undefined) {\r\n\t\tthis._content = note;\r\n\t\tif (this._compRef) {\r\n\t\t\tthis._processContent();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Customise the theme color alias.\r\n\t * @default 'primary'\r\n\t */\r\n\t@Input()\r\n\tget buiClipNoteColor(): ThemePalette {\r\n\t\treturn this._color;\r\n\t}\r\n\tset buiClipNoteColor(color: ThemePalette) {\r\n\t\tthis._color = color;\r\n\t\tif (this._compRef) {\r\n\t\t\tthis._compRef.instance._assignColor(this._color);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Customise the icon on the toggle button. With this property specified, the animation on the icon\r\n\t * will not be active.\r\n\t */\r\n\t@Input()\r\n\tget buiClipNoteIcon(): string | undefined {\r\n\t\treturn this._icon;\r\n\t}\r\n\tset buiClipNoteIcon(icon: string | undefined) {\r\n\t\tthis._icon = icon;\r\n\t\tif (this._compRef) {\r\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * The caption of the toggle button when expanded.\r\n\t */\r\n\t@Input()\r\n\tget buiClipNoteCaption(): string {\r\n\t\treturn this._caption;\r\n\t}\r\n\tset buiClipNoteCaption(text: string) {\r\n\t\tthis._caption = text;\r\n\t\tif (this._compRef) {\r\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\r\n\t\t}\r\n\t}\r\n\r\n\t/** Emits when the panel opens */\r\n\t@Output()\r\n\treadonly buiClipNoteOpened = new EventEmitter<void>();\r\n\r\n\t/** Emits when the panel closes */\r\n\t@Output()\r\n\treadonly buiClipNoteClosed = new EventEmitter<void>();\r\n\r\n\tprivate _content?: string | TemplateRef<any>;\r\n\tprivate _color: ThemePalette = 'primary';\r\n\tprivate _compRef!: ComponentRef<ClipNoteComponent>;\r\n\tprivate _caption: string;\r\n\tprivate _icon?: string;\r\n\r\n\tconstructor(\r\n\t\t@Host() private _elementRef: ElementRef<HTMLElement>,\r\n\t\tprivate _vc: ViewContainerRef,\r\n\t\t@Inject(CLIP_NOTE_DEFAULT_CONFIG) _config: ClipNoteDefaultConfig\r\n\t) {\r\n\t\tthis._caption = _config.caption;\r\n\t\tthis._color = _config.color;\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis._compRef = this._vc.createComponent(ClipNoteComponent);\r\n\t\t\tconst childElement: HTMLElement = this._compRef.location.nativeElement;\r\n\t\t\tconst element = this._elementRef.nativeElement;\r\n\t\t\telement.style.position = 'relative';\r\n\t\t\telement.appendChild(childElement);\r\n\t\t\tthis._compRef.instance._assignColor(this._color);\r\n\t\t\tthis._compRef.instance._assignButtonText(this._caption);\r\n\t\t\tthis._compRef.instance._assignButtonIcon(this._icon);\r\n\t\t\tthis._compRef.instance.opened.subscribe(this.buiClipNoteOpened.next.bind(this.buiClipNoteOpened));\r\n\t\t\tthis._compRef.instance.closed.subscribe(this.buiClipNoteClosed.next.bind(this.buiClipNoteClosed));\r\n\t\t\tthis._processContent();\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._compRef.destroy();\r\n\t}\r\n\r\n\t/** Open the note panel */\r\n\topen() {\r\n\t\tthis._compRef.instance.open();\r\n\t}\r\n\r\n\t/** Close the note panel */\r\n\tclose() {\r\n\t\tthis._compRef.instance.close();\r\n\t}\r\n\r\n\tprivate _processContent() {\r\n\t\tthis._compRef.instance._contentChanged(this._content);\r\n\t}\r\n}\r\n","import { BidiModule } from '@angular/cdk/bidi';\r\nimport { ObserversModule } from '@angular/cdk/observers';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { BuiCommonModule } from '@bravura/ui/common';\r\nimport { IconFontModule } from '@bravura/ui/icon-font';\r\nimport { ClipNoteComponent } from './clip-note.component';\r\nimport { ClipNoteDefaultConfig, ClipNoteDirective, CLIP_NOTE_DEFAULT_CONFIG } from './clip-note.directive';\r\n\r\n@NgModule({\r\n\tdeclarations: [ClipNoteComponent, ClipNoteDirective],\r\n\timports: [CommonModule, MatButtonModule, MatIconModule, BidiModule, BuiCommonModule, ObserversModule, IconFontModule],\r\n\texports: [ClipNoteDirective]\r\n})\r\nexport class ClipNoteModule {\r\n\tstatic forConfig(config: ClipNoteDefaultConfig): ModuleWithProviders<ClipNoteModule> {\r\n\t\treturn {\r\n\t\t\tngModule: ClipNoteModule,\r\n\t\t\tproviders: [{ provide: CLIP_NOTE_DEFAULT_CONFIG, useValue: config }]\r\n\t\t};\r\n\t}\r\n}\r\n\r\nexport { ClipNoteDirective };\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import * as i1 from '@angular/cdk/bidi';
2
2
  import { BidiModule } from '@angular/cdk/bidi';
3
- import { DOCUMENT } from '@angular/common';
4
3
  import * as i0 from '@angular/core';
5
- import { Optional, SkipSelf, Inject, NgModule } from '@angular/core';
4
+ import { DOCUMENT, Optional, SkipSelf, Inject, NgModule } from '@angular/core';
6
5
 
7
6
  function generateID() {
8
7
  return Math.round(Math.random() * Math.pow(2, 50)).toString(36);
@@ -66,11 +65,11 @@ class BuiCommonModule {
66
65
  observer.observe(document.body, { attributes: true });
67
66
  }
68
67
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BuiCommonModule, deps: [{ token: i1.Directionality }, { token: BuiCommonModule, optional: true, skipSelf: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.NgModule }); }
70
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: BuiCommonModule, imports: [BidiModule], exports: [BidiModule] }); }
71
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BuiCommonModule, imports: [BidiModule, BidiModule] }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BuiCommonModule, deps: [{ token: i1.Directionality }, { token: BuiCommonModule, optional: true, skipSelf: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.NgModule }); }
69
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: BuiCommonModule, imports: [BidiModule], exports: [BidiModule] }); }
70
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BuiCommonModule, imports: [BidiModule, BidiModule] }); }
72
71
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BuiCommonModule, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BuiCommonModule, decorators: [{
74
73
  type: NgModule,
75
74
  args: [{
76
75
  declarations: [],
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-common.mjs","sources":["../../../projects/ui/common/common-utils.ts","../../../projects/ui/common/common.module.ts","../../../projects/ui/common/bravura-ui-common.ts"],"sourcesContent":["export function generateID() {\r\n\treturn Math.round(Math.random() * Math.pow(2, 50)).toString(36);\r\n}\r\n\r\nexport function isElementInViewport(el: HTMLElement) {\r\n\tconst rect = el.getBoundingClientRect();\r\n\r\n\treturn (\r\n\t\trect.top >= 0 &&\r\n\t\trect.left >= 0 &&\r\n\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\r\n\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\r\n\t);\r\n}\r\n\r\n/**\r\n * Uses canvas.measureText to compute and return the width of the given text of given font in pixels.\r\n *\r\n * @param {String} text The text to be rendered.\r\n * @param el the element used to compute the font styles\r\n *\r\n * @see https://stackoverflow.com/questions/118241/calculate-text-width-with-javascript/21015393#21015393\r\n */\r\nexport function getTextWidth(text: string, el: HTMLElement = document.body): number {\r\n\tfunction getCssStyle(element: HTMLElement, prop: string) {\r\n\t\treturn window.getComputedStyle(element, null).getPropertyValue(prop);\r\n\t}\r\n\r\n\tconst fontWeight = getCssStyle(el, 'font-weight') || 'normal';\r\n\tconst fontSize = getCssStyle(el, 'font-size') || '16px';\r\n\tconst fontFamily = getCssStyle(el, 'font-family') || 'Arial';\r\n\r\n\tconst font = `${fontWeight} ${fontSize} ${fontFamily}`;\r\n\r\n\t// re-use canvas object for better performance\r\n\tconst canvas = (getTextWidth as any).canvas || ((getTextWidth as any).canvas = document.createElement('canvas'));\r\n\tconst context = canvas.getContext('2d');\r\n\tcontext.font = font;\r\n\tconst metrics = context.measureText(text);\r\n\treturn Math.round(metrics.width);\r\n}\r\n","import { BidiModule, Direction, Directionality } from '@angular/cdk/bidi';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Inject, NgModule, Optional, SkipSelf } from '@angular/core';\r\n\r\n/** Regex that matches locales with an RTL script. Taken from `goog.i18n.bidi.isRtlLanguage`. */\r\nconst RTL_LOCALE_PATTERN =\r\n\t/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;\r\n\r\n/** Resolves a string value to a specific direction. */\r\nexport function _resolveDirectionality(rawValue: string): Direction {\r\n\tconst value = rawValue?.toLowerCase() || '';\r\n\r\n\tif (value === 'auto' && typeof navigator !== 'undefined' && navigator?.language) {\r\n\t\treturn RTL_LOCALE_PATTERN.test(navigator.language) ? 'rtl' : 'ltr';\r\n\t}\r\n\r\n\treturn value === 'rtl' ? 'rtl' : 'ltr';\r\n}\r\n\r\n@NgModule({\r\n\tdeclarations: [],\r\n\timports: [BidiModule],\r\n\texports: [BidiModule]\r\n})\r\nexport class BuiCommonModule {\r\n\tconstructor(\r\n\t\tdir: Directionality,\r\n\t\t@Optional()\r\n\t\t@SkipSelf()\r\n\t\tthisModule: BuiCommonModule,\r\n\t\t@Inject(DOCUMENT) document: Document\r\n\t) {\r\n\t\tif (!thisModule) {\r\n\t\t\tconst observer = new MutationObserver(() => {\r\n\t\t\t\tconst attr = document.documentElement.getAttribute('dir') || document.body.getAttribute('dir');\r\n\t\t\t\tif (attr && dir.value !== attr) {\r\n\t\t\t\t\tconst d = _resolveDirectionality(attr);\r\n\t\t\t\t\tdir.change.emit(d);\r\n\t\t\t\t\tif (Object.getOwnPropertyNames(dir).includes('value')) {\r\n\t\t\t\t\t\t(dir as any).value = d;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetTimeout(() => dir.change.emit(d));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tobserver.observe(document.documentElement, { attributes: true });\r\n\t\t\tobserver.observe(document.body, { attributes: true });\r\n\t\t}\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-common.mjs","sources":["../../../projects/ui/common/common-utils.ts","../../../projects/ui/common/common.module.ts","../../../projects/ui/common/bravura-ui-common.ts"],"sourcesContent":["export function generateID() {\r\n\treturn Math.round(Math.random() * Math.pow(2, 50)).toString(36);\r\n}\r\n\r\nexport function isElementInViewport(el: HTMLElement) {\r\n\tconst rect = el.getBoundingClientRect();\r\n\r\n\treturn (\r\n\t\trect.top >= 0 &&\r\n\t\trect.left >= 0 &&\r\n\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\r\n\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\r\n\t);\r\n}\r\n\r\n/**\r\n * Uses canvas.measureText to compute and return the width of the given text of given font in pixels.\r\n *\r\n * @param {String} text The text to be rendered.\r\n * @param el the element used to compute the font styles\r\n *\r\n * @see https://stackoverflow.com/questions/118241/calculate-text-width-with-javascript/21015393#21015393\r\n */\r\nexport function getTextWidth(text: string, el: HTMLElement = document.body): number {\r\n\tfunction getCssStyle(element: HTMLElement, prop: string) {\r\n\t\treturn window.getComputedStyle(element, null).getPropertyValue(prop);\r\n\t}\r\n\r\n\tconst fontWeight = getCssStyle(el, 'font-weight') || 'normal';\r\n\tconst fontSize = getCssStyle(el, 'font-size') || '16px';\r\n\tconst fontFamily = getCssStyle(el, 'font-family') || 'Arial';\r\n\r\n\tconst font = `${fontWeight} ${fontSize} ${fontFamily}`;\r\n\r\n\t// re-use canvas object for better performance\r\n\tconst canvas = (getTextWidth as any).canvas || ((getTextWidth as any).canvas = document.createElement('canvas'));\r\n\tconst context = canvas.getContext('2d');\r\n\tcontext.font = font;\r\n\tconst metrics = context.measureText(text);\r\n\treturn Math.round(metrics.width);\r\n}\r\n","import { BidiModule, Direction, Directionality } from '@angular/cdk/bidi';\n\nimport { Inject, NgModule, Optional, SkipSelf, DOCUMENT } from '@angular/core';\n\n/** Regex that matches locales with an RTL script. Taken from `goog.i18n.bidi.isRtlLanguage`. */\nconst RTL_LOCALE_PATTERN =\n\t/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;\n\n/** Resolves a string value to a specific direction. */\nexport function _resolveDirectionality(rawValue: string): Direction {\n\tconst value = rawValue?.toLowerCase() || '';\n\n\tif (value === 'auto' && typeof navigator !== 'undefined' && navigator?.language) {\n\t\treturn RTL_LOCALE_PATTERN.test(navigator.language) ? 'rtl' : 'ltr';\n\t}\n\n\treturn value === 'rtl' ? 'rtl' : 'ltr';\n}\n\n@NgModule({\n\tdeclarations: [],\n\timports: [BidiModule],\n\texports: [BidiModule]\n})\nexport class BuiCommonModule {\n\tconstructor(\n\t\tdir: Directionality,\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\tthisModule: BuiCommonModule,\n\t\t@Inject(DOCUMENT) document: Document\n\t) {\n\t\tif (!thisModule) {\n\t\t\tconst observer = new MutationObserver(() => {\n\t\t\t\tconst attr = document.documentElement.getAttribute('dir') || document.body.getAttribute('dir');\n\t\t\t\tif (attr && dir.value !== attr) {\n\t\t\t\t\tconst d = _resolveDirectionality(attr);\n\t\t\t\t\tdir.change.emit(d);\n\t\t\t\t\tif (Object.getOwnPropertyNames(dir).includes('value')) {\n\t\t\t\t\t\t(dir as any).value = d;\n\t\t\t\t\t}\n\t\t\t\t\tsetTimeout(() => dir.change.emit(d));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tobserver.observe(document.documentElement, { attributes: true });\n\t\t\tobserver.observe(document.body, { attributes: true });\n\t\t}\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -222,10 +222,10 @@ class CurrencyInputDirective {
222
222
  const decimalStr = this.baseUnitOnly ? '' : `${this._ds}00`;
223
223
  return this._trailing ? `0${decimalStr} ${this._symbol}` : `${this._symbol}0${decimalStr}`;
224
224
  }
225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: CurrencyInputDirective, deps: [{ token: i0.ElementRef, self: true }, { token: i0.Renderer2 }, { token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }, { token: MAT_FORM_FIELD, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
226
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: CurrencyInputDirective, isStandalone: false, selector: "input[buiCurrencyInput],input[currencyCode],input[data-type=currency]", inputs: { allowNegative: "allowNegative", currencyCode: "currencyCode", baseUnitOnly: "baseUnitOnly", format: "format" }, host: { listeners: { "input": "onInput()", "focus": "onFocus()", "blur": "onblur()" }, properties: { "placeholder": "this.placeholder", "autocomplete": "this.autocomplete", "type": "this.type", "attr.inputmode": "this.inputMode" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CurrencyInputDirective), multi: true }], usesOnChanges: true, ngImport: i0 }); }
225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CurrencyInputDirective, deps: [{ token: i0.ElementRef, self: true }, { token: i0.Renderer2 }, { token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }, { token: MAT_FORM_FIELD, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
226
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CurrencyInputDirective, isStandalone: false, selector: "input[buiCurrencyInput],input[currencyCode],input[data-type=currency]", inputs: { allowNegative: "allowNegative", currencyCode: "currencyCode", baseUnitOnly: "baseUnitOnly", format: "format" }, host: { listeners: { "input": "onInput()", "focus": "onFocus()", "blur": "onblur()" }, properties: { "placeholder": "this.placeholder", "autocomplete": "this.autocomplete", "type": "this.type", "attr.inputmode": "this.inputMode" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CurrencyInputDirective), multi: true }], usesOnChanges: true, ngImport: i0 }); }
227
227
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: CurrencyInputDirective, decorators: [{
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CurrencyInputDirective, decorators: [{
229
229
  type: Directive,
230
230
  args: [{
231
231
  selector: 'input[buiCurrencyInput],input[currencyCode],input[data-type=currency]',
@@ -277,11 +277,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
277
277
  }] } });
278
278
 
279
279
  class CurrencyInputModule {
280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: CurrencyInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
281
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: CurrencyInputModule, declarations: [CurrencyInputDirective], imports: [CommonModule], exports: [CurrencyInputDirective] }); }
282
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: CurrencyInputModule, imports: [CommonModule] }); }
280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CurrencyInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
281
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CurrencyInputModule, declarations: [CurrencyInputDirective], imports: [CommonModule], exports: [CurrencyInputDirective] }); }
282
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CurrencyInputModule, imports: [CommonModule] }); }
283
283
  }
284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: CurrencyInputModule, decorators: [{
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CurrencyInputModule, decorators: [{
285
285
  type: NgModule,
286
286
  args: [{
287
287
  declarations: [CurrencyInputDirective],