@theseam/ui-common 1.0.0-beta.9 → 1.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 (98) hide show
  1. package/buttons/index.d.ts +4 -1
  2. package/datatable/index.d.ts +44 -24
  3. package/fesm2022/theseam-ui-common-asset-reader.mjs +10 -10
  4. package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
  5. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +6 -6
  6. package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  7. package/fesm2022/theseam-ui-common-buttons.mjs +35 -28
  8. package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
  9. package/fesm2022/theseam-ui-common-card.mjs +16 -16
  10. package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
  11. package/fesm2022/theseam-ui-common-carousel.mjs +10 -10
  12. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
  13. package/fesm2022/theseam-ui-common-checkbox.mjs +7 -7
  14. package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
  15. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +13 -13
  16. package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  17. package/fesm2022/theseam-ui-common-data-exporter.mjs +31 -14
  18. package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
  19. package/fesm2022/theseam-ui-common-data-filters.mjs +13 -13
  20. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
  21. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +12 -12
  22. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
  23. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +25 -25
  24. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  25. package/fesm2022/theseam-ui-common-datatable.mjs +177 -145
  26. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  27. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  28. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  29. package/fesm2022/theseam-ui-common-dynamic.mjs +21 -21
  30. package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
  31. package/fesm2022/theseam-ui-common-footer-bar.mjs +7 -7
  32. package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
  33. package/fesm2022/theseam-ui-common-form-field-error.mjs +16 -16
  34. package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
  35. package/fesm2022/theseam-ui-common-form-field.mjs +22 -22
  36. package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
  37. package/fesm2022/theseam-ui-common-framework.mjs +157 -157
  38. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
  39. package/fesm2022/theseam-ui-common-google-maps.mjs +40 -40
  40. package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
  41. package/fesm2022/theseam-ui-common-graphql.mjs +3 -3
  42. package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
  43. package/fesm2022/theseam-ui-common-icon.mjs +13 -13
  44. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
  45. package/fesm2022/theseam-ui-common-layout.mjs +7 -7
  46. package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
  47. package/fesm2022/theseam-ui-common-loading.mjs +10 -10
  48. package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
  49. package/fesm2022/theseam-ui-common-menu.mjs +25 -25
  50. package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
  51. package/fesm2022/theseam-ui-common-modal.mjs +43 -43
  52. package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
  53. package/fesm2022/theseam-ui-common-navigation-reload.mjs +3 -3
  54. package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
  55. package/fesm2022/theseam-ui-common-popover.mjs +10 -10
  56. package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
  57. package/fesm2022/theseam-ui-common-progress.mjs +7 -7
  58. package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
  59. package/fesm2022/theseam-ui-common-rich-text.mjs +7 -7
  60. package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
  61. package/fesm2022/theseam-ui-common-scrollbar.mjs +6 -6
  62. package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
  63. package/fesm2022/theseam-ui-common-services.mjs +12 -12
  64. package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
  65. package/fesm2022/theseam-ui-common-shared.mjs +37 -37
  66. package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
  67. package/fesm2022/theseam-ui-common-storage.mjs +3 -3
  68. package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
  69. package/fesm2022/theseam-ui-common-story-helpers.mjs +26 -26
  70. package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
  71. package/fesm2022/theseam-ui-common-tabbed.mjs +22 -22
  72. package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
  73. package/fesm2022/theseam-ui-common-table-cell-type.mjs +10 -10
  74. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
  75. package/fesm2022/theseam-ui-common-table-cell-types.mjs +31 -31
  76. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
  77. package/fesm2022/theseam-ui-common-table.mjs +20 -28
  78. package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
  79. package/fesm2022/theseam-ui-common-tel-input.mjs +13 -13
  80. package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
  81. package/fesm2022/theseam-ui-common-tiled-select.mjs +22 -22
  82. package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
  83. package/fesm2022/theseam-ui-common-toggle-edit.mjs +16 -16
  84. package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
  85. package/fesm2022/theseam-ui-common-toggle-group.mjs +10 -10
  86. package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
  87. package/fesm2022/theseam-ui-common-tooltip.mjs +10 -10
  88. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
  89. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +10 -10
  90. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  91. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +3 -3
  92. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  93. package/fesm2022/theseam-ui-common-viewers.mjs +12 -12
  94. package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
  95. package/fesm2022/theseam-ui-common-widget.mjs +135 -135
  96. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
  97. package/package.json +54 -54
  98. package/table/index.d.ts +1 -5
@@ -45,8 +45,8 @@ class TheSeamPasswordInputRevealComponent {
45
45
  revealPassword() {
46
46
  this.passwordVisible = !this.passwordVisible;
47
47
  }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamPasswordInputRevealComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamPasswordInputRevealComponent, isStandalone: true, selector: "seam-password-input-reveal", inputs: { inputRef: "inputRef", passwordVisible: "passwordVisible" }, ngImport: i0, template: `
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamPasswordInputRevealComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamPasswordInputRevealComponent, isStandalone: true, selector: "seam-password-input-reveal", inputs: { inputRef: "inputRef", passwordVisible: "passwordVisible" }, ngImport: i0, template: `
50
50
  <fa-icon
51
51
  [icon]="passwordVisible ? faEyeSlash : faEye"
52
52
  class="password-reveal-icon"
@@ -54,7 +54,7 @@ class TheSeamPasswordInputRevealComponent {
54
54
  ></fa-icon>
55
55
  `, isInline: true, styles: [":host{display:flex;align-items:center;position:absolute;top:0;right:0;bottom:0;width:30px;transform:translateZ(0);z-index:50}:host fa-icon{opacity:1;color:#bababa;cursor:pointer}:host fa-icon ::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamPasswordInputRevealComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamPasswordInputRevealComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'seam-password-input-reveal', template: `
60
60
  <fa-icon
@@ -119,10 +119,10 @@ class TheSeamAutoFocusDirective {
119
119
  focus() {
120
120
  this._elementRef.nativeElement.focus();
121
121
  }
122
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamAutoFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
123
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamAutoFocusDirective, isStandalone: true, selector: "[seamAutoFocus]", inputs: { seamAutoFocus: "seamAutoFocus" }, exportAs: ["seamAutoFocus"], ngImport: i0 });
122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamAutoFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
123
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamAutoFocusDirective, isStandalone: true, selector: "[seamAutoFocus]", inputs: { seamAutoFocus: "seamAutoFocus" }, exportAs: ["seamAutoFocus"], ngImport: i0 });
124
124
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamAutoFocusDirective, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamAutoFocusDirective, decorators: [{
126
126
  type: Directive,
127
127
  args: [{
128
128
  selector: '[seamAutoFocus]',
@@ -166,10 +166,10 @@ class TheSeamClickOutsideDirective {
166
166
  }
167
167
  }
168
168
  }
169
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
170
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamClickOutsideDirective, isStandalone: true, selector: "[seamClickOutside]", inputs: { seamClickOutsideActive: "seamClickOutsideActive" }, outputs: { seamClickOutside: "seamClickOutside" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, exportAs: ["seamClickOutside"], ngImport: i0 });
169
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
170
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamClickOutsideDirective, isStandalone: true, selector: "[seamClickOutside]", inputs: { seamClickOutsideActive: "seamClickOutsideActive" }, outputs: { seamClickOutside: "seamClickOutside" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, exportAs: ["seamClickOutside"], ngImport: i0 });
171
171
  }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamClickOutsideDirective, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamClickOutsideDirective, decorators: [{
173
173
  type: Directive,
174
174
  args: [{
175
175
  selector: '[seamClickOutside]',
@@ -194,10 +194,10 @@ class TheSeamDisableControlDirective {
194
194
  control[action]();
195
195
  }
196
196
  }
197
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDisableControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
198
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamDisableControlDirective, isStandalone: true, selector: "[seamDisableControl]", inputs: { seamDisableControl: "seamDisableControl" }, exportAs: ["seamDisableControl"], ngImport: i0 });
197
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamDisableControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
198
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamDisableControlDirective, isStandalone: true, selector: "[seamDisableControl]", inputs: { seamDisableControl: "seamDisableControl" }, exportAs: ["seamDisableControl"], ngImport: i0 });
199
199
  }
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDisableControlDirective, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamDisableControlDirective, decorators: [{
201
201
  type: Directive,
202
202
  args: [{
203
203
  selector: '[seamDisableControl]',
@@ -222,10 +222,10 @@ class TheSeamElemResizedDirective {
222
222
  ngOnDestroy() {
223
223
  this.sensor?.detach();
224
224
  }
225
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamElemResizedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
226
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamElemResizedDirective, isStandalone: true, selector: "[seamElemResized]", outputs: { seamElemResized: "seamElemResized" }, exportAs: ["seamElemResized"], ngImport: i0 });
225
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamElemResizedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
226
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamElemResizedDirective, isStandalone: true, selector: "[seamElemResized]", outputs: { seamElemResized: "seamElemResized" }, exportAs: ["seamElemResized"], ngImport: i0 });
227
227
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamElemResizedDirective, decorators: [{
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamElemResizedDirective, decorators: [{
229
229
  type: Directive,
230
230
  args: [{
231
231
  selector: '[seamElemResized]',
@@ -307,10 +307,10 @@ class TheSeamHoverClassToggleDirective {
307
307
  _removeClass(c) {
308
308
  this._elementRef.nativeElement.classList.remove(c);
309
309
  }
310
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamHoverClassToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
311
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamHoverClassToggleDirective, isStandalone: true, selector: "[seamHoverClassToggle]", inputs: { seamHoverClassToggle: "seamHoverClassToggle" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "pointerover": "onPointerOver($event)", "pointerout": "onPointerOut($event)" } }, exportAs: ["seamHoverClassToggle"], ngImport: i0 });
310
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamHoverClassToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
311
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamHoverClassToggleDirective, isStandalone: true, selector: "[seamHoverClassToggle]", inputs: { seamHoverClassToggle: "seamHoverClassToggle" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "pointerover": "onPointerOver($event)", "pointerout": "onPointerOut($event)" } }, exportAs: ["seamHoverClassToggle"], ngImport: i0 });
312
312
  }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamHoverClassToggleDirective, decorators: [{
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamHoverClassToggleDirective, decorators: [{
314
314
  type: Directive,
315
315
  args: [{
316
316
  selector: '[seamHoverClassToggle]',
@@ -396,10 +396,10 @@ class TheSeamHoverClassDirective {
396
396
  _removeClass(c) {
397
397
  this._elementRef.nativeElement.classList.remove(c);
398
398
  }
399
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamHoverClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
400
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamHoverClassDirective, isStandalone: true, selector: "[seamHoverClass]", inputs: { seamHoverClass: "seamHoverClass" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "pointerover": "onPointerOver($event)", "pointerout": "onPointerOut($event)" } }, exportAs: ["seamHoverClass"], ngImport: i0 });
399
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamHoverClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
400
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamHoverClassDirective, isStandalone: true, selector: "[seamHoverClass]", inputs: { seamHoverClass: "seamHoverClass" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)", "pointerover": "onPointerOver($event)", "pointerout": "onPointerOut($event)" } }, exportAs: ["seamHoverClass"], ngImport: i0 });
401
401
  }
402
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamHoverClassDirective, decorators: [{
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamHoverClassDirective, decorators: [{
403
403
  type: Directive,
404
404
  args: [{
405
405
  selector: '[seamHoverClass]',
@@ -514,10 +514,10 @@ class TheSeamNgSelectExtraDirective {
514
514
  this._ngSelect.close();
515
515
  }
516
516
  };
517
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamNgSelectExtraDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
518
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamNgSelectExtraDirective, isStandalone: true, selector: "ng-select", host: { listeners: { "focus": "onFocus($event)" }, properties: { "attr.tabIndex": "this._tabIndex", "class.is-invalid": "this._isInvalid", "class.ng-empty-string-value": "this._isEmptyStringValue" } }, exportAs: ["seamNgSelectExtra"], ngImport: i0 });
517
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamNgSelectExtraDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
518
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamNgSelectExtraDirective, isStandalone: true, selector: "ng-select", host: { listeners: { "focus": "onFocus($event)" }, properties: { "attr.tabIndex": "this._tabIndex", "class.is-invalid": "this._isInvalid", "class.ng-empty-string-value": "this._isEmptyStringValue" } }, exportAs: ["seamNgSelectExtra"], ngImport: i0 });
519
519
  }
520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamNgSelectExtraDirective, decorators: [{
520
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamNgSelectExtraDirective, decorators: [{
521
521
  type: Directive,
522
522
  args: [{
523
523
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -584,10 +584,10 @@ class TheSeamNgxQuillExtraDirective {
584
584
  };
585
585
  return findElem(this._elementRef.nativeElement);
586
586
  }
587
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamNgxQuillExtraDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
588
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamNgxQuillExtraDirective, isStandalone: true, selector: "quill-editor", inputs: { tabIndex: "tabIndex" }, host: { properties: { "attr.tabindex": "this._attrTabIndex" } }, exportAs: ["seamNgxQuillExtra"], ngImport: i0 });
587
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamNgxQuillExtraDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
588
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: TheSeamNgxQuillExtraDirective, isStandalone: true, selector: "quill-editor", inputs: { tabIndex: "tabIndex" }, host: { properties: { "attr.tabindex": "this._attrTabIndex" } }, exportAs: ["seamNgxQuillExtra"], ngImport: i0 });
589
589
  }
590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamNgxQuillExtraDirective, decorators: [{
590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamNgxQuillExtraDirective, decorators: [{
591
591
  type: Directive,
592
592
  args: [{
593
593
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -613,10 +613,10 @@ class TheSeamMaskCharsPipe {
613
613
  }
614
614
  return value;
615
615
  }
616
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamMaskCharsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
617
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamMaskCharsPipe, isStandalone: true, name: "maskChars" });
616
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamMaskCharsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
617
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: TheSeamMaskCharsPipe, isStandalone: true, name: "maskChars" });
618
618
  }
619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamMaskCharsPipe, decorators: [{
619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamMaskCharsPipe, decorators: [{
620
620
  type: Pipe,
621
621
  args: [{
622
622
  name: 'maskChars',
@@ -634,10 +634,10 @@ class TheSeamTruncatePipe {
634
634
  }
635
635
  return val;
636
636
  }
637
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
638
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTruncatePipe, isStandalone: true, name: "truncate" });
637
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamTruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
638
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: TheSeamTruncatePipe, isStandalone: true, name: "truncate" });
639
639
  }
640
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamTruncatePipe, decorators: [{
640
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamTruncatePipe, decorators: [{
641
641
  type: Pipe,
642
642
  args: [{
643
643
  name: 'truncate',
@@ -645,8 +645,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
645
645
  }] });
646
646
 
647
647
  class TheSeamSharedModule {
648
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
649
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamSharedModule, imports: [TheSeamAutoFocusDirective,
648
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
649
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: TheSeamSharedModule, imports: [TheSeamAutoFocusDirective,
650
650
  TheSeamElemResizedDirective,
651
651
  TheSeamHoverClassToggleDirective,
652
652
  TheSeamNgSelectExtraDirective,
@@ -667,9 +667,9 @@ class TheSeamSharedModule {
667
667
  TheSeamMaskCharsPipe,
668
668
  TheSeamTruncatePipe,
669
669
  TheSeamNgxQuillExtraDirective] });
670
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamSharedModule, imports: [TheSeamPasswordInputRevealComponent] });
670
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamSharedModule, imports: [TheSeamPasswordInputRevealComponent] });
671
671
  }
672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamSharedModule, decorators: [{
672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TheSeamSharedModule, decorators: [{
673
673
  type: NgModule,
674
674
  args: [{
675
675
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-shared.mjs","sources":["../../../projects/ui-common/shared/components/password-input-reveal/password-input-reveal.component.ts","../../../projects/ui-common/shared/directives/auto-focus.directive.ts","../../../projects/ui-common/shared/directives/click-outside.directive.ts","../../../projects/ui-common/shared/directives/disable-control.directive.ts","../../../projects/ui-common/shared/directives/elem-resized.directive.ts","../../../projects/ui-common/shared/directives/hover-class-toggle.directive.ts","../../../projects/ui-common/shared/directives/hover-class.directive.ts","../../../projects/ui-common/shared/directives/ng-select-extra.directive.ts","../../../projects/ui-common/shared/directives/ngx-quill-extra.directive.ts","../../../projects/ui-common/shared/pipes/mask-chars.pipe.ts","../../../projects/ui-common/shared/pipes/truncate.pipe.ts","../../../projects/ui-common/shared/shared.module.ts","../../../projects/ui-common/shared/theseam-ui-common-shared.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Component, Input } from '@angular/core'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons'\n\n@Component({\n selector: 'seam-password-input-reveal',\n template: `\n <fa-icon\n [icon]=\"passwordVisible ? faEyeSlash : faEye\"\n class=\"password-reveal-icon\"\n (click)=\"revealPassword()\"\n ></fa-icon>\n `,\n styles: [\n `\n :host {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 30px;\n transform: translateZ(0);\n z-index: 50;\n }\n\n :host fa-icon {\n opacity: 1;\n color: #bababa;\n /* margin-top: 3px; */ /* Not needed now? */\n cursor: pointer;\n }\n\n :host fa-icon ::ng-deep .svg-inline--fa {\n vertical-align: middle;\n }\n `,\n ],\n imports: [FontAwesomeModule],\n})\nexport class TheSeamPasswordInputRevealComponent {\n static ngAcceptInputType_passwordVisible: BooleanInput\n\n readonly faEye = faEye\n readonly faEyeSlash = faEyeSlash\n\n @Input()\n get inputRef(): HTMLInputElement | undefined | null {\n return this._passwordInput\n }\n set inputRef(value: HTMLInputElement | undefined | null) {\n this._passwordInput = value\n this.updateRevealState()\n if (this._passwordInput) {\n this._passwordInput.style.paddingRight = '40px'\n this._passwordInput.classList.add('no-native-eye')\n }\n }\n private _passwordInput: HTMLInputElement | undefined | null\n\n @Input()\n get passwordVisible() {\n return this._passwordVisible\n }\n set passwordVisible(value: boolean) {\n this._passwordVisible = coerceBooleanProperty(value)\n this.updateRevealState()\n }\n public _passwordVisible = false\n\n public updateRevealState(): void {\n if (this._passwordInput) {\n this._passwordInput.type = this.passwordVisible ? 'text' : 'password'\n }\n }\n\n public revealPassword(): void {\n this.passwordVisible = !this.passwordVisible\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Directive, ElementRef, inject, Input, OnInit } from '@angular/core'\n\nimport { getClosestModal, Modal, ModalRef } from '@theseam/ui-common/modal'\n\n/**\n * Directive that will focus the element when initialized.\n *\n * If the element is inside a modal, it will wait until the modal is opened before focusing.\n *\n * If the element will be initialized multiple times or while a form is being filled out\n * don't use this directive.\n *\n * Usage:\n * ```html\n * <input type=\"text\" seamAutoFocus />\n * ```\n */\n@Directive({\n selector: '[seamAutoFocus]',\n exportAs: 'seamAutoFocus',\n})\nexport class TheSeamAutoFocusDirective implements OnInit {\n static ngAcceptInputType_seamAutoFocus: BooleanInput\n\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n private readonly _modal = inject(Modal, { optional: true })\n private readonly _modalRef = inject(ModalRef, { optional: true })\n\n private _focus = true\n\n public modalRef: ModalRef<any> | undefined | null = this._modalRef\n\n @Input()\n set seamAutoFocus(condition: boolean) {\n this._focus = coerceBooleanProperty(condition) !== false\n }\n\n ngOnInit() {\n if (!this.modalRef && this._modal) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.modalRef = getClosestModal(this._elementRef, this._modal.openDialogs)\n }\n\n if (!this.modalRef) {\n if (this._focus) {\n setTimeout(() => {\n this.focus()\n })\n }\n } else {\n this.modalRef.afterOpened().subscribe(() => {\n setTimeout(() => {\n this.focus()\n })\n })\n }\n }\n\n public focus() {\n this._elementRef.nativeElement.focus()\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n} from '@angular/core'\n\n@Directive({\n selector: '[seamClickOutside]',\n exportAs: 'seamClickOutside',\n})\nexport class TheSeamClickOutsideDirective {\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n\n @Input()\n get seamClickOutsideActive(): boolean {\n return this._active\n }\n set seamClickOutsideActive(value: boolean) {\n if (this._active === value) {\n return\n }\n\n if (value) {\n // `setTimeout` is used to avoid the click event triggering when the value\n // changes if the value was changed with a click.\n setTimeout(() => {\n this._active = value\n })\n } else {\n this._active = value\n }\n }\n private _active = true\n\n @Output() seamClickOutside = new EventEmitter<MouseEvent>()\n\n // NOTE: This should probably be changed from a `HostListener` to allow the\n // subscription to be unsubscribed.\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (this._active) {\n const targetElement = event.target as HTMLElement\n // Check if the click was outside the element\n if (\n targetElement &&\n !this._elementRef.nativeElement.contains(targetElement)\n ) {\n this.seamClickOutside.emit(event)\n }\n }\n }\n}\n","import { Directive, inject, Input } from '@angular/core'\nimport { NgControl } from '@angular/forms'\n\n// Source: https://netbasal.com/disabling-form-controls-when-working-with-reactive-forms-in-angular-549dd7b42110\n\n@Directive({\n selector: '[seamDisableControl]',\n exportAs: 'seamDisableControl',\n})\nexport class TheSeamDisableControlDirective {\n private readonly _ngControl = inject(NgControl)\n\n @Input() set seamDisableControl(condition: boolean) {\n const action = condition ? 'disable' : 'enable'\n const control = this._ngControl.control\n if (control) {\n control[action]()\n }\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n OnDestroy,\n Output,\n} from '@angular/core'\n\nimport { ResizeSensor } from 'css-element-queries'\n\nexport interface TheSeamElementResizedEvent {\n element: HTMLElement\n size: { width: number; height: number }\n}\n\n@Directive({\n selector: '[seamElemResized]',\n exportAs: 'seamElemResized',\n})\nexport class TheSeamElemResizedDirective implements OnDestroy, AfterViewInit {\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n\n @Output() seamElemResized = new EventEmitter<TheSeamElementResizedEvent>()\n\n sensor?: ResizeSensor\n\n ngAfterViewInit() {\n this.sensor = new ResizeSensor(this._elementRef.nativeElement, (event) => {\n this.seamElemResized.emit({\n element: this._elementRef.nativeElement,\n size: event,\n })\n })\n }\n\n ngOnDestroy() {\n this.sensor?.detach()\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n inject,\n Input,\n} from '@angular/core'\n\ndeclare type _PointerEvent = PointerEvent | PointerEvent\n\nexport interface TheSeamHoverClassToggleRecord {\n default: string\n hover: string\n}\n\n/**\n * Don't use this directive unless there is a reason not to use css `:hover`,\n * because the accuracy of detecting the hover is not as good. If an element is\n * moved while the mouse is idle the hover class will remain until the mouse\n * enters and leaves again.\n *\n * I have tried multiple ways of detecting the mouse no longer hovering, but all\n * have introduced a slight performance issue that just builds for each element\n * containing this directive.\n */\n@Directive({\n selector: '[seamHoverClassToggle]',\n exportAs: 'seamHoverClassToggle',\n})\nexport class TheSeamHoverClassToggleDirective {\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n\n private _hovered = false\n private _defaultClasses: string[] = []\n private _hoverClasses: string[] = []\n\n @HostListener('mouseover', ['$event']) onMouseOver($event: MouseEvent) {\n this._setHovered(true)\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut($event: MouseEvent) {\n this._setHovered(false)\n }\n\n @HostListener('pointerover', ['$event']) onPointerOver(\n $event: _PointerEvent,\n ) {\n this._setHovered(true)\n }\n\n @HostListener('pointerout', ['$event']) onPointerOut($event: _PointerEvent) {\n this._setHovered(false)\n }\n\n @Input()\n set seamHoverClassToggle(value: TheSeamHoverClassToggleRecord) {\n if (value) {\n if (value.default) {\n this._defaultClasses = value.default\n .split(' ')\n .filter((c) => c.length > 0)\n }\n if (value.hover) {\n this._hoverClasses = value.hover.split(' ').filter((c) => c.length > 0)\n }\n }\n\n this._hoverClasses = this._hoverClasses.filter(\n (v) => !this._defaultClasses.find((_v) => _v === v),\n )\n\n this._update()\n }\n\n private _update(): void {\n for (const c of this._defaultClasses) {\n if (this._hovered) {\n this._removeClass(c)\n } else {\n this._addClass(c)\n }\n }\n for (const c of this._hoverClasses) {\n if (this._hovered) {\n this._addClass(c)\n } else {\n this._removeClass(c)\n }\n }\n }\n\n private _setHovered(hovered: boolean) {\n const doUpdate = this._hovered !== hovered\n this._hovered = hovered\n if (doUpdate) {\n this._update()\n }\n }\n\n private _addClass(c: string): void {\n this._elementRef.nativeElement.classList.add(c)\n }\n\n public _removeClass(c: string): void {\n this._elementRef.nativeElement.classList.remove(c)\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n inject,\n Input,\n} from '@angular/core'\n\ndeclare type _PointerEvent = PointerEvent | PointerEvent\n\n/**\n * Changes a css class on mouse pointer hover.\n *\n * NOTE: Only use this if css `:hover` can't be used, because css is more\n * accurate and better performing.\n *\n * NOTE: Don't use this directive unless there is a reason not to use css\n * `:hover`, because the accuracy of detecting the hover is not as good. If an\n * element is moved while the mouse is idle the hover class will remain until\n * the mouse enters and leaves again.\n *\n * NOTE: I have tried multiple ways of detecting the mouse no longer hovering,\n * but all have introduced a slight performance issue that just builds for each\n * element containing this directive.\n */\n@Directive({\n selector: '[seamHoverClass]',\n exportAs: 'seamHoverClass',\n})\nexport class TheSeamHoverClassDirective {\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n\n private _hovered = false\n private _classes: string[] = []\n\n @HostListener('mouseover', ['$event']) onMouseOver($event: MouseEvent) {\n this._setHovered(true)\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut($event: MouseEvent) {\n this._setHovered(false)\n }\n\n @HostListener('pointerover', ['$event']) onPointerOver(\n $event: _PointerEvent,\n ) {\n this._setHovered(true)\n }\n\n @HostListener('pointerout', ['$event']) onPointerOut($event: _PointerEvent) {\n this._setHovered(false)\n }\n\n @Input()\n set seamHoverClass(classList: string) {\n const newClasses = classList.split(' ').filter((c) => c.length > 0)\n for (const c of this._classes) {\n if (newClasses.indexOf(c) !== 0) {\n this._removeClass(c)\n }\n }\n this._classes = newClasses\n this._update()\n }\n\n private _update(): void {\n for (const c of this._classes) {\n if (this._hovered) {\n this._addClass(c)\n } else {\n this._removeClass(c)\n }\n }\n }\n\n private _setHovered(hovered: boolean) {\n const doUpdate = this._hovered !== hovered\n this._hovered = hovered\n if (doUpdate) {\n this._update()\n }\n }\n\n private _addClass(c: string): void {\n this._elementRef.nativeElement.classList.add(c)\n }\n\n public _removeClass(c: string): void {\n this._elementRef.nativeElement.classList.remove(c)\n }\n}\n","import {\n AfterViewChecked,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core'\nimport { NgControl } from '@angular/forms'\nimport { Subject, Subscription } from 'rxjs'\nimport { filter, takeUntil } from 'rxjs/operators'\n\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select'\n// import { ResizeSensor } from 'css-element-queries'\n\n// import { TheSeamElementResizedEvent } from './elem-resized.directive'\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'ng-select',\n exportAs: 'seamNgSelectExtra',\n})\nexport class TheSeamNgSelectExtraDirective\n implements OnInit, AfterViewChecked, OnDestroy\n{\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n private readonly _ngSelect = inject(NgSelectComponent)\n private readonly _ngControl = inject<NgControl | null>(NgControl, {\n optional: true,\n self: true,\n })\n\n /**\n * Set the tab index to `-1` to allow the root element of the ng-select\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @HostBinding('attr.tabIndex')\n get _tabIndex() {\n return this._ngSelect.disabled() ? undefined : -1\n }\n\n /**\n * Listening for focus event on root of component to allow javascript\n * `focus()` function to trigger the components focus.\n */\n @HostListener('focus', ['$event']) onFocus($event: FocusEvent) {\n const target = $event.target as HTMLElement\n if (\n target === this._elementRef.nativeElement &&\n !this._ngSelect.disabled()\n ) {\n this._ngSelect.focus()\n }\n }\n\n @HostBinding('class.is-invalid') get _isInvalid() {\n return this._ngControl\n ? this._ngControl.invalid &&\n (this._ngControl.dirty || this._ngControl.touched)\n : false\n }\n\n @HostBinding('class.ng-empty-string-value') get _isEmptyStringValue() {\n return this._ngControl ? this._ngControl.value === '' : false\n }\n\n ngOnInit() {\n // this._ngSelect.focusEvent\n // .subscribe(v => this._enableKeyPressWorkaround())\n\n // this._ngSelect.blurEvent\n // .subscribe(v => this._disableKeyPressWorkaround())\n\n window.addEventListener('scroll', this._onScroll, true)\n\n // When the input is allowed to change its height the position doesn't update itself.\n // this._resizedEvent.pipe(\n // auditTime(30)\n // ).subscribe(event => {\n // if (this._elementRef && this._elementRef.nativeElement) {\n // if (this._elementRef.nativeElement.classList.contains('ng-select-value-grow-h')) {\n // if (this._ngSelect.isOpen && this._ngSelect.dropdownPanel) {\n // this._ngSelect.dropdownPanel.updateDropdownPosition()\n // }\n // } else {\n // this._elementRef.nativeElement.classList.remove('ng-select-value-grow-h')\n // }\n // }\n // })\n\n // this._patch_ngSelect_open()\n }\n\n ngOnDestroy() {\n // this._resizeSensor?.detach()\n\n window.removeEventListener('scroll', this._onScroll, true)\n\n // this._ngUnsubscribe.next(undefined)\n // this._ngUnsubscribe.complete()\n }\n\n ngAfterViewChecked() {\n // const dropPanel = this._ngSelect.dropdownPanel() as any\n // if (dropPanel) {\n // if (this._checkMarked) {\n // if (dropPanel && this._markedItem !== null) {\n // if (this._markedItem.index !== dropPanel.markedItem.index) {\n // dropPanel.scrollTo(dropPanel.markedItem)\n // }\n // }\n // }\n // }\n // this._checkMarked = false\n // this._resizeSensor = new ResizeSensor(this._elementRef.nativeElement, event => {\n // this._resizedEvent.emit({ element: this._elementRef.nativeElement, size: event })\n // })\n }\n\n private _onScroll = (event: any) => {\n if (this._ngSelect && this._ngSelect.isOpen()) {\n const isScrollingInScrollHost =\n (event.target.className as string).indexOf(\n 'ng-dropdown-panel-items',\n ) !== -1\n const isInSensor =\n (event.target.className as string).indexOf('resize-sensor-shrink') !==\n -1 ||\n (event.target.className as string).indexOf(\n 'os-resize-observer-host',\n ) !== -1\n if (isScrollingInScrollHost || isInSensor) {\n return\n }\n this._ngSelect.close()\n }\n }\n\n /**\n * Temp fix for: https://github.com/ng-select/ng-select/issues/1122\n */\n // private _patch_ngSelect_open() {\n // const original = this._ngSelect.open\n // const _self = this\n // this._ngSelect.open = function() {\n // original.apply(this, arguments)\n // _self._patch_ngSelectDropdownPanel_updateDropdownPosition()\n // }\n // }\n\n /** Should ONLY be called by `_patch_ngSelect_open`. */\n // private _patch_ngSelectDropdownPanel_updateDropdownPosition() {\n // if (!this._ngSelect.dropdownPanel) { return }\n // const drop: any = this._ngSelect.dropdownPanel\n // // Only needed once, to update the position before the timeout in\n // // `updateDropdownPosition()`. So, using this variable to check if I already called\n // // `_updateAppendedDropdownPosition()`.\n // if (!drop.__libPatched) {\n // drop.__libPatched = 'patched'\n // const original = drop.updateDropdownPosition\n // const _self = this\n // drop.updateDropdownPosition = function() {\n // original.apply(this, arguments)\n // if (!!_self._ngSelect.appendTo) {\n // drop._updateAppendedDropdownPosition()\n // }\n // }\n // }\n // }\n\n // private _enableKeyPressWorkaround() {\n // if (this._keyPressWorkaroundSub) { return }\n // const _ngSelect = this._ngSelect as any\n\n // this._keyPressWorkaroundSub = _ngSelect._keyPress$\n // .pipe(takeUntil(this._ngUnsubscribe))\n // .pipe(filter(() => !this._ngSelect.searchable()))\n // .subscribe(() => {\n // this._ngZone.runOutsideAngular(() => {\n // window.requestAnimationFrame(() => {\n // if (this._ngSelect.dropdownPanel()) {\n // this._markedItem = this._ngSelect.dropdownPanel().markedItem()\n // }\n // this._checkMarked = true\n // })\n // })\n // })\n // }\n\n // private _disableKeyPressWorkaround() {\n // if (this._keyPressWorkaroundSub) {\n // this._keyPressWorkaroundSub.unsubscribe()\n // this._keyPressWorkaroundSub = null\n // }\n // }\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion'\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n} from '@angular/core'\nimport { fromEvent, Subject } from 'rxjs'\nimport { filter, takeUntil, tap } from 'rxjs/operators'\n\nimport { QuillEditorComponent } from 'ngx-quill'\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'quill-editor',\n exportAs: 'seamNgxQuillExtra',\n})\nexport class TheSeamNgxQuillExtraDirective implements OnDestroy, AfterViewInit {\n private readonly _elementRef: ElementRef<HTMLElement> = inject(\n ElementRef<HTMLElement>,\n )\n private readonly _quillEditor: QuillEditorComponent =\n inject(QuillEditorComponent)\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _tabIndex = -1\n\n /**\n * Set the tab index to `-1` to allow the root element of the\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @Input()\n set tabIndex(value: number) {\n this._tabIndex = coerceNumberProperty(value)\n }\n get tabIndex(): number {\n return this._tabIndex\n }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() {\n return this._quillEditor.disabled ? -1 : this.tabIndex || 0\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n const parent = this._getParentElementForLabelFocusIssue()\n if (parent) {\n // NOTE: This is a hack to avoid an issue letting a label with \"for\"\n // attribute focus the control.\n fromEvent(parent, 'click')\n .pipe(\n takeUntil(this._ngUnsubscribe),\n filter(\n (e) =>\n (e.target as HTMLElement)?.getAttribute('for') ===\n this._elementRef.nativeElement.id,\n ),\n tap(() => this._quillEditor.quillEditor.focus()),\n )\n .subscribe()\n }\n }\n\n private _getParentElementForLabelFocusIssue(): HTMLElement | undefined {\n const findElem = (elem: HTMLElement): any => {\n if (elem.nodeName.toLowerCase() === 'seam-form-field') {\n return elem\n }\n\n if (elem.parentElement) {\n return findElem(elem.parentElement)\n }\n\n return elem\n }\n\n return findElem(this._elementRef.nativeElement)\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { padEnd, padStart } from '@theseam/ui-common/utils'\n\n@Pipe({\n name: 'maskChars',\n})\nexport class TheSeamMaskCharsPipe implements PipeTransform {\n transform(\n value: string,\n replacementChar: string = '*',\n ignoreCount: number = 0,\n ignoreFrom: 'left' | 'right' = 'right',\n ): string {\n if (ignoreFrom === 'right') {\n const s = value || ''\n return padStart(\n s.substring(s.length - ignoreCount, s.length),\n s.length,\n replacementChar,\n )\n } else if (ignoreFrom === 'left') {\n const s = value || ''\n return padEnd(s.substring(0, ignoreCount), s.length, replacementChar)\n }\n\n return value\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'truncate',\n})\nexport class TheSeamTruncatePipe implements PipeTransform {\n transform(\n value: string,\n length: number = 30,\n appendEllipsis: boolean = true,\n ): string {\n let val = value\n\n if (value && typeof value === 'string' && value.length > length) {\n val = value.substr(0, length)\n if (appendEllipsis) {\n val += '...'\n }\n }\n\n return val\n }\n}\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamAutoFocusDirective } from './directives/auto-focus.directive'\nimport { TheSeamClickOutsideDirective } from './directives/click-outside.directive'\nimport { TheSeamDisableControlDirective } from './directives/disable-control.directive'\nimport { TheSeamElemResizedDirective } from './directives/elem-resized.directive'\nimport { TheSeamHoverClassToggleDirective } from './directives/hover-class-toggle.directive'\nimport { TheSeamHoverClassDirective } from './directives/hover-class.directive'\nimport { TheSeamNgSelectExtraDirective } from './directives/ng-select-extra.directive'\nimport { TheSeamNgxQuillExtraDirective } from './directives/ngx-quill-extra.directive'\n\nimport { TheSeamMaskCharsPipe } from './pipes/mask-chars.pipe'\nimport { TheSeamTruncatePipe } from './pipes/truncate.pipe'\n\nimport { TheSeamPasswordInputRevealComponent } from './components/password-input-reveal/password-input-reveal.component'\n\n@NgModule({\n imports: [\n TheSeamAutoFocusDirective,\n TheSeamElemResizedDirective,\n TheSeamHoverClassToggleDirective,\n TheSeamNgSelectExtraDirective,\n TheSeamHoverClassDirective,\n TheSeamClickOutsideDirective,\n TheSeamDisableControlDirective,\n TheSeamNgxQuillExtraDirective,\n TheSeamMaskCharsPipe,\n TheSeamTruncatePipe,\n TheSeamPasswordInputRevealComponent,\n ],\n exports: [\n TheSeamAutoFocusDirective,\n TheSeamElemResizedDirective,\n TheSeamPasswordInputRevealComponent,\n TheSeamNgSelectExtraDirective,\n TheSeamHoverClassDirective,\n TheSeamHoverClassToggleDirective,\n TheSeamClickOutsideDirective,\n TheSeamDisableControlDirective,\n TheSeamMaskCharsPipe,\n TheSeamTruncatePipe,\n TheSeamNgxQuillExtraDirective,\n ],\n})\nexport class TheSeamSharedModule {}\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":"theseam-ui-common-shared.mjs","sources":["../../../projects/ui-common/shared/components/password-input-reveal/password-input-reveal.component.ts","../../../projects/ui-common/shared/directives/auto-focus.directive.ts","../../../projects/ui-common/shared/directives/click-outside.directive.ts","../../../projects/ui-common/shared/directives/disable-control.directive.ts","../../../projects/ui-common/shared/directives/elem-resized.directive.ts","../../../projects/ui-common/shared/directives/hover-class-toggle.directive.ts","../../../projects/ui-common/shared/directives/hover-class.directive.ts","../../../projects/ui-common/shared/directives/ng-select-extra.directive.ts","../../../projects/ui-common/shared/directives/ngx-quill-extra.directive.ts","../../../projects/ui-common/shared/pipes/mask-chars.pipe.ts","../../../projects/ui-common/shared/pipes/truncate.pipe.ts","../../../projects/ui-common/shared/shared.module.ts","../../../projects/ui-common/shared/theseam-ui-common-shared.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Component, Input } from '@angular/core'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons'\n\n@Component({\n selector: 'seam-password-input-reveal',\n template: `\n <fa-icon\n [icon]=\"passwordVisible ? faEyeSlash : faEye\"\n class=\"password-reveal-icon\"\n (click)=\"revealPassword()\"\n ></fa-icon>\n `,\n styles: [\n `\n :host {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 30px;\n transform: translateZ(0);\n z-index: 50;\n }\n\n :host fa-icon {\n opacity: 1;\n color: #bababa;\n /* margin-top: 3px; */ /* Not needed now? */\n cursor: pointer;\n }\n\n :host fa-icon ::ng-deep .svg-inline--fa {\n vertical-align: middle;\n }\n `,\n ],\n imports: [FontAwesomeModule],\n})\nexport class TheSeamPasswordInputRevealComponent {\n static ngAcceptInputType_passwordVisible: BooleanInput\n\n readonly faEye = faEye\n readonly faEyeSlash = faEyeSlash\n\n @Input()\n get inputRef(): HTMLInputElement | undefined | null {\n return this._passwordInput\n }\n set inputRef(value: HTMLInputElement | undefined | null) {\n this._passwordInput = value\n this.updateRevealState()\n if (this._passwordInput) {\n this._passwordInput.style.paddingRight = '40px'\n this._passwordInput.classList.add('no-native-eye')\n }\n }\n private _passwordInput: HTMLInputElement | undefined | null\n\n @Input()\n get passwordVisible() {\n return this._passwordVisible\n }\n set passwordVisible(value: boolean) {\n this._passwordVisible = coerceBooleanProperty(value)\n this.updateRevealState()\n }\n public _passwordVisible = false\n\n public updateRevealState(): void {\n if (this._passwordInput) {\n this._passwordInput.type = this.passwordVisible ? 'text' : 'password'\n }\n }\n\n public revealPassword(): void {\n this.passwordVisible = !this.passwordVisible\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Directive, ElementRef, inject, Input, OnInit } from '@angular/core'\n\nimport { getClosestModal, Modal, ModalRef } from '@theseam/ui-common/modal'\n\n/**\n * Directive that will focus the element when initialized.\n *\n * If the element is inside a modal, it will wait until the modal is opened before focusing.\n *\n * If the element will be initialized multiple times or while a form is being filled out\n * don't use this directive.\n *\n * Usage:\n * ```html\n * <input type=\"text\" seamAutoFocus />\n * ```\n */\n@Directive({\n selector: '[seamAutoFocus]',\n exportAs: 'seamAutoFocus',\n})\nexport class TheSeamAutoFocusDirective implements OnInit {\n static ngAcceptInputType_seamAutoFocus: BooleanInput\n\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n private readonly _modal = inject(Modal, { optional: true })\n private readonly _modalRef = inject(ModalRef, { optional: true })\n\n private _focus = true\n\n public modalRef: ModalRef<any> | undefined | null = this._modalRef\n\n @Input()\n set seamAutoFocus(condition: boolean) {\n this._focus = coerceBooleanProperty(condition) !== false\n }\n\n ngOnInit() {\n if (!this.modalRef && this._modal) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.modalRef = getClosestModal(this._elementRef, this._modal.openDialogs)\n }\n\n if (!this.modalRef) {\n if (this._focus) {\n setTimeout(() => {\n this.focus()\n })\n }\n } else {\n this.modalRef.afterOpened().subscribe(() => {\n setTimeout(() => {\n this.focus()\n })\n })\n }\n }\n\n public focus() {\n this._elementRef.nativeElement.focus()\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n} from '@angular/core'\n\n@Directive({\n selector: '[seamClickOutside]',\n exportAs: 'seamClickOutside',\n})\nexport class TheSeamClickOutsideDirective {\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n\n @Input()\n get seamClickOutsideActive(): boolean {\n return this._active\n }\n set seamClickOutsideActive(value: boolean) {\n if (this._active === value) {\n return\n }\n\n if (value) {\n // `setTimeout` is used to avoid the click event triggering when the value\n // changes if the value was changed with a click.\n setTimeout(() => {\n this._active = value\n })\n } else {\n this._active = value\n }\n }\n private _active = true\n\n @Output() seamClickOutside = new EventEmitter<MouseEvent>()\n\n // NOTE: This should probably be changed from a `HostListener` to allow the\n // subscription to be unsubscribed.\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (this._active) {\n const targetElement = event.target as HTMLElement\n // Check if the click was outside the element\n if (\n targetElement &&\n !this._elementRef.nativeElement.contains(targetElement)\n ) {\n this.seamClickOutside.emit(event)\n }\n }\n }\n}\n","import { Directive, inject, Input } from '@angular/core'\nimport { NgControl } from '@angular/forms'\n\n// Source: https://netbasal.com/disabling-form-controls-when-working-with-reactive-forms-in-angular-549dd7b42110\n\n@Directive({\n selector: '[seamDisableControl]',\n exportAs: 'seamDisableControl',\n})\nexport class TheSeamDisableControlDirective {\n private readonly _ngControl = inject(NgControl)\n\n @Input() set seamDisableControl(condition: boolean) {\n const action = condition ? 'disable' : 'enable'\n const control = this._ngControl.control\n if (control) {\n control[action]()\n }\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n OnDestroy,\n Output,\n} from '@angular/core'\n\nimport { ResizeSensor } from 'css-element-queries'\n\nexport interface TheSeamElementResizedEvent {\n element: HTMLElement\n size: { width: number; height: number }\n}\n\n@Directive({\n selector: '[seamElemResized]',\n exportAs: 'seamElemResized',\n})\nexport class TheSeamElemResizedDirective implements OnDestroy, AfterViewInit {\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n\n @Output() seamElemResized = new EventEmitter<TheSeamElementResizedEvent>()\n\n sensor?: ResizeSensor\n\n ngAfterViewInit() {\n this.sensor = new ResizeSensor(this._elementRef.nativeElement, (event) => {\n this.seamElemResized.emit({\n element: this._elementRef.nativeElement,\n size: event,\n })\n })\n }\n\n ngOnDestroy() {\n this.sensor?.detach()\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n inject,\n Input,\n} from '@angular/core'\n\ndeclare type _PointerEvent = PointerEvent | PointerEvent\n\nexport interface TheSeamHoverClassToggleRecord {\n default: string\n hover: string\n}\n\n/**\n * Don't use this directive unless there is a reason not to use css `:hover`,\n * because the accuracy of detecting the hover is not as good. If an element is\n * moved while the mouse is idle the hover class will remain until the mouse\n * enters and leaves again.\n *\n * I have tried multiple ways of detecting the mouse no longer hovering, but all\n * have introduced a slight performance issue that just builds for each element\n * containing this directive.\n */\n@Directive({\n selector: '[seamHoverClassToggle]',\n exportAs: 'seamHoverClassToggle',\n})\nexport class TheSeamHoverClassToggleDirective {\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n\n private _hovered = false\n private _defaultClasses: string[] = []\n private _hoverClasses: string[] = []\n\n @HostListener('mouseover', ['$event']) onMouseOver($event: MouseEvent) {\n this._setHovered(true)\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut($event: MouseEvent) {\n this._setHovered(false)\n }\n\n @HostListener('pointerover', ['$event']) onPointerOver(\n $event: _PointerEvent,\n ) {\n this._setHovered(true)\n }\n\n @HostListener('pointerout', ['$event']) onPointerOut($event: _PointerEvent) {\n this._setHovered(false)\n }\n\n @Input()\n set seamHoverClassToggle(value: TheSeamHoverClassToggleRecord) {\n if (value) {\n if (value.default) {\n this._defaultClasses = value.default\n .split(' ')\n .filter((c) => c.length > 0)\n }\n if (value.hover) {\n this._hoverClasses = value.hover.split(' ').filter((c) => c.length > 0)\n }\n }\n\n this._hoverClasses = this._hoverClasses.filter(\n (v) => !this._defaultClasses.find((_v) => _v === v),\n )\n\n this._update()\n }\n\n private _update(): void {\n for (const c of this._defaultClasses) {\n if (this._hovered) {\n this._removeClass(c)\n } else {\n this._addClass(c)\n }\n }\n for (const c of this._hoverClasses) {\n if (this._hovered) {\n this._addClass(c)\n } else {\n this._removeClass(c)\n }\n }\n }\n\n private _setHovered(hovered: boolean) {\n const doUpdate = this._hovered !== hovered\n this._hovered = hovered\n if (doUpdate) {\n this._update()\n }\n }\n\n private _addClass(c: string): void {\n this._elementRef.nativeElement.classList.add(c)\n }\n\n public _removeClass(c: string): void {\n this._elementRef.nativeElement.classList.remove(c)\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n inject,\n Input,\n} from '@angular/core'\n\ndeclare type _PointerEvent = PointerEvent | PointerEvent\n\n/**\n * Changes a css class on mouse pointer hover.\n *\n * NOTE: Only use this if css `:hover` can't be used, because css is more\n * accurate and better performing.\n *\n * NOTE: Don't use this directive unless there is a reason not to use css\n * `:hover`, because the accuracy of detecting the hover is not as good. If an\n * element is moved while the mouse is idle the hover class will remain until\n * the mouse enters and leaves again.\n *\n * NOTE: I have tried multiple ways of detecting the mouse no longer hovering,\n * but all have introduced a slight performance issue that just builds for each\n * element containing this directive.\n */\n@Directive({\n selector: '[seamHoverClass]',\n exportAs: 'seamHoverClass',\n})\nexport class TheSeamHoverClassDirective {\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n\n private _hovered = false\n private _classes: string[] = []\n\n @HostListener('mouseover', ['$event']) onMouseOver($event: MouseEvent) {\n this._setHovered(true)\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut($event: MouseEvent) {\n this._setHovered(false)\n }\n\n @HostListener('pointerover', ['$event']) onPointerOver(\n $event: _PointerEvent,\n ) {\n this._setHovered(true)\n }\n\n @HostListener('pointerout', ['$event']) onPointerOut($event: _PointerEvent) {\n this._setHovered(false)\n }\n\n @Input()\n set seamHoverClass(classList: string) {\n const newClasses = classList.split(' ').filter((c) => c.length > 0)\n for (const c of this._classes) {\n if (newClasses.indexOf(c) !== 0) {\n this._removeClass(c)\n }\n }\n this._classes = newClasses\n this._update()\n }\n\n private _update(): void {\n for (const c of this._classes) {\n if (this._hovered) {\n this._addClass(c)\n } else {\n this._removeClass(c)\n }\n }\n }\n\n private _setHovered(hovered: boolean) {\n const doUpdate = this._hovered !== hovered\n this._hovered = hovered\n if (doUpdate) {\n this._update()\n }\n }\n\n private _addClass(c: string): void {\n this._elementRef.nativeElement.classList.add(c)\n }\n\n public _removeClass(c: string): void {\n this._elementRef.nativeElement.classList.remove(c)\n }\n}\n","import {\n AfterViewChecked,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core'\nimport { NgControl } from '@angular/forms'\nimport { Subject, Subscription } from 'rxjs'\nimport { filter, takeUntil } from 'rxjs/operators'\n\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select'\n// import { ResizeSensor } from 'css-element-queries'\n\n// import { TheSeamElementResizedEvent } from './elem-resized.directive'\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'ng-select',\n exportAs: 'seamNgSelectExtra',\n})\nexport class TheSeamNgSelectExtraDirective\n implements OnInit, AfterViewChecked, OnDestroy\n{\n private readonly _elementRef = inject(ElementRef<HTMLElement>)\n private readonly _ngSelect = inject(NgSelectComponent)\n private readonly _ngControl = inject<NgControl | null>(NgControl, {\n optional: true,\n self: true,\n })\n\n /**\n * Set the tab index to `-1` to allow the root element of the ng-select\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @HostBinding('attr.tabIndex')\n get _tabIndex() {\n return this._ngSelect.disabled() ? undefined : -1\n }\n\n /**\n * Listening for focus event on root of component to allow javascript\n * `focus()` function to trigger the components focus.\n */\n @HostListener('focus', ['$event']) onFocus($event: FocusEvent) {\n const target = $event.target as HTMLElement\n if (\n target === this._elementRef.nativeElement &&\n !this._ngSelect.disabled()\n ) {\n this._ngSelect.focus()\n }\n }\n\n @HostBinding('class.is-invalid') get _isInvalid() {\n return this._ngControl\n ? this._ngControl.invalid &&\n (this._ngControl.dirty || this._ngControl.touched)\n : false\n }\n\n @HostBinding('class.ng-empty-string-value') get _isEmptyStringValue() {\n return this._ngControl ? this._ngControl.value === '' : false\n }\n\n ngOnInit() {\n // this._ngSelect.focusEvent\n // .subscribe(v => this._enableKeyPressWorkaround())\n\n // this._ngSelect.blurEvent\n // .subscribe(v => this._disableKeyPressWorkaround())\n\n window.addEventListener('scroll', this._onScroll, true)\n\n // When the input is allowed to change its height the position doesn't update itself.\n // this._resizedEvent.pipe(\n // auditTime(30)\n // ).subscribe(event => {\n // if (this._elementRef && this._elementRef.nativeElement) {\n // if (this._elementRef.nativeElement.classList.contains('ng-select-value-grow-h')) {\n // if (this._ngSelect.isOpen && this._ngSelect.dropdownPanel) {\n // this._ngSelect.dropdownPanel.updateDropdownPosition()\n // }\n // } else {\n // this._elementRef.nativeElement.classList.remove('ng-select-value-grow-h')\n // }\n // }\n // })\n\n // this._patch_ngSelect_open()\n }\n\n ngOnDestroy() {\n // this._resizeSensor?.detach()\n\n window.removeEventListener('scroll', this._onScroll, true)\n\n // this._ngUnsubscribe.next(undefined)\n // this._ngUnsubscribe.complete()\n }\n\n ngAfterViewChecked() {\n // const dropPanel = this._ngSelect.dropdownPanel() as any\n // if (dropPanel) {\n // if (this._checkMarked) {\n // if (dropPanel && this._markedItem !== null) {\n // if (this._markedItem.index !== dropPanel.markedItem.index) {\n // dropPanel.scrollTo(dropPanel.markedItem)\n // }\n // }\n // }\n // }\n // this._checkMarked = false\n // this._resizeSensor = new ResizeSensor(this._elementRef.nativeElement, event => {\n // this._resizedEvent.emit({ element: this._elementRef.nativeElement, size: event })\n // })\n }\n\n private _onScroll = (event: any) => {\n if (this._ngSelect && this._ngSelect.isOpen()) {\n const isScrollingInScrollHost =\n (event.target.className as string).indexOf(\n 'ng-dropdown-panel-items',\n ) !== -1\n const isInSensor =\n (event.target.className as string).indexOf('resize-sensor-shrink') !==\n -1 ||\n (event.target.className as string).indexOf(\n 'os-resize-observer-host',\n ) !== -1\n if (isScrollingInScrollHost || isInSensor) {\n return\n }\n this._ngSelect.close()\n }\n }\n\n /**\n * Temp fix for: https://github.com/ng-select/ng-select/issues/1122\n */\n // private _patch_ngSelect_open() {\n // const original = this._ngSelect.open\n // const _self = this\n // this._ngSelect.open = function() {\n // original.apply(this, arguments)\n // _self._patch_ngSelectDropdownPanel_updateDropdownPosition()\n // }\n // }\n\n /** Should ONLY be called by `_patch_ngSelect_open`. */\n // private _patch_ngSelectDropdownPanel_updateDropdownPosition() {\n // if (!this._ngSelect.dropdownPanel) { return }\n // const drop: any = this._ngSelect.dropdownPanel\n // // Only needed once, to update the position before the timeout in\n // // `updateDropdownPosition()`. So, using this variable to check if I already called\n // // `_updateAppendedDropdownPosition()`.\n // if (!drop.__libPatched) {\n // drop.__libPatched = 'patched'\n // const original = drop.updateDropdownPosition\n // const _self = this\n // drop.updateDropdownPosition = function() {\n // original.apply(this, arguments)\n // if (!!_self._ngSelect.appendTo) {\n // drop._updateAppendedDropdownPosition()\n // }\n // }\n // }\n // }\n\n // private _enableKeyPressWorkaround() {\n // if (this._keyPressWorkaroundSub) { return }\n // const _ngSelect = this._ngSelect as any\n\n // this._keyPressWorkaroundSub = _ngSelect._keyPress$\n // .pipe(takeUntil(this._ngUnsubscribe))\n // .pipe(filter(() => !this._ngSelect.searchable()))\n // .subscribe(() => {\n // this._ngZone.runOutsideAngular(() => {\n // window.requestAnimationFrame(() => {\n // if (this._ngSelect.dropdownPanel()) {\n // this._markedItem = this._ngSelect.dropdownPanel().markedItem()\n // }\n // this._checkMarked = true\n // })\n // })\n // })\n // }\n\n // private _disableKeyPressWorkaround() {\n // if (this._keyPressWorkaroundSub) {\n // this._keyPressWorkaroundSub.unsubscribe()\n // this._keyPressWorkaroundSub = null\n // }\n // }\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion'\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n} from '@angular/core'\nimport { fromEvent, Subject } from 'rxjs'\nimport { filter, takeUntil, tap } from 'rxjs/operators'\n\nimport { QuillEditorComponent } from 'ngx-quill'\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'quill-editor',\n exportAs: 'seamNgxQuillExtra',\n})\nexport class TheSeamNgxQuillExtraDirective implements OnDestroy, AfterViewInit {\n private readonly _elementRef: ElementRef<HTMLElement> = inject(\n ElementRef<HTMLElement>,\n )\n private readonly _quillEditor: QuillEditorComponent =\n inject(QuillEditorComponent)\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _tabIndex = -1\n\n /**\n * Set the tab index to `-1` to allow the root element of the\n * component to receive `focus` event from javascript, but not get focused by\n * keyboard navigation.\n */\n @Input()\n set tabIndex(value: number) {\n this._tabIndex = coerceNumberProperty(value)\n }\n get tabIndex(): number {\n return this._tabIndex\n }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() {\n return this._quillEditor.disabled ? -1 : this.tabIndex || 0\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngAfterViewInit() {\n const parent = this._getParentElementForLabelFocusIssue()\n if (parent) {\n // NOTE: This is a hack to avoid an issue letting a label with \"for\"\n // attribute focus the control.\n fromEvent(parent, 'click')\n .pipe(\n takeUntil(this._ngUnsubscribe),\n filter(\n (e) =>\n (e.target as HTMLElement)?.getAttribute('for') ===\n this._elementRef.nativeElement.id,\n ),\n tap(() => this._quillEditor.quillEditor.focus()),\n )\n .subscribe()\n }\n }\n\n private _getParentElementForLabelFocusIssue(): HTMLElement | undefined {\n const findElem = (elem: HTMLElement): any => {\n if (elem.nodeName.toLowerCase() === 'seam-form-field') {\n return elem\n }\n\n if (elem.parentElement) {\n return findElem(elem.parentElement)\n }\n\n return elem\n }\n\n return findElem(this._elementRef.nativeElement)\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { padEnd, padStart } from '@theseam/ui-common/utils'\n\n@Pipe({\n name: 'maskChars',\n})\nexport class TheSeamMaskCharsPipe implements PipeTransform {\n transform(\n value: string,\n replacementChar: string = '*',\n ignoreCount: number = 0,\n ignoreFrom: 'left' | 'right' = 'right',\n ): string {\n if (ignoreFrom === 'right') {\n const s = value || ''\n return padStart(\n s.substring(s.length - ignoreCount, s.length),\n s.length,\n replacementChar,\n )\n } else if (ignoreFrom === 'left') {\n const s = value || ''\n return padEnd(s.substring(0, ignoreCount), s.length, replacementChar)\n }\n\n return value\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'truncate',\n})\nexport class TheSeamTruncatePipe implements PipeTransform {\n transform(\n value: string,\n length: number = 30,\n appendEllipsis: boolean = true,\n ): string {\n let val = value\n\n if (value && typeof value === 'string' && value.length > length) {\n val = value.substr(0, length)\n if (appendEllipsis) {\n val += '...'\n }\n }\n\n return val\n }\n}\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamAutoFocusDirective } from './directives/auto-focus.directive'\nimport { TheSeamClickOutsideDirective } from './directives/click-outside.directive'\nimport { TheSeamDisableControlDirective } from './directives/disable-control.directive'\nimport { TheSeamElemResizedDirective } from './directives/elem-resized.directive'\nimport { TheSeamHoverClassToggleDirective } from './directives/hover-class-toggle.directive'\nimport { TheSeamHoverClassDirective } from './directives/hover-class.directive'\nimport { TheSeamNgSelectExtraDirective } from './directives/ng-select-extra.directive'\nimport { TheSeamNgxQuillExtraDirective } from './directives/ngx-quill-extra.directive'\n\nimport { TheSeamMaskCharsPipe } from './pipes/mask-chars.pipe'\nimport { TheSeamTruncatePipe } from './pipes/truncate.pipe'\n\nimport { TheSeamPasswordInputRevealComponent } from './components/password-input-reveal/password-input-reveal.component'\n\n@NgModule({\n imports: [\n TheSeamAutoFocusDirective,\n TheSeamElemResizedDirective,\n TheSeamHoverClassToggleDirective,\n TheSeamNgSelectExtraDirective,\n TheSeamHoverClassDirective,\n TheSeamClickOutsideDirective,\n TheSeamDisableControlDirective,\n TheSeamNgxQuillExtraDirective,\n TheSeamMaskCharsPipe,\n TheSeamTruncatePipe,\n TheSeamPasswordInputRevealComponent,\n ],\n exports: [\n TheSeamAutoFocusDirective,\n TheSeamElemResizedDirective,\n TheSeamPasswordInputRevealComponent,\n TheSeamNgSelectExtraDirective,\n TheSeamHoverClassDirective,\n TheSeamHoverClassToggleDirective,\n TheSeamClickOutsideDirective,\n TheSeamDisableControlDirective,\n TheSeamMaskCharsPipe,\n TheSeamTruncatePipe,\n TheSeamNgxQuillExtraDirective,\n ],\n})\nexport class TheSeamSharedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -131,10 +131,10 @@ class LocalStorageService {
131
131
  this.subjects[key].next(null);
132
132
  }
133
133
  }
134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
135
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
135
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: LocalStorageService, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LocalStorageService, decorators: [{
138
138
  type: Injectable,
139
139
  args: [{
140
140
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-storage.mjs","sources":["../../../projects/ui-common/storage/localstorage-memory.ts","../../../projects/ui-common/storage/local-storage.service.ts","../../../projects/ui-common/storage/theseam-ui-common-storage.ts"],"sourcesContent":["export class LocalStorageMemory implements Storage {\n [name: string]: any\n\n private _cache: { [key: string]: string } = {}\n\n /**\n * Number of stored items.\n */\n public length = 0\n\n /**\n * Removes all stored items and sets length to 0.\n */\n public clear(): void {\n this._cache = {}\n this.length = 0\n }\n\n /**\n * Returns item for passed key, or null.\n *\n * @param key name of item to be returned.\n */\n public getItem(key: string): string | null {\n if (key in this._cache) {\n return this._cache[key]\n }\n\n return null\n }\n\n /**\n * Returns name of key at passed index.\n *\n * @param index position for key to be returned (starts at 0).\n */\n public key(index: number): string | null {\n return Object.keys(this._cache)[index] || null\n }\n\n /**\n * Removes item for passed key.\n *\n * @param key name of item to be removed.\n */\n public removeItem(key: string): void {\n if (Object.prototype.hasOwnProperty.call(this._cache, key)) {\n delete this._cache[key]\n this.length--\n }\n }\n\n /**\n * Sets item for key to passed value, as string.\n *\n * @param key name of item to be set.\n * @param value value, will always be turned into a string.\n */\n public setItem(key: string, value: string): void {\n if (typeof value === 'undefined') {\n this.removeItem(key)\n } else {\n if (!Object.prototype.hasOwnProperty.call(this._cache, key)) {\n this.length++\n }\n\n this._cache[key] = `${value}`\n }\n }\n}\n","import { Injectable } from '@angular/core'\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs'\nimport { filter, map, tap } from 'rxjs/operators'\n\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { LocalStorageMemory } from './localstorage-memory'\n\n// NOTE: Temporary localStorage polyfill just to get the app running without localStorage for now.\nconst localStorage: Storage =\n 'localStorage' in window && window.localStorage != null\n ? window.localStorage\n : new LocalStorageMemory()\n\nexport interface ILocalStorageService {\n select(key: string, defaultValue: string | null): Observable<string | null>\n get(key: string, defaultValue: string | null): string | null\n set(key: string, value: string): void\n remove(key: string): void\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService implements ILocalStorageService {\n protected readonly subjects: {\n [key: string]: BehaviorSubject<string | null>\n } = {}\n\n /** This is only here for testing/debugging. */\n private readonly _localStorage = localStorage\n\n constructor() {\n fromEvent<StorageEvent>(window, 'storage')\n .pipe(\n map((e) => e.key),\n filter(notNullOrUndefined),\n tap((key) => {\n const subjectValue = this.get(key)\n const storedValue = this._localStorage.getItem(key)\n if (subjectValue !== storedValue) {\n if (storedValue) {\n this.set(key, storedValue)\n } else {\n this.remove(key)\n }\n }\n }),\n )\n .subscribe()\n }\n\n /**\n * Observe a localStorage item.\n *\n * NOTE: Only emits changes if the item is changed with the set method of this\n * class instance.\n */\n public select(\n key: string,\n defaultValue: string | null = null,\n ): Observable<string | null> {\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n return this.subjects[key]\n }\n\n if (!this._localStorage.getItem(key) && defaultValue) {\n this._localStorage.setItem(key, defaultValue)\n }\n\n const value = this._localStorage.getItem(key) || defaultValue\n\n return (this.subjects[key] = new BehaviorSubject(value))\n }\n\n /** Get a localStorage item. */\n public get(key: string, defaultValue: string | null = null): string | null {\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n return this.subjects[key].value\n }\n\n if (!this._localStorage.getItem(key) && defaultValue) {\n this._localStorage.setItem(key, defaultValue)\n }\n\n const value = this._localStorage.getItem(key) || defaultValue\n\n return (this.subjects[key] = new BehaviorSubject(value)).value\n }\n\n /** Set a localStorage item. */\n public set(key: string, value: string): void {\n this._localStorage.setItem(key, value)\n\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n this.subjects[key].next(value)\n }\n }\n\n /** Remove a localStorage item. */\n public remove(key: string): void {\n this._localStorage.removeItem(key)\n\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n this.subjects[key].next(null)\n }\n }\n}\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":"theseam-ui-common-storage.mjs","sources":["../../../projects/ui-common/storage/localstorage-memory.ts","../../../projects/ui-common/storage/local-storage.service.ts","../../../projects/ui-common/storage/theseam-ui-common-storage.ts"],"sourcesContent":["export class LocalStorageMemory implements Storage {\n [name: string]: any\n\n private _cache: { [key: string]: string } = {}\n\n /**\n * Number of stored items.\n */\n public length = 0\n\n /**\n * Removes all stored items and sets length to 0.\n */\n public clear(): void {\n this._cache = {}\n this.length = 0\n }\n\n /**\n * Returns item for passed key, or null.\n *\n * @param key name of item to be returned.\n */\n public getItem(key: string): string | null {\n if (key in this._cache) {\n return this._cache[key]\n }\n\n return null\n }\n\n /**\n * Returns name of key at passed index.\n *\n * @param index position for key to be returned (starts at 0).\n */\n public key(index: number): string | null {\n return Object.keys(this._cache)[index] || null\n }\n\n /**\n * Removes item for passed key.\n *\n * @param key name of item to be removed.\n */\n public removeItem(key: string): void {\n if (Object.prototype.hasOwnProperty.call(this._cache, key)) {\n delete this._cache[key]\n this.length--\n }\n }\n\n /**\n * Sets item for key to passed value, as string.\n *\n * @param key name of item to be set.\n * @param value value, will always be turned into a string.\n */\n public setItem(key: string, value: string): void {\n if (typeof value === 'undefined') {\n this.removeItem(key)\n } else {\n if (!Object.prototype.hasOwnProperty.call(this._cache, key)) {\n this.length++\n }\n\n this._cache[key] = `${value}`\n }\n }\n}\n","import { Injectable } from '@angular/core'\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs'\nimport { filter, map, tap } from 'rxjs/operators'\n\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { LocalStorageMemory } from './localstorage-memory'\n\n// NOTE: Temporary localStorage polyfill just to get the app running without localStorage for now.\nconst localStorage: Storage =\n 'localStorage' in window && window.localStorage != null\n ? window.localStorage\n : new LocalStorageMemory()\n\nexport interface ILocalStorageService {\n select(key: string, defaultValue: string | null): Observable<string | null>\n get(key: string, defaultValue: string | null): string | null\n set(key: string, value: string): void\n remove(key: string): void\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService implements ILocalStorageService {\n protected readonly subjects: {\n [key: string]: BehaviorSubject<string | null>\n } = {}\n\n /** This is only here for testing/debugging. */\n private readonly _localStorage = localStorage\n\n constructor() {\n fromEvent<StorageEvent>(window, 'storage')\n .pipe(\n map((e) => e.key),\n filter(notNullOrUndefined),\n tap((key) => {\n const subjectValue = this.get(key)\n const storedValue = this._localStorage.getItem(key)\n if (subjectValue !== storedValue) {\n if (storedValue) {\n this.set(key, storedValue)\n } else {\n this.remove(key)\n }\n }\n }),\n )\n .subscribe()\n }\n\n /**\n * Observe a localStorage item.\n *\n * NOTE: Only emits changes if the item is changed with the set method of this\n * class instance.\n */\n public select(\n key: string,\n defaultValue: string | null = null,\n ): Observable<string | null> {\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n return this.subjects[key]\n }\n\n if (!this._localStorage.getItem(key) && defaultValue) {\n this._localStorage.setItem(key, defaultValue)\n }\n\n const value = this._localStorage.getItem(key) || defaultValue\n\n return (this.subjects[key] = new BehaviorSubject(value))\n }\n\n /** Get a localStorage item. */\n public get(key: string, defaultValue: string | null = null): string | null {\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n return this.subjects[key].value\n }\n\n if (!this._localStorage.getItem(key) && defaultValue) {\n this._localStorage.setItem(key, defaultValue)\n }\n\n const value = this._localStorage.getItem(key) || defaultValue\n\n return (this.subjects[key] = new BehaviorSubject(value)).value\n }\n\n /** Set a localStorage item. */\n public set(key: string, value: string): void {\n this._localStorage.setItem(key, value)\n\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n this.subjects[key].next(value)\n }\n }\n\n /** Remove a localStorage item. */\n public remove(key: string): void {\n this._localStorage.removeItem(key)\n\n if (Object.prototype.hasOwnProperty.call(this.subjects, key)) {\n this.subjects[key].next(null)\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}