@theseam/ui-common 0.4.6 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/widget/public-api.mjs +4 -1
- package/fesm2015/theseam-ui-common-widget.mjs +96 -96
- package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs +94 -94
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/package.json +1 -1
- package/widget/public-api.d.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-widget.mjs","sources":["../../../projects/ui-common/widget/directives/widget-drag-handle.directive.ts","../../../projects/ui-common/widget/directives/widget-icon-tpl.directive.ts","../../../projects/ui-common/widget/directives/widget-title-tpl.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.component.html","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.component.html","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.component.html","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.component.html","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.component.html","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.component.html","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.html","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.component.html","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.module.ts","../../../projects/ui-common/widget/preferences/widget-preferences.token.ts","../../../projects/ui-common/widget/preferences/widget-preferences.models.ts","../../../projects/ui-common/widget/preferences/widget-preferences.service.ts","../../../projects/ui-common/widget/widget-token.ts","../../../projects/ui-common/widget/widget/widget.component.ts","../../../projects/ui-common/widget/widget/widget.component.html","../../../projects/ui-common/widget/widget-footer/widget-footer.component.ts","../../../projects/ui-common/widget/widget-footer/widget-footer.component.html","../../../projects/ui-common/widget/widget-registry.service.ts","../../../projects/ui-common/widget/widget.module.ts","../../../projects/ui-common/widget/theseam-ui-common-widget.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop'\nimport {\n AfterViewInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core'\nimport { BehaviorSubject, Subject } from 'rxjs'\nimport { auditTime, filter, switchMap, take, takeUntil } from 'rxjs/operators'\n\nimport { getClosestWidgetCdkDrag } from '@theseam/ui-common/utils'\n\n//\n// NOTE: This will probably NOT be used long term, unless more of the\n// CdkDragDrop code is rewritten.\n//\n// This directive is meant to be a HACK replacement directive for CdkDragHandle.\n// The reason this was made is because CdkDragHandle doesn't work in child\n// components, since it uses ContentChildren to query for the handles.\n//\n// This could easily break, because I am forcing the handles query list to emit\n// changes manually. So, if the query list actually changes, then my changes\n// will be broken.\n//\n\n// Helper type that ignores `readonly` properties. This is used in\n// `extendStyles` to ignore the readonly properties on CSSStyleDeclaration\n// since we won't be touching those anyway.\ntype Writeable<T> = { -readonly [P in keyof T]-?: T[P] }\n\n/**\n * Extended CSSStyleDeclaration that includes a couple of drag-related\n * properties that aren't in the built-in TS typings.\n */\ninterface DragCSSStyleDeclaration extends CSSStyleDeclaration {\n webkitUserDrag: string\n MozUserSelect: string // For some reason the Firefox property is in PascalCase.\n msScrollSnapType: string\n scrollSnapType: string\n msUserSelect: string\n}\n\nexport function extendStyles(\n dest: Writeable<CSSStyleDeclaration>,\n source: Partial<DragCSSStyleDeclaration>\n) {\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n dest[key] = source[key]!\n }\n }\n\n return dest\n}\n\nexport function toggleNativeDragInteractions(element: HTMLElement, enable: boolean) {\n const userSelect = enable ? '' : 'none'\n\n extendStyles(element.style, {\n touchAction: enable ? '' : 'none',\n webkitUserDrag: enable ? '' : 'none',\n userSelect,\n msUserSelect: userSelect,\n webkitUserSelect: userSelect,\n MozUserSelect: userSelect\n })\n}\n\nexport interface TheSeamWidgetAccessor<TItem> {\n widgetsChange: EventEmitter<TItem[]>\n cdkDragDirectives: QueryList<CdkDrag>\n}\n\nexport const THESEAM_WIDGET_ACCESSOR = new InjectionToken<TheSeamWidgetAccessor<any>>(\n 'TheSeamWidgetAccessor'\n)\n\n@Directive({\n selector: '[seamWidgetDragHandle]',\n host: {\n 'class': 'cdk-drag-handle'\n }\n})\nexport class WidgetDragHandleDirective implements OnInit, OnDestroy, AfterViewInit, DoCheck {\n static ngAcceptInputType_disabled: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _attachedToDom = new BehaviorSubject<boolean>(false)\n private _doneCheckingAttached = false\n private _knownParentDrag: any /* CdkDrag | undefined */\n\n /** Needed because CdkDrag reads this variable */\n get _parentDrag() { return this.getParentCdkDrag() }\n\n /** Emits when the state of the handle has changed. */\n _stateChanges = new Subject<CdkDragHandle>()\n\n /** Whether starting to drag through this handle is disabled. */\n @Input('cdkDragHandleDisabled')\n get disabled(): boolean { return this._disabled }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n this._stateChanges.next(this as any)\n }\n private _disabled = false\n\n constructor(\n public element: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n @Optional() @Inject(THESEAM_WIDGET_ACCESSOR) private _dashboardWidgets?: TheSeamWidgetAccessor<any>,\n @Optional() private __parentDrag?: CdkDrag\n ) {\n toggleNativeDragInteractions(element.nativeElement, false)\n }\n\n ngOnInit() {\n if (this._dashboardWidgets) {\n this._dashboardWidgets.widgetsChange.pipe(\n auditTime(0),\n takeUntil(this._ngUnsubscribe)\n ).subscribe(() => {\n if (this._knownParentDrag) {\n const isAttached = this.isAttachedToDom()\n if (isAttached) {\n const parent = this.getParentCdkDrag() as any\n if (this._knownParentDrag !== parent) {\n this._attachedToDom.next(isAttached)\n }\n }\n }\n })\n }\n }\n\n ngAfterViewInit() {\n if (this.__parentDrag || this._dashboardWidgets) {\n // FIXME: This only works until the widget is moved to another template\n // outlet. Now that the component isn't reinitialized when moving between\n // lists the handle needs to now reflex that change to its new CdkDrag\n // parent and possibly tell its previous parent to forget it.\n\n // HACK: This is a hack to allow the `CdkDrag` directive to manage a\n // handle that is not visible to `ContentChildren` query.\n this._ngZone.onStable.asObservable()\n // .pipe(take(1), untilDestroyed(this))\n .pipe(\n take(1),\n // With the weird trick being done to keep widgets initialized when switching columns\n switchMap(() => this._attachedToDom.pipe(filter(v => v === true))),\n // take(1)\n takeUntil(this._ngUnsubscribe)\n )\n .subscribe(() => {\n const parent = this.getParentCdkDrag() as any\n\n if (this._knownParentDrag && this._knownParentDrag !== parent) {\n this._knownParentDrag._dragRef.disableHandle(this.element.nativeElement)\n this._knownParentDrag = undefined\n }\n\n if (parent) {\n this._knownParentDrag = parent\n parent._handles.reset([ ...parent._handles._results, this ])\n parent._handles.notifyOnChanges()\n parent._dragRef.enableHandle(this.element.nativeElement)\n }\n })\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete()\n this._attachedToDom.complete()\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngDoCheck() {\n // The attached observable only emits once, so we can stop checking if\n // attached.\n if (this._doneCheckingAttached) { return }\n\n const isAttached = this.isAttachedToDom()\n if (isAttached !== this._attachedToDom.value) {\n this._attachedToDom.next(isAttached)\n this._doneCheckingAttached = true\n }\n }\n\n public isAttachedToDom(): boolean {\n return document.body.contains(this.element.nativeElement)\n }\n\n /** Closest parent draggable instance. */\n public getParentCdkDrag(): CdkDrag | undefined {\n if (this.__parentDrag) {\n return this.__parentDrag\n } else if (this._dashboardWidgets && this._dashboardWidgets.cdkDragDirectives) {\n const dragsArr = this._dashboardWidgets.cdkDragDirectives.toArray()\n const closest = getClosestWidgetCdkDrag(this.element, dragsArr)\n return (closest !== undefined && closest !== null) ? closest : undefined\n }\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetIconTpl]'\n})\nexport class WidgetIconTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetTitleTpl]'\n})\nexport class WidgetTitleTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-button-group',\n templateUrl: './widget-button-group.component.html',\n styleUrls: ['./widget-button-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetButtonGroupComponent { }\n","<ng-content select=\"[seamButton]\"></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\n\nimport { WidgetButtonGroupComponent } from './widget-button-group.component'\n\n@NgModule({\n declarations: [\n WidgetButtonGroupComponent\n ],\n imports: [\n CommonModule,\n TheSeamButtonsModule\n ],\n exports: [\n WidgetButtonGroupComponent,\n\n TheSeamButtonsModule\n ]\n})\nexport class TheSeamWidgetButtonGroupModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-content-header',\n templateUrl: './widget-content-header.component.html',\n styleUrls: ['./widget-content-header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetContentHeaderComponent { }\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetContentHeaderComponent } from './widget-content-header.component'\n\n@NgModule({\n declarations: [\n WidgetContentHeaderComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetContentHeaderComponent\n ]\n})\nexport class TheSeamWidgetContentHeaderModule { }\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-description',\n templateUrl: './widget-description.component.html',\n styleUrls: ['./widget-description.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetDescriptionComponent { }\n","<p><ng-content></ng-content></p>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetDescriptionComponent } from './widget-description.component'\n\n@NgModule({\n declarations: [\n WidgetDescriptionComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetDescriptionComponent\n ]\n})\nexport class TheSeamWidgetDescriptionModule { }\n","import { Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-empty-label,a[seam-widget-empty-label],button[seam-widget-empty-label]',\n templateUrl: './widget-empty-label.component.html',\n styleUrls: ['./widget-empty-label.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetEmptyLabelComponent {\n\n private _type: string | undefined | null\n\n @HostBinding('class.btn')\n get _btnCss() { return !!this._isButton() }\n\n @HostBinding('class.btn-link')\n get _btnLinkCss() { return !!this._isButton() }\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n constructor(\n public _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>\n ) { }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n /** Determines if the component host is an anchor. */\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetEmptyLabelComponent } from './widget-empty-label.component'\n\n@NgModule({\n declarations: [\n WidgetEmptyLabelComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetEmptyLabelComponent\n ]\n})\nexport class TheSeamWidgetEmptyLabelModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seam-widget-footer-link]',\n templateUrl: './widget-footer-link.component.html',\n styleUrls: ['./widget-footer-link.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetFooterLinkComponent { }\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetFooterLinkComponent } from './widget-footer-link.component'\n\n@NgModule({\n declarations: [\n WidgetFooterLinkComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetFooterLinkComponent\n ]\n})\nexport class TheSeamWidgetFooterLinkModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-footer-text',\n templateUrl: './widget-footer-text.component.html',\n styleUrls: ['./widget-footer-text.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetFooterTextComponent { }\n","<em>\n <ng-content></ng-content>\n</em>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetFooterTextComponent } from './widget-footer-text.component'\n\n@NgModule({\n declarations: [\n WidgetFooterTextComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetFooterTextComponent\n ]\n})\nexport class TheSeamWidgetFooterTextModule { }\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation } from '@angular/core'\n\nimport {\n CanThemeCtor,\n mixinTheme\n} from '@theseam/ui-common/core'\n\nclass WidgetHeaderBadgeBase {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n\nconst _WidgetHeaderBadgeMixinBase: CanThemeCtor &\n typeof WidgetHeaderBadgeBase = mixinTheme(WidgetHeaderBadgeBase, 'badge')\n\n@Component({\n selector: 'seam-widget-header-badge',\n templateUrl: './widget-header-badge.component.html',\n styleUrls: ['./widget-header-badge.component.scss'],\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'theme' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'class': 'badge float-right'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetHeaderBadgeComponent extends _WidgetHeaderBadgeMixinBase {\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef\n ) { super(_elementRef) }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetHeaderBadgeComponent } from './widget-header-badge.component'\n\n@NgModule({\n declarations: [\n WidgetHeaderBadgeComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetHeaderBadgeComponent\n ]\n})\nexport class TheSeamWidgetHeaderBadgeModule { }\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetListGroupItemIconTpl]',\n exportAs: 'seamWidgetListGroupItemIconTpl'\n})\nexport class WidgetListGroupItemIconTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, ContentChild, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanBeActive,\n CanBeActiveCtor,\n CanDisable,\n CanDisableCtor,\n CanTheme,\n CanThemeCtor,\n HasElementRef,\n mixinActive,\n mixinDisabled,\n mixinTheme\n} from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { WidgetListGroupItemIconTplDirective } from './widget-list-group-item-icon-tpl.directive'\n\n// tslint:disable-next-line: max-line-length\nconst WIDGET_LIST_GROUP_ITEM_INPUTS = [ 'disabled', 'theme', 'active', 'icon', 'iconClass', 'label', 'secondaryIcon', 'secondaryIconClass', 'secondaryIconTitle' ]\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nclass WidgetListGroupItemBase {\n\n @ContentChild(WidgetListGroupItemIconTplDirective, { static: true }) iconTpl?: WidgetListGroupItemIconTplDirective\n\n icon?: SeamIcon\n iconClass?: string\n secondaryIcon?: SeamIcon\n secondaryIconClass?: string\n secondaryIconTitle?: string\n\n label?: string\n\n constructor(\n public _elementRef: ElementRef,\n public _renderer: Renderer2\n ) { }\n\n /** Focuses the element. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nclass WidgetListGroupItemActionableBase extends WidgetListGroupItemBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _renderer)\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n}\n\nconst _WidgetListGroupItemBase: CanDisableCtor & CanThemeCtor & CanBeActiveCtor &\n typeof WidgetListGroupItemBase = mixinActive(mixinTheme(mixinDisabled(WidgetListGroupItemBase), 'list-group-item'))\n\nconst _WidgetListGroupItemActionableBase: CanDisableCtor & CanThemeCtor & CanBeActiveCtor &\n typeof WidgetListGroupItemActionableBase = mixinActive(mixinTheme(mixinDisabled(WidgetListGroupItemActionableBase), 'list-group-item'))\n\n@Component({\n selector: 'seam-widget-list-group-item',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n 'class': 'list-group-item',\n '[class.active]': 'active',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemComponent extends _WidgetListGroupItemBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive {\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _renderer)\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seam-widget-list-group-item],button[seamWidgetListGroupItem]',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n '[attr.type]': 'type',\n 'class': 'list-group-item list-group-item-action',\n '[class.active]': 'active',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemButtonComponent extends _WidgetListGroupItemActionableBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive, OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' | undefined | null = 'button'\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seam-widget-list-group-item],a[seamWidgetListGroupItem]',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n 'class': 'list-group-item list-group-item-action',\n '[class.active]': 'active',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemAnchorComponent extends _WidgetListGroupItemActionableBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive, OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<div class=\"d-flex flex-row\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <span class=\"pr-2\">\n <ng-container *ngTemplateOutlet=\"$any(iconTpl)\"></ng-container>\n </span>\n </ng-container>\n <ng-template #noIconTpl>\n <span class=\"pr-2\">\n <seam-icon *ngIf=\"icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n iconType=\"borderless-styled-square\">\n </seam-icon>\n </span>\n </ng-template>\n\n <div class=\"d-flex flex-column justify-content-center flex-grow-1\">\n {{ label }}\n </div>\n\n <seam-icon *ngIf=\"secondaryIcon\"\n iconType=\"borderless-styled-square\"\n class=\"secondary-icon align-self-center ml-1\"\n [icon]=\"secondaryIcon\"\n [iconClass]=\"secondaryIconClass\"\n [title]=\"secondaryIconTitle\"\n size=\"lg\">\n </seam-icon>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n// TODO: Make `ListGroup` a root component and wrap it with `WidgetListGroup`.\n\n@Component({\n selector: 'seam-widget-list-group',\n templateUrl: './widget-list-group.component.html',\n styleUrls: ['./widget-list-group.component.scss'],\n host: {\n 'class': 'list-group'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupComponent { }\n","<ng-content select=\"seam-widget-list-group-item,\n a[seam-widget-list-group-item],\n a[seamWidgetListGroupItem],\n button[seam-widget-list-group-item],\n button[seamWidgetListGroupItem]\">\n</ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { WidgetListGroupItemIconTplDirective } from './widget-list-group-item/widget-list-group-item-icon-tpl.directive'\nimport {\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent\n} from './widget-list-group-item/widget-list-group-item.component'\nimport { WidgetListGroupComponent } from './widget-list-group.component'\n\n@NgModule({\n declarations: [\n WidgetListGroupComponent,\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent,\n WidgetListGroupItemIconTplDirective\n ],\n imports: [\n CommonModule,\n TheSeamIconModule\n ],\n exports: [\n WidgetListGroupComponent,\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent,\n WidgetListGroupItemIconTplDirective\n ]\n})\nexport class TheSeamWidgetListGroupModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport type { ITableColumn, TrackByFunction } from '@theseam/ui-common/table'\n\n@Component({\n selector: 'seam-widget-table',\n templateUrl: './widget-table.component.html',\n styleUrls: ['./widget-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetTableComponent<T> {\n static ngAcceptInputType_hasHeader: BooleanInput\n\n @Input() columns: (string | ITableColumn)[] | undefined | null\n @Input() rows: T[] | undefined | null = []\n @Input() trackBy: TrackByFunction<T> | undefined | null\n @Input() size: 'sm' | 'md' | undefined | null = 'sm'\n @Input() @InputBoolean() hasHeader = true\n\n @Output() readonly actionRefreshRequest = new EventEmitter<any>()\n\n _actionRefreshRequest() {\n this.actionRefreshRequest.emit()\n }\n\n}\n","<seam-table\n [columns]=\"columns\"\n [rows]=\"rows\"\n [trackBy]=\"trackBy\"\n [size]=\"size\"\n [hasHeader]=\"hasHeader\"\n (actionRefreshRequest)=\"_actionRefreshRequest()\">\n</seam-table>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamTableModule } from '@theseam/ui-common/table'\nimport { TheSeamTableCellTypesModule } from '@theseam/ui-common/table-cell-types'\n\nimport { WidgetTableComponent } from './widget-table.component'\n\n@NgModule({\n declarations: [\n WidgetTableComponent\n ],\n imports: [\n CommonModule,\n TheSeamTableModule,\n TheSeamTableCellTypesModule\n ],\n exports: [\n WidgetTableComponent\n ]\n})\nexport class TheSeamWidgetTableModule { }\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-footer,[seam-widget-tile-footer]',\n templateUrl: './widget-tile-footer.component.html',\n styleUrls: ['./widget-tile-footer.component.scss'],\n host: {\n class: 'd-flex flex-row justify-content-end',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetTileFooterComponent { }\n","\n <ng-content select=\"seam-widget-tile-footer-item,[seam-widget-tile-footer-item]\"></ng-content>\n\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-widget-tile-footer-item,a[seam-widget-tile-footer-item],button[seam-widget-tile-footer-item]',\n templateUrl: './widget-tile-footer-item.component.html',\n styleUrls: ['./widget-tile-footer-item.component.scss'],\n host: {\n class: 'btn btn-link py-0 px-1',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetTileFooterItemComponent {\n static ngAcceptInputType_disabled: BooleanInput\n\n private _type: string | undefined | null\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @HostBinding('class.disabled')\n get _DisabledCss() { return this.disabled }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n @Input() @InputBoolean() disabled = false\n\n constructor(\n public _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>,\n ) { }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-group',\n templateUrl: './widget-tile-group.component.html',\n styleUrls: ['./widget-tile-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetTileGroupComponent { }\n","<ng-content select=\"[seam-widget-tile],seam-widget-tile\"></ng-content>\n<ng-content select=\"seam-widget-tile-footer\"></ng-content>\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetTileSecondaryIcon]',\n exportAs: 'seamWidgetTileSecondaryIcon',\n})\nexport class WidgetTileSecondaryIconDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, ElementRef, HostBinding, Input, OnDestroy, OnInit, Renderer2, ViewEncapsulation } from '@angular/core'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\n\nimport {\n CanDisableCtor,\n HasElementRef,\n HasRenderer2,\n HasTabIndexCtor,\n InputBoolean,\n mixinDisabled,\n mixinTabIndex,\n} from '@theseam/ui-common/core'\nimport { TheSeamIconType } from '@theseam/ui-common/icon'\n\nimport { WidgetTileSecondaryIconDirective } from './widget-tile-secondary-icon.directive'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamWidgetTileBase implements OnDestroy, HasRenderer2, HasElementRef {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2,\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamWidgetTileMixinBase: CanDisableCtor & HasTabIndexCtor &\n typeof TheSeamWidgetTileBase = mixinTabIndex(mixinDisabled(TheSeamWidgetTileBase))\n\n// TODO: Should this component be split into separate components for button and anchor.\n@Component({\n selector: 'seam-widget-tile, a[seam-widget-tile], button[seam-widget-tile]',\n templateUrl: './widget-tile.component.html',\n styleUrls: ['./widget-tile.component.scss'],\n inputs: [ 'disabled' ],\n exportAs: 'seamWidgetTile',\n encapsulation: ViewEncapsulation.None,\n})\nexport class WidgetTileComponent extends _TheSeamWidgetTileMixinBase implements OnInit, OnDestroy {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n\n private _clickUnListen: (() => void | undefined | null) | undefined | null\n\n private _type: string | undefined | null\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @HostBinding('class.btn')\n get _btnCss() { return !!this._isButton() }\n\n @HostBinding('class.disabled')\n get _disabledCss() { return this.disabled }\n\n @HostBinding('attr.aria-disabled')\n get _ariaDisabled() { return this.disabled.toString() }\n\n @HostBinding('attr.disabled')\n get _attrDisabled() { return this.disabled || null }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() { return this.disabled ? -1 : (this.tabIndex || 0) }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n @Input() icon: string | IconProp | undefined | null\n\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n @Input() iconClass: string | undefined | null\n\n @Input() iconType: TheSeamIconType | undefined | null = 'styled-square'\n\n @Input() notificationIcon: string | IconProp | undefined | null\n @Input() notificationIconClass: string | undefined | null\n\n @ContentChild(WidgetTileSecondaryIconDirective, { static: true }) secondaryIcon?: WidgetTileSecondaryIconDirective\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2,\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnInit() {\n if (this._isAnchor()) {\n this._clickUnListen = this._renderer.listen(this._getHostElement(), 'click', this._haltDisabledEvents)\n }\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n if (this._clickUnListen) {\n this._clickUnListen()\n }\n }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n /** Determines if the component host is an anchor. */\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n _haltDisabledEvents = (event: Event) => {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<div class=\"d-flex flex-row\">\n <div style=\"position: relative\">\n <seam-icon\n [icon]=\"icon\"\n [iconType]=\"iconType\"\n [iconClass]=\"iconClass\"\n [disabled]=\"disabled\">\n </seam-icon>\n\n <seam-icon *ngIf=\"notificationIcon\"\n class=\"widget-tile--notification-icon\"\n [icon]=\"notificationIcon\"\n iconType=\"image-fill\"\n [iconClass]=\"notificationIconClass\"\n [disabled]=\"disabled\">\n </seam-icon>\n </div>\n <div class=\"flex-grow-1 text-left pl-2\" style=\"margin: auto 0;\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"secondaryIcon\">\n <ng-template [ngTemplateOutlet]=\"secondaryIcon.template\"></ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { WidgetTileFooterComponent } from './widget-tile-footer/widget-tile-footer.component'\nimport { WidgetTileFooterItemComponent } from './widget-tile-footer-item/widget-tile-footer-item.component'\nimport { WidgetTileGroupComponent } from './widget-tile-group/widget-tile-group.component'\nimport { WidgetTileSecondaryIconDirective } from './widget-tile-secondary-icon.directive'\nimport { WidgetTileComponent } from './widget-tile.component'\n\n@NgModule({\n declarations: [\n WidgetTileComponent,\n WidgetTileSecondaryIconDirective,\n WidgetTileFooterComponent,\n WidgetTileGroupComponent,\n WidgetTileFooterItemComponent,\n ],\n imports: [\n CommonModule,\n TheSeamIconModule,\n ],\n exports: [\n WidgetTileComponent,\n WidgetTileSecondaryIconDirective,\n WidgetTileFooterComponent,\n WidgetTileGroupComponent,\n WidgetTileFooterItemComponent,\n ],\n})\nexport class TheSeamWidgetTileModule { }\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-list',\n templateUrl: './widget-tile-list.component.html',\n styleUrls: ['./widget-tile-list.component.scss'],\n})\nexport class WidgetTileListComponent { }\n","<ng-content select=\"[seam-widget-tile],seam-widget-tile,seam-widget-tile-group\"></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamWidgetTileModule } from '../widget-tile/widget-tile.module'\n\nimport { WidgetTileListComponent } from './widget-tile-list.component'\n\n@NgModule({\n declarations: [\n WidgetTileListComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetTileListComponent,\n TheSeamWidgetTileModule\n ]\n})\nexport class TheSeamWidgetTileListModule { }\n","import { InjectionToken } from '@angular/core'\r\n\r\nimport { TheSeamPreferencesAccessor } from '@theseam/ui-common/services'\r\n\r\nexport const THESEAM_WIDGET_PREFERENCES_ACCESSOR = new InjectionToken<TheSeamPreferencesAccessor>(\r\n 'TheSeamWidgetPreferencesAccessor'\r\n)\r\n","import { TheSeamPreferencesBase } from '@theseam/ui-common/services'\r\n\r\nexport interface TheSeamWidgetPreferences_v1 extends TheSeamPreferencesBase {\r\n version: 1\r\n collapsed?: boolean\r\n}\r\n\r\nexport type TheSeamWidgetPreferences = TheSeamWidgetPreferences_v1\r\n\r\nexport const CURRENT_WIDGET_PREFERENCES_VERSION = 1\r\n\r\nexport const EMPTY_WIDGET_PREFERENCES: TheSeamWidgetPreferences = {\r\n version: 1,\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { map, take, tap } from 'rxjs/operators'\r\n\r\nimport { TheSeamPreferencesAccessor, TheSeamPreferencesBase, TheSeamPreferencesManagerService } from '@theseam/ui-common/services'\r\nimport { THESEAM_WIDGET_PREFERENCES_ACCESSOR } from './widget-preferences.token'\r\nimport { CURRENT_WIDGET_PREFERENCES_VERSION, EMPTY_WIDGET_PREFERENCES, TheSeamWidgetPreferences } from './widget-preferences.models'\r\n\r\ntype TheSeamWidgetPreferencesPatch = Omit<TheSeamWidgetPreferences, 'version'>\r\n\r\n// TODO: Rethink this. I originally implemented this to be shared widget's then\r\n// changed it to be per widget, for the accessor injection.\r\n\r\n// @Injectable({ providedIn: 'root' })\r\n@Injectable()\r\nexport class WidgetPreferencesService {\r\n\r\n private _pendingPatches: { [preferencesKey: string]: TheSeamWidgetPreferencesPatch[] } = { }\r\n\r\n constructor(\r\n private readonly _preferencesManager: TheSeamPreferencesManagerService,\r\n @Optional() @Inject(THESEAM_WIDGET_PREFERENCES_ACCESSOR) private _prefsAccessor?: TheSeamPreferencesAccessor\r\n ) { }\r\n\r\n public isPatchPending(preferenceKey: string): boolean {\r\n return this._pendingPatches[preferenceKey] && this._pendingPatches[preferenceKey].length > 0\r\n }\r\n\r\n public isPending(preferenceKey: string): boolean {\r\n return this._preferencesManager.isPending(preferenceKey)\r\n }\r\n\r\n public isLoaded(preferenceKey: string): boolean {\r\n return this._preferencesManager.isLoaded(preferenceKey)\r\n }\r\n\r\n public preferences(preferenceKey: string): Observable<TheSeamWidgetPreferences> {\r\n if (!this._prefsAccessor) {\r\n return of(JSON.parse(JSON.stringify(EMPTY_WIDGET_PREFERENCES)))\r\n }\r\n\r\n return this._preferencesManager.preferences(preferenceKey, this._prefsAccessor, EMPTY_WIDGET_PREFERENCES).pipe(\r\n map(prefs => {\r\n if (this._isValidPreferences(prefs)) {\r\n return prefs\r\n }\r\n\r\n throw Error(`Preferences for key '${preferenceKey}' is not a valid widget preferences.`)\r\n })\r\n )\r\n }\r\n\r\n public refresh(preferenceKey: string): void {\r\n this._preferencesManager.refresh(preferenceKey)\r\n }\r\n\r\n public patchPreferences(preferenceKey: string, preferences: TheSeamWidgetPreferencesPatch): void {\r\n if (!this._prefsAccessor) {\r\n return\r\n }\r\n\r\n if (!this._pendingPatches[preferenceKey]) {\r\n this._pendingPatches[preferenceKey] = []\r\n }\r\n\r\n if (this._pendingPatches[preferenceKey].length > 0) {\r\n this._pendingPatches[preferenceKey].push(preferences)\r\n return\r\n }\r\n\r\n this._pendingPatches[preferenceKey].push(preferences)\r\n\r\n this.preferences(preferenceKey).pipe(\r\n take(1),\r\n map(prefs => {\r\n const pendingPatches = this._pendingPatches[preferenceKey]\r\n this._pendingPatches[preferenceKey] = []\r\n const newPrefs: TheSeamWidgetPreferences = pendingPatches.reduce((acc, patch) => {\r\n return { ...acc, ...patch }\r\n }, prefs) as TheSeamWidgetPreferences // Typescript isn't recognizing that 'version' is included in the initial value.\r\n\r\n if (!this._isValidPreferences(newPrefs)) {\r\n throw Error(`Attempted to patch preferences for key '${preferenceKey}' with invalid preferences.`)\r\n }\r\n\r\n this._preferencesManager.update(preferenceKey, newPrefs)\r\n }),\r\n tap(() => this.refresh(preferenceKey)),\r\n ).subscribe()\r\n }\r\n\r\n private _isValidPreferences(prefs: TheSeamPreferencesBase): prefs is TheSeamWidgetPreferences {\r\n return prefs.version === CURRENT_WIDGET_PREFERENCES_VERSION\r\n }\r\n\r\n}\r\n","import { InjectionToken } from '@angular/core'\n\nimport { IWidgetRegistryRecord } from './widget-registry.models'\nimport { TheSeamWidgetData, TheSeamWidgetDefaults } from './widget.models'\n\nexport const THESEAM_WIDGETS = new InjectionToken<IWidgetRegistryRecord>('TheSeamWidgets')\n\nexport const THESEAM_WIDGET_DATA = new InjectionToken<TheSeamWidgetData>('TheSeamWidgetData')\n\nexport const THESEAM_WIDGET_DEFAULTS = new InjectionToken<TheSeamWidgetDefaults>('TheSeamWidgetDefaults')\n","import { animate, state, style, transition, trigger } from '@angular/animations'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, Inject, Input, isDevMode, OnDestroy, Optional, ViewEncapsulation } from '@angular/core'\nimport { Subject, takeUntil, tap } from 'rxjs'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\nimport { faAngleDown, faCog } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { WidgetIconTplDirective } from '../directives/widget-icon-tpl.directive'\nimport { WidgetTitleTplDirective } from '../directives/widget-title-tpl.directive'\nimport { WidgetPreferencesService } from '../preferences/widget-preferences.service'\nimport { THESEAM_WIDGET_DATA, THESEAM_WIDGET_DEFAULTS } from '../widget-token'\nimport { TheSeamWidgetData, TheSeamWidgetDefaults } from '../widget.models'\n\nconst EXPANDED_STATE = 'expanded'\nconst COLLAPSED_STATE = 'collapsed'\n\nconst EXPAND_TRANSITION = `${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`\n\nconst loadingAnimation = trigger('loadingAnim', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('250ms ease-in-out', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('250ms ease-in-out', style({ opacity: 0 })),\n ]),\n])\n\n/**\n * I was having an issue getting the content to not be removed from the DOM,\n * before the animation was complete. This animation is a hack to keep the\n * content in the DOM until the animation is complete.\n */\nconst keepContentAnimation = trigger('keepContentAnim', [\n transition(':leave', [\n style({ opacity: 1 }),\n animate('0ms', style({ opacity: 0 })),\n ]),\n])\n\nconst collapseAnimation = trigger('collapseAnim', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: '0' })),\n transition(EXPAND_TRANSITION, animate('0.3s ease-in-out')),\n])\n\n/**\n * Widget\n *\n * Widgets are designed with the intention of being on a dashboard. Other uses\n * may be supported as the need arises.\n *\n * The only HTML/CSS use should be a widget content component, unless there is a\n * case requiring more advanced design. This is so that we can manage a common\n * style for our widgets. If a case requiring non widget content components is\n * used then the situation should be considered for becoming a widget component.\n */\n@Component({\n selector: 'seam-widget',\n templateUrl: './widget.component.html',\n styleUrls: ['./widget.component.scss'],\n providers: [\n WidgetPreferencesService,\n ],\n encapsulation: ViewEncapsulation.None,\n animations: [\n loadingAnimation,\n collapseAnimation,\n keepContentAnimation,\n ],\n})\nexport class WidgetComponent implements OnDestroy {\n\n static ngAcceptInputType_hasHeader: BooleanInput\n static ngAcceptInputType_loading: BooleanInput\n static ngAcceptInputType_hasConfig: BooleanInput\n static ngAcceptInputType_canCollapse: BooleanInput\n\n readonly configIcon = faCog\n readonly collapseIcon = faAngleDown\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _preferencesKey?: string\n\n /**\n * Toggles the collapsed state of a widget.\n */\n @Input() @InputBoolean() collapsed = false\n\n /**\n * Toggles the top header bar of a widget. This should be true for most\n * widgets.\n */\n @Input() @InputBoolean() hasHeader = true\n\n /**\n * Title displayed in the top header.\n *\n * If a more advanced title is needed you can use `seamWidgetTitleTpl`\n * template directive, but text is recommended, because allowing custom styles\n * can lead to inconsitency quickly as different developers keep making\n * tweaks.\n */\n @Input() titleText: string | undefined | null\n\n /**\n * Icon displayed in the top header.\n *\n * If a more advanced icon is needed you can use `seamWidgetIconTpl` template\n * directive, but a `SeamIcon` input is recommended, because allowing custom\n * icons that do not follow the tested types can lead to inconsitency quickly\n * as different developers keep making tweaks.\n */\n @Input()\n get icon(): SeamIcon | undefined { return this._iconUrl || this._iconObj }\n set icon(value: SeamIcon | undefined) {\n if (typeof value === 'string') {\n this._iconUrl = value\n this._iconObj = undefined\n } else {\n this._iconUrl = undefined\n this._iconObj = value\n }\n }\n\n _iconUrl: string | undefined\n _iconObj: IconProp | undefined\n\n /** Add a css class to the header icon. */\n @Input() iconClass: string | undefined | null\n\n /** Shows widget loading instead of content. */\n @Input() @InputBoolean() loading = false\n\n /** @ignore */\n // NOTE: Config is still being worked on.\n @Input() @InputBoolean() hasConfig = false\n\n /**\n * Toggles the ability to collapse a widget. An icon will be displayed in the\n * header to toggle the collapsed state.\n */\n @Input() @InputBoolean() canCollapse = false\n\n @ContentChild(WidgetIconTplDirective, { static: true }) iconTpl?: WidgetIconTplDirective\n @ContentChild(WidgetTitleTplDirective, { static: true }) titleTpl?: WidgetTitleTplDirective\n\n constructor(\n private readonly _widgetPreferences: WidgetPreferencesService,\n @Optional() @Inject(THESEAM_WIDGET_DEFAULTS) private readonly _defaults?: TheSeamWidgetDefaults,\n @Optional() @Inject(THESEAM_WIDGET_DATA) private readonly _data?: TheSeamWidgetData,\n ) {\n if (this._defaults) {\n if (hasProperty(this._defaults, 'canCollapse')) {\n this.canCollapse = this._defaults.canCollapse\n }\n if (hasProperty(this._defaults, 'collapsed')) {\n this.collapsed = this._defaults.collapsed\n }\n }\n\n if (this._data && this._data.widgetId) {\n this._preferencesKey = `widget:${this._data.widgetId}`\n this._widgetPreferences.preferences(this._preferencesKey).pipe(\n tap(prefs => {\n if (hasProperty(prefs, 'collapsed')) {\n this.collapsed = prefs.collapsed\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n /**\n * Toggles a widget's collapsed state.\n */\n public collapse() {\n if (!this.canCollapse) {\n if (isDevMode()) {\n console.warn('WidgetComponent: collapse() called when canCollapse is false.')\n }\n return\n }\n\n this.collapsed = !this.collapsed\n\n // Only update the preference, if collapse method is called, because it is\n // assumed that the user is collapsing the widget. If the collapsed state is\n // changed by other means, such using the widget's `collapsed` input, then\n // the preference should not be updated, because that is assumed to be an\n // app controlled change that should not be persisted.\n if (this._preferencesKey) {\n this._widgetPreferences.patchPreferences(this._preferencesKey, { collapsed: this.collapsed })\n }\n }\n\n get collapseState(): string { return this.collapsed ? COLLAPSED_STATE : EXPANDED_STATE }\n\n}\n","<div class=\"seam-widget border rounded overflow-hidden\">\n <div class=\"widget-header\" seamWidgetDragHandle *ngIf=\"hasHeader\">\n <div class=\"widget-header-content p-2 text-nowrap\">\n <span class=\"mr-1 widget-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"widget-header-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"widget-header-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n <span class=\"widget-header-title text-truncate\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </div>\n <div class=\"widget-header-btns-container\" *ngIf=\"hasConfig || canCollapse\">\n <!-- <div *ngIf=\"hasConfig\">\n <button seamIconBtn [icon]=\"configIcon\"\n class=\"widget-header-btn-config\"\n [iconType]=\"null\">\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n <button seamButton class=\"widget-header-btn-config p-0\">\n <seam-icon class=\"d-block\" [icon]=\"configIcon\" iconClass=\"text-secondary\"></seam-icon>\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n </div> -->\n\n <div *ngIf=\"canCollapse\" class=\"px-0\">\n\n <button seamButton class=\"widget-header-btn-collapse p-0 mr-1 h-100\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\">\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\">\n </seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button>\n <!-- iconType=\"borderless-styled-square\" -->\n <!-- style=\"margin-left: -10px; margin-right: -5px;\" -->\n\n <!-- <button seamIconBtn class=\"widget-header-btn-collapse\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\"\n btnTheme=\"secondary\"\n [icon]=\"collapseIcon\"\n iconType=\"borderless-styled-square\"\n size=\"xs\"\n btnSize=\"sm\"\n >\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\"\n style=\"margin-left: -10px; margin-right: -5px;\"\n iconType=\"borderless-styled-square\"></seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button> -->\n </div>\n </div>\n </div>\n <div class=\"position-relative overflow-hidden\" [style.height.px]=\"loading ? 150 : undefined\" [@collapseAnim]=\"collapseState\">\n <ng-container *ngIf=\"!collapsed\">\n <div class=\"p-2\" *ngIf=\"!loading else loadingTpl\" @keepContentAnim>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"seam-widget-footer\"></ng-content>\n <ng-template #loadingTpl>\n <div class=\"position-absolute\" @loadingAnim style=\"top:0;right:0;bottom:0;left:0\">\n <seam-loading [theme]=\"'primary'\"></seam-loading>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-footer',\n templateUrl: './widget-footer.component.html',\n styleUrls: ['./widget-footer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class WidgetFooterComponent { }\n","<div class=\"widget-footer--left\">\n <ng-content select=\"seam-widget-footer-text\"></ng-content>\n</div>\n<div class=\"widget-footer--right\">\n <ng-content select=\"seam-widget-button-group\"></ng-content>\n</div>\n","import { ComponentPortal } from '@angular/cdk/portal'\nimport { ComponentFactoryResolver, Inject, Injectable, Injector, ViewContainerRef } from '@angular/core'\nimport { Observable, of, throwError } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\n\nimport { IWidgetRegistryRecord } from './widget-registry.models'\nimport { THESEAM_WIDGETS } from './widget-token'\n\n/**\n * Registry is to provide a way to manage widgets in a way that we can load them\n * the same way throughout the app, whether the component itself is registered,\n * the component is lazy-loaded, or referenced by an id stored in the database.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetRegistryService {\n\n constructor(\n @Inject(THESEAM_WIDGETS) private _widgets: IWidgetRegistryRecord[],\n private _dynamicComponentLoader: TheSeamDynamicComponentLoader,\n ) { }\n\n public createWidgetPortal<T>(\n widgetId: string,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n componentFactoryResolver?: ComponentFactoryResolver | null | undefined,\n ): Observable<ComponentPortal<T>> {\n const widgetDef = (this._widgets || []).find(w => w.widgetId === widgetId)\n\n if (!widgetDef) {\n return throwError(`WidgetRegstry: Unknown widgetId \"${widgetId}\"`)\n }\n\n if (typeof widgetDef.componentOrComponentId === 'string') {\n return this._dynamicComponentLoader\n .getComponentFactory<T>(widgetDef.componentOrComponentId)\n .pipe(\n map(componentFactory => {\n let resolver: ComponentFactoryResolver | null | undefined = componentFactoryResolver\n if (!resolver) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const m = (componentFactory as any /* ComponentFactoryBoundToModule */).ngModule\n if (m && m.componentFactoryResolver) {\n resolver = m.componentFactoryResolver\n }\n }\n\n const portal = new ComponentPortal(\n componentFactory.componentType,\n viewContainerRef,\n injector,\n resolver,\n )\n\n return portal\n }),\n )\n } else {\n const portal = new ComponentPortal(\n widgetDef.componentOrComponentId,\n viewContainerRef,\n injector,\n componentFactoryResolver,\n )\n\n return of(portal)\n }\n }\n\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop'\nimport { CdkTableModule } from '@angular/cdk/table'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\n\nimport { WidgetDragHandleDirective } from './directives/widget-drag-handle.directive'\nimport { WidgetIconTplDirective } from './directives/widget-icon-tpl.directive'\nimport { WidgetTitleTplDirective } from './directives/widget-title-tpl.directive'\nimport { WidgetComponent } from './widget/widget.component'\n\nimport { TheSeamWidgetButtonGroupModule } from './widget-content-components/widget-button-group/widget-button-group.module'\nimport { TheSeamWidgetContentHeaderModule } from './widget-content-components/widget-content-header/widget-content-header.module'\nimport { TheSeamWidgetDescriptionModule } from './widget-content-components/widget-description/widget-description.module'\nimport { TheSeamWidgetEmptyLabelModule } from './widget-content-components/widget-empty-label/widget-empty-label.module'\nimport { TheSeamWidgetFooterLinkModule } from './widget-content-components/widget-footer-link/widget-footer-link.module'\nimport { TheSeamWidgetFooterTextModule } from './widget-content-components/widget-footer-text/widget-footer-text.module'\nimport { TheSeamWidgetHeaderBadgeModule } from './widget-content-components/widget-header-badge/widget-header-badge.module'\nimport { TheSeamWidgetListGroupModule } from './widget-content-components/widget-list-group/widget-list-group.module'\nimport { TheSeamWidgetTableModule } from './widget-content-components/widget-table/widget-table.module'\nimport { TheSeamWidgetTileModule } from './widget-content-components/widget-tile/widget-tile.module'\nimport { TheSeamWidgetTileListModule } from './widget-content-components/widget-tile-list/widget-tile-list.module'\nimport { WidgetFooterComponent } from './widget-footer/widget-footer.component'\n\nconst contentModules = [\n TheSeamWidgetButtonGroupModule,\n TheSeamWidgetContentHeaderModule,\n TheSeamWidgetDescriptionModule,\n TheSeamWidgetEmptyLabelModule,\n TheSeamWidgetFooterLinkModule,\n TheSeamWidgetFooterTextModule,\n TheSeamWidgetHeaderBadgeModule,\n TheSeamWidgetListGroupModule,\n TheSeamWidgetTableModule,\n TheSeamWidgetTileListModule,\n TheSeamWidgetTileModule,\n]\n\n@NgModule({\n declarations: [\n WidgetComponent,\n WidgetIconTplDirective,\n WidgetTitleTplDirective,\n WidgetDragHandleDirective,\n WidgetFooterComponent,\n ],\n imports: [\n CommonModule,\n FontAwesomeModule,\n TheSeamIconModule,\n TheSeamLoadingModule,\n DragDropModule,\n TheSeamButtonsModule,\n CdkTableModule,\n\n ...contentModules,\n ],\n exports: [\n RouterModule,\n\n WidgetComponent,\n WidgetIconTplDirective,\n WidgetTitleTplDirective,\n WidgetFooterComponent,\n\n ...contentModules,\n ],\n})\nexport class TheSeamWidgetModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","tap","takeUntil","i1.WidgetPreferencesService","i3","i4","i7.WidgetDragHandleDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-widget.mjs","sources":["../../../projects/ui-common/widget/directives/widget-drag-handle.directive.ts","../../../projects/ui-common/widget/directives/widget-icon-tpl.directive.ts","../../../projects/ui-common/widget/directives/widget-title-tpl.directive.ts","../../../projects/ui-common/widget/preferences/widget-preferences.models.ts","../../../projects/ui-common/widget/preferences/widget-preferences.token.ts","../../../projects/ui-common/widget/preferences/widget-preferences.service.ts","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.component.html","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.component.html","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.component.html","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.component.html","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.component.html","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.component.html","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.html","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.component.html","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.module.ts","../../../projects/ui-common/widget/widget-token.ts","../../../projects/ui-common/widget/widget/widget.component.ts","../../../projects/ui-common/widget/widget/widget.component.html","../../../projects/ui-common/widget/widget-footer/widget-footer.component.ts","../../../projects/ui-common/widget/widget-footer/widget-footer.component.html","../../../projects/ui-common/widget/widget-registry.service.ts","../../../projects/ui-common/widget/widget.module.ts","../../../projects/ui-common/widget/theseam-ui-common-widget.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop'\nimport {\n AfterViewInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core'\nimport { BehaviorSubject, Subject } from 'rxjs'\nimport { auditTime, filter, switchMap, take, takeUntil } from 'rxjs/operators'\n\nimport { getClosestWidgetCdkDrag } from '@theseam/ui-common/utils'\n\n//\n// NOTE: This will probably NOT be used long term, unless more of the\n// CdkDragDrop code is rewritten.\n//\n// This directive is meant to be a HACK replacement directive for CdkDragHandle.\n// The reason this was made is because CdkDragHandle doesn't work in child\n// components, since it uses ContentChildren to query for the handles.\n//\n// This could easily break, because I am forcing the handles query list to emit\n// changes manually. So, if the query list actually changes, then my changes\n// will be broken.\n//\n\n// Helper type that ignores `readonly` properties. This is used in\n// `extendStyles` to ignore the readonly properties on CSSStyleDeclaration\n// since we won't be touching those anyway.\ntype Writeable<T> = { -readonly [P in keyof T]-?: T[P] }\n\n/**\n * Extended CSSStyleDeclaration that includes a couple of drag-related\n * properties that aren't in the built-in TS typings.\n */\ninterface DragCSSStyleDeclaration extends CSSStyleDeclaration {\n webkitUserDrag: string\n MozUserSelect: string // For some reason the Firefox property is in PascalCase.\n msScrollSnapType: string\n scrollSnapType: string\n msUserSelect: string\n}\n\nexport function extendStyles(\n dest: Writeable<CSSStyleDeclaration>,\n source: Partial<DragCSSStyleDeclaration>\n) {\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n dest[key] = source[key]!\n }\n }\n\n return dest\n}\n\nexport function toggleNativeDragInteractions(element: HTMLElement, enable: boolean) {\n const userSelect = enable ? '' : 'none'\n\n extendStyles(element.style, {\n touchAction: enable ? '' : 'none',\n webkitUserDrag: enable ? '' : 'none',\n userSelect,\n msUserSelect: userSelect,\n webkitUserSelect: userSelect,\n MozUserSelect: userSelect\n })\n}\n\nexport interface TheSeamWidgetAccessor<TItem> {\n widgetsChange: EventEmitter<TItem[]>\n cdkDragDirectives: QueryList<CdkDrag>\n}\n\nexport const THESEAM_WIDGET_ACCESSOR = new InjectionToken<TheSeamWidgetAccessor<any>>(\n 'TheSeamWidgetAccessor'\n)\n\n@Directive({\n selector: '[seamWidgetDragHandle]',\n host: {\n 'class': 'cdk-drag-handle'\n }\n})\nexport class WidgetDragHandleDirective implements OnInit, OnDestroy, AfterViewInit, DoCheck {\n static ngAcceptInputType_disabled: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _attachedToDom = new BehaviorSubject<boolean>(false)\n private _doneCheckingAttached = false\n private _knownParentDrag: any /* CdkDrag | undefined */\n\n /** Needed because CdkDrag reads this variable */\n get _parentDrag() { return this.getParentCdkDrag() }\n\n /** Emits when the state of the handle has changed. */\n _stateChanges = new Subject<CdkDragHandle>()\n\n /** Whether starting to drag through this handle is disabled. */\n @Input('cdkDragHandleDisabled')\n get disabled(): boolean { return this._disabled }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n this._stateChanges.next(this as any)\n }\n private _disabled = false\n\n constructor(\n public element: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n @Optional() @Inject(THESEAM_WIDGET_ACCESSOR) private _dashboardWidgets?: TheSeamWidgetAccessor<any>,\n @Optional() private __parentDrag?: CdkDrag\n ) {\n toggleNativeDragInteractions(element.nativeElement, false)\n }\n\n ngOnInit() {\n if (this._dashboardWidgets) {\n this._dashboardWidgets.widgetsChange.pipe(\n auditTime(0),\n takeUntil(this._ngUnsubscribe)\n ).subscribe(() => {\n if (this._knownParentDrag) {\n const isAttached = this.isAttachedToDom()\n if (isAttached) {\n const parent = this.getParentCdkDrag() as any\n if (this._knownParentDrag !== parent) {\n this._attachedToDom.next(isAttached)\n }\n }\n }\n })\n }\n }\n\n ngAfterViewInit() {\n if (this.__parentDrag || this._dashboardWidgets) {\n // FIXME: This only works until the widget is moved to another template\n // outlet. Now that the component isn't reinitialized when moving between\n // lists the handle needs to now reflex that change to its new CdkDrag\n // parent and possibly tell its previous parent to forget it.\n\n // HACK: This is a hack to allow the `CdkDrag` directive to manage a\n // handle that is not visible to `ContentChildren` query.\n this._ngZone.onStable.asObservable()\n // .pipe(take(1), untilDestroyed(this))\n .pipe(\n take(1),\n // With the weird trick being done to keep widgets initialized when switching columns\n switchMap(() => this._attachedToDom.pipe(filter(v => v === true))),\n // take(1)\n takeUntil(this._ngUnsubscribe)\n )\n .subscribe(() => {\n const parent = this.getParentCdkDrag() as any\n\n if (this._knownParentDrag && this._knownParentDrag !== parent) {\n this._knownParentDrag._dragRef.disableHandle(this.element.nativeElement)\n this._knownParentDrag = undefined\n }\n\n if (parent) {\n this._knownParentDrag = parent\n parent._handles.reset([ ...parent._handles._results, this ])\n parent._handles.notifyOnChanges()\n parent._dragRef.enableHandle(this.element.nativeElement)\n }\n })\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete()\n this._attachedToDom.complete()\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngDoCheck() {\n // The attached observable only emits once, so we can stop checking if\n // attached.\n if (this._doneCheckingAttached) { return }\n\n const isAttached = this.isAttachedToDom()\n if (isAttached !== this._attachedToDom.value) {\n this._attachedToDom.next(isAttached)\n this._doneCheckingAttached = true\n }\n }\n\n public isAttachedToDom(): boolean {\n return document.body.contains(this.element.nativeElement)\n }\n\n /** Closest parent draggable instance. */\n public getParentCdkDrag(): CdkDrag | undefined {\n if (this.__parentDrag) {\n return this.__parentDrag\n } else if (this._dashboardWidgets && this._dashboardWidgets.cdkDragDirectives) {\n const dragsArr = this._dashboardWidgets.cdkDragDirectives.toArray()\n const closest = getClosestWidgetCdkDrag(this.element, dragsArr)\n return (closest !== undefined && closest !== null) ? closest : undefined\n }\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetIconTpl]'\n})\nexport class WidgetIconTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetTitleTpl]'\n})\nexport class WidgetTitleTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { TheSeamPreferencesBase } from '@theseam/ui-common/services'\r\n\r\nexport interface TheSeamWidgetPreferences_v1 extends TheSeamPreferencesBase {\r\n version: 1\r\n collapsed?: boolean\r\n}\r\n\r\nexport type TheSeamWidgetPreferences = TheSeamWidgetPreferences_v1\r\n\r\nexport const CURRENT_WIDGET_PREFERENCES_VERSION = 1\r\n\r\nexport const EMPTY_WIDGET_PREFERENCES: TheSeamWidgetPreferences = {\r\n version: 1,\r\n}\r\n","import { InjectionToken } from '@angular/core'\r\n\r\nimport { TheSeamPreferencesAccessor } from '@theseam/ui-common/services'\r\n\r\nexport const THESEAM_WIDGET_PREFERENCES_ACCESSOR = new InjectionToken<TheSeamPreferencesAccessor>(\r\n 'TheSeamWidgetPreferencesAccessor'\r\n)\r\n","import { Inject, Injectable, Optional } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { map, take, tap } from 'rxjs/operators'\r\n\r\nimport { TheSeamPreferencesAccessor, TheSeamPreferencesBase, TheSeamPreferencesManagerService } from '@theseam/ui-common/services'\r\nimport { THESEAM_WIDGET_PREFERENCES_ACCESSOR } from './widget-preferences.token'\r\nimport { CURRENT_WIDGET_PREFERENCES_VERSION, EMPTY_WIDGET_PREFERENCES, TheSeamWidgetPreferences } from './widget-preferences.models'\r\n\r\ntype TheSeamWidgetPreferencesPatch = Omit<TheSeamWidgetPreferences, 'version'>\r\n\r\n// TODO: Rethink this. I originally implemented this to be shared widget's then\r\n// changed it to be per widget, for the accessor injection.\r\n\r\n// @Injectable({ providedIn: 'root' })\r\n@Injectable()\r\nexport class WidgetPreferencesService {\r\n\r\n private _pendingPatches: { [preferencesKey: string]: TheSeamWidgetPreferencesPatch[] } = { }\r\n\r\n constructor(\r\n private readonly _preferencesManager: TheSeamPreferencesManagerService,\r\n @Optional() @Inject(THESEAM_WIDGET_PREFERENCES_ACCESSOR) private _prefsAccessor?: TheSeamPreferencesAccessor\r\n ) { }\r\n\r\n public isPatchPending(preferenceKey: string): boolean {\r\n return this._pendingPatches[preferenceKey] && this._pendingPatches[preferenceKey].length > 0\r\n }\r\n\r\n public isPending(preferenceKey: string): boolean {\r\n return this._preferencesManager.isPending(preferenceKey)\r\n }\r\n\r\n public isLoaded(preferenceKey: string): boolean {\r\n return this._preferencesManager.isLoaded(preferenceKey)\r\n }\r\n\r\n public preferences(preferenceKey: string): Observable<TheSeamWidgetPreferences> {\r\n if (!this._prefsAccessor) {\r\n return of(JSON.parse(JSON.stringify(EMPTY_WIDGET_PREFERENCES)))\r\n }\r\n\r\n return this._preferencesManager.preferences(preferenceKey, this._prefsAccessor, EMPTY_WIDGET_PREFERENCES).pipe(\r\n map(prefs => {\r\n if (this._isValidPreferences(prefs)) {\r\n return prefs\r\n }\r\n\r\n throw Error(`Preferences for key '${preferenceKey}' is not a valid widget preferences.`)\r\n })\r\n )\r\n }\r\n\r\n public refresh(preferenceKey: string): void {\r\n this._preferencesManager.refresh(preferenceKey)\r\n }\r\n\r\n public patchPreferences(preferenceKey: string, preferences: TheSeamWidgetPreferencesPatch): void {\r\n if (!this._prefsAccessor) {\r\n return\r\n }\r\n\r\n if (!this._pendingPatches[preferenceKey]) {\r\n this._pendingPatches[preferenceKey] = []\r\n }\r\n\r\n if (this._pendingPatches[preferenceKey].length > 0) {\r\n this._pendingPatches[preferenceKey].push(preferences)\r\n return\r\n }\r\n\r\n this._pendingPatches[preferenceKey].push(preferences)\r\n\r\n this.preferences(preferenceKey).pipe(\r\n take(1),\r\n map(prefs => {\r\n const pendingPatches = this._pendingPatches[preferenceKey]\r\n this._pendingPatches[preferenceKey] = []\r\n const newPrefs: TheSeamWidgetPreferences = pendingPatches.reduce((acc, patch) => {\r\n return { ...acc, ...patch }\r\n }, prefs) as TheSeamWidgetPreferences // Typescript isn't recognizing that 'version' is included in the initial value.\r\n\r\n if (!this._isValidPreferences(newPrefs)) {\r\n throw Error(`Attempted to patch preferences for key '${preferenceKey}' with invalid preferences.`)\r\n }\r\n\r\n this._preferencesManager.update(preferenceKey, newPrefs)\r\n }),\r\n tap(() => this.refresh(preferenceKey)),\r\n ).subscribe()\r\n }\r\n\r\n private _isValidPreferences(prefs: TheSeamPreferencesBase): prefs is TheSeamWidgetPreferences {\r\n return prefs.version === CURRENT_WIDGET_PREFERENCES_VERSION\r\n }\r\n\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-button-group',\n templateUrl: './widget-button-group.component.html',\n styleUrls: ['./widget-button-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetButtonGroupComponent { }\n","<ng-content select=\"[seamButton]\"></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\n\nimport { WidgetButtonGroupComponent } from './widget-button-group.component'\n\n@NgModule({\n declarations: [\n WidgetButtonGroupComponent\n ],\n imports: [\n CommonModule,\n TheSeamButtonsModule\n ],\n exports: [\n WidgetButtonGroupComponent,\n\n TheSeamButtonsModule\n ]\n})\nexport class TheSeamWidgetButtonGroupModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-content-header',\n templateUrl: './widget-content-header.component.html',\n styleUrls: ['./widget-content-header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetContentHeaderComponent { }\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetContentHeaderComponent } from './widget-content-header.component'\n\n@NgModule({\n declarations: [\n WidgetContentHeaderComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetContentHeaderComponent\n ]\n})\nexport class TheSeamWidgetContentHeaderModule { }\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-description',\n templateUrl: './widget-description.component.html',\n styleUrls: ['./widget-description.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetDescriptionComponent { }\n","<p><ng-content></ng-content></p>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetDescriptionComponent } from './widget-description.component'\n\n@NgModule({\n declarations: [\n WidgetDescriptionComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetDescriptionComponent\n ]\n})\nexport class TheSeamWidgetDescriptionModule { }\n","import { Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-empty-label,a[seam-widget-empty-label],button[seam-widget-empty-label]',\n templateUrl: './widget-empty-label.component.html',\n styleUrls: ['./widget-empty-label.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetEmptyLabelComponent {\n\n private _type: string | undefined | null\n\n @HostBinding('class.btn')\n get _btnCss() { return !!this._isButton() }\n\n @HostBinding('class.btn-link')\n get _btnLinkCss() { return !!this._isButton() }\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n constructor(\n public _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>\n ) { }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n /** Determines if the component host is an anchor. */\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetEmptyLabelComponent } from './widget-empty-label.component'\n\n@NgModule({\n declarations: [\n WidgetEmptyLabelComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetEmptyLabelComponent\n ]\n})\nexport class TheSeamWidgetEmptyLabelModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seam-widget-footer-link]',\n templateUrl: './widget-footer-link.component.html',\n styleUrls: ['./widget-footer-link.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetFooterLinkComponent { }\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetFooterLinkComponent } from './widget-footer-link.component'\n\n@NgModule({\n declarations: [\n WidgetFooterLinkComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetFooterLinkComponent\n ]\n})\nexport class TheSeamWidgetFooterLinkModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-footer-text',\n templateUrl: './widget-footer-text.component.html',\n styleUrls: ['./widget-footer-text.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetFooterTextComponent { }\n","<em>\n <ng-content></ng-content>\n</em>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetFooterTextComponent } from './widget-footer-text.component'\n\n@NgModule({\n declarations: [\n WidgetFooterTextComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetFooterTextComponent\n ]\n})\nexport class TheSeamWidgetFooterTextModule { }\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation } from '@angular/core'\n\nimport {\n CanThemeCtor,\n mixinTheme\n} from '@theseam/ui-common/core'\n\nclass WidgetHeaderBadgeBase {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n\nconst _WidgetHeaderBadgeMixinBase: CanThemeCtor &\n typeof WidgetHeaderBadgeBase = mixinTheme(WidgetHeaderBadgeBase, 'badge')\n\n@Component({\n selector: 'seam-widget-header-badge',\n templateUrl: './widget-header-badge.component.html',\n styleUrls: ['./widget-header-badge.component.scss'],\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'theme' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'class': 'badge float-right'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetHeaderBadgeComponent extends _WidgetHeaderBadgeMixinBase {\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef\n ) { super(_elementRef) }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetHeaderBadgeComponent } from './widget-header-badge.component'\n\n@NgModule({\n declarations: [\n WidgetHeaderBadgeComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetHeaderBadgeComponent\n ]\n})\nexport class TheSeamWidgetHeaderBadgeModule { }\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetListGroupItemIconTpl]',\n exportAs: 'seamWidgetListGroupItemIconTpl'\n})\nexport class WidgetListGroupItemIconTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, ContentChild, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanBeActive,\n CanBeActiveCtor,\n CanDisable,\n CanDisableCtor,\n CanTheme,\n CanThemeCtor,\n HasElementRef,\n mixinActive,\n mixinDisabled,\n mixinTheme\n} from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { WidgetListGroupItemIconTplDirective } from './widget-list-group-item-icon-tpl.directive'\n\n// tslint:disable-next-line: max-line-length\nconst WIDGET_LIST_GROUP_ITEM_INPUTS = [ 'disabled', 'theme', 'active', 'icon', 'iconClass', 'label', 'secondaryIcon', 'secondaryIconClass', 'secondaryIconTitle' ]\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nclass WidgetListGroupItemBase {\n\n @ContentChild(WidgetListGroupItemIconTplDirective, { static: true }) iconTpl?: WidgetListGroupItemIconTplDirective\n\n icon?: SeamIcon\n iconClass?: string\n secondaryIcon?: SeamIcon\n secondaryIconClass?: string\n secondaryIconTitle?: string\n\n label?: string\n\n constructor(\n public _elementRef: ElementRef,\n public _renderer: Renderer2\n ) { }\n\n /** Focuses the element. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nclass WidgetListGroupItemActionableBase extends WidgetListGroupItemBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _renderer)\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n}\n\nconst _WidgetListGroupItemBase: CanDisableCtor & CanThemeCtor & CanBeActiveCtor &\n typeof WidgetListGroupItemBase = mixinActive(mixinTheme(mixinDisabled(WidgetListGroupItemBase), 'list-group-item'))\n\nconst _WidgetListGroupItemActionableBase: CanDisableCtor & CanThemeCtor & CanBeActiveCtor &\n typeof WidgetListGroupItemActionableBase = mixinActive(mixinTheme(mixinDisabled(WidgetListGroupItemActionableBase), 'list-group-item'))\n\n@Component({\n selector: 'seam-widget-list-group-item',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n 'class': 'list-group-item',\n '[class.active]': 'active',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemComponent extends _WidgetListGroupItemBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive {\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _renderer)\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seam-widget-list-group-item],button[seamWidgetListGroupItem]',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n '[attr.type]': 'type',\n 'class': 'list-group-item list-group-item-action',\n '[class.active]': 'active',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemButtonComponent extends _WidgetListGroupItemActionableBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive, OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' | undefined | null = 'button'\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seam-widget-list-group-item],a[seamWidgetListGroupItem]',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n 'class': 'list-group-item list-group-item-action',\n '[class.active]': 'active',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemAnchorComponent extends _WidgetListGroupItemActionableBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive, OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<div class=\"d-flex flex-row\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <span class=\"pr-2\">\n <ng-container *ngTemplateOutlet=\"$any(iconTpl)\"></ng-container>\n </span>\n </ng-container>\n <ng-template #noIconTpl>\n <span class=\"pr-2\">\n <seam-icon *ngIf=\"icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n iconType=\"borderless-styled-square\">\n </seam-icon>\n </span>\n </ng-template>\n\n <div class=\"d-flex flex-column justify-content-center flex-grow-1\">\n {{ label }}\n </div>\n\n <seam-icon *ngIf=\"secondaryIcon\"\n iconType=\"borderless-styled-square\"\n class=\"secondary-icon align-self-center ml-1\"\n [icon]=\"secondaryIcon\"\n [iconClass]=\"secondaryIconClass\"\n [title]=\"secondaryIconTitle\"\n size=\"lg\">\n </seam-icon>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n// TODO: Make `ListGroup` a root component and wrap it with `WidgetListGroup`.\n\n@Component({\n selector: 'seam-widget-list-group',\n templateUrl: './widget-list-group.component.html',\n styleUrls: ['./widget-list-group.component.scss'],\n host: {\n 'class': 'list-group'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupComponent { }\n","<ng-content select=\"seam-widget-list-group-item,\n a[seam-widget-list-group-item],\n a[seamWidgetListGroupItem],\n button[seam-widget-list-group-item],\n button[seamWidgetListGroupItem]\">\n</ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { WidgetListGroupItemIconTplDirective } from './widget-list-group-item/widget-list-group-item-icon-tpl.directive'\nimport {\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent\n} from './widget-list-group-item/widget-list-group-item.component'\nimport { WidgetListGroupComponent } from './widget-list-group.component'\n\n@NgModule({\n declarations: [\n WidgetListGroupComponent,\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent,\n WidgetListGroupItemIconTplDirective\n ],\n imports: [\n CommonModule,\n TheSeamIconModule\n ],\n exports: [\n WidgetListGroupComponent,\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent,\n WidgetListGroupItemIconTplDirective\n ]\n})\nexport class TheSeamWidgetListGroupModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport type { ITableColumn, TrackByFunction } from '@theseam/ui-common/table'\n\n@Component({\n selector: 'seam-widget-table',\n templateUrl: './widget-table.component.html',\n styleUrls: ['./widget-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetTableComponent<T> {\n static ngAcceptInputType_hasHeader: BooleanInput\n\n @Input() columns: (string | ITableColumn)[] | undefined | null\n @Input() rows: T[] | undefined | null = []\n @Input() trackBy: TrackByFunction<T> | undefined | null\n @Input() size: 'sm' | 'md' | undefined | null = 'sm'\n @Input() @InputBoolean() hasHeader = true\n\n @Output() readonly actionRefreshRequest = new EventEmitter<any>()\n\n _actionRefreshRequest() {\n this.actionRefreshRequest.emit()\n }\n\n}\n","<seam-table\n [columns]=\"columns\"\n [rows]=\"rows\"\n [trackBy]=\"trackBy\"\n [size]=\"size\"\n [hasHeader]=\"hasHeader\"\n (actionRefreshRequest)=\"_actionRefreshRequest()\">\n</seam-table>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamTableModule } from '@theseam/ui-common/table'\nimport { TheSeamTableCellTypesModule } from '@theseam/ui-common/table-cell-types'\n\nimport { WidgetTableComponent } from './widget-table.component'\n\n@NgModule({\n declarations: [\n WidgetTableComponent\n ],\n imports: [\n CommonModule,\n TheSeamTableModule,\n TheSeamTableCellTypesModule\n ],\n exports: [\n WidgetTableComponent\n ]\n})\nexport class TheSeamWidgetTableModule { }\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-footer,[seam-widget-tile-footer]',\n templateUrl: './widget-tile-footer.component.html',\n styleUrls: ['./widget-tile-footer.component.scss'],\n host: {\n class: 'd-flex flex-row justify-content-end',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetTileFooterComponent { }\n","\n <ng-content select=\"seam-widget-tile-footer-item,[seam-widget-tile-footer-item]\"></ng-content>\n\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-widget-tile-footer-item,a[seam-widget-tile-footer-item],button[seam-widget-tile-footer-item]',\n templateUrl: './widget-tile-footer-item.component.html',\n styleUrls: ['./widget-tile-footer-item.component.scss'],\n host: {\n class: 'btn btn-link py-0 px-1',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetTileFooterItemComponent {\n static ngAcceptInputType_disabled: BooleanInput\n\n private _type: string | undefined | null\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @HostBinding('class.disabled')\n get _DisabledCss() { return this.disabled }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n @Input() @InputBoolean() disabled = false\n\n constructor(\n public _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>,\n ) { }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-group',\n templateUrl: './widget-tile-group.component.html',\n styleUrls: ['./widget-tile-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetTileGroupComponent { }\n","<ng-content select=\"[seam-widget-tile],seam-widget-tile\"></ng-content>\n<ng-content select=\"seam-widget-tile-footer\"></ng-content>\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetTileSecondaryIcon]',\n exportAs: 'seamWidgetTileSecondaryIcon',\n})\nexport class WidgetTileSecondaryIconDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, ElementRef, HostBinding, Input, OnDestroy, OnInit, Renderer2, ViewEncapsulation } from '@angular/core'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\n\nimport {\n CanDisableCtor,\n HasElementRef,\n HasRenderer2,\n HasTabIndexCtor,\n InputBoolean,\n mixinDisabled,\n mixinTabIndex,\n} from '@theseam/ui-common/core'\nimport { TheSeamIconType } from '@theseam/ui-common/icon'\n\nimport { WidgetTileSecondaryIconDirective } from './widget-tile-secondary-icon.directive'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamWidgetTileBase implements OnDestroy, HasRenderer2, HasElementRef {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2,\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamWidgetTileMixinBase: CanDisableCtor & HasTabIndexCtor &\n typeof TheSeamWidgetTileBase = mixinTabIndex(mixinDisabled(TheSeamWidgetTileBase))\n\n// TODO: Should this component be split into separate components for button and anchor.\n@Component({\n selector: 'seam-widget-tile, a[seam-widget-tile], button[seam-widget-tile]',\n templateUrl: './widget-tile.component.html',\n styleUrls: ['./widget-tile.component.scss'],\n inputs: [ 'disabled' ],\n exportAs: 'seamWidgetTile',\n encapsulation: ViewEncapsulation.None,\n})\nexport class WidgetTileComponent extends _TheSeamWidgetTileMixinBase implements OnInit, OnDestroy {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n\n private _clickUnListen: (() => void | undefined | null) | undefined | null\n\n private _type: string | undefined | null\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @HostBinding('class.btn')\n get _btnCss() { return !!this._isButton() }\n\n @HostBinding('class.disabled')\n get _disabledCss() { return this.disabled }\n\n @HostBinding('attr.aria-disabled')\n get _ariaDisabled() { return this.disabled.toString() }\n\n @HostBinding('attr.disabled')\n get _attrDisabled() { return this.disabled || null }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() { return this.disabled ? -1 : (this.tabIndex || 0) }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n @Input() icon: string | IconProp | undefined | null\n\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n @Input() iconClass: string | undefined | null\n\n @Input() iconType: TheSeamIconType | undefined | null = 'styled-square'\n\n @Input() notificationIcon: string | IconProp | undefined | null\n @Input() notificationIconClass: string | undefined | null\n\n @ContentChild(WidgetTileSecondaryIconDirective, { static: true }) secondaryIcon?: WidgetTileSecondaryIconDirective\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2,\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnInit() {\n if (this._isAnchor()) {\n this._clickUnListen = this._renderer.listen(this._getHostElement(), 'click', this._haltDisabledEvents)\n }\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n if (this._clickUnListen) {\n this._clickUnListen()\n }\n }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n /** Determines if the component host is an anchor. */\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n _haltDisabledEvents = (event: Event) => {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<div class=\"d-flex flex-row\">\n <div style=\"position: relative\">\n <seam-icon\n [icon]=\"icon\"\n [iconType]=\"iconType\"\n [iconClass]=\"iconClass\"\n [disabled]=\"disabled\">\n </seam-icon>\n\n <seam-icon *ngIf=\"notificationIcon\"\n class=\"widget-tile--notification-icon\"\n [icon]=\"notificationIcon\"\n iconType=\"image-fill\"\n [iconClass]=\"notificationIconClass\"\n [disabled]=\"disabled\">\n </seam-icon>\n </div>\n <div class=\"flex-grow-1 text-left pl-2\" style=\"margin: auto 0;\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"secondaryIcon\">\n <ng-template [ngTemplateOutlet]=\"secondaryIcon.template\"></ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { WidgetTileFooterComponent } from './widget-tile-footer/widget-tile-footer.component'\nimport { WidgetTileFooterItemComponent } from './widget-tile-footer-item/widget-tile-footer-item.component'\nimport { WidgetTileGroupComponent } from './widget-tile-group/widget-tile-group.component'\nimport { WidgetTileSecondaryIconDirective } from './widget-tile-secondary-icon.directive'\nimport { WidgetTileComponent } from './widget-tile.component'\n\n@NgModule({\n declarations: [\n WidgetTileComponent,\n WidgetTileSecondaryIconDirective,\n WidgetTileFooterComponent,\n WidgetTileGroupComponent,\n WidgetTileFooterItemComponent,\n ],\n imports: [\n CommonModule,\n TheSeamIconModule,\n ],\n exports: [\n WidgetTileComponent,\n WidgetTileSecondaryIconDirective,\n WidgetTileFooterComponent,\n WidgetTileGroupComponent,\n WidgetTileFooterItemComponent,\n ],\n})\nexport class TheSeamWidgetTileModule { }\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-list',\n templateUrl: './widget-tile-list.component.html',\n styleUrls: ['./widget-tile-list.component.scss'],\n})\nexport class WidgetTileListComponent { }\n","<ng-content select=\"[seam-widget-tile],seam-widget-tile,seam-widget-tile-group\"></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamWidgetTileModule } from '../widget-tile/widget-tile.module'\n\nimport { WidgetTileListComponent } from './widget-tile-list.component'\n\n@NgModule({\n declarations: [\n WidgetTileListComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetTileListComponent,\n TheSeamWidgetTileModule\n ]\n})\nexport class TheSeamWidgetTileListModule { }\n","import { InjectionToken } from '@angular/core'\n\nimport { IWidgetRegistryRecord } from './widget-registry.models'\nimport { TheSeamWidgetData, TheSeamWidgetDefaults } from './widget.models'\n\nexport const THESEAM_WIDGETS = new InjectionToken<IWidgetRegistryRecord>('TheSeamWidgets')\n\nexport const THESEAM_WIDGET_DATA = new InjectionToken<TheSeamWidgetData>('TheSeamWidgetData')\n\nexport const THESEAM_WIDGET_DEFAULTS = new InjectionToken<TheSeamWidgetDefaults>('TheSeamWidgetDefaults')\n","import { animate, state, style, transition, trigger } from '@angular/animations'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, Inject, Input, isDevMode, OnDestroy, Optional, ViewEncapsulation } from '@angular/core'\nimport { Subject, takeUntil, tap } from 'rxjs'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\nimport { faAngleDown, faCog } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { WidgetIconTplDirective } from '../directives/widget-icon-tpl.directive'\nimport { WidgetTitleTplDirective } from '../directives/widget-title-tpl.directive'\nimport { WidgetPreferencesService } from '../preferences/widget-preferences.service'\nimport { THESEAM_WIDGET_DATA, THESEAM_WIDGET_DEFAULTS } from '../widget-token'\nimport { TheSeamWidgetData, TheSeamWidgetDefaults } from '../widget.models'\n\nconst EXPANDED_STATE = 'expanded'\nconst COLLAPSED_STATE = 'collapsed'\n\nconst EXPAND_TRANSITION = `${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`\n\nconst loadingAnimation = trigger('loadingAnim', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('250ms ease-in-out', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('250ms ease-in-out', style({ opacity: 0 })),\n ]),\n])\n\n/**\n * I was having an issue getting the content to not be removed from the DOM,\n * before the animation was complete. This animation is a hack to keep the\n * content in the DOM until the animation is complete.\n */\nconst keepContentAnimation = trigger('keepContentAnim', [\n transition(':leave', [\n style({ opacity: 1 }),\n animate('0ms', style({ opacity: 0 })),\n ]),\n])\n\nconst collapseAnimation = trigger('collapseAnim', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: '0' })),\n transition(EXPAND_TRANSITION, animate('0.3s ease-in-out')),\n])\n\n/**\n * Widget\n *\n * Widgets are designed with the intention of being on a dashboard. Other uses\n * may be supported as the need arises.\n *\n * The only HTML/CSS use should be a widget content component, unless there is a\n * case requiring more advanced design. This is so that we can manage a common\n * style for our widgets. If a case requiring non widget content components is\n * used then the situation should be considered for becoming a widget component.\n */\n@Component({\n selector: 'seam-widget',\n templateUrl: './widget.component.html',\n styleUrls: ['./widget.component.scss'],\n providers: [\n WidgetPreferencesService,\n ],\n encapsulation: ViewEncapsulation.None,\n animations: [\n loadingAnimation,\n collapseAnimation,\n keepContentAnimation,\n ],\n})\nexport class WidgetComponent implements OnDestroy {\n\n static ngAcceptInputType_hasHeader: BooleanInput\n static ngAcceptInputType_loading: BooleanInput\n static ngAcceptInputType_hasConfig: BooleanInput\n static ngAcceptInputType_canCollapse: BooleanInput\n\n readonly configIcon = faCog\n readonly collapseIcon = faAngleDown\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _preferencesKey?: string\n\n /**\n * Toggles the collapsed state of a widget.\n */\n @Input() @InputBoolean() collapsed = false\n\n /**\n * Toggles the top header bar of a widget. This should be true for most\n * widgets.\n */\n @Input() @InputBoolean() hasHeader = true\n\n /**\n * Title displayed in the top header.\n *\n * If a more advanced title is needed you can use `seamWidgetTitleTpl`\n * template directive, but text is recommended, because allowing custom styles\n * can lead to inconsitency quickly as different developers keep making\n * tweaks.\n */\n @Input() titleText: string | undefined | null\n\n /**\n * Icon displayed in the top header.\n *\n * If a more advanced icon is needed you can use `seamWidgetIconTpl` template\n * directive, but a `SeamIcon` input is recommended, because allowing custom\n * icons that do not follow the tested types can lead to inconsitency quickly\n * as different developers keep making tweaks.\n */\n @Input()\n get icon(): SeamIcon | undefined { return this._iconUrl || this._iconObj }\n set icon(value: SeamIcon | undefined) {\n if (typeof value === 'string') {\n this._iconUrl = value\n this._iconObj = undefined\n } else {\n this._iconUrl = undefined\n this._iconObj = value\n }\n }\n\n _iconUrl: string | undefined\n _iconObj: IconProp | undefined\n\n /** Add a css class to the header icon. */\n @Input() iconClass: string | undefined | null\n\n /** Shows widget loading instead of content. */\n @Input() @InputBoolean() loading = false\n\n /** @ignore */\n // NOTE: Config is still being worked on.\n @Input() @InputBoolean() hasConfig = false\n\n /**\n * Toggles the ability to collapse a widget. An icon will be displayed in the\n * header to toggle the collapsed state.\n */\n @Input() @InputBoolean() canCollapse = false\n\n @ContentChild(WidgetIconTplDirective, { static: true }) iconTpl?: WidgetIconTplDirective\n @ContentChild(WidgetTitleTplDirective, { static: true }) titleTpl?: WidgetTitleTplDirective\n\n constructor(\n private readonly _widgetPreferences: WidgetPreferencesService,\n @Optional() @Inject(THESEAM_WIDGET_DEFAULTS) private readonly _defaults?: TheSeamWidgetDefaults,\n @Optional() @Inject(THESEAM_WIDGET_DATA) private readonly _data?: TheSeamWidgetData,\n ) {\n if (this._defaults) {\n if (hasProperty(this._defaults, 'canCollapse')) {\n this.canCollapse = this._defaults.canCollapse\n }\n if (hasProperty(this._defaults, 'collapsed')) {\n this.collapsed = this._defaults.collapsed\n }\n }\n\n if (this._data && this._data.widgetId) {\n this._preferencesKey = `widget:${this._data.widgetId}`\n this._widgetPreferences.preferences(this._preferencesKey).pipe(\n tap(prefs => {\n if (hasProperty(prefs, 'collapsed')) {\n this.collapsed = prefs.collapsed\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n /**\n * Toggles a widget's collapsed state.\n */\n public collapse() {\n if (!this.canCollapse) {\n if (isDevMode()) {\n console.warn('WidgetComponent: collapse() called when canCollapse is false.')\n }\n return\n }\n\n this.collapsed = !this.collapsed\n\n // Only update the preference, if collapse method is called, because it is\n // assumed that the user is collapsing the widget. If the collapsed state is\n // changed by other means, such using the widget's `collapsed` input, then\n // the preference should not be updated, because that is assumed to be an\n // app controlled change that should not be persisted.\n if (this._preferencesKey) {\n this._widgetPreferences.patchPreferences(this._preferencesKey, { collapsed: this.collapsed })\n }\n }\n\n get collapseState(): string { return this.collapsed ? COLLAPSED_STATE : EXPANDED_STATE }\n\n}\n","<div class=\"seam-widget border rounded overflow-hidden\">\n <div class=\"widget-header\" seamWidgetDragHandle *ngIf=\"hasHeader\">\n <div class=\"widget-header-content p-2 text-nowrap\">\n <span class=\"mr-1 widget-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"widget-header-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"widget-header-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n <span class=\"widget-header-title text-truncate\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </div>\n <div class=\"widget-header-btns-container\" *ngIf=\"hasConfig || canCollapse\">\n <!-- <div *ngIf=\"hasConfig\">\n <button seamIconBtn [icon]=\"configIcon\"\n class=\"widget-header-btn-config\"\n [iconType]=\"null\">\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n <button seamButton class=\"widget-header-btn-config p-0\">\n <seam-icon class=\"d-block\" [icon]=\"configIcon\" iconClass=\"text-secondary\"></seam-icon>\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n </div> -->\n\n <div *ngIf=\"canCollapse\" class=\"px-0\">\n\n <button seamButton class=\"widget-header-btn-collapse p-0 mr-1 h-100\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\">\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\">\n </seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button>\n <!-- iconType=\"borderless-styled-square\" -->\n <!-- style=\"margin-left: -10px; margin-right: -5px;\" -->\n\n <!-- <button seamIconBtn class=\"widget-header-btn-collapse\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\"\n btnTheme=\"secondary\"\n [icon]=\"collapseIcon\"\n iconType=\"borderless-styled-square\"\n size=\"xs\"\n btnSize=\"sm\"\n >\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\"\n style=\"margin-left: -10px; margin-right: -5px;\"\n iconType=\"borderless-styled-square\"></seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button> -->\n </div>\n </div>\n </div>\n <div class=\"position-relative overflow-hidden\" [style.height.px]=\"loading ? 150 : undefined\" [@collapseAnim]=\"collapseState\">\n <ng-container *ngIf=\"!collapsed\">\n <div class=\"p-2\" *ngIf=\"!loading else loadingTpl\" @keepContentAnim>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"seam-widget-footer\"></ng-content>\n <ng-template #loadingTpl>\n <div class=\"position-absolute\" @loadingAnim style=\"top:0;right:0;bottom:0;left:0\">\n <seam-loading [theme]=\"'primary'\"></seam-loading>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-footer',\n templateUrl: './widget-footer.component.html',\n styleUrls: ['./widget-footer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class WidgetFooterComponent { }\n","<div class=\"widget-footer--left\">\n <ng-content select=\"seam-widget-footer-text\"></ng-content>\n</div>\n<div class=\"widget-footer--right\">\n <ng-content select=\"seam-widget-button-group\"></ng-content>\n</div>\n","import { ComponentPortal } from '@angular/cdk/portal'\nimport { ComponentFactoryResolver, Inject, Injectable, Injector, ViewContainerRef } from '@angular/core'\nimport { Observable, of, throwError } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\n\nimport { IWidgetRegistryRecord } from './widget-registry.models'\nimport { THESEAM_WIDGETS } from './widget-token'\n\n/**\n * Registry is to provide a way to manage widgets in a way that we can load them\n * the same way throughout the app, whether the component itself is registered,\n * the component is lazy-loaded, or referenced by an id stored in the database.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetRegistryService {\n\n constructor(\n @Inject(THESEAM_WIDGETS) private _widgets: IWidgetRegistryRecord[],\n private _dynamicComponentLoader: TheSeamDynamicComponentLoader,\n ) { }\n\n public createWidgetPortal<T>(\n widgetId: string,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n componentFactoryResolver?: ComponentFactoryResolver | null | undefined,\n ): Observable<ComponentPortal<T>> {\n const widgetDef = (this._widgets || []).find(w => w.widgetId === widgetId)\n\n if (!widgetDef) {\n return throwError(`WidgetRegstry: Unknown widgetId \"${widgetId}\"`)\n }\n\n if (typeof widgetDef.componentOrComponentId === 'string') {\n return this._dynamicComponentLoader\n .getComponentFactory<T>(widgetDef.componentOrComponentId)\n .pipe(\n map(componentFactory => {\n let resolver: ComponentFactoryResolver | null | undefined = componentFactoryResolver\n if (!resolver) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const m = (componentFactory as any /* ComponentFactoryBoundToModule */).ngModule\n if (m && m.componentFactoryResolver) {\n resolver = m.componentFactoryResolver\n }\n }\n\n const portal = new ComponentPortal(\n componentFactory.componentType,\n viewContainerRef,\n injector,\n resolver,\n )\n\n return portal\n }),\n )\n } else {\n const portal = new ComponentPortal(\n widgetDef.componentOrComponentId,\n viewContainerRef,\n injector,\n componentFactoryResolver,\n )\n\n return of(portal)\n }\n }\n\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop'\nimport { CdkTableModule } from '@angular/cdk/table'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\n\nimport { WidgetDragHandleDirective } from './directives/widget-drag-handle.directive'\nimport { WidgetIconTplDirective } from './directives/widget-icon-tpl.directive'\nimport { WidgetTitleTplDirective } from './directives/widget-title-tpl.directive'\nimport { WidgetComponent } from './widget/widget.component'\n\nimport { TheSeamWidgetButtonGroupModule } from './widget-content-components/widget-button-group/widget-button-group.module'\nimport { TheSeamWidgetContentHeaderModule } from './widget-content-components/widget-content-header/widget-content-header.module'\nimport { TheSeamWidgetDescriptionModule } from './widget-content-components/widget-description/widget-description.module'\nimport { TheSeamWidgetEmptyLabelModule } from './widget-content-components/widget-empty-label/widget-empty-label.module'\nimport { TheSeamWidgetFooterLinkModule } from './widget-content-components/widget-footer-link/widget-footer-link.module'\nimport { TheSeamWidgetFooterTextModule } from './widget-content-components/widget-footer-text/widget-footer-text.module'\nimport { TheSeamWidgetHeaderBadgeModule } from './widget-content-components/widget-header-badge/widget-header-badge.module'\nimport { TheSeamWidgetListGroupModule } from './widget-content-components/widget-list-group/widget-list-group.module'\nimport { TheSeamWidgetTableModule } from './widget-content-components/widget-table/widget-table.module'\nimport { TheSeamWidgetTileModule } from './widget-content-components/widget-tile/widget-tile.module'\nimport { TheSeamWidgetTileListModule } from './widget-content-components/widget-tile-list/widget-tile-list.module'\nimport { WidgetFooterComponent } from './widget-footer/widget-footer.component'\n\nconst contentModules = [\n TheSeamWidgetButtonGroupModule,\n TheSeamWidgetContentHeaderModule,\n TheSeamWidgetDescriptionModule,\n TheSeamWidgetEmptyLabelModule,\n TheSeamWidgetFooterLinkModule,\n TheSeamWidgetFooterTextModule,\n TheSeamWidgetHeaderBadgeModule,\n TheSeamWidgetListGroupModule,\n TheSeamWidgetTableModule,\n TheSeamWidgetTileListModule,\n TheSeamWidgetTileModule,\n]\n\n@NgModule({\n declarations: [\n WidgetComponent,\n WidgetIconTplDirective,\n WidgetTitleTplDirective,\n WidgetDragHandleDirective,\n WidgetFooterComponent,\n ],\n imports: [\n CommonModule,\n FontAwesomeModule,\n TheSeamIconModule,\n TheSeamLoadingModule,\n DragDropModule,\n TheSeamButtonsModule,\n CdkTableModule,\n\n ...contentModules,\n ],\n exports: [\n RouterModule,\n\n WidgetComponent,\n WidgetIconTplDirective,\n WidgetTitleTplDirective,\n WidgetFooterComponent,\n\n ...contentModules,\n ],\n})\nexport class TheSeamWidgetModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","tap","takeUntil","i1.WidgetPreferencesService","i3","i4","i7.WidgetDragHandleDirective"],"mappings":"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"}
|