@dereekb/dbx-web 12.0.1 → 12.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/esm2022/lib/error/error.module.mjs +4 -4
  2. package/esm2022/lib/interaction/dialog/dialog.content.directive.mjs +3 -3
  3. package/esm2022/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +2 -2
  4. package/esm2022/lib/layout/compact/compact.directive.mjs +10 -11
  5. package/esm2022/lib/layout/compact/compact.layout.module.mjs +7 -8
  6. package/esm2022/lib/layout/text/index.mjs +1 -2
  7. package/esm2022/lib/router/provider/uirouter/anchor.component.mjs +4 -5
  8. package/esm2022/mapbox/lib/mapbox.layout.component.mjs +13 -18
  9. package/esm2022/mapbox/lib/mapbox.marker.component.mjs +30 -34
  10. package/esm2022/mapbox/lib/mapbox.markers.component.mjs +2 -2
  11. package/esm2022/mapbox/lib/mapbox.menu.component.mjs +3 -2
  12. package/esm2022/mapbox/lib/mapbox.module.mjs +14 -12
  13. package/esm2022/mapbox/lib/mapbox.providers.mjs +4 -4
  14. package/esm2022/mapbox/lib/mapbox.service.mjs +9 -1
  15. package/esm2022/mapbox/lib/mapbox.store.map.directive.mjs +16 -8
  16. package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +2 -3
  17. package/fesm2022/dereekb-dbx-web-mapbox.mjs +78 -68
  18. package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
  19. package/fesm2022/dereekb-dbx-web-table.mjs +2 -2
  20. package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
  21. package/fesm2022/dereekb-dbx-web.mjs +69 -224
  22. package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
  23. package/lib/interaction/dialog/dialog.content.directive.d.ts +1 -1
  24. package/lib/layout/compact/compact.directive.d.ts +3 -2
  25. package/lib/layout/compact/compact.layout.module.d.ts +2 -3
  26. package/lib/layout/style/_style.scss +0 -1
  27. package/lib/layout/text/index.d.ts +0 -1
  28. package/mapbox/lib/mapbox.layout.component.d.ts +3 -3
  29. package/mapbox/lib/mapbox.markers.component.d.ts +1 -1
  30. package/mapbox/lib/mapbox.menu.component.d.ts +1 -0
  31. package/mapbox/lib/mapbox.module.d.ts +1 -1
  32. package/mapbox/lib/mapbox.providers.d.ts +2 -2
  33. package/mapbox/lib/mapbox.service.d.ts +2 -1
  34. package/package.json +1 -1
  35. package/esm2022/lib/layout/text/compat/form.description.component.mjs +0 -19
  36. package/esm2022/lib/layout/text/compat/hint.component.mjs +0 -19
  37. package/esm2022/lib/layout/text/compat/index.mjs +0 -10
  38. package/esm2022/lib/layout/text/compat/label.component.mjs +0 -19
  39. package/esm2022/lib/layout/text/compat/note.component.mjs +0 -19
  40. package/esm2022/lib/layout/text/compat/notice.component.mjs +0 -19
  41. package/esm2022/lib/layout/text/compat/ok.component.mjs +0 -19
  42. package/esm2022/lib/layout/text/compat/success.component.mjs +0 -19
  43. package/esm2022/lib/layout/text/compat/text.compat.module.mjs +0 -32
  44. package/esm2022/lib/layout/text/compat/warn.component.mjs +0 -19
  45. package/lib/layout/text/compat/form.description.component.d.ts +0 -8
  46. package/lib/layout/text/compat/hint.component.d.ts +0 -8
  47. package/lib/layout/text/compat/index.d.ts +0 -9
  48. package/lib/layout/text/compat/label.component.d.ts +0 -8
  49. package/lib/layout/text/compat/note.component.d.ts +0 -8
  50. package/lib/layout/text/compat/notice.component.d.ts +0 -8
  51. package/lib/layout/text/compat/ok.component.d.ts +0 -8
  52. package/lib/layout/text/compat/success.component.d.ts +0 -8
  53. package/lib/layout/text/compat/text.compat.module.d.ts +0 -21
  54. package/lib/layout/text/compat/warn.component.d.ts +0 -8
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, Component, ChangeDetectionStrategy, Injectable, inject, computed, NgModule, input, Directive, effect } from '@angular/core';
3
- import { DatePipe, AsyncPipe } from '@angular/common';
3
+ import { DatePipe } from '@angular/common';
4
4
  import { isSameDateDay } from '@dereekb/date';
5
5
  import { filterMaybe, beginLoading, valueFromFinishedLoadingState, SubscriptionObject, maybeValueFromObservableOrValue, loadingStateContext } from '@dereekb/rxjs';
6
6
  import { ComponentStore } from '@ngrx/component-store';
@@ -246,7 +246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
246
246
  ],
247
247
  changeDetection: ChangeDetectionStrategy.OnPush,
248
248
  standalone: true,
249
- imports: [MatDateRangeInput, ReactiveFormsModule, MatButtonModule, MatDateRangePicker, AsyncPipe]
249
+ imports: [MatDateRangeInput, ReactiveFormsModule, MatButtonModule, MatDateRangePicker]
250
250
  }]
251
251
  }] });
252
252
  function dbxTableDateRangeDayDistanceInputCellInput(componentConfig) {
@@ -1 +1 @@
1
- {"version":3,"file":"dereekb-dbx-web-table.mjs","sources":["../../../../packages/dbx-web/table/src/lib/date/date.table.column.header.component.ts","../../../../packages/dbx-web/table/src/lib/table.store.ts","../../../../packages/dbx-web/table/src/lib/date/daterange.table.cell.input.component.ts","../../../../packages/dbx-web/table/src/lib/date/table.date.module.ts","../../../../packages/dbx-web/table/src/lib/table.cell.action.component.ts","../../../../packages/dbx-web/table/src/lib/table.cell.input.component.ts","../../../../packages/dbx-web/table/src/lib/table.cell.summaryend.component.ts","../../../../packages/dbx-web/table/src/lib/table.cell.summarystart.component.ts","../../../../packages/dbx-web/table/src/lib/table.column.directive.ts","../../../../packages/dbx-web/table/src/lib/table.column.header.component.ts","../../../../packages/dbx-web/table/src/lib/table.column.footer.component.ts","../../../../packages/dbx-web/table/src/lib/table.item.directive.ts","../../../../packages/dbx-web/table/src/lib/table.item.cell.component.ts","../../../../packages/dbx-web/table/src/lib/table.item.header.component.ts","../../../../packages/dbx-web/table/src/lib/table.item.action.component.ts","../../../../packages/dbx-web/table/src/lib/table.component.ts","../../../../packages/dbx-web/table/src/lib/table.component.html","../../../../packages/dbx-web/table/src/lib/table.directive.ts","../../../../packages/dbx-web/table/src/lib/table.module.ts","../../../../packages/dbx-web/table/src/dereekb-dbx-web-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { DbxInjectionComponentConfig, DbxInjectionComponentConfigFactory } from '@dereekb/dbx-core';\nimport { type Maybe } from '@dereekb/util';\nimport { DbxTableColumn } from '../table';\nimport { DatePipe } from '@angular/common';\n\n/**\n * A table header component used for rendering date values on the header.\n */\n@Component({\n template: `\n @if (dateSignal()) {\n <div class=\"dbx-table-date-column-header\">\n <span class=\"dbx-table-date-column-header-left\">{{ dateSignal() | date: left }}</span>\n <span>{{ dateSignal() | date: right }}</span>\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DatePipe],\n standalone: true\n})\nexport class DbxTableDateHeaderComponent {\n left = 'E';\n right = 'MMM d';\n\n private readonly _dateSignal = signal<Maybe<Date>>(undefined);\n readonly dateSignal = this._dateSignal.asReadonly();\n\n get date() {\n return this._dateSignal();\n }\n\n set date(date: Maybe<Date>) {\n this._dateSignal.set(date);\n }\n}\n\nexport function dbxTableDateHeaderInjectionFactory(): DbxInjectionComponentConfigFactory<DbxTableColumn<Date>, DbxTableDateHeaderComponent> {\n return (column: DbxTableColumn<Date>) => {\n const config: DbxInjectionComponentConfig<DbxTableDateHeaderComponent> = {\n componentClass: DbxTableDateHeaderComponent,\n init: (x) => {\n x.date = column.meta;\n }\n };\n\n return config;\n };\n}\n","import { Injectable } from '@angular/core';\nimport { beginLoading, filterMaybe, LoadingState, PageListLoadingState, valueFromFinishedLoadingState } from '@dereekb/rxjs';\nimport { type Maybe } from '@dereekb/util';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { Observable, distinctUntilChanged, first, map, shareReplay, switchMap, tap, combineLatest, of } from 'rxjs';\nimport { DbxTableColumn, DbxTableContextData, DbxTableContextDataDelegate, DbxTableViewDelegate } from './table';\n\nexport interface DbxTableStoreState<I, C, T> {\n /**\n * Contextual input that is passed to the data delegate.\n */\n readonly input: Maybe<I>;\n /**\n * Delegate used for retrieving info given the selection.\n */\n readonly dataDelegate: Maybe<DbxTableContextDataDelegate<I, C, T>>;\n /**\n * Delegate used for retrieving view configurations.\n */\n readonly viewDelegate: Maybe<DbxTableViewDelegate<I, C, T>>;\n}\n\n@Injectable()\nexport class DbxTableStore<I = unknown, C = unknown, T = unknown> extends ComponentStore<DbxTableStoreState<I, C, T>> {\n constructor() {\n super({\n input: null,\n dataDelegate: null,\n viewDelegate: null\n });\n }\n\n // MARK: Effects\n readonly loadMore = this.effect((input: Observable<void>) => {\n return input.pipe(\n switchMap(() =>\n this.data$.pipe(\n first(),\n tap((x) => {\n if (x.loadMore) {\n x.loadMore();\n }\n })\n )\n )\n );\n });\n\n // MARK: Accessors\n readonly input$ = this.state$.pipe(\n map((x) => x.input),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly dataDelegate$ = this.state$.pipe(\n map((x) => x.dataDelegate),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly currentViewDelegate$ = this.state$.pipe(\n map((x) => x.viewDelegate),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly viewDelegate$ = this.currentViewDelegate$.pipe(filterMaybe());\n\n readonly dataState$: Observable<LoadingState<DbxTableContextData<I, C, T>>> = combineLatest([this.input$, this.dataDelegate$]).pipe(\n switchMap(([input, dataDelegate]) => {\n let obs: Observable<LoadingState<DbxTableContextData<I, C, T>>>;\n\n if (input && dataDelegate) {\n obs = dataDelegate.loadData(input);\n } else {\n obs = of(beginLoading<DbxTableContextData<I, C, T>>());\n }\n\n return obs;\n }),\n shareReplay(1)\n );\n\n readonly data$: Observable<DbxTableContextData<I, C, T>> = this.dataState$.pipe(\n //\n valueFromFinishedLoadingState(),\n filterMaybe(),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly columns$: Observable<DbxTableColumn<C>[]> = this.data$.pipe(\n map((x) => x.columns),\n shareReplay(1)\n );\n\n readonly itemsState$: Observable<PageListLoadingState<T>> = this.data$.pipe(\n switchMap((x) => x.items$),\n shareReplay(1)\n );\n\n readonly items$: Observable<T[]> = this.itemsState$.pipe(valueFromFinishedLoadingState(), filterMaybe(), shareReplay(1));\n\n // MARK: State Changes\n readonly setInput = this.updater((state, input: Maybe<I>) => ({ ...state, input }));\n readonly setDataDelegate = this.updater((state, dataDelegate: Maybe<DbxTableContextDataDelegate<I, C, T>>) => ({ ...state, dataDelegate }));\n readonly setViewDelegate = this.updater((state, viewDelegate: Maybe<DbxTableViewDelegate<I, C, T>>) => ({ ...state, viewDelegate }));\n}\n","import { ChangeDetectionStrategy, Component, Injectable, OnDestroy, OnInit, inject, signal, computed } from '@angular/core';\nimport { DateRangeDayDistanceInput, isSameDateDay } from '@dereekb/date';\nimport { DbxTableStore } from '../table.store';\nimport { MatDateRangeSelectionStrategy, DateRange, MAT_DATE_RANGE_SELECTION_STRATEGY, MatDateRangeInput, MatDateRangePicker } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\nimport { Days, type Maybe } from '@dereekb/util';\nimport { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { SubscriptionObject } from '@dereekb/rxjs';\nimport { addDays, format as formatDate } from 'date-fns';\nimport { distinctUntilChanged, filter, startWith, throttleTime } from 'rxjs';\nimport { DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { AsyncPipe } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Injectable()\nexport class DbxTableDateRangeDayDistanceInputCellInputRangeSelectionStrategy<D> implements MatDateRangeSelectionStrategy<D> {\n private readonly _dateAdapter = inject(DateAdapter<D>);\n private readonly dbxTableDateRangeDayDistanceInputCellInputComponent = inject(DbxTableDateRangeDayDistanceInputCellInputComponent);\n\n selectionFinished(date: D | null): DateRange<D> {\n return this._createFiveDayRange(date);\n }\n\n createPreview(activeDate: D | null): DateRange<D> {\n return this._createFiveDayRange(activeDate);\n }\n\n private _createFiveDayRange(date: D | null): DateRange<D> {\n if (date) {\n const start = date;\n const end = this._dateAdapter.addCalendarDays(date, this.dbxTableDateRangeDayDistanceInputCellInputComponent.daysDistance);\n return new DateRange<D>(start, end);\n }\n\n return new DateRange<D>(null, null);\n }\n}\n\nexport interface DbxTableDateRangeDayDistanceInputCellInputComponentConfig {\n /**\n * Button format for the dates\n */\n buttonFormat?: string;\n /**\n * Distance from the start to span.\n */\n daysDistance: Days;\n minDate?: Maybe<Date>;\n maxDate?: Maybe<Date>;\n}\n\nexport const DEFAULT_DBX_TABLE_DATE_RANGE_DAY_DISTIANCE_INPUT_CELL_COMPONENT_CONFIG = { daysDistance: 6 };\n\nexport const DEFAULT_DBX_TABLE_DATE_RANGE_DAY_BUTTON_FORMAT = 'MMM dd';\n\n/**\n * Cell input for a DateRangeDayDistanceInput value.\n */\n@Component({\n template: `\n <div class=\"dbx-table-date-range-distance-input-cell\">\n <mat-date-range-input class=\"dbx-table-date-range-distance-input\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <button mat-stroked-button color=\"primary\" (click)=\"picker.open()\">{{ dateRangeStringSignal() }}</button>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n `,\n providers: [\n {\n provide: MAT_DATE_RANGE_SELECTION_STRATEGY,\n useClass: DbxTableDateRangeDayDistanceInputCellInputRangeSelectionStrategy\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [MatDateRangeInput, ReactiveFormsModule, MatButtonModule, MatDateRangePicker, AsyncPipe]\n})\nexport class DbxTableDateRangeDayDistanceInputCellInputComponent implements OnInit, OnDestroy {\n readonly tableStore = inject(DbxTableStore<DateRangeDayDistanceInput>);\n\n private readonly _syncSub = new SubscriptionObject();\n private readonly _valueSub = new SubscriptionObject();\n\n private readonly _pickerOpenedSignal = signal<boolean>(false);\n private readonly _configSignal = signal<DbxTableDateRangeDayDistanceInputCellInputComponentConfig>(DEFAULT_DBX_TABLE_DATE_RANGE_DAY_DISTIANCE_INPUT_CELL_COMPONENT_CONFIG);\n\n readonly range = new FormGroup({\n start: new FormControl<Maybe<Date>>(null),\n end: new FormControl<Maybe<Date>>(null)\n });\n\n readonly pickerOpened$ = this.range.valueChanges.pipe(startWith(this.range.value));\n\n readonly minDateSignal = computed(() => this._configSignal().minDate);\n readonly maxDateSignal = computed(() => this._configSignal().maxDate);\n readonly buttonFormatSignal = computed(() => this._configSignal().buttonFormat ?? DEFAULT_DBX_TABLE_DATE_RANGE_DAY_BUTTON_FORMAT);\n\n readonly rangeValue$ = this.range.valueChanges.pipe(startWith(this.range.value));\n readonly dateRangeStringSignal = computed(() => {\n const buttonFormat = this.buttonFormatSignal();\n const { start, end } = this.range.value;\n\n if (start && end) {\n return `${formatDate(start, buttonFormat)} - ${formatDate(end, buttonFormat)}`;\n } else {\n return `Select Date`;\n }\n });\n\n ngOnInit(): void {\n this._syncSub.subscription = this.tableStore.input$.subscribe((x) => {\n const start = x?.date ?? null;\n const end = start ? addDays(start, this.daysDistance) : undefined;\n\n this.range.setValue({\n start,\n end\n });\n });\n\n this._valueSub.subscription = this.rangeValue$\n .pipe(\n filter((x) => Boolean(x.start)),\n distinctUntilChanged((a, b) => isSameDateDay(a?.start, b?.start)),\n throttleTime(100, undefined, { trailing: true })\n )\n .subscribe((x) => {\n if (x.start) {\n this.tableStore.setInput({ date: x.start, distance: this.daysDistance });\n }\n });\n }\n\n ngOnDestroy(): void {\n this._syncSub.destroy();\n this._valueSub.destroy();\n }\n\n get daysDistance() {\n return this._configSignal().daysDistance;\n }\n\n get config() {\n return this._configSignal();\n }\n\n set config(config: Maybe<DbxTableDateRangeDayDistanceInputCellInputComponentConfig>) {\n this._configSignal.set(config || DEFAULT_DBX_TABLE_DATE_RANGE_DAY_DISTIANCE_INPUT_CELL_COMPONENT_CONFIG);\n }\n\n pickerOpened() {\n this._pickerOpenedSignal.set(true);\n }\n\n pickerClosed() {\n this._pickerOpenedSignal.set(false);\n }\n}\n\nexport function dbxTableDateRangeDayDistanceInputCellInput(componentConfig?: DbxTableDateRangeDayDistanceInputCellInputComponentConfig): DbxInjectionComponentConfig<DbxTableDateRangeDayDistanceInputCellInputComponent> {\n const config: DbxInjectionComponentConfig<DbxTableDateRangeDayDistanceInputCellInputComponent> = {\n componentClass: DbxTableDateRangeDayDistanceInputCellInputComponent,\n init: (x) => {\n x.config = componentConfig;\n }\n };\n\n return config;\n}\n","import { NgModule } from '@angular/core';\nimport { DbxTableDateHeaderComponent } from './date.table.column.header.component';\nimport { DbxTableDateRangeDayDistanceInputCellInputComponent } from './daterange.table.cell.input.component';\n\nconst importsAndExports = [DbxTableDateHeaderComponent, DbxTableDateRangeDayDistanceInputCellInputComponent];\n\n@NgModule({\n imports: importsAndExports,\n exports: importsAndExports\n})\nexport class DbxTableDateModule {}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-action-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableActionCellComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.summaryRowEnd),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n/**\n * A table header component used for injecting the input picker view.\n */\n@Component({\n selector: 'dbx-table-input-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableInputCellComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.inputHeader),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-summary-end-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableSummaryEndCellComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.summaryRowEnd),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n/**\n * A table header component used for injecting the input picker view.\n */\n@Component({\n selector: 'dbx-table-summary-start-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableSummaryStartCellComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.summaryRowHeader),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { filterMaybe } from '@dereekb/rxjs';\nimport { Directive, inject, input } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { type Maybe } from '@dereekb/util';\nimport { DbxTableColumn } from './table';\n\n/**\n * Abstract directive that has a column input.\n */\n@Directive()\nexport class AbstractDbxTableColumnDirective<C> {\n readonly tableStore = inject(DbxTableStore<unknown, C>);\n\n readonly column = input<Maybe<DbxTableColumn<C>>>();\n readonly column$ = toObservable(this.column).pipe(filterMaybe(), distinctUntilChanged());\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged, switchMap, of } from 'rxjs';\nimport { AbstractDbxTableColumnDirective } from './table.column.directive';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-column-header',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableColumnHeaderComponent<C> extends AbstractDbxTableColumnDirective<C> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => {\n const columnHeader = viewDelegate.columnHeader;\n\n if (columnHeader) {\n return this.column$.pipe(map((x) => columnHeader(x)));\n } else {\n return of(undefined);\n }\n }),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged, switchMap, of } from 'rxjs';\nimport { AbstractDbxTableColumnDirective } from './table.column.directive';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-column-footer',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableColumnFooterComponent<C> extends AbstractDbxTableColumnDirective<C> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => {\n const columnFooter = viewDelegate.columnFooter;\n\n if (columnFooter) {\n return this.column$.pipe(map((x) => columnFooter(x)));\n } else {\n return of(undefined);\n }\n }),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { toObservable } from '@angular/core/rxjs-interop';\nimport { filterMaybe } from '@dereekb/rxjs';\nimport { Directive, inject, input } from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { type Maybe } from '@dereekb/util';\n\n/**\n * Abstract directive that has an element input.\n */\n@Directive()\nexport abstract class AbstractDbxTableElementDirective<T, C = unknown> {\n readonly tableStore = inject(DbxTableStore<unknown, C, T>);\n\n readonly element = input<Maybe<T>>();\n readonly element$ = toObservable(this.element).pipe(filterMaybe(), distinctUntilChanged());\n}\n","import { filterMaybe, maybeValueFromObservableOrValue } from '@dereekb/rxjs';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { toSignal, toObservable } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged, switchMap, combineLatest } from 'rxjs';\nimport { type Maybe } from '@dereekb/util';\nimport { AbstractDbxTableElementDirective } from './table.item.directive';\nimport { DbxTableColumn } from './table';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-item-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableItemCellComponent<T, C> extends AbstractDbxTableElementDirective<T, C> {\n readonly column = input<Maybe<DbxTableColumn<C>>>();\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => combineLatest([toObservable(this.column).pipe(filterMaybe()), this.element$]).pipe(map(([column, element]) => viewDelegate.itemCell(column, element)))),\n maybeValueFromObservableOrValue(),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged, switchMap } from 'rxjs';\nimport { AbstractDbxTableElementDirective } from './table.item.directive';\nimport { maybeValueFromObservableOrValue } from '@dereekb/rxjs';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-item-header',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableItemHeaderComponent<T> extends AbstractDbxTableElementDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => this.element$.pipe(map((x) => viewDelegate.itemHeader(x)))),\n maybeValueFromObservableOrValue(),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { AbstractDbxTableElementDirective } from './table.item.directive';\nimport { DbxInjectionComponent, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { MaybeObservableOrValue, maybeValueFromObservableOrValue } from '@dereekb/rxjs';\n\n@Component({\n selector: 'dbx-table-item-action',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableItemActionComponent<T> extends AbstractDbxTableElementDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((viewDelegate) => {\n const itemAction = viewDelegate.itemAction;\n let obs: MaybeObservableOrValue<DbxInjectionComponentConfig> = undefined;\n\n if (itemAction) {\n obs = this.element$.pipe(map((x) => itemAction(x)));\n }\n\n return obs;\n }),\n maybeValueFromObservableOrValue(),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, TrackByFunction, inject, computed, input } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { DbxTableStore } from './table.store';\nimport { loadingStateContext } from '@dereekb/rxjs';\nimport { shareReplay, map, Observable } from 'rxjs';\nimport { DbxLoadingComponent } from '@dereekb/dbx-web';\nimport { InfiniteScrollDirective } from 'ngx-infinite-scroll';\nimport { MatTableModule } from '@angular/material/table';\nimport { DbxTableInputCellComponent } from './table.cell.input.component';\nimport { DbxTableSummaryEndCellComponent } from './table.cell.summaryend.component';\nimport { DbxTableSummaryStartCellComponent } from './table.cell.summarystart.component';\nimport { DbxTableColumnFooterComponent } from './table.column.footer.component';\nimport { DbxTableItemCellComponent } from './table.item.cell.component';\nimport { DbxTableItemHeaderComponent } from './table.item.header.component';\nimport { DbxTableItemActionComponent } from './table.item.action.component';\nimport { DbxTableActionCellComponent } from './table.cell.action.component';\nimport { DbxTableColumnHeaderComponent } from './table.column.header.component';\n\nexport const DBX_TABLE_ITEMS_COLUMN_NAME = '_items';\nexport const DBX_TABLE_ACTIONS_COLUMN_NAME = '_actions';\n\n/**\n * A table with fixed content\n */\n@Component({\n selector: 'dbx-table-view',\n templateUrl: './table.component.html',\n imports: [DbxLoadingComponent, InfiniteScrollDirective, MatTableModule, DbxTableInputCellComponent, DbxTableItemHeaderComponent, DbxTableItemCellComponent, DbxTableItemActionComponent, DbxTableActionCellComponent, DbxTableColumnHeaderComponent, DbxTableColumnFooterComponent, DbxTableSummaryStartCellComponent, DbxTableSummaryEndCellComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DbxTableViewComponent<I, C, T> {\n readonly tableStore = inject(DbxTableStore<I, C, T>);\n\n readonly DEFAULT_TRACK_BY_FUNCTION: TrackByFunction<any> = (index) => {\n return index;\n };\n\n readonly scrollDistance = input<number>(0.5);\n readonly throttleScroll = input<number>(50);\n\n readonly itemsColumnName = DBX_TABLE_ITEMS_COLUMN_NAME;\n readonly actionsColumnName = DBX_TABLE_ACTIONS_COLUMN_NAME;\n\n readonly innerColumns$ = this.tableStore.columns$;\n readonly innerColumnNames$ = this.innerColumns$.pipe(\n map((x) => x.map((y) => y.columnName)),\n shareReplay(1)\n );\n\n readonly innerColumnsSignal = toSignal(this.innerColumns$);\n readonly innerColumnNamesSignal = toSignal(this.innerColumnNames$);\n\n readonly elements$ = this.tableStore.items$;\n\n readonly displayedColumns$ = this.innerColumnNames$.pipe(\n map((columnNames) => {\n return [this.itemsColumnName, ...columnNames, this.actionsColumnName];\n }),\n shareReplay(1)\n );\n\n readonly displayedColumnsSignal = computed(() => {\n const columnNames = this.innerColumnNamesSignal() || [];\n return [this.itemsColumnName, ...columnNames, this.actionsColumnName];\n });\n\n readonly trackByFunction$: Observable<TrackByFunction<T>> = this.tableStore.viewDelegate$.pipe(\n map((x) => x.trackBy ?? this.DEFAULT_TRACK_BY_FUNCTION),\n shareReplay(1)\n );\n\n readonly trackByFunctionSignal = toSignal(this.trackByFunction$, { initialValue: this.DEFAULT_TRACK_BY_FUNCTION });\n\n readonly context = loadingStateContext({ obs: this.tableStore.dataState$ });\n readonly dataLoadingContext = loadingStateContext({ obs: this.tableStore.itemsState$ });\n\n readonly contextSignal = toSignal(this.context.state$);\n readonly dataLoadingContextSignal = toSignal(this.dataLoadingContext.state$);\n\n onScrollDown(): void {\n this.tableStore.loadMore();\n }\n}\n","<dbx-loading [context]=\"context\">\n <dbx-loading class=\"dbx-table-view-loading\" [linear]=\"true\" [context]=\"dataLoadingContext\"></dbx-loading>\n <section class=\"dbx-table-view\" infinite-scroll [infiniteScrollDistance]=\"scrollDistance()\" [infiniteScrollThrottle]=\"throttleScroll()\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\">\n <table class=\"dbx-table-view-table\" mat-table [dataSource]=\"elements$\" [trackBy]=\"trackByFunctionSignal() || DEFAULT_TRACK_BY_FUNCTION\">\n <!-- Header/Item column -->\n <ng-container [matColumnDef]=\"itemsColumnName\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef>\n <dbx-table-input-cell></dbx-table-input-cell>\n </th>\n <td mat-cell *matCellDef=\"let element\">\n <dbx-table-item-header [element]=\"element\"></dbx-table-item-header>\n </td>\n <td mat-footer-cell *matFooterCellDef>\n <dbx-table-summary-start-cell></dbx-table-summary-start-cell>\n </td>\n </ng-container>\n\n <!-- Column Definitions -->\n @for (column of innerColumnsSignal(); track column.columnName) {\n <ng-container [matColumnDef]=\"column.columnName\" [sticky]=\"false\">\n <th mat-header-cell *matHeaderCellDef>\n <dbx-table-column-header [column]=\"column\"></dbx-table-column-header>\n </th>\n <td mat-cell *matCellDef=\"let element\">\n <dbx-table-item-cell [element]=\"element\" [column]=\"column\"></dbx-table-item-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef>\n <dbx-table-column-footer [column]=\"column\"></dbx-table-column-footer>\n </td>\n </ng-container>\n }\n\n <!-- Tail/Action column -->\n <ng-container [matColumnDef]=\"actionsColumnName\" [stickyEnd]=\"true\">\n <th mat-header-cell *matHeaderCellDef>\n <dbx-table-action-cell></dbx-table-action-cell>\n </th>\n <td mat-cell *matCellDef=\"let element\">\n <dbx-table-item-action [element]=\"element\"></dbx-table-item-action>\n </td>\n <td mat-footer-cell *matFooterCellDef>\n <dbx-table-summary-end-cell></dbx-table-summary-end-cell>\n </td>\n </ng-container>\n\n <!-- Table View -->\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsSignal(); sticky: true\"></tr>\n\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnsSignal()\"></tr>\n\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsSignal(); sticky: true\"></tr>\n </table>\n </section>\n</dbx-loading>\n","import { Directive, inject, input, effect } from '@angular/core';\nimport { DbxTableStore } from './table.store';\nimport { type Maybe } from '@dereekb/util';\nimport { DbxTableContextDataDelegate, DbxTableViewDelegate } from './table';\n\n/**\n * Directive for providing and configuring a DbxTableStore\n */\n@Directive({\n selector: '[dbxTable]',\n providers: [DbxTableStore],\n standalone: true\n})\nexport class DbxTableDirective<I, C, T> {\n readonly tableStore = inject(DbxTableStore<I, C, T>);\n\n readonly dbxTableInput = input<Maybe<I>>();\n readonly dbxTableViewDelegate = input<Maybe<DbxTableViewDelegate<I, C, T>>>();\n readonly dbxTableDataDelegate = input<Maybe<DbxTableContextDataDelegate<I, C, T>>>();\n\n protected readonly _setOnTableStoreEffect = effect(() => {\n this.tableStore.setInput(this.dbxTableInput());\n this.tableStore.setViewDelegate(this.dbxTableViewDelegate());\n this.tableStore.setDataDelegate(this.dbxTableDataDelegate());\n });\n}\n","import { NgModule } from '@angular/core';\nimport { DbxTableItemHeaderComponent } from './table.item.header.component';\nimport { DbxTableViewComponent } from './table.component';\nimport { DbxTableInputCellComponent } from './table.cell.input.component';\nimport { DbxTableSummaryEndCellComponent } from './table.cell.summaryend.component';\nimport { DbxTableSummaryStartCellComponent } from './table.cell.summarystart.component';\nimport { DbxTableItemActionComponent } from './table.item.action.component';\nimport { DbxTableActionCellComponent } from './table.cell.action.component';\nimport { DbxTableItemCellComponent } from './table.item.cell.component';\nimport { DbxTableColumnHeaderComponent } from './table.column.header.component';\nimport { DbxTableDirective } from './table.directive';\nimport { DbxTableColumnFooterComponent } from './table.column.footer.component';\n\nconst importsAndExports = [DbxTableDirective, DbxTableViewComponent, DbxTableColumnHeaderComponent, DbxTableColumnFooterComponent, DbxTableInputCellComponent, DbxTableActionCellComponent, DbxTableItemCellComponent, DbxTableItemHeaderComponent, DbxTableItemActionComponent, DbxTableSummaryStartCellComponent, DbxTableSummaryEndCellComponent];\n\n/**\n * @deprecated import DbxTableDirective and DbxTableViewComponent directly instead.\n */\n@NgModule({\n imports: importsAndExports,\n exports: importsAndExports\n})\nexport class DbxTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["formatDate","importsAndExports","i1"],"mappings":"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"}
1
+ {"version":3,"file":"dereekb-dbx-web-table.mjs","sources":["../../../../packages/dbx-web/table/src/lib/date/date.table.column.header.component.ts","../../../../packages/dbx-web/table/src/lib/table.store.ts","../../../../packages/dbx-web/table/src/lib/date/daterange.table.cell.input.component.ts","../../../../packages/dbx-web/table/src/lib/date/table.date.module.ts","../../../../packages/dbx-web/table/src/lib/table.cell.action.component.ts","../../../../packages/dbx-web/table/src/lib/table.cell.input.component.ts","../../../../packages/dbx-web/table/src/lib/table.cell.summaryend.component.ts","../../../../packages/dbx-web/table/src/lib/table.cell.summarystart.component.ts","../../../../packages/dbx-web/table/src/lib/table.column.directive.ts","../../../../packages/dbx-web/table/src/lib/table.column.header.component.ts","../../../../packages/dbx-web/table/src/lib/table.column.footer.component.ts","../../../../packages/dbx-web/table/src/lib/table.item.directive.ts","../../../../packages/dbx-web/table/src/lib/table.item.cell.component.ts","../../../../packages/dbx-web/table/src/lib/table.item.header.component.ts","../../../../packages/dbx-web/table/src/lib/table.item.action.component.ts","../../../../packages/dbx-web/table/src/lib/table.component.ts","../../../../packages/dbx-web/table/src/lib/table.component.html","../../../../packages/dbx-web/table/src/lib/table.directive.ts","../../../../packages/dbx-web/table/src/lib/table.module.ts","../../../../packages/dbx-web/table/src/dereekb-dbx-web-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { DbxInjectionComponentConfig, DbxInjectionComponentConfigFactory } from '@dereekb/dbx-core';\nimport { type Maybe } from '@dereekb/util';\nimport { DbxTableColumn } from '../table';\nimport { DatePipe } from '@angular/common';\n\n/**\n * A table header component used for rendering date values on the header.\n */\n@Component({\n template: `\n @if (dateSignal()) {\n <div class=\"dbx-table-date-column-header\">\n <span class=\"dbx-table-date-column-header-left\">{{ dateSignal() | date: left }}</span>\n <span>{{ dateSignal() | date: right }}</span>\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DatePipe],\n standalone: true\n})\nexport class DbxTableDateHeaderComponent {\n left = 'E';\n right = 'MMM d';\n\n private readonly _dateSignal = signal<Maybe<Date>>(undefined);\n readonly dateSignal = this._dateSignal.asReadonly();\n\n get date() {\n return this._dateSignal();\n }\n\n set date(date: Maybe<Date>) {\n this._dateSignal.set(date);\n }\n}\n\nexport function dbxTableDateHeaderInjectionFactory(): DbxInjectionComponentConfigFactory<DbxTableColumn<Date>, DbxTableDateHeaderComponent> {\n return (column: DbxTableColumn<Date>) => {\n const config: DbxInjectionComponentConfig<DbxTableDateHeaderComponent> = {\n componentClass: DbxTableDateHeaderComponent,\n init: (x) => {\n x.date = column.meta;\n }\n };\n\n return config;\n };\n}\n","import { Injectable } from '@angular/core';\nimport { beginLoading, filterMaybe, LoadingState, PageListLoadingState, valueFromFinishedLoadingState } from '@dereekb/rxjs';\nimport { type Maybe } from '@dereekb/util';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { Observable, distinctUntilChanged, first, map, shareReplay, switchMap, tap, combineLatest, of } from 'rxjs';\nimport { DbxTableColumn, DbxTableContextData, DbxTableContextDataDelegate, DbxTableViewDelegate } from './table';\n\nexport interface DbxTableStoreState<I, C, T> {\n /**\n * Contextual input that is passed to the data delegate.\n */\n readonly input: Maybe<I>;\n /**\n * Delegate used for retrieving info given the selection.\n */\n readonly dataDelegate: Maybe<DbxTableContextDataDelegate<I, C, T>>;\n /**\n * Delegate used for retrieving view configurations.\n */\n readonly viewDelegate: Maybe<DbxTableViewDelegate<I, C, T>>;\n}\n\n@Injectable()\nexport class DbxTableStore<I = unknown, C = unknown, T = unknown> extends ComponentStore<DbxTableStoreState<I, C, T>> {\n constructor() {\n super({\n input: null,\n dataDelegate: null,\n viewDelegate: null\n });\n }\n\n // MARK: Effects\n readonly loadMore = this.effect((input: Observable<void>) => {\n return input.pipe(\n switchMap(() =>\n this.data$.pipe(\n first(),\n tap((x) => {\n if (x.loadMore) {\n x.loadMore();\n }\n })\n )\n )\n );\n });\n\n // MARK: Accessors\n readonly input$ = this.state$.pipe(\n map((x) => x.input),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly dataDelegate$ = this.state$.pipe(\n map((x) => x.dataDelegate),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly currentViewDelegate$ = this.state$.pipe(\n map((x) => x.viewDelegate),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly viewDelegate$ = this.currentViewDelegate$.pipe(filterMaybe());\n\n readonly dataState$: Observable<LoadingState<DbxTableContextData<I, C, T>>> = combineLatest([this.input$, this.dataDelegate$]).pipe(\n switchMap(([input, dataDelegate]) => {\n let obs: Observable<LoadingState<DbxTableContextData<I, C, T>>>;\n\n if (input && dataDelegate) {\n obs = dataDelegate.loadData(input);\n } else {\n obs = of(beginLoading<DbxTableContextData<I, C, T>>());\n }\n\n return obs;\n }),\n shareReplay(1)\n );\n\n readonly data$: Observable<DbxTableContextData<I, C, T>> = this.dataState$.pipe(\n //\n valueFromFinishedLoadingState(),\n filterMaybe(),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly columns$: Observable<DbxTableColumn<C>[]> = this.data$.pipe(\n map((x) => x.columns),\n shareReplay(1)\n );\n\n readonly itemsState$: Observable<PageListLoadingState<T>> = this.data$.pipe(\n switchMap((x) => x.items$),\n shareReplay(1)\n );\n\n readonly items$: Observable<T[]> = this.itemsState$.pipe(valueFromFinishedLoadingState(), filterMaybe(), shareReplay(1));\n\n // MARK: State Changes\n readonly setInput = this.updater((state, input: Maybe<I>) => ({ ...state, input }));\n readonly setDataDelegate = this.updater((state, dataDelegate: Maybe<DbxTableContextDataDelegate<I, C, T>>) => ({ ...state, dataDelegate }));\n readonly setViewDelegate = this.updater((state, viewDelegate: Maybe<DbxTableViewDelegate<I, C, T>>) => ({ ...state, viewDelegate }));\n}\n","import { ChangeDetectionStrategy, Component, Injectable, OnDestroy, OnInit, inject, signal, computed } from '@angular/core';\nimport { DateRangeDayDistanceInput, isSameDateDay } from '@dereekb/date';\nimport { DbxTableStore } from '../table.store';\nimport { MatDateRangeSelectionStrategy, DateRange, MAT_DATE_RANGE_SELECTION_STRATEGY, MatDateRangeInput, MatDateRangePicker } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\nimport { Days, type Maybe } from '@dereekb/util';\nimport { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { SubscriptionObject } from '@dereekb/rxjs';\nimport { addDays, format as formatDate } from 'date-fns';\nimport { distinctUntilChanged, filter, startWith, throttleTime } from 'rxjs';\nimport { DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Injectable()\nexport class DbxTableDateRangeDayDistanceInputCellInputRangeSelectionStrategy<D> implements MatDateRangeSelectionStrategy<D> {\n private readonly _dateAdapter = inject(DateAdapter<D>);\n private readonly dbxTableDateRangeDayDistanceInputCellInputComponent = inject(DbxTableDateRangeDayDistanceInputCellInputComponent);\n\n selectionFinished(date: D | null): DateRange<D> {\n return this._createFiveDayRange(date);\n }\n\n createPreview(activeDate: D | null): DateRange<D> {\n return this._createFiveDayRange(activeDate);\n }\n\n private _createFiveDayRange(date: D | null): DateRange<D> {\n if (date) {\n const start = date;\n const end = this._dateAdapter.addCalendarDays(date, this.dbxTableDateRangeDayDistanceInputCellInputComponent.daysDistance);\n return new DateRange<D>(start, end);\n }\n\n return new DateRange<D>(null, null);\n }\n}\n\nexport interface DbxTableDateRangeDayDistanceInputCellInputComponentConfig {\n /**\n * Button format for the dates\n */\n buttonFormat?: string;\n /**\n * Distance from the start to span.\n */\n daysDistance: Days;\n minDate?: Maybe<Date>;\n maxDate?: Maybe<Date>;\n}\n\nexport const DEFAULT_DBX_TABLE_DATE_RANGE_DAY_DISTIANCE_INPUT_CELL_COMPONENT_CONFIG = { daysDistance: 6 };\n\nexport const DEFAULT_DBX_TABLE_DATE_RANGE_DAY_BUTTON_FORMAT = 'MMM dd';\n\n/**\n * Cell input for a DateRangeDayDistanceInput value.\n */\n@Component({\n template: `\n <div class=\"dbx-table-date-range-distance-input-cell\">\n <mat-date-range-input class=\"dbx-table-date-range-distance-input\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <button mat-stroked-button color=\"primary\" (click)=\"picker.open()\">{{ dateRangeStringSignal() }}</button>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n `,\n providers: [\n {\n provide: MAT_DATE_RANGE_SELECTION_STRATEGY,\n useClass: DbxTableDateRangeDayDistanceInputCellInputRangeSelectionStrategy\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [MatDateRangeInput, ReactiveFormsModule, MatButtonModule, MatDateRangePicker]\n})\nexport class DbxTableDateRangeDayDistanceInputCellInputComponent implements OnInit, OnDestroy {\n readonly tableStore = inject(DbxTableStore<DateRangeDayDistanceInput>);\n\n private readonly _syncSub = new SubscriptionObject();\n private readonly _valueSub = new SubscriptionObject();\n\n private readonly _pickerOpenedSignal = signal<boolean>(false);\n private readonly _configSignal = signal<DbxTableDateRangeDayDistanceInputCellInputComponentConfig>(DEFAULT_DBX_TABLE_DATE_RANGE_DAY_DISTIANCE_INPUT_CELL_COMPONENT_CONFIG);\n\n readonly range = new FormGroup({\n start: new FormControl<Maybe<Date>>(null),\n end: new FormControl<Maybe<Date>>(null)\n });\n\n readonly pickerOpened$ = this.range.valueChanges.pipe(startWith(this.range.value));\n\n readonly minDateSignal = computed(() => this._configSignal().minDate);\n readonly maxDateSignal = computed(() => this._configSignal().maxDate);\n readonly buttonFormatSignal = computed(() => this._configSignal().buttonFormat ?? DEFAULT_DBX_TABLE_DATE_RANGE_DAY_BUTTON_FORMAT);\n\n readonly rangeValue$ = this.range.valueChanges.pipe(startWith(this.range.value));\n readonly dateRangeStringSignal = computed(() => {\n const buttonFormat = this.buttonFormatSignal();\n const { start, end } = this.range.value;\n\n if (start && end) {\n return `${formatDate(start, buttonFormat)} - ${formatDate(end, buttonFormat)}`;\n } else {\n return `Select Date`;\n }\n });\n\n ngOnInit(): void {\n this._syncSub.subscription = this.tableStore.input$.subscribe((x) => {\n const start = x?.date ?? null;\n const end = start ? addDays(start, this.daysDistance) : undefined;\n\n this.range.setValue({\n start,\n end\n });\n });\n\n this._valueSub.subscription = this.rangeValue$\n .pipe(\n filter((x) => Boolean(x.start)),\n distinctUntilChanged((a, b) => isSameDateDay(a?.start, b?.start)),\n throttleTime(100, undefined, { trailing: true })\n )\n .subscribe((x) => {\n if (x.start) {\n this.tableStore.setInput({ date: x.start, distance: this.daysDistance });\n }\n });\n }\n\n ngOnDestroy(): void {\n this._syncSub.destroy();\n this._valueSub.destroy();\n }\n\n get daysDistance() {\n return this._configSignal().daysDistance;\n }\n\n get config() {\n return this._configSignal();\n }\n\n set config(config: Maybe<DbxTableDateRangeDayDistanceInputCellInputComponentConfig>) {\n this._configSignal.set(config || DEFAULT_DBX_TABLE_DATE_RANGE_DAY_DISTIANCE_INPUT_CELL_COMPONENT_CONFIG);\n }\n\n pickerOpened() {\n this._pickerOpenedSignal.set(true);\n }\n\n pickerClosed() {\n this._pickerOpenedSignal.set(false);\n }\n}\n\nexport function dbxTableDateRangeDayDistanceInputCellInput(componentConfig?: DbxTableDateRangeDayDistanceInputCellInputComponentConfig): DbxInjectionComponentConfig<DbxTableDateRangeDayDistanceInputCellInputComponent> {\n const config: DbxInjectionComponentConfig<DbxTableDateRangeDayDistanceInputCellInputComponent> = {\n componentClass: DbxTableDateRangeDayDistanceInputCellInputComponent,\n init: (x) => {\n x.config = componentConfig;\n }\n };\n\n return config;\n}\n","import { NgModule } from '@angular/core';\nimport { DbxTableDateHeaderComponent } from './date.table.column.header.component';\nimport { DbxTableDateRangeDayDistanceInputCellInputComponent } from './daterange.table.cell.input.component';\n\nconst importsAndExports = [DbxTableDateHeaderComponent, DbxTableDateRangeDayDistanceInputCellInputComponent];\n\n@NgModule({\n imports: importsAndExports,\n exports: importsAndExports\n})\nexport class DbxTableDateModule {}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-action-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableActionCellComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.summaryRowEnd),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n/**\n * A table header component used for injecting the input picker view.\n */\n@Component({\n selector: 'dbx-table-input-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableInputCellComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.inputHeader),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-summary-end-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableSummaryEndCellComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.summaryRowEnd),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n/**\n * A table header component used for injecting the input picker view.\n */\n@Component({\n selector: 'dbx-table-summary-start-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableSummaryStartCellComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.summaryRowHeader),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { filterMaybe } from '@dereekb/rxjs';\nimport { Directive, inject, input } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { type Maybe } from '@dereekb/util';\nimport { DbxTableColumn } from './table';\n\n/**\n * Abstract directive that has a column input.\n */\n@Directive()\nexport class AbstractDbxTableColumnDirective<C> {\n readonly tableStore = inject(DbxTableStore<unknown, C>);\n\n readonly column = input<Maybe<DbxTableColumn<C>>>();\n readonly column$ = toObservable(this.column).pipe(filterMaybe(), distinctUntilChanged());\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged, switchMap, of } from 'rxjs';\nimport { AbstractDbxTableColumnDirective } from './table.column.directive';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-column-header',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableColumnHeaderComponent<C> extends AbstractDbxTableColumnDirective<C> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => {\n const columnHeader = viewDelegate.columnHeader;\n\n if (columnHeader) {\n return this.column$.pipe(map((x) => columnHeader(x)));\n } else {\n return of(undefined);\n }\n }),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged, switchMap, of } from 'rxjs';\nimport { AbstractDbxTableColumnDirective } from './table.column.directive';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-column-footer',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent]\n})\nexport class DbxTableColumnFooterComponent<C> extends AbstractDbxTableColumnDirective<C> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => {\n const columnFooter = viewDelegate.columnFooter;\n\n if (columnFooter) {\n return this.column$.pipe(map((x) => columnFooter(x)));\n } else {\n return of(undefined);\n }\n }),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { toObservable } from '@angular/core/rxjs-interop';\nimport { filterMaybe } from '@dereekb/rxjs';\nimport { Directive, inject, input } from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs';\nimport { DbxTableStore } from './table.store';\nimport { type Maybe } from '@dereekb/util';\n\n/**\n * Abstract directive that has an element input.\n */\n@Directive()\nexport abstract class AbstractDbxTableElementDirective<T, C = unknown> {\n readonly tableStore = inject(DbxTableStore<unknown, C, T>);\n\n readonly element = input<Maybe<T>>();\n readonly element$ = toObservable(this.element).pipe(filterMaybe(), distinctUntilChanged());\n}\n","import { filterMaybe, maybeValueFromObservableOrValue } from '@dereekb/rxjs';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { toSignal, toObservable } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged, switchMap, combineLatest } from 'rxjs';\nimport { type Maybe } from '@dereekb/util';\nimport { AbstractDbxTableElementDirective } from './table.item.directive';\nimport { DbxTableColumn } from './table';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-item-cell',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableItemCellComponent<T, C> extends AbstractDbxTableElementDirective<T, C> {\n readonly column = input<Maybe<DbxTableColumn<C>>>();\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => combineLatest([toObservable(this.column).pipe(filterMaybe()), this.element$]).pipe(map(([column, element]) => viewDelegate.itemCell(column, element)))),\n maybeValueFromObservableOrValue(),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged, switchMap } from 'rxjs';\nimport { AbstractDbxTableElementDirective } from './table.item.directive';\nimport { maybeValueFromObservableOrValue } from '@dereekb/rxjs';\nimport { DbxInjectionComponent } from '@dereekb/dbx-core';\n\n@Component({\n selector: 'dbx-table-item-header',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableItemHeaderComponent<T> extends AbstractDbxTableElementDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => this.element$.pipe(map((x) => viewDelegate.itemHeader(x)))),\n maybeValueFromObservableOrValue(),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { AbstractDbxTableElementDirective } from './table.item.directive';\nimport { DbxInjectionComponent, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { MaybeObservableOrValue, maybeValueFromObservableOrValue } from '@dereekb/rxjs';\n\n@Component({\n selector: 'dbx-table-item-action',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableItemActionComponent<T> extends AbstractDbxTableElementDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((viewDelegate) => {\n const itemAction = viewDelegate.itemAction;\n let obs: MaybeObservableOrValue<DbxInjectionComponentConfig> = undefined;\n\n if (itemAction) {\n obs = this.element$.pipe(map((x) => itemAction(x)));\n }\n\n return obs;\n }),\n maybeValueFromObservableOrValue(),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, TrackByFunction, inject, computed, input } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { DbxTableStore } from './table.store';\nimport { loadingStateContext } from '@dereekb/rxjs';\nimport { shareReplay, map, Observable } from 'rxjs';\nimport { DbxLoadingComponent } from '@dereekb/dbx-web';\nimport { InfiniteScrollDirective } from 'ngx-infinite-scroll';\nimport { MatTableModule } from '@angular/material/table';\nimport { DbxTableInputCellComponent } from './table.cell.input.component';\nimport { DbxTableSummaryEndCellComponent } from './table.cell.summaryend.component';\nimport { DbxTableSummaryStartCellComponent } from './table.cell.summarystart.component';\nimport { DbxTableColumnFooterComponent } from './table.column.footer.component';\nimport { DbxTableItemCellComponent } from './table.item.cell.component';\nimport { DbxTableItemHeaderComponent } from './table.item.header.component';\nimport { DbxTableItemActionComponent } from './table.item.action.component';\nimport { DbxTableActionCellComponent } from './table.cell.action.component';\nimport { DbxTableColumnHeaderComponent } from './table.column.header.component';\n\nexport const DBX_TABLE_ITEMS_COLUMN_NAME = '_items';\nexport const DBX_TABLE_ACTIONS_COLUMN_NAME = '_actions';\n\n/**\n * A table with fixed content\n */\n@Component({\n selector: 'dbx-table-view',\n templateUrl: './table.component.html',\n imports: [DbxLoadingComponent, InfiniteScrollDirective, MatTableModule, DbxTableInputCellComponent, DbxTableItemHeaderComponent, DbxTableItemCellComponent, DbxTableItemActionComponent, DbxTableActionCellComponent, DbxTableColumnHeaderComponent, DbxTableColumnFooterComponent, DbxTableSummaryStartCellComponent, DbxTableSummaryEndCellComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DbxTableViewComponent<I, C, T> {\n readonly tableStore = inject(DbxTableStore<I, C, T>);\n\n readonly DEFAULT_TRACK_BY_FUNCTION: TrackByFunction<any> = (index) => {\n return index;\n };\n\n readonly scrollDistance = input<number>(0.5);\n readonly throttleScroll = input<number>(50);\n\n readonly itemsColumnName = DBX_TABLE_ITEMS_COLUMN_NAME;\n readonly actionsColumnName = DBX_TABLE_ACTIONS_COLUMN_NAME;\n\n readonly innerColumns$ = this.tableStore.columns$;\n readonly innerColumnNames$ = this.innerColumns$.pipe(\n map((x) => x.map((y) => y.columnName)),\n shareReplay(1)\n );\n\n readonly innerColumnsSignal = toSignal(this.innerColumns$);\n readonly innerColumnNamesSignal = toSignal(this.innerColumnNames$);\n\n readonly elements$ = this.tableStore.items$;\n\n readonly displayedColumns$ = this.innerColumnNames$.pipe(\n map((columnNames) => {\n return [this.itemsColumnName, ...columnNames, this.actionsColumnName];\n }),\n shareReplay(1)\n );\n\n readonly displayedColumnsSignal = computed(() => {\n const columnNames = this.innerColumnNamesSignal() || [];\n return [this.itemsColumnName, ...columnNames, this.actionsColumnName];\n });\n\n readonly trackByFunction$: Observable<TrackByFunction<T>> = this.tableStore.viewDelegate$.pipe(\n map((x) => x.trackBy ?? this.DEFAULT_TRACK_BY_FUNCTION),\n shareReplay(1)\n );\n\n readonly trackByFunctionSignal = toSignal(this.trackByFunction$, { initialValue: this.DEFAULT_TRACK_BY_FUNCTION });\n\n readonly context = loadingStateContext({ obs: this.tableStore.dataState$ });\n readonly dataLoadingContext = loadingStateContext({ obs: this.tableStore.itemsState$ });\n\n readonly contextSignal = toSignal(this.context.state$);\n readonly dataLoadingContextSignal = toSignal(this.dataLoadingContext.state$);\n\n onScrollDown(): void {\n this.tableStore.loadMore();\n }\n}\n","<dbx-loading [context]=\"context\">\n <dbx-loading class=\"dbx-table-view-loading\" [linear]=\"true\" [context]=\"dataLoadingContext\"></dbx-loading>\n <section class=\"dbx-table-view\" infinite-scroll [infiniteScrollDistance]=\"scrollDistance()\" [infiniteScrollThrottle]=\"throttleScroll()\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\">\n <table class=\"dbx-table-view-table\" mat-table [dataSource]=\"elements$\" [trackBy]=\"trackByFunctionSignal() || DEFAULT_TRACK_BY_FUNCTION\">\n <!-- Header/Item column -->\n <ng-container [matColumnDef]=\"itemsColumnName\" [sticky]=\"true\">\n <th mat-header-cell *matHeaderCellDef>\n <dbx-table-input-cell></dbx-table-input-cell>\n </th>\n <td mat-cell *matCellDef=\"let element\">\n <dbx-table-item-header [element]=\"element\"></dbx-table-item-header>\n </td>\n <td mat-footer-cell *matFooterCellDef>\n <dbx-table-summary-start-cell></dbx-table-summary-start-cell>\n </td>\n </ng-container>\n\n <!-- Column Definitions -->\n @for (column of innerColumnsSignal(); track column.columnName) {\n <ng-container [matColumnDef]=\"column.columnName\" [sticky]=\"false\">\n <th mat-header-cell *matHeaderCellDef>\n <dbx-table-column-header [column]=\"column\"></dbx-table-column-header>\n </th>\n <td mat-cell *matCellDef=\"let element\">\n <dbx-table-item-cell [element]=\"element\" [column]=\"column\"></dbx-table-item-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef>\n <dbx-table-column-footer [column]=\"column\"></dbx-table-column-footer>\n </td>\n </ng-container>\n }\n\n <!-- Tail/Action column -->\n <ng-container [matColumnDef]=\"actionsColumnName\" [stickyEnd]=\"true\">\n <th mat-header-cell *matHeaderCellDef>\n <dbx-table-action-cell></dbx-table-action-cell>\n </th>\n <td mat-cell *matCellDef=\"let element\">\n <dbx-table-item-action [element]=\"element\"></dbx-table-item-action>\n </td>\n <td mat-footer-cell *matFooterCellDef>\n <dbx-table-summary-end-cell></dbx-table-summary-end-cell>\n </td>\n </ng-container>\n\n <!-- Table View -->\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsSignal(); sticky: true\"></tr>\n\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnsSignal()\"></tr>\n\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsSignal(); sticky: true\"></tr>\n </table>\n </section>\n</dbx-loading>\n","import { Directive, inject, input, effect } from '@angular/core';\nimport { DbxTableStore } from './table.store';\nimport { type Maybe } from '@dereekb/util';\nimport { DbxTableContextDataDelegate, DbxTableViewDelegate } from './table';\n\n/**\n * Directive for providing and configuring a DbxTableStore\n */\n@Directive({\n selector: '[dbxTable]',\n providers: [DbxTableStore],\n standalone: true\n})\nexport class DbxTableDirective<I, C, T> {\n readonly tableStore = inject(DbxTableStore<I, C, T>);\n\n readonly dbxTableInput = input<Maybe<I>>();\n readonly dbxTableViewDelegate = input<Maybe<DbxTableViewDelegate<I, C, T>>>();\n readonly dbxTableDataDelegate = input<Maybe<DbxTableContextDataDelegate<I, C, T>>>();\n\n protected readonly _setOnTableStoreEffect = effect(() => {\n this.tableStore.setInput(this.dbxTableInput());\n this.tableStore.setViewDelegate(this.dbxTableViewDelegate());\n this.tableStore.setDataDelegate(this.dbxTableDataDelegate());\n });\n}\n","import { NgModule } from '@angular/core';\nimport { DbxTableItemHeaderComponent } from './table.item.header.component';\nimport { DbxTableViewComponent } from './table.component';\nimport { DbxTableInputCellComponent } from './table.cell.input.component';\nimport { DbxTableSummaryEndCellComponent } from './table.cell.summaryend.component';\nimport { DbxTableSummaryStartCellComponent } from './table.cell.summarystart.component';\nimport { DbxTableItemActionComponent } from './table.item.action.component';\nimport { DbxTableActionCellComponent } from './table.cell.action.component';\nimport { DbxTableItemCellComponent } from './table.item.cell.component';\nimport { DbxTableColumnHeaderComponent } from './table.column.header.component';\nimport { DbxTableDirective } from './table.directive';\nimport { DbxTableColumnFooterComponent } from './table.column.footer.component';\n\nconst importsAndExports = [DbxTableDirective, DbxTableViewComponent, DbxTableColumnHeaderComponent, DbxTableColumnFooterComponent, DbxTableInputCellComponent, DbxTableActionCellComponent, DbxTableItemCellComponent, DbxTableItemHeaderComponent, DbxTableItemActionComponent, DbxTableSummaryStartCellComponent, DbxTableSummaryEndCellComponent];\n\n/**\n * @deprecated import DbxTableDirective and DbxTableViewComponent directly instead.\n */\n@NgModule({\n imports: importsAndExports,\n exports: importsAndExports\n})\nexport class DbxTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["formatDate","importsAndExports","i1"],"mappings":"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"}