@theseam/ui-common 0.4.10 → 0.4.11

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 (93) hide show
  1. package/buttons/badge-button/badge-button.component.d.ts +7 -7
  2. package/buttons/button/button.component.d.ts +6 -6
  3. package/buttons/buttons.module.d.ts +1 -1
  4. package/buttons/progress-circle-button/progress-circle-button.component.d.ts +4 -4
  5. package/buttons/toggle-button/toggle-button.component.d.ts +4 -4
  6. package/esm2020/buttons/badge-button/badge-button.component.mjs +10 -10
  7. package/esm2020/buttons/button/button.component.mjs +9 -9
  8. package/esm2020/buttons/buttons.module.mjs +29 -29
  9. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +10 -10
  10. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +8 -8
  11. package/esm2020/carousel/carousel.component.mjs +2 -2
  12. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
  13. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +1 -1
  14. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +1 -1
  15. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +11 -3
  16. package/esm2020/framework/side-nav/side-nav.component.mjs +29 -4
  17. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  18. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  19. package/esm2020/loading/loading/loading.component.mjs +5 -5
  20. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  21. package/esm2020/loading/loading.module.mjs +6 -6
  22. package/esm2020/services/preferences/preferences-accessor.mjs +1 -1
  23. package/esm2020/services/preferences/preferences-manager.service.mjs +1 -1
  24. package/esm2020/services/preferences/preferences-record.mjs +1 -1
  25. package/esm2020/services/preferences/preferences.models.mjs +1 -1
  26. package/esm2020/story-helpers/arg-type-helpers.mjs +5 -9
  27. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +1 -1
  28. package/esm2020/testing/get-harness.mjs +8 -2
  29. package/esm2020/testing/story-expect.mjs +3 -2
  30. package/esm2020/toggle-edit/toggle-edit.component.mjs +1 -1
  31. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  32. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  33. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  34. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  35. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  36. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  37. package/esm2020/widget/preferences/widget-preferences.models.mjs +1 -1
  38. package/esm2020/widget/preferences/widget-preferences.service.mjs +1 -1
  39. package/esm2020/widget/preferences/widget-preferences.token.mjs +1 -1
  40. package/esm2020/widget/widget/widget.component.mjs +3 -3
  41. package/esm2020/widget/widget.models.mjs +1 -1
  42. package/fesm2015/theseam-ui-common-buttons.mjs +55 -55
  43. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  44. package/fesm2015/theseam-ui-common-carousel.mjs +1 -1
  45. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
  46. package/fesm2015/theseam-ui-common-datatable.mjs +1 -1
  47. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  48. package/fesm2015/theseam-ui-common-framework.mjs +41 -8
  49. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  50. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  51. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  52. package/fesm2015/theseam-ui-common-loading.mjs +10 -10
  53. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  54. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  55. package/fesm2015/theseam-ui-common-story-helpers.mjs +4 -8
  56. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  57. package/fesm2015/theseam-ui-common-testing.mjs +9 -2
  58. package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
  59. package/fesm2015/theseam-ui-common-toggle-edit.mjs +1 -1
  60. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  61. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  62. package/fesm2015/theseam-ui-common-widget.mjs +2 -2
  63. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  64. package/fesm2020/theseam-ui-common-buttons.mjs +55 -55
  65. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  66. package/fesm2020/theseam-ui-common-carousel.mjs +1 -1
  67. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
  68. package/fesm2020/theseam-ui-common-datatable.mjs +1 -1
  69. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  70. package/fesm2020/theseam-ui-common-framework.mjs +40 -7
  71. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  72. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  73. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  74. package/fesm2020/theseam-ui-common-loading.mjs +10 -10
  75. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  76. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  77. package/fesm2020/theseam-ui-common-story-helpers.mjs +4 -8
  78. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  79. package/fesm2020/theseam-ui-common-testing.mjs +9 -2
  80. package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
  81. package/fesm2020/theseam-ui-common-toggle-edit.mjs +1 -1
  82. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  83. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  84. package/fesm2020/theseam-ui-common-widget.mjs +2 -2
  85. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  86. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +5 -2
  87. package/framework/side-nav/side-nav.component.d.ts +6 -2
  88. package/framework/side-nav/side-nav.models.d.ts +12 -0
  89. package/loading/loading/loading.component.d.ts +3 -3
  90. package/loading/loading.module.d.ts +1 -1
  91. package/package.json +1 -1
  92. package/testing/get-harness.d.ts +2 -2
  93. package/testing/story-expect.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-toggle-edit.mjs","sources":["../../../projects/ui-common/toggle-edit/toggle-edit-display-tpl.directive.ts","../../../projects/ui-common/toggle-edit/toggle-edit-keyboard-listener.service.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.html","../../../projects/ui-common/toggle-edit/toggle-edit.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit.component.html","../../../projects/ui-common/toggle-edit/toggle-edit.module.ts","../../../projects/ui-common/toggle-edit/theseam-ui-common-toggle-edit.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamToggleEditDisplayTpl]'\n})\nexport class ToggleEditDisplayTplDirective {\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { DOCUMENT } from '@angular/common'\nimport { Inject, Injectable } from '@angular/core'\n\nimport { ICanToggleEdit } from './models'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToggleEditKeyboardListenerService {\n\n private _elements: ICanToggleEdit[] = []\n\n private _isListening = false\n\n private _document: Document\n\n constructor(\n @Inject(DOCUMENT) private document: any\n ) {\n this._document = document\n }\n\n public add(element: ICanToggleEdit): void {\n this._elements.push(element)\n this._startListening()\n }\n\n public remove(element: ICanToggleEdit): void {\n this._elements = this._elements.filter(v => v !== element)\n if (this._elements.length === 0) {\n this._stopListening()\n }\n }\n\n public isListening(): boolean {\n return this._isListening\n }\n\n private _startListening(): void {\n if (this.isListening()) {\n return\n }\n\n this._document.body.addEventListener('keydown', this._keydownListener, true)\n\n this._isListening = true\n }\n\n private _stopListening(): void {\n if (!this.isListening()) {\n return\n }\n\n this._document.body.removeEventListener('keydown', this._keydownListener, true)\n\n this._isListening = false\n }\n\n private _keydownListener = (event: KeyboardEvent): boolean | void => {\n for (const element of this._elements) {\n if (element.isEditing()) {\n element.keydownEvent(event)\n }\n }\n }\n\n}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'seam-toggle-edit-actions-container',\n templateUrl: './toggle-edit-actions-container.component.html',\n styleUrls: ['./toggle-edit-actions-container.component.scss']\n})\nexport class ToggleEditActionsContainerComponent { }\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ENTER, ESCAPE } from '@angular/cdk/keycodes'\nimport { ConnectionPositionPair, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay'\nimport { TemplatePortal } from '@angular/cdk/portal'\nimport {\n AfterViewInit,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n EventEmitter,\n Host,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n Self,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core'\nimport { AbstractControl, ControlContainer, FormControl, FormGroup } from '@angular/forms'\n\nimport { faCheck, faPen, faTimes } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamFormFieldComponent } from '@theseam/ui-common/form-field'\n\nimport { ICanToggleEdit } from './models/can-toggle-edit'\nimport { IToggleEditRef } from './models/toggle-edit-ref'\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { ToggleEditKeyboardListenerService } from './toggle-edit-keyboard-listener.service'\n\n@Component({\n selector: 'seam-toggle-edit',\n templateUrl: './toggle-edit.component.html',\n styleUrls: ['./toggle-edit.component.scss']\n})\nexport class ToggleEditComponent implements OnInit, OnDestroy, AfterViewInit, DoCheck, ICanToggleEdit, IToggleEditRef {\n static ngAcceptInputType_cancelOnBlur: BooleanInput\n static ngAcceptInputType_waitOnSubmit: BooleanInput\n\n faPen = faPen\n faTimes = faTimes\n faCheck = faCheck\n\n private _previousDisabled = false\n\n /** Use `hasFocus()` to check for focus. This is only for monitoring focus lost. */\n private _focused = false\n private _focusObserver?: MutationObserver\n private _actionsFocused = false\n private _submitting = false\n\n /**\n * Input value before editing.\n *\n * If the edit change is canceled the input value will be reset back to this\n * value.\n */\n private _beforeEditValue = null\n\n @HostBinding('class.toggle-edit-active') get _toggleEditActiveClass() { return this.editing }\n\n @Input() @InputBoolean() cancelOnBlur = true\n @Input() @InputBoolean() waitOnSubmit = false\n\n @Input() placeholder = ''\n\n @Input()\n get editing(): boolean { return this._editing }\n set editing(value: boolean) {\n if (this.disabled && value) { return }\n\n if (!this._editing) {\n this.updateBeforeEditValue()\n }\n this._editing = coerceBooleanProperty(value)\n this.editingChange.emit(value)\n }\n private _editing = false\n\n @Output() changeAccepted = new EventEmitter<IToggleEditRef>()\n @Output() changeDeclined = new EventEmitter<IToggleEditRef>()\n @Output() editingChange = new EventEmitter<boolean>()\n\n @ViewChild('templatePortalContent', { static: true }) templatePortalContent?: TemplateRef<any>\n public templatePortal?: TemplatePortal<any>\n\n public modalRef?: OverlayRef\n\n @ContentChild(ToggleEditDisplayTplDirective, { static: true }) displayTpl?: ToggleEditDisplayTplDirective\n\n constructor(\n private _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n @Optional() @Self() private controlContainer: ControlContainer,\n @Optional() @Host() private formFieldComponent: TheSeamFormFieldComponent,\n private _kbListener: ToggleEditKeyboardListenerService,\n private _focusMonitor: FocusMonitor,\n private _ngZone: NgZone,\n private _renderer: Renderer2,\n private _viewContainerRef: ViewContainerRef,\n private _overlay: Overlay\n ) {\n this._ngZone.runOutsideAngular(() => {\n this._focusObserver = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this.hasFocus()) {\n if (this.disabled) { return }\n this._onFocus()\n } else {\n this._onBlur()\n }\n })\n })\n })\n }\n\n ngOnInit() {\n this._initMonitors()\n if (this.formFieldComponent) {\n // TODO: Consider making this smarter, such as avoiding overwritting when input set.\n this.formFieldComponent.numPaddingErrors = 0\n }\n }\n\n ngOnDestroy() {\n this._destroyMonitors()\n }\n\n ngAfterViewInit() {\n if (this.formFieldComponent && this.formFieldComponent.contentInput) {\n this.formFieldComponent.contentInput.stateChanges.subscribe(_ => {\n this._checkDisabledChange()\n })\n }\n setTimeout(() => {\n if (this.templatePortalContent) {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this._viewContainerRef)\n }\n })\n this._checkDisabledChange()\n }\n\n ngDoCheck() {\n this._checkDisabledChange()\n }\n\n private _initMonitors() {\n this._kbListener.add(this)\n\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n this._focusObserver?.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: ['class'],\n childList: false,\n characterData: false\n })\n }\n\n private _destroyMonitors() {\n this._kbListener.remove(this)\n\n this._focusObserver?.disconnect()\n this._focused = false\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n }\n\n // Make this disabled checking implementation better. It gets called to much\n // trying to be accurate.\n private _checkDisabledChange() {\n // const isDisabled = this.disabled\n // if (isDisabled !== this._previousDisabled) {\n\n // }\n }\n\n public get disabled() {\n const control = this.getControl()\n if (control) {\n return control.disabled\n }\n return false\n }\n\n public canSubmit(): boolean {\n const control = this.getControl()\n if (control) {\n return control.valid\n }\n return true\n }\n\n public isSubmitting(): boolean {\n return this._submitting\n }\n\n public submitComplete(error?: any): void {\n const control = this.getControl()\n if (control) {\n control.enable()\n }\n this._submitting = false\n\n if (!error) {\n this.stopEditing()\n }\n }\n\n public updateBeforeEditValue(): void {\n const control = this.getControl()\n if (control) {\n this._beforeEditValue = control.value\n }\n }\n\n public getValue(): string | null {\n const control = this.getControl()\n if (control) {\n return control.value\n }\n\n return null\n }\n\n public resetValue(): void {\n const control = this.getControl()\n if (control) {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n control.reset(this._beforeEditValue, { emitEvent: false })\n control.updateValueAndValidity()\n }\n }\n\n public isFormGroup(): boolean {\n return !!this.controlContainer\n }\n\n public getFormGroup(): FormGroup | null {\n if (!this.isFormGroup()) { return null }\n return this.controlContainer.control as FormGroup\n }\n\n public isInFormField(): boolean {\n return !!this.formFieldComponent\n }\n\n public getFormControl(): FormControl | null {\n if (!this.isInFormField()) { return null }\n if (!this.formFieldComponent.contentInput) { return null }\n return this.formFieldComponent.contentInput.ngControl.control as FormControl\n }\n\n public hasControl(): boolean {\n return !!this.getControl()\n }\n\n public getControl(): AbstractControl | null {\n if (this.isFormGroup()) {\n return this.getFormGroup()\n } else if (this.isInFormField()) {\n return this.getFormControl()\n }\n return null\n }\n\n public submitEdit(): void {\n if (!this.canSubmit()) {\n return\n }\n\n if (this.waitOnSubmit) {\n const control = this.getControl()\n if (control) {\n control.disable()\n }\n this._submitting = true\n }\n\n this.stopEditing()\n\n this.changeAccepted.emit(this as IToggleEditRef)\n }\n\n public cancelEdit(): void {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n this.resetValue()\n this.stopEditing()\n\n this.changeDeclined.emit(this as IToggleEditRef)\n }\n\n private _onFocus(): void {\n // Return if already focused\n if (this._focused) { return }\n\n this._focused = true\n this._actionsFocused = false\n }\n\n private _onBlur(): void {\n // Return if focus hasn't been detected\n if (!this._focused) { return }\n\n if (this.editing && this.cancelOnBlur) {\n setTimeout(() => {\n if (!this._actionsFocused) {\n this.cancelEdit()\n }\n })\n }\n\n this._focused = false\n }\n\n public hasFocus(): boolean {\n return this._elementRef.nativeElement.classList.contains('cdk-focused')\n }\n\n public focusContent(): void {\n // Set the tab index to `-1` to allow the root element of the component to\n // receive `focus` event from javascript, but not get focused by keyboard\n // navigation. This is for the focus monitor. If a button is clicked the\n // focus monitor emits a blur before the focus of the input. This will avoid\n // the blur by letting the component itself receive focus events.\n this._renderer.setAttribute(this._elementRef.nativeElement, 'tabindex', '-1')\n this._elementRef.nativeElement.focus()\n }\n\n public toggleEditing(isEditing?: boolean): void {\n if (this.editing === isEditing) { return }\n const _editing = isEditing === undefined ? !this.editing : !!isEditing\n if (_editing) {\n this.startEditing()\n } else {\n this.stopEditing()\n }\n }\n\n public isEditing(): boolean {\n return this.editing\n }\n\n public startEditing(): void {\n if (this.disabled) { return }\n if (this.isEditing()) {\n return\n }\n\n this.updateBeforeEditValue()\n\n this.focusContent()\n\n this.editing = true\n\n this.modalRef = this._overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this.modalRef.attach(this.templatePortal)\n }\n\n public stopEditing(): void {\n if (!this.isEditing()) {\n return\n }\n\n if (this.isSubmitting()) {\n return\n }\n\n if (this.modalRef?.hasAttached()) {\n this.modalRef.detach()\n }\n\n // NOTE: This is a hack to avoid a focus lost issue introduced by a focus\n // acuired issue's hack.\n this._elementRef.nativeElement.focus()\n this._elementRef.nativeElement.blur()\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n\n this.editing = false\n }\n\n public keydownEvent(event: KeyboardEvent): void {\n // tslint:disable-next-line:deprecation\n switch (event.keyCode) {\n case ESCAPE: {\n this.cancelEdit()\n break\n }\n case ENTER: {\n this.submitEdit()\n break\n }\n }\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(false)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n ]\n }\n\n public resized(): void {\n if (this.modalRef && this.modalRef.hasAttached()) {\n this.modalRef.updatePosition()\n }\n }\n\n public actionsFocusChange(event: any): void {\n this._actionsFocused = !!event\n }\n\n}\n","<div class=\"toggle-edit-not-editing rounded\"\n [class.w-100]=\"editing\"\n [class.toggle-edit-editing]=\"editing\"\n [class.is-disabled]=\"disabled\"\n (seamElemResized)=\"resized()\">\n <div class=\"toggle-edit-content-container\">\n <div class=\"toggle-edit-content\" (click)=\"toggleEditing(true)\">\n <ng-container *ngIf=\"editing; else notEditingTpl\">\n <ng-content></ng-content>\n </ng-container>\n <ng-template #notEditingTpl>\n <ng-container *ngIf=\"displayTpl; else noDisplayTpl\">\n <ng-template [ngTemplateOutlet]=\"displayTpl.template\" [ngTemplateOutletContext]=\"{ $implicit: getValue() || placeholder }\"></ng-template>\n </ng-container>\n <ng-template #noDisplayTpl>\n <div class=\"pl-1 pr-1\">\n {{ getValue() || placeholder }}\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div>\n <ng-template *ngIf=\"!editing\" [cdkPortalOutlet]=\"templatePortal\"></ng-template>\n <ng-template #templatePortalContent>\n <seam-toggle-edit-actions-container\n [class.bg-light]=\"editing\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"actionsFocusChange($event)\">\n <button *ngIf=\"!editing\"\n type=\"button\"\n class=\"toggle-edit-edit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"toggleEditing(true)\">\n <fa-icon [icon]=\"faPen\"></fa-icon>\n </button>\n <button *ngIf=\"editing\"\n type=\"button\"\n [disabled]=\"!canSubmit()\"\n class=\"toggle-edit-submit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"submitEdit()\">\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n </button>\n <button *ngIf=\"editing\"\n type=\"button\"\n class=\"toggle-edit-cancel-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"cancelEdit()\">\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n </seam-toggle-edit-actions-container>\n </ng-template>\n </div>\n </div>\n</div>\n\n<seam-loading *ngIf=\"isSubmitting()\"></seam-loading>\n","import { A11yModule } from '@angular/cdk/a11y'\nimport { OverlayModule } from '@angular/cdk/overlay'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { ToggleEditActionsContainerComponent } from './toggle-edit-actions-container/toggle-edit-actions-container.component'\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { ToggleEditComponent } from './toggle-edit.component'\n\n@NgModule({\n declarations: [\n ToggleEditDisplayTplDirective,\n ToggleEditActionsContainerComponent,\n ToggleEditComponent,\n ],\n imports: [\n CommonModule,\n TheSeamSharedModule,\n FontAwesomeModule,\n ReactiveFormsModule,\n TheSeamFormFieldModule,\n OverlayModule,\n PortalModule,\n A11yModule,\n TheSeamLoadingModule\n ],\n exports: [\n ToggleEditDisplayTplDirective,\n ToggleEditComponent\n ]\n})\nexport class TheSeamToggleEditModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.ToggleEditKeyboardListenerService","i11.ToggleEditActionsContainerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-toggle-edit.mjs","sources":["../../../projects/ui-common/toggle-edit/toggle-edit-display-tpl.directive.ts","../../../projects/ui-common/toggle-edit/toggle-edit-keyboard-listener.service.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.html","../../../projects/ui-common/toggle-edit/toggle-edit.component.ts","../../../projects/ui-common/toggle-edit/toggle-edit.component.html","../../../projects/ui-common/toggle-edit/toggle-edit.module.ts","../../../projects/ui-common/toggle-edit/theseam-ui-common-toggle-edit.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamToggleEditDisplayTpl]'\n})\nexport class ToggleEditDisplayTplDirective {\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { DOCUMENT } from '@angular/common'\nimport { Inject, Injectable } from '@angular/core'\n\nimport { ICanToggleEdit } from './models'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToggleEditKeyboardListenerService {\n\n private _elements: ICanToggleEdit[] = []\n\n private _isListening = false\n\n private _document: Document\n\n constructor(\n @Inject(DOCUMENT) private document: any\n ) {\n this._document = document\n }\n\n public add(element: ICanToggleEdit): void {\n this._elements.push(element)\n this._startListening()\n }\n\n public remove(element: ICanToggleEdit): void {\n this._elements = this._elements.filter(v => v !== element)\n if (this._elements.length === 0) {\n this._stopListening()\n }\n }\n\n public isListening(): boolean {\n return this._isListening\n }\n\n private _startListening(): void {\n if (this.isListening()) {\n return\n }\n\n this._document.body.addEventListener('keydown', this._keydownListener, true)\n\n this._isListening = true\n }\n\n private _stopListening(): void {\n if (!this.isListening()) {\n return\n }\n\n this._document.body.removeEventListener('keydown', this._keydownListener, true)\n\n this._isListening = false\n }\n\n private _keydownListener = (event: KeyboardEvent): boolean | void => {\n for (const element of this._elements) {\n if (element.isEditing()) {\n element.keydownEvent(event)\n }\n }\n }\n\n}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'seam-toggle-edit-actions-container',\n templateUrl: './toggle-edit-actions-container.component.html',\n styleUrls: ['./toggle-edit-actions-container.component.scss']\n})\nexport class ToggleEditActionsContainerComponent { }\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ENTER, ESCAPE } from '@angular/cdk/keycodes'\nimport { ConnectionPositionPair, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay'\nimport { TemplatePortal } from '@angular/cdk/portal'\nimport {\n AfterViewInit,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n EventEmitter,\n Host,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n Self,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core'\nimport { AbstractControl, ControlContainer, FormControl, FormGroup } from '@angular/forms'\n\nimport { faCheck, faPen, faTimes } from '@fortawesome/free-solid-svg-icons'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { TheSeamFormFieldComponent } from '@theseam/ui-common/form-field'\n\nimport { ICanToggleEdit } from './models/can-toggle-edit'\nimport { IToggleEditRef } from './models/toggle-edit-ref'\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { ToggleEditKeyboardListenerService } from './toggle-edit-keyboard-listener.service'\n\n@Component({\n selector: 'seam-toggle-edit',\n templateUrl: './toggle-edit.component.html',\n styleUrls: ['./toggle-edit.component.scss']\n})\nexport class ToggleEditComponent implements OnInit, OnDestroy, AfterViewInit, DoCheck, ICanToggleEdit, IToggleEditRef {\n static ngAcceptInputType_cancelOnBlur: BooleanInput\n static ngAcceptInputType_waitOnSubmit: BooleanInput\n\n faPen = faPen\n faTimes = faTimes\n faCheck = faCheck\n\n private _previousDisabled = false\n\n /** Use `hasFocus()` to check for focus. This is only for monitoring focus lost. */\n private _focused = false\n private _focusObserver?: MutationObserver\n private _actionsFocused = false\n private _submitting = false\n\n /**\n * Input value before editing.\n *\n * If the edit change is canceled the input value will be reset back to this\n * value.\n */\n private _beforeEditValue = null\n\n @HostBinding('class.toggle-edit-active') get _toggleEditActiveClass() { return this.editing }\n\n @Input() @InputBoolean() cancelOnBlur = true\n @Input() @InputBoolean() waitOnSubmit = false\n\n @Input() placeholder = ''\n\n @Input()\n get editing(): boolean { return this._editing }\n set editing(value: boolean) {\n if (this.disabled && value) { return }\n\n if (!this._editing) {\n this.updateBeforeEditValue()\n }\n this._editing = coerceBooleanProperty(value)\n this.editingChange.emit(value)\n }\n private _editing = false\n\n @Output() changeAccepted = new EventEmitter<IToggleEditRef>()\n @Output() changeDeclined = new EventEmitter<IToggleEditRef>()\n @Output() editingChange = new EventEmitter<boolean>()\n\n @ViewChild('templatePortalContent', { static: true }) templatePortalContent?: TemplateRef<any>\n public templatePortal?: TemplatePortal<any>\n\n public modalRef?: OverlayRef\n\n @ContentChild(ToggleEditDisplayTplDirective, { static: true }) displayTpl?: ToggleEditDisplayTplDirective\n\n constructor(\n private _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n @Optional() @Self() private controlContainer: ControlContainer,\n @Optional() @Host() private formFieldComponent: TheSeamFormFieldComponent,\n private _kbListener: ToggleEditKeyboardListenerService,\n private _focusMonitor: FocusMonitor,\n private _ngZone: NgZone,\n private _renderer: Renderer2,\n private _viewContainerRef: ViewContainerRef,\n private _overlay: Overlay\n ) {\n this._ngZone.runOutsideAngular(() => {\n this._focusObserver = new MutationObserver(() => {\n this._ngZone.run(() => {\n if (this.hasFocus()) {\n if (this.disabled) { return }\n this._onFocus()\n } else {\n this._onBlur()\n }\n })\n })\n })\n }\n\n ngOnInit() {\n this._initMonitors()\n if (this.formFieldComponent) {\n // TODO: Consider making this smarter, such as avoiding overwritting when input set.\n this.formFieldComponent.numPaddingErrors = 0\n }\n }\n\n ngOnDestroy() {\n this._destroyMonitors()\n }\n\n ngAfterViewInit() {\n if (this.formFieldComponent && this.formFieldComponent.contentInput) {\n this.formFieldComponent.contentInput.stateChanges.subscribe(_ => {\n this._checkDisabledChange()\n })\n }\n setTimeout(() => {\n if (this.templatePortalContent) {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this._viewContainerRef)\n }\n })\n this._checkDisabledChange()\n }\n\n ngDoCheck() {\n this._checkDisabledChange()\n }\n\n private _initMonitors() {\n this._kbListener.add(this)\n\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n this._focusObserver?.observe(this._elementRef.nativeElement, {\n attributes: true,\n attributeFilter: ['class'],\n childList: false,\n characterData: false\n })\n }\n\n private _destroyMonitors() {\n this._kbListener.remove(this)\n\n this._focusObserver?.disconnect()\n this._focused = false\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n }\n\n // Make this disabled checking implementation better. It gets called to much\n // trying to be accurate.\n private _checkDisabledChange() {\n // const isDisabled = this.disabled\n // if (isDisabled !== this._previousDisabled) {\n\n // }\n }\n\n public get disabled() {\n const control = this.getControl()\n if (control) {\n return control.disabled\n }\n return false\n }\n\n public canSubmit(): boolean {\n const control = this.getControl()\n if (control) {\n return control.valid\n }\n return true\n }\n\n public isSubmitting(): boolean {\n return this._submitting\n }\n\n public submitComplete(error?: any): void {\n const control = this.getControl()\n if (control) {\n control.enable()\n }\n this._submitting = false\n\n if (!error) {\n this.stopEditing()\n }\n }\n\n public updateBeforeEditValue(): void {\n const control = this.getControl()\n if (control) {\n this._beforeEditValue = control.value\n }\n }\n\n public getValue(): string | null {\n const control = this.getControl()\n if (control) {\n return control.value\n }\n\n return null\n }\n\n public resetValue(): void {\n const control = this.getControl()\n if (control) {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n control.reset(this._beforeEditValue, { emitEvent: false })\n control.updateValueAndValidity()\n }\n }\n\n public isFormGroup(): boolean {\n return !!this.controlContainer\n }\n\n public getFormGroup(): FormGroup | null {\n if (!this.isFormGroup()) { return null }\n return this.controlContainer.control as FormGroup\n }\n\n public isInFormField(): boolean {\n return !!this.formFieldComponent\n }\n\n public getFormControl(): FormControl | null {\n if (!this.isInFormField()) { return null }\n if (!this.formFieldComponent.contentInput) { return null }\n return this.formFieldComponent.contentInput.ngControl.control as FormControl\n }\n\n public hasControl(): boolean {\n return !!this.getControl()\n }\n\n public getControl(): AbstractControl | null {\n if (this.isFormGroup()) {\n return this.getFormGroup()\n } else if (this.isInFormField()) {\n return this.getFormControl()\n }\n return null\n }\n\n public submitEdit(): void {\n if (!this.canSubmit()) {\n return\n }\n\n if (this.waitOnSubmit) {\n const control = this.getControl()\n if (control) {\n control.disable()\n }\n this._submitting = true\n }\n\n this.stopEditing()\n\n this.changeAccepted.emit(this as IToggleEditRef)\n }\n\n public cancelEdit(): void {\n // Reset without emitting then update which will emit, because reset will\n // emit changes before setting pristine\n this.resetValue()\n this.stopEditing()\n\n this.changeDeclined.emit(this as IToggleEditRef)\n }\n\n private _onFocus(): void {\n // Return if already focused\n if (this._focused) { return }\n\n this._focused = true\n this._actionsFocused = false\n }\n\n private _onBlur(): void {\n // Return if focus hasn't been detected\n if (!this._focused) { return }\n\n if (this.editing && this.cancelOnBlur) {\n setTimeout(() => {\n if (!this._actionsFocused) {\n this.cancelEdit()\n }\n })\n }\n\n this._focused = false\n }\n\n public hasFocus(): boolean {\n return this._elementRef.nativeElement.classList.contains('cdk-focused')\n }\n\n public focusContent(): void {\n // Set the tab index to `-1` to allow the root element of the component to\n // receive `focus` event from javascript, but not get focused by keyboard\n // navigation. This is for the focus monitor. If a button is clicked the\n // focus monitor emits a blur before the focus of the input. This will avoid\n // the blur by letting the component itself receive focus events.\n this._renderer.setAttribute(this._elementRef.nativeElement, 'tabindex', '-1')\n this._elementRef.nativeElement.focus()\n }\n\n public toggleEditing(isEditing?: boolean): void {\n if (this.editing === isEditing) { return }\n const _editing = isEditing === undefined ? !this.editing : !!isEditing\n if (_editing) {\n this.startEditing()\n } else {\n this.stopEditing()\n }\n }\n\n public isEditing(): boolean {\n return this.editing\n }\n\n public startEditing(): void {\n if (this.disabled) { return }\n if (this.isEditing()) {\n return\n }\n\n this.updateBeforeEditValue()\n\n this.focusContent()\n\n this.editing = true\n\n this.modalRef = this._overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this.modalRef.attach(this.templatePortal)\n }\n\n public stopEditing(): void {\n if (!this.isEditing()) {\n return\n }\n\n if (this.isSubmitting()) {\n return\n }\n\n if (this.modalRef?.hasAttached()) {\n this.modalRef.detach()\n }\n\n // NOTE: This is a hack to avoid a focus lost issue introduced by a focus\n // acuired issue's hack.\n this._elementRef.nativeElement.focus()\n this._elementRef.nativeElement.blur()\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'tabindex')\n this._focusMonitor.monitor(this._elementRef.nativeElement, true)\n\n this.editing = false\n }\n\n public keydownEvent(event: KeyboardEvent): void {\n // tslint:disable-next-line:deprecation\n switch (event.keyCode) {\n case ESCAPE: {\n this.cancelEdit()\n break\n }\n case ENTER: {\n this.submitEdit()\n break\n }\n }\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(false)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n ]\n }\n\n public resized(): void {\n if (this.modalRef && this.modalRef.hasAttached()) {\n this.modalRef.updatePosition()\n }\n }\n\n public actionsFocusChange(event: any): void {\n this._actionsFocused = !!event\n }\n\n}\n","<div class=\"toggle-edit-not-editing rounded\"\n [class.w-100]=\"editing\"\n [class.toggle-edit-editing]=\"editing\"\n [class.is-disabled]=\"disabled\"\n (seamElemResized)=\"resized()\">\n <div class=\"toggle-edit-content-container\">\n <div class=\"toggle-edit-content\" (click)=\"toggleEditing(true)\">\n <ng-container *ngIf=\"editing; else notEditingTpl\">\n <ng-content></ng-content>\n </ng-container>\n <ng-template #notEditingTpl>\n <ng-container *ngIf=\"displayTpl; else noDisplayTpl\">\n <ng-template [ngTemplateOutlet]=\"displayTpl.template\" [ngTemplateOutletContext]=\"{ $implicit: getValue() || placeholder }\"></ng-template>\n </ng-container>\n <ng-template #noDisplayTpl>\n <div class=\"pl-1 pr-1\">\n {{ getValue() || placeholder }}\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div>\n <ng-template *ngIf=\"!editing\" [cdkPortalOutlet]=\"templatePortal\"></ng-template>\n <ng-template #templatePortalContent>\n <seam-toggle-edit-actions-container\n [class.bg-light]=\"editing\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"actionsFocusChange($event)\">\n <button *ngIf=\"!editing\"\n type=\"button\"\n class=\"toggle-edit-edit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"toggleEditing(true)\">\n <fa-icon [icon]=\"faPen\"></fa-icon>\n </button>\n <button *ngIf=\"editing\"\n type=\"button\"\n [disabled]=\"!canSubmit()\"\n class=\"toggle-edit-submit-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"submitEdit()\">\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n </button>\n <button *ngIf=\"editing\"\n type=\"button\"\n class=\"toggle-edit-cancel-btn btn text-secondary bg-transparent p-1 border-0\"\n (click)=\"cancelEdit()\">\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n </seam-toggle-edit-actions-container>\n </ng-template>\n </div>\n </div>\n</div>\n\n<seam-loading *ngIf=\"isSubmitting()\"></seam-loading>\n","import { A11yModule } from '@angular/cdk/a11y'\nimport { OverlayModule } from '@angular/cdk/overlay'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { ToggleEditActionsContainerComponent } from './toggle-edit-actions-container/toggle-edit-actions-container.component'\nimport { ToggleEditDisplayTplDirective } from './toggle-edit-display-tpl.directive'\nimport { ToggleEditComponent } from './toggle-edit.component'\n\n@NgModule({\n declarations: [\n ToggleEditDisplayTplDirective,\n ToggleEditActionsContainerComponent,\n ToggleEditComponent,\n ],\n imports: [\n CommonModule,\n TheSeamSharedModule,\n FontAwesomeModule,\n ReactiveFormsModule,\n TheSeamFormFieldModule,\n OverlayModule,\n PortalModule,\n A11yModule,\n TheSeamLoadingModule\n ],\n exports: [\n ToggleEditDisplayTplDirective,\n ToggleEditComponent\n ]\n})\nexport class TheSeamToggleEditModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.ToggleEditKeyboardListenerService","i11.ToggleEditActionsContainerComponent"],"mappings":"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"}