@dereekb/dbx-web 12.6.21 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/fesm2022/dereekb-dbx-web-calendar.mjs +15 -32
- package/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web-mapbox.mjs +113 -130
- package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web-table.mjs +125 -133
- package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web.mjs +1758 -2081
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/button/_button.scss +117 -21
- package/lib/button/progress/spinner.button.component.scss +7 -7
- package/lib/layout/style/_style.scss +30 -81
- package/lib/loading/_loading.scss +11 -9
- package/lib/router/layout/anchorlist/_anchorlist.scss +5 -0
- package/lib/router/layout/sidenav/_sidenav.scss +0 -3
- package/lib/style/_root-variables.scss +2 -2
- package/lib/style/_theming.scss +196 -1
- package/lib/style/_variables.scss +13 -7
- package/package.json +26 -34
- package/types/dereekb-dbx-web-calendar.d.ts +197 -0
- package/types/dereekb-dbx-web-mapbox.d.ts +752 -0
- package/types/dereekb-dbx-web-table.d.ts +600 -0
- package/types/dereekb-dbx-web.d.ts +5655 -0
- package/calendar/index.d.ts +0 -1
- package/calendar/lib/calendar.base.component.d.ts +0 -32
- package/calendar/lib/calendar.component.d.ts +0 -28
- package/calendar/lib/calendar.d.ts +0 -6
- package/calendar/lib/calendar.module.d.ts +0 -11
- package/calendar/lib/calendar.provider.d.ts +0 -5
- package/calendar/lib/calendar.store.d.ts +0 -123
- package/calendar/lib/index.d.ts +0 -6
- package/esm2022/calendar/dereekb-dbx-web-calendar.mjs +0 -5
- package/esm2022/calendar/index.mjs +0 -2
- package/esm2022/calendar/lib/calendar.base.component.mjs +0 -68
- package/esm2022/calendar/lib/calendar.component.mjs +0 -56
- package/esm2022/calendar/lib/calendar.mjs +0 -30
- package/esm2022/calendar/lib/calendar.module.mjs +0 -21
- package/esm2022/calendar/lib/calendar.provider.mjs +0 -11
- package/esm2022/calendar/lib/calendar.store.mjs +0 -174
- package/esm2022/calendar/lib/index.mjs +0 -7
- package/esm2022/dereekb-dbx-web.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/action/action.confirm.directive.mjs +0 -46
- package/esm2022/lib/action/action.module.mjs +0 -22
- package/esm2022/lib/action/index.mjs +0 -6
- package/esm2022/lib/action/key.trigger.directive.mjs +0 -31
- package/esm2022/lib/action/snackbar/action.snackbar.component.mjs +0 -81
- package/esm2022/lib/action/snackbar/action.snackbar.default.mjs +0 -107
- package/esm2022/lib/action/snackbar/action.snackbar.directive.mjs +0 -47
- package/esm2022/lib/action/snackbar/action.snackbar.generator.mjs +0 -44
- package/esm2022/lib/action/snackbar/action.snackbar.mjs +0 -2
- package/esm2022/lib/action/snackbar/action.snackbar.module.mjs +0 -18
- package/esm2022/lib/action/snackbar/action.snackbar.service.mjs +0 -74
- package/esm2022/lib/action/snackbar/index.mjs +0 -8
- package/esm2022/lib/action/transition/action.transition.module.mjs +0 -29
- package/esm2022/lib/action/transition/index.mjs +0 -4
- package/esm2022/lib/action/transition/transition.safety.dialog.component.mjs +0 -53
- package/esm2022/lib/action/transition/transition.safety.directive.mjs +0 -132
- package/esm2022/lib/button/button.component.mjs +0 -141
- package/esm2022/lib/button/button.mjs +0 -2
- package/esm2022/lib/button/button.module.mjs +0 -54
- package/esm2022/lib/button/button.spacer.directive.mjs +0 -20
- package/esm2022/lib/button/icon/icon.button.component.mjs +0 -72
- package/esm2022/lib/button/icon/icon.button.module.mjs +0 -19
- package/esm2022/lib/button/icon/index.mjs +0 -3
- package/esm2022/lib/button/index.mjs +0 -7
- package/esm2022/lib/button/progress/abstract.progress.button.directive.mjs +0 -149
- package/esm2022/lib/button/progress/bar.button.component.mjs +0 -24
- package/esm2022/lib/button/progress/button.progress.config.mjs +0 -3
- package/esm2022/lib/button/progress/button.progress.module.mjs +0 -21
- package/esm2022/lib/button/progress/button.progress.providers.mjs +0 -18
- package/esm2022/lib/button/progress/index.mjs +0 -6
- package/esm2022/lib/button/progress/spinner.button.component.mjs +0 -85
- package/esm2022/lib/dbx-web.module.mjs +0 -17
- package/esm2022/lib/error/default.error.widget.component.mjs +0 -41
- package/esm2022/lib/error/error.action.directive.mjs +0 -26
- package/esm2022/lib/error/error.api.mjs +0 -51
- package/esm2022/lib/error/error.component.mjs +0 -104
- package/esm2022/lib/error/error.details.component.mjs +0 -26
- package/esm2022/lib/error/error.loading.directive.mjs +0 -36
- package/esm2022/lib/error/error.module.mjs +0 -81
- package/esm2022/lib/error/error.popover.component.mjs +0 -45
- package/esm2022/lib/error/error.snackbar.action.directive.mjs +0 -33
- package/esm2022/lib/error/error.snackbar.component.mjs +0 -83
- package/esm2022/lib/error/error.snackbar.service.mjs +0 -39
- package/esm2022/lib/error/error.view.component.mjs +0 -56
- package/esm2022/lib/error/error.widget.component.mjs +0 -59
- package/esm2022/lib/error/error.widget.directive.mjs +0 -18
- package/esm2022/lib/error/error.widget.service.mjs +0 -75
- package/esm2022/lib/error/index.mjs +0 -17
- package/esm2022/lib/error/state.mjs +0 -21
- package/esm2022/lib/extension/download/blob/download.blob.button.component.mjs +0 -86
- package/esm2022/lib/extension/download/blob/index.mjs +0 -2
- package/esm2022/lib/extension/download/index.mjs +0 -3
- package/esm2022/lib/extension/download/text/download.text.component.mjs +0 -94
- package/esm2022/lib/extension/download/text/download.text.mjs +0 -2
- package/esm2022/lib/extension/download/text/download.text.module.mjs +0 -20
- package/esm2022/lib/extension/download/text/index.mjs +0 -4
- package/esm2022/lib/extension/help/absract.help.widget.directive.mjs +0 -20
- package/esm2022/lib/extension/help/help.context.directive.mjs +0 -29
- package/esm2022/lib/extension/help/help.context.mjs +0 -24
- package/esm2022/lib/extension/help/help.context.service.mjs +0 -34
- package/esm2022/lib/extension/help/help.mjs +0 -2
- package/esm2022/lib/extension/help/help.providers.mjs +0 -20
- package/esm2022/lib/extension/help/help.view.list.component.mjs +0 -107
- package/esm2022/lib/extension/help/help.view.list.entry.component.mjs +0 -59
- package/esm2022/lib/extension/help/help.view.popover.button.component.mjs +0 -50
- package/esm2022/lib/extension/help/help.view.popover.component.mjs +0 -53
- package/esm2022/lib/extension/help/help.widget.mjs +0 -6
- package/esm2022/lib/extension/help/help.widget.service.mjs +0 -106
- package/esm2022/lib/extension/help/index.mjs +0 -13
- package/esm2022/lib/extension/index.mjs +0 -10
- package/esm2022/lib/extension/model/index.mjs +0 -9
- package/esm2022/lib/extension/model/model.providers.mjs +0 -42
- package/esm2022/lib/extension/model/model.state.service.mjs +0 -19
- package/esm2022/lib/extension/model/model.tracker.mjs +0 -7
- package/esm2022/lib/extension/model/model.tracker.service.mjs +0 -41
- package/esm2022/lib/extension/model/model.tracker.view.storage.mjs +0 -68
- package/esm2022/lib/extension/model/model.types.mjs +0 -2
- package/esm2022/lib/extension/model/model.types.service.mjs +0 -65
- package/esm2022/lib/extension/model/state/actions/actions.mjs +0 -3
- package/esm2022/lib/extension/model/state/actions/index.mjs +0 -4
- package/esm2022/lib/extension/model/state/actions/model.actions.mjs +0 -3
- package/esm2022/lib/extension/model/state/effects/tracker.effects.mjs +0 -26
- package/esm2022/lib/extension/model/state/index.mjs +0 -6
- package/esm2022/lib/extension/model/state/reducers/index.mjs +0 -13
- package/esm2022/lib/extension/model/state/reducers/model.module.config.mjs +0 -8
- package/esm2022/lib/extension/model/state/state.mjs +0 -2
- package/esm2022/lib/extension/preview/index.mjs +0 -5
- package/esm2022/lib/extension/preview/webfilepreview.component.mjs +0 -35
- package/esm2022/lib/extension/preview/webfilepreview.mjs +0 -2
- package/esm2022/lib/extension/preview/webfilepreview.service.mjs +0 -119
- package/esm2022/lib/extension/preview/webfilepreview.service.preset.mjs +0 -21
- package/esm2022/lib/extension/structure/index.mjs +0 -4
- package/esm2022/lib/extension/structure/structure.body.directive.mjs +0 -29
- package/esm2022/lib/extension/structure/structure.module.mjs +0 -21
- package/esm2022/lib/extension/structure/structure.structure.directive.mjs +0 -25
- package/esm2022/lib/extension/widget/index.mjs +0 -7
- package/esm2022/lib/extension/widget/widget.component.mjs +0 -79
- package/esm2022/lib/extension/widget/widget.directive.mjs +0 -12
- package/esm2022/lib/extension/widget/widget.list.component.mjs +0 -75
- package/esm2022/lib/extension/widget/widget.mjs +0 -2
- package/esm2022/lib/extension/widget/widget.module.mjs +0 -28
- package/esm2022/lib/extension/widget/widget.service.mjs +0 -43
- package/esm2022/lib/extension/zip/index.mjs +0 -5
- package/esm2022/lib/extension/zip/zip.blob.mjs +0 -16
- package/esm2022/lib/extension/zip/zip.blob.preview.component.mjs +0 -156
- package/esm2022/lib/extension/zip/zip.blob.preview.list.component.mjs +0 -121
- package/esm2022/lib/extension/zip/zip.preview.component.mjs +0 -71
- package/esm2022/lib/extension/zip/zip.preview.dialog.component.mjs +0 -31
- package/esm2022/lib/index.mjs +0 -13
- package/esm2022/lib/interaction/dialog/abstract.dialog.directive.mjs +0 -26
- package/esm2022/lib/interaction/dialog/dialog.action.directive.mjs +0 -38
- package/esm2022/lib/interaction/dialog/dialog.content.close.component.mjs +0 -40
- package/esm2022/lib/interaction/dialog/dialog.content.directive.mjs +0 -23
- package/esm2022/lib/interaction/dialog/dialog.content.footer.component.mjs +0 -38
- package/esm2022/lib/interaction/dialog/dialog.content.mjs +0 -9
- package/esm2022/lib/interaction/dialog/dialog.injection.component.mjs +0 -53
- package/esm2022/lib/interaction/dialog/dialog.module.mjs +0 -36
- package/esm2022/lib/interaction/dialog/index.mjs +0 -9
- package/esm2022/lib/interaction/filter/filter.config.mjs +0 -2
- package/esm2022/lib/interaction/filter/filter.menu.mjs +0 -25
- package/esm2022/lib/interaction/filter/filter.module.mjs +0 -24
- package/esm2022/lib/interaction/filter/filter.partial.list.component.mjs +0 -23
- package/esm2022/lib/interaction/filter/filter.partial.menu.component.mjs +0 -31
- package/esm2022/lib/interaction/filter/filter.partial.mjs +0 -50
- package/esm2022/lib/interaction/filter/filter.popover.button.component.mjs +0 -33
- package/esm2022/lib/interaction/filter/filter.popover.button.directive.mjs +0 -28
- package/esm2022/lib/interaction/filter/filter.popover.component.mjs +0 -115
- package/esm2022/lib/interaction/filter/filter.preset.directive.mjs +0 -78
- package/esm2022/lib/interaction/filter/filter.preset.list.component.mjs +0 -23
- package/esm2022/lib/interaction/filter/filter.preset.menu.component.mjs +0 -31
- package/esm2022/lib/interaction/filter/filter.wrapper.component.mjs +0 -46
- package/esm2022/lib/interaction/filter/index.mjs +0 -13
- package/esm2022/lib/interaction/iframe/embed.component.mjs +0 -124
- package/esm2022/lib/interaction/iframe/embed.dialog.component.mjs +0 -34
- package/esm2022/lib/interaction/iframe/iframe.component.mjs +0 -68
- package/esm2022/lib/interaction/iframe/iframe.dialog.component.mjs +0 -23
- package/esm2022/lib/interaction/iframe/index.mjs +0 -5
- package/esm2022/lib/interaction/index.mjs +0 -9
- package/esm2022/lib/interaction/interaction.module.mjs +0 -30
- package/esm2022/lib/interaction/popover/abstract.popover.directive.mjs +0 -21
- package/esm2022/lib/interaction/popover/abstract.popover.ref.directive.mjs +0 -52
- package/esm2022/lib/interaction/popover/index.mjs +0 -17
- package/esm2022/lib/interaction/popover/popover.action.directive.mjs +0 -42
- package/esm2022/lib/interaction/popover/popover.close.component.mjs +0 -29
- package/esm2022/lib/interaction/popover/popover.component.mjs +0 -169
- package/esm2022/lib/interaction/popover/popover.content.component.mjs +0 -50
- package/esm2022/lib/interaction/popover/popover.content.module.mjs +0 -24
- package/esm2022/lib/interaction/popover/popover.controls.directive.mjs +0 -27
- package/esm2022/lib/interaction/popover/popover.coordinator.component.mjs +0 -42
- package/esm2022/lib/interaction/popover/popover.coordinator.service.mjs +0 -44
- package/esm2022/lib/interaction/popover/popover.header.component.mjs +0 -60
- package/esm2022/lib/interaction/popover/popover.mjs +0 -3
- package/esm2022/lib/interaction/popover/popover.module.mjs +0 -20
- package/esm2022/lib/interaction/popover/popover.position.strategy.mjs +0 -60
- package/esm2022/lib/interaction/popover/popover.scroll.content.directive.mjs +0 -41
- package/esm2022/lib/interaction/popover/popover.service.mjs +0 -47
- package/esm2022/lib/interaction/popup/abstract.popup.directive.mjs +0 -18
- package/esm2022/lib/interaction/popup/index.mjs +0 -12
- package/esm2022/lib/interaction/popup/popup.component.mjs +0 -126
- package/esm2022/lib/interaction/popup/popup.content.component.mjs +0 -42
- package/esm2022/lib/interaction/popup/popup.controls.buttons.component.mjs +0 -90
- package/esm2022/lib/interaction/popup/popup.controls.component.mjs +0 -33
- package/esm2022/lib/interaction/popup/popup.coordinator.component.mjs +0 -42
- package/esm2022/lib/interaction/popup/popup.coordinator.service.mjs +0 -44
- package/esm2022/lib/interaction/popup/popup.mjs +0 -8
- package/esm2022/lib/interaction/popup/popup.module.mjs +0 -21
- package/esm2022/lib/interaction/popup/popup.position.strategy.mjs +0 -42
- package/esm2022/lib/interaction/popup/popup.service.mjs +0 -43
- package/esm2022/lib/interaction/prompt/index.mjs +0 -10
- package/esm2022/lib/interaction/prompt/prompt.box.directive.mjs +0 -19
- package/esm2022/lib/interaction/prompt/prompt.button.confirm.directive.mjs +0 -28
- package/esm2022/lib/interaction/prompt/prompt.component.mjs +0 -37
- package/esm2022/lib/interaction/prompt/prompt.confirm.component.mjs +0 -49
- package/esm2022/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +0 -53
- package/esm2022/lib/interaction/prompt/prompt.confirm.directive.mjs +0 -60
- package/esm2022/lib/interaction/prompt/prompt.confirm.mjs +0 -12
- package/esm2022/lib/interaction/prompt/prompt.module.mjs +0 -23
- package/esm2022/lib/interaction/prompt/prompt.page.component.mjs +0 -33
- package/esm2022/lib/interaction/upload/abstract.upload.component.mjs +0 -85
- package/esm2022/lib/interaction/upload/index.mjs +0 -8
- package/esm2022/lib/interaction/upload/upload.accept.mjs +0 -72
- package/esm2022/lib/interaction/upload/upload.action.directive.mjs +0 -36
- package/esm2022/lib/interaction/upload/upload.action.mjs +0 -18
- package/esm2022/lib/interaction/upload/upload.area.component.mjs +0 -138
- package/esm2022/lib/interaction/upload/upload.button.component.mjs +0 -81
- package/esm2022/lib/interaction/upload/upload.component.mjs +0 -119
- package/esm2022/lib/keypress/index.mjs +0 -3
- package/esm2022/lib/keypress/keydown.listener.directive.mjs +0 -49
- package/esm2022/lib/keypress/keypress.module.mjs +0 -19
- package/esm2022/lib/layout/avatar/avatar.component.mjs +0 -79
- package/esm2022/lib/layout/avatar/avatar.mjs +0 -7
- package/esm2022/lib/layout/avatar/avatar.service.mjs +0 -78
- package/esm2022/lib/layout/avatar/avatar.view.component.mjs +0 -109
- package/esm2022/lib/layout/avatar/index.mjs +0 -4
- package/esm2022/lib/layout/bar/bar.directive.mjs +0 -26
- package/esm2022/lib/layout/bar/bar.header.component.mjs +0 -49
- package/esm2022/lib/layout/bar/bar.layout.module.mjs +0 -22
- package/esm2022/lib/layout/bar/bar.mjs +0 -2
- package/esm2022/lib/layout/bar/index.mjs +0 -5
- package/esm2022/lib/layout/bar/pagebar.component.mjs +0 -37
- package/esm2022/lib/layout/block/block.layout.module.mjs +0 -21
- package/esm2022/lib/layout/block/index.mjs +0 -3
- package/esm2022/lib/layout/block/two.block.component.mjs +0 -58
- package/esm2022/lib/layout/card/card.box.component.mjs +0 -64
- package/esm2022/lib/layout/card/card.box.container.directive.mjs +0 -20
- package/esm2022/lib/layout/card/card.box.layout.module.mjs +0 -18
- package/esm2022/lib/layout/card/index.mjs +0 -4
- package/esm2022/lib/layout/column/column.layout.module.mjs +0 -18
- package/esm2022/lib/layout/column/index.mjs +0 -4
- package/esm2022/lib/layout/column/one/index.mjs +0 -3
- package/esm2022/lib/layout/column/one/one.column.component.mjs +0 -43
- package/esm2022/lib/layout/column/one/one.column.module.mjs +0 -19
- package/esm2022/lib/layout/column/two/index.mjs +0 -11
- package/esm2022/lib/layout/column/two/two.column.back.directive.mjs +0 -27
- package/esm2022/lib/layout/column/two/two.column.component.mjs +0 -98
- package/esm2022/lib/layout/column/two/two.column.context.directive.mjs +0 -25
- package/esm2022/lib/layout/column/two/two.column.full.left.directive.mjs +0 -24
- package/esm2022/lib/layout/column/two/two.column.head.directive.mjs +0 -24
- package/esm2022/lib/layout/column/two/two.column.module.mjs +0 -24
- package/esm2022/lib/layout/column/two/two.column.right.component.mjs +0 -110
- package/esm2022/lib/layout/column/two/two.column.sref.directive.mjs +0 -26
- package/esm2022/lib/layout/column/two/two.column.sref.showright.directive.mjs +0 -30
- package/esm2022/lib/layout/column/two/two.column.store.mjs +0 -126
- package/esm2022/lib/layout/compact/compact.directive.mjs +0 -26
- package/esm2022/lib/layout/compact/compact.layout.module.mjs +0 -20
- package/esm2022/lib/layout/compact/compact.mjs +0 -26
- package/esm2022/lib/layout/compact/compact.store.mjs +0 -20
- package/esm2022/lib/layout/compact/index.mjs +0 -5
- package/esm2022/lib/layout/content/content.border.directive.mjs +0 -23
- package/esm2022/lib/layout/content/content.box.directive.mjs +0 -24
- package/esm2022/lib/layout/content/content.container.directive.mjs +0 -28
- package/esm2022/lib/layout/content/content.directive.mjs +0 -20
- package/esm2022/lib/layout/content/content.elevate.directive.mjs +0 -22
- package/esm2022/lib/layout/content/content.layout.module.mjs +0 -51
- package/esm2022/lib/layout/content/content.page.directive.mjs +0 -20
- package/esm2022/lib/layout/content/content.pit.directive.mjs +0 -54
- package/esm2022/lib/layout/content/index.mjs +0 -9
- package/esm2022/lib/layout/flag/flag.component.mjs +0 -35
- package/esm2022/lib/layout/flag/flag.layout.module.mjs +0 -18
- package/esm2022/lib/layout/flag/flag.prompt.component.mjs +0 -35
- package/esm2022/lib/layout/flag/index.mjs +0 -4
- package/esm2022/lib/layout/flex/flex.group.directive.mjs +0 -34
- package/esm2022/lib/layout/flex/flex.layout.module.mjs +0 -21
- package/esm2022/lib/layout/flex/flex.mjs +0 -2
- package/esm2022/lib/layout/flex/flex.size.directive.mjs +0 -22
- package/esm2022/lib/layout/flex/index.mjs +0 -5
- package/esm2022/lib/layout/index.mjs +0 -17
- package/esm2022/lib/layout/item/index.mjs +0 -2
- package/esm2022/lib/layout/item/item.icon.component.mjs +0 -56
- package/esm2022/lib/layout/layout.module.mjs +0 -26
- package/esm2022/lib/layout/list/grid/index.mjs +0 -3
- package/esm2022/lib/layout/list/grid/list.grid.view.component.mjs +0 -98
- package/esm2022/lib/layout/list/grid/list.grid.view.directive.mjs +0 -34
- package/esm2022/lib/layout/list/group/index.mjs +0 -4
- package/esm2022/lib/layout/list/group/list.view.value.group.mjs +0 -32
- package/esm2022/lib/layout/list/group/list.view.value.group.title.directive.mjs +0 -70
- package/esm2022/lib/layout/list/group/list.view.value.group.title.header.component.mjs +0 -60
- package/esm2022/lib/layout/list/group/list.view.value.group.title.mjs +0 -2
- package/esm2022/lib/layout/list/index.mjs +0 -21
- package/esm2022/lib/layout/list/list.component.mjs +0 -232
- package/esm2022/lib/layout/list/list.content.empty.component.mjs +0 -27
- package/esm2022/lib/layout/list/list.directive.mjs +0 -95
- package/esm2022/lib/layout/list/list.layout.module.mjs +0 -99
- package/esm2022/lib/layout/list/list.module.mjs +0 -40
- package/esm2022/lib/layout/list/list.track.mjs +0 -9
- package/esm2022/lib/layout/list/list.view.directive.mjs +0 -79
- package/esm2022/lib/layout/list/list.view.mjs +0 -17
- package/esm2022/lib/layout/list/list.view.selection.directive.mjs +0 -46
- package/esm2022/lib/layout/list/list.view.value.component.mjs +0 -190
- package/esm2022/lib/layout/list/list.view.value.directive.mjs +0 -30
- package/esm2022/lib/layout/list/list.view.value.item.directive.mjs +0 -15
- package/esm2022/lib/layout/list/list.view.value.mjs +0 -67
- package/esm2022/lib/layout/list/list.view.value.modifier.mjs +0 -17
- package/esm2022/lib/layout/list/list.view.value.selection.component.mjs +0 -112
- package/esm2022/lib/layout/list/list.wrapper.mjs +0 -15
- package/esm2022/lib/layout/list/meta/index.mjs +0 -2
- package/esm2022/lib/layout/list/meta/list.view.meta.icon.component.mjs +0 -39
- package/esm2022/lib/layout/list/modifier/index.mjs +0 -5
- package/esm2022/lib/layout/list/modifier/list.modifier.module.mjs +0 -22
- package/esm2022/lib/layout/list/modifier/list.view.value.modifier.directive.mjs +0 -76
- package/esm2022/lib/layout/list/modifier/list.view.value.modifier.ripple.directive.mjs +0 -38
- package/esm2022/lib/layout/list/modifier/list.view.value.modifier.selection.directive.mjs +0 -36
- package/esm2022/lib/layout/section/index.mjs +0 -8
- package/esm2022/lib/layout/section/section.component.mjs +0 -43
- package/esm2022/lib/layout/section/section.header.component.mjs +0 -153
- package/esm2022/lib/layout/section/section.intro.component.mjs +0 -67
- package/esm2022/lib/layout/section/section.layout.module.mjs +0 -24
- package/esm2022/lib/layout/section/section.mjs +0 -2
- package/esm2022/lib/layout/section/section.page.component.mjs +0 -51
- package/esm2022/lib/layout/section/subsection.component.mjs +0 -40
- package/esm2022/lib/layout/step/index.mjs +0 -3
- package/esm2022/lib/layout/step/step.component.mjs +0 -60
- package/esm2022/lib/layout/step/step.layout.module.mjs +0 -20
- package/esm2022/lib/layout/style/index.mjs +0 -10
- package/esm2022/lib/layout/style/spacer.directive.mjs +0 -17
- package/esm2022/lib/layout/style/style.body.directive.mjs +0 -39
- package/esm2022/lib/layout/style/style.color.directive.mjs +0 -23
- package/esm2022/lib/layout/style/style.directive.mjs +0 -30
- package/esm2022/lib/layout/style/style.layout.module.mjs +0 -21
- package/esm2022/lib/layout/style/style.mjs +0 -24
- package/esm2022/lib/layout/style/style.providers.mjs +0 -21
- package/esm2022/lib/layout/style/style.service.mjs +0 -92
- package/esm2022/lib/layout/style/style.set.directive.mjs +0 -52
- package/esm2022/lib/layout/text/address.component.mjs +0 -67
- package/esm2022/lib/layout/text/copy.text.component.mjs +0 -39
- package/esm2022/lib/layout/text/copy.text.directive.mjs +0 -56
- package/esm2022/lib/layout/text/detail.block.component.mjs +0 -43
- package/esm2022/lib/layout/text/detail.block.header.component.mjs +0 -63
- package/esm2022/lib/layout/text/icon.spacer.component.mjs +0 -20
- package/esm2022/lib/layout/text/index.mjs +0 -13
- package/esm2022/lib/layout/text/label.block.component.mjs +0 -29
- package/esm2022/lib/layout/text/linkify.component.mjs +0 -38
- package/esm2022/lib/layout/text/number.limit.component.mjs +0 -82
- package/esm2022/lib/layout/text/text.chip.directive.mjs +0 -27
- package/esm2022/lib/layout/text/text.chips.component.mjs +0 -43
- package/esm2022/lib/layout/text/text.module.mjs +0 -27
- package/esm2022/lib/loading/basic-loading.component.mjs +0 -77
- package/esm2022/lib/loading/index.mjs +0 -7
- package/esm2022/lib/loading/loading-progress.component.mjs +0 -63
- package/esm2022/lib/loading/loading.action.directive.mjs +0 -29
- package/esm2022/lib/loading/loading.component.mjs +0 -94
- package/esm2022/lib/loading/loading.mjs +0 -2
- package/esm2022/lib/loading/loading.module.mjs +0 -20
- package/esm2022/lib/router/index.mjs +0 -3
- package/esm2022/lib/router/layout/anchor/anchor.component.mjs +0 -124
- package/esm2022/lib/router/layout/anchor/anchor.content.component.mjs +0 -49
- package/esm2022/lib/router/layout/anchor/anchor.icon.component.mjs +0 -37
- package/esm2022/lib/router/layout/anchor/anchor.link.component.mjs +0 -53
- package/esm2022/lib/router/layout/anchor/anchor.module.mjs +0 -28
- package/esm2022/lib/router/layout/anchor/anchor.segue.directive.mjs +0 -24
- package/esm2022/lib/router/layout/anchor/index.mjs +0 -7
- package/esm2022/lib/router/layout/anchorlist/anchorlist.component.mjs +0 -29
- package/esm2022/lib/router/layout/anchorlist/anchorlist.module.mjs +0 -19
- package/esm2022/lib/router/layout/anchorlist/index.mjs +0 -3
- package/esm2022/lib/router/layout/index.mjs +0 -7
- package/esm2022/lib/router/layout/layout.module.mjs +0 -19
- package/esm2022/lib/router/layout/list/index.mjs +0 -3
- package/esm2022/lib/router/layout/list/list.module.mjs +0 -19
- package/esm2022/lib/router/layout/list/router.list.directive.mjs +0 -35
- package/esm2022/lib/router/layout/navbar/index.mjs +0 -3
- package/esm2022/lib/router/layout/navbar/navbar.component.mjs +0 -83
- package/esm2022/lib/router/layout/navbar/navbar.module.mjs +0 -19
- package/esm2022/lib/router/layout/sidenav/index.mjs +0 -11
- package/esm2022/lib/router/layout/sidenav/sidenav.button.component.mjs +0 -51
- package/esm2022/lib/router/layout/sidenav/sidenav.component.mjs +0 -144
- package/esm2022/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.mjs +0 -33
- package/esm2022/lib/router/layout/sidenav/sidenav.mjs +0 -8
- package/esm2022/lib/router/layout/sidenav/sidenav.module.mjs +0 -21
- package/esm2022/lib/router/layout/sidenav/sidenav.page.component.mjs +0 -55
- package/esm2022/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +0 -42
- package/esm2022/lib/router/provider/index.mjs +0 -4
- package/esm2022/lib/router/provider/ngrouter/anchor.component.mjs +0 -25
- package/esm2022/lib/router/provider/ngrouter/angular.router.providers.mjs +0 -23
- package/esm2022/lib/router/provider/ngrouter/index.mjs +0 -3
- package/esm2022/lib/router/provider/router.provider.config.mjs +0 -10
- package/esm2022/lib/router/provider/uirouter/anchor.component.mjs +0 -32
- package/esm2022/lib/router/provider/uirouter/index.mjs +0 -3
- package/esm2022/lib/router/provider/uirouter/uirouter.router.providers.mjs +0 -23
- package/esm2022/lib/screen/index.mjs +0 -6
- package/esm2022/lib/screen/resize.directive.mjs +0 -24
- package/esm2022/lib/screen/resize.mjs +0 -34
- package/esm2022/lib/screen/screen.mjs +0 -22
- package/esm2022/lib/screen/screen.providers.mjs +0 -22
- package/esm2022/lib/screen/screen.service.mjs +0 -101
- package/esm2022/lib/util/cdk.mjs +0 -22
- package/esm2022/lib/util/click.mjs +0 -56
- package/esm2022/lib/util/clipboard.directive.mjs +0 -20
- package/esm2022/lib/util/clipboard.mjs +0 -98
- package/esm2022/lib/util/index.mjs +0 -5
- package/esm2022/mapbox/dereekb-dbx-web-mapbox.mjs +0 -5
- package/esm2022/mapbox/index.mjs +0 -2
- package/esm2022/mapbox/lib/index.mjs +0 -22
- package/esm2022/mapbox/lib/mapbox.change.service.mjs +0 -40
- package/esm2022/mapbox/lib/mapbox.injection.component.mjs +0 -29
- package/esm2022/mapbox/lib/mapbox.injection.store.mjs +0 -39
- package/esm2022/mapbox/lib/mapbox.injection.store.provide.mjs +0 -48
- package/esm2022/mapbox/lib/mapbox.layout.component.mjs +0 -154
- package/esm2022/mapbox/lib/mapbox.layout.drawer.component.mjs +0 -21
- package/esm2022/mapbox/lib/mapbox.layout.resize.sync.directive.mjs +0 -33
- package/esm2022/mapbox/lib/mapbox.marker.component.mjs +0 -127
- package/esm2022/mapbox/lib/mapbox.marker.mjs +0 -16
- package/esm2022/mapbox/lib/mapbox.markers.component.mjs +0 -44
- package/esm2022/mapbox/lib/mapbox.menu.component.mjs +0 -94
- package/esm2022/mapbox/lib/mapbox.mjs +0 -19
- package/esm2022/mapbox/lib/mapbox.module.mjs +0 -73
- package/esm2022/mapbox/lib/mapbox.options.mjs +0 -2
- package/esm2022/mapbox/lib/mapbox.providers.mjs +0 -25
- package/esm2022/mapbox/lib/mapbox.rxjs.mjs +0 -53
- package/esm2022/mapbox/lib/mapbox.service.mjs +0 -41
- package/esm2022/mapbox/lib/mapbox.store.map.directive.mjs +0 -42
- package/esm2022/mapbox/lib/mapbox.store.mjs +0 -549
- package/esm2022/mapbox/lib/mapbox.store.provide.mjs +0 -48
- package/esm2022/mapbox/lib/mapbox.util.mjs +0 -15
- package/esm2022/table/dereekb-dbx-web-table.mjs +0 -5
- package/esm2022/table/index.mjs +0 -2
- package/esm2022/table/lib/date/date.table.column.header.component.mjs +0 -55
- package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +0 -154
- package/esm2022/table/lib/date/index.mjs +0 -4
- package/esm2022/table/lib/date/table.date.module.mjs +0 -18
- package/esm2022/table/lib/index.mjs +0 -24
- package/esm2022/table/lib/table.cell.action.component.mjs +0 -28
- package/esm2022/table/lib/table.cell.input.component.mjs +0 -31
- package/esm2022/table/lib/table.cell.summaryend.component.mjs +0 -28
- package/esm2022/table/lib/table.cell.summarystart.component.mjs +0 -31
- package/esm2022/table/lib/table.column.directive.mjs +0 -20
- package/esm2022/table/lib/table.column.footer.component.mjs +0 -35
- package/esm2022/table/lib/table.column.header.component.mjs +0 -35
- package/esm2022/table/lib/table.column.size.directive.mjs +0 -103
- package/esm2022/table/lib/table.column.size.mjs +0 -3
- package/esm2022/table/lib/table.component.mjs +0 -179
- package/esm2022/table/lib/table.directive.mjs +0 -30
- package/esm2022/table/lib/table.fullsummaryrow.component.mjs +0 -34
- package/esm2022/table/lib/table.group.directive.mjs +0 -20
- package/esm2022/table/lib/table.group.footer.component.mjs +0 -35
- package/esm2022/table/lib/table.group.header.component.mjs +0 -35
- package/esm2022/table/lib/table.item.action.component.mjs +0 -35
- package/esm2022/table/lib/table.item.cell.component.mjs +0 -29
- package/esm2022/table/lib/table.item.directive.mjs +0 -18
- package/esm2022/table/lib/table.item.header.component.mjs +0 -28
- package/esm2022/table/lib/table.mjs +0 -10
- package/esm2022/table/lib/table.module.mjs +0 -18
- package/esm2022/table/lib/table.reader.mjs +0 -103
- package/esm2022/table/lib/table.store.mjs +0 -70
- package/index.d.ts +0 -1
- package/lib/action/action.confirm.directive.d.ts +0 -32
- package/lib/action/action.module.d.ts +0 -12
- package/lib/action/index.d.ts +0 -5
- package/lib/action/key.trigger.directive.d.ts +0 -15
- package/lib/action/snackbar/action.snackbar.component.d.ts +0 -35
- package/lib/action/snackbar/action.snackbar.d.ts +0 -52
- package/lib/action/snackbar/action.snackbar.default.d.ts +0 -2
- package/lib/action/snackbar/action.snackbar.directive.d.ts +0 -22
- package/lib/action/snackbar/action.snackbar.generator.d.ts +0 -32
- package/lib/action/snackbar/action.snackbar.module.d.ts +0 -8
- package/lib/action/snackbar/action.snackbar.service.d.ts +0 -38
- package/lib/action/snackbar/index.d.ts +0 -7
- package/lib/action/transition/action.transition.module.d.ts +0 -19
- package/lib/action/transition/index.d.ts +0 -3
- package/lib/action/transition/transition.safety.dialog.component.d.ts +0 -15
- package/lib/action/transition/transition.safety.directive.d.ts +0 -45
- package/lib/button/button.component.d.ts +0 -39
- package/lib/button/button.d.ts +0 -20
- package/lib/button/button.module.d.ts +0 -15
- package/lib/button/button.spacer.directive.d.ts +0 -8
- package/lib/button/icon/icon.button.component.d.ts +0 -9
- package/lib/button/icon/icon.button.module.d.ts +0 -10
- package/lib/button/icon/index.d.ts +0 -2
- package/lib/button/index.d.ts +0 -6
- package/lib/button/progress/abstract.progress.button.directive.d.ts +0 -29
- package/lib/button/progress/bar.button.component.d.ts +0 -8
- package/lib/button/progress/button.progress.config.d.ts +0 -83
- package/lib/button/progress/button.progress.module.d.ts +0 -11
- package/lib/button/progress/button.progress.providers.d.ts +0 -9
- package/lib/button/progress/index.d.ts +0 -5
- package/lib/button/progress/spinner.button.component.d.ts +0 -22
- package/lib/dbx-web.module.d.ts +0 -9
- package/lib/error/default.error.widget.component.d.ts +0 -8
- package/lib/error/error.action.directive.d.ts +0 -14
- package/lib/error/error.api.d.ts +0 -13
- package/lib/error/error.component.d.ts +0 -36
- package/lib/error/error.details.component.d.ts +0 -7
- package/lib/error/error.loading.directive.d.ts +0 -18
- package/lib/error/error.module.d.ts +0 -30
- package/lib/error/error.popover.component.d.ts +0 -18
- package/lib/error/error.snackbar.action.directive.d.ts +0 -16
- package/lib/error/error.snackbar.component.d.ts +0 -28
- package/lib/error/error.snackbar.service.d.ts +0 -17
- package/lib/error/error.view.component.d.ts +0 -22
- package/lib/error/error.widget.component.d.ts +0 -14
- package/lib/error/error.widget.directive.d.ts +0 -9
- package/lib/error/error.widget.service.d.ts +0 -60
- package/lib/error/index.d.ts +0 -16
- package/lib/error/state.d.ts +0 -16
- package/lib/extension/download/blob/download.blob.button.component.d.ts +0 -55
- package/lib/extension/download/blob/index.d.ts +0 -1
- package/lib/extension/download/index.d.ts +0 -2
- package/lib/extension/download/text/download.text.component.d.ts +0 -39
- package/lib/extension/download/text/download.text.d.ts +0 -5
- package/lib/extension/download/text/download.text.module.d.ts +0 -10
- package/lib/extension/download/text/index.d.ts +0 -3
- package/lib/extension/help/absract.help.widget.directive.d.ts +0 -13
- package/lib/extension/help/help.context.d.ts +0 -11
- package/lib/extension/help/help.context.directive.d.ts +0 -17
- package/lib/extension/help/help.context.service.d.ts +0 -20
- package/lib/extension/help/help.d.ts +0 -15
- package/lib/extension/help/help.providers.d.ts +0 -22
- package/lib/extension/help/help.view.list.component.d.ts +0 -39
- package/lib/extension/help/help.view.list.entry.component.d.ts +0 -16
- package/lib/extension/help/help.view.popover.button.component.d.ts +0 -32
- package/lib/extension/help/help.view.popover.component.d.ts +0 -81
- package/lib/extension/help/help.widget.d.ts +0 -52
- package/lib/extension/help/help.widget.service.d.ts +0 -74
- package/lib/extension/help/index.d.ts +0 -12
- package/lib/extension/index.d.ts +0 -7
- package/lib/extension/model/index.d.ts +0 -8
- package/lib/extension/model/model.providers.d.ts +0 -13
- package/lib/extension/model/model.state.service.d.ts +0 -12
- package/lib/extension/model/model.tracker.d.ts +0 -32
- package/lib/extension/model/model.tracker.service.d.ts +0 -19
- package/lib/extension/model/model.tracker.view.storage.d.ts +0 -30
- package/lib/extension/model/model.types.d.ts +0 -41
- package/lib/extension/model/model.types.service.d.ts +0 -30
- package/lib/extension/model/state/actions/actions.d.ts +0 -1
- package/lib/extension/model/state/actions/index.d.ts +0 -3
- package/lib/extension/model/state/actions/model.actions.d.ts +0 -9
- package/lib/extension/model/state/effects/tracker.effects.d.ts +0 -13
- package/lib/extension/model/state/index.d.ts +0 -5
- package/lib/extension/model/state/reducers/index.d.ts +0 -15
- package/lib/extension/model/state/reducers/model.module.config.d.ts +0 -5
- package/lib/extension/model/state/state.d.ts +0 -2
- package/lib/extension/preview/index.d.ts +0 -4
- package/lib/extension/preview/webfilepreview.component.d.ts +0 -19
- package/lib/extension/preview/webfilepreview.d.ts +0 -94
- package/lib/extension/preview/webfilepreview.service.d.ts +0 -36
- package/lib/extension/preview/webfilepreview.service.preset.d.ts +0 -6
- package/lib/extension/structure/index.d.ts +0 -3
- package/lib/extension/structure/structure.body.directive.d.ts +0 -9
- package/lib/extension/structure/structure.module.d.ts +0 -11
- package/lib/extension/structure/structure.structure.directive.d.ts +0 -17
- package/lib/extension/widget/index.d.ts +0 -6
- package/lib/extension/widget/widget.component.d.ts +0 -16
- package/lib/extension/widget/widget.d.ts +0 -19
- package/lib/extension/widget/widget.directive.d.ts +0 -6
- package/lib/extension/widget/widget.list.component.d.ts +0 -25
- package/lib/extension/widget/widget.module.d.ts +0 -18
- package/lib/extension/widget/widget.service.d.ts +0 -32
- package/lib/extension/zip/index.d.ts +0 -4
- package/lib/extension/zip/zip.blob.d.ts +0 -9
- package/lib/extension/zip/zip.blob.preview.component.d.ts +0 -54
- package/lib/extension/zip/zip.blob.preview.list.component.d.ts +0 -25
- package/lib/extension/zip/zip.preview.component.d.ts +0 -31
- package/lib/extension/zip/zip.preview.dialog.component.d.ts +0 -17
- package/lib/index.d.ts +0 -12
- package/lib/interaction/dialog/abstract.dialog.directive.d.ts +0 -15
- package/lib/interaction/dialog/dialog.action.directive.d.ts +0 -22
- package/lib/interaction/dialog/dialog.content.close.component.d.ts +0 -11
- package/lib/interaction/dialog/dialog.content.d.ts +0 -4
- package/lib/interaction/dialog/dialog.content.directive.d.ts +0 -12
- package/lib/interaction/dialog/dialog.content.footer.component.d.ts +0 -21
- package/lib/interaction/dialog/dialog.injection.component.d.ts +0 -19
- package/lib/interaction/dialog/dialog.module.d.ts +0 -18
- package/lib/interaction/dialog/index.d.ts +0 -8
- package/lib/interaction/filter/filter.config.d.ts +0 -62
- package/lib/interaction/filter/filter.menu.d.ts +0 -22
- package/lib/interaction/filter/filter.module.d.ts +0 -14
- package/lib/interaction/filter/filter.partial.d.ts +0 -20
- package/lib/interaction/filter/filter.partial.list.component.d.ts +0 -6
- package/lib/interaction/filter/filter.partial.menu.component.d.ts +0 -16
- package/lib/interaction/filter/filter.popover.button.component.d.ts +0 -13
- package/lib/interaction/filter/filter.popover.button.directive.d.ts +0 -17
- package/lib/interaction/filter/filter.popover.component.d.ts +0 -40
- package/lib/interaction/filter/filter.preset.directive.d.ts +0 -23
- package/lib/interaction/filter/filter.preset.list.component.d.ts +0 -7
- package/lib/interaction/filter/filter.preset.menu.component.d.ts +0 -17
- package/lib/interaction/filter/filter.wrapper.component.d.ts +0 -19
- package/lib/interaction/filter/index.d.ts +0 -12
- package/lib/interaction/iframe/embed.component.d.ts +0 -40
- package/lib/interaction/iframe/embed.dialog.component.d.ts +0 -18
- package/lib/interaction/iframe/iframe.component.d.ts +0 -22
- package/lib/interaction/iframe/iframe.dialog.component.d.ts +0 -15
- package/lib/interaction/iframe/index.d.ts +0 -4
- package/lib/interaction/index.d.ts +0 -8
- package/lib/interaction/interaction.module.d.ts +0 -20
- package/lib/interaction/popover/abstract.popover.directive.d.ts +0 -12
- package/lib/interaction/popover/abstract.popover.ref.directive.d.ts +0 -28
- package/lib/interaction/popover/index.d.ts +0 -16
- package/lib/interaction/popover/popover.action.directive.d.ts +0 -25
- package/lib/interaction/popover/popover.close.component.d.ts +0 -10
- package/lib/interaction/popover/popover.component.d.ts +0 -84
- package/lib/interaction/popover/popover.content.component.d.ts +0 -18
- package/lib/interaction/popover/popover.content.module.d.ts +0 -14
- package/lib/interaction/popover/popover.controls.directive.d.ts +0 -12
- package/lib/interaction/popover/popover.coordinator.component.d.ts +0 -16
- package/lib/interaction/popover/popover.coordinator.service.d.ts +0 -16
- package/lib/interaction/popover/popover.d.ts +0 -16
- package/lib/interaction/popover/popover.header.component.d.ts +0 -15
- package/lib/interaction/popover/popover.module.d.ts +0 -10
- package/lib/interaction/popover/popover.position.strategy.d.ts +0 -11
- package/lib/interaction/popover/popover.scroll.content.directive.d.ts +0 -13
- package/lib/interaction/popover/popover.service.d.ts +0 -19
- package/lib/interaction/popup/abstract.popup.directive.d.ts +0 -11
- package/lib/interaction/popup/index.d.ts +0 -11
- package/lib/interaction/popup/popup.component.d.ts +0 -57
- package/lib/interaction/popup/popup.content.component.d.ts +0 -11
- package/lib/interaction/popup/popup.controls.buttons.component.d.ts +0 -18
- package/lib/interaction/popup/popup.controls.component.d.ts +0 -9
- package/lib/interaction/popup/popup.coordinator.component.d.ts +0 -16
- package/lib/interaction/popup/popup.coordinator.service.d.ts +0 -16
- package/lib/interaction/popup/popup.d.ts +0 -26
- package/lib/interaction/popup/popup.module.d.ts +0 -11
- package/lib/interaction/popup/popup.position.strategy.d.ts +0 -14
- package/lib/interaction/popup/popup.service.d.ts +0 -18
- package/lib/interaction/prompt/index.d.ts +0 -9
- package/lib/interaction/prompt/prompt.box.directive.d.ts +0 -6
- package/lib/interaction/prompt/prompt.button.confirm.directive.d.ts +0 -16
- package/lib/interaction/prompt/prompt.component.d.ts +0 -11
- package/lib/interaction/prompt/prompt.confirm.component.d.ts +0 -22
- package/lib/interaction/prompt/prompt.confirm.d.ts +0 -7
- package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +0 -22
- package/lib/interaction/prompt/prompt.confirm.directive.d.ts +0 -29
- package/lib/interaction/prompt/prompt.module.d.ts +0 -13
- package/lib/interaction/prompt/prompt.page.component.d.ts +0 -5
- package/lib/interaction/upload/abstract.upload.component.d.ts +0 -54
- package/lib/interaction/upload/index.d.ts +0 -7
- package/lib/interaction/upload/upload.accept.d.ts +0 -87
- package/lib/interaction/upload/upload.action.d.ts +0 -17
- package/lib/interaction/upload/upload.action.directive.d.ts +0 -17
- package/lib/interaction/upload/upload.area.component.d.ts +0 -22
- package/lib/interaction/upload/upload.button.component.d.ts +0 -24
- package/lib/interaction/upload/upload.component.d.ts +0 -60
- package/lib/keypress/index.d.ts +0 -2
- package/lib/keypress/keydown.listener.directive.d.ts +0 -23
- package/lib/keypress/keypress.module.d.ts +0 -10
- package/lib/layout/avatar/avatar.component.d.ts +0 -34
- package/lib/layout/avatar/avatar.d.ts +0 -58
- package/lib/layout/avatar/avatar.service.d.ts +0 -66
- package/lib/layout/avatar/avatar.view.component.d.ts +0 -29
- package/lib/layout/avatar/index.d.ts +0 -3
- package/lib/layout/bar/bar.d.ts +0 -2
- package/lib/layout/bar/bar.directive.d.ts +0 -11
- package/lib/layout/bar/bar.header.component.d.ts +0 -12
- package/lib/layout/bar/bar.layout.module.d.ts +0 -12
- package/lib/layout/bar/index.d.ts +0 -4
- package/lib/layout/bar/pagebar.component.d.ts +0 -8
- package/lib/layout/block/block.layout.module.d.ts +0 -12
- package/lib/layout/block/index.d.ts +0 -2
- package/lib/layout/block/two.block.component.d.ts +0 -20
- package/lib/layout/card/card.box.component.d.ts +0 -10
- package/lib/layout/card/card.box.container.directive.d.ts +0 -8
- package/lib/layout/card/card.box.layout.module.d.ts +0 -8
- package/lib/layout/card/index.d.ts +0 -3
- package/lib/layout/column/column.layout.module.d.ts +0 -8
- package/lib/layout/column/index.d.ts +0 -3
- package/lib/layout/column/one/index.d.ts +0 -2
- package/lib/layout/column/one/one.column.component.d.ts +0 -12
- package/lib/layout/column/one/one.column.module.d.ts +0 -10
- package/lib/layout/column/two/index.d.ts +0 -10
- package/lib/layout/column/two/two.column.back.directive.d.ts +0 -15
- package/lib/layout/column/two/two.column.component.d.ts +0 -58
- package/lib/layout/column/two/two.column.context.directive.d.ts +0 -13
- package/lib/layout/column/two/two.column.full.left.directive.d.ts +0 -12
- package/lib/layout/column/two/two.column.head.directive.d.ts +0 -11
- package/lib/layout/column/two/two.column.module.d.ts +0 -14
- package/lib/layout/column/two/two.column.right.component.d.ts +0 -29
- package/lib/layout/column/two/two.column.sref.directive.d.ts +0 -13
- package/lib/layout/column/two/two.column.sref.showright.directive.d.ts +0 -13
- package/lib/layout/column/two/two.column.store.d.ts +0 -125
- package/lib/layout/compact/compact.d.ts +0 -16
- package/lib/layout/compact/compact.directive.d.ts +0 -14
- package/lib/layout/compact/compact.layout.module.d.ts +0 -10
- package/lib/layout/compact/compact.store.d.ts +0 -13
- package/lib/layout/compact/index.d.ts +0 -4
- package/lib/layout/content/content.border.directive.d.ts +0 -11
- package/lib/layout/content/content.box.directive.d.ts +0 -10
- package/lib/layout/content/content.container.directive.d.ts +0 -14
- package/lib/layout/content/content.directive.d.ts +0 -8
- package/lib/layout/content/content.elevate.directive.d.ts +0 -9
- package/lib/layout/content/content.layout.module.d.ts +0 -16
- package/lib/layout/content/content.page.directive.d.ts +0 -8
- package/lib/layout/content/content.pit.directive.d.ts +0 -15
- package/lib/layout/content/index.d.ts +0 -8
- package/lib/layout/flag/flag.component.d.ts +0 -10
- package/lib/layout/flag/flag.layout.module.d.ts +0 -8
- package/lib/layout/flag/flag.prompt.component.d.ts +0 -12
- package/lib/layout/flag/index.d.ts +0 -3
- package/lib/layout/flex/flex.d.ts +0 -4
- package/lib/layout/flex/flex.group.directive.d.ts +0 -18
- package/lib/layout/flex/flex.layout.module.d.ts +0 -11
- package/lib/layout/flex/flex.size.directive.d.ts +0 -11
- package/lib/layout/flex/index.d.ts +0 -4
- package/lib/layout/index.d.ts +0 -16
- package/lib/layout/item/index.d.ts +0 -1
- package/lib/layout/item/item.icon.component.d.ts +0 -11
- package/lib/layout/layout.module.d.ts +0 -18
- package/lib/layout/list/grid/index.d.ts +0 -2
- package/lib/layout/list/grid/list.grid.view.component.d.ts +0 -50
- package/lib/layout/list/grid/list.grid.view.directive.d.ts +0 -24
- package/lib/layout/list/group/index.d.ts +0 -3
- package/lib/layout/list/group/list.view.value.group.d.ts +0 -44
- package/lib/layout/list/group/list.view.value.group.title.d.ts +0 -53
- package/lib/layout/list/group/list.view.value.group.title.directive.d.ts +0 -15
- package/lib/layout/list/group/list.view.value.group.title.header.component.d.ts +0 -21
- package/lib/layout/list/index.d.ts +0 -20
- package/lib/layout/list/list.component.d.ts +0 -134
- package/lib/layout/list/list.content.empty.component.d.ts +0 -8
- package/lib/layout/list/list.directive.d.ts +0 -54
- package/lib/layout/list/list.layout.module.d.ts +0 -34
- package/lib/layout/list/list.module.d.ts +0 -13
- package/lib/layout/list/list.track.d.ts +0 -6
- package/lib/layout/list/list.view.d.ts +0 -59
- package/lib/layout/list/list.view.directive.d.ts +0 -43
- package/lib/layout/list/list.view.selection.directive.d.ts +0 -25
- package/lib/layout/list/list.view.value.component.d.ts +0 -56
- package/lib/layout/list/list.view.value.d.ts +0 -53
- package/lib/layout/list/list.view.value.directive.d.ts +0 -21
- package/lib/layout/list/list.view.value.item.directive.d.ts +0 -8
- package/lib/layout/list/list.view.value.modifier.d.ts +0 -12
- package/lib/layout/list/list.view.value.selection.component.d.ts +0 -32
- package/lib/layout/list/list.wrapper.d.ts +0 -21
- package/lib/layout/list/meta/index.d.ts +0 -1
- package/lib/layout/list/meta/list.view.meta.icon.component.d.ts +0 -17
- package/lib/layout/list/modifier/index.d.ts +0 -4
- package/lib/layout/list/modifier/list.modifier.module.d.ts +0 -12
- package/lib/layout/list/modifier/list.view.value.modifier.directive.d.ts +0 -36
- package/lib/layout/list/modifier/list.view.value.modifier.ripple.directive.d.ts +0 -15
- package/lib/layout/list/modifier/list.view.value.modifier.selection.directive.d.ts +0 -15
- package/lib/layout/section/index.d.ts +0 -7
- package/lib/layout/section/section.component.d.ts +0 -11
- package/lib/layout/section/section.d.ts +0 -32
- package/lib/layout/section/section.header.component.d.ts +0 -21
- package/lib/layout/section/section.intro.component.d.ts +0 -14
- package/lib/layout/section/section.layout.module.d.ts +0 -14
- package/lib/layout/section/section.page.component.d.ts +0 -25
- package/lib/layout/section/subsection.component.d.ts +0 -9
- package/lib/layout/step/index.d.ts +0 -2
- package/lib/layout/step/step.component.d.ts +0 -10
- package/lib/layout/step/step.layout.module.d.ts +0 -10
- package/lib/layout/style/index.d.ts +0 -9
- package/lib/layout/style/spacer.directive.d.ts +0 -5
- package/lib/layout/style/style.body.directive.d.ts +0 -16
- package/lib/layout/style/style.color.directive.d.ts +0 -12
- package/lib/layout/style/style.d.ts +0 -58
- package/lib/layout/style/style.directive.d.ts +0 -14
- package/lib/layout/style/style.layout.module.d.ts +0 -11
- package/lib/layout/style/style.providers.d.ts +0 -19
- package/lib/layout/style/style.service.d.ts +0 -45
- package/lib/layout/style/style.set.directive.d.ts +0 -33
- package/lib/layout/text/address.component.d.ts +0 -7
- package/lib/layout/text/copy.text.component.d.ts +0 -17
- package/lib/layout/text/copy.text.directive.d.ts +0 -23
- package/lib/layout/text/detail.block.component.d.ts +0 -13
- package/lib/layout/text/detail.block.header.component.d.ts +0 -9
- package/lib/layout/text/icon.spacer.component.d.ts +0 -8
- package/lib/layout/text/index.d.ts +0 -12
- package/lib/layout/text/label.block.component.d.ts +0 -10
- package/lib/layout/text/linkify.component.d.ts +0 -13
- package/lib/layout/text/number.limit.component.d.ts +0 -40
- package/lib/layout/text/text.chip.directive.d.ts +0 -9
- package/lib/layout/text/text.chips.component.d.ts +0 -15
- package/lib/layout/text/text.module.d.ts +0 -17
- package/lib/loading/basic-loading.component.d.ts +0 -32
- package/lib/loading/index.d.ts +0 -6
- package/lib/loading/loading-progress.component.d.ts +0 -23
- package/lib/loading/loading.action.directive.d.ts +0 -16
- package/lib/loading/loading.component.d.ts +0 -46
- package/lib/loading/loading.d.ts +0 -10
- package/lib/loading/loading.module.d.ts +0 -10
- package/lib/router/index.d.ts +0 -2
- package/lib/router/layout/anchor/anchor.component.d.ts +0 -23
- package/lib/router/layout/anchor/anchor.content.component.d.ts +0 -20
- package/lib/router/layout/anchor/anchor.icon.component.d.ts +0 -11
- package/lib/router/layout/anchor/anchor.link.component.d.ts +0 -14
- package/lib/router/layout/anchor/anchor.module.d.ts +0 -23
- package/lib/router/layout/anchor/anchor.segue.directive.d.ts +0 -17
- package/lib/router/layout/anchor/index.d.ts +0 -6
- package/lib/router/layout/anchorlist/anchorlist.component.d.ts +0 -16
- package/lib/router/layout/anchorlist/anchorlist.module.d.ts +0 -10
- package/lib/router/layout/anchorlist/index.d.ts +0 -2
- package/lib/router/layout/index.d.ts +0 -6
- package/lib/router/layout/layout.module.d.ts +0 -11
- package/lib/router/layout/list/index.d.ts +0 -2
- package/lib/router/layout/list/list.module.d.ts +0 -10
- package/lib/router/layout/list/router.list.directive.d.ts +0 -15
- package/lib/router/layout/navbar/index.d.ts +0 -2
- package/lib/router/layout/navbar/navbar.component.d.ts +0 -48
- package/lib/router/layout/navbar/navbar.module.d.ts +0 -10
- package/lib/router/layout/sidenav/index.d.ts +0 -7
- package/lib/router/layout/sidenav/sidenav.button.component.d.ts +0 -18
- package/lib/router/layout/sidenav/sidenav.component.d.ts +0 -36
- package/lib/router/layout/sidenav/sidenav.d.ts +0 -6
- package/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.d.ts +0 -19
- package/lib/router/layout/sidenav/sidenav.module.d.ts +0 -11
- package/lib/router/layout/sidenav/sidenav.page.component.d.ts +0 -19
- package/lib/router/layout/sidenav/sidenav.pagebar.component.d.ts +0 -11
- package/lib/router/provider/index.d.ts +0 -3
- package/lib/router/provider/ngrouter/anchor.component.d.ts +0 -14
- package/lib/router/provider/ngrouter/angular.router.providers.d.ts +0 -7
- package/lib/router/provider/ngrouter/index.d.ts +0 -2
- package/lib/router/provider/router.provider.config.d.ts +0 -14
- package/lib/router/provider/uirouter/anchor.component.d.ts +0 -19
- package/lib/router/provider/uirouter/index.d.ts +0 -2
- package/lib/router/provider/uirouter/uirouter.router.providers.d.ts +0 -7
- package/lib/screen/index.d.ts +0 -5
- package/lib/screen/resize.d.ts +0 -19
- package/lib/screen/resize.directive.d.ts +0 -14
- package/lib/screen/screen.d.ts +0 -36
- package/lib/screen/screen.providers.d.ts +0 -15
- package/lib/screen/screen.service.d.ts +0 -59
- package/lib/util/cdk.d.ts +0 -9
- package/lib/util/click.d.ts +0 -29
- package/lib/util/clipboard.d.ts +0 -78
- package/lib/util/clipboard.directive.d.ts +0 -12
- package/lib/util/index.d.ts +0 -4
- package/mapbox/index.d.ts +0 -1
- package/mapbox/lib/index.d.ts +0 -21
- package/mapbox/lib/mapbox.change.service.d.ts +0 -20
- package/mapbox/lib/mapbox.d.ts +0 -93
- package/mapbox/lib/mapbox.injection.component.d.ts +0 -11
- package/mapbox/lib/mapbox.injection.store.d.ts +0 -45
- package/mapbox/lib/mapbox.injection.store.provide.d.ts +0 -23
- package/mapbox/lib/mapbox.layout.component.d.ts +0 -56
- package/mapbox/lib/mapbox.layout.drawer.component.d.ts +0 -11
- package/mapbox/lib/mapbox.layout.resize.sync.directive.d.ts +0 -14
- package/mapbox/lib/mapbox.marker.component.d.ts +0 -16
- package/mapbox/lib/mapbox.marker.d.ts +0 -65
- package/mapbox/lib/mapbox.markers.component.d.ts +0 -14
- package/mapbox/lib/mapbox.menu.component.d.ts +0 -29
- package/mapbox/lib/mapbox.module.d.ts +0 -16
- package/mapbox/lib/mapbox.options.d.ts +0 -11
- package/mapbox/lib/mapbox.providers.d.ts +0 -17
- package/mapbox/lib/mapbox.rxjs.d.ts +0 -45
- package/mapbox/lib/mapbox.service.d.ts +0 -24
- package/mapbox/lib/mapbox.store.d.ts +0 -239
- package/mapbox/lib/mapbox.store.map.directive.d.ts +0 -17
- package/mapbox/lib/mapbox.store.provide.d.ts +0 -23
- package/mapbox/lib/mapbox.util.d.ts +0 -27
- package/table/index.d.ts +0 -1
- package/table/lib/date/date.table.column.header.component.d.ts +0 -18
- package/table/lib/date/daterange.table.cell.input.component.d.ts +0 -69
- package/table/lib/date/index.d.ts +0 -3
- package/table/lib/date/table.date.module.d.ts +0 -8
- package/table/lib/index.d.ts +0 -23
- package/table/lib/table.cell.action.component.d.ts +0 -9
- package/table/lib/table.cell.input.component.d.ts +0 -12
- package/table/lib/table.cell.summaryend.component.d.ts +0 -9
- package/table/lib/table.cell.summarystart.component.d.ts +0 -12
- package/table/lib/table.column.directive.d.ts +0 -14
- package/table/lib/table.column.footer.component.d.ts +0 -8
- package/table/lib/table.column.header.component.d.ts +0 -8
- package/table/lib/table.column.size.d.ts +0 -2
- package/table/lib/table.column.size.directive.d.ts +0 -29
- package/table/lib/table.component.d.ts +0 -59
- package/table/lib/table.d.ts +0 -143
- package/table/lib/table.directive.d.ts +0 -16
- package/table/lib/table.fullsummaryrow.component.d.ts +0 -12
- package/table/lib/table.group.directive.d.ts +0 -14
- package/table/lib/table.group.footer.component.d.ts +0 -9
- package/table/lib/table.group.header.component.d.ts +0 -9
- package/table/lib/table.item.action.component.d.ts +0 -9
- package/table/lib/table.item.cell.component.d.ts +0 -12
- package/table/lib/table.item.directive.d.ts +0 -13
- package/table/lib/table.item.header.component.d.ts +0 -8
- package/table/lib/table.module.d.ts +0 -8
- package/table/lib/table.reader.d.ts +0 -102
- package/table/lib/table.store.d.ts +0 -42
|
@@ -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.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.column.size.directive.ts","../../../../packages/dbx-web/table/src/lib/table.column.size.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.group.directive.ts","../../../../packages/dbx-web/table/src/lib/table.group.header.component.ts","../../../../packages/dbx-web/table/src/lib/table.group.footer.component.ts","../../../../packages/dbx-web/table/src/lib/table.fullsummaryrow.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/lib/table.reader.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 readonly left = 'E';\n readonly 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 { type Observable } from 'rxjs';\nimport { type LoadingState, type ObservableOrValue, type PageListLoadingState } from '@dereekb/rxjs';\nimport { type CssClassesArray, type Maybe } from '@dereekb/util';\nimport { type DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { type TrackByFunction } from '@angular/core';\n\n/**\n * Delegate used for retrieving data for a table.\n */\nexport interface DbxTableContextDataDelegate<I, C, T> {\n /**\n * Loads data given the input.\n *\n * @param input\n */\n loadData(input: I): Observable<LoadingState<DbxTableContextData<I, C, T>>>;\n}\n\nexport interface DbxTableContextData<I, C, T> {\n /**\n * Original context input\n */\n readonly input: I;\n /**\n * All columns in this data context.\n */\n readonly columns: DbxTableColumn<C>[];\n /**\n * All currently loaded items.\n */\n readonly items$: Observable<PageListLoadingState<T>>;\n /**\n * Loads more items, if applicable.\n */\n loadMore?(): void;\n}\n\nexport interface DbxTableColumn<C> {\n /**\n * Unique column name\n */\n readonly columnName: string;\n /**\n * Column metadata\n */\n readonly meta: C;\n}\n\nexport const NO_GROUPS_ID = 'none';\n\n/**\n * Unique identifier used for grouping items together.\n */\nexport type DbxTableGroupId = string;\n\nexport interface DbxTableItemGroup<T, G = unknown> {\n readonly groupId: DbxTableGroupId;\n readonly items: T[];\n readonly meta: G;\n}\n\nexport interface DefaultDbxTableItemGroup<T, G = unknown> extends DbxTableItemGroup<T, G> {\n readonly groupId: typeof NO_GROUPS_ID;\n readonly default: true;\n}\n\nexport function defaultDbxTableItemGroup<T, G = unknown>(items: T[]): DefaultDbxTableItemGroup<T, G> {\n return {\n groupId: NO_GROUPS_ID,\n items,\n meta: undefined as G,\n default: true\n };\n}\n\nexport type DbxTableGroupByFunction<T, G = unknown> = (items: T[]) => ObservableOrValue<DbxTableItemGroup<T, G>[]>;\n\n/**\n * Delegate used for generating view configurations given the input.\n */\nexport interface DbxTableViewDelegate<I = unknown, C = unknown, T = unknown, G = unknown> {\n /**\n * Track by\n */\n readonly trackBy?: TrackByFunction<T>;\n /**\n * If provided, will group items together\n */\n readonly groupBy?: DbxTableGroupByFunction<T, G>;\n /**\n * Input picker view configuration\n */\n readonly inputHeader?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Action header view configuration\n */\n readonly actionHeader?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Full-width summary row view configuration.\n */\n readonly fullSummaryRow?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Summary row header view configuration.\n */\n readonly summaryRowHeader?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Summary row end view configuration\n */\n readonly summaryRowEnd?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Group row header view configuration for a specific group.\n *\n * If this function returns undefined, the group row will not be shown.\n *\n * @param group\n */\n groupHeader?(group: DbxTableItemGroup<T, G>): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Group row footer view configuration for a specific group.\n *\n * If this function returns undefined, the group row will not be shown.\n *\n * @param group\n */\n groupFooter?(group: DbxTableItemGroup<T, G>): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Column header view configuration for a specific column.\n *\n * @param item\n */\n columnHeader?(column: DbxTableColumn<C>): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Optional column footer view configuration for a specific column.\n *\n * @param item\n */\n columnFooter?(column: DbxTableColumn<C>): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Item header view (left-most column for an item row) configuration for a specific item.\n *\n * @param item\n */\n itemHeader(item: T): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Item cell view (middle columns for an item row) configuration for a specific item and column.\n *\n * @param item\n */\n itemCell(column: DbxTableColumn<C>, item: T): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Item action view (right-most column for an item row) configuration for a specific item.\n *\n * @param item\n */\n itemAction?(item: T): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Optional classes to apply to the table.\n */\n tableClasses?: CssClassesArray;\n}\n","import { Injectable } from '@angular/core';\nimport { asObservable, beginLoading, filterMaybe, LoadingState, mapLoadingStateValueWithOperator, PageListLoadingState, valueFromFinishedLoadingState } from '@dereekb/rxjs';\nimport { spaceSeparatedCssClasses, 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, DbxTableItemGroup, DbxTableViewDelegate, defaultDbxTableItemGroup } from './table';\n\nexport interface DbxTableStoreState<I, C, T, G> {\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, G>>;\n}\n\n@Injectable()\nexport class DbxTableStore<I = unknown, C = unknown, T = unknown, G = unknown> extends ComponentStore<DbxTableStoreState<I, C, T, G>> {\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 readonly tableCssClasses$ = this.viewDelegate$.pipe(map((x) => x.tableClasses));\n readonly spaceSeparatedTableCssClasses$ = this.tableCssClasses$.pipe(\n map((x) => spaceSeparatedCssClasses(x)),\n distinctUntilChanged(),\n shareReplay(1)\n );\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 readonly groupsState$: Observable<LoadingState<DbxTableItemGroup<T, G>[]>> = this.itemsState$.pipe(\n mapLoadingStateValueWithOperator(\n switchMap((x) => {\n return this.viewDelegate$.pipe(\n switchMap((viewDelegate) => {\n let groups: Observable<DbxTableItemGroup<T, G>[]>;\n\n if (viewDelegate.groupBy) {\n groups = asObservable(viewDelegate.groupBy(x));\n } else {\n groups = of([defaultDbxTableItemGroup<T, G>(x)]);\n }\n\n return groups;\n })\n );\n })\n ),\n shareReplay(1)\n );\n\n readonly groups$: Observable<DbxTableItemGroup<T, G>[]> = this.groupsState$.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, G>>) => ({ ...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, MatDatepickerModule } 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 readonly buttonFormat?: string;\n /**\n * Distance from the start to span.\n */\n readonly daysDistance: Days;\n readonly minDate?: Maybe<Date>;\n readonly 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: [MatDatepickerModule, ReactiveFormsModule, MatButtonModule]\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 ?? null);\n readonly maxDateSignal = computed(() => this._configSignal().maxDate ?? null);\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.actionHeader),\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 { computed, Directive, ElementRef, inject, input, OnDestroy, OnInit } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { resizeSignal } from '@dereekb/dbx-web';\nimport { Maybe } from '@dereekb/util';\nimport { BehaviorSubject } from 'rxjs';\n\nexport type DbxColumnSizeColumnValue = 'head' | 'tail' | number;\n\n@Directive({\n exportAs: 'dbxTableColumnSize',\n selector: '[dbx-table-column-size]',\n standalone: true\n})\nexport class DbxTableColumnSizeDirective implements OnDestroy {\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly resized = resizeSignal(this.elementRef);\n\n private readonly _columnsMap = new BehaviorSubject(new Map<DbxColumnSizeColumnValue, DbxColumnSizeColumnDirective>());\n readonly columns$ = this._columnsMap.asObservable();\n\n readonly columnsSignal = toSignal(this.columns$);\n readonly visibleColumnsSignal = computed(() => {\n const resized = this.resized();\n const columnsMap = this.columnsSignal() as Map<DbxColumnSizeColumnValue, DbxColumnSizeColumnDirective>;\n\n const { width } = resized.newRect;\n let visibleColumns = 0;\n\n const itemColumns: DbxColumnSizeColumnDirective[] = [];\n\n let headerColumn: Maybe<DbxColumnSizeColumnDirective>;\n let tailColumn: Maybe<DbxColumnSizeColumnDirective>;\n\n columnsMap.forEach((column) => {\n const index = column.index();\n\n switch (index) {\n case 'head':\n headerColumn = column;\n break;\n case 'tail':\n tailColumn = column;\n break;\n default:\n itemColumns[index] = column;\n break;\n }\n });\n\n const headerColumnWidth = headerColumn?.width || 0;\n const tailColumnWidth = tailColumn?.width || 0;\n\n let remainingTableWidth = width - headerColumnWidth;\n visibleColumns = 1;\n let i = 0;\n\n while (remainingTableWidth > 0 && i < itemColumns.length) {\n const nextColumn = itemColumns[i];\n i += 1;\n\n const columnWidth = nextColumn.width;\n\n remainingTableWidth -= columnWidth;\n\n if (remainingTableWidth >= 0) {\n visibleColumns += 1;\n }\n }\n\n // show the tail column\n if (tailColumn != null && visibleColumns === itemColumns.length + 1 && Math.abs(remainingTableWidth - tailColumnWidth) < 3) {\n visibleColumns += 1;\n }\n\n return visibleColumns;\n });\n\n addColumn(column: DbxColumnSizeColumnDirective) {\n this._columnsMap.value.set(column.index(), column);\n this._columnsMap.next(this._columnsMap.value);\n }\n\n removeColumn(column: DbxColumnSizeColumnDirective) {\n if (this._columnsMap.value.delete(column.index())) {\n this._columnsMap.next(this._columnsMap.value);\n }\n }\n\n ngOnDestroy(): void {\n this._columnsMap.complete();\n }\n}\n\n/**\n * References a specific element and the index of the column.\n */\n@Directive({\n selector: '[dbx-column-size-column]',\n standalone: true\n})\nexport class DbxColumnSizeColumnDirective implements OnInit, OnDestroy {\n readonly dbxColumnSizeDirective = inject(DbxTableColumnSizeDirective);\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly index = input.required<DbxColumnSizeColumnValue>({ alias: 'dbx-column-size-column' });\n\n ngOnInit(): void {\n this.dbxColumnSizeDirective.addColumn(this);\n }\n\n ngOnDestroy(): void {\n this.dbxColumnSizeDirective.removeColumn(this);\n }\n\n get width(): number {\n return this.elementRef.nativeElement.clientWidth;\n }\n}\n","import { type ElementRef, InjectionToken } from '@angular/core';\n\nexport const DBX_TABLE_COLUMN_SIZE_PARENT_ELEMENT_REF_TOKEN = new InjectionToken<ElementRef<HTMLElement>>('DBX_TABLE_COLUMN_SIZE_PARENT_ELEMENT_REF_TOKEN');\n","import { toObservable } from '@angular/core/rxjs-interop';\nimport { Directive, inject, input } from '@angular/core';\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 AbstractDbxTableItemDirective<T, C = unknown> {\n readonly tableStore = inject(DbxTableStore<unknown, C, T>);\n\n readonly item = input<Maybe<T>>();\n readonly item$ = toObservable(this.item);\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { toSignal, toObservable } from '@angular/core/rxjs-interop';\nimport { map, switchMap, combineLatest } from 'rxjs';\nimport { type Maybe } from '@dereekb/util';\nimport { AbstractDbxTableItemDirective } 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 AbstractDbxTableItemDirective<T, C> {\n readonly column = input<Maybe<DbxTableColumn<C>>>();\n readonly column$ = toObservable(this.column);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(switchMap((viewDelegate) => combineLatest([this.column$, this.item$]).pipe(map(([column, item]) => (column && item ? viewDelegate.itemCell(column, item) : undefined)))));\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, switchMap } from 'rxjs';\nimport { AbstractDbxTableItemDirective } 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 AbstractDbxTableItemDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => this.item$.pipe(map((x) => (x != null ? viewDelegate.itemHeader(x) : undefined)))),\n maybeValueFromObservableOrValue()\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 } from 'rxjs';\nimport { AbstractDbxTableItemDirective } 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 AbstractDbxTableItemDirective<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.item$.pipe(map((x) => (x != null ? itemAction(x) : undefined)));\n }\n\n return obs;\n }),\n maybeValueFromObservableOrValue()\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';\nimport { DbxTableItemGroup } from './table';\n\n/**\n * Abstract directive that has an element input.\n */\n@Directive()\nexport abstract class AbstractDbxTableGroupDirective<T, C = unknown, G = unknown> {\n readonly tableStore = inject(DbxTableStore<unknown, C, T, G>);\n\n readonly group = input<Maybe<DbxTableItemGroup<T, G>>>();\n readonly group$ = toObservable(this.group).pipe(filterMaybe(), distinctUntilChanged());\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { MaybeObservableOrValue, maybeValueFromObservableOrValue } from '@dereekb/rxjs';\nimport { DbxInjectionComponent, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { AbstractDbxTableGroupDirective } from './table.group.directive';\n\n@Component({\n selector: 'dbx-table-group-header',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableGroupHeaderComponent<T> extends AbstractDbxTableGroupDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((viewDelegate) => {\n const groupHeader = viewDelegate.groupHeader;\n let obs: MaybeObservableOrValue<DbxInjectionComponentConfig> = undefined;\n\n if (groupHeader) {\n obs = this.group$.pipe(map((x) => groupHeader(x)));\n }\n\n return obs;\n }),\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 { MaybeObservableOrValue, maybeValueFromObservableOrValue } from '@dereekb/rxjs';\nimport { DbxInjectionComponent, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { AbstractDbxTableGroupDirective } from './table.group.directive';\n\n@Component({\n selector: 'dbx-table-group-footer',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableGroupFooterComponent<T> extends AbstractDbxTableGroupDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((viewDelegate) => {\n const groupFooter = viewDelegate.groupFooter;\n let obs: MaybeObservableOrValue<DbxInjectionComponentConfig> = undefined;\n\n if (groupFooter) {\n obs = this.group$.pipe(map((x) => groupFooter(x)));\n }\n\n return obs;\n }),\n maybeValueFromObservableOrValue(),\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-full-summary-row',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent],\n host: {\n class: 'dbx-h100 dbx-flex-bar'\n }\n})\nexport class DbxTableFullSummaryRowComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.fullSummaryRow),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, TrackByFunction, inject, computed, input, Signal, viewChild, ElementRef } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { DbxTableStore } from './table.store';\nimport { LoadingState, loadingStateContext, mapLoadingStateValueWithOperator, valueFromFinishedLoadingState } from '@dereekb/rxjs';\nimport { shareReplay, map, Observable, switchMap, throttleTime } from 'rxjs';\nimport { DbxLoadingComponent } from '@dereekb/dbx-web';\nimport { InfiniteScrollDirective } from 'ngx-infinite-scroll';\nimport { MatTable, 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';\nimport { DbxTableItemGroup, DefaultDbxTableItemGroup } from './table';\nimport { DbxTableGroupHeaderComponent } from './table.group.header.component';\nimport { DbxTableGroupFooterComponent } from './table.group.footer.component';\nimport { pushArrayItemsIntoArray } from '@dereekb/util';\nimport { NgClass } from '@angular/common';\nimport { DbxTableFullSummaryRowComponent } from './table.fullsummaryrow.component';\nimport { DbxTableColumnSizeDirective, DbxColumnSizeColumnDirective } from './table.column.size.directive';\nimport { DBX_TABLE_COLUMN_SIZE_PARENT_ELEMENT_REF_TOKEN } from './table.column.size';\n\nexport const DBX_TABLE_ITEMS_COLUMN_NAME = '_items';\nexport const DBX_TABLE_ACTIONS_COLUMN_NAME = '_actions';\n\nexport interface DbxTableViewGroupElement<T, G> {\n readonly type: 'group';\n readonly location: 'header' | 'footer';\n readonly group: DbxTableItemGroup<T, G>;\n}\n\nexport interface DbxTableViewItemElement<T, G> {\n readonly type: 'item';\n readonly item: T;\n}\n\nexport type DbxTableViewElement<T, G> = DbxTableViewGroupElement<T, G> | DbxTableViewItemElement<T, G>;\n\nexport function isDbxTableViewGroupElement<T, G>(element: DbxTableViewElement<T, G>): element is DbxTableViewGroupElement<T, G> {\n return element.type === 'group';\n}\n\nexport function isDbxTableViewItemElement<T, G>(element: DbxTableViewElement<T, G>): element is DbxTableViewItemElement<T, G> {\n return element.type === 'item';\n}\n\n/**\n * A table with fixed content\n */\n@Component({\n selector: 'dbx-table-view',\n templateUrl: './table.component.html',\n imports: [\n DbxLoadingComponent,\n NgClass,\n InfiniteScrollDirective,\n MatTableModule,\n DbxTableInputCellComponent,\n DbxTableItemHeaderComponent,\n DbxTableItemCellComponent,\n DbxTableItemActionComponent,\n DbxTableActionCellComponent,\n DbxTableColumnHeaderComponent,\n DbxTableColumnFooterComponent,\n DbxTableSummaryStartCellComponent,\n DbxTableSummaryEndCellComponent,\n DbxTableGroupHeaderComponent,\n DbxTableGroupFooterComponent,\n DbxTableFullSummaryRowComponent,\n DbxTableColumnSizeDirective,\n DbxColumnSizeColumnDirective\n ],\n providers: [\n {\n provide: DBX_TABLE_COLUMN_SIZE_PARENT_ELEMENT_REF_TOKEN,\n useExisting: ElementRef\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DbxTableViewComponent<I, C, T, G = unknown> {\n readonly tableStore = inject(DbxTableStore<I, C, T, G>);\n readonly table = viewChild.required<MatTable<DbxTableViewElement<T, G>>>(MatTable);\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 elementsState$: Observable<LoadingState<DbxTableViewElement<T, G>[]>> = this.tableStore.groupsState$.pipe(\n mapLoadingStateValueWithOperator(\n switchMap((groups) => {\n return this.tableStore.viewDelegate$.pipe(\n map((viewDelegate) => {\n const { groupHeader: inputGroupHeader, groupFooter: inputGroupFooter } = viewDelegate;\n const hasGroupHeader = inputGroupHeader != null ? (group: DbxTableItemGroup<T, G>) => inputGroupHeader(group) != null : () => false;\n const hasGroupFooter = inputGroupFooter != null ? (group: DbxTableItemGroup<T, G>) => inputGroupFooter(group) != null : () => false;\n\n return groups\n .map((group) => {\n const { items } = group;\n\n const itemElements: DbxTableViewItemElement<T, G>[] = items.map((item) => ({\n type: 'item',\n item\n }));\n\n let elements: DbxTableViewElement<T, G>[];\n\n if ((group as DefaultDbxTableItemGroup<T, G>).default) {\n elements = itemElements;\n } else {\n const header = hasGroupHeader(group);\n const footer = hasGroupFooter(group);\n\n elements = [];\n\n if (header) {\n elements.push({\n type: 'group',\n location: 'header',\n group\n });\n }\n\n pushArrayItemsIntoArray(elements, itemElements);\n\n if (footer) {\n elements.push({\n type: 'group',\n location: 'footer',\n group\n });\n }\n }\n\n return elements;\n })\n .flat();\n })\n );\n })\n ),\n shareReplay(1)\n );\n\n readonly elements$ = this.elementsState$.pipe(\n valueFromFinishedLoadingState(() => []),\n throttleTime(50, undefined, { leading: true, trailing: true }),\n shareReplay(1)\n );\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 inputTrackByFunctionSignal = toSignal(this.trackByFunction$, { initialValue: this.DEFAULT_TRACK_BY_FUNCTION });\n readonly trackElementByFunctionSignal: Signal<TrackByFunction<DbxTableViewElement<T, G>>> = computed(() => {\n const trackByFunction = this.inputTrackByFunctionSignal() as TrackByFunction<T>;\n\n const fn: TrackByFunction<DbxTableViewElement<T, G>> = (index: number, element: DbxTableViewElement<T, G>) => {\n if (element.type === 'item') {\n return `i_${trackByFunction(index, element.item as T)}`;\n } else {\n return `g_${element.group.groupId}`;\n }\n };\n\n return fn;\n });\n\n readonly context = loadingStateContext({ obs: this.tableStore.dataState$ });\n readonly dataLoadingContext = loadingStateContext({ obs: this.elementsState$ });\n\n readonly contextSignal = toSignal(this.context.state$);\n readonly dataLoadingContextSignal = toSignal(this.dataLoadingContext.state$);\n\n readonly viewDelegateSignal = toSignal(this.tableStore.viewDelegate$);\n readonly elementsSignal = toSignal(this.elements$, { initialValue: [] });\n\n readonly tableCssClasses = toSignal(this.tableStore.spaceSeparatedTableCssClasses$);\n\n onScrollDown(): void {\n this.tableStore.loadMore();\n }\n\n showItemRow(_: number, row: DbxTableViewElement<T, G>): boolean {\n return row.type === 'item';\n }\n\n showGroupHeaderRow(_: number, row: DbxTableViewElement<T, G>): boolean {\n return row.type === 'group' && row.location === 'header';\n }\n\n showGroupFooterRow(_: number, row: DbxTableViewElement<T, G>): boolean {\n return row.type === 'group' && row.location === 'footer';\n }\n\n readonly showFooterRowSignal = computed(() => {\n const viewDelegate = this.viewDelegateSignal();\n const showFooterRow = viewDelegate && (viewDelegate.summaryRowHeader != null || viewDelegate.columnFooter != null || viewDelegate.summaryRowEnd != null);\n return showFooterRow;\n });\n\n readonly showFullSummaryRowSignal = computed(() => {\n const viewDelegate = this.viewDelegateSignal();\n return viewDelegate?.fullSummaryRow != null;\n });\n}\n","<dbx-loading [context]=\"context\">\n <dbx-loading class=\"dbx-table-view-loading\" [linear]=\"true\" [context]=\"dataLoadingContext\"></dbx-loading>\n <div class=\"dbx-table-view\" [ngClass]=\"tableCssClasses()\">\n <section class=\"dbx-table-view-table-wrapper\" dbx-table-column-size #columnSize=\"dbxTableColumnSize\" infinite-scroll [infiniteScrollDistance]=\"scrollDistance()\" [infiniteScrollThrottle]=\"throttleScroll()\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\">\n <table class=\"dbx-table-view-table\" mat-table [dataSource]=\"elementsSignal()\" [trackBy]=\"trackElementByFunctionSignal()\" multiTemplateDataRows>\n <!-- Groups -->\n <!-- Group Header column -->\n <ng-container matColumnDef=\"groupHeaderColumn\" [sticky]=\"true\">\n <td mat-cell [attr.colspan]=\"columnSize.visibleColumnsSignal()\" *matCellDef=\"let element\">\n <dbx-table-group-header [group]=\"element.group\"></dbx-table-group-header>\n </td>\n </ng-container>\n\n <!-- Group Footer column -->\n <ng-container matColumnDef=\"groupFooterColumn\" [sticky]=\"true\">\n <td mat-cell [attr.colspan]=\"columnSize.visibleColumnsSignal()\" *matCellDef=\"let element\">\n <dbx-table-group-footer [group]=\"element.group\"></dbx-table-group-footer>\n </td>\n </ng-container>\n\n <!-- Items -->\n <!-- Header/Item column -->\n <ng-container [matColumnDef]=\"itemsColumnName\" [sticky]=\"true\">\n <th dbx-column-size-column=\"head\" 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 [item]=\"element.item\"></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 [dbx-column-size-column]=\"$index\" 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 [item]=\"element.item\" [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 dbx-column-size-column=\"tail\" 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 [item]=\"element.item\"></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: ['groupHeaderColumn']; when: showGroupHeaderRow\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnsSignal(); when: showItemRow\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['groupFooterColumn']; when: showGroupFooterRow\"></tr>\n\n <tr [ngClass]=\"{ 'dbx-hide': !showFooterRowSignal() }\" mat-footer-row *matFooterRowDef=\"displayedColumnsSignal(); sticky: true\"></tr>\n </table>\n </section>\n <!-- Full summary row -->\n @if (showFullSummaryRowSignal()) {\n <div class=\"mat-mdc-table dbx-table-view-full-summary-row-container\">\n <div class=\"mdc-data-table__cell mat-mdc-row\">\n <dbx-table-full-summary-row></dbx-table-full-summary-row>\n </div>\n </div>\n }\n </div>\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 () => {\n this.tableStore.setInput(this.dbxTableInput());\n this.tableStore.setViewDelegate(this.dbxTableViewDelegate());\n this.tableStore.setDataDelegate(this.dbxTableDataDelegate());\n },\n {\n allowSignalWrites: true\n }\n );\n}\n","import { NgModule } from '@angular/core';\nimport { DbxTableViewComponent } from './table.component';\nimport { DbxTableDirective } from './table.directive';\n\nconst importsAndExports = [DbxTableDirective, DbxTableViewComponent];\n\n@NgModule({\n imports: importsAndExports,\n exports: importsAndExports\n})\nexport class DbxTableModule {}\n","import { combineLatest, map, type Observable, of, shareReplay, startWith, switchMap } from 'rxjs';\nimport { type PrimativeKey, type Maybe, filterMaybeArrayValues, type ReadRequiredKeyFunction } from '@dereekb/util';\nimport { type DbxTableColumn } from './table';\nimport { type DbxTableStore } from './table.store';\n\nexport interface DbxTableReaderCellPair<C, T> {\n readonly column: DbxTableColumn<C>;\n readonly item: T;\n}\n\nexport interface DbxTableReaderCellDataPair<C, T, O> extends DbxTableReaderCellPair<C, T> {\n readonly value: O;\n}\n\n/**\n * Key used for tracking columns.\n *\n * Generally the table name is used for this.\n */\nexport type DbxTableReaderColumnKey = string;\n\n/**\n * Key used for tracking items.\n *\n * Generally the item's unique identifier is used for this.\n */\nexport type DbxTableReaderItemKey = PrimativeKey;\n\n/**\n * Default track by function for DbxTableColumn.\n *\n * Returns the column name.\n *\n * @param column\n * @returns\n */\nexport const DEFAULT_DBX_TABLE_READER_COLUMN_TRACK_BY: ReadRequiredKeyFunction<DbxTableColumn<DbxTableReaderColumnKey>> = (column) => column.columnName;\n\n/**\n * Function used for tracking unique columns using the column's data.\n *\n * If the column key value is the same between those two columns, then the metadata of both columns will be considered the same/equal.\n */\nexport type DbxTableReaderColumnTrackByFunction<C> = ReadRequiredKeyFunction<DbxTableColumn<C>, DbxTableReaderColumnKey>;\n\n/**\n * Function used for tracking unique columns using the column's data.\n *\n * If the column key value is the same between those two columns, then the metadata of both columns will be considered the same/equal.\n */\nexport type DbxTableReaderItemTrackByFunction<T> = ReadRequiredKeyFunction<T, DbxTableReaderItemKey>;\n\nexport interface DbxTableReaderDelegate<C, T, O> {\n /**\n * Retrieves the data for a specific column and item/row.\n *\n * @param column\n * @param item\n */\n readItemCellDataForColumn(column: DbxTableColumn<C>, item: T): Observable<O>;\n /**\n * Used for tracking unique columns.\n *\n * Use if the metadata between columns should be used for unique identification.\n *\n * Defaults to using the column name as the key if not defined.\n */\n trackColumn?: DbxTableReaderColumnTrackByFunction<C>;\n /**\n * Used for tracking unique items/rows.\n *\n * Use if the metadata between items should be used for unique identification.\n *\n * Defaults to using the item itself as the key if not defined.\n */\n trackItem: DbxTableReaderItemTrackByFunction<T>;\n}\n\nexport interface DbxTableReaderConfig<C, T, O, G = any> {\n /**\n * Delegate used for retrieving the data for a specific column and item/row.\n */\n readonly delegate: DbxTableReaderDelegate<C, T, O>;\n /**\n * The table store used for retrieving the items.\n */\n readonly tableStore: DbxTableStore<any, C, T, G>;\n}\n\nexport interface DbxTableReader<C, T, O, G = any> extends DbxTableReaderConfig<C, T, O, G> {\n /**\n * Retrieves all cell data pairs for a specific column.\n */\n cellDataPairsForColumn(column: DbxTableColumn<C>): Observable<DbxTableReaderCellDataPair<C, T, O>[]>;\n /**\n * Retrieves all cell data for a specific column.\n */\n cellDataForColumn(column: DbxTableColumn<C>): Observable<O[]>;\n /**\n * Retrieves the cell data pair for a specific column and item.\n *\n * Returns null if the column is not visible or the item is not found.\n */\n cellDataPairForColumnAndItem(column: DbxTableColumn<C>, item: T): Observable<Maybe<DbxTableReaderCellDataPair<C, T, O>>>;\n /**\n * Retrieves the cell data for a specific column and item.\n *\n * Returns null if the column is not visible or the item is not found.\n */\n cellDataForColumnAndItem(column: DbxTableColumn<C>, item: T): Observable<Maybe<O>>;\n}\n\nexport function dbxTableReader<C, T, O, G = any>(config: DbxTableReaderConfig<C, T, O, G>): DbxTableReader<C, T, O, G> {\n const { delegate, tableStore } = config;\n const { items$ } = tableStore;\n const { readItemCellDataForColumn, trackColumn: inputTrackColumn, trackItem } = delegate;\n const trackColumn = (inputTrackColumn ?? DEFAULT_DBX_TABLE_READER_COLUMN_TRACK_BY) as DbxTableReaderColumnTrackByFunction<C>;\n\n interface DbxTableReaderCellDataAccessorsForColumn {\n readonly column: DbxTableColumn<C>;\n readonly allValues$: Observable<DbxTableReaderCellDataPair<C, T, O>[]>;\n readonly accessorsRecord: DbxTableReaderCellDataAccessorsForColumnRecord;\n }\n\n type DbxTableReaderCellDataAccessorsForColumnRecord = Record<DbxTableReaderItemKey, Observable<DbxTableReaderCellDataPair<C, T, O>>>;\n\n const _cellDataAccessorsForColumn = (column: DbxTableColumn<C>): Observable<DbxTableReaderCellDataAccessorsForColumn> => {\n return items$.pipe(\n map((x) => {\n const allObservables: Observable<DbxTableReaderCellDataPair<C, T, O>>[] = [];\n const accessorsRecord: DbxTableReaderCellDataAccessorsForColumnRecord = {};\n\n x.forEach((item) => {\n const itemKey = trackItem(item);\n const accessor$ = readItemCellDataForColumn(column, item).pipe(\n map((value) => {\n return {\n column,\n item,\n value\n };\n })\n );\n\n accessorsRecord[itemKey] = accessor$;\n allObservables.push(accessor$);\n });\n\n const allValues$ = combineLatest(allObservables).pipe(startWith([]), shareReplay(1));\n\n return {\n column,\n allValues$,\n accessorsRecord\n };\n }),\n shareReplay(1)\n );\n };\n\n interface DbxTableReaderColumnDataCellsAccessor {\n readonly columnKey: DbxTableReaderColumnKey;\n readonly column: DbxTableColumn<C>;\n readonly cellDataAccessors$: Observable<DbxTableReaderCellDataAccessorsForColumn>;\n readonly cellData$: Observable<DbxTableReaderCellDataPair<C, T, O>[]>;\n }\n\n function columnDataCellsAccessor(columnKey: DbxTableReaderColumnKey, column: DbxTableColumn<C>): DbxTableReaderColumnDataCellsAccessor {\n const cellDataAccessors$ = _cellDataAccessorsForColumn(column);\n const cellData$ = cellDataAccessors$.pipe(\n switchMap((record) => record.allValues$),\n startWith([]),\n shareReplay(1)\n );\n\n return {\n columnKey,\n column,\n cellDataAccessors$,\n cellData$\n };\n }\n\n interface DbxTableReaderColumnDataAccumulator {\n readonly record: DbxTableReaderColumnDataRecord;\n }\n\n type DbxTableReaderColumnDataRecord = Record<DbxTableReaderColumnKey, DbxTableReaderColumnDataCellsAccessor>;\n\n const allColumnsData$: Observable<DbxTableReaderColumnDataAccumulator> = tableStore.columns$.pipe(\n map((nextColumns: DbxTableColumn<C>[]) => {\n const record: DbxTableReaderColumnDataRecord = {};\n\n nextColumns.forEach((column) => {\n const columnKey = trackColumn(column);\n record[columnKey] = columnDataCellsAccessor(columnKey, column);\n });\n\n return {\n record\n };\n }),\n shareReplay(1)\n );\n\n const _columnAccessorForColumn = (column: DbxTableColumn<C>): Observable<Maybe<DbxTableReaderColumnDataCellsAccessor>> => {\n const columnKey = trackColumn(column);\n return allColumnsData$.pipe(\n map((columnsData) => columnsData.record[columnKey]),\n shareReplay(1)\n );\n };\n\n const loadCellDataPairsForColumn = (column: DbxTableColumn<C>): Observable<DbxTableReaderCellDataPair<C, T, O>[]> => {\n const columnsData$ = _columnAccessorForColumn(column).pipe(\n switchMap((accessor) => {\n // when visibility changes, the data will change to be an empty array\n return accessor ? accessor.cellData$ : of([]);\n }),\n shareReplay(1)\n );\n\n return columnsData$;\n };\n\n const cellDataPairsForColumn = (column: DbxTableColumn<C>): Observable<DbxTableReaderCellDataPair<C, T, O>[]> => {\n return loadCellDataPairsForColumn(column);\n };\n\n const cellDataForColumn = (column: DbxTableColumn<C>): Observable<O[]> => {\n return cellDataPairsForColumn(column).pipe(\n map((pairs) => filterMaybeArrayValues(pairs.map((pair) => pair.value))),\n shareReplay(1)\n );\n };\n\n const cellDataPairForColumnAndItem = (column: DbxTableColumn<C>, item: T): Observable<Maybe<DbxTableReaderCellDataPair<C, T, O>>> => {\n const itemKey = trackItem(item);\n const columnsData$ = _columnAccessorForColumn(column).pipe(\n switchMap((columnsData) => {\n return columnsData\n ? columnsData.cellDataAccessors$.pipe(\n switchMap((cellDataAccessor) => {\n const itemAccessor = cellDataAccessor.accessorsRecord[itemKey];\n const result: Observable<Maybe<DbxTableReaderCellDataPair<C, T, O>>> = itemAccessor ? itemAccessor : of(null);\n return result;\n })\n )\n : of(null);\n }),\n shareReplay(1)\n );\n\n return columnsData$;\n };\n\n const cellDataForColumnAndItem = (column: DbxTableColumn<C>, item: T): Observable<Maybe<O>> => {\n return cellDataPairForColumnAndItem(column, item).pipe(map((pair) => pair?.value));\n };\n\n return {\n tableStore,\n delegate,\n cellDataPairsForColumn,\n cellDataForColumn,\n cellDataPairForColumnAndItem,\n cellDataForColumnAndItem\n };\n}\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.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.column.size.directive.ts","../../../../packages/dbx-web/table/src/lib/table.column.size.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.group.directive.ts","../../../../packages/dbx-web/table/src/lib/table.group.header.component.ts","../../../../packages/dbx-web/table/src/lib/table.group.footer.component.ts","../../../../packages/dbx-web/table/src/lib/table.fullsummaryrow.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/lib/table.reader.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 readonly left = 'E';\n readonly 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 { type Observable } from 'rxjs';\nimport { type LoadingState, type ObservableOrValue, type PageListLoadingState } from '@dereekb/rxjs';\nimport { type CssClassesArray, type Maybe } from '@dereekb/util';\nimport { type DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { type TrackByFunction } from '@angular/core';\n\n/**\n * Delegate used for retrieving data for a table.\n */\nexport interface DbxTableContextDataDelegate<I, C, T> {\n /**\n * Loads data given the input.\n *\n * @param input\n */\n loadData(input: I): Observable<LoadingState<DbxTableContextData<I, C, T>>>;\n}\n\nexport interface DbxTableContextData<I, C, T> {\n /**\n * Original context input\n */\n readonly input: I;\n /**\n * All columns in this data context.\n */\n readonly columns: DbxTableColumn<C>[];\n /**\n * All currently loaded items.\n */\n readonly items$: Observable<PageListLoadingState<T>>;\n /**\n * Loads more items, if applicable.\n */\n loadMore?(): void;\n}\n\nexport interface DbxTableColumn<C> {\n /**\n * Unique column name\n */\n readonly columnName: string;\n /**\n * Column metadata\n */\n readonly meta: C;\n}\n\nexport const NO_GROUPS_ID = 'none';\n\n/**\n * Unique identifier used for grouping items together.\n */\nexport type DbxTableGroupId = string;\n\nexport interface DbxTableItemGroup<T, G = unknown> {\n readonly groupId: DbxTableGroupId;\n readonly items: T[];\n readonly meta: G;\n}\n\nexport interface DefaultDbxTableItemGroup<T, G = unknown> extends DbxTableItemGroup<T, G> {\n readonly groupId: typeof NO_GROUPS_ID;\n readonly default: true;\n}\n\nexport function defaultDbxTableItemGroup<T, G = unknown>(items: T[]): DefaultDbxTableItemGroup<T, G> {\n return {\n groupId: NO_GROUPS_ID,\n items,\n meta: undefined as G,\n default: true\n };\n}\n\nexport type DbxTableGroupByFunction<T, G = unknown> = (items: T[]) => ObservableOrValue<DbxTableItemGroup<T, G>[]>;\n\n/**\n * Delegate used for generating view configurations given the input.\n */\nexport interface DbxTableViewDelegate<I = unknown, C = unknown, T = unknown, G = unknown> {\n /**\n * Track by\n */\n readonly trackBy?: TrackByFunction<T>;\n /**\n * If provided, will group items together\n */\n readonly groupBy?: DbxTableGroupByFunction<T, G>;\n /**\n * Input picker view configuration\n */\n readonly inputHeader?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Action header view configuration\n */\n readonly actionHeader?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Full-width summary row view configuration.\n */\n readonly fullSummaryRow?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Summary row header view configuration.\n */\n readonly summaryRowHeader?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Summary row end view configuration\n */\n readonly summaryRowEnd?: Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Group row header view configuration for a specific group.\n *\n * If this function returns undefined, the group row will not be shown.\n *\n * @param group\n */\n groupHeader?(group: DbxTableItemGroup<T, G>): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Group row footer view configuration for a specific group.\n *\n * If this function returns undefined, the group row will not be shown.\n *\n * @param group\n */\n groupFooter?(group: DbxTableItemGroup<T, G>): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Column header view configuration for a specific column.\n *\n * @param item\n */\n columnHeader?(column: DbxTableColumn<C>): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Optional column footer view configuration for a specific column.\n *\n * @param item\n */\n columnFooter?(column: DbxTableColumn<C>): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Item header view (left-most column for an item row) configuration for a specific item.\n *\n * @param item\n */\n itemHeader(item: T): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Item cell view (middle columns for an item row) configuration for a specific item and column.\n *\n * @param item\n */\n itemCell(column: DbxTableColumn<C>, item: T): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Item action view (right-most column for an item row) configuration for a specific item.\n *\n * @param item\n */\n itemAction?(item: T): Maybe<DbxInjectionComponentConfig<any>>;\n /**\n * Optional classes to apply to the table.\n */\n tableClasses?: CssClassesArray;\n}\n","import { Injectable } from '@angular/core';\nimport { asObservable, beginLoading, filterMaybe, LoadingState, mapLoadingStateValueWithOperator, PageListLoadingState, valueFromFinishedLoadingState } from '@dereekb/rxjs';\nimport { spaceSeparatedCssClasses, 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, DbxTableItemGroup, DbxTableViewDelegate, defaultDbxTableItemGroup } from './table';\n\nexport interface DbxTableStoreState<I, C, T, G> {\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, G>>;\n}\n\n@Injectable()\nexport class DbxTableStore<I = unknown, C = unknown, T = unknown, G = unknown> extends ComponentStore<DbxTableStoreState<I, C, T, G>> {\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 readonly tableCssClasses$ = this.viewDelegate$.pipe(map((x) => x.tableClasses));\n readonly spaceSeparatedTableCssClasses$ = this.tableCssClasses$.pipe(\n map((x) => spaceSeparatedCssClasses(x)),\n distinctUntilChanged(),\n shareReplay(1)\n );\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 readonly groupsState$: Observable<LoadingState<DbxTableItemGroup<T, G>[]>> = this.itemsState$.pipe(\n mapLoadingStateValueWithOperator(\n switchMap((x) => {\n return this.viewDelegate$.pipe(\n switchMap((viewDelegate) => {\n let groups: Observable<DbxTableItemGroup<T, G>[]>;\n\n if (viewDelegate.groupBy) {\n groups = asObservable(viewDelegate.groupBy(x));\n } else {\n groups = of([defaultDbxTableItemGroup<T, G>(x)]);\n }\n\n return groups;\n })\n );\n })\n ),\n shareReplay(1)\n );\n\n readonly groups$: Observable<DbxTableItemGroup<T, G>[]> = this.groupsState$.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, G>>) => ({ ...state, viewDelegate }));\n}\n","import { ChangeDetectionStrategy, Component, Injectable, 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, MatDatepickerModule } 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 { cleanSubscription, 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 readonly buttonFormat?: string;\n /**\n * Distance from the start to span.\n */\n readonly daysDistance: Days;\n readonly minDate?: Maybe<Date>;\n readonly 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: [MatDatepickerModule, ReactiveFormsModule, MatButtonModule]\n})\nexport class DbxTableDateRangeDayDistanceInputCellInputComponent {\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 ?? null);\n readonly maxDateSignal = computed(() => this._configSignal().maxDate ?? null);\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 constructor() {\n cleanSubscription(\n 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\n cleanSubscription(\n 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\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.actionHeader),\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 { computed, Directive, ElementRef, inject, input, OnInit } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { clean, completeOnDestroy } from '@dereekb/dbx-core';\nimport { resizeSignal } from '@dereekb/dbx-web';\nimport { Maybe } from '@dereekb/util';\nimport { BehaviorSubject } from 'rxjs';\n\nexport type DbxColumnSizeColumnValue = 'head' | 'tail' | number;\n\n@Directive({\n exportAs: 'dbxTableColumnSize',\n selector: '[dbxTableColumnSize]',\n standalone: true\n})\nexport class DbxTableColumnSizeDirective {\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n readonly resized = resizeSignal(this.elementRef);\n\n private readonly _columnsMap = completeOnDestroy(new BehaviorSubject(new Map<DbxColumnSizeColumnValue, DbxColumnSizeColumnDirective>()));\n readonly columns$ = this._columnsMap.asObservable();\n\n readonly columnsSignal = toSignal(this.columns$);\n readonly visibleColumnsSignal = computed(() => {\n const resized = this.resized();\n const columnsMap = this.columnsSignal() as Map<DbxColumnSizeColumnValue, DbxColumnSizeColumnDirective>;\n\n const { width } = resized.newRect;\n let visibleColumns = 0;\n\n const itemColumns: DbxColumnSizeColumnDirective[] = [];\n\n let headerColumn: Maybe<DbxColumnSizeColumnDirective>;\n let tailColumn: Maybe<DbxColumnSizeColumnDirective>;\n\n columnsMap.forEach((column) => {\n const index = column.index();\n\n switch (index) {\n case 'head':\n headerColumn = column;\n break;\n case 'tail':\n tailColumn = column;\n break;\n default:\n itemColumns[index] = column;\n break;\n }\n });\n\n const headerColumnWidth = headerColumn?.width || 0;\n const tailColumnWidth = tailColumn?.width || 0;\n\n let remainingTableWidth = width - headerColumnWidth;\n visibleColumns = 1;\n let i = 0;\n\n while (remainingTableWidth > 0 && i < itemColumns.length) {\n const nextColumn = itemColumns[i];\n i += 1;\n\n const columnWidth = nextColumn.width;\n\n remainingTableWidth -= columnWidth;\n\n if (remainingTableWidth >= 0) {\n visibleColumns += 1;\n }\n }\n\n // show the tail column\n if (tailColumn != null && visibleColumns === itemColumns.length + 1 && Math.abs(remainingTableWidth - tailColumnWidth) < 3) {\n visibleColumns += 1;\n }\n\n return visibleColumns;\n });\n\n addColumn(column: DbxColumnSizeColumnDirective) {\n this._columnsMap.value.set(column.index(), column);\n this._columnsMap.next(this._columnsMap.value);\n }\n\n removeColumn(column: DbxColumnSizeColumnDirective) {\n if (this._columnsMap.value.delete(column.index())) {\n this._columnsMap.next(this._columnsMap.value);\n }\n }\n}\n\n/**\n * References a specific element and the index of the column.\n */\n@Directive({\n selector: '[dbx-column-size-column]',\n standalone: true\n})\nexport class DbxColumnSizeColumnDirective implements OnInit {\n readonly dbxColumnSizeDirective = inject(DbxTableColumnSizeDirective);\n\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly index = input.required<DbxColumnSizeColumnValue>({ alias: 'dbx-column-size-column' });\n\n constructor() {\n clean(() => this.dbxColumnSizeDirective.removeColumn(this));\n }\n\n ngOnInit(): void {\n // called after the index value has been input/set. Indexes are unique and set only once.\n this.dbxColumnSizeDirective.addColumn(this);\n }\n\n get width(): number {\n return this.elementRef.nativeElement.clientWidth;\n }\n}\n","import { type ElementRef, InjectionToken } from '@angular/core';\n\nexport const DBX_TABLE_COLUMN_SIZE_PARENT_ELEMENT_REF_TOKEN = new InjectionToken<ElementRef<HTMLElement>>('DBX_TABLE_COLUMN_SIZE_PARENT_ELEMENT_REF_TOKEN');\n","import { toObservable } from '@angular/core/rxjs-interop';\nimport { Directive, inject, input } from '@angular/core';\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 AbstractDbxTableItemDirective<T, C = unknown> {\n readonly tableStore = inject(DbxTableStore<unknown, C, T>);\n\n readonly item = input<Maybe<T>>();\n readonly item$ = toObservable(this.item);\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { toSignal, toObservable } from '@angular/core/rxjs-interop';\nimport { map, switchMap, combineLatest } from 'rxjs';\nimport { type Maybe } from '@dereekb/util';\nimport { AbstractDbxTableItemDirective } 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 AbstractDbxTableItemDirective<T, C> {\n readonly column = input<Maybe<DbxTableColumn<C>>>();\n readonly column$ = toObservable(this.column);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(switchMap((viewDelegate) => combineLatest([this.column$, this.item$]).pipe(map(([column, item]) => (column && item ? viewDelegate.itemCell(column, item) : undefined)))));\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, switchMap } from 'rxjs';\nimport { AbstractDbxTableItemDirective } 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 AbstractDbxTableItemDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n switchMap((viewDelegate) => this.item$.pipe(map((x) => (x != null ? viewDelegate.itemHeader(x) : undefined)))),\n maybeValueFromObservableOrValue()\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 } from 'rxjs';\nimport { AbstractDbxTableItemDirective } 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 AbstractDbxTableItemDirective<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.item$.pipe(map((x) => (x != null ? itemAction(x) : undefined)));\n }\n\n return obs;\n }),\n maybeValueFromObservableOrValue()\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';\nimport { DbxTableItemGroup } from './table';\n\n/**\n * Abstract directive that has an element input.\n */\n@Directive()\nexport abstract class AbstractDbxTableGroupDirective<T, C = unknown, G = unknown> {\n readonly tableStore = inject(DbxTableStore<unknown, C, T, G>);\n\n readonly group = input<Maybe<DbxTableItemGroup<T, G>>>();\n readonly group$ = toObservable(this.group).pipe(filterMaybe(), distinctUntilChanged());\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, distinctUntilChanged } from 'rxjs';\nimport { MaybeObservableOrValue, maybeValueFromObservableOrValue } from '@dereekb/rxjs';\nimport { DbxInjectionComponent, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { AbstractDbxTableGroupDirective } from './table.group.directive';\n\n@Component({\n selector: 'dbx-table-group-header',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableGroupHeaderComponent<T> extends AbstractDbxTableGroupDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((viewDelegate) => {\n const groupHeader = viewDelegate.groupHeader;\n let obs: MaybeObservableOrValue<DbxInjectionComponentConfig> = undefined;\n\n if (groupHeader) {\n obs = this.group$.pipe(map((x) => groupHeader(x)));\n }\n\n return obs;\n }),\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 { MaybeObservableOrValue, maybeValueFromObservableOrValue } from '@dereekb/rxjs';\nimport { DbxInjectionComponent, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { AbstractDbxTableGroupDirective } from './table.group.directive';\n\n@Component({\n selector: 'dbx-table-group-footer',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxInjectionComponent],\n standalone: true\n})\nexport class DbxTableGroupFooterComponent<T> extends AbstractDbxTableGroupDirective<T> {\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((viewDelegate) => {\n const groupFooter = viewDelegate.groupFooter;\n let obs: MaybeObservableOrValue<DbxInjectionComponentConfig> = undefined;\n\n if (groupFooter) {\n obs = this.group$.pipe(map((x) => groupFooter(x)));\n }\n\n return obs;\n }),\n maybeValueFromObservableOrValue(),\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-full-summary-row',\n template: `\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DbxInjectionComponent],\n host: {\n class: 'dbx-h100 dbx-flex-bar'\n }\n})\nexport class DbxTableFullSummaryRowComponent {\n readonly tableStore = inject(DbxTableStore);\n\n readonly config$ = this.tableStore.viewDelegate$.pipe(\n map((x) => x.fullSummaryRow),\n distinctUntilChanged()\n );\n\n readonly configSignal = toSignal(this.config$);\n}\n","import { ChangeDetectionStrategy, Component, TrackByFunction, inject, computed, input, Signal, viewChild, ElementRef } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { DbxTableStore } from './table.store';\nimport { LoadingState, loadingStateContext, mapLoadingStateValueWithOperator, valueFromFinishedLoadingState } from '@dereekb/rxjs';\nimport { shareReplay, map, Observable, switchMap, throttleTime } from 'rxjs';\nimport { DbxLoadingComponent } from '@dereekb/dbx-web';\nimport { InfiniteScrollDirective } from 'ngx-infinite-scroll';\nimport { MatTable, 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';\nimport { DbxTableItemGroup, DefaultDbxTableItemGroup } from './table';\nimport { DbxTableGroupHeaderComponent } from './table.group.header.component';\nimport { DbxTableGroupFooterComponent } from './table.group.footer.component';\nimport { pushArrayItemsIntoArray } from '@dereekb/util';\nimport { NgClass } from '@angular/common';\nimport { DbxTableFullSummaryRowComponent } from './table.fullsummaryrow.component';\nimport { DbxTableColumnSizeDirective, DbxColumnSizeColumnDirective } from './table.column.size.directive';\nimport { DBX_TABLE_COLUMN_SIZE_PARENT_ELEMENT_REF_TOKEN } from './table.column.size';\n\nexport const DBX_TABLE_ITEMS_COLUMN_NAME = '_items';\nexport const DBX_TABLE_ACTIONS_COLUMN_NAME = '_actions';\n\nexport interface DbxTableViewGroupElement<T, G> {\n readonly type: 'group';\n readonly location: 'header' | 'footer';\n readonly group: DbxTableItemGroup<T, G>;\n}\n\nexport interface DbxTableViewItemElement<T, G> {\n readonly type: 'item';\n readonly item: T;\n}\n\nexport type DbxTableViewElement<T, G> = DbxTableViewGroupElement<T, G> | DbxTableViewItemElement<T, G>;\n\nexport function isDbxTableViewGroupElement<T, G>(element: DbxTableViewElement<T, G>): element is DbxTableViewGroupElement<T, G> {\n return element.type === 'group';\n}\n\nexport function isDbxTableViewItemElement<T, G>(element: DbxTableViewElement<T, G>): element is DbxTableViewItemElement<T, G> {\n return element.type === 'item';\n}\n\n/**\n * A table with fixed content\n */\n@Component({\n selector: 'dbx-table-view',\n templateUrl: './table.component.html',\n imports: [\n DbxLoadingComponent,\n NgClass,\n InfiniteScrollDirective,\n MatTableModule,\n DbxTableInputCellComponent,\n DbxTableItemHeaderComponent,\n DbxTableItemCellComponent,\n DbxTableItemActionComponent,\n DbxTableActionCellComponent,\n DbxTableColumnHeaderComponent,\n DbxTableColumnFooterComponent,\n DbxTableSummaryStartCellComponent,\n DbxTableSummaryEndCellComponent,\n DbxTableGroupHeaderComponent,\n DbxTableGroupFooterComponent,\n DbxTableFullSummaryRowComponent,\n DbxTableColumnSizeDirective,\n DbxColumnSizeColumnDirective\n ],\n providers: [\n {\n provide: DBX_TABLE_COLUMN_SIZE_PARENT_ELEMENT_REF_TOKEN,\n useExisting: ElementRef\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DbxTableViewComponent<I, C, T, G = unknown> {\n readonly tableStore = inject(DbxTableStore<I, C, T, G>);\n readonly table = viewChild.required<MatTable<DbxTableViewElement<T, G>>>(MatTable);\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 elementsState$: Observable<LoadingState<DbxTableViewElement<T, G>[]>> = this.tableStore.groupsState$.pipe(\n mapLoadingStateValueWithOperator(\n switchMap((groups) => {\n return this.tableStore.viewDelegate$.pipe(\n map((viewDelegate) => {\n const { groupHeader: inputGroupHeader, groupFooter: inputGroupFooter } = viewDelegate;\n const hasGroupHeader = inputGroupHeader != null ? (group: DbxTableItemGroup<T, G>) => inputGroupHeader(group) != null : () => false;\n const hasGroupFooter = inputGroupFooter != null ? (group: DbxTableItemGroup<T, G>) => inputGroupFooter(group) != null : () => false;\n\n return groups\n .map((group) => {\n const { items } = group;\n\n const itemElements: DbxTableViewItemElement<T, G>[] = items.map((item) => ({\n type: 'item',\n item\n }));\n\n let elements: DbxTableViewElement<T, G>[];\n\n if ((group as DefaultDbxTableItemGroup<T, G>).default) {\n elements = itemElements;\n } else {\n const header = hasGroupHeader(group);\n const footer = hasGroupFooter(group);\n\n elements = [];\n\n if (header) {\n elements.push({\n type: 'group',\n location: 'header',\n group\n });\n }\n\n pushArrayItemsIntoArray(elements, itemElements);\n\n if (footer) {\n elements.push({\n type: 'group',\n location: 'footer',\n group\n });\n }\n }\n\n return elements;\n })\n .flat();\n })\n );\n })\n ),\n shareReplay(1)\n );\n\n readonly elements$ = this.elementsState$.pipe(\n valueFromFinishedLoadingState(() => []),\n throttleTime(50, undefined, { leading: true, trailing: true }),\n shareReplay(1)\n );\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 inputTrackByFunctionSignal = toSignal(this.trackByFunction$, { initialValue: this.DEFAULT_TRACK_BY_FUNCTION });\n readonly trackElementByFunctionSignal: Signal<TrackByFunction<DbxTableViewElement<T, G>>> = computed(() => {\n const trackByFunction = this.inputTrackByFunctionSignal() as TrackByFunction<T>;\n\n const fn: TrackByFunction<DbxTableViewElement<T, G>> = (index: number, element: DbxTableViewElement<T, G>) => {\n if (element.type === 'item') {\n return `i_${trackByFunction(index, element.item as T)}`;\n } else {\n return `g_${element.group.groupId}`;\n }\n };\n\n return fn;\n });\n\n readonly context = loadingStateContext({ obs: this.tableStore.dataState$ });\n readonly dataLoadingContext = loadingStateContext({ obs: this.elementsState$ });\n\n readonly contextSignal = toSignal(this.context.state$);\n readonly dataLoadingContextSignal = toSignal(this.dataLoadingContext.state$);\n\n readonly viewDelegateSignal = toSignal(this.tableStore.viewDelegate$);\n readonly elementsSignal = toSignal(this.elements$, { initialValue: [] });\n\n readonly tableCssClasses = toSignal(this.tableStore.spaceSeparatedTableCssClasses$);\n\n onScrollDown(): void {\n this.tableStore.loadMore();\n }\n\n showItemRow(_: number, row: DbxTableViewElement<T, G>): boolean {\n return row.type === 'item';\n }\n\n showGroupHeaderRow(_: number, row: DbxTableViewElement<T, G>): boolean {\n return row.type === 'group' && row.location === 'header';\n }\n\n showGroupFooterRow(_: number, row: DbxTableViewElement<T, G>): boolean {\n return row.type === 'group' && row.location === 'footer';\n }\n\n readonly showFooterRowSignal = computed(() => {\n const viewDelegate = this.viewDelegateSignal();\n const showFooterRow = viewDelegate && (viewDelegate.summaryRowHeader != null || viewDelegate.columnFooter != null || viewDelegate.summaryRowEnd != null);\n return showFooterRow;\n });\n\n readonly showFullSummaryRowSignal = computed(() => {\n const viewDelegate = this.viewDelegateSignal();\n return viewDelegate?.fullSummaryRow != null;\n });\n}\n","<dbx-loading [context]=\"context\">\n <dbx-loading class=\"dbx-table-view-loading\" [linear]=\"true\" [context]=\"dataLoadingContext\"></dbx-loading>\n <div class=\"dbx-table-view\" [ngClass]=\"tableCssClasses()\">\n <section class=\"dbx-table-view-table-wrapper\" dbxTableColumnSize #columnSize=\"dbxTableColumnSize\" infinite-scroll [infiniteScrollDistance]=\"scrollDistance()\" [infiniteScrollThrottle]=\"throttleScroll()\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\">\n <table class=\"dbx-table-view-table\" mat-table [dataSource]=\"elementsSignal()\" [trackBy]=\"trackElementByFunctionSignal()\" multiTemplateDataRows>\n <!-- Groups -->\n <!-- Group Header column -->\n <ng-container matColumnDef=\"groupHeaderColumn\" [sticky]=\"true\">\n <td mat-cell [attr.colspan]=\"columnSize.visibleColumnsSignal()\" *matCellDef=\"let element\">\n <dbx-table-group-header [group]=\"element.group\"></dbx-table-group-header>\n </td>\n </ng-container>\n\n <!-- Group Footer column -->\n <ng-container matColumnDef=\"groupFooterColumn\" [sticky]=\"true\">\n <td mat-cell [attr.colspan]=\"columnSize.visibleColumnsSignal()\" *matCellDef=\"let element\">\n <dbx-table-group-footer [group]=\"element.group\"></dbx-table-group-footer>\n </td>\n </ng-container>\n\n <!-- Items -->\n <!-- Header/Item column -->\n <ng-container [matColumnDef]=\"itemsColumnName\" [sticky]=\"true\">\n <th dbx-column-size-column=\"head\" 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 [item]=\"element.item\"></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 [dbx-column-size-column]=\"$index\" 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 [item]=\"element.item\" [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 dbx-column-size-column=\"tail\" 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 [item]=\"element.item\"></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: ['groupHeaderColumn']; when: showGroupHeaderRow\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnsSignal(); when: showItemRow\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['groupFooterColumn']; when: showGroupFooterRow\"></tr>\n\n <tr [ngClass]=\"{ 'dbx-hide': !showFooterRowSignal() }\" mat-footer-row *matFooterRowDef=\"displayedColumnsSignal(); sticky: true\"></tr>\n </table>\n </section>\n <!-- Full summary row -->\n @if (showFullSummaryRowSignal()) {\n <div class=\"mat-mdc-table dbx-table-view-full-summary-row-container\">\n <div class=\"mdc-data-table__cell mat-mdc-row\">\n <dbx-table-full-summary-row></dbx-table-full-summary-row>\n </div>\n </div>\n }\n </div>\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 () => {\n this.tableStore.setInput(this.dbxTableInput());\n this.tableStore.setViewDelegate(this.dbxTableViewDelegate());\n this.tableStore.setDataDelegate(this.dbxTableDataDelegate());\n },\n {\n allowSignalWrites: true\n }\n );\n}\n","import { NgModule } from '@angular/core';\nimport { DbxTableViewComponent } from './table.component';\nimport { DbxTableDirective } from './table.directive';\n\nconst importsAndExports = [DbxTableDirective, DbxTableViewComponent];\n\n@NgModule({\n imports: importsAndExports,\n exports: importsAndExports\n})\nexport class DbxTableModule {}\n","import { combineLatest, map, type Observable, of, shareReplay, startWith, switchMap } from 'rxjs';\nimport { type PrimativeKey, type Maybe, filterMaybeArrayValues, type ReadRequiredKeyFunction } from '@dereekb/util';\nimport { type DbxTableColumn } from './table';\nimport { type DbxTableStore } from './table.store';\n\nexport interface DbxTableReaderCellPair<C, T> {\n readonly column: DbxTableColumn<C>;\n readonly item: T;\n}\n\nexport interface DbxTableReaderCellDataPair<C, T, O> extends DbxTableReaderCellPair<C, T> {\n readonly value: O;\n}\n\n/**\n * Key used for tracking columns.\n *\n * Generally the table name is used for this.\n */\nexport type DbxTableReaderColumnKey = string;\n\n/**\n * Key used for tracking items.\n *\n * Generally the item's unique identifier is used for this.\n */\nexport type DbxTableReaderItemKey = PrimativeKey;\n\n/**\n * Default track by function for DbxTableColumn.\n *\n * Returns the column name.\n *\n * @param column\n * @returns\n */\nexport const DEFAULT_DBX_TABLE_READER_COLUMN_TRACK_BY: ReadRequiredKeyFunction<DbxTableColumn<DbxTableReaderColumnKey>> = (column) => column.columnName;\n\n/**\n * Function used for tracking unique columns using the column's data.\n *\n * If the column key value is the same between those two columns, then the metadata of both columns will be considered the same/equal.\n */\nexport type DbxTableReaderColumnTrackByFunction<C> = ReadRequiredKeyFunction<DbxTableColumn<C>, DbxTableReaderColumnKey>;\n\n/**\n * Function used for tracking unique columns using the column's data.\n *\n * If the column key value is the same between those two columns, then the metadata of both columns will be considered the same/equal.\n */\nexport type DbxTableReaderItemTrackByFunction<T> = ReadRequiredKeyFunction<T, DbxTableReaderItemKey>;\n\nexport interface DbxTableReaderDelegate<C, T, O> {\n /**\n * Retrieves the data for a specific column and item/row.\n *\n * @param column\n * @param item\n */\n readItemCellDataForColumn(column: DbxTableColumn<C>, item: T): Observable<O>;\n /**\n * Used for tracking unique columns.\n *\n * Use if the metadata between columns should be used for unique identification.\n *\n * Defaults to using the column name as the key if not defined.\n */\n trackColumn?: DbxTableReaderColumnTrackByFunction<C>;\n /**\n * Used for tracking unique items/rows.\n *\n * Use if the metadata between items should be used for unique identification.\n *\n * Defaults to using the item itself as the key if not defined.\n */\n trackItem: DbxTableReaderItemTrackByFunction<T>;\n}\n\nexport interface DbxTableReaderConfig<C, T, O, G = any> {\n /**\n * Delegate used for retrieving the data for a specific column and item/row.\n */\n readonly delegate: DbxTableReaderDelegate<C, T, O>;\n /**\n * The table store used for retrieving the items.\n */\n readonly tableStore: DbxTableStore<any, C, T, G>;\n}\n\nexport interface DbxTableReader<C, T, O, G = any> extends DbxTableReaderConfig<C, T, O, G> {\n /**\n * Retrieves all cell data pairs for a specific column.\n */\n cellDataPairsForColumn(column: DbxTableColumn<C>): Observable<DbxTableReaderCellDataPair<C, T, O>[]>;\n /**\n * Retrieves all cell data for a specific column.\n */\n cellDataForColumn(column: DbxTableColumn<C>): Observable<O[]>;\n /**\n * Retrieves the cell data pair for a specific column and item.\n *\n * Returns null if the column is not visible or the item is not found.\n */\n cellDataPairForColumnAndItem(column: DbxTableColumn<C>, item: T): Observable<Maybe<DbxTableReaderCellDataPair<C, T, O>>>;\n /**\n * Retrieves the cell data for a specific column and item.\n *\n * Returns null if the column is not visible or the item is not found.\n */\n cellDataForColumnAndItem(column: DbxTableColumn<C>, item: T): Observable<Maybe<O>>;\n}\n\nexport function dbxTableReader<C, T, O, G = any>(config: DbxTableReaderConfig<C, T, O, G>): DbxTableReader<C, T, O, G> {\n const { delegate, tableStore } = config;\n const { items$ } = tableStore;\n const { readItemCellDataForColumn, trackColumn: inputTrackColumn, trackItem } = delegate;\n const trackColumn = (inputTrackColumn ?? DEFAULT_DBX_TABLE_READER_COLUMN_TRACK_BY) as DbxTableReaderColumnTrackByFunction<C>;\n\n interface DbxTableReaderCellDataAccessorsForColumn {\n readonly column: DbxTableColumn<C>;\n readonly allValues$: Observable<DbxTableReaderCellDataPair<C, T, O>[]>;\n readonly accessorsRecord: DbxTableReaderCellDataAccessorsForColumnRecord;\n }\n\n type DbxTableReaderCellDataAccessorsForColumnRecord = Record<DbxTableReaderItemKey, Observable<DbxTableReaderCellDataPair<C, T, O>>>;\n\n const _cellDataAccessorsForColumn = (column: DbxTableColumn<C>): Observable<DbxTableReaderCellDataAccessorsForColumn> => {\n return items$.pipe(\n map((x) => {\n const allObservables: Observable<DbxTableReaderCellDataPair<C, T, O>>[] = [];\n const accessorsRecord: DbxTableReaderCellDataAccessorsForColumnRecord = {};\n\n x.forEach((item) => {\n const itemKey = trackItem(item);\n const accessor$ = readItemCellDataForColumn(column, item).pipe(\n map((value) => {\n return {\n column,\n item,\n value\n };\n })\n );\n\n accessorsRecord[itemKey] = accessor$;\n allObservables.push(accessor$);\n });\n\n const allValues$ = combineLatest(allObservables).pipe(startWith([]), shareReplay(1));\n\n return {\n column,\n allValues$,\n accessorsRecord\n };\n }),\n shareReplay(1)\n );\n };\n\n interface DbxTableReaderColumnDataCellsAccessor {\n readonly columnKey: DbxTableReaderColumnKey;\n readonly column: DbxTableColumn<C>;\n readonly cellDataAccessors$: Observable<DbxTableReaderCellDataAccessorsForColumn>;\n readonly cellData$: Observable<DbxTableReaderCellDataPair<C, T, O>[]>;\n }\n\n function columnDataCellsAccessor(columnKey: DbxTableReaderColumnKey, column: DbxTableColumn<C>): DbxTableReaderColumnDataCellsAccessor {\n const cellDataAccessors$ = _cellDataAccessorsForColumn(column);\n const cellData$ = cellDataAccessors$.pipe(\n switchMap((record) => record.allValues$),\n startWith([]),\n shareReplay(1)\n );\n\n return {\n columnKey,\n column,\n cellDataAccessors$,\n cellData$\n };\n }\n\n interface DbxTableReaderColumnDataAccumulator {\n readonly record: DbxTableReaderColumnDataRecord;\n }\n\n type DbxTableReaderColumnDataRecord = Record<DbxTableReaderColumnKey, DbxTableReaderColumnDataCellsAccessor>;\n\n const allColumnsData$: Observable<DbxTableReaderColumnDataAccumulator> = tableStore.columns$.pipe(\n map((nextColumns: DbxTableColumn<C>[]) => {\n const record: DbxTableReaderColumnDataRecord = {};\n\n nextColumns.forEach((column) => {\n const columnKey = trackColumn(column);\n record[columnKey] = columnDataCellsAccessor(columnKey, column);\n });\n\n return {\n record\n };\n }),\n shareReplay(1)\n );\n\n const _columnAccessorForColumn = (column: DbxTableColumn<C>): Observable<Maybe<DbxTableReaderColumnDataCellsAccessor>> => {\n const columnKey = trackColumn(column);\n return allColumnsData$.pipe(\n map((columnsData) => columnsData.record[columnKey]),\n shareReplay(1)\n );\n };\n\n const loadCellDataPairsForColumn = (column: DbxTableColumn<C>): Observable<DbxTableReaderCellDataPair<C, T, O>[]> => {\n const columnsData$ = _columnAccessorForColumn(column).pipe(\n switchMap((accessor) => {\n // when visibility changes, the data will change to be an empty array\n return accessor ? accessor.cellData$ : of([]);\n }),\n shareReplay(1)\n );\n\n return columnsData$;\n };\n\n const cellDataPairsForColumn = (column: DbxTableColumn<C>): Observable<DbxTableReaderCellDataPair<C, T, O>[]> => {\n return loadCellDataPairsForColumn(column);\n };\n\n const cellDataForColumn = (column: DbxTableColumn<C>): Observable<O[]> => {\n return cellDataPairsForColumn(column).pipe(\n map((pairs) => filterMaybeArrayValues(pairs.map((pair) => pair.value))),\n shareReplay(1)\n );\n };\n\n const cellDataPairForColumnAndItem = (column: DbxTableColumn<C>, item: T): Observable<Maybe<DbxTableReaderCellDataPair<C, T, O>>> => {\n const itemKey = trackItem(item);\n const columnsData$ = _columnAccessorForColumn(column).pipe(\n switchMap((columnsData) => {\n return columnsData\n ? columnsData.cellDataAccessors$.pipe(\n switchMap((cellDataAccessor) => {\n const itemAccessor = cellDataAccessor.accessorsRecord[itemKey];\n const result: Observable<Maybe<DbxTableReaderCellDataPair<C, T, O>>> = itemAccessor ? itemAccessor : of(null);\n return result;\n })\n )\n : of(null);\n }),\n shareReplay(1)\n );\n\n return columnsData$;\n };\n\n const cellDataForColumnAndItem = (column: DbxTableColumn<C>, item: T): Observable<Maybe<O>> => {\n return cellDataPairForColumnAndItem(column, item).pipe(map((pair) => pair?.value));\n };\n\n return {\n tableStore,\n delegate,\n cellDataPairsForColumn,\n cellDataForColumn,\n cellDataPairForColumnAndItem,\n cellDataForColumnAndItem\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["formatDate","importsAndExports","i1"],"mappings":"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"}
|