@dereekb/dbx-web 9.25.16 → 10.0.1
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/_index.scss +2 -1
- package/calendar/esm2022/lib/calendar.base.component.mjs +57 -0
- package/{esm2020/calendar → calendar/esm2022}/lib/calendar.component.mjs +5 -5
- package/calendar/{esm2020 → esm2022}/lib/calendar.module.mjs +38 -38
- package/calendar/{esm2020 → esm2022}/lib/calendar.store.mjs +4 -4
- package/calendar/{fesm2020 → fesm2022}/dereekb-dbx-web-calendar.mjs +49 -49
- package/calendar/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -0
- package/calendar/lib/calendar.base.component.d.ts +2 -2
- package/calendar/lib/calendar.component.d.ts +1 -1
- package/calendar/lib/calendar.module.d.ts +1 -1
- package/calendar/package.json +10 -25
- package/esm2022/calendar/lib/calendar.base.component.mjs +57 -0
- package/{calendar/esm2020 → esm2022/calendar}/lib/calendar.component.mjs +5 -5
- package/{esm2020 → esm2022}/calendar/lib/calendar.module.mjs +38 -38
- package/{esm2020 → esm2022}/calendar/lib/calendar.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/action/action.confirm.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/action/action.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/action/key.trigger.directive.mjs +4 -4
- package/esm2022/lib/action/snackbar/action.snackbar.component.mjs +96 -0
- package/esm2022/lib/action/snackbar/action.snackbar.directive.mjs +64 -0
- package/{esm2020 → esm2022}/lib/action/snackbar/action.snackbar.module.mjs +5 -5
- package/esm2022/lib/action/snackbar/action.snackbar.service.mjs +82 -0
- package/{esm2020 → esm2022}/lib/action/transition/action.transition.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/action/transition/transition.safety.dialog.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/action/transition/transition.safety.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/button/button.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/button/button.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/button/button.spacer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/button/icon/icon.button.component.mjs +7 -7
- package/{esm2020 → esm2022}/lib/button/icon/icon.button.module.mjs +13 -13
- package/esm2022/lib/button/progress/bar.button.component.mjs +23 -0
- package/esm2022/lib/button/progress/base.progress.button.directive.mjs +115 -0
- package/{esm2020 → esm2022}/lib/button/progress/button.progress.config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/button/progress/button.progress.module.mjs +5 -5
- package/esm2022/lib/button/progress/spinner.button.component.mjs +59 -0
- package/{esm2020 → esm2022}/lib/dbx-web.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/error/default.error.widget.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/error/error.action.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/error/error.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/error/error.details.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/error/error.loading.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/error/error.module.mjs +21 -21
- package/{esm2020 → esm2022}/lib/error/error.popover.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/error/error.widget.component.mjs +6 -6
- package/esm2022/lib/error/error.widget.directive.mjs +23 -0
- package/{esm2020 → esm2022}/lib/error/error.widget.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/extension/model/model.module.mjs +15 -15
- package/{esm2020 → esm2022}/lib/extension/model/model.state.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/extension/model/model.tracker.service.mjs +4 -4
- package/esm2022/lib/extension/model/model.tracker.view.storage.mjs +69 -0
- package/esm2022/lib/extension/model/model.types.service.mjs +67 -0
- package/{esm2020 → esm2022}/lib/extension/model/state/effects/tracker.effects.mjs +4 -4
- package/esm2022/lib/extension/structure/structure.body.directive.mjs +28 -0
- package/{esm2020 → esm2022}/lib/extension/structure/structure.module.mjs +9 -9
- package/esm2022/lib/extension/structure/structure.structure.directive.mjs +23 -0
- package/{esm2020 → esm2022}/lib/extension/widget/widget.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/extension/widget/widget.directive.mjs +4 -4
- package/esm2022/lib/extension/widget/widget.list.component.mjs +67 -0
- package/{esm2020 → esm2022}/lib/extension/widget/widget.module.mjs +13 -13
- package/{esm2020 → esm2022}/lib/extension/widget/widget.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/dialog/abstract.dialog.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/dialog/dialog.action.directive.mjs +7 -7
- package/esm2022/lib/interaction/dialog/dialog.content.close.component.mjs +41 -0
- package/{esm2020 → esm2022}/lib/interaction/dialog/dialog.content.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/dialog/dialog.content.footer.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/dialog/dialog.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.module.mjs +28 -28
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.partial.list.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.partial.menu.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.partial.mjs +10 -10
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.popover.button.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.popover.button.directive.mjs +4 -4
- package/esm2022/lib/interaction/filter/filter.popover.component.mjs +125 -0
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.preset.list.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.preset.menu.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.preset.mjs +10 -10
- package/{esm2020 → esm2022}/lib/interaction/filter/filter.wrapper.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/interaction/interaction.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/interaction/popover/abstract.popover.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/popover/abstract.popover.ref.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.action.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.close.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.component.mjs +14 -14
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.content.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.content.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.controls.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.coordinator.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.coordinator.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.header.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.module.mjs +5 -5
- package/esm2022/lib/interaction/popover/popover.scroll.content.component.mjs +51 -0
- package/{esm2020 → esm2022}/lib/interaction/popover/popover.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/popup/abstract.popup.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/popup/popup.component.mjs +14 -14
- package/{esm2020 → esm2022}/lib/interaction/popup/popup.content.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/popup/popup.controls.buttons.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/popup/popup.controls.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/popup/popup.coordinator.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/popup/popup.coordinator.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/popup/popup.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/interaction/popup/popup.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.box.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.button.confirm.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.confirm.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.confirm.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.page.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/keypress/keydown.listener.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/keypress/keypress.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/bar/bar.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/bar/bar.header.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/bar/bar.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/bar/pagebar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/block/block.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/block/two.block.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/card/card.box.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/card/card.box.container.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/card/card.box.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/column/column.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/column/one/one.column.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/column/one/one.column.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.back.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.context.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.full.left.directive.mjs +8 -8
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.head.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.right.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.sref.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.sref.showright.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/column/two/two.column.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/compact/compact.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/compact/compact.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/compact/compact.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/content/content.border.directive.mjs +4 -4
- package/esm2022/lib/layout/content/content.box.directive.mjs +29 -0
- package/esm2022/lib/layout/content/content.container.directive.mjs +31 -0
- package/{esm2020 → esm2022}/lib/layout/content/content.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/content/content.elevate.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/content/content.layout.module.mjs +21 -21
- package/{esm2020 → esm2022}/lib/layout/content/content.page.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/content/content.pit.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/flag/flag.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/flag/flag.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/flag/flag.prompt.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/flex/flex.group.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/layout/flex/flex.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/flex/flex.size.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/item/item.icon.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/item/item.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/layout.module.mjs +5 -5
- package/esm2022/lib/layout/list/list.component.mjs +253 -0
- package/{esm2020 → esm2022}/lib/layout/list/list.content.empty.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/list/list.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/layout/list/list.grid.view.component.mjs +15 -15
- package/{esm2020 → esm2022}/lib/layout/list/list.grid.view.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/list/list.layout.module.mjs +33 -33
- package/{esm2020 → esm2022}/lib/layout/list/list.view.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/list/list.view.selection.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/list/list.view.value.component.mjs +13 -13
- package/{esm2020 → esm2022}/lib/layout/list/list.view.value.directive.mjs +4 -4
- package/esm2022/lib/layout/list/list.view.value.item.directive.mjs +20 -0
- package/{esm2020 → esm2022}/lib/layout/list/list.view.value.modifier.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/layout/list/list.view.value.modifier.ripple.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/list/list.view.value.modifier.selection.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/list/list.view.value.selection.component.mjs +13 -13
- package/{esm2020 → esm2022}/lib/layout/section/section.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/section/section.header.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/section/section.intro.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/section/section.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/section/section.page.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/section/subsection.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/step/step.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/step/step.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/style/spacer.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/style/style.body.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/style/style.color.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/style/style.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/style/style.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/style/style.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/style/style.set.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/text/address.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/detail.block.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/detail.block.header.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/form.description.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/hint.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/icon.spacer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/text/label.block.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/label.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/linkify.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/note.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/notice.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/ok.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/success.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/layout/text/text.chip.directive.mjs +4 -4
- package/esm2022/lib/layout/text/text.chips.component.mjs +36 -0
- package/{esm2020 → esm2022}/lib/layout/text/text.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/text/warn.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/loading/basic-loading.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/loading/loading-progress.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/loading/loading.action.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/loading/loading.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/loading/loading.module.mjs +5 -5
- package/esm2022/lib/router/layout/anchor/anchor.component.mjs +66 -0
- package/esm2022/lib/router/layout/anchor/anchor.content.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/router/layout/anchor/anchor.icon.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/router/layout/anchor/anchor.link.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/router/layout/anchor/anchor.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/router/layout/anchor/anchor.segue.directive.mjs +4 -4
- package/esm2022/lib/router/layout/anchorlist/anchorlist.component.mjs +37 -0
- package/{esm2020 → esm2022}/lib/router/layout/anchorlist/anchorlist.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/router/layout/layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/router/layout/list/list.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/router/layout/list/router.list.directive.mjs +4 -4
- package/esm2022/lib/router/layout/navbar/navbar.component.mjs +134 -0
- package/esm2022/lib/router/layout/navbar/navbar.module.mjs +53 -0
- package/{esm2020 → esm2022}/lib/router/layout/sidenav/sidenav.button.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/router/layout/sidenav/sidenav.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/router/layout/sidenav/sidenav.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/router/layout/sidenav/sidenav.page.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/router/provider/ngrouter/anchor.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/router/provider/ngrouter/angular.router.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/router/provider/uirouter/anchor.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/router/provider/uirouter/uirouter.router.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/screen/screen.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/screen/screen.service.mjs +4 -4
- package/esm2022/mapbox/lib/index.mjs +21 -0
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.change.service.mjs +4 -4
- package/{esm2020 → esm2022}/mapbox/lib/mapbox.injection.component.mjs +6 -6
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.injection.store.mjs +4 -4
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.injection.store.provide.mjs +7 -7
- package/esm2022/mapbox/lib/mapbox.layout.component.mjs +184 -0
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.layout.drawer.component.mjs +4 -4
- package/{esm2020 → esm2022}/mapbox/lib/mapbox.layout.resize.sync.directive.mjs +4 -4
- package/esm2022/mapbox/lib/mapbox.marker.component.mjs +139 -0
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.markers.component.mjs +6 -6
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.menu.component.mjs +7 -7
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.module.mjs +45 -45
- package/{esm2020 → esm2022}/mapbox/lib/mapbox.service.mjs +4 -4
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.store.map.directive.mjs +4 -4
- package/{esm2020 → esm2022}/mapbox/lib/mapbox.store.mjs +5 -5
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.store.provide.mjs +7 -7
- package/esm2022/mapbox/lib/mapbox.util.mjs +15 -0
- package/{esm2020 → esm2022}/table/lib/date/date.table.column.header.component.mjs +6 -6
- package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +167 -0
- package/{table/esm2020 → esm2022/table}/lib/date/table.date.module.mjs +31 -31
- package/{table/esm2020 → esm2022/table}/lib/table.cell.action.component.mjs +6 -6
- package/{esm2020 → esm2022}/table/lib/table.cell.input.component.mjs +6 -6
- package/{esm2020 → esm2022}/table/lib/table.cell.summaryend.component.mjs +6 -6
- package/{esm2020 → esm2022}/table/lib/table.cell.summarystart.component.mjs +6 -6
- package/{table/esm2020 → esm2022/table}/lib/table.column.directive.mjs +4 -4
- package/{esm2020 → esm2022}/table/lib/table.column.footer.component.mjs +6 -6
- package/{esm2020 → esm2022}/table/lib/table.column.header.component.mjs +6 -6
- package/{table/esm2020 → esm2022/table}/lib/table.component.mjs +4 -4
- package/{table/esm2020 → esm2022/table}/lib/table.directive.mjs +4 -4
- package/{table/esm2020 → esm2022/table}/lib/table.item.action.component.mjs +6 -6
- package/{table/esm2020 → esm2022/table}/lib/table.item.cell.component.mjs +6 -6
- package/{esm2020 → esm2022}/table/lib/table.item.directive.mjs +4 -4
- package/{table/esm2020 → esm2022/table}/lib/table.item.header.component.mjs +6 -6
- package/{esm2020 → esm2022}/table/lib/table.module.mjs +27 -27
- package/{table/esm2020 → esm2022/table}/lib/table.store.mjs +4 -4
- package/{fesm2020 → fesm2022}/dereekb-dbx-web-calendar.mjs +49 -49
- package/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -0
- package/{mapbox/fesm2020 → fesm2022}/dereekb-dbx-web-mapbox.mjs +109 -141
- package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/dereekb-dbx-web-table.mjs +138 -137
- package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/dereekb-dbx-web.mjs +1208 -1175
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -0
- package/lib/action/_action.scss +2 -2
- package/lib/action/action.confirm.directive.d.ts +1 -1
- package/lib/action/key.trigger.directive.d.ts +1 -1
- package/lib/action/snackbar/_snackbar.scss +3 -2
- package/lib/action/snackbar/action.snackbar.component.d.ts +1 -1
- package/lib/action/snackbar/action.snackbar.d.ts +2 -2
- package/lib/action/snackbar/action.snackbar.directive.d.ts +1 -1
- package/lib/action/snackbar/action.snackbar.generator.d.ts +2 -2
- package/lib/action/transition/transition.safety.dialog.component.d.ts +1 -1
- package/lib/action/transition/transition.safety.directive.d.ts +2 -2
- package/lib/button/_button.scss +22 -27
- package/lib/button/button.component.d.ts +1 -1
- package/lib/button/button.spacer.component.d.ts +1 -1
- package/lib/button/icon/icon.button.component.d.ts +1 -1
- package/lib/button/progress/bar.button.component.d.ts +2 -1
- package/lib/button/progress/bar.button.component.scss +20 -12
- package/lib/button/progress/base.progress.button.directive.d.ts +3 -2
- package/lib/button/progress/button.progress.config.d.ts +1 -5
- package/lib/button/progress/shared.button.component.scss +17 -0
- package/lib/button/progress/spinner.button.component.d.ts +2 -1
- package/lib/button/progress/spinner.button.component.scss +21 -1
- package/lib/error/_error.scss +3 -2
- package/lib/error/default.error.widget.component.d.ts +1 -1
- package/lib/error/error.action.directive.d.ts +1 -1
- package/lib/error/error.component.d.ts +1 -1
- package/lib/error/error.details.component.d.ts +1 -1
- package/lib/error/error.loading.directive.d.ts +1 -1
- package/lib/error/error.popover.component.d.ts +1 -1
- package/lib/error/error.widget.component.d.ts +1 -1
- package/lib/error/error.widget.directive.d.ts +1 -1
- package/lib/extension/_extension.scss +15 -10
- package/lib/extension/calendar/_calendar.scss +3 -2
- package/lib/extension/model/model.tracker.d.ts +1 -1
- package/lib/extension/model/model.tracker.view.storage.d.ts +0 -4
- package/lib/extension/model/model.types.d.ts +2 -2
- package/lib/extension/model/state/reducers/index.d.ts +1 -1
- package/lib/extension/model/state/state.d.ts +1 -1
- package/lib/extension/structure/structure.body.directive.d.ts +1 -1
- package/lib/extension/structure/structure.structure.directive.d.ts +1 -1
- package/lib/extension/table/_table.scss +3 -2
- package/lib/extension/widget/widget.component.d.ts +1 -1
- package/lib/extension/widget/widget.d.ts +3 -3
- package/lib/extension/widget/widget.directive.d.ts +1 -1
- package/lib/extension/widget/widget.list.component.d.ts +4 -4
- package/lib/interaction/_interaction.scss +7 -7
- package/lib/interaction/dialog/_dialog.scss +26 -9
- package/lib/interaction/dialog/abstract.dialog.directive.d.ts +1 -1
- package/lib/interaction/dialog/dialog.action.directive.d.ts +2 -2
- package/lib/interaction/dialog/dialog.content.close.component.d.ts +2 -1
- package/lib/interaction/dialog/dialog.content.component.d.ts +2 -2
- package/lib/interaction/dialog/dialog.content.d.ts +1 -1
- package/lib/interaction/dialog/dialog.content.footer.component.d.ts +1 -1
- package/lib/interaction/filter/_filter.scss +3 -2
- package/lib/interaction/filter/filter.module.d.ts +1 -1
- package/lib/interaction/filter/filter.partial.d.ts +1 -1
- package/lib/interaction/filter/filter.partial.list.component.d.ts +1 -1
- package/lib/interaction/filter/filter.partial.menu.component.d.ts +2 -2
- package/lib/interaction/filter/filter.popover.button.component.d.ts +1 -1
- package/lib/interaction/filter/filter.popover.button.directive.d.ts +4 -4
- package/lib/interaction/filter/filter.popover.component.d.ts +1 -1
- package/lib/interaction/filter/filter.preset.d.ts +3 -3
- package/lib/interaction/filter/filter.preset.list.component.d.ts +1 -1
- package/lib/interaction/filter/filter.preset.menu.component.d.ts +2 -2
- package/lib/interaction/filter/filter.wrapper.component.d.ts +1 -1
- package/lib/interaction/popover/_popover.scss +3 -2
- package/lib/interaction/popover/abstract.popover.directive.d.ts +1 -1
- package/lib/interaction/popover/abstract.popover.ref.directive.d.ts +2 -2
- package/lib/interaction/popover/popover.action.directive.d.ts +2 -2
- package/lib/interaction/popover/popover.close.component.d.ts +1 -1
- package/lib/interaction/popover/popover.component.d.ts +1 -1
- package/lib/interaction/popover/popover.content.component.d.ts +1 -1
- package/lib/interaction/popover/popover.controls.directive.d.ts +1 -1
- package/lib/interaction/popover/popover.coordinator.component.d.ts +1 -1
- package/lib/interaction/popover/popover.d.ts +1 -1
- package/lib/interaction/popover/popover.header.component.d.ts +1 -1
- package/lib/interaction/popover/popover.scroll.content.component.d.ts +1 -1
- package/lib/interaction/popover/popover.service.d.ts +1 -1
- package/lib/interaction/popup/_popup.scss +7 -2
- package/lib/interaction/popup/abstract.popup.directive.d.ts +1 -1
- package/lib/interaction/popup/popup.component.d.ts +1 -1
- package/lib/interaction/popup/popup.content.component.d.ts +1 -1
- package/lib/interaction/popup/popup.controls.buttons.component.d.ts +1 -1
- package/lib/interaction/popup/popup.controls.component.d.ts +1 -1
- package/lib/interaction/popup/popup.coordinator.component.d.ts +1 -1
- package/lib/interaction/popup/popup.d.ts +1 -1
- package/lib/interaction/popup/popup.position.strategy.d.ts +1 -1
- package/lib/interaction/prompt/_prompt.scss +3 -2
- package/lib/interaction/prompt/prompt.box.component.d.ts +1 -1
- package/lib/interaction/prompt/prompt.button.confirm.directive.d.ts +1 -1
- package/lib/interaction/prompt/prompt.component.d.ts +1 -1
- package/lib/interaction/prompt/prompt.confirm.component.d.ts +1 -1
- package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +1 -1
- package/lib/interaction/prompt/prompt.confirm.directive.d.ts +2 -2
- package/lib/interaction/prompt/prompt.page.component.d.ts +1 -1
- package/lib/interaction/style/_style.scss +3 -2
- package/lib/keypress/keydown.listener.directive.d.ts +1 -1
- package/lib/layout/_layout.scss +14 -14
- package/lib/layout/bar/_bar.scss +5 -2
- package/lib/layout/bar/bar.d.ts +1 -1
- package/lib/layout/bar/bar.directive.d.ts +1 -1
- package/lib/layout/bar/bar.header.component.d.ts +1 -1
- package/lib/layout/bar/pagebar.component.d.ts +1 -1
- package/lib/layout/block/_block.scss +3 -2
- package/lib/layout/block/two.block.component.d.ts +1 -1
- package/lib/layout/card/_card.scss +3 -2
- package/lib/layout/card/card.box.component.d.ts +1 -1
- package/lib/layout/card/card.box.container.component.d.ts +1 -1
- package/lib/layout/column/_column.scss +4 -3
- package/lib/layout/column/one/one.column.component.d.ts +1 -1
- package/lib/layout/column/two/two.column.back.directive.d.ts +1 -1
- package/lib/layout/column/two/two.column.component.d.ts +1 -1
- package/lib/layout/column/two/two.column.context.directive.d.ts +1 -1
- package/lib/layout/column/two/two.column.full.left.directive.d.ts +1 -1
- package/lib/layout/column/two/two.column.head.component.d.ts +1 -1
- package/lib/layout/column/two/two.column.right.component.d.ts +1 -1
- package/lib/layout/column/two/two.column.sref.directive.d.ts +1 -1
- package/lib/layout/column/two/two.column.sref.showright.directive.d.ts +1 -1
- package/lib/layout/compact/compact.d.ts +1 -1
- package/lib/layout/compact/compact.directive.d.ts +1 -1
- package/lib/layout/content/_content.scss +3 -2
- package/lib/layout/content/content.border.directive.d.ts +1 -1
- package/lib/layout/content/content.box.directive.d.ts +1 -5
- package/lib/layout/content/content.container.directive.d.ts +3 -3
- package/lib/layout/content/content.directive.d.ts +1 -1
- package/lib/layout/content/content.elevate.directive.d.ts +1 -1
- package/lib/layout/content/content.page.directive.d.ts +1 -1
- package/lib/layout/content/content.pit.directive.d.ts +1 -1
- package/lib/layout/flag/_flag.scss +3 -2
- package/lib/layout/flag/flag.component.d.ts +1 -1
- package/lib/layout/flag/flag.prompt.component.d.ts +1 -1
- package/lib/layout/flex/_flex.scss +3 -2
- package/lib/layout/flex/flex.d.ts +1 -1
- package/lib/layout/flex/flex.group.directive.d.ts +1 -1
- package/lib/layout/flex/flex.size.directive.d.ts +1 -1
- package/lib/layout/item/_item.scss +3 -2
- package/lib/layout/item/item.icon.component.d.ts +1 -1
- package/lib/layout/list/_list.scss +22 -13
- package/lib/layout/list/list.component.d.ts +4 -4
- package/lib/layout/list/list.content.empty.component.d.ts +1 -1
- package/lib/layout/list/list.directive.d.ts +4 -4
- package/lib/layout/list/list.grid.view.component.d.ts +3 -3
- package/lib/layout/list/list.grid.view.directive.d.ts +1 -1
- package/lib/layout/list/list.layout.module.d.ts +1 -1
- package/lib/layout/list/list.view.d.ts +1 -1
- package/lib/layout/list/list.view.directive.d.ts +1 -1
- package/lib/layout/list/list.view.selection.directive.d.ts +1 -1
- package/lib/layout/list/list.view.value.component.d.ts +2 -2
- package/lib/layout/list/list.view.value.d.ts +3 -3
- package/lib/layout/list/list.view.value.directive.d.ts +1 -1
- package/lib/layout/list/list.view.value.item.directive.d.ts +1 -1
- package/lib/layout/list/list.view.value.modifier.d.ts +1 -1
- package/lib/layout/list/list.view.value.modifier.directive.d.ts +2 -2
- package/lib/layout/list/list.view.value.modifier.ripple.directive.d.ts +2 -6
- package/lib/layout/list/list.view.value.modifier.selection.directive.d.ts +1 -1
- package/lib/layout/list/list.view.value.selection.component.d.ts +2 -2
- package/lib/layout/section/_section.scss +3 -2
- package/lib/layout/section/section.component.d.ts +1 -1
- package/lib/layout/section/section.d.ts +1 -1
- package/lib/layout/section/section.header.component.d.ts +1 -1
- package/lib/layout/section/section.intro.component.d.ts +1 -1
- package/lib/layout/section/section.page.component.d.ts +2 -2
- package/lib/layout/section/subsection.component.d.ts +1 -1
- package/lib/layout/step/_step.scss +3 -2
- package/lib/layout/step/step.component.d.ts +1 -1
- package/lib/layout/style/_style.scss +3 -2
- package/lib/layout/style/spacer.directive.d.ts +1 -1
- package/lib/layout/style/style.body.directive.d.ts +1 -1
- package/lib/layout/style/style.color.directive.d.ts +1 -1
- package/lib/layout/style/style.d.ts +1 -1
- package/lib/layout/style/style.directive.d.ts +1 -1
- package/lib/layout/style/style.set.directive.d.ts +1 -1
- package/lib/layout/text/_text.scss +10 -2
- package/lib/layout/text/address.component.d.ts +1 -1
- package/lib/layout/text/detail.block.component.d.ts +1 -1
- package/lib/layout/text/detail.block.header.component.d.ts +1 -1
- package/lib/layout/text/form.description.component.d.ts +1 -1
- package/lib/layout/text/hint.component.d.ts +1 -1
- package/lib/layout/text/icon.spacer.component.d.ts +1 -1
- package/lib/layout/text/label.block.component.d.ts +1 -1
- package/lib/layout/text/label.component.d.ts +1 -1
- package/lib/layout/text/linkify.component.d.ts +1 -1
- package/lib/layout/text/note.component.d.ts +1 -1
- package/lib/layout/text/notice.component.d.ts +1 -1
- package/lib/layout/text/ok.component.d.ts +1 -1
- package/lib/layout/text/success.component.d.ts +1 -1
- package/lib/layout/text/text.chip.directive.d.ts +1 -1
- package/lib/layout/text/text.chips.component.d.ts +4 -2
- package/lib/layout/text/warn.component.d.ts +1 -1
- package/lib/loading/_loading.scss +3 -2
- package/lib/loading/basic-loading.component.d.ts +1 -1
- package/lib/loading/loading-progress.component.d.ts +1 -1
- package/lib/loading/loading.action.directive.d.ts +1 -1
- package/lib/loading/loading.component.d.ts +1 -1
- package/lib/router/_router.scss +5 -5
- package/lib/router/layout/anchor/_anchor.scss +3 -2
- package/lib/router/layout/anchor/anchor.component.d.ts +1 -1
- package/lib/router/layout/anchor/anchor.content.component.d.ts +1 -1
- package/lib/router/layout/anchor/anchor.icon.component.d.ts +1 -1
- package/lib/router/layout/anchor/anchor.link.component.d.ts +1 -1
- package/lib/router/layout/anchor/anchor.segue.directive.d.ts +2 -2
- package/lib/router/layout/anchorlist/_anchorlist.scss +42 -27
- package/lib/router/layout/anchorlist/anchorlist.component.d.ts +1 -1
- package/lib/router/layout/list/router.list.directive.d.ts +2 -2
- package/lib/router/layout/navbar/_navbar.scss +3 -2
- package/lib/router/layout/navbar/navbar.component.d.ts +6 -5
- package/lib/router/layout/navbar/navbar.module.d.ts +3 -2
- package/lib/router/layout/sidenav/_sidenav.scss +28 -25
- package/lib/router/layout/sidenav/sidenav.button.component.d.ts +1 -1
- package/lib/router/layout/sidenav/sidenav.component.d.ts +1 -1
- package/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.d.ts +1 -1
- package/lib/router/layout/sidenav/sidenav.page.component.d.ts +1 -1
- package/lib/router/layout/sidenav/sidenav.pagebar.component.d.ts +1 -1
- package/lib/router/provider/ngrouter/anchor.component.d.ts +1 -1
- package/lib/router/provider/uirouter/anchor.component.d.ts +1 -1
- package/lib/screen/screen.d.ts +2 -2
- package/lib/style/_all-typography.scss +9 -2
- package/lib/style/_core.scss +1 -2
- package/lib/style/_theming.scss +1 -1
- package/mapbox/esm2022/lib/index.mjs +21 -0
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.change.service.mjs +4 -4
- package/mapbox/{esm2020 → esm2022}/lib/mapbox.injection.component.mjs +6 -6
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.injection.store.mjs +4 -4
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.injection.store.provide.mjs +7 -7
- package/mapbox/esm2022/lib/mapbox.layout.component.mjs +184 -0
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.layout.drawer.component.mjs +4 -4
- package/mapbox/{esm2020 → esm2022}/lib/mapbox.layout.resize.sync.directive.mjs +4 -4
- package/mapbox/esm2022/lib/mapbox.marker.component.mjs +139 -0
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.markers.component.mjs +6 -6
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.menu.component.mjs +7 -7
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.module.mjs +45 -45
- package/mapbox/{esm2020 → esm2022}/lib/mapbox.service.mjs +4 -4
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.store.map.directive.mjs +4 -4
- package/mapbox/{esm2020 → esm2022}/lib/mapbox.store.mjs +5 -5
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.store.provide.mjs +7 -7
- package/mapbox/esm2022/lib/mapbox.util.mjs +15 -0
- package/{fesm2020 → mapbox/fesm2022}/dereekb-dbx-web-mapbox.mjs +109 -141
- package/mapbox/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -0
- package/mapbox/lib/index.d.ts +0 -1
- package/mapbox/lib/mapbox.d.ts +7 -7
- package/mapbox/lib/mapbox.injection.component.d.ts +1 -1
- package/mapbox/lib/mapbox.injection.store.d.ts +1 -1
- package/mapbox/lib/mapbox.injection.store.provide.d.ts +1 -1
- package/mapbox/lib/mapbox.layout.component.d.ts +3 -7
- package/mapbox/lib/mapbox.layout.drawer.component.d.ts +2 -2
- package/mapbox/lib/mapbox.layout.resize.sync.directive.d.ts +1 -1
- package/mapbox/lib/mapbox.marker.component.d.ts +2 -2
- package/mapbox/lib/mapbox.marker.d.ts +4 -4
- package/mapbox/lib/mapbox.markers.component.d.ts +1 -1
- package/mapbox/lib/mapbox.menu.component.d.ts +1 -1
- package/mapbox/lib/mapbox.rxjs.d.ts +1 -1
- package/mapbox/lib/mapbox.store.d.ts +5 -5
- package/mapbox/lib/mapbox.store.map.directive.d.ts +1 -1
- package/mapbox/lib/mapbox.store.provide.d.ts +1 -1
- package/mapbox/lib/mapbox.util.d.ts +1 -1
- package/mapbox/package.json +10 -25
- package/package.json +37 -40
- package/table/{esm2020 → esm2022}/lib/date/date.table.column.header.component.mjs +6 -6
- package/table/esm2022/lib/date/daterange.table.cell.input.component.mjs +167 -0
- package/{esm2020/table → table/esm2022}/lib/date/table.date.module.mjs +31 -31
- package/{esm2020/table → table/esm2022}/lib/table.cell.action.component.mjs +6 -6
- package/table/{esm2020 → esm2022}/lib/table.cell.input.component.mjs +6 -6
- package/table/{esm2020 → esm2022}/lib/table.cell.summaryend.component.mjs +6 -6
- package/table/{esm2020 → esm2022}/lib/table.cell.summarystart.component.mjs +6 -6
- package/{esm2020/table → table/esm2022}/lib/table.column.directive.mjs +4 -4
- package/table/{esm2020 → esm2022}/lib/table.column.footer.component.mjs +6 -6
- package/table/{esm2020 → esm2022}/lib/table.column.header.component.mjs +6 -6
- package/{esm2020/table → table/esm2022}/lib/table.component.mjs +4 -4
- package/{esm2020/table → table/esm2022}/lib/table.directive.mjs +4 -4
- package/{esm2020/table → table/esm2022}/lib/table.item.action.component.mjs +6 -6
- package/{esm2020/table → table/esm2022}/lib/table.item.cell.component.mjs +6 -6
- package/table/{esm2020 → esm2022}/lib/table.item.directive.mjs +4 -4
- package/{esm2020/table → table/esm2022}/lib/table.item.header.component.mjs +6 -6
- package/table/{esm2020 → esm2022}/lib/table.module.mjs +27 -27
- package/{esm2020/table → table/esm2022}/lib/table.store.mjs +4 -4
- package/table/{fesm2020 → fesm2022}/dereekb-dbx-web-table.mjs +138 -137
- package/table/fesm2022/dereekb-dbx-web-table.mjs.map +1 -0
- package/table/lib/date/date.table.column.header.component.d.ts +1 -1
- package/table/lib/date/daterange.table.cell.input.component.d.ts +5 -1
- package/table/lib/table.cell.action.component.d.ts +2 -2
- package/table/lib/table.cell.input.component.d.ts +2 -2
- package/table/lib/table.cell.summaryend.component.d.ts +2 -2
- package/table/lib/table.cell.summarystart.component.d.ts +2 -2
- package/table/lib/table.column.directive.d.ts +1 -1
- package/table/lib/table.column.footer.component.d.ts +2 -2
- package/table/lib/table.column.header.component.d.ts +2 -2
- package/table/lib/table.component.d.ts +1 -1
- package/table/lib/table.directive.d.ts +1 -1
- package/table/lib/table.item.action.component.d.ts +2 -2
- package/table/lib/table.item.cell.component.d.ts +2 -2
- package/table/lib/table.item.directive.d.ts +1 -1
- package/table/lib/table.item.header.component.d.ts +2 -2
- package/table/package.json +10 -24
- package/calendar/esm2020/lib/calendar.base.component.mjs +0 -57
- package/calendar/fesm2015/dereekb-dbx-web-calendar.mjs +0 -391
- package/calendar/fesm2015/dereekb-dbx-web-calendar.mjs.map +0 -1
- package/calendar/fesm2020/dereekb-dbx-web-calendar.mjs.map +0 -1
- package/esm2020/calendar/lib/calendar.base.component.mjs +0 -57
- package/esm2020/lib/action/snackbar/action.snackbar.component.mjs +0 -96
- package/esm2020/lib/action/snackbar/action.snackbar.directive.mjs +0 -64
- package/esm2020/lib/action/snackbar/action.snackbar.service.mjs +0 -82
- package/esm2020/lib/button/progress/bar.button.component.mjs +0 -16
- package/esm2020/lib/button/progress/base.progress.button.directive.mjs +0 -97
- package/esm2020/lib/button/progress/spinner.button.component.mjs +0 -43
- package/esm2020/lib/error/error.widget.directive.mjs +0 -23
- package/esm2020/lib/extension/model/model.tracker.view.storage.mjs +0 -76
- package/esm2020/lib/extension/model/model.types.service.mjs +0 -67
- package/esm2020/lib/extension/structure/structure.body.directive.mjs +0 -28
- package/esm2020/lib/extension/structure/structure.structure.directive.mjs +0 -23
- package/esm2020/lib/extension/widget/widget.list.component.mjs +0 -66
- package/esm2020/lib/interaction/dialog/dialog.content.close.component.mjs +0 -37
- package/esm2020/lib/interaction/filter/filter.popover.component.mjs +0 -125
- package/esm2020/lib/interaction/popover/popover.scroll.content.component.mjs +0 -51
- package/esm2020/lib/layout/content/content.box.directive.mjs +0 -36
- package/esm2020/lib/layout/content/content.container.directive.mjs +0 -31
- package/esm2020/lib/layout/list/list.component.mjs +0 -253
- package/esm2020/lib/layout/list/list.view.value.item.directive.mjs +0 -20
- package/esm2020/lib/layout/text/text.chips.component.mjs +0 -34
- package/esm2020/lib/router/layout/anchor/anchor.component.mjs +0 -66
- package/esm2020/lib/router/layout/anchor/anchor.content.component.mjs +0 -49
- package/esm2020/lib/router/layout/anchorlist/anchorlist.component.mjs +0 -38
- package/esm2020/lib/router/layout/navbar/navbar.component.mjs +0 -133
- package/esm2020/lib/router/layout/navbar/navbar.module.mjs +0 -49
- package/esm2020/mapbox/lib/index.mjs +0 -22
- package/esm2020/mapbox/lib/mapbox.cdref.service.mjs +0 -30
- package/esm2020/mapbox/lib/mapbox.layout.component.mjs +0 -189
- package/esm2020/mapbox/lib/mapbox.marker.component.mjs +0 -139
- package/esm2020/mapbox/lib/mapbox.util.mjs +0 -15
- package/esm2020/table/lib/date/daterange.table.cell.input.component.mjs +0 -166
- package/fesm2015/dereekb-dbx-web-calendar.mjs +0 -391
- package/fesm2015/dereekb-dbx-web-calendar.mjs.map +0 -1
- package/fesm2015/dereekb-dbx-web-mapbox.mjs +0 -1551
- package/fesm2015/dereekb-dbx-web-mapbox.mjs.map +0 -1
- package/fesm2015/dereekb-dbx-web-table.mjs +0 -745
- package/fesm2015/dereekb-dbx-web-table.mjs.map +0 -1
- package/fesm2015/dereekb-dbx-web.mjs +0 -9117
- package/fesm2015/dereekb-dbx-web.mjs.map +0 -1
- package/fesm2020/dereekb-dbx-web-calendar.mjs.map +0 -1
- package/fesm2020/dereekb-dbx-web-mapbox.mjs.map +0 -1
- package/fesm2020/dereekb-dbx-web-table.mjs.map +0 -1
- package/fesm2020/dereekb-dbx-web.mjs.map +0 -1
- package/mapbox/esm2020/lib/index.mjs +0 -22
- package/mapbox/esm2020/lib/mapbox.cdref.service.mjs +0 -30
- package/mapbox/esm2020/lib/mapbox.layout.component.mjs +0 -189
- package/mapbox/esm2020/lib/mapbox.marker.component.mjs +0 -139
- package/mapbox/esm2020/lib/mapbox.util.mjs +0 -15
- package/mapbox/fesm2015/dereekb-dbx-web-mapbox.mjs +0 -1551
- package/mapbox/fesm2015/dereekb-dbx-web-mapbox.mjs.map +0 -1
- package/mapbox/fesm2020/dereekb-dbx-web-mapbox.mjs.map +0 -1
- package/mapbox/lib/mapbox.cdref.service.d.ts +0 -15
- package/table/esm2020/lib/date/daterange.table.cell.input.component.mjs +0 -166
- package/table/fesm2015/dereekb-dbx-web-table.mjs +0 -745
- package/table/fesm2015/dereekb-dbx-web-table.mjs.map +0 -1
- package/table/fesm2020/dereekb-dbx-web-table.mjs.map +0 -1
- /package/calendar/{esm2020 → esm2022}/dereekb-dbx-web-calendar.mjs +0 -0
- /package/calendar/{esm2020 → esm2022}/index.mjs +0 -0
- /package/calendar/{esm2020 → esm2022}/lib/calendar.mjs +0 -0
- /package/calendar/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/dereekb-dbx-web-calendar.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/lib/calendar.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dereekb-dbx-web.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/action/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/action/snackbar/action.snackbar.default.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/action/snackbar/action.snackbar.generator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/action/snackbar/action.snackbar.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/action/snackbar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/action/transition/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/button/icon/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/button/progress/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/error/error.api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/error/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/error/state.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/model.tracker.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/model.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/state/actions/actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/state/actions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/state/actions/model.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/state/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/state/reducers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/state/reducers/model.module.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/model/state/state.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/structure/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/widget/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/widget/widget.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/dialog/dialog.content.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/dialog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/filter/filter.menu.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/filter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/popover/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/popover/popover.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/popover/popover.position.strategy.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/popup/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/popup/popup.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/popup/popup.position.strategy.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/prompt/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interaction/prompt/prompt.confirm.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/keypress/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/bar/bar.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/bar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/block/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/card/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/column/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/column/one/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/column/two/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/compact/compact.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/compact/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/content/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/flag/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/flex/flex.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/flex/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/item/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/list/list.track.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/list/list.view.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/list/list.view.value.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/list/list.view.value.modifier.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/list/list.wrapper.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/section/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/section/section.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/step/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/style/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/style/style.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/text/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/loading/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/layout/anchor/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/layout/anchorlist/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/layout/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/layout/list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/layout/navbar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/layout/sidenav/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/layout/sidenav/sidenav.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/provider/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/provider/ngrouter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/provider/router.provider.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/provider/uirouter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/screen/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/screen/screen.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/util/cdk.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/util/index.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/dereekb-dbx-web-mapbox.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/index.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/lib/mapbox.marker.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/lib/mapbox.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/lib/mapbox.rxjs.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/lib/options.mjs +0 -0
- /package/{esm2020 → esm2022}/table/dereekb-dbx-web-table.mjs +0 -0
- /package/{esm2020 → esm2022}/table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table/lib/date/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table/lib/table.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/dereekb-dbx-web-mapbox.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/index.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/lib/mapbox.marker.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/lib/mapbox.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/lib/mapbox.rxjs.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/lib/options.mjs +0 -0
- /package/table/{esm2020 → esm2022}/dereekb-dbx-web-table.mjs +0 -0
- /package/table/{esm2020 → esm2022}/index.mjs +0 -0
- /package/table/{esm2020 → esm2022}/lib/date/index.mjs +0 -0
- /package/table/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/table/{esm2020 → esm2022}/lib/table.mjs +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dereekb-dbx-web.mjs","sources":["../../../../packages/dbx-web/src/lib/layout/style/spacer.directive.ts","../../../../packages/dbx-web/src/lib/button/progress/button.progress.config.ts","../../../../packages/dbx-web/src/lib/button/progress/base.progress.button.directive.ts","../../../../packages/dbx-web/src/lib/button/progress/spinner.button.component.ts","../../../../packages/dbx-web/src/lib/button/progress/spinner.button.component.html","../../../../packages/dbx-web/src/lib/button/button.component.ts","../../../../packages/dbx-web/src/lib/button/button.spacer.component.ts","../../../../packages/dbx-web/src/lib/action/snackbar/action.snackbar.component.ts","../../../../packages/dbx-web/src/lib/action/snackbar/action.snackbar.component.html","../../../../packages/dbx-web/src/lib/action/snackbar/action.snackbar.default.ts","../../../../packages/dbx-web/src/lib/action/snackbar/action.snackbar.generator.ts","../../../../packages/dbx-web/src/lib/action/snackbar/action.snackbar.service.ts","../../../../packages/dbx-web/src/lib/action/snackbar/action.snackbar.directive.ts","../../../../packages/dbx-web/src/lib/button/icon/icon.button.component.ts","../../../../packages/dbx-web/src/lib/button/icon/icon.button.module.ts","../../../../packages/dbx-web/src/lib/button/progress/bar.button.component.ts","../../../../packages/dbx-web/src/lib/button/progress/bar.button.component.html","../../../../packages/dbx-web/src/lib/button/progress/button.progress.module.ts","../../../../packages/dbx-web/src/lib/button/button.module.ts","../../../../packages/dbx-web/src/lib/interaction/dialog/abstract.dialog.directive.ts","../../../../packages/dbx-web/src/lib/interaction/dialog/dialog.content.close.component.ts","../../../../packages/dbx-web/src/lib/interaction/dialog/dialog.content.footer.component.ts","../../../../packages/dbx-web/src/lib/interaction/dialog/dialog.content.component.ts","../../../../packages/dbx-web/src/lib/interaction/dialog/dialog.action.directive.ts","../../../../packages/dbx-web/src/lib/interaction/dialog/dialog.content.ts","../../../../packages/dbx-web/src/lib/layout/style/style.service.ts","../../../../packages/dbx-web/src/lib/layout/style/style.set.directive.ts","../../../../packages/dbx-web/src/lib/layout/style/style.directive.ts","../../../../packages/dbx-web/src/lib/layout/style/style.body.directive.ts","../../../../packages/dbx-web/src/lib/layout/style/style.ts","../../../../packages/dbx-web/src/lib/layout/style/style.color.directive.ts","../../../../packages/dbx-web/src/lib/layout/style/style.layout.module.ts","../../../../packages/dbx-web/src/lib/interaction/dialog/dialog.module.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.position.strategy.ts","../../../../packages/dbx-web/src/lib/layout/compact/compact.ts","../../../../packages/dbx-web/src/lib/layout/compact/compact.store.ts","../../../../packages/dbx-web/src/lib/layout/compact/compact.directive.ts","../../../../packages/dbx-web/src/lib/layout/compact/compact.layout.module.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.ts","../../../../packages/dbx-web/src/lib/keypress/keydown.listener.directive.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.coordinator.service.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.coordinator.component.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.component.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.service.ts","../../../../packages/dbx-web/src/lib/interaction/popover/abstract.popover.directive.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.content.component.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.header.component.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.scroll.content.component.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.popover.component.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.popover.component.html","../../../../packages/dbx-web/src/lib/interaction/popover/abstract.popover.ref.directive.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.popover.button.directive.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.popover.button.component.ts","../../../../packages/dbx-web/src/lib/keypress/keypress.module.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.controls.directive.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.close.component.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.content.module.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.action.directive.ts","../../../../packages/dbx-web/src/lib/interaction/popover/popover.module.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.wrapper.component.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.wrapper.component.html","../../../../packages/dbx-web/src/lib/interaction/filter/filter.preset.ts","../../../../packages/dbx-web/src/lib/router/provider/router.provider.config.ts","../../../../packages/dbx-web/src/lib/router/layout/anchor/anchor.component.ts","../../../../packages/dbx-web/src/lib/router/layout/anchor/anchor.component.html","../../../../packages/dbx-web/src/lib/router/layout/anchorlist/anchorlist.component.ts","../../../../packages/dbx-web/src/lib/router/layout/anchorlist/anchorlist.component.html","../../../../packages/dbx-web/src/lib/interaction/filter/filter.preset.list.component.ts","../../../../packages/dbx-web/src/lib/router/layout/anchor/anchor.icon.component.ts","../../../../packages/dbx-web/src/lib/router/layout/anchor/anchor.link.component.ts","../../../../packages/dbx-web/src/lib/router/layout/anchor/anchor.content.component.ts","../../../../packages/dbx-web/src/lib/router/layout/anchor/anchor.module.ts","../../../../packages/dbx-web/src/lib/router/layout/anchorlist/anchorlist.module.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.menu.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.preset.menu.component.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.preset.menu.component.html","../../../../packages/dbx-web/src/lib/router/layout/anchor/anchor.segue.directive.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.modifier.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.modifier.directive.ts","../../../../packages/dbx-web/src/lib/router/layout/list/router.list.directive.ts","../../../../packages/dbx-web/src/lib/router/layout/list/list.module.ts","../../../../packages/dbx-web/src/lib/screen/screen.ts","../../../../packages/dbx-web/src/lib/screen/screen.service.ts","../../../../packages/dbx-web/src/lib/router/layout/navbar/navbar.component.ts","../../../../packages/dbx-web/src/lib/router/layout/navbar/navbar.component.html","../../../../packages/dbx-web/src/lib/router/layout/navbar/navbar.module.ts","../../../../packages/dbx-web/src/lib/screen/screen.module.ts","../../../../packages/dbx-web/src/lib/router/layout/sidenav/sidenav.ts","../../../../packages/dbx-web/src/lib/router/layout/sidenav/sidenav.component.ts","../../../../packages/dbx-web/src/lib/router/layout/sidenav/sidenav.component.html","../../../../packages/dbx-web/src/lib/layout/bar/pagebar.component.ts","../../../../packages/dbx-web/src/lib/layout/bar/pagebar.component.html","../../../../packages/dbx-web/src/lib/router/layout/sidenav/sidenav.button.component.ts","../../../../packages/dbx-web/src/lib/router/layout/sidenav/sidenav.pagebar.component.ts","../../../../packages/dbx-web/src/lib/router/layout/sidenav/sidenav.page.component.ts","../../../../packages/dbx-web/src/lib/layout/bar/bar.directive.ts","../../../../packages/dbx-web/src/lib/layout/bar/bar.header.component.ts","../../../../packages/dbx-web/src/lib/layout/bar/bar.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/content/content.elevate.directive.ts","../../../../packages/dbx-web/src/lib/layout/content/content.directive.ts","../../../../packages/dbx-web/src/lib/layout/content/content.border.directive.ts","../../../../packages/dbx-web/src/lib/layout/content/content.container.directive.ts","../../../../packages/dbx-web/src/lib/layout/content/content.box.directive.ts","../../../../packages/dbx-web/src/lib/layout/content/content.page.directive.ts","../../../../packages/dbx-web/src/lib/layout/content/content.pit.directive.ts","../../../../packages/dbx-web/src/lib/layout/content/content.layout.module.ts","../../../../packages/dbx-web/src/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.ts","../../../../packages/dbx-web/src/lib/router/layout/sidenav/sidenav.module.ts","../../../../packages/dbx-web/src/lib/router/layout/sidenav/index.ts","../../../../packages/dbx-web/src/lib/router/layout/layout.module.ts","../../../../packages/dbx-web/src/lib/router/provider/ngrouter/anchor.component.ts","../../../../packages/dbx-web/src/lib/router/provider/ngrouter/anchor.component.html","../../../../packages/dbx-web/src/lib/router/provider/ngrouter/angular.router.module.ts","../../../../packages/dbx-web/src/lib/router/provider/uirouter/anchor.component.ts","../../../../packages/dbx-web/src/lib/router/provider/uirouter/anchor.component.html","../../../../packages/dbx-web/src/lib/router/provider/uirouter/uirouter.router.module.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.partial.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.partial.menu.component.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.partial.list.component.ts","../../../../packages/dbx-web/src/lib/interaction/filter/filter.module.ts","../../../../packages/dbx-web/src/lib/layout/block/two.block.component.ts","../../../../packages/dbx-web/src/lib/layout/block/block.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/card/card.box.component.ts","../../../../packages/dbx-web/src/lib/layout/card/card.box.container.component.ts","../../../../packages/dbx-web/src/lib/layout/card/card.box.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.store.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.back.directive.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.component.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.component.html","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.context.directive.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.full.left.directive.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.head.component.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.sref.directive.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.right.component.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.right.component.html","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.sref.showright.directive.ts","../../../../packages/dbx-web/src/lib/layout/column/two/two.column.module.ts","../../../../packages/dbx-web/src/lib/layout/column/one/one.column.component.ts","../../../../packages/dbx-web/src/lib/layout/column/one/one.column.module.ts","../../../../packages/dbx-web/src/lib/layout/column/column.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/flag/flag.component.ts","../../../../packages/dbx-web/src/lib/layout/flag/flag.prompt.component.ts","../../../../packages/dbx-web/src/lib/layout/flag/flag.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/flex/flex.group.directive.ts","../../../../packages/dbx-web/src/lib/layout/flex/flex.size.directive.ts","../../../../packages/dbx-web/src/lib/layout/flex/flex.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/item/item.icon.component.ts","../../../../packages/dbx-web/src/lib/layout/item/item.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/list/list.content.empty.component.ts","../../../../packages/dbx-web/src/lib/error/error.widget.directive.ts","../../../../packages/dbx-web/src/lib/layout/text/label.component.ts","../../../../packages/dbx-web/src/lib/layout/text/label.block.component.ts","../../../../packages/dbx-web/src/lib/error/default.error.widget.component.ts","../../../../packages/dbx-web/src/lib/error/error.widget.service.ts","../../../../packages/dbx-web/src/lib/error/error.widget.component.ts","../../../../packages/dbx-web/src/lib/error/error.details.component.ts","../../../../packages/dbx-web/src/lib/error/error.popover.component.ts","../../../../packages/dbx-web/src/lib/error/error.component.ts","../../../../packages/dbx-web/src/lib/error/error.component.html","../../../../packages/dbx-web/src/lib/loading/loading-progress.component.ts","../../../../packages/dbx-web/src/lib/loading/basic-loading.component.ts","../../../../packages/dbx-web/src/lib/loading/basic-loading.component.html","../../../../packages/dbx-web/src/lib/loading/loading.component.ts","../../../../packages/dbx-web/src/lib/layout/list/list.component.ts","../../../../packages/dbx-web/src/lib/layout/list/list.component.html","../../../../packages/dbx-web/src/lib/layout/list/list.directive.ts","../../../../packages/dbx-web/src/lib/error/error.action.directive.ts","../../../../packages/dbx-web/src/lib/error/error.api.ts","../../../../packages/dbx-web/src/lib/error/error.loading.directive.ts","../../../../packages/dbx-web/src/lib/layout/text/address.component.ts","../../../../packages/dbx-web/src/lib/layout/text/detail.block.header.component.ts","../../../../packages/dbx-web/src/lib/layout/text/detail.block.component.ts","../../../../packages/dbx-web/src/lib/layout/text/form.description.component.ts","../../../../packages/dbx-web/src/lib/layout/text/hint.component.ts","../../../../packages/dbx-web/src/lib/layout/text/icon.spacer.component.ts","../../../../packages/dbx-web/src/lib/layout/text/linkify.component.ts","../../../../packages/dbx-web/src/lib/layout/text/note.component.ts","../../../../packages/dbx-web/src/lib/layout/text/notice.component.ts","../../../../packages/dbx-web/src/lib/layout/text/ok.component.ts","../../../../packages/dbx-web/src/lib/layout/text/success.component.ts","../../../../packages/dbx-web/src/lib/layout/text/text.chip.directive.ts","../../../../packages/dbx-web/src/lib/layout/text/text.chips.component.ts","../../../../packages/dbx-web/src/lib/layout/text/warn.component.ts","../../../../packages/dbx-web/src/lib/layout/text/text.module.ts","../../../../packages/dbx-web/src/lib/error/error.module.ts","../../../../packages/dbx-web/src/lib/error/state.ts","../../../../packages/dbx-web/src/lib/loading/loading.action.directive.ts","../../../../packages/dbx-web/src/lib/loading/loading.module.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.directive.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.component.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.selection.component.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.modifier.ripple.directive.ts","../../../../packages/dbx-web/src/lib/layout/list/list.grid.view.component.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.modifier.selection.directive.ts","../../../../packages/dbx-web/src/lib/layout/list/list.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/list/list.track.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.directive.ts","../../../../packages/dbx-web/src/lib/layout/list/list.grid.view.directive.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.selection.directive.ts","../../../../packages/dbx-web/src/lib/layout/list/list.view.value.item.directive.ts","../../../../packages/dbx-web/src/lib/layout/list/list.wrapper.ts","../../../../packages/dbx-web/src/lib/layout/section/section.header.component.ts","../../../../packages/dbx-web/src/lib/layout/section/section.component.ts","../../../../packages/dbx-web/src/lib/layout/section/section.intro.component.ts","../../../../packages/dbx-web/src/lib/layout/section/subsection.component.ts","../../../../packages/dbx-web/src/lib/layout/section/section.page.component.ts","../../../../packages/dbx-web/src/lib/layout/section/section.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/step/step.component.ts","../../../../packages/dbx-web/src/lib/layout/step/step.component.html","../../../../packages/dbx-web/src/lib/layout/step/step.layout.module.ts","../../../../packages/dbx-web/src/lib/layout/layout.module.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.position.strategy.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.coordinator.service.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.coordinator.component.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.component.ts","../../../../packages/dbx-web/src/lib/interaction/popup/abstract.popup.directive.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.content.component.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.controls.buttons.component.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.controls.component.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.service.ts","../../../../packages/dbx-web/src/lib/action/key.trigger.directive.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.confirm.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.component.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.confirm.component.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.confirm.component.html","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.confirm.dialog.component.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.confirm.directive.ts","../../../../packages/dbx-web/src/lib/action/action.confirm.directive.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.box.component.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.page.component.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.button.confirm.directive.ts","../../../../packages/dbx-web/src/lib/interaction/prompt/prompt.module.ts","../../../../packages/dbx-web/src/lib/action/action.module.ts","../../../../packages/dbx-web/src/lib/interaction/popup/popup.module.ts","../../../../packages/dbx-web/src/lib/interaction/interaction.module.ts","../../../../packages/dbx-web/src/lib/action/snackbar/action.snackbar.module.ts","../../../../packages/dbx-web/src/lib/action/transition/transition.safety.dialog.component.ts","../../../../packages/dbx-web/src/lib/action/transition/transition.safety.directive.ts","../../../../packages/dbx-web/src/lib/action/transition/action.transition.module.ts","../../../../packages/dbx-web/src/lib/extension/model/state/actions/actions.ts","../../../../packages/dbx-web/src/lib/extension/model/state/actions/model.actions.ts","../../../../packages/dbx-web/src/lib/extension/model/state/reducers/model.module.config.ts","../../../../packages/dbx-web/src/lib/extension/model/state/reducers/index.ts","../../../../packages/dbx-web/src/lib/extension/model/model.tracker.view.storage.ts","../../../../packages/dbx-web/src/lib/extension/model/model.tracker.service.ts","../../../../packages/dbx-web/src/lib/extension/model/state/effects/tracker.effects.ts","../../../../packages/dbx-web/src/lib/extension/model/model.module.ts","../../../../packages/dbx-web/src/lib/extension/model/model.state.service.ts","../../../../packages/dbx-web/src/lib/extension/model/model.tracker.ts","../../../../packages/dbx-web/src/lib/extension/model/model.types.service.ts","../../../../packages/dbx-web/src/lib/extension/structure/structure.structure.directive.ts","../../../../packages/dbx-web/src/lib/extension/structure/structure.body.directive.ts","../../../../packages/dbx-web/src/lib/extension/structure/structure.module.ts","../../../../packages/dbx-web/src/lib/extension/widget/widget.service.ts","../../../../packages/dbx-web/src/lib/extension/widget/widget.component.ts","../../../../packages/dbx-web/src/lib/extension/widget/widget.directive.ts","../../../../packages/dbx-web/src/lib/extension/widget/widget.list.component.ts","../../../../packages/dbx-web/src/lib/extension/widget/widget.module.ts","../../../../packages/dbx-web/src/lib/extension/index.ts","../../../../packages/dbx-web/src/lib/util/cdk.ts","../../../../packages/dbx-web/src/lib/dbx-web.module.ts","../../../../packages/dbx-web/src/dereekb-dbx-web.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'dbx-spacer, [dbxSpacer]',\n host: {\n class: 'dbx-spacer'\n }\n})\nexport class DbxSpacerDirective {}\n","import { InjectionToken } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\nimport { Maybe } from '@dereekb/util';\n\nexport interface DbxProgressButtonOptions {\n working?: boolean;\n text?: string;\n spinnerText?: string;\n buttonColor?: ThemePalette;\n spinnerColor?: ThemePalette;\n barColor?: ThemePalette;\n raised?: boolean;\n stroked?: boolean;\n flat?: boolean;\n fab?: boolean;\n /**\n * Whether or not to render as an icon button.\n */\n iconOnly?: boolean;\n spinnerSize?: number;\n spinnerRatio?: number;\n mode?: ProgressSpinnerMode;\n value?: number;\n fullWidth?: boolean;\n disabled?: boolean;\n type?: string;\n customStyle?: { [key: string]: string };\n customClass?: string;\n /**\n * Custom spinner color. Overrides the normal spinner color if provided.\n */\n customSpinnerColor?: Maybe<string>;\n buttonIcon?: DbxProgressButtonIcon;\n id?: string;\n}\n\nexport interface DbxProgressButtonIcon {\n color?: ThemePalette;\n fontIcon?: string;\n fontSet?: string;\n inline?: boolean;\n svgIcon?: string;\n customClass?: string;\n}\n\nexport interface DbxProgressButtonTargetedConfig extends DbxProgressButtonOptions {\n id?: string;\n}\n\nexport type DbxProgressButtonGlobalConfig = DbxProgressButtonTargetedConfig[];\n\nexport const DBX_MAT_PROGRESS_BUTTON_GLOBAL_CONFIG = new InjectionToken<DbxProgressButtonGlobalConfig>('DbxMatProgressButtonGlobalConfig');\n","import { ChangeDetectorRef, OnDestroy, OnInit, Optional, Directive, Input, Output, HostListener, EventEmitter, Inject } from '@angular/core';\nimport { AbstractSubscriptionDirective, safeMarkForCheck } from '@dereekb/dbx-core';\nimport { CssClass, Maybe } from '@dereekb/util';\nimport { filterMaybe } from '@dereekb/rxjs';\nimport { Observable, shareReplay, map, BehaviorSubject, combineLatest, first, distinctUntilChanged } from 'rxjs';\nimport { DbxProgressButtonGlobalConfig, DbxProgressButtonOptions, DbxProgressButtonTargetedConfig, DBX_MAT_PROGRESS_BUTTON_GLOBAL_CONFIG } from './button.progress.config';\n\n@Directive()\nexport abstract class AbstractProgressButtonDirective extends AbstractSubscriptionDirective implements OnInit, OnDestroy {\n private _computedOptions: Maybe<DbxProgressButtonOptions> = undefined;\n\n private _working = new BehaviorSubject<boolean>(false);\n private _disabled = new BehaviorSubject<boolean>(false);\n\n private _buttonId = new BehaviorSubject<Maybe<string>>(undefined);\n private _options = new BehaviorSubject<Maybe<DbxProgressButtonOptions>>(undefined);\n\n readonly globalOptions$: Observable<Maybe<DbxProgressButtonOptions>> = this._buttonId.pipe(map((buttonId: Maybe<string>) => (buttonId ? this.globalConfig.find((config: DbxProgressButtonTargetedConfig) => config.id === buttonId) : undefined)));\n\n readonly options$: Observable<DbxProgressButtonOptions> = combineLatest([this._options, this.globalOptions$, this._working, this._disabled]).pipe(\n map(([options, globalConfig, working, disabled]) => {\n let completeOptions: Maybe<DbxProgressButtonOptions>;\n\n if (options || globalConfig) {\n completeOptions = {\n ...globalConfig,\n ...options,\n working: options?.working || working,\n disabled: options?.disabled || disabled\n };\n }\n\n return completeOptions;\n }),\n filterMaybe(),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly baseCssClasses$: Observable<[DbxProgressButtonOptions, CssClass[]]> = this.options$.pipe(\n map((x) => {\n const classes: CssClass[] = [x.customClass ?? ''];\n\n if (x.fullWidth) {\n classes.push('fullWidth');\n }\n\n if (x.disabled) {\n classes.push('disabled');\n }\n\n if (x.raised) {\n classes.push('mat-mdc-raised-button mdc-button--raised');\n }\n\n if (x.stroked) {\n classes.push('mat-mdc-outlined-button mdc-button--outlined');\n }\n\n if (x.flat) {\n classes.push('mat-mdc-unelevated-button mdc-button--unelevated');\n }\n\n return [x, classes] as [DbxProgressButtonOptions, CssClass[]];\n }),\n shareReplay(1)\n );\n\n @Output()\n readonly btnClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n constructor(@Optional() @Inject(DBX_MAT_PROGRESS_BUTTON_GLOBAL_CONFIG) private globalConfig: DbxProgressButtonGlobalConfig = [], readonly cdRef: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit(): void {\n this.sub = this.options$.subscribe((options) => {\n this._computedOptions = options;\n safeMarkForCheck(this.cdRef);\n });\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._working.complete();\n this._disabled.complete();\n this._buttonId.complete();\n this._options.complete();\n }\n\n @HostListener('click', ['$event'])\n public handleClick(event: MouseEvent): void {\n this.options$.pipe(first()).subscribe((options) => {\n if (!options.disabled && !options.working) {\n this.btnClick.emit(event);\n event.stopImmediatePropagation();\n }\n });\n }\n\n get customSpinnerStyle() {\n const customSpinnerColor = (this._computedOptions as DbxProgressButtonOptions).customSpinnerColor;\n return customSpinnerColor ? { stroke: customSpinnerColor } : undefined;\n }\n\n @Input()\n get options(): DbxProgressButtonOptions {\n return this._computedOptions as DbxProgressButtonOptions;\n }\n\n set options(options: DbxProgressButtonOptions) {\n this._options.next(options);\n }\n\n @Input()\n set buttonId(buttonId: string) {\n this._buttonId.next(buttonId);\n }\n\n @Input()\n set working(working: boolean) {\n this._working.next(working);\n }\n\n @Input()\n set disabled(disabled: boolean) {\n this._disabled.next(disabled);\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';\nimport { AbstractProgressButtonDirective } from './base.progress.button.directive';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { spaceSeparatedCssClasses } from '@dereekb/util';\n\n@Component({\n selector: 'dbx-spinner-button',\n templateUrl: './spinner.button.component.html',\n styleUrls: ['./spinner.button.component.scss', './shared.button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DbxSpinnerButtonComponent extends AbstractProgressButtonDirective {\n @ViewChild('button', { static: true, read: ElementRef })\n readonly buttonRef!: ElementRef<HTMLElement>;\n\n readonly buttonCss$ = this.baseCssClasses$.pipe(\n map((x) => {\n const options = x[0];\n const classes = [...x[1]];\n\n if (options.iconOnly) {\n classes.push('mat-mdc-icon-button');\n }\n\n if (options.fab) {\n classes.push('mat-fab');\n }\n\n return spaceSeparatedCssClasses(classes);\n }),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n get showText() {\n return !(this.options.fab || this.options.iconOnly);\n }\n\n calcSpinnerSize() {\n const options = this.options;\n const elem = this.buttonRef?.nativeElement;\n const height = elem.clientHeight;\n\n let size;\n\n if (options) {\n if (options.fab || options.iconOnly) {\n size = height;\n } else {\n size = options.spinnerSize;\n }\n }\n\n if (!size) {\n const minimumSpinnerSize = 18;\n const spinnerRatio = options.spinnerRatio ?? 0.33;\n const targetSpinnerSize = height * Math.min(1, spinnerRatio);\n size = Math.min(height, Math.max(minimumSpinnerSize, targetSpinnerSize));\n }\n\n return size;\n }\n}\n","<button class=\"dbx-spinner-button\" #button mat-button [type]=\"options.type\" [color]=\"options.buttonColor\" [ngClass]=\"buttonCss$ | async\" [ngStyle]=\"options.customStyle!\" [disabled]=\"options.working || options.disabled\">\n <ng-container *ngIf=\"showText\">\n <ng-container *ngIf=\"options.buttonIcon\">\n <mat-icon class=\"mat-button-icon\" [class.is-mat-icon]=\"!options.buttonIcon.fontSet\" [class.working]=\"options.working && !options.disabled\" [ngClass]=\"options.buttonIcon.customClass!\" [fontSet]=\"options.buttonIcon.fontSet!\" [fontIcon]=\"options.buttonIcon.fontIcon!\" [color]=\"options.buttonIcon.color!\" [svgIcon]=\"options.buttonIcon.svgIcon!\">\n {{ options.buttonIcon.fontSet ? '' : options.buttonIcon.fontIcon }}\n </mat-icon>\n </ng-container>\n\n <span class=\"button-text\" [class.working]=\"options.working && !options.disabled\">\n {{ options.text }}\n <ng-content></ng-content>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!showText && options.buttonIcon\">\n <mat-icon class=\"mat-fab-icon\" [fontSet]=\"options.buttonIcon.fontSet!\" [fontIcon]=\"options.buttonIcon.fontIcon!\" [color]=\"options.buttonIcon.color!\" [svgIcon]=\"options.buttonIcon.svgIcon!\" [inline]=\"options.fab && options.buttonIcon.inline!\">\n {{ options.buttonIcon.fontSet ? '' : options.buttonIcon.fontIcon }}\n </mat-icon>\n </ng-container>\n\n <mat-spinner class=\"spinner\" *ngIf=\"options.working && !options.disabled\" [diameter]=\"calcSpinnerSize()\" [color]=\"options.spinnerColor!\" [mode]=\"options.mode!\" [value]=\"options.value!\" [ngStyle]=\"customSpinnerStyle!\" [ngClass]=\"{ 'dbx-spinner-custom': customSpinnerStyle! }\" [class.working]=\"options.working && !options.disabled\"></mat-spinner>\n</button>\n","import { Component, Input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { provideDbxButton, AbstractDbxButtonDirective } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxProgressButtonOptions } from './progress/button.progress.config';\n\nexport enum DbxButtonDisplayType {\n RAISED,\n STROKED,\n FLAT,\n ICON_ONLY\n}\n\n/**\n * Complex button that supports loading states.\n */\n@Component({\n selector: 'dbx-button',\n template: `\n <dbx-spinner-button (btnClick)=\"clickButton()\" [options]=\"btnOptions\">\n <ng-content></ng-content>\n </dbx-spinner-button>\n `,\n providers: provideDbxButton(DbxButtonComponent)\n})\nexport class DbxButtonComponent extends AbstractDbxButtonDirective {\n @Input()\n type?: DbxButtonDisplayType;\n\n @Input()\n get raised(): boolean {\n return this.type === DbxButtonDisplayType.RAISED;\n }\n\n set raised(raised: boolean) {\n if (raised) {\n this.type = DbxButtonDisplayType.RAISED;\n }\n }\n\n @Input()\n get stroked(): boolean {\n return this.type === DbxButtonDisplayType.STROKED;\n }\n\n set stroked(stroked: boolean) {\n if (stroked) {\n this.type = DbxButtonDisplayType.STROKED;\n }\n }\n\n @Input()\n get flat(): boolean {\n return this.type === DbxButtonDisplayType.FLAT;\n }\n\n set flat(flat: boolean) {\n if (flat) {\n this.type = DbxButtonDisplayType.FLAT;\n }\n }\n\n @Input()\n get iconOnly(): boolean {\n return this.type === DbxButtonDisplayType.ICON_ONLY;\n }\n\n set iconOnly(iconOnly: boolean) {\n if (iconOnly) {\n this.type = DbxButtonDisplayType.ICON_ONLY;\n }\n }\n\n @Input()\n public color: ThemePalette = 'primary';\n\n @Input()\n public customButtonColor: Maybe<string>;\n\n @Input()\n public customTextColor: Maybe<string>;\n\n @Input()\n public customSpinnerColor: Maybe<string>;\n\n public get btnOptions(): DbxProgressButtonOptions {\n const buttonIcon = this.icon\n ? {\n fontIcon: this.icon\n }\n : undefined;\n\n const customStyle = {} as {\n [key: string]: string;\n };\n\n if (this.customButtonColor) {\n customStyle['background'] = this.customButtonColor;\n }\n\n if (this.customTextColor) {\n customStyle['color'] = this.customTextColor;\n }\n\n const customSpinnerColor: Maybe<string> = this.customSpinnerColor ?? this.customTextColor;\n const disabled = !this.working && this.disabled; // Only disabled if we're not working, in order to show the animation.\n\n const isIconOnlyButton = buttonIcon && !this.text;\n\n return {\n fab: false,\n working: this.working,\n buttonIcon,\n customStyle,\n customClass: 'dbx-button ' + (isIconOnlyButton ? 'dbx-button-no-text' : ''),\n text: this.text ?? '',\n buttonColor: this.color,\n barColor: 'accent',\n raised: this.raised,\n stroked: this.stroked,\n flat: this.flat,\n iconOnly: this.iconOnly,\n mode: 'indeterminate',\n spinnerColor: this.color === 'primary' ? 'accent' : 'primary',\n customSpinnerColor,\n disabled\n };\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * Button spacer directive.\n */\n@Directive({\n selector: 'dbx-button-spacer,[dbxButtonSpacer]',\n host: {\n class: 'dbx-button-spacer d-inline'\n }\n})\nexport class DbxButtonSpacerDirective {}\n","import { OnInit, Component, Inject, OnDestroy, AfterViewInit } from '@angular/core';\nimport { filterMaybe, LoadingStateType } from '@dereekb/rxjs';\nimport { distinctUntilChanged, Observable, shareReplay, BehaviorSubject, switchMap, startWith, Subject, of, filter, map } from 'rxjs';\nimport { MatSnackBarRef, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { Maybe } from '@dereekb/util';\nimport { DbxActionSnackbarDisplayConfig, DbxActionSnackbarActionConfig } from './action.snackbar';\nimport { DbxActionContextSourceReference, AbstractSubscriptionDirective } from '@dereekb/dbx-core';\nimport ms from 'ms';\n\n/**\n * Component for a snackbar that contains an action.\n */\n@Component({\n templateUrl: './action.snackbar.component.html'\n})\nexport class DbxActionSnackbarComponent extends AbstractSubscriptionDirective implements OnInit, AfterViewInit, OnDestroy {\n private _durationTimeout = new Subject<void>();\n private _actionRef = new BehaviorSubject<Maybe<DbxActionContextSourceReference>>(undefined);\n\n readonly value$ = of(0); // value passed to the action.\n readonly sourceInstance$ = this._actionRef.pipe(\n filterMaybe(),\n map((x) => x?.sourceInstance)\n );\n readonly complete$ = this.sourceInstance$.pipe(\n switchMap((x) => x.isSuccess$),\n startWith(false),\n shareReplay(1)\n );\n readonly loadingStateType$ = this.sourceInstance$.pipe(\n switchMap((x) => x.loadingStateType$),\n startWith(LoadingStateType.IDLE),\n shareReplay(1)\n );\n readonly snackbarStatusClass$: Observable<string> = this.loadingStateType$.pipe(\n map((x) => {\n let classes = 'dbx-action-snackbar-';\n\n switch (x) {\n case LoadingStateType.ERROR:\n classes += 'error';\n break;\n case LoadingStateType.SUCCESS:\n classes += 'success';\n break;\n default:\n classes += 'idle';\n break;\n }\n\n return classes;\n }),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly button: Maybe<string>;\n\n get action() {\n return this.data.action;\n }\n\n get hasAction(): boolean {\n return Boolean(this._actionRef.value);\n }\n\n get message(): Maybe<string> {\n return this.data.message;\n }\n\n get actionConfig(): Maybe<DbxActionSnackbarActionConfig> {\n return this.data.action;\n }\n\n constructor(readonly snackbar: MatSnackBarRef<DbxActionSnackbarComponent>, @Inject(MAT_SNACK_BAR_DATA) readonly data: DbxActionSnackbarDisplayConfig) {\n super();\n this.button = this.data.action?.button ?? this.data.button;\n this._actionRef.next(this.data.action?.reference);\n }\n\n ngOnInit(): void {\n // Subscribe and close if the duration is up and the action state is idle.\n this.sub = this._durationTimeout\n .pipe(\n switchMap(() => this.loadingStateType$),\n filter((x) => x === LoadingStateType.IDLE)\n )\n .subscribe(() => {\n this.dismiss();\n });\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._actionRef.value?.destroy();\n this._actionRef.complete();\n this._durationTimeout.complete();\n }\n\n ngAfterViewInit(): void {\n // Responsible for hiding itself if it has an action.\n if (this.hasAction) {\n setTimeout(() => {\n this._durationTimeout.next();\n }, this.action?.duration ?? ms('10s'));\n }\n }\n\n dismissAfterActionCompletes = (): void => {\n this.snackbar._dismissAfter(ms('3s'));\n };\n\n dismiss = (): void => {\n this.snackbar.dismiss();\n };\n}\n","<div class=\"dbx-action-snackbar\" [ngClass]=\"(snackbarStatusClass$ | async)!\">\n <ng-container [ngSwitch]=\"complete$ | async\">\n <ng-container *ngSwitchCase=\"true\">\n <dbx-spacer></dbx-spacer>\n <dbx-button (buttonClick)=\"dismiss()\" color=\"accent\" icon=\"done\" text=\"Success\"></dbx-button>\n </ng-container>\n <ng-container *ngSwitchCase=\"false\">\n <span>{{ message }}</span>\n <dbx-spacer></dbx-spacer>\n <ng-container *ngIf=\"hasAction\">\n <dbx-action [dbxActionValueStream]=\"value$\" [dbxActionSource]=\"sourceInstance$ | async\" [dbxActionSuccessHandler]=\"dismissAfterActionCompletes\">\n <dbx-button dbxActionButton color=\"warn\" [text]=\"button\"></dbx-button>\n </dbx-action>\n <dbx-button-spacer></dbx-button-spacer>\n </ng-container>\n <dbx-button (buttonClick)=\"dismiss()\" color=\"accent\" icon=\"close\"></dbx-button>\n </ng-container>\n </ng-container>\n</div>\n","import { DbxActionSnackbarEventMakeConfig } from './action.snackbar.service';\n\nexport const DBX_ACTION_SNACKBAR_DEFAULTS: DbxActionSnackbarEventMakeConfig = {\n create: {\n loading: {\n message: 'Creating...'\n },\n success: {\n button: 'Ok',\n message: 'Created'\n },\n error: {\n button: 'X',\n message: 'Create Failed'\n }\n },\n save: {\n loading: {\n message: 'Saving...'\n },\n success: {\n button: 'Ok',\n message: 'Saved'\n },\n error: {\n button: 'X',\n message: 'Save Failed'\n }\n },\n merge: {\n loading: {\n message: 'Merging...'\n },\n success: {\n button: 'Ok',\n message: 'Merged'\n },\n error: {\n button: 'X',\n message: 'Merge Failed'\n }\n },\n delete: {\n loading: {\n message: 'Deleting...'\n },\n success: {\n button: 'Ok',\n message: 'Deleted'\n },\n error: {\n button: 'X',\n message: 'Delete Failed'\n }\n },\n cancel: {\n loading: {\n message: 'Cancelling...'\n },\n success: {\n button: 'Ok',\n message: 'Canceled'\n },\n error: {\n button: 'X',\n message: 'Cancel Failed'\n }\n },\n restore: {\n loading: {\n message: 'Restoring...'\n },\n success: {\n button: 'Ok',\n message: 'Restored'\n },\n error: {\n button: 'X',\n message: 'Restore Failed'\n }\n },\n refresh: {\n loading: {\n message: 'Refreshing...'\n },\n success: {\n button: 'Ok',\n message: 'Refreshed'\n },\n error: {\n button: 'X',\n message: 'Refresh Failed'\n }\n },\n do: {\n loading: {\n message: 'Doing...'\n },\n success: {\n button: 'Ok',\n message: 'Done'\n },\n error: {\n button: 'X',\n message: 'Failed'\n }\n }\n};\n","import { DbxActionContextSourceReference } from '@dereekb/dbx-core';\nimport { Milliseconds, Maybe, GetterOrValue, getValueFromGetter, Getter } from '@dereekb/util';\nimport { DbxActionSnackbarDisplayConfig, DbxActionSnackbarEvent } from './action.snackbar';\n\nexport interface DbxActionSnackbarGeneratorInput<T = unknown, O = unknown> {\n event: DbxActionSnackbarEvent<O>;\n undo?: Maybe<DbxActionSnackbarGeneratorUndoInput<T, O>>;\n}\n\nexport type DbxActionSnackbarGeneratorUndoInput<T = unknown, O = unknown> = Getter<DbxActionContextSourceReference<T, O>> | DbxActionSnackbarGeneratorUndoInputConfig<T, O>;\n\nexport interface DbxActionSnackbarGeneratorUndoInputConfig<T = unknown, O = unknown> {\n duration?: Milliseconds;\n getUndoAction: Getter<DbxActionContextSourceReference<T, O>>;\n}\n\nexport type DbxActionSnackbarDisplayConfigGeneratorFunction = <T = unknown, O = unknown>(input: DbxActionSnackbarGeneratorInput<T, O>) => Maybe<DbxActionSnackbarDisplayConfig<T, O>>;\n\nexport interface DbxMakeActionSnackbarGeneratorConfiguration {\n idle?: GetterOrValue<DbxMakeActionSnackbarGeneratorEventConfiguration>;\n loading?: GetterOrValue<DbxMakeActionSnackbarGeneratorEventConfiguration>;\n success?: GetterOrValue<DbxMakeActionSnackbarGeneratorEventConfiguration>;\n error?: GetterOrValue<DbxMakeActionSnackbarGeneratorEventConfiguration>;\n}\n\nexport interface DbxMakeActionSnackbarGeneratorEventConfiguration extends Omit<DbxActionSnackbarDisplayConfig, 'action'> {\n /**\n * Sets the undo action text. If undefined, will default to 'undo'\n */\n undoButtonText?: string;\n}\n\n/**\n * Creates a DbxActionSnackbarDisplayConfigGeneratorFunction from the input config.\n *\n * @param config\n * @returns\n */\nexport function makeDbxActionSnackbarDisplayConfigGeneratorFunction(config: DbxMakeActionSnackbarGeneratorConfiguration): DbxActionSnackbarDisplayConfigGeneratorFunction {\n return <T = unknown, O = unknown>(input: DbxActionSnackbarGeneratorInput<T, O>) => {\n const { event, undo: undoInput } = input;\n const type = event.type;\n const eventConfigGetterOrValue = config[type];\n const eventConfig = eventConfigGetterOrValue && getValueFromGetter(eventConfigGetterOrValue);\n\n let result: Maybe<DbxActionSnackbarDisplayConfig<T, O>>;\n\n if (eventConfig) {\n const { undoButtonText } = eventConfig;\n result = {\n button: eventConfig.button,\n message: eventConfig.message,\n snackbar: eventConfig.snackbar\n };\n\n if (undoInput) {\n let reference: DbxActionContextSourceReference<T, O>;\n\n if (typeof undoInput === 'object') {\n reference = undoInput.getUndoAction();\n } else {\n reference = getValueFromGetter(undoInput);\n }\n\n if (!reference) {\n console.error('Expected action source reference was not provided to undo...');\n } else {\n result.action = {\n button: undoButtonText ?? 'Undo',\n reference\n };\n }\n }\n }\n\n return result;\n };\n}\n","import { DbxActionSnackbarComponent } from './action.snackbar.component';\nimport { DBX_ACTION_SNACKBAR_DEFAULTS } from './action.snackbar.default';\nimport { Inject, Injectable, InjectionToken, Optional, Type } from '@angular/core';\nimport { MatSnackBar, MatSnackBarConfig, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { Milliseconds, Maybe, mergeObjects } from '@dereekb/util';\nimport { DbxActionSnackbarDisplayConfig, DbxActionSnackbarType } from './action.snackbar';\nimport { DbxActionSnackbarGeneratorInput, DbxMakeActionSnackbarGeneratorConfiguration, makeDbxActionSnackbarDisplayConfigGeneratorFunction } from './action.snackbar.generator';\nimport ms from 'ms';\n\nexport const DBX_ACTION_SNACKBAR_SERVICE_CONFIG = new InjectionToken('DbxActionSnackbarServiceConfig');\n\nexport const DEFAULT_SNACKBAR_DIRECTIVE_DURATION = ms('4s');\n\nexport interface DbxActionSnackbarEventMakeConfig {\n [key: string]: DbxMakeActionSnackbarGeneratorConfiguration;\n}\n\nexport interface DbxActionSnackbarServiceConfig<C = unknown> {\n readonly componentClass: Type<C>;\n readonly snackbar?: Pick<MatSnackBarConfig, 'horizontalPosition' | 'verticalPosition'>;\n readonly defaultDuration?: Milliseconds;\n readonly defaultUndoDuration?: Milliseconds;\n readonly eventTypeConfigs: DbxActionSnackbarEventMakeConfig;\n}\n\n/**\n * Used for managing/configuring the snackbar default values and pushing snackbar events.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxActionSnackbarService<C = DbxActionSnackbarComponent> {\n readonly config: DbxActionSnackbarServiceConfig<C>;\n\n get componentClass(): Type<C> {\n return this.config.componentClass;\n }\n\n get eventTypeConfigs(): DbxActionSnackbarEventMakeConfig {\n return this.config.eventTypeConfigs;\n }\n\n constructor(readonly matSnackBar: MatSnackBar, @Optional() @Inject(DBX_ACTION_SNACKBAR_SERVICE_CONFIG) inputConfig: Partial<DbxActionSnackbarServiceConfig<C>>) {\n inputConfig = inputConfig ?? {};\n\n this.config = {\n ...inputConfig,\n componentClass: inputConfig.componentClass ?? (DbxActionSnackbarComponent as unknown as Type<C>),\n defaultDuration: inputConfig.defaultDuration || DEFAULT_SNACKBAR_DIRECTIVE_DURATION,\n eventTypeConfigs: mergeObjects([DBX_ACTION_SNACKBAR_DEFAULTS, inputConfig.eventTypeConfigs]) as DbxActionSnackbarEventMakeConfig\n };\n }\n\n /**\n * Opens a new snackbar given the input configuration.\n *\n * @param config\n * @returns\n */\n openSnackbar<T = unknown, O = unknown>(config: DbxActionSnackbarDisplayConfig<T, O>): MatSnackBarRef<C> {\n const { snackbar: inputSnackbarConfig } = config;\n const { snackbar: defaultSnackbarConfig, defaultDuration } = this.config;\n\n const matSnackbarConfig: MatSnackBarConfig = {\n ...defaultSnackbarConfig,\n ...inputSnackbarConfig,\n data: config\n };\n\n const duration = config.action?.duration ?? matSnackbarConfig.duration ?? defaultDuration ?? DEFAULT_SNACKBAR_DIRECTIVE_DURATION;\n\n if (config.action) {\n // Set the duration on the action\n config.action = {\n ...config.action,\n duration\n };\n } else {\n // The snackbar does not close here. The duration is passed to the component and it will close it.\n matSnackbarConfig.duration = duration;\n }\n\n return this.matSnackBar.openFromComponent(this.componentClass, matSnackbarConfig);\n }\n\n generateDisplayConfig<T = unknown, O = unknown>(type: Maybe<DbxActionSnackbarType>, input: DbxActionSnackbarGeneratorInput<T, O>): Maybe<DbxActionSnackbarDisplayConfig<T, O>> {\n const configForType = this.eventTypeConfigs[type ?? 'none'];\n let result: Maybe<DbxActionSnackbarDisplayConfig<T, O>>;\n\n if (configForType) {\n result = makeDbxActionSnackbarDisplayConfigGeneratorFunction(configForType)(input);\n }\n\n return result;\n }\n}\n","import { Directive, Host, Input, OnInit } from '@angular/core';\nimport { AbstractSubscriptionDirective, DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxActionSnackbarDisplayConfig, DbxActionSnackbarEvent, DbxActionSnackbarType } from './action.snackbar';\nimport { DbxActionSnackbarService } from './action.snackbar.service';\nimport { DbxActionSnackbarDisplayConfigGeneratorFunction, DbxActionSnackbarGeneratorInput, DbxActionSnackbarGeneratorUndoInput } from './action.snackbar.generator';\nimport { LoadingState, LoadingStateType, loadingStateType } from '@dereekb/rxjs';\n\n/**\n * Action directive that displays a snackbar when the action context hits a certain state.\n */\n@Directive({\n selector: '[dbxActionSnackbar]'\n})\nexport class DbxActionSnackbarDirective<T = unknown, O = unknown> extends AbstractSubscriptionDirective implements OnInit {\n private _snackbarFunction?: Maybe<DbxActionSnackbarDisplayConfigGeneratorFunction>;\n\n @Input('dbxActionSnackbar')\n get snackbarFunction(): Maybe<DbxActionSnackbarDisplayConfigGeneratorFunction> {\n return this._snackbarFunction;\n }\n\n set snackbarFunction(snackbarFunction: Maybe<'' | DbxActionSnackbarDisplayConfigGeneratorFunction>) {\n if (snackbarFunction) {\n this._snackbarFunction = snackbarFunction;\n }\n }\n\n @Input()\n dbxActionSnackbarDefault?: Maybe<DbxActionSnackbarType>;\n\n @Input()\n dbxActionSnackbarUndo?: DbxActionSnackbarGeneratorUndoInput<T, O>;\n\n constructor(@Host() public readonly source: DbxActionContextStoreSourceInstance<T, O>, readonly dbxActionSnackbarService: DbxActionSnackbarService) {\n super();\n }\n\n ngOnInit(): void {\n this.sub = this.source\n .pipeStore((store) => store.loadingState$)\n .subscribe((loadingState: LoadingState<O>) => {\n const event: DbxActionSnackbarEvent<O> = { value: loadingState.value, error: loadingState.error, type: loadingStateType(loadingState) };\n\n const config = this.buildConfigurationForEvent(event);\n\n if (config) {\n this.showSnackbarForConfiguration(config, event);\n }\n });\n }\n\n protected buildConfigurationForEvent(event: DbxActionSnackbarEvent<O>): Maybe<DbxActionSnackbarDisplayConfig<T, O>> {\n const input: DbxActionSnackbarGeneratorInput<T, O> = {\n event,\n undo: event.type === LoadingStateType.SUCCESS ? this.dbxActionSnackbarUndo : undefined // only show undo on success.\n };\n\n return this.snackbarFunction ? this.snackbarFunction(input) : this.dbxActionSnackbarService.generateDisplayConfig(this.dbxActionSnackbarDefault, input);\n }\n\n protected showSnackbarForConfiguration(config: DbxActionSnackbarDisplayConfig<T, O>, event: DbxActionSnackbarEvent<O>) {\n this.dbxActionSnackbarService.openSnackbar(config);\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AbstractDbxButtonDirective, provideDbxButton } from '@dereekb/dbx-core';\n\n/**\n * Simple dbx-button that displays a button with an icon.\n */\n@Component({\n selector: 'dbx-icon-button',\n template: `\n <ng-container [ngSwitch]=\"buttonDisplayType\">\n <button *ngSwitchCase=\"'text_button'\" mat-button [disabled]=\"disabled\" (click)=\"clickButton()\">\n <mat-icon class=\"dbx-icon-spacer\" *ngIf=\"icon\">{{ icon }}</mat-icon>\n <span>{{ text }}</span>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'icon_button'\" mat-icon-button [disabled]=\"disabled\" (click)=\"clickButton()\">\n <mat-icon>{{ icon }}</mat-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n </ng-container>\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: provideDbxButton(DbxIconButtonComponent),\n host: {\n class: 'dbx-icon-button'\n }\n})\nexport class DbxIconButtonComponent extends AbstractDbxButtonDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DbxIconButtonComponent } from './icon.button.component';\n\n@NgModule({\n imports: [\n //\n CommonModule,\n MatButtonModule,\n MatIconModule\n ],\n exports: [DbxIconButtonComponent],\n declarations: [DbxIconButtonComponent]\n})\nexport class DbxIconButtonModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AbstractProgressButtonDirective } from './base.progress.button.directive';\nimport { map, shareReplay } from 'rxjs';\nimport { spaceSeparatedCssClasses } from '@dereekb/util';\nimport { distinctUntilItemsHaveDifferentValues } from '@dereekb/rxjs';\n\n@Component({\n selector: 'dbx-bar-button',\n templateUrl: './bar.button.component.html',\n styleUrls: ['./bar.button.component.scss', './shared.button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DbxBarButtonComponent extends AbstractProgressButtonDirective {\n readonly buttonCss$ = this.baseCssClasses$.pipe(\n distinctUntilItemsHaveDifferentValues((x) => x[1]),\n map((x) => spaceSeparatedCssClasses(x[1])),\n shareReplay(1)\n );\n}\n","<button class=\"dbx-bar-button\" mat-button [type]=\"options.type\" [color]=\"options.buttonColor\" [ngClass]=\"buttonCss$ | async\" [ngStyle]=\"options.customStyle!\" [disabled]=\"options.working || options.disabled\">\n <ng-container *ngIf=\"options.buttonIcon\">\n <mat-icon class=\"mat-button-icon\" [class.is-mat-icon]=\"!options.buttonIcon.fontSet\" [ngClass]=\"options.buttonIcon.customClass!\" [fontSet]=\"options.buttonIcon.fontSet!\" [fontIcon]=\"options.buttonIcon.fontIcon!\" [color]=\"options.buttonIcon.color!\" [svgIcon]=\"options.buttonIcon.svgIcon!\" [inline]=\"options.buttonIcon.inline!\">\n {{ options.buttonIcon.fontSet ? '' : options.buttonIcon.fontIcon }}\n </mat-icon>\n </ng-container>\n\n <span>\n {{ options.text }}\n <ng-content></ng-content>\n </span>\n\n <mat-progress-bar class=\"bar\" *ngIf=\"options.working && !options.disabled\" [color]=\"options.barColor!\" [mode]=\"options.mode!\" [value]=\"options.value!\"></mat-progress-bar>\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DBX_MAT_PROGRESS_BUTTON_GLOBAL_CONFIG, DbxProgressButtonGlobalConfig } from './button.progress.config';\nimport { DbxBarButtonComponent } from './bar.button.component';\nimport { DbxSpinnerButtonComponent } from './spinner.button.component';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatProgressBarModule, MatProgressSpinnerModule, MatRippleModule, MatIconModule],\n exports: [DbxSpinnerButtonComponent, DbxBarButtonComponent],\n declarations: [DbxSpinnerButtonComponent, DbxBarButtonComponent]\n})\nexport class DbxProgressButtonsModule {\n static forRoot(config?: DbxProgressButtonGlobalConfig): ModuleWithProviders<DbxProgressButtonsModule> {\n return {\n ngModule: DbxProgressButtonsModule,\n providers: [\n {\n provide: DBX_MAT_PROGRESS_BUTTON_GLOBAL_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DbxButtonComponent } from './button.component';\nimport { DbxButtonSpacerDirective } from './button.spacer.component';\nimport { CommonModule } from '@angular/common';\nimport { DbxCoreButtonModule } from '@dereekb/dbx-core';\nimport { DbxProgressButtonsModule } from './progress/button.progress.module';\nimport { DbxIconButtonModule } from './icon/icon.button.module';\n\n@NgModule({\n imports: [CommonModule, DbxProgressButtonsModule],\n declarations: [DbxButtonComponent, DbxButtonSpacerDirective],\n exports: [DbxCoreButtonModule, DbxProgressButtonsModule, DbxIconButtonModule, DbxButtonComponent, DbxButtonSpacerDirective]\n})\nexport class DbxButtonModule {}\n","import { Directive, Inject, NgZone, Optional } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AbstractTransitionWatcherDirective, DbxRouterTransitionService } from '@dereekb/dbx-core';\n\n/**\n * Abstract dialog component that closes when a transition is successful.\n */\n@Directive()\nexport abstract class AbstractDialogDirective<R = unknown, D = unknown, T = unknown> extends AbstractTransitionWatcherDirective {\n constructor(@Optional() @Inject(MAT_DIALOG_DATA) readonly data: D, @Inject(MatDialogRef) readonly dialogRef: MatDialogRef<T, R>, dbxRouterTransitionService: DbxRouterTransitionService, ngZone: NgZone) {\n super(dbxRouterTransitionService, ngZone);\n }\n\n protected updateForSuccessfulTransition(): void {\n this.close();\n }\n\n returnValue(value?: R) {\n this.close(value);\n }\n\n close(value?: R) {\n this.dialogRef.close(value);\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\n\n/**\n * Component used to show a close button at the top of a dialog, floating in a corner.\n */\n@Component({\n selector: 'dbx-dialog-content-close',\n template: `\n <button class=\"dbx-dialog-content-close-button\" mat-icon-button (click)=\"closeClicked()\"><mat-icon>close</mat-icon></button>\n `,\n host: {\n class: 'dbx-dialog-content-close',\n '[class.dbx-dialog-content-close-padding]': 'padded'\n }\n})\nexport class DbxDialogContentCloseComponent implements OnDestroy {\n @Input()\n padded = true;\n\n @Output()\n readonly close = new EventEmitter<void>();\n\n closeClicked() {\n this.close.emit(undefined);\n }\n\n ngOnDestroy(): void {\n this.close.complete();\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { Maybe } from '@dereekb/util';\n\nexport interface DbxDialogContentFooterConfig {\n buttonColor?: ThemePalette;\n closeText?: string;\n}\n\n/**\n * Component used to show a close button at the bottom of a dialog.\n */\n@Component({\n selector: 'dbx-dialog-content-footer',\n template: `\n <button mat-raised-button [color]=\"buttonColor\" (click)=\"closeClicked()\">{{ closeText }}</button>\n `,\n host: {\n class: 'dbx-dialog-content-footer'\n }\n})\nexport class DbxDialogContentFooterComponent implements OnDestroy {\n @Input()\n closeText = 'Close';\n\n @Input()\n buttonColor: ThemePalette = undefined;\n\n @Output()\n readonly close = new EventEmitter<void>();\n\n @Input()\n set config(config: Maybe<DbxDialogContentFooterConfig>) {\n this.closeText = config?.closeText ?? 'Close';\n this.buttonColor = config?.buttonColor ?? undefined;\n }\n\n closeClicked() {\n this.close.emit(undefined);\n }\n\n ngOnDestroy(): void {\n this.close.complete();\n }\n}\n","import { Directive, Input } from '@angular/core';\n\nexport type DbxDialogContentContainerWidth = 'normal' | 'wide';\n\n/**\n * Component used to style a dialog.\n */\n@Directive({\n selector: 'dbx-dialog-content,[dbxDialogContent].dbx-dialog-content',\n host: {\n class: 'dbx-dialog-content',\n '[class]': `width + '-dialog-content'`\n }\n})\nexport class DbxDialogContentDirective {\n @Input()\n width = 'normal';\n}\n","import { first, Observable } from 'rxjs';\nimport { Directive, OnInit, OnDestroy, Input, ElementRef } from '@angular/core';\nimport { DbxActionContextStoreSourceInstance, AbstractDbxActionValueOnTriggerDirective } from '@dereekb/dbx-core';\nimport { IsModifiedFunction } from '@dereekb/rxjs';\nimport { Maybe } from '@dereekb/util';\nimport { MatDialogRef } from '@angular/material/dialog';\n\nexport type DbxActionDialogFunction<T = unknown> = () => MatDialogRef<unknown, Maybe<T>>;\n\n/**\n * Action directive that is used to trigger/display a dialog, then watches that dialog for a value.\n */\n@Directive({\n exportAs: 'dbxActionDialog',\n selector: '[dbxActionDialog]'\n})\nexport class DbxActionDialogDirective<T = unknown> extends AbstractDbxActionValueOnTriggerDirective<T> implements OnInit, OnDestroy {\n @Input('dbxActionDialog')\n fn?: DbxActionDialogFunction<T>;\n\n @Input()\n set dbxActionDialogModified(isModifiedFunction: Maybe<IsModifiedFunction>) {\n this.isModifiedFunction = isModifiedFunction;\n }\n\n constructor(readonly elementRef: ElementRef, source: DbxActionContextStoreSourceInstance<T, unknown>) {\n super(source, () => this._getDataFromDialog());\n }\n\n protected _getDataFromDialog(): Observable<Maybe<T>> {\n return this._makeDialogRef().afterClosed().pipe(first());\n }\n\n protected _makeDialogRef(): MatDialogRef<unknown, Maybe<T>> {\n if (!this.fn) {\n throw new Error('dbxActionDialog has no dialog function provided to it.');\n }\n\n return this.fn();\n }\n}\n","import { MatDialogConfig } from '@angular/material/dialog';\nimport { Maybe, cssClassesSet } from '@dereekb/util';\n\nexport type DbxDialogContentConfig = Omit<MatDialogConfig, 'viewContainerRef' | 'injector' | 'id' | 'data'>;\n\nexport function sanitizeDbxDialogContentConfig(input: Maybe<DbxDialogContentConfig>): DbxDialogContentConfig {\n const panelClass = input?.panelClass;\n\n return {\n ...input,\n panelClass: panelClass ? Array.from(cssClassesSet(input?.panelClass)) : undefined\n };\n}\n","import { Destroyable, Maybe } from '@dereekb/util';\nimport { filterMaybe } from '@dereekb/rxjs';\nimport { BehaviorSubject, Observable, combineLatest, distinctUntilChanged, map, switchMap, shareReplay } from 'rxjs';\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\n\nexport const DBX_STYLE_DEFAULT_CONFIG_TOKEN = new InjectionToken('DbxStyleServiceDefaultConfig');\n\nexport interface DbxStyleConfig {\n /**\n * Root style name.\n */\n style: string;\n /**\n * Suffixes available to this configuration.\n */\n suffixes?: Set<string>;\n}\n\n/**\n * Used for managing styles within an app.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxStyleService implements Destroyable {\n private _defaultConfig = new BehaviorSubject<Maybe<DbxStyleConfig>>(undefined);\n private _config = new BehaviorSubject<Maybe<Observable<DbxStyleConfig>>>(undefined);\n private _suffix = new BehaviorSubject<Maybe<string>>(undefined);\n\n readonly config$ = this._config.pipe(\n switchMap((x) => {\n if (x == null) {\n return this._defaultConfig;\n } else {\n return x;\n }\n }),\n filterMaybe(),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly suffix$ = this._suffix.pipe(distinctUntilChanged());\n readonly style$ = this.getStyleWithConfig(this.config$);\n\n constructor(@Optional() @Inject(DBX_STYLE_DEFAULT_CONFIG_TOKEN) defaultConfig?: DbxStyleConfig) {\n this._defaultConfig.next(defaultConfig);\n }\n\n get suffix(): Maybe<string> {\n return this._suffix.value;\n }\n\n set suffix(suffix: Maybe<string>) {\n this._suffix.next(suffix);\n }\n\n getStyleWithConfig(configObs: Observable<DbxStyleConfig>): Observable<string> {\n return combineLatest([configObs, this.suffix$]).pipe(\n map(([config, suffix]) => {\n let style = config.style;\n\n if (suffix != null && config.suffixes) {\n const sanitizedSuffix = suffix[0] === '-' ? suffix?.slice(1) : suffix;\n\n if (config.suffixes.has(sanitizedSuffix)) {\n style = `${style}-${sanitizedSuffix}`;\n }\n }\n\n return style;\n }),\n distinctUntilChanged()\n );\n }\n\n toggleDarkSuffix(dark?: Maybe<boolean>) {\n const toggle: boolean = dark != null ? dark : this.suffix !== '-dark';\n\n if (toggle) {\n this.suffix = '-dark';\n } else {\n this.suffix = undefined;\n }\n }\n\n setDefaultConfig(defaultConfig: DbxStyleConfig) {\n this._defaultConfig.next(defaultConfig);\n }\n\n setConfig(config: Observable<DbxStyleConfig>) {\n this._config.next(config);\n }\n\n destroy(): void {\n this._defaultConfig.complete();\n this._config.complete();\n this._suffix.complete();\n }\n}\n","import { splitCommaSeparatedStringToSet, Maybe } from '@dereekb/util';\nimport { Observable, distinctUntilChanged, map, shareReplay, BehaviorSubject, delay, combineLatest } from 'rxjs';\nimport { filterMaybe } from '@dereekb/rxjs';\nimport { Directive, Input, OnDestroy, ChangeDetectorRef, OnInit } from '@angular/core';\nimport { DbxStyleConfig, DbxStyleService } from './style.service';\nimport { AbstractSubscriptionDirective, safeDetectChanges } from '@dereekb/dbx-core';\n\n/**\n * Used to denote which app style to use for all children below this.\n *\n * Will update the parent DbxStyleService.\n */\n@Directive({\n selector: '[dbxSetStyle]',\n host: {\n class: 'dbx-style-root',\n '[class]': 'outputStyle'\n }\n})\nexport class DbxSetStyleDirective extends AbstractSubscriptionDirective implements OnDestroy, OnInit {\n private _suffixes = new BehaviorSubject<Maybe<string>>(undefined);\n private _style = new BehaviorSubject<Maybe<string>>(undefined);\n\n readonly style$ = this._style.pipe(filterMaybe());\n readonly suffixes$ = this._suffixes.pipe(distinctUntilChanged(), map(splitCommaSeparatedStringToSet));\n\n readonly config$: Observable<DbxStyleConfig> = combineLatest([this.style$, this.suffixes$]).pipe(\n map(([style, suffixes]) => ({ style, suffixes })),\n shareReplay(1)\n );\n\n readonly outputStyle$ = this.styleService.getStyleWithConfig(this.config$);\n outputStyle = '';\n\n constructor(readonly styleService: DbxStyleService, readonly cdRef: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit(): void {\n this.styleService.setConfig(this.config$);\n this.sub = this.outputStyle$.pipe(delay(0)).subscribe((style) => {\n this.outputStyle = style;\n safeDetectChanges(this.cdRef);\n });\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._suffixes.complete();\n this._style.complete();\n }\n\n @Input('dbxSetStyle')\n get style(): string {\n return this._style.value ?? '';\n }\n\n set style(style: string) {\n this._style.next(style);\n }\n\n @Input()\n get suffixes(): Maybe<string> {\n return this._suffixes.value;\n }\n\n set suffixes(suffixes: Maybe<string>) {\n this._suffixes.next(suffixes);\n }\n}\n","import { Directive, ChangeDetectorRef } from '@angular/core';\nimport { DbxStyleService } from './style.service';\nimport { AbstractSubscriptionDirective, safeDetectChanges } from '@dereekb/dbx-core';\nimport { delay } from 'rxjs';\n\n/**\n * Used to retrieve the current app styling from the DbxStyleService.\n */\n@Directive({\n selector: 'dbx-style, [dbxStyle], .dbx-style',\n host: {\n '[class]': 'cssClass'\n }\n})\nexport class DbxStyleDirective extends AbstractSubscriptionDirective {\n cssClass = '';\n\n constructor(readonly styleService: DbxStyleService, private cdRef: ChangeDetectorRef) {\n super(\n styleService.style$.pipe(delay(0)).subscribe((classes) => {\n this.cssClass = classes;\n safeDetectChanges(this.cdRef);\n })\n );\n }\n}\n","import { Directive, ChangeDetectorRef, Renderer2 } from '@angular/core';\nimport { DbxStyleService } from './style.service';\nimport { AbstractSubscriptionDirective, safeDetectChanges } from '@dereekb/dbx-core';\nimport { delay } from 'rxjs';\n\n/**\n * Used to style the body document using the style provided by DbxStyleService.\n */\n@Directive({\n selector: '[dbxStyleBody]',\n host: {\n '[class]': 'style'\n }\n})\nexport class DbxStyleBodyDirective extends AbstractSubscriptionDirective {\n private _currentStyle = '';\n\n constructor(private renderer: Renderer2, readonly styleService: DbxStyleService, private cdRef: ChangeDetectorRef) {\n super(\n styleService.style$.pipe(delay(0)).subscribe((style) => {\n this._currentStyle && this.renderer.removeClass(document.body, this._currentStyle);\n style && this.renderer.addClass(document.body, style);\n this._currentStyle = style;\n safeDetectChanges(this.cdRef);\n })\n );\n }\n}\n","import { CssClass, Maybe } from '@dereekb/util';\n\nexport type DbxThemeColor = 'primary' | 'accent' | 'warn' | 'ok' | 'success' | 'background' | 'grey' | 'disabled' | 'notice';\n\nexport const DBX_THEME_COLORS: DbxThemeColor[] = ['primary', 'accent', 'warn', 'ok', 'success', 'background', 'grey', 'disabled', 'notice'];\n\nexport function dbxColorBackground(color: Maybe<DbxThemeColor | ''>): CssClass {\n let cssClass = 'dbx-bg';\n\n switch (color) {\n case 'primary':\n case 'accent':\n case 'ok':\n case 'success':\n case 'warn':\n case 'grey':\n case 'disabled':\n case 'notice':\n cssClass = `dbx-${color}-bg`;\n break;\n }\n\n return cssClass;\n}\n","import { Directive, Input } from '@angular/core';\nimport { DbxThemeColor, dbxColorBackground } from './style';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Used to apply a background style using a color.\n */\n@Directive({\n selector: '[dbxColor]',\n host: {\n '[class]': 'cssClass'\n }\n})\nexport class DbxColorDirective {\n cssClass = '';\n\n @Input()\n set dbxColor(dbxColor: Maybe<DbxThemeColor | ''>) {\n this.cssClass = dbxColorBackground(dbxColor);\n }\n}\n","import { DbxSetStyleDirective } from './style.set.directive';\nimport { DbxStyleDirective } from './style.directive';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxSpacerDirective } from './spacer.directive';\nimport { DbxStyleBodyDirective } from './style.body.directive';\nimport { DbxColorDirective } from './style.color.directive';\n\nconst declarations = [DbxColorDirective, DbxSpacerDirective, DbxStyleDirective, DbxSetStyleDirective, DbxStyleBodyDirective];\n\n@NgModule({\n imports: [CommonModule],\n declarations,\n exports: declarations\n})\nexport class DbxStyleLayoutModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxDialogContentDirective } from './dialog.content.component';\nimport { DbxStyleLayoutModule } from '../../layout/style/style.layout.module';\nimport { DbxActionDialogDirective } from './dialog.action.directive';\nimport { DbxDialogContentFooterComponent } from './dialog.content.footer.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DbxDialogContentCloseComponent } from './dialog.content.close.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n/**\n * Module for block components.\n */\n@NgModule({\n imports: [CommonModule, DbxStyleLayoutModule, MatButtonModule, MatIconModule],\n declarations: [DbxDialogContentDirective, DbxActionDialogDirective, DbxDialogContentFooterComponent, DbxDialogContentCloseComponent],\n exports: [DbxDialogContentDirective, DbxActionDialogDirective, DbxDialogContentFooterComponent, DbxDialogContentCloseComponent]\n})\nexport class DbxDialogInteractionModule {}\n","import { FlexibleConnectedPositionStrategy, HorizontalConnectionPos, Overlay, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\nimport { NgOverlayContainerConfiguration } from 'ng-overlay-container';\n\nexport interface PopoverPositionStrategyConfig {\n overlay: Overlay;\n elementRef: ElementRef;\n config: NgOverlayContainerConfiguration;\n}\n\nexport class PopoverPositionStrategy {\n static make(overlay: Overlay, elementRef: ElementRef, config: NgOverlayContainerConfiguration): FlexibleConnectedPositionStrategy {\n const [originX, origin2ndX, origin3rdX]: HorizontalConnectionPos[] = config.originX === 'end' ? ['end', 'start', 'center'] : config.originX === 'start' ? ['start', 'end', 'center'] : ['center', 'start', 'end'];\n\n const overlayX = originX;\n const [overlayY, overlayFallbackY]: VerticalConnectionPos[] = config.overlayY === 'bottom' ? ['bottom', 'top'] : ['top', 'bottom'];\n\n const [originY, originFallbackY] = [overlayFallbackY, overlayY];\n const { offsetX = 0, offsetY = 0 } = config;\n\n return overlay\n .position()\n .flexibleConnectedTo(elementRef)\n .withLockedPosition(true)\n .withPositions([\n {\n originX,\n originY,\n overlayX,\n overlayY,\n offsetY\n },\n {\n originX: origin2ndX,\n originY,\n overlayX: origin2ndX,\n overlayY,\n offsetY\n },\n {\n originX,\n originY: originFallbackY,\n overlayX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY\n },\n {\n originX: origin2ndX,\n originY: originFallbackY,\n overlayX: origin2ndX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY\n },\n {\n originX: origin3rdX,\n originY,\n overlayX: origin3rdX,\n overlayY,\n offsetY\n },\n {\n originX: origin3rdX,\n originY: originFallbackY,\n overlayX: origin3rdX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY\n }\n ])\n .withDefaultOffsetX(offsetX)\n .withDefaultOffsetY(offsetY);\n }\n}\n","import { Maybe } from '@dereekb/util';\nimport { isBoolean } from 'class-validator';\nimport { Observable, of, map } from 'rxjs';\n\nexport enum CompactMode {\n FULL = 'full',\n COMPACT = 'compact'\n}\n\nexport interface CompactModeOptions<T> {\n full?: T;\n compact?: T;\n}\n\nexport interface CompactModeDefaultOptions<T> extends CompactModeOptions<T> {\n defaultMode?: Maybe<CompactMode>;\n}\n\nexport type CompactModeOption = CompactMode | boolean;\n\nexport function compactModeFromInput(input: CompactMode | boolean): CompactMode {\n if (isBoolean(input)) {\n input = input ? CompactMode.COMPACT : CompactMode.FULL;\n }\n\n return input === CompactMode.COMPACT ? CompactMode.COMPACT : CompactMode.FULL;\n}\n\nexport function mapCompactModeObs<T>(mode$: Maybe<Observable<CompactMode>>, config: CompactModeDefaultOptions<T>): Observable<Maybe<T>> {\n const modeObs = mode$ ?? of(config.defaultMode ?? CompactMode.FULL);\n return modeObs.pipe(\n map((inputMode) => {\n const isCompact = (inputMode ?? config.defaultMode) === CompactMode.COMPACT;\n\n if (isCompact) {\n return config.compact;\n } else {\n return config.full;\n }\n })\n );\n}\n","import { Injectable } from '@angular/core';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { map } from 'rxjs';\nimport { CompactMode, compactModeFromInput } from './compact';\n\nexport interface CompactContextState {\n mode: CompactMode;\n}\n\n@Injectable()\nexport class CompactContextStore extends ComponentStore<CompactContextState> {\n constructor() {\n super({ mode: CompactMode.FULL });\n }\n\n // MARK: Accessors\n readonly mode$ = this.state$.pipe(map((x) => x.mode));\n\n readonly setMode = this.updater((state, mode: CompactMode | boolean) => ({ mode: compactModeFromInput(mode) }));\n}\n","import { Directive, Input } from '@angular/core';\nimport { CompactMode } from './compact';\nimport { CompactContextStore } from './compact.store';\n\n/**\n * CompactContextStore provider.\n */\n@Directive({\n selector: '[dbxCompact]',\n providers: [CompactContextStore],\n exportAs: 'compact'\n})\nexport class DbxCompactDirective {\n mode$ = this.compactContextStore.mode$;\n\n constructor(readonly compactContextStore: CompactContextStore) {}\n\n @Input('dbxCompact')\n set mode(mode: CompactMode | boolean) {\n this.compactContextStore.setMode(mode);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxCompactDirective } from './compact.directive';\n\n/**\n * Module for block components.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [DbxCompactDirective],\n exports: [DbxCompactDirective]\n})\nexport class DbxCompactLayoutModule {}\n","import { Maybe } from '@dereekb/util';\nimport { Observable } from 'rxjs';\n\nexport type DbxPopoverKey = string;\n\nexport abstract class DbxPopoverController<O = unknown, I = unknown> {\n abstract readonly key: DbxPopoverKey;\n abstract readonly data?: Maybe<I>;\n abstract readonly closing$: Observable<boolean>;\n /**\n * Signals for the popover to close.\n */\n abstract close(): void;\n /**\n * Closes the popover and returns the input value.\n */\n abstract return(value?: O): void;\n}\n","import { Input, OnDestroy, Output, EventEmitter, HostListener, Directive } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\n@Directive({\n selector: '[dbxWindowKeyDownListener]'\n})\nexport class DbxWindowKeyDownListenerDirective implements OnDestroy {\n private _keysFilter?: Maybe<Set<string>>;\n\n @Input()\n appWindowKeyDownEnabled = true;\n\n @Output('dbxWindowKeyDownListener')\n keyPressed = new EventEmitter<KeyboardEvent>();\n\n @Input()\n set appWindowKeyDownFilter(filterOnKeys: string[]) {\n let filter: Maybe<Set<string>>;\n\n if (filterOnKeys) {\n filter = new Set(filterOnKeys);\n }\n\n this._keysFilter = filter;\n }\n\n ngOnDestroy(): void {\n this.keyPressed.complete();\n }\n\n @HostListener('window:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n if (this.appWindowKeyDownEnabled !== false) {\n if (!this._keysFilter || this._keysFilter.has(event.key)) {\n this.keyPressed.emit(event);\n }\n }\n }\n}\n","import { DbxPopoverKey, DbxPopoverController } from './popover';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * Used for coordinating popovers and closing/replacing existing ones when a new popover of the same name appears.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxPopoverCoordinatorService implements OnDestroy {\n private _popovers = new BehaviorSubject<Map<DbxPopoverKey, DbxPopoverController>>(new Map());\n readonly popovers$ = this._popovers.asObservable();\n\n ngOnDestroy(): void {\n this._popovers.complete();\n }\n\n get popovers(): Map<DbxPopoverKey, DbxPopoverController> {\n return this._popovers.value;\n }\n\n public addPopover(popover: DbxPopoverController): void {\n const key = popover.key;\n\n if (key) {\n this.removePopover(key);\n this._popovers.value.set(key, popover);\n this._popovers.next(this.popovers);\n }\n }\n\n public removePopover(key: DbxPopoverKey, popover?: DbxPopoverController): void {\n if (key) {\n const existing = this.popovers.get(key);\n\n // Remove if there is one existing, and if popover is provided it is the same popover.\n if (existing && (!popover || popover === existing)) {\n existing.close();\n this._popovers.value.delete(key);\n this._popovers.next(this.popovers);\n }\n }\n }\n}\n","import { DbxPopoverController } from './popover';\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { DbxPopoverCoordinatorService } from './popover.coordinator.service';\nimport { delay, map, shareReplay } from 'rxjs';\n\n/**\n * Used for coordinating popovers and closing/replacing existing ones when a new popover of the same name appears.\n */\n@Component({\n selector: 'dbx-popover-coordinator',\n template: `\n <ng-container *ngIf=\"show$ | async\">\n <ng-content></ng-content>\n </ng-container>\n `\n})\nexport class DbxPopoverCoordinatorComponent implements OnInit, OnDestroy {\n readonly isPopoverForKey$ = this.service.popovers$.pipe(\n map((x) => x.get(this.popover.key) === this.popover),\n shareReplay(1)\n );\n readonly show$ = this.isPopoverForKey$.pipe(delay(0));\n\n constructor(private readonly service: DbxPopoverCoordinatorService, private readonly popover: DbxPopoverController) {}\n\n ngOnInit(): void {\n this.service.addPopover(this.popover);\n }\n\n ngOnDestroy(): void {\n this.service.removePopover(this.popover.key, this.popover);\n }\n}\n","import { Component, NgZone, Type, OnInit, OnDestroy, ElementRef } from '@angular/core';\nimport { NgOverlayContainerConfiguration, NgPopoverCloseType, NgPopoverRef } from 'ng-overlay-container';\nimport { AbstractTransitionWatcherDirective, DbxRouterTransitionService, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { Subject, filter, first, map, shareReplay, startWith } from 'rxjs';\nimport { PopoverPositionStrategy } from './popover.position.strategy';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { LockSet } from '@dereekb/rxjs';\nimport { CompactContextStore, CompactMode } from '../../layout/compact';\nimport { asPromise, Maybe, PromiseOrValue, SpaceSeparatedCssClasses } from '@dereekb/util';\nimport { DbxPopoverController, DbxPopoverKey } from './popover';\n\nexport abstract class DbxPopoverComponentController<O, I> extends DbxPopoverController<O, I> {\n getClosingValueFn?: (value?: I) => Promise<O>;\n}\n\nexport interface DbxPopoverComponentConfig<O, I, T> {\n /**\n * Key used for uniquely identifying a limited instance.\n *\n * Only one popover should exist at a time given a certain key.\n */\n key: DbxPopoverKey;\n /**\n * Origin element to position on.\n */\n origin: ElementRef;\n /**\n * Whether or not to close if a transition occurs.\n */\n closeOnTransition?: boolean;\n /**\n * Whether or not to dismiss when the escape button is pressed.\n *\n * False by default.\n */\n closeOnEscape?: boolean;\n /**\n * Component to inject into the popover.\n */\n componentClass: Type<T>;\n /**\n * Panel classes to add to the popover.\n */\n panelClass?: Maybe<SpaceSeparatedCssClasses>;\n /**\n * Data available to the popover.\n */\n data?: Maybe<I>;\n init?: (component: T, controller: DbxPopoverController<O, I>) => void;\n}\n\nexport interface FullDbxPopoverComponentConfig<O, I, T> extends DbxPopoverComponentConfig<O, I, T> {\n configuration: NgOverlayContainerConfiguration;\n}\n\n/**\n * Popover component.\n */\n@Component({\n template: `\n <dbx-popover-coordinator (dbxWindowKeyDownListener)=\"handleKeydown()\" [appWindowKeyDownFilter]=\"triggerCloseKeys\">\n <div dbxStyle class=\"dbx-popover-component\" dbx-injection [config]=\"contentConfig\"></div>\n </dbx-popover-coordinator>\n `,\n providers: [\n {\n provide: DbxPopoverController,\n useExisting: DbxPopoverComponent\n },\n {\n provide: CompactContextStore\n }\n ],\n host: {\n '[class]': 'config.panelClass'\n }\n})\nexport class DbxPopoverComponent<O = unknown, I = unknown, T = unknown> extends AbstractTransitionWatcherDirective implements DbxPopoverController<O, I>, OnInit, OnDestroy {\n readonly lockSet = new LockSet();\n\n readonly contentConfig: DbxInjectionComponentConfig = {\n componentClass: this.config.componentClass,\n init: this.config.init ? (instance) => (this.config as Required<FullDbxPopoverComponentConfig<O, I, T>>).init(instance as T, this) : undefined\n };\n\n private _startedClosing = false;\n private readonly _closing = new Subject<void>();\n\n private _triggerCloseKeys: string[] = [];\n\n readonly isClosing$ = this._closing.pipe(\n first(),\n map(() => true),\n startWith(false),\n shareReplay(1)\n );\n readonly closing$ = this.isClosing$.pipe(filter((x) => x));\n\n getClosingValueFn?: (value: Maybe<I>, closeType: NgPopoverCloseType) => PromiseOrValue<O | undefined>;\n\n constructor(private popoverRef: NgPopoverRef<FullDbxPopoverComponentConfig<O, I, T>, O>, private compactContextState: CompactContextStore, dbxRouterTransitionService: DbxRouterTransitionService, ngZone: NgZone) {\n super(dbxRouterTransitionService, ngZone);\n\n // Override Close to properly signal to listeners when a close is occuring.\n const originalClose = this.popoverRef.close;\n this.popoverRef.close = (x) => {\n if (!this._startedClosing) {\n this.lockSet.lockForSeconds(1);\n this._startedClosing = true;\n this.close();\n originalClose.call(this.popoverRef, x);\n }\n };\n\n // Also intercept the _close function to capture backdropClose, etc.\n const original_close = (this.popoverRef as any)._close;\n (this.popoverRef as any)._close = (closeType: NgPopoverCloseType, inputValue: O | undefined) => {\n const closeWithValue = (value?: O | undefined) => {\n original_close.call(this.popoverRef, closeType, value);\n };\n\n if (closeType === 'close' || inputValue != null) {\n closeWithValue(inputValue);\n } else {\n // expected to be a backdrop close. Get the closing value then close.\n this._useClosingValue(closeType, (x) => closeWithValue(x));\n }\n };\n\n // eslint-disable-next-line\n const overlay = (popoverRef as any)._overlay as Overlay; // overlay is not publically accessible\n const elementRef = this.config.origin;\n const configuration = this.config.configuration;\n\n this.compactContextState.setMode(CompactMode.COMPACT);\n const position = PopoverPositionStrategy.make(overlay, elementRef, configuration);\n this.popoverRef.overlay.updatePositionStrategy(position);\n }\n\n get config(): FullDbxPopoverComponentConfig<O, I, T> {\n return this.popoverRef.data;\n }\n\n get panelClass(): Maybe<SpaceSeparatedCssClasses> {\n return this.config.panelClass;\n }\n\n get key(): DbxPopoverKey {\n return this.config.key;\n }\n\n get data(): Maybe<I> {\n return this.config.data;\n }\n\n get triggerCloseKeys(): string[] {\n return this._triggerCloseKeys;\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n\n if (this.config.closeOnEscape) {\n this._triggerCloseKeys = ['Escape'];\n }\n }\n\n override ngOnDestroy(): void {\n this.lockSet.destroyOnNextUnlock(() => {\n super.ngOnDestroy();\n this._closing.complete();\n });\n }\n\n protected updateForSuccessfulTransition(): void {\n if (this.config.closeOnTransition !== false) {\n this.close();\n }\n }\n\n // Popover Controls\n public close(): void {\n if (!this._startedClosing && this.getClosingValueFn != null) {\n this._useClosingValue('close', (x) => this.return(x));\n } else {\n this.return();\n }\n }\n\n public return(value?: O | undefined): void {\n this._closing.next();\n this.popoverRef.close(value);\n }\n\n private _useClosingValue(closeType: NgPopoverCloseType, useValue: (value?: O | undefined) => void) {\n if (this.getClosingValueFn != null) {\n asPromise(this.getClosingValueFn(this.data, closeType)).then(\n (x) => {\n useValue(x);\n },\n () => {\n useValue();\n }\n );\n } else {\n useValue();\n }\n }\n\n // Keypresses\n handleKeydown() {\n this.close();\n }\n}\n","import { DbxPopoverComponent, DbxPopoverComponentConfig, FullDbxPopoverComponentConfig } from './popover.component';\nimport { Injectable, Injector } from '@angular/core';\nimport { NgOverlayContainerConfiguration, NgOverlayContainerService, NgPopoverRef } from 'ng-overlay-container';\nimport { Overlay } from '@angular/cdk/overlay';\n\nexport type DbxPopoverConfigSizing = Pick<NgOverlayContainerConfiguration, 'originX' | 'originY' | 'height' | 'width' | 'minHeight' | 'minWidth' | 'isResizable'>;\n\nexport interface DbxPopoverConfig<O, I, T> extends DbxPopoverComponentConfig<O, I, T>, DbxPopoverConfigSizing {\n injector?: Injector;\n}\n\n/**\n * Used for displaying a popover.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxPopoverService {\n private _overlayContainerService: NgOverlayContainerService;\n\n constructor(private _overlay: Overlay, private _injector: Injector) {\n this._overlayContainerService = new NgOverlayContainerService(this._overlay, this._injector);\n }\n\n open<O, I, T>(config: DbxPopoverConfig<O, I, T>): NgPopoverRef<DbxPopoverComponentConfig<O, I, T>, O> {\n const service = config.injector ? new NgOverlayContainerService(this._overlay, config.injector) : this._overlayContainerService;\n\n const configuration: NgOverlayContainerConfiguration = {\n panelClass: 'dbx-popover-container',\n originX: config.originX ?? 'start',\n originY: config.originY ?? 'top',\n // TODO: Resize height/width.\n minHeight: config.minHeight,\n minWidth: config.minWidth,\n height: config.height ?? '500px',\n width: config.width ?? '400px',\n hasBackdrop: true,\n isDraggable: false,\n isResizable: config.isResizable ?? false,\n disableBackdropClose: false\n };\n\n return service.open<FullDbxPopoverComponentConfig<O, I, T>, O>({\n content: DbxPopoverComponent,\n data: {\n ...config,\n configuration\n },\n configuration\n });\n }\n}\n","import { Directive } from '@angular/core';\nimport { DbxPopoverComponent } from './popover.component';\n\n/**\n * Abstract popover directive.\n */\n@Directive()\nexport abstract class AbstractPopoverDirective<O = unknown, I = unknown, T = unknown> {\n constructor(public readonly popover: DbxPopoverComponent<O, I, T>) {}\n\n close(): void {\n this.popover.close();\n }\n\n returnAndClose(value: O): void {\n this.popover.return(value);\n }\n}\n","import { BehaviorSubject, throttleTime } from 'rxjs';\nimport { OnDestroy, Component } from '@angular/core';\nimport { ResizedEvent } from 'angular-resize-event';\n\n/**\n * Popover content wrapper component.\n */\n@Component({\n selector: 'dbx-popover-content',\n template: `\n <div class=\"d-block dbx-popover-content\" (resized)=\"onResized($event)\" [style.--popoverh]=\"height$ | async\">\n <ng-content select=\"[controls]\"></ng-content>\n <div class=\"dbx-popover-content-container\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class DbxPopoverContentComponent implements OnDestroy {\n private readonly _height = new BehaviorSubject<string>('');\n readonly height$ = this._height.asObservable().pipe(throttleTime(100, undefined, { leading: true, trailing: true }));\n\n hasControls = false;\n hasHeader = false;\n\n onResized(event: ResizedEvent): void {\n this._height.next(`${event.newRect.height}px`);\n }\n\n ngOnDestroy(): void {\n this._height.complete();\n }\n}\n","import { Component, Input, Optional } from '@angular/core';\nimport { DbxPopoverContentComponent } from './popover.content.component';\n\n/**\n * Component used to format a header for a popover.\n */\n@Component({\n selector: 'dbx-popover-header',\n template: `\n <div class=\"dbx-popover-header\">\n <div class=\"dbx-popover-header-content\">\n <h3>\n <mat-icon *ngIf=\"icon\" class=\"dbx-icon-spacer\">{{ icon }}</mat-icon>\n {{ header }}\n </h3>\n <span class=\"spacer\"></span>\n <ng-content></ng-content>\n </div>\n </div>\n <mat-divider></mat-divider>\n `\n})\nexport class DbxPopoverHeaderComponent {\n @Input()\n header?: string;\n\n @Input()\n icon?: string;\n\n constructor(@Optional() appPopoverContentComponent: DbxPopoverContentComponent) {\n if (appPopoverContentComponent) {\n appPopoverContentComponent.hasHeader = true;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { DbxPopoverContentComponent } from './popover.content.component';\n\n/**\n * Popover scrollable content wrapper component.\n */\n@Component({\n selector: 'dbx-popover-scroll-content',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'd-block dbx-popover-scroll-content',\n '[class]': 'sizingClasses'\n }\n})\nexport class DbxPopoverScrollContentComponent {\n get sizingClasses(): string {\n const hasHeader = this.hasHeader;\n const hasControls = this.hasControls;\n\n const classes: string[] = [];\n\n if (hasHeader && hasControls) {\n classes.push('popover-has-controls-and-header');\n } else if (hasHeader) {\n classes.push('popover-has-header');\n } else if (hasControls) {\n classes.push('popover-has-controls');\n }\n\n return classes.join(' ');\n }\n\n get hasHeader(): boolean {\n return this.appPopoverContentComponent.hasHeader;\n }\n\n get hasControls(): boolean {\n return this.appPopoverContentComponent.hasControls;\n }\n\n constructor(readonly appPopoverContentComponent: DbxPopoverContentComponent) {}\n}\n","import { DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { Component, ElementRef, Type, OnInit, OnDestroy } from '@angular/core';\nimport { NgPopoverRef } from 'ng-overlay-container';\nimport { Observable, BehaviorSubject, map, skip, first, defaultIfEmpty } from 'rxjs';\nimport { AbstractPopoverDirective } from '../popover/abstract.popover.directive';\nimport { DbxPopoverComponent } from '../popover/popover.component';\nimport { DbxPopoverConfigSizing, DbxPopoverService } from '../popover/popover.service';\nimport { FilterSource, FilterSourceConnector, PresetFilterSource, filterMaybe, SubscriptionObject } from '@dereekb/rxjs';\nimport { DbxPopoverKey } from '../popover/popover';\nimport { Maybe } from '@dereekb/util';\n\nexport interface DbxFilterComponentParams<F extends object = object, P extends string = string, CF extends FilterSource<F> = FilterSource<F>, PF extends PresetFilterSource<F, P> = PresetFilterSource<F, P>> extends DbxPopoverConfigSizing {\n /**\n * Custom icon\n *\n * Defaults to \"filter_list\"\n */\n icon?: string;\n /**\n * Custom header text\n *\n * Defaults to \"Filter\"\n */\n header?: string;\n /**\n * Custom customize button text. If not defined, defaults to \"Customize\"\n */\n customizeButtonText?: string;\n /**\n * Custom close button text. If not defined, defaults to \"Close\"\n */\n closeButtonText?: string;\n /**\n * Whether or not to show the close button. Defaults to the value of !closeOnFilterChange\n */\n showCloseButton?: Maybe<boolean>;\n /**\n * Custom filter component to initialize.\n */\n customFilterComponentClass?: Type<CF>;\n /**\n * Preset filter component to initialize.\n */\n presetFilterComponentClass?: Type<PF>;\n /**\n * DbxInjectionComponentConfig for the custom filter component to initialize.\n */\n customFilterComponentConfig?: DbxInjectionComponentConfig<CF>;\n /**\n * DbxInjectionComponentConfig for the preset filter component to initialize.\n */\n presetFilterComponentConfig?: DbxInjectionComponentConfig<PF>;\n /**\n * The connector to use.\n */\n connector: FilterSourceConnector<F>;\n /**\n * (Optional) Inital filter to pass to the filter source.\n */\n initialFilterObs?: Observable<F>;\n /**\n * (Optional) Whether or not to close the component if the filter changes.\n *\n * True by default.\n */\n closeOnFilterChange?: boolean;\n}\n\nexport interface DbxFilterPopoverComponentParams<F extends object = object> extends DbxFilterComponentParams<F> {\n /**\n * Origin to add the popover to.\n */\n origin: ElementRef;\n}\n\nexport const DEFAULT_FILTER_POPOVER_KEY = 'filter';\n\n@Component({\n templateUrl: './filter.popover.component.html'\n})\nexport class DbxFilterPopoverComponent<F extends object> extends AbstractPopoverDirective<unknown, DbxFilterComponentParams<F>> implements OnInit, OnDestroy {\n private _closeOnChangeSub = new SubscriptionObject();\n\n readonly showCloseButton = this.config.showCloseButton ?? !(this.config.closeOnFilterChange ?? true);\n readonly closeButtonText = this.config.closeButtonText ?? 'Close';\n readonly customizeButtonText = this.config.customizeButtonText ?? 'Customize';\n\n /**\n * Whether or not to display buttons to toggle between custom and preset filters.\n */\n readonly showSwitchButtons = Boolean(this.config.customFilterComponentClass && this.config.presetFilterComponentClass);\n\n private _showPreset = new BehaviorSubject<boolean>(false);\n readonly showPreset$ = this._showPreset.asObservable();\n\n readonly config$: Observable<DbxInjectionComponentConfig<FilterSource<F>>> = this._showPreset.pipe(\n map((showPreset) => {\n const { closeOnFilterChange = true, connector, initialFilterObs, customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig } = this.config;\n let componentClass: Type<FilterSource<F>>;\n let baseConfig: Maybe<DbxInjectionComponentConfig<FilterSource<F>>>;\n\n if (showPreset) {\n componentClass = (presetFilterComponentConfig?.componentClass ?? presetFilterComponentClass) as Type<FilterSource<F>>;\n baseConfig = presetFilterComponentConfig;\n } else {\n componentClass = (customFilterComponentConfig?.componentClass ?? customFilterComponentClass) as Type<FilterSource<F>>;\n baseConfig = customFilterComponentConfig;\n }\n\n const config: DbxInjectionComponentConfig<FilterSource<F>> = {\n ...baseConfig,\n componentClass,\n init: (filterSource) => {\n connector.connectWithSource(filterSource);\n\n if (initialFilterObs && filterSource.initWithFilter) {\n filterSource.initWithFilter(initialFilterObs);\n }\n\n if (closeOnFilterChange !== false) {\n this._closeOnChangeSub.subscription = filterSource.filter$.pipe(skip(1), filterMaybe(), first(), defaultIfEmpty(undefined)).subscribe(() => {\n this.close();\n });\n }\n\n // run the next init if provided\n baseConfig?.init?.(filterSource);\n }\n };\n\n return config;\n })\n );\n\n static openPopover<F extends object>(popupService: DbxPopoverService, { width, height, isResizable, origin, header, icon, customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig, connector, initialFilterObs, closeOnFilterChange, customizeButtonText, showCloseButton, closeButtonText }: DbxFilterPopoverComponentParams<F>, popoverKey?: DbxPopoverKey): NgPopoverRef {\n return popupService.open({\n key: popoverKey ?? DEFAULT_FILTER_POPOVER_KEY,\n origin,\n componentClass: DbxFilterPopoverComponent,\n width,\n height,\n isResizable,\n data: {\n header,\n icon,\n customizeButtonText,\n showCloseButton,\n closeButtonText,\n customFilterComponentClass,\n presetFilterComponentClass,\n customFilterComponentConfig,\n presetFilterComponentConfig,\n connector,\n initialFilterObs,\n closeOnFilterChange\n } as DbxFilterComponentParams<F>\n });\n }\n\n constructor(popover: DbxPopoverComponent<unknown, DbxFilterComponentParams<F>>) {\n super(popover);\n }\n\n get config(): DbxFilterComponentParams<F> {\n return this.popover.data as DbxFilterComponentParams<F>;\n }\n\n get icon() {\n return this.config.icon ?? 'filter_list';\n }\n\n get header() {\n return this.config.header ?? 'Filter';\n }\n\n ngOnInit(): void {\n let showPreset = false;\n const { customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig } = this.config;\n\n if (customFilterComponentClass || customFilterComponentConfig) {\n showPreset = false;\n }\n\n if (presetFilterComponentClass || presetFilterComponentConfig) {\n showPreset = true;\n }\n\n if (!(customFilterComponentClass || customFilterComponentConfig) && !(presetFilterComponentClass || presetFilterComponentConfig)) {\n throw new Error('Requires a preset or custom class provided for DbxFilterPopover.');\n }\n\n this._showPreset.next(showPreset);\n }\n\n ngOnDestroy(): void {\n this._closeOnChangeSub.destroy();\n this._showPreset.complete();\n }\n\n showPresets() {\n this._showPreset.next(true);\n }\n\n showCustom() {\n this._showPreset.next(false);\n }\n}\n","<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <ng-container *ngIf=\"showSwitchButtons\" [ngSwitch]=\"showPreset$ | async\">\n <button *ngSwitchCase=\"true\" mat-flat-button color=\"accent\" (click)=\"showCustom()\">{{ customizeButtonText }}</button>\n <button *ngSwitchCase=\"false\" mat-flat-button color=\"accent\" (click)=\"showPresets()\">Presets</button>\n </ng-container>\n <ng-container *ngIf=\"showCloseButton\">\n <dbx-button-spacer *ngIf=\"showSwitchButtons\"></dbx-button-spacer>\n <button mat-stroked-button color=\"accent\" (click)=\"close()\">{{ closeButtonText }}</button>\n </ng-container>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-injection [config]=\"config$ | async\"></dbx-injection>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n","import { OnDestroy, Directive, EventEmitter, Output, ElementRef } from '@angular/core';\nimport { AbstractSubscriptionDirective } from '@dereekb/dbx-core';\nimport { NgPopoverCloseEvent, NgPopoverRef } from 'ng-overlay-container';\n\n/**\n * Abstract class for showing and handling a popover ref.\n */\n@Directive()\nexport abstract class AbstractPopoverRefDirective<T = unknown, R = unknown> extends AbstractSubscriptionDirective {\n private _popoverRef?: NgPopoverRef<T, R>;\n\n showPopover(origin?: ElementRef): void {\n if (!this._popoverRef) {\n this._showPopoverRef(origin);\n }\n }\n\n private _showPopoverRef(origin?: ElementRef): void {\n this._popoverRef = this._makePopoverRef(origin);\n this._afterOpened(this._popoverRef);\n this.sub = this._popoverRef.afterClosed$.subscribe((x) => {\n this._afterClosed(x);\n this._popoverRef = undefined;\n });\n }\n\n protected abstract _makePopoverRef(origin?: ElementRef): NgPopoverRef<T, R>;\n\n protected _afterOpened(popoverRef: NgPopoverRef<T, R>): void {\n // Do nothing. Override in parent type\n }\n\n protected _afterClosed(value: NgPopoverCloseEvent<R>): void {\n // Do nothing. Override in parent type\n }\n}\n\n/**\n * {@link AbstractPopoverRefDirective} extension that includes open/closed events.\n */\n@Directive()\nexport abstract class AbstractPopoverRefWithEventsDirective<T = unknown, R = unknown> extends AbstractPopoverRefDirective<T, R> implements OnDestroy {\n @Output()\n readonly popoverOpened = new EventEmitter<NgPopoverRef<T, R>>();\n\n @Output()\n readonly popoverClosed = new EventEmitter<NgPopoverCloseEvent<R>>();\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this.popoverClosed.complete();\n this.popoverOpened.complete();\n }\n\n protected override _afterOpened(popoverRef: NgPopoverRef<T, R>): void {\n this.popoverOpened.next(popoverRef);\n }\n\n protected override _afterClosed(event: NgPopoverCloseEvent<R>): void {\n this.popoverClosed.next(event);\n }\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\nimport { NgPopoverRef } from 'ng-overlay-container';\nimport { DbxPopoverService } from '../popover/popover.service';\nimport { DbxFilterPopoverComponent, DbxFilterComponentParams } from './filter.popover.component';\nimport { AbstractPopoverRefDirective } from '../popover/abstract.popover.ref.directive';\nimport { FilterSource, PresetFilterSource } from '@dereekb/rxjs';\n\nexport type DbxFilterButtonConfig<F extends object> = DbxFilterComponentParams<F>;\nexport type DbxFilterButtonConfigWithCustomFilter<F extends object, CF extends FilterSource<F> = FilterSource<F>> = Omit<DbxFilterComponentParams<F, any, CF, any>, 'presetFilter' | 'presetFilterComponentConfig'>;\nexport type DbxFilterButtonConfigWithPresetFilter<F extends object, PF extends PresetFilterSource<F, any> = PresetFilterSource<F, any>> = Omit<DbxFilterComponentParams<F, any, any, PF>, 'customFilter' | 'customFilterComponentConfig'>;\n\n@Directive()\nexport abstract class AbstractFilterPopoverButtonDirective<F extends object> extends AbstractPopoverRefDirective<unknown, unknown> {\n @Input()\n config?: DbxFilterComponentParams<F, any, any, any>;\n\n constructor(private readonly popupService: DbxPopoverService) {\n super();\n }\n\n protected override _makePopoverRef(origin?: ElementRef): NgPopoverRef<unknown, unknown> {\n const config = this.config;\n\n if (!config) {\n throw new Error('Missing filterButtonConfig.');\n } else if (!origin) {\n throw new Error('Missing origin.');\n }\n\n return DbxFilterPopoverComponent.openPopover(this.popupService, {\n origin,\n ...config\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { AbstractFilterPopoverButtonDirective } from './filter.popover.button.directive';\nimport { DbxButtonDisplayContent } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\n\nconst DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT: DbxButtonDisplayContent = {\n icon: 'filter_list'\n};\n\n@Component({\n selector: 'dbx-filter-popover-button',\n template: `\n <dbx-icon-button #button (buttonClick)=\"showFilterPopover()\" [buttonDisplay]=\"buttonDisplay\" [disabled]=\"disabled\"></dbx-icon-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DbxFilterPopoverButtonComponent<F extends object = object> extends AbstractFilterPopoverButtonDirective<F> {\n private _buttonDisplay: DbxButtonDisplayContent = DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT;\n\n @Input()\n disabled?: Maybe<boolean>;\n\n @Input()\n get buttonDisplay(): DbxButtonDisplayContent {\n return this._buttonDisplay;\n }\n\n set buttonDisplay(buttonDisplay: Maybe<DbxButtonDisplayContent>) {\n if (!buttonDisplay) {\n buttonDisplay = DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT;\n }\n\n this._buttonDisplay = buttonDisplay;\n }\n\n @ViewChild('button', { read: ElementRef, static: false })\n buttonElement!: ElementRef;\n\n showFilterPopover(): void {\n const origin = this.buttonElement.nativeElement;\n this.showPopover(origin);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxWindowKeyDownListenerDirective } from './keydown.listener.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [DbxWindowKeyDownListenerDirective],\n exports: [DbxWindowKeyDownListenerDirective]\n})\nexport class DbxKeypressModule {}\n","import { Directive, Optional } from '@angular/core';\nimport { DbxPopoverContentComponent } from './popover.content.component';\n\n/**\n * Popover Controls\n */\n@Directive({\n selector: 'dbx-popover-controls,[dbxPopoverControls],.dbx-popover-controls',\n host: {\n class: 'd-block dbx-popover-controls'\n }\n})\nexport class DbxPopoverControlsDirective {\n constructor(@Optional() appPopoverContentComponent: DbxPopoverContentComponent) {\n if (appPopoverContentComponent) {\n appPopoverContentComponent.hasControls = true;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { DbxPopoverComponent } from './popover.component';\n\n/**\n * Pre-configured close icon button for use within popover header.\n */\n@Component({\n selector: 'dbx-popover-close-button',\n template: `\n <button mat-icon-button (click)=\"dbxPopoverComponent.close()\"><mat-icon>close</mat-icon></button>\n `\n})\nexport class DbxPopoverCloseButtonComponent {\n constructor(readonly dbxPopoverComponent: DbxPopoverComponent) {}\n}\n","import { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { AngularResizeEventModule } from 'angular-resize-event';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { NgModule } from '@angular/core';\nimport { NgOverlayContainerModule } from 'ng-overlay-container';\nimport { DbxPopoverContentComponent } from './popover.content.component';\nimport { DbxPopoverControlsDirective } from './popover.controls.directive';\nimport { DbxPopoverHeaderComponent } from './popover.header.component';\nimport { DbxPopoverScrollContentComponent } from './popover.scroll.content.component';\nimport { DbxKeypressModule } from '../../keypress';\nimport { DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { DbxStyleLayoutModule } from '../../layout/style/style.layout.module';\nimport { DbxPopoverCloseButtonComponent } from './popover.close.component';\n\nconst declarations = [DbxPopoverContentComponent, DbxPopoverControlsDirective, DbxPopoverHeaderComponent, DbxPopoverCloseButtonComponent, DbxPopoverScrollContentComponent];\n\n/**\n * Contains all popover content components, allowing other sibling dbx-web modules to use the directives without referencing the full popover module.\n */\n@NgModule({\n imports: [CommonModule, MatIconModule, MatButtonModule, MatDividerModule, DbxKeypressModule, DbxStyleLayoutModule, DbxInjectionComponentModule, NgOverlayContainerModule, AngularResizeEventModule],\n declarations,\n exports: declarations\n})\nexport class DbxPopoverInteractionContentModule {}\n","import { first, Observable, map } from 'rxjs';\nimport { Directive, OnInit, OnDestroy, Input, ElementRef } from '@angular/core';\nimport { NgPopoverRef } from 'ng-overlay-container';\nimport { DbxActionContextStoreSourceInstance, AbstractDbxActionValueOnTriggerDirective } from '@dereekb/dbx-core';\nimport { IsModifiedFunction } from '@dereekb/rxjs';\nimport { Maybe } from '@dereekb/util';\n\nexport interface DbxActionPopoverFunctionParams {\n origin: ElementRef;\n}\n\nexport type DbxActionPopoverFunction<T = unknown> = (params: DbxActionPopoverFunctionParams) => NgPopoverRef<unknown, Maybe<T>>;\n\n/**\n * Action directive that is used to trigger/display a popover, then watches that popover for a value.\n */\n@Directive({\n exportAs: 'dbxActionPopover',\n selector: '[dbxActionPopover]'\n})\nexport class DbxActionPopoverDirective<T = unknown> extends AbstractDbxActionValueOnTriggerDirective<T> implements OnInit, OnDestroy {\n @Input('dbxActionPopover')\n fn?: DbxActionPopoverFunction<T>;\n\n @Input()\n set dbxActionPopoverModified(isModifiedFunction: Maybe<IsModifiedFunction>) {\n this.isModifiedFunction = isModifiedFunction;\n }\n\n constructor(readonly elementRef: ElementRef, source: DbxActionContextStoreSourceInstance<T, unknown>) {\n super(source, () => this._getDataFromPopover());\n }\n\n protected _getDataFromPopover(): Observable<Maybe<T>> {\n return this._makePopoverRef().afterClosed$.pipe(\n first(),\n map((x) => x.data)\n );\n }\n\n protected _makePopoverRef(): NgPopoverRef<unknown, Maybe<T>> {\n const origin = this.elementRef;\n\n if (!this.fn) {\n throw new Error('popoverAction has no function provided to it yet.');\n }\n\n return this.fn({\n origin\n });\n }\n}\n","import { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { AngularResizeEventModule } from 'angular-resize-event';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { NgModule } from '@angular/core';\nimport { NgOverlayContainerModule } from 'ng-overlay-container';\nimport { DbxPopoverCoordinatorComponent } from './popover.coordinator.component';\nimport { DbxPopoverComponent } from './popover.component';\nimport { DbxKeypressModule } from '../../keypress';\nimport { DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { DbxStyleLayoutModule } from '../../layout/style/style.layout.module';\nimport { DbxPopoverInteractionContentModule } from './popover.content.module';\nimport { DbxActionPopoverDirective } from './popover.action.directive';\n\nconst declarations = [DbxPopoverComponent, DbxPopoverCoordinatorComponent, DbxActionPopoverDirective];\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatButtonModule, MatDividerModule, DbxKeypressModule, DbxStyleLayoutModule, DbxInjectionComponentModule, NgOverlayContainerModule, AngularResizeEventModule, DbxPopoverInteractionContentModule],\n declarations,\n exports: [...declarations, DbxPopoverInteractionContentModule]\n})\nexport class DbxPopoverInteractionModule {}\n","import { Component, Input } from '@angular/core';\nimport { AbstractDbxActionHandlerDirective, DbxActionContextStoreSourceInstance, FilterSourceDirective, provideActionStoreSource } from '@dereekb/dbx-core';\nimport { of } from 'rxjs';\n\n/**\n * Action component used to simplify creating a filter form.\n *\n * Provides a DbxAction and configures the action to set the filter on a FilterSourceDirective when triggered.\n */\n@Component({\n selector: 'dbx-filter-wrapper',\n templateUrl: './filter.wrapper.component.html',\n providers: [provideActionStoreSource(null)]\n})\nexport class DbxFilterWrapperComponent<F = unknown> extends AbstractDbxActionHandlerDirective<F> {\n @Input()\n showButtons = true;\n\n @Input()\n applyRaised = true;\n\n @Input()\n applyIcon = 'filter_list';\n\n @Input()\n applyText = 'Filter';\n\n constructor(source: DbxActionContextStoreSourceInstance<F>, readonly filterSourceDirective: FilterSourceDirective<F>) {\n super(source);\n // configure handler function\n this._dbxActionHandlerInstance.handlerFunction = (filter: F) => {\n this.filterSourceDirective.setFilter(filter);\n return of(true);\n };\n }\n\n applyFilter(): void {\n this.source.setIsModified(true); // Force setting modified.\n this.source.trigger();\n }\n\n resetFilter(): void {\n this.filterSourceDirective.resetFilter();\n }\n}\n","<div class=\"dbx-filter-wrapper\">\n <div class=\"dbx-filter-wrapper-content\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showButtons\" fxLayout=\"row\">\n <dbx-button dbxActionButton [raised]=\"applyRaised\" [text]=\"applyText\" [icon]=\"applyIcon\"></dbx-button>\n <div class=\"spacer\"></div>\n <button mat-icon-button (click)=\"resetFilter()\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n</div>\n","import { shareReplay, BehaviorSubject, map, Observable, combineLatest, distinctUntilChanged, startWith } from 'rxjs';\nimport { Directive, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { ClickableFilterPreset, ClickableAnchorLink, FilterSourceDirective, ClickablePartialFilterPreset, ClickableFilterPresetOrPartialPreset, isClickableFilterPreset } from '@dereekb/dbx-core';\nimport { getValueFromGetter, Maybe, objectHasNoKeys } from '@dereekb/util';\nimport { FilterWithPreset } from '@dereekb/rxjs';\n\n/**\n * Displays a button and menu for filtering presets.\n */\n@Directive()\nexport abstract class AbstractDbxPresetFilterMenuComponent<F extends FilterWithPreset> implements OnDestroy {\n //TODO: Rename to AbstractDbxPresetFilterMenuDirective with next breaking changes\n\n @Output()\n presetSelected = new EventEmitter<ClickableFilterPresetOrPartialPreset<F>>();\n\n private _presets = new BehaviorSubject<ClickableFilterPresetOrPartialPreset<F>[]>([]);\n\n readonly selected$: Observable<Maybe<F>> = this.filterSourceDirective.filter$.pipe(startWith(undefined), distinctUntilChanged(), shareReplay(1));\n readonly presetsWithPresetStringOnly$: Observable<ClickableFilterPreset<F>[]> = this._presets.pipe(map((x) => x.filter((y) => Boolean((y as ClickableFilterPreset<F>).preset)) as ClickableFilterPreset<F>[]));\n\n readonly selectedPresetString$: Observable<Maybe<string>> = this.selected$.pipe(\n map((selectedFilter) => (selectedFilter ? selectedFilter.preset : undefined)),\n distinctUntilChanged()\n );\n\n readonly presetAnchorsPairs$: Observable<['preset' | 'partialPreset', ClickableFilterPresetOrPartialPreset<F>, ClickableAnchorLink][]> = combineLatest([this._presets, this.selected$, this.selectedPresetString$]).pipe(\n map(([presets, currentFilterValue, selectedPresetString]) => {\n return presets.map((x) => {\n let selected: boolean;\n let type: 'preset' | 'partialPreset';\n\n if (isClickableFilterPreset(x)) {\n selected = x.preset === selectedPresetString;\n type = 'preset';\n } else {\n selected = x.isActive(currentFilterValue);\n type = 'partialPreset';\n }\n\n return [\n type,\n x,\n {\n ...x,\n selected,\n onClick: () => {\n this.selectPreset(x);\n }\n }\n ] as [typeof type, ClickableFilterPresetOrPartialPreset<F>, ClickableAnchorLink];\n });\n }),\n shareReplay(1)\n );\n\n readonly presetAnchors$: Observable<ClickableAnchorLink[]> = this.presetAnchorsPairs$.pipe(\n map((x) => x.map((x) => x[2])),\n shareReplay(1)\n );\n\n readonly firstSelectedAnchorPair$ = this.presetAnchorsPairs$.pipe(\n map((presets) => {\n const firstSelected = presets.find((x) => x[2].selected);\n return firstSelected ? firstSelected : undefined;\n }),\n shareReplay(1)\n );\n\n readonly selectedPreset$: Observable<Maybe<ClickableFilterPreset<F>>> = this.presetAnchorsPairs$.pipe(\n map((presets) => {\n const firstSelected = presets.filter((x) => x[0] === 'preset').find((x) => x[2].selected);\n return firstSelected ? (firstSelected[1] as ClickableFilterPreset<F>) : undefined;\n }),\n shareReplay(1)\n );\n\n @Input()\n get presets(): ClickableFilterPresetOrPartialPreset<F>[] {\n return this._presets.value;\n }\n\n set presets(presets: ClickableFilterPresetOrPartialPreset<F>[]) {\n this._presets.next(presets);\n }\n\n constructor(readonly filterSourceDirective: FilterSourceDirective<F>) {}\n\n selectPreset(preset: ClickableFilterPresetOrPartialPreset<F>) {\n const presetString = (preset as ClickableFilterPreset<F>).preset;\n const presetValue = (preset as ClickableFilterPreset<F>).presetValue || (preset as ClickablePartialFilterPreset<F>).partialPresetValue;\n\n if (presetValue == null || (typeof presetValue !== 'function' && objectHasNoKeys(presetValue))) {\n // set and then reset if the value is null or empty\n this.filterSourceDirective.setFilter((presetValue ?? {}) as F);\n this.filterSourceDirective.resetFilter();\n } else {\n let filter = getValueFromGetter(presetValue) as F;\n\n if (filter.preset !== presetString) {\n filter = {\n ...filter,\n preset: presetString\n };\n }\n\n this.filterSourceDirective.setFilter(filter);\n }\n\n this.presetSelected.next(preset);\n }\n\n ngOnDestroy(): void {\n this._presets.complete();\n this.presetSelected.complete();\n }\n}\n","import { DbxInjectionComponentConfig } from '@dereekb/dbx-core';\n\nexport abstract class DbxRouterWebProviderConfig {\n /**\n * Component used by the Anchor component to render a SegueRef link.\n */\n abstract anchorSegueRefComponent: DbxInjectionComponentConfig;\n}\n","import { skipFirstMaybe } from '@dereekb/rxjs';\nimport { Input, Component, TemplateRef, ViewChild, OnDestroy, HostListener } from '@angular/core';\nimport { AbstractDbxAnchorDirective, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\nimport { map, distinctUntilChanged, shareReplay, BehaviorSubject } from 'rxjs';\nimport { DbxRouterWebProviderConfig } from '../../provider/router.provider.config';\n\n/**\n * Component that renders an anchor element depending on the input.\n */\n@Component({\n selector: 'dbx-anchor, [dbx-anchor]',\n templateUrl: './anchor.component.html',\n host: {\n class: 'd-inline dbx-anchor',\n 'dbx-anchor-block': 'block'\n }\n})\nexport class DbxAnchorComponent extends AbstractDbxAnchorDirective implements OnDestroy {\n private _templateRef = new BehaviorSubject<Maybe<TemplateRef<unknown>>>(undefined);\n readonly templateRef$ = this._templateRef.pipe(skipFirstMaybe(), shareReplay(1));\n\n @Input()\n public block?: boolean;\n\n @ViewChild('content', { read: TemplateRef })\n get templateRef(): Maybe<TemplateRef<unknown>> {\n return this._templateRef.value;\n }\n\n set templateRef(templateRef: Maybe<TemplateRef<unknown>>) {\n this._templateRef.next(templateRef);\n }\n\n readonly url$ = this.anchor$.pipe(\n map((x) => x?.url),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly target$ = this.anchor$.pipe(\n map((x) => x?.target),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly selectedClass$ = this.selected$.pipe(\n map((selected) => (selected ? 'dbx-anchor-selected' : '')),\n shareReplay(1)\n );\n\n constructor(private readonly dbNgxRouterWebProviderConfig: DbxRouterWebProviderConfig) {\n super();\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._templateRef.complete();\n }\n\n get srefAnchorConfig(): DbxInjectionComponentConfig {\n return this.dbNgxRouterWebProviderConfig.anchorSegueRefComponent;\n }\n\n clickAnchor(event?: Maybe<MouseEvent>): void {\n this.anchor?.onClick?.(event);\n }\n\n @HostListener('mouseenter')\n onMouseEnter(event?: Maybe<MouseEvent>) {\n this.anchor?.onMouse?.('enter', event);\n }\n\n @HostListener('mouseleave')\n onMouseLeave(event?: Maybe<MouseEvent>) {\n this.anchor?.onMouse?.('leave', event);\n }\n}\n","<ng-container [ngSwitch]=\"type$ | async\">\n <!-- Plain -->\n <ng-container *ngSwitchCase=\"0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n <!-- Click -->\n <a class=\"dbx-anchor-a dbx-anchor-click\" [ngClass]=\"(selectedClass$ | async) || ''\" (click)=\"clickAnchor()\" *ngSwitchCase=\"1\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <!-- Router -->\n <dbx-injection [config]=\"srefAnchorConfig\" *ngSwitchCase=\"2\">\n <!-- Injected in child. -->\n </dbx-injection>\n <!-- Href -->\n <a class=\"dbx-anchor-a dbx-anchor-href\" [href]=\"url$ | async\" [attr.target]=\"target$ | async\" *ngSwitchCase=\"3\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <!-- Disabled or None -->\n <a class=\"dbx-anchor-a dbx-anchor-disabled\" *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n</ng-container>\n<!-- Template content -->\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { OnDestroy, Input, Component } from '@angular/core';\nimport { BehaviorSubject, map, shareReplay, distinctUntilChanged, Observable } from 'rxjs';\nimport { ClickableAnchorLinkTree, ExpandedClickableAnchorLinkTree, expandClickableAnchorLinkTrees } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\n\nexport interface DbxAnchorListExpandedAnchor extends ExpandedClickableAnchorLinkTree {\n classes: string;\n}\n\n/**\n * Component that displays a list of ClickableAnchorLink values within a MatNavList.\n */\n@Component({\n selector: 'dbx-anchor-list',\n templateUrl: './anchorlist.component.html'\n})\nexport class DbxAnchorListComponent implements OnDestroy {\n private _anchors = new BehaviorSubject<ClickableAnchorLinkTree[]>([]);\n\n readonly expandedAnchors$: Observable<DbxAnchorListExpandedAnchor[]> = this._anchors.pipe(\n distinctUntilChanged(),\n map((x) =>\n expandClickableAnchorLinkTrees(x).map((y) => {\n (y as DbxAnchorListExpandedAnchor).classes = `${y.depth > 0 ? `dbx-anchor-list-child` : 'dbx-anchor-list-root'} dbx-anchor-list-depth-${y.depth}`;\n return y as DbxAnchorListExpandedAnchor;\n })\n ),\n shareReplay(1)\n );\n\n @Input()\n set anchors(anchors: Maybe<ClickableAnchorLinkTree[]>) {\n this._anchors.next(anchors ?? []);\n }\n\n ngOnDestroy(): void {\n this._anchors.complete();\n }\n}\n","<mat-nav-list class=\"dbx-anchor-list\">\n <ng-container *ngFor=\"let expanded of expandedAnchors$ | async; let last = last\">\n <dbx-anchor [anchor]=\"expanded.value\" [ngClass]=\"expanded.classes\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\">\n <mat-icon matListItemIcon *ngIf=\"expanded.value.icon\">{{ expanded.value.icon }}</mat-icon>\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div matListItemTitle>{{ expanded.value.title }}</div>\n <div matListItemLine class=\"dbx-small\" *ngIf=\"expanded.value.hint\">{{ expanded.value.hint }}</div>\n <dbx-injection *ngIf=\"expanded.value.content\" [config]=\"expanded.value.content\"></dbx-injection>\n </a>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </dbx-anchor>\n </ng-container>\n</mat-nav-list>\n","import { Component } from '@angular/core';\nimport { FilterWithPreset } from '@dereekb/rxjs';\nimport { AbstractDbxPresetFilterMenuComponent } from './filter.preset';\n\n@Component({\n selector: 'dbx-preset-filter-list',\n template: `\n <dbx-anchor-list [anchors]=\"presetAnchors$ | async\"></dbx-anchor-list>\n `\n})\nexport class DbxPresetFilterListComponent<F extends FilterWithPreset> extends AbstractDbxPresetFilterMenuComponent<F> {}\n","import { Component, Input } from '@angular/core';\nimport { ClickableIconAnchorLink } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Component that displays an anchor and a mat-button.\n */\n@Component({\n selector: 'dbx-anchor-icon',\n template: `\n <dbx-anchor [anchor]=\"anchor\">\n <button mat-icon-button>\n <mat-icon>{{ anchor?.icon }}</mat-icon>\n </button>\n </dbx-anchor>\n `\n})\nexport class DbxAnchorIconComponent {\n @Input()\n anchor: Maybe<ClickableIconAnchorLink>;\n}\n","import { Component, Input } from '@angular/core';\nimport { ClickableAnchor } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Pre-styled text that can link to either a website or a ref using a dbx-anchor.\n */\n@Component({\n selector: 'dbx-link',\n template: `\n <dbx-anchor [anchor]=\"anchor\">\n <ng-content></ng-content>\n </dbx-anchor>\n `,\n host: {\n class: 'd-inline dbx-link'\n }\n})\nexport class DbxAnchorLinkComponent {\n @Input()\n anchor?: Maybe<ClickableAnchor>;\n\n @Input()\n set ref(ref: Maybe<string>) {\n if (ref) {\n this.anchor = {\n ref\n };\n }\n }\n\n @Input()\n set href(href: Maybe<string>) {\n if (href) {\n this.anchor = {\n url: href\n };\n }\n }\n}\n","import { BehaviorSubject, combineLatest, map, Observable, of, shareReplay } from 'rxjs';\nimport { Component, Input, Optional, OnDestroy } from '@angular/core';\nimport { ClickableAnchor, ClickableAnchorLink } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxAnchorComponent } from './anchor.component';\n\n/**\n * Component that displays an anchor and a span with the title.\n */\n@Component({\n selector: 'dbx-anchor-content',\n template: `\n <mat-icon class=\"dbx-icon-spacer\" *ngIf=\"icon$ | async\">{{ icon$ | async }}</mat-icon>\n <span *ngIf=\"title$ | async\">{{ title$ | async }}</span>\n `,\n host: {\n class: 'dbx-anchor-content'\n }\n})\nexport class DbxAnchorContentComponent implements OnDestroy {\n private readonly _parentAnchor: Observable<Maybe<ClickableAnchor | ClickableAnchorLink>> = this.parent ? this.parent.anchor$ : of(undefined);\n private _inputAnchor = new BehaviorSubject<Maybe<Partial<ClickableAnchorLink>>>(undefined);\n\n readonly anchor$: Observable<Maybe<Partial<ClickableAnchorLink>>> = combineLatest([this._inputAnchor, this._parentAnchor]).pipe(\n map(([input, parent]) => input ?? parent),\n shareReplay(1)\n );\n\n readonly icon$ = this.anchor$.pipe(map((x) => x?.icon));\n readonly title$ = this.anchor$.pipe(map((x) => x?.title));\n\n @Input()\n set anchor(anchor: Maybe<Partial<ClickableAnchorLink>>) {\n this._inputAnchor.next(anchor);\n }\n\n constructor(@Optional() readonly parent?: DbxAnchorComponent) {}\n\n ngOnDestroy(): void {\n this._inputAnchor.complete();\n }\n}\n","import { DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { NgModule } from '@angular/core';\nimport { DbxAnchorComponent } from './anchor.component';\nimport { CommonModule } from '@angular/common';\nimport { DbxAnchorIconComponent } from './anchor.icon.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DbxAnchorLinkComponent } from './anchor.link.component';\nimport { DbxAnchorContentComponent } from './anchor.content.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatButtonModule, DbxInjectionComponentModule],\n declarations: [DbxAnchorComponent, DbxAnchorIconComponent, DbxAnchorLinkComponent, DbxAnchorContentComponent],\n exports: [DbxAnchorComponent, DbxAnchorIconComponent, DbxAnchorLinkComponent, DbxAnchorContentComponent]\n})\nexport class DbxRouterAnchorModule {}\n","import { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { DbxRouterAnchorModule } from '../anchor/anchor.module';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DbxAnchorListComponent } from './anchorlist.component';\nimport { DbxInjectionComponentModule } from '@dereekb/dbx-core';\n\n@NgModule({\n imports: [CommonModule, DbxInjectionComponentModule, MatTabsModule, MatButtonModule, MatIconModule, MatListModule, MatMenuModule, DbxRouterAnchorModule],\n declarations: [DbxAnchorListComponent],\n exports: [DbxAnchorListComponent]\n})\nexport class DbxRouterAnchorListModule {}\n","import { ClickableAnchorLink } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\nimport { combineLatest, distinctUntilChanged, map, Observable, shareReplay, switchMap } from 'rxjs';\n\n/**\n * Configuration for the preset filter menus\n */\nexport interface DbxPresetFilterMenuConfig {\n /**\n * The text to display for the unknown selection.\n */\n unknownSelectionText?: string;\n /**\n * The icon to use for the filter, or false if no icon should be shown.\n */\n filterIcon?: Maybe<string> | false;\n /**\n * Whether or not to use the preset's icon if one is defined. If filterIcon is false, the icon will only appear when an item is selected.\n */\n usePresetIcon?: boolean;\n}\n\nexport function dbxPresetFilterMenuButtonTextObservable(config$: Observable<DbxPresetFilterMenuConfig>, selection$: Observable<Maybe<Partial<Pick<ClickableAnchorLink, 'title'>>>>, defaultText = 'Filter') {\n return combineLatest([config$, selection$]).pipe(\n map(([config, preset]) => preset?.title ?? config.unknownSelectionText ?? defaultText),\n distinctUntilChanged(),\n shareReplay(1)\n );\n}\n\nexport function dbxPresetFilterMenuButtonIconObservable(config$: Observable<DbxPresetFilterMenuConfig>, selection$: Observable<Maybe<Partial<Pick<ClickableAnchorLink, 'icon'>>>>, defaultIcon = 'arrow_drop_down') {\n return config$.pipe(\n switchMap((config) => {\n const filterIcon = config.filterIcon === false ? '' : config.filterIcon || defaultIcon;\n\n return selection$.pipe(\n map((preset) => {\n let icon: Maybe<string>;\n\n if (config.filterIcon === false) {\n if (config.usePresetIcon) {\n icon = preset?.icon;\n }\n } else if (config.usePresetIcon) {\n icon = preset?.icon ?? filterIcon;\n } else {\n icon = filterIcon;\n }\n\n return icon;\n })\n );\n }),\n distinctUntilChanged(),\n shareReplay(1)\n );\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { Component, Input } from '@angular/core';\nimport { FilterWithPreset } from '@dereekb/rxjs';\nimport { AbstractDbxPresetFilterMenuComponent } from './filter.preset';\nimport { dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, DbxPresetFilterMenuConfig } from './filter.menu';\n\n/**\n * Displays a button and menu for filtering presets.\n */\n@Component({\n selector: 'dbx-preset-filter-menu',\n templateUrl: './filter.preset.menu.component.html'\n})\nexport class DbxPresetFilterMenuComponent<F extends FilterWithPreset> extends AbstractDbxPresetFilterMenuComponent<F> {\n private _config = new BehaviorSubject<DbxPresetFilterMenuConfig>({});\n\n readonly buttonText$ = dbxPresetFilterMenuButtonTextObservable(this._config, this.selectedPreset$);\n readonly buttonIcon$ = dbxPresetFilterMenuButtonIconObservable(this._config, this.selectedPreset$);\n\n @Input()\n get config(): DbxPresetFilterMenuConfig {\n return this._config.value;\n }\n\n set config(config: DbxPresetFilterMenuConfig) {\n this._config.next(config);\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._config.complete();\n }\n}\n","<button mat-button [matMenuTriggerFor]=\"menu\" class=\"dbx-preset-filter-menu-button\" aria-label=\"open filter\">\n <mat-icon class=\"dbx-icon-spacer\" *ngIf=\"buttonIcon$ | async\">{{ buttonIcon$ | async }}</mat-icon>\n <span>{{ buttonText$ | async }}</span>\n</button>\n<mat-menu #menu class=\"dbx-preset-filter-menu\">\n <dbx-anchor *ngFor=\"let anchor of presetAnchors$ | async\" [anchor]=\"anchor\">\n <button mat-menu-item [ngClass]=\"anchor.selected ? 'active' : ''\">\n <mat-icon *ngIf=\"anchor.icon\">{{ anchor.icon }}</mat-icon>\n {{ anchor.title }}\n </button>\n </dbx-anchor>\n</mat-menu>\n","import { Directive } from '@angular/core';\nimport { DbxInjectionTemplateConfig } from '@dereekb/dbx-core';\nimport { Observable, distinctUntilChanged, shareReplay, map } from 'rxjs';\nimport { DbxAnchorComponent } from './anchor.component';\n\n/**\n * Abstract implementation\n */\n@Directive()\nexport abstract class AbstractDbxSegueAnchorDirective {\n readonly target$ = this.parent.target$;\n\n readonly ref$ = this.parent.anchor$.pipe(\n map((x) => x?.ref),\n distinctUntilChanged(),\n shareReplay(1)\n );\n readonly refParams$ = this.parent.anchor$.pipe(\n map((x) => x?.refParams),\n distinctUntilChanged(),\n shareReplay(1)\n );\n readonly refOptions$ = this.parent.anchor$.pipe(\n map((x) => x?.refOptions),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n constructor(readonly parent: DbxAnchorComponent) {}\n\n readonly template$: Observable<DbxInjectionTemplateConfig> = this.parent.templateRef$.pipe(\n distinctUntilChanged(),\n map((templateRef) => ({\n templateRef\n })),\n shareReplay(1)\n );\n\n get anchor() {\n return this.parent.anchor;\n }\n}\n","import { forwardRef, Provider, Type } from '@angular/core';\nimport { ArrayOrValue, modifier, Modifier, ModifierFunction, ModifierMap } from '@dereekb/util';\nimport { Observable } from 'rxjs';\nimport { DbxValueListItem } from './list.view.value';\n\n// MARK: ValueListView\nexport abstract class DbxValueListItemModifier<T = unknown, I extends DbxValueListItem<T> = DbxValueListItem<T>> {\n abstract readonly modifiers$: Observable<ModifierMap<I>>;\n\n abstract addModifiers(modifiers: ArrayOrValue<Modifier<I>>): void;\n abstract removeModifiers(modifiers: ArrayOrValue<Modifier<I>>): void;\n}\n\nexport function provideDbxValueListViewModifier<V extends DbxValueListItemModifier>(sourceType: Type<V>): Provider[] {\n return [\n {\n provide: DbxValueListItemModifier,\n useExisting: forwardRef(() => sourceType)\n }\n ];\n}\n\n// MARK: Utility\nexport type ListItemModifier<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> = Modifier<I>;\n\nexport function listItemModifier<T, I extends DbxValueListItem<T> = DbxValueListItem<T>>(key: string, modify: ModifierFunction<I>): ListItemModifier<T, I> {\n return modifier(key, modify);\n}\n","import { BehaviorSubject, map, Observable, shareReplay, combineLatest } from 'rxjs';\nimport { Directive, Input, OnDestroy, OnInit } from '@angular/core';\nimport { DbxValueListItem } from './list.view.value';\nimport { addModifiers, ArrayOrValue, combineMaps, Maybe, Modifier, ModifierMap, removeModifiers } from '@dereekb/util';\nimport { SubscriptionObject } from '@dereekb/rxjs';\nimport { DbxValueListItemModifier, provideDbxValueListViewModifier } from './list.view.value.modifier';\n\n/**\n * DbxValueListViewModifier implementation\n */\n@Directive({\n selector: '[dbxListItemModifier]',\n providers: provideDbxValueListViewModifier(DbxValueListItemModifierDirective)\n})\nexport class DbxValueListItemModifierDirective<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> implements DbxValueListItemModifier<T, I>, OnDestroy {\n private _modifiers = new BehaviorSubject<Maybe<ModifierMap<I>>>(undefined);\n private _inputModifiers = new BehaviorSubject<Maybe<ArrayOrValue<Modifier<I>>>>(undefined);\n\n readonly modifiers$ = combineLatest([this._modifiers, this._inputModifiers]).pipe(\n map(([modifiers, inputModifiers]) => {\n return combineMaps(modifiers, inputModifiers ? addModifiers(inputModifiers) : undefined);\n }),\n shareReplay(1)\n );\n\n ngOnDestroy(): void {\n this._modifiers.complete();\n }\n\n // MARK: Modifiers\n addModifiers(modifiers: ArrayOrValue<Modifier<I>>): void {\n this._modifiers.next(addModifiers(modifiers, this._modifiers.value));\n }\n\n removeModifiers(modifiers: ArrayOrValue<Modifier<I>>): void {\n this._modifiers.next(removeModifiers(modifiers, this._modifiers.value));\n }\n\n // MARK: Input Modifiers\n @Input('dbxListItemModifier')\n set inputModifiers(inputModifiers: Maybe<ArrayOrValue<Modifier<I>>>) {\n this._inputModifiers.next(inputModifiers);\n }\n}\n\n/**\n * Abstract directive used for managing modifyers for a DbxValueListView.\n */\n@Directive()\nexport abstract class AbstractDbxValueListItemModifierDirective<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> implements OnInit, OnDestroy {\n abstract readonly modifiers$: Observable<Maybe<ArrayOrValue<Modifier<I>>>>;\n\n private _linkedModifiers: Maybe<ArrayOrValue<Modifier<I>>>;\n private _modifiersSub = new SubscriptionObject();\n\n constructor(readonly dbxValueListItemModifier: DbxValueListItemModifier<T, I>) {}\n\n ngOnInit(): void {\n this._modifiersSub.subscription = this.modifiers$.subscribe((modifiers) => {\n this._linkModifiers(modifiers);\n });\n }\n\n ngOnDestroy(): void {\n this._unlinkModifiers();\n }\n\n private _linkModifiers(modifiers: Maybe<ArrayOrValue<Modifier<I>>>) {\n this._unlinkModifiers();\n\n if (modifiers) {\n this.dbxValueListItemModifier.addModifiers(modifiers);\n this._linkedModifiers = modifiers;\n }\n }\n\n private _unlinkModifiers() {\n if (this._linkedModifiers) {\n this.dbxValueListItemModifier.removeModifiers(this._linkedModifiers);\n this._linkedModifiers = undefined;\n }\n }\n}\n","import { Directive, Input, OnDestroy } from '@angular/core';\nimport { ClickableAnchor } from '@dereekb/dbx-core';\nimport { ArrayOrValue, Maybe, Modifier } from '@dereekb/util';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { DbxValueListItem } from '../../../layout/list/list.view.value';\nimport { AbstractDbxValueListItemModifierDirective } from '../../../layout/list/list.view.value.modifier.directive';\n\nexport type AnchorForValueFunction<T> = (value: T, item: DbxValueListItem<T>) => Maybe<ClickableAnchor>;\n\nexport const DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY = 'router_anchor';\n\n@Directive({\n selector: '[dbxListItemAnchorModifier]'\n})\nexport class DbxListItemAnchorModifierDirective<T> extends AbstractDbxValueListItemModifierDirective<T> implements OnDestroy {\n private _anchorForItem = new BehaviorSubject<Maybe<AnchorForValueFunction<T>>>(undefined);\n\n readonly modifiers$: Observable<Maybe<ArrayOrValue<Modifier<DbxValueListItem<T>>>>> = this._anchorForItem.pipe(\n map((anchorForItem) => {\n let modifiers: Maybe<Modifier<DbxValueListItem<T>>>;\n\n if (anchorForItem) {\n modifiers = {\n key: DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY,\n modify: (x: DbxValueListItem<T>) => {\n x.anchor = anchorForItem(x.itemValue, x);\n }\n };\n }\n\n return modifiers;\n })\n );\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._anchorForItem.complete();\n }\n\n @Input('dbxListItemAnchorModifier')\n set anchorForItem(anchorForItem: Maybe<AnchorForValueFunction<T>>) {\n this._anchorForItem.next(anchorForItem);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DbxListItemAnchorModifierDirective } from './router.list.directive';\n\n@NgModule({\n imports: [],\n declarations: [DbxListItemAnchorModifierDirective],\n exports: [DbxListItemAnchorModifierDirective]\n})\nexport class DbxRouterListModule {}\n","/**\n * Set of screen media width types. Their pixel sizes correspond with the DbxScreenMediaService's configuration.\n *\n * Values:\n * - micro: Screen is considered mobile.\n * - small: Screen is consider small, but larger than mobile.\n * - tablet: Screen is considered tablet size.\n * - large: Screen is considered large than a tablet, but not full size.\n * - full: Screen is greater than large.\n */\nexport type ScreenMediaWidthType = 'micro' | 'small' | 'tablet' | 'large' | 'full';\n\nexport const SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP = {\n micro: 0,\n small: 1,\n tablet: 2,\n large: 3,\n full: 4\n};\n\n/**\n * Describes the current screen's vertical space.\n *\n * Values:\n * - tiny: Screen height is tiny, potentially the size of the navigation alone.\n * - normal: Screen has a normal height.\n */\nexport type ScreenMediaHeightType = 'tiny' | 'normal';\n\n/**\n * Compares the breakpoint with the current width and determines if it is \"active\" or not.\n *\n * The current is considered active if it is bigger or equal to the breakpoint.\n *\n * @param current\n * @param breakpoint\n */\nexport function screenMediaWidthTypeIsActive(current: ScreenMediaWidthType, breakpoint: ScreenMediaWidthType) {\n return compareScreenMediaWidthTypes(current, breakpoint, (a, b) => a >= b);\n}\n\nexport function compareScreenMediaWidthTypes(a: ScreenMediaWidthType, b: ScreenMediaWidthType, compare: (a: number, b: number) => boolean) {\n return compare(SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[a], SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[b]);\n}\n","import { Destroyable } from '@dereekb/util';\nimport { MediaMatcher } from '@angular/cdk/layout';\nimport { ObservableOrValue, asObservable, initialize } from '@dereekb/rxjs';\nimport { Subject, map, shareReplay, distinctUntilChanged, throttleTime, Observable, combineLatest } from 'rxjs';\nimport { ScreenMediaWidthType, ScreenMediaHeightType, screenMediaWidthTypeIsActive } from './screen';\nimport { Injectable } from '@angular/core';\n\n/**\n * ScreenMediaService configuration.\n */\nexport abstract class DbxScreenMediaServiceConfig {\n /**\n * The maximum size of a micro screen. Any size bigger than this is considered a small screen or larger.\n */\n abstract microScreenWidthMax: number;\n /**\n * The maximum size of a small screen. Any size bigger than this is considered a tablet screen or larger.\n */\n abstract smallScreenWidthMax: number;\n /**\n * The maximum size of a tablet screen. Any size bigger than this is considered a large screen or larger.\n */\n abstract tabletScreenWidthMax: number;\n /**\n * The maximum size of a large screen. Any size bigger than this is considered full.\n */\n abstract largeScreenWidthMax: number;\n /**\n * The maximum size of a tiny screen. Any size bigger than this is considered normal.\n */\n abstract tinyScreenHeightMax: number;\n}\n\nexport const DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG: DbxScreenMediaServiceConfig = {\n microScreenWidthMax: 360,\n smallScreenWidthMax: 520,\n tabletScreenWidthMax: 786,\n largeScreenWidthMax: 1280,\n tinyScreenHeightMax: 280\n};\n\n/**\n * Service that emits the current view type based on the configuration.\n */\n@Injectable()\nexport class DbxScreenMediaService implements Destroyable {\n private _microQuery: MediaQueryList;\n private _smallQuery: MediaQueryList;\n private _tabletQuery: MediaQueryList;\n private _largeQuery: MediaQueryList;\n\n private _tinyHeightQuery: MediaQueryList;\n\n private _updateWidth = new Subject<void>();\n private _updateHeight = new Subject<void>();\n\n readonly widthType$: Observable<ScreenMediaWidthType> = this._updateWidth.pipe(\n initialize(() => this._updateWidth.next()),\n throttleTime(100, undefined, { leading: true, trailing: true }),\n map(() => this._readWidthType()),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly heightType$: Observable<ScreenMediaHeightType> = this._updateWidth.pipe(\n initialize(() => this._updateHeight.next()),\n throttleTime(100, undefined, { leading: true, trailing: true }),\n map(() => this._readHeightType()),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n constructor(private readonly _media: MediaMatcher, config: DbxScreenMediaServiceConfig) {\n const { microScreenWidthMax, smallScreenWidthMax, tabletScreenWidthMax, largeScreenWidthMax } = config;\n\n this._microQuery = this._media.matchMedia(`screen and (max-width:${microScreenWidthMax}px)`);\n this._smallQuery = this._media.matchMedia(`screen and (max-width:${smallScreenWidthMax}px)`);\n this._tabletQuery = this._media.matchMedia(`screen and (max-width:${tabletScreenWidthMax}px)`);\n this._largeQuery = this._media.matchMedia(`screen and (max-width:${largeScreenWidthMax}px)`);\n\n this._tinyHeightQuery = this._media.matchMedia(`screen and (max-width:${largeScreenWidthMax}px)`);\n\n const widthHandler: (ev: MediaQueryListEvent) => void = () => this._updateWidth.next();\n const heightHandler: (ev: MediaQueryListEvent) => void = () => this._updateHeight.next();\n\n this._microQuery.onchange = widthHandler;\n this._smallQuery.onchange = widthHandler;\n this._tabletQuery.onchange = widthHandler;\n this._largeQuery.onchange = widthHandler;\n this._tinyHeightQuery.onchange = heightHandler;\n }\n\n destroy(): void {\n this._microQuery.onchange = null;\n this._smallQuery.onchange = null;\n this._tabletQuery.onchange = null;\n this._largeQuery.onchange = null;\n this._updateWidth.complete();\n this._updateHeight.complete();\n }\n\n /**\n * Returns an observable that detects whether or no the current width is greater or equal to the given breakpoint.\n *\n * @param inputBreakpoint\n * @returns\n */\n isBreakpointActive(inputBreakpoint: ObservableOrValue<ScreenMediaWidthType>): Observable<boolean> {\n return combineLatest([this.widthType$, asObservable(inputBreakpoint)]).pipe(\n map(([current, breakpoint]) => screenMediaWidthTypeIsActive(current, breakpoint)),\n distinctUntilChanged(),\n shareReplay(1)\n );\n }\n\n private _readWidthType(): ScreenMediaWidthType {\n let width: ScreenMediaWidthType;\n\n if (this._microQuery.matches) {\n width = 'micro';\n } else if (this._smallQuery.matches) {\n width = 'small';\n } else if (this._tabletQuery.matches) {\n width = 'tablet';\n } else if (this._largeQuery.matches) {\n width = 'large';\n } else {\n width = 'full';\n }\n\n return width;\n }\n\n private _readHeightType(): ScreenMediaHeightType {\n if (this._tinyHeightQuery) {\n return 'tiny';\n } else {\n return 'normal';\n }\n }\n}\n","import { Observable, BehaviorSubject, combineLatest, map, shareReplay, distinctUntilChanged, switchMap } from 'rxjs';\nimport { ScreenMediaWidthType } from './../../../screen/screen';\nimport { DbxScreenMediaService } from '../../../screen/screen.service';\nimport { applyBestFit, findNext, Maybe } from '@dereekb/util';\nimport { Input, Component, OnDestroy, ChangeDetectionStrategy, ChangeDetectorRef, TrackByFunction } from '@angular/core';\nimport { ClickableAnchorLinkSegueRef, DbxRouterService, DbxRouterTransitionService, AbstractTransitionDirective, tapDetectChanges, DbxButtonDisplayContent } from '@dereekb/dbx-core';\nimport { HorizontalConnectionPos } from '@angular/cdk/overlay';\n\ninterface NavAnchorLink {\n selected: boolean;\n anchor: ClickableAnchorLinkSegueRef;\n}\n\nexport type NavBarContentAlign = 'center' | 'left' | 'right';\nexport type NavbarMode = 'bar' | 'button' | 'icon';\nexport type NavbarButtonMode = 'menu' | 'rotate';\n\n/**\n * Component that displays a navbar.\n */\n@Component({\n selector: 'dbx-navbar',\n templateUrl: './navbar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dbx-navbar'\n }\n})\nexport class DbxNavbarComponent extends AbstractTransitionDirective implements OnDestroy {\n /**\n * Whether or not to show the dropwdown caret for a menu\n */\n @Input()\n showMenuCaret = false;\n\n @Input()\n navAlign: HorizontalConnectionPos = 'center';\n\n private _icon = new BehaviorSubject<Maybe<string>>(undefined);\n private _defaultIcon = new BehaviorSubject<Maybe<string>>('menu');\n private _defaultText = new BehaviorSubject<Maybe<string>>(undefined);\n\n private _inputMode = new BehaviorSubject<Maybe<NavbarMode>>(undefined);\n private _buttonMode = new BehaviorSubject<NavbarButtonMode>('menu');\n private _breakpoint = new BehaviorSubject<ScreenMediaWidthType>('large');\n private _anchors = new BehaviorSubject<ClickableAnchorLinkSegueRef[]>([]);\n\n readonly isBreakpointActive$ = this._dbxScreenMediaService.isBreakpointActive(this._breakpoint);\n\n readonly mode$ = combineLatest([this._inputMode, this.isBreakpointActive$]).pipe(\n map(([inputMode, breakpointActive]) => {\n return breakpointActive ? inputMode ?? 'bar' : 'button';\n }),\n distinctUntilChanged(),\n tapDetectChanges(this.cdRef),\n shareReplay(1)\n );\n\n readonly anchors$: Observable<NavAnchorLink[]> = combineLatest([this._anchors, this.initAndUpdateOnTransitionSuccess$]).pipe(\n map(([anchors]) => {\n const results = anchors.map((anchor) => {\n const selected = this._dbxRouterService.isActive(anchor);\n\n return {\n selected,\n anchor\n };\n });\n\n return applyBestFit(\n results,\n (x) => x.selected,\n (a, b) => this._dbxRouterService.comparePrecision(a.anchor, b.anchor),\n (nonBestFit) => ({ ...nonBestFit, selected: false })\n );\n }),\n tapDetectChanges(this.cdRef),\n shareReplay(1)\n );\n\n readonly buttonMode$ = this._buttonMode.pipe(distinctUntilChanged(), shareReplay(1));\n\n readonly selectedAnchor$: Observable<Maybe<NavAnchorLink>> = this.anchors$.pipe(map((x) => x.find((y) => y.selected)));\n readonly nextRotateAnchor$: Observable<Maybe<NavAnchorLink>> = this.anchors$.pipe(map((x) => findNext(x, (y) => y.selected) || x[0]));\n\n readonly hasNoAnchors$ = this.anchors$.pipe(\n map((x) => x.length === 0),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly buttonNavAnchor$ = this.buttonMode$.pipe(\n switchMap((x) => (x === 'menu' ? this.selectedAnchor$ : this.nextRotateAnchor$)),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly buttonDisplay$: Observable<DbxButtonDisplayContent> = combineLatest([this._defaultIcon, this._icon, this._defaultText, this.buttonNavAnchor$, this.mode$]).pipe(\n map(([defaultIcon, icon, defaultText, selectedAnchor, mode]) => {\n let content: DbxButtonDisplayContent;\n\n if (icon) {\n content = { icon, text: defaultText };\n } else if (selectedAnchor) {\n content = { icon: selectedAnchor.anchor.icon ?? defaultIcon, text: selectedAnchor.anchor.title };\n } else {\n content = { icon: defaultIcon ?? 'menu', text: defaultText };\n }\n\n if (mode === 'icon') {\n return { icon: content.icon };\n } else {\n return content;\n }\n }),\n shareReplay(1)\n );\n\n readonly trackByFunction: TrackByFunction<NavAnchorLink> = (index: number, item: NavAnchorLink) => item.anchor;\n\n // TODO: potentially make the caret depending on the current button display.\n\n constructor(dbxRouterTransitionService: DbxRouterTransitionService, private cdRef: ChangeDetectorRef, private readonly _dbxScreenMediaService: DbxScreenMediaService, private readonly _dbxRouterService: DbxRouterService) {\n super(dbxRouterTransitionService);\n }\n\n ngOnDestroy(): void {\n this._icon.complete();\n this._defaultIcon.complete();\n this._defaultText.complete();\n this._inputMode.complete();\n this._buttonMode.complete();\n this._breakpoint.complete();\n this._anchors.complete();\n }\n\n // MARK: Accessors\n @Input()\n public set icon(icon: Maybe<string>) {\n this._icon.next(icon);\n }\n\n @Input()\n public set defaultIcon(defaultIcon: Maybe<string>) {\n this._defaultIcon.next(defaultIcon);\n }\n\n @Input()\n public set defaultText(defaultText: Maybe<string>) {\n this._defaultText.next(defaultText);\n }\n\n @Input()\n public set anchors(anchors: Maybe<ClickableAnchorLinkSegueRef[]>) {\n this._anchors.next(anchors ?? []);\n }\n\n @Input()\n public set buttonMode(mode: Maybe<NavbarButtonMode>) {\n this._buttonMode.next(mode ?? 'menu');\n }\n\n @Input()\n public set mode(mode: Maybe<NavbarMode>) {\n this._inputMode.next(mode);\n }\n\n @Input()\n public set breakpoint(breakpoint: ScreenMediaWidthType) {\n this._breakpoint.next(breakpoint);\n }\n}\n","<ng-container [ngSwitch]=\"mode$ | async\">\n <!-- Button -->\n <ng-container *ngSwitchDefault>\n <ng-container [ngSwitch]=\"buttonMode$ | async\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [matMenuTriggerFor]=\"menu\" [disabled]=\"hasNoAnchors$ | async\">\n <mat-icon *ngIf=\"showMenuCaret\">arrow_drop_down</mat-icon>\n </dbx-icon-button>\n <mat-menu #menu>\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <button mat-menu-item [ngClass]=\"x.selected ? 'active' : ''\">\n <mat-icon *ngIf=\"x.anchor.icon\">{{ x.anchor.icon }}</mat-icon>\n {{ x.anchor.title }}\n </button>\n </dbx-anchor>\n </mat-menu>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rotate'\">\n <dbx-anchor [anchor]=\"(nextRotateAnchor$ | async)?.anchor\">\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n </dbx-anchor>\n </ng-container>\n </ng-container>\n </ng-container>\n <!-- Bar -->\n <ng-container *ngSwitchCase=\"'bar'\">\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\" [attr.mat-align-tabs]=\"navAlign\">\n <dbx-anchor *ngFor=\"let x of anchors$ | async; trackBy: trackByFunction\" [anchor]=\"x.anchor\">\n <a mat-tab-link [active]=\"x.selected\">{{ x.anchor.title }}</a>\n </dbx-anchor>\n </nav>\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n </ng-container>\n</ng-container>\n","import { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { DbxRouterAnchorModule } from '../anchor/anchor.module';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DbxNavbarComponent } from './navbar.component';\nimport { DbxIconButtonModule } from '../../../button';\nimport { UIRouterModule } from '@uirouter/angular';\n\n@NgModule({\n imports: [\n //\n CommonModule,\n DbxIconButtonModule,\n MatTabsModule,\n MatButtonModule,\n MatIconModule,\n MatMenuModule,\n UIRouterModule,\n DbxRouterAnchorModule\n ],\n declarations: [DbxNavbarComponent],\n exports: [DbxNavbarComponent]\n})\nexport class DbxRouterNavbarModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DbxScreenMediaService, DbxScreenMediaServiceConfig, DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG } from './screen.service';\n\n@NgModule()\nexport class DbxScreenModule {\n static forRoot(config: DbxScreenMediaServiceConfig = DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG): ModuleWithProviders<DbxScreenModule> {\n return {\n ngModule: DbxScreenModule,\n providers: [\n {\n provide: DbxScreenMediaServiceConfig,\n useValue: config\n },\n DbxScreenMediaService\n ]\n };\n }\n}\n","export enum SideNavDisplayMode {\n NONE = 'none',\n MOBILE = 'mobile',\n ICON = 'icon',\n FULL = 'full'\n}\n","import { NgZone, OnDestroy, OnInit, Component, Input, ViewChild } from '@angular/core';\nimport { MatDrawerMode, MatSidenav } from '@angular/material/sidenav';\nimport { DbxScreenMediaService } from '../../../screen';\nimport { AbstractTransitionWatcherDirective, DbxRouterTransitionService, ClickableAnchorLinkTree } from '@dereekb/dbx-core';\nimport { SubscriptionObject } from '@dereekb/rxjs';\nimport { Maybe } from '@dereekb/util';\nimport { distinctUntilChanged, map, shareReplay, Observable, first } from 'rxjs';\nimport { SideNavDisplayMode } from './sidenav';\n\nexport interface DbxSidenavSidebarState {\n mode: SideNavDisplayMode;\n drawer: MatDrawerMode;\n open?: boolean;\n}\n\n/**\n * Navigation component that sits at the side of an app.\n */\n@Component({\n selector: 'dbx-sidenav',\n exportAs: 'sidenav',\n templateUrl: './sidenav.component.html'\n})\nexport class DbxSidenavComponent extends AbstractTransitionWatcherDirective implements OnInit, OnDestroy {\n @Input()\n anchors?: Maybe<ClickableAnchorLinkTree[]>;\n\n @ViewChild(MatSidenav, { static: true })\n readonly sidenav!: MatSidenav;\n\n readonly mode$: Observable<SideNavDisplayMode> = this._screenMediaService.widthType$.pipe(\n distinctUntilChanged(),\n map((width) => {\n let mode!: SideNavDisplayMode;\n\n switch (width) {\n case 'micro':\n case 'small':\n mode = SideNavDisplayMode.MOBILE;\n break;\n case 'tablet':\n mode = SideNavDisplayMode.ICON;\n break;\n case 'large':\n case 'full':\n mode = SideNavDisplayMode.FULL;\n break;\n }\n\n return mode;\n }),\n shareReplay(1)\n );\n\n readonly disableBackdrop$: Observable<boolean> = this.mode$.pipe(\n map((x) => x !== SideNavDisplayMode.MOBILE),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly sizeClass$: Observable<string> = this.mode$.pipe(\n map((mode) => `dbx-sidenav-${mode}`),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly state$: Observable<DbxSidenavSidebarState> = this.mode$.pipe(\n map((mode) => {\n let drawer!: MatDrawerMode;\n let open!: boolean;\n\n switch (mode) {\n case SideNavDisplayMode.MOBILE:\n drawer = 'over';\n open = false;\n break;\n case SideNavDisplayMode.ICON:\n case SideNavDisplayMode.FULL:\n drawer = 'side';\n open = true;\n break;\n }\n\n return {\n mode,\n drawer,\n open\n };\n }),\n shareReplay(1)\n );\n\n readonly drawer$: Observable<MatDrawerMode> = this.state$.pipe(\n map((x) => x.drawer),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n private _watcherSub = new SubscriptionObject();\n private _stateSub = new SubscriptionObject();\n\n constructor(dbxRouterTransitionService: DbxRouterTransitionService, ngZone: NgZone, private _screenMediaService: DbxScreenMediaService) {\n super(dbxRouterTransitionService, ngZone);\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n\n this._stateSub.subscription = this.state$.subscribe((state) => {\n if (state.open != null) {\n this._toggleNav(state.open, true);\n }\n });\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._watcherSub.destroy();\n this._stateSub.destroy();\n }\n\n protected updateForSuccessfulTransition(): void {\n this.closeNav();\n }\n\n closeNav(): void {\n this.toggleNav(false);\n }\n\n toggleNav(open?: boolean): void {\n this._toggleNav(open);\n }\n\n private _toggleNav(toggleOpen = !this.sidenav.opened, forced = false): void {\n this.state$.pipe(first()).subscribe(({ mode }) => {\n this.ngZone.run(() => {\n let open: Maybe<boolean>;\n\n if (!forced) {\n switch (mode) {\n case SideNavDisplayMode.MOBILE:\n open = toggleOpen;\n break;\n case SideNavDisplayMode.ICON:\n case SideNavDisplayMode.FULL:\n // Do nothing. Should be always open.\n break;\n }\n } else {\n open = toggleOpen;\n }\n\n if (open != null) {\n if (open) {\n this.sidenav.open();\n } else {\n this.sidenav.close();\n }\n }\n });\n });\n }\n}\n","<mat-sidenav-container class=\"dbx-sidenav\" [ngClass]=\"(sizeClass$ | async) ?? ''\">\n <mat-sidenav class=\"dbx-sidenav-nav\" [disableClose]=\"disableBackdrop$ | async\" [mode]=\"(drawer$ | async)!\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-anchor-list class=\"dbx-sidenav-anchor-list\" [anchors]=\"anchors\"></dbx-anchor-list>\n <span class=\"spacer\"></span>\n <ng-content select=\"[bottom]\"></ng-content>\n <div class=\"dbx-sidenav-nav-end\"></div>\n </mat-sidenav>\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxBarColor } from './bar';\n\n@Component({\n selector: 'dbx-pagebar',\n templateUrl: './pagebar.component.html'\n})\nexport class DbxPagebarComponent {\n @Input()\n color?: Maybe<DbxBarColor>;\n}\n","<mat-toolbar class=\"dbx-pagebar\" [ngClass]=\"color ? 'dbx-bar-' + color : ''\">\n <ng-content select=\"[left]\"></ng-content>\n <span class=\"spacer\"></span>\n <ng-content select=\"[right]\"></ng-content>\n</mat-toolbar>\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { map } from 'rxjs';\nimport { DbxSidenavComponent } from './sidenav.component';\nimport { SideNavDisplayMode } from './sidenav';\n\nexport const DEFAULT_DBX_SIDENAV_MENU_ICON = 'view_sidebar';\n\n/**\n * Button used to interface with a parent sidenav.\n */\n@Component({\n selector: 'dbx-sidenav-button',\n template: `\n <button class=\"dbx-sidenav-button\" mat-icon-button *ngIf=\"showMenuButton$ | async\" (click)=\"toggleNav()\" aria-label=\"open sidenav button\">\n <mat-icon>{{ sidenavMenuIcon }}</mat-icon>\n </button>\n `\n})\nexport class DbxSidenavButtonComponent {\n readonly mode$ = this.parent.mode$;\n readonly showMenuButton$ = this.mode$.pipe(map((x) => x === SideNavDisplayMode.MOBILE));\n\n private _sidenavMenuIcon: string = DEFAULT_DBX_SIDENAV_MENU_ICON;\n\n constructor(readonly parent: DbxSidenavComponent) {}\n\n toggleNav() {\n this.parent.toggleNav();\n }\n\n @Input()\n get sidenavMenuIcon() {\n return this._sidenavMenuIcon;\n }\n\n set sidenavMenuIcon(sidenavMenuIcon: Maybe<string>) {\n this._sidenavMenuIcon = sidenavMenuIcon || DEFAULT_DBX_SIDENAV_MENU_ICON;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxPagebarComponent } from '../../../layout/bar/pagebar.component';\n\n/**\n * Pre-configured pagebar used with DbxSidenavComponent.\n */\n@Component({\n selector: 'dbx-sidenav-pagebar',\n template: `\n <dbx-pagebar class=\"dbx-sidenav-pagebar\" [color]=\"color\">\n <span left>\n <dbx-sidenav-button [sidenavMenuIcon]=\"sidenavMenuIcon\"></dbx-sidenav-button>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content left></ng-content>\n </span>\n <ng-content right></ng-content>\n </dbx-pagebar>\n `\n})\nexport class DbxSidenavPagebarComponent extends DbxPagebarComponent {\n @Input()\n sidenavMenuIcon: Maybe<string>;\n}\n","import { BehaviorSubject, switchMap, shareReplay, map, of } from 'rxjs';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { DbxSidenavComponent } from './sidenav.component';\nimport { Maybe } from '@dereekb/util';\nimport { DbxBarColor } from '../../../layout/bar/bar';\nimport { SideNavDisplayMode } from './sidenav';\n\n/**\n * Pre-configured page used with DbxSidenavComponent.\n *\n * Can optionally be configured to only show the pagebar while in mobile mode.\n */\n@Component({\n selector: 'dbx-sidenav-page',\n template: `\n <div [ngClass]=\"(hidePagebar$ | async) ? 'dbx-pagebar-hide' : ''\">\n <dbx-sidenav-pagebar [sidenavMenuIcon]=\"sidenavMenuIcon\" [color]=\"color\">\n <ng-content left select=\"[navLeft]\"></ng-content>\n <ng-content select=\"[navRight]\"></ng-content>\n </dbx-sidenav-pagebar>\n <div class=\"dbx-content-page dbx-sidenav-page-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class DbxSidenavPageComponent implements OnDestroy {\n @Input()\n sidenavMenuIcon: Maybe<string>;\n\n @Input()\n color?: Maybe<DbxBarColor>;\n\n private _mobileOnly = new BehaviorSubject<boolean>(false);\n\n readonly hidePagebar$ = this._mobileOnly.pipe(\n switchMap((mobileOnly) => (mobileOnly ? this.parent.mode$.pipe(map((x) => x !== SideNavDisplayMode.MOBILE)) : of(false))),\n shareReplay(1)\n );\n\n constructor(readonly parent: DbxSidenavComponent) {}\n\n ngOnDestroy(): void {\n this._mobileOnly.complete();\n }\n\n @Input()\n get mobileOnly(): boolean {\n return this._mobileOnly.value;\n }\n\n set mobileOnly(mobileOnly: boolean) {\n this._mobileOnly.next(mobileOnly);\n }\n}\n","import { Input, Directive } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxBarColor } from './bar';\n\n/**\n * Acts as a wrapper for content distributed along a bar.\n */\n@Directive({\n selector: 'dbx-bar,[dbxBar]',\n host: {\n class: 'dbx-bar',\n '[class]': 'color ? (\"dbx-\" + color + \"-bg\") : \"dbx-bg\"'\n }\n})\nexport class DbxBarDirective {\n @Input()\n color?: Maybe<DbxBarColor>;\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxBarColor } from './bar';\n\n/**\n * Acts as a divider between content and centers a label within a background.\n */\n@Component({\n selector: 'dbx-bar-header',\n template: `\n <dbx-bar [color]=\"color\">\n <mat-icon class=\"button-spacer\" *ngIf=\"icon\">{{ icon }}</mat-icon>\n <span *ngIf=\"text\">{{ text }}</span>\n </dbx-bar>\n `,\n host: {\n class: 'dbx-bar-header dbx-hint'\n }\n})\nexport class DbxBarHeaderComponent {\n @Input()\n text?: Maybe<string>;\n\n @Input()\n icon?: Maybe<string>;\n\n @Input()\n color?: Maybe<DbxBarColor>;\n}\n","import { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxBarDirective } from './bar.directive';\nimport { DbxBarHeaderComponent } from './bar.header.component';\nimport { DbxPagebarComponent } from './pagebar.component';\n\n/**\n * Module for block components.\n */\n@NgModule({\n imports: [CommonModule, MatToolbarModule, MatIconModule],\n declarations: [DbxBarDirective, DbxBarHeaderComponent, DbxPagebarComponent],\n exports: [DbxBarDirective, DbxBarHeaderComponent, DbxPagebarComponent]\n})\nexport class DbxBarLayoutModule {}\n","import { Directive, Input } from '@angular/core';\n\n/**\n * Section used to elevate content in a pre-configured manner.\n */\n@Directive({\n selector: 'dbx-content-elevate,[dbxContentElevate]',\n host: {\n class: 'd-block',\n '[class.dbx-content-elevate]': 'elevate'\n }\n})\nexport class DbxContentElevateDirective {\n @Input()\n elevate = true;\n}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive that sets the height of it's content to fill the page.\n */\n@Directive({\n selector: 'dbx-content,[dbxContent]',\n host: {\n class: 'd-block dbx-content'\n }\n})\nexport class DbxContentDirective {}\n","import { Directive, Input } from '@angular/core';\nimport { DbxThemeColor } from '../style/style';\n\n/**\n * Section used to wrap content in a border with internal padding.\n */\n@Directive({\n selector: 'dbx-content-border,[dbxContentBorder]',\n host: {\n class: 'd-block dbx-content-border',\n '[class]': `\"dbx-content-border-\" + color`\n }\n})\nexport class DbxContentBorderDirective {\n @Input()\n color: DbxThemeColor = 'background';\n}\n","import { Input, Directive } from '@angular/core';\n\nexport type DbxContentContainerPadding = 'none' | 'min' | 'small' | 'normal';\n\nexport type DbxContentContainerWidth = 'small' | 'medium' | 'large' | 'wide' | 'full';\n\n/**\n * Component that limits the max-width of the content.\n */\n@Directive({\n selector: 'dbx-content-container,[dbxContentContainer],.dbx-content-container',\n host: {\n class: 'd-block dbx-content-container',\n '[class]': `\"container-\" + grow + \" container-padding-\" + padding + \" container-top-padding-\" + topPadding`\n }\n})\nexport class DbxContentContainerDirective {\n @Input()\n grow: DbxContentContainerWidth = 'wide';\n\n @Input()\n padding: DbxContentContainerPadding = 'normal';\n\n @Input()\n topPadding: DbxContentContainerPadding = 'none';\n}\n","import { Directive, Input } from '@angular/core';\n\n/**\n * Component used to wrap content in a box with optionally elevation.\n */\n@Directive({\n selector: 'dbx-content-box, [dbxContentBox]',\n host: {\n class: 'd-block dbx-content-box',\n '[class.dbx-content-elevate]': 'elevate',\n '[class.dbx-content-box-wide]': 'wide'\n }\n})\nexport class DbxContentBoxDirective {\n @Input()\n elevate = true;\n\n @Input()\n wide = true;\n}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive that sets the height of it's content to fill the page.\n */\n@Directive({\n selector: 'dbx-content-page,[dbxContentPage]',\n host: {\n class: 'd-block dbx-content-page'\n }\n})\nexport class DbxContentPageDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * Component used to wrap content in a pit with a label.\n */\n@Directive({\n selector: 'dbx-content-pit, [dbxContentPit]',\n host: {\n class: 'd-block dbx-content-pit'\n }\n})\nexport class DbxContentPitDirective {}\n","import { DbxContentElevateDirective } from './content.elevate.directive';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxContentDirective } from './content.directive';\nimport { DbxContentBorderDirective } from './content.border.directive';\nimport { DbxContentContainerDirective } from './content.container.directive';\nimport { DbxContentBoxDirective } from './content.box.directive';\nimport { DbxContentPageDirective } from './content.page.directive';\nimport { DbxContentPitDirective } from './content.pit.directive';\n\nconst declarations = [\n //\n DbxContentDirective,\n DbxContentContainerDirective,\n DbxContentBorderDirective,\n DbxContentElevateDirective,\n DbxContentBoxDirective,\n DbxContentPageDirective,\n DbxContentPitDirective\n];\n\n/**\n * Module for container-type components.\n */\n@NgModule({\n imports: [CommonModule],\n declarations,\n exports: declarations\n})\nexport class DbxContentLayoutModule {}\n","import { OnDestroy, Input, TemplateRef, ViewContainerRef, Directive } from '@angular/core';\nimport { AbstractIfDirective } from '@dereekb/dbx-core';\nimport { ArrayOrValue, Maybe, asArray, filterMaybeValues } from '@dereekb/util';\nimport { shareReplay, BehaviorSubject, switchMap, distinctUntilChanged, map } from 'rxjs';\nimport { DbxSidenavComponent } from './sidenav.component';\nimport { SideNavDisplayMode } from './sidenav';\n\n/**\n * Structural directive that displays the content if the Sidenav has a specific sidenav size.\n */\n@Directive({\n selector: '[dbxIfSidenavDisplayMode]'\n})\nexport class DbxIfSidenavDisplayModeDirective extends AbstractIfDirective implements OnDestroy {\n private _sidenavModes = new BehaviorSubject<Set<SideNavDisplayMode>>(new Set([SideNavDisplayMode.NONE]));\n\n readonly show$ = this._sidenavModes.pipe(\n switchMap((modes) => {\n return this.dbxSidenavComponent.mode$.pipe(map((mode) => modes.has(mode)));\n }),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n constructor(templateRef: TemplateRef<unknown>, viewContainer: ViewContainerRef, public readonly dbxSidenavComponent: DbxSidenavComponent) {\n super(templateRef, viewContainer);\n }\n\n @Input('dbxIfSidenavDisplayMode')\n get modes() {\n return Array.from(this._sidenavModes.value);\n }\n\n set modes(modes: Maybe<ArrayOrValue<SideNavDisplayMode | string>>) {\n this._sidenavModes.next(new Set(filterMaybeValues(asArray(modes as SideNavDisplayMode))));\n }\n\n override ngOnDestroy(): void {\n this._sidenavModes.complete();\n }\n}\n","import { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { UIRouterModule } from '@uirouter/angular';\nimport { DbxSidenavComponent } from './sidenav.component';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatListModule } from '@angular/material/list';\nimport { DbxRouterAnchorModule } from '../anchor/anchor.module';\nimport { DbxRouterAnchorListModule } from '../anchorlist/anchorlist.module';\nimport { DbxSidenavPagebarComponent } from './sidenav.pagebar.component';\nimport { DbxSidenavPageComponent } from './sidenav.page.component';\nimport { DbxBarLayoutModule } from '../../../layout/bar/bar.layout.module';\nimport { DbxButtonModule } from '../../../button/button.module';\nimport { DbxContentLayoutModule } from './../../../layout/content/content.layout.module';\nimport { DbxSidenavButtonComponent } from './sidenav.button.component';\nimport { DbxIfSidenavDisplayModeDirective } from './sidenav.ifdisplaymode.directive';\n\nconst declarations = [DbxIfSidenavDisplayModeDirective, DbxSidenavComponent, DbxSidenavButtonComponent, DbxSidenavPagebarComponent, DbxSidenavPageComponent];\n\n@NgModule({\n imports: [CommonModule, DbxBarLayoutModule, DbxRouterAnchorModule, DbxRouterAnchorListModule, DbxButtonModule, DbxContentLayoutModule, MatToolbarModule, MatButtonModule, MatIconModule, MatSidenavModule, MatListModule, MatDividerModule, UIRouterModule],\n declarations,\n exports: declarations\n})\nexport class DbxRouterSidenavModule {}\n","export * from './sidenav.component';\nexport * from './sidenav.module';\nexport * from './sidenav.button.component';\nexport * from './sidenav.pagebar.component';\nexport * from './sidenav.page.component';\nexport * from './sidenav.ifdisplaymode.directive';\nexport * from './sidenav';\n// export * from './side.item.component';\n// export * from './side.title.component';\n// export * from './side.title.content.component';\n","import { NgModule } from '@angular/core';\nimport { DbxRouterAnchorModule } from './anchor/anchor.module';\nimport { DbxRouterAnchorListModule } from './anchorlist/anchorlist.module';\nimport { DbxRouterListModule } from './list/list.module';\nimport { DbxRouterNavbarModule } from './navbar/navbar.module';\nimport { DbxRouterSidenavModule } from './sidenav/sidenav.module';\n\n@NgModule({\n exports: [DbxRouterAnchorModule, DbxRouterAnchorListModule, DbxRouterListModule, DbxRouterNavbarModule, DbxRouterSidenavModule]\n})\nexport class DbxRouterLayoutModule {}\n","import { Component } from '@angular/core';\nimport { AbstractDbxSegueAnchorDirective } from '../../layout/anchor/anchor.segue.directive';\n\n/**\n * SegueAnchor implementation for Angular Router.\n */\n@Component({\n templateUrl: './anchor.component.html'\n})\nexport class DbxAngularRouterSegueAnchorComponent extends AbstractDbxSegueAnchorDirective {}\n","<a class=\"dbx-anchor-a\" [attr.target]=\"target$ | async\">\n <dbx-injection></dbx-injection>\n</a>\n","import { UIRouterModule } from '@uirouter/angular';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DbxAngularRouterSegueAnchorComponent } from './anchor.component';\nimport { DbxRouterWebProviderConfig } from '../router.provider.config';\nimport { DbxInjectionComponentModule } from '@dereekb/dbx-core';\n\n@NgModule({\n imports: [CommonModule, UIRouterModule, DbxInjectionComponentModule],\n declarations: [DbxAngularRouterSegueAnchorComponent],\n exports: [DbxAngularRouterSegueAnchorComponent]\n})\nexport class DbxWebAngularRouterModule {\n static forRoot(): ModuleWithProviders<DbxWebAngularRouterModule> {\n return {\n ngModule: DbxWebAngularRouterModule,\n providers: [\n {\n provide: DbxRouterWebProviderConfig,\n useValue: {\n anchorSegueRefComponent: {\n componentClass: DbxAngularRouterSegueAnchorComponent\n }\n } as DbxRouterWebProviderConfig\n }\n ]\n };\n }\n}\n","import { Observable, filter } from 'rxjs';\nimport { Component } from '@angular/core';\nimport { AbstractDbxSegueAnchorDirective } from '../../layout/anchor/anchor.segue.directive';\nimport { TransitionOptions } from '@uirouter/core';\n\n/**\n * SegueAnchor implementation for UIRouter.\n */\n@Component({\n templateUrl: './anchor.component.html'\n})\nexport class DbxUIRouterSegueAnchorComponent extends AbstractDbxSegueAnchorDirective {\n readonly uiRef$ = this.ref$.pipe(filter((x) => typeof x === 'string')) as Observable<string | null>;\n readonly uiOptions$ = this.refOptions$ as Observable<TransitionOptions | null>;\n}\n","<a class=\"dbx-anchor-a dbx-anchor-sref\" [attr.target]=\"target$ | async\" [uiSref]=\"(uiRef$ | async) ?? ''\" [uiParams]=\"refParams$ | async\" [uiOptions]=\"(uiOptions$ | async) ?? {}\" uiSrefActive=\"dbx-anchor-active\" uiSrefActiveEq=\"dbx-anchor-active-eq\">\n <dbx-injection [template]=\"template$ | async\"></dbx-injection>\n</a>\n","import { UIRouterModule } from '@uirouter/angular';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DbxUIRouterSegueAnchorComponent } from './anchor.component';\nimport { DbxRouterWebProviderConfig } from '../router.provider.config';\nimport { DbxInjectionComponentModule } from '@dereekb/dbx-core';\n\n@NgModule({\n imports: [CommonModule, UIRouterModule, DbxInjectionComponentModule],\n declarations: [DbxUIRouterSegueAnchorComponent],\n exports: [DbxUIRouterSegueAnchorComponent]\n})\nexport class DbxWebUIRouterModule {\n static forRoot(): ModuleWithProviders<DbxWebUIRouterModule> {\n return {\n ngModule: DbxWebUIRouterModule,\n providers: [\n {\n provide: DbxRouterWebProviderConfig,\n useValue: {\n anchorSegueRefComponent: {\n componentClass: DbxUIRouterSegueAnchorComponent\n }\n } as DbxRouterWebProviderConfig\n }\n ]\n };\n }\n}\n","import { shareReplay, BehaviorSubject, map, Observable, combineLatest, distinctUntilChanged, startWith, first } from 'rxjs';\nimport { Directive, Input, OnDestroy } from '@angular/core';\nimport { ClickableAnchorLink, FilterSourceDirective, ClickablePartialFilterPreset } from '@dereekb/dbx-core';\nimport { filterUndefinedValues, firstValue, getValueFromGetter, Maybe, objectHasNoKeys } from '@dereekb/util';\n\n/**\n * Displays a button and menu for filtering partialPresets.\n */\n@Directive()\nexport abstract class AbstractDbxPartialPresetFilterMenuDirective<F> implements OnDestroy {\n private _partialPresets = new BehaviorSubject<ClickablePartialFilterPreset<F>[]>([]);\n\n readonly filter$: Observable<Maybe<F>> = this.filterSourceDirective.filter$.pipe(startWith(undefined), distinctUntilChanged(), shareReplay(1));\n\n readonly selectedPartialPresets$: Observable<ClickablePartialFilterPreset<F>[]> = combineLatest([this._partialPresets, this.filter$]).pipe(\n map(([partialPresets, selectedFilter]) => {\n const selectedPresets: ClickablePartialFilterPreset<F>[] = partialPresets.filter((x) => x.isActive(selectedFilter));\n return selectedPresets;\n }),\n distinctUntilChanged()\n );\n\n readonly firstSelectedPartialPreset$: Observable<Maybe<ClickablePartialFilterPreset<F>>> = this.selectedPartialPresets$.pipe(\n map((selectedPartialPresets) => firstValue(selectedPartialPresets)),\n distinctUntilChanged()\n );\n\n readonly presetAnchors$: Observable<ClickableAnchorLink[]> = combineLatest([this._partialPresets, this.firstSelectedPartialPreset$]).pipe(\n map(([partialPresets, firstSelectedPartialPreset]) => {\n return partialPresets.map((x) => {\n return {\n ...x,\n selected: x === firstSelectedPartialPreset,\n onClick: () => {\n this.selectPartialPreset(x);\n }\n };\n });\n }),\n shareReplay(1)\n );\n\n @Input()\n get partialPresets(): ClickablePartialFilterPreset<F>[] {\n return this._partialPresets.value;\n }\n\n set partialPresets(partialPresets: ClickablePartialFilterPreset<F>[]) {\n this._partialPresets.next(partialPresets);\n }\n\n constructor(readonly filterSourceDirective: FilterSourceDirective<F>) {}\n\n selectPartialPreset(preset: ClickablePartialFilterPreset<F>) {\n const presetValue = preset.partialPresetValue;\n\n if (presetValue == null || (typeof presetValue !== 'function' && objectHasNoKeys(presetValue))) {\n // set and then reset if the value is null or empty\n this.filterSourceDirective.setFilter((presetValue ?? {}) as F);\n this.filterSourceDirective.resetFilter();\n } else {\n const filter = getValueFromGetter(preset.partialPresetValue) as Partial<F>;\n\n this.filter$.pipe(first()).subscribe((currentFilter) => {\n const nextFilter = { ...currentFilter, ...filterUndefinedValues({ ...currentFilter, ...filter }, true) } as F;\n this.filterSourceDirective.setFilter(nextFilter);\n });\n }\n }\n\n ngOnDestroy(): void {\n this._partialPresets.complete();\n }\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { Component, Input } from '@angular/core';\nimport { AbstractDbxPartialPresetFilterMenuDirective } from './filter.partial';\nimport { dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, DbxPresetFilterMenuConfig } from './filter.menu';\n\n/**\n * Displays a button and menu for filtering partial preset values.\n */\n@Component({\n selector: 'dbx-partial-preset-filter-menu',\n templateUrl: './filter.preset.menu.component.html' // share the same template as the preset menu\n})\nexport class DbxPartialPresetFilterMenuComponent<F> extends AbstractDbxPartialPresetFilterMenuDirective<F> {\n private _config = new BehaviorSubject<DbxPresetFilterMenuConfig>({});\n\n readonly buttonText$ = dbxPresetFilterMenuButtonTextObservable(this._config, this.firstSelectedPartialPreset$);\n readonly buttonIcon$ = dbxPresetFilterMenuButtonIconObservable(this._config, this.firstSelectedPartialPreset$);\n\n @Input()\n get config(): DbxPresetFilterMenuConfig {\n return this._config.value;\n }\n\n set config(config: DbxPresetFilterMenuConfig) {\n this._config.next(config);\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._config.complete();\n }\n}\n","import { Component } from '@angular/core';\nimport { AbstractDbxPartialPresetFilterMenuDirective } from './filter.partial';\n\n@Component({\n selector: 'dbx-preset-partial-filter-list',\n template: `\n <dbx-anchor-list [anchors]=\"presetAnchors$ | async\"></dbx-anchor-list>\n `\n})\nexport class DbxPartialPresetFilterListComponent<F> extends AbstractDbxPartialPresetFilterMenuDirective<F> {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DbxFilterPopoverButtonComponent } from './filter.popover.button.component';\nimport { DbxPopoverInteractionModule } from '../popover/popover.module';\nimport { DbxFilterPopoverComponent } from './filter.popover.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DbxFilterWrapperComponent } from './filter.wrapper.component';\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\nimport { DbxCoreFilterModule, DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { DbxButtonModule } from '../../button';\nimport { DbxPresetFilterListComponent } from './filter.preset.list.component';\nimport { DbxRouterAnchorListModule } from '../../router/layout/anchorlist/anchorlist.module';\nimport { DbxPresetFilterMenuComponent } from './filter.preset.menu.component';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DbxRouterAnchorModule } from '../../router';\nimport { DbxPartialPresetFilterMenuComponent } from './filter.partial.menu.component';\nimport { DbxPartialPresetFilterListComponent } from './filter.partial.list.component';\n\nconst declarations = [DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxFilterPopoverComponent, DbxFilterPopoverButtonComponent, DbxFilterWrapperComponent, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n DbxPopoverInteractionModule,\n DbxCoreFilterModule,\n DbxButtonModule,\n DbxRouterAnchorModule,\n DbxRouterAnchorListModule,\n DbxInjectionComponentModule,\n FlexLayoutModule,\n // Material\n MatMenuModule,\n MatIconModule,\n MatButtonModule\n ],\n declarations,\n exports: [...declarations, DbxCoreFilterModule]\n})\nexport class DbxFilterInteractionModule {}\n","import { ElementRef, Component, ViewChild, Input } from '@angular/core';\nimport { ResizedEvent } from 'angular-resize-event';\n\n/**\n * Wrapper of a block that is broken into two parts, with the bottom content's height\n * being set to 100% of the height minus the top's height.\n *\n * The block is made up of two divs, a top and a bottom. The top is assigned a static height, and the bottom is given the remainder.\n * The height is calculated from 100%.\n */\n@Component({\n selector: 'dbx-two-block',\n template: `\n <div #two class=\"dbx-two-block-content\">\n <div #top class=\"dbx-two-block-top\" (resized)=\"onResized($event)\">\n <ng-content select=\"[top]\"></ng-content>\n </div>\n <div #bottom class=\"dbx-two-block-bottom\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n class: 'dbx-two-block d-block',\n '[class]': '{ \"dbx-two-block-fixed-top\": fixedTop }'\n }\n})\nexport class DbxTwoBlocksComponent {\n /**\n * Whether or not the top bar should be fixed in place instead of scrolling with the bottom when content is too tall.\n */\n @Input()\n fixedTop = true;\n\n @ViewChild('two', { read: ElementRef, static: true })\n twoElement!: ElementRef;\n\n /*\n @ViewChild('top', { read: ElementRef, static: true })\n topElement!: ElementRef;\n\n @ViewChild('bottom', { read: ElementRef, static: true })\n bottomElement!: ElementRef;\n */\n\n onResized(event: ResizedEvent): void {\n const height = event.newRect.height;\n const element: HTMLElement = this.twoElement.nativeElement;\n element.style.setProperty('--dbx-two-block-top-height', `${height}px`);\n }\n}\n","import { DbxRouterAnchorModule } from '../../router';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxTwoBlocksComponent } from './two.block.component';\nimport { AngularResizeEventModule } from 'angular-resize-event';\n\n/**\n * Module for block components.\n */\n@NgModule({\n imports: [CommonModule, DbxRouterAnchorModule, AngularResizeEventModule],\n declarations: [DbxTwoBlocksComponent],\n exports: [DbxTwoBlocksComponent]\n})\nexport class DbxBlockLayoutModule {}\n","import { Component, Input } from '@angular/core';\n\n/**\n * Component that formats a card-box of content.\n */\n@Component({\n selector: 'dbx-card-box',\n template: `\n <div class=\"dbx-card-box\">\n <div class=\"dbx-section-header\">\n <div class=\"dbx-section-header-content\">\n <h4 class=\"dbx-section-header-content-title\">\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n <span *ngIf=\"header\" class=\"title-text\">{{ header }}</span>\n </h4>\n <span class=\"spacer\"></span>\n <ng-content select=\"[sectionHeader]\"></ng-content>\n </div>\n </div>\n <div class=\"dbx-card-box-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class DbxCardBoxComponent {\n @Input()\n header?: string;\n\n @Input()\n icon?: string;\n}\n","import { Component } from '@angular/core';\n\n/**\n * Component that wraps a card box and adds content padding.\n */\n@Component({\n selector: 'dbx-card-box-container',\n template: `\n <div class=\"dbx-card-box-container\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class DbxCardBoxContainerComponent {}\n","import { MatIconModule } from '@angular/material/icon';\nimport { DbxCardBoxContainerComponent } from './card.box.container.component';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxCardBoxComponent } from './card.box.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [DbxCardBoxComponent, DbxCardBoxContainerComponent],\n exports: [DbxCardBoxComponent, DbxCardBoxContainerComponent]\n})\nexport class DbxCardBoxLayoutModule {}\n","import { Injectable, OnDestroy, Provider } from '@angular/core';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { Subject, distinct, map } from 'rxjs';\nimport { SegueRef } from '@dereekb/dbx-core';\nimport { isMaybeNot, Maybe } from '@dereekb/util';\n\nexport interface TwoColumnsState {\n /**\n * Whether or not to reverse the sizing.\n */\n reverseSizing: boolean;\n /**\n * Whether or not the right side should be shown.\n */\n showRight: boolean;\n /**\n * Whether or not there is any registered right content currently.\n */\n hasRight: boolean;\n /**\n * Whether or not to allow the left to fill up the screen when no right is shown.\n */\n fullLeft: boolean;\n /**\n * Optional ref to use with TwoColumns that use an sref for the back button.\n */\n backRef?: Maybe<SegueRef>;\n /**\n * Size of the view's total width in pixels.\n */\n totalWidth?: Maybe<number>;\n /**\n * Minimum right side size allowed before hiding the left content.\n */\n minRightWidth: number;\n}\n\nexport const DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH = 320;\n\nconst INITIAL_STATE: TwoColumnsState = {\n reverseSizing: false,\n showRight: false,\n hasRight: false,\n fullLeft: false,\n minRightWidth: DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH\n};\n\n@Injectable()\nexport class TwoColumnsContextStore extends ComponentStore<TwoColumnsState> implements OnDestroy {\n private readonly _back = new Subject<void>();\n\n constructor() {\n super({ ...INITIAL_STATE });\n }\n\n // MARK: Accessors\n readonly hideLeft$ = this.state$.pipe(\n map((x) => {\n /**\n * The right side is less-than or equal to half the total width when resizing, so we can use the total width to guess the best case current scenario.\n */\n const expectedRightWidth = (x.totalWidth ?? 0) / 2;\n const hideLeft = x.showRight && expectedRightWidth < x.minRightWidth;\n return hideLeft;\n })\n );\n\n /**\n * Pipes the current state of reverseSizing.\n */\n readonly reverseSizing$ = this.state$.pipe(map((x) => x.reverseSizing));\n\n /**\n * Pipes the current state of showRight.\n */\n readonly hasRight$ = this.state$.pipe(map((x) => x.showRight));\n\n /**\n * Pipes the current state of showRight.\n */\n readonly currentShowRight$ = this.state$.pipe(map((x) => x.showRight));\n\n /**\n * Pipes the current state of showRight and hasRight\n */\n readonly showRight$ = this.state$.pipe(map((x) => x.hasRight && x.showRight));\n\n /**\n * Convenience function for the showRight compliment.\n */\n readonly hideRight$ = this.showRight$.pipe(map((x) => !x));\n\n /**\n * Pipes the current state of fullLeft.\n */\n readonly fullLeft$ = this.state$.pipe(map((x) => x.fullLeft));\n\n /**\n * Whether or not to show the full left.\n */\n readonly showFullLeft$ = this.state$.pipe(map((x) => !(x.hasRight && x.showRight) && x.fullLeft));\n\n /**\n * Pipes the current backRef value.\n */\n readonly backRef$ = this.state$.pipe(\n map((x) => x.backRef),\n distinct()\n );\n\n /**\n * Emits back events.\n */\n readonly back$ = this._back.asObservable();\n\n // MARK: State Changes\n /**\n * Completely resets the store.\n */\n readonly reset = this.updater(() => ({ ...INITIAL_STATE }));\n\n /**\n * Changes the state to show right or not.\n */\n readonly setReverseSizing = this.updater((state, reverseSizing: Maybe<boolean>) => (isMaybeNot(reverseSizing) ? state : { ...state, reverseSizing }));\n\n /**\n * Changes the state to have right content or not.\n */\n readonly setHasRight = this.updater((state, hasRight: Maybe<boolean>) => (isMaybeNot(hasRight) ? state : { ...state, hasRight }));\n\n /**\n * Changes the state to show right or not.\n */\n readonly setShowRight = this.updater((state, showRight: Maybe<boolean>) => (isMaybeNot(showRight) ? state : { ...state, showRight }));\n\n /**\n * Sets the full left. If undefined is passed, no change occurs.\n */\n readonly setFullLeft = this.updater((state, fullLeft: Maybe<boolean>) => (isMaybeNot(fullLeft) ? state : { ...state, fullLeft }));\n\n /**\n * Sets the new back ref.\n */\n readonly setBackRef = this.updater((state, backRef: Maybe<SegueRef>) => ({ ...state, backRef }));\n\n /**\n * Sets the new total width.\n */\n readonly setTotalWidth = this.updater((state, totalWidth: Maybe<number>) => ({ ...state, totalWidth }));\n\n /**\n * Sets the new min right width.\n */\n readonly setMinRightWidth = this.updater((state, minRightWidth: Maybe<number>) => ({ ...state, minRightWidth: minRightWidth ?? DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH }));\n\n /**\n * Emits a back event.\n */\n back(): void {\n this._back.next();\n }\n\n // MARK: Internal\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._back.complete();\n }\n}\n\nexport function provideTwoColumnsContext(): Provider[] {\n return [\n {\n provide: TwoColumnsContextStore,\n useClass: TwoColumnsContextStore\n }\n ];\n}\n","import { Directive, EventEmitter, Output, OnInit } from '@angular/core';\nimport { AbstractSubscriptionDirective } from '@dereekb/dbx-core';\nimport { TwoColumnsContextStore } from './two.column.store';\n\n/**\n * Used with an DbxTwoColumnComponent to help respond to a \"back\" function.\n */\n@Directive({\n selector: '[dbxTwoColumnBack]'\n})\nexport class DbxTwoColumnBackDirective extends AbstractSubscriptionDirective implements OnInit {\n @Output('dbxTwoColumnBack')\n public back = new EventEmitter();\n\n constructor(public readonly twoColumnsContextStore: TwoColumnsContextStore) {\n super();\n }\n\n ngOnInit(): void {\n this.sub = this.twoColumnsContextStore.back$.subscribe(() => this.back.emit());\n }\n\n public backClicked(): void {\n this.twoColumnsContextStore.back();\n }\n}\n","import { ChangeDetectorRef, OnDestroy, ChangeDetectionStrategy, OnInit, Component, Inject, Input, ElementRef } from '@angular/core';\nimport { AbstractSubscriptionDirective, safeMarkForCheck } from '@dereekb/dbx-core';\nimport { ResizedEvent } from 'angular-resize-event';\nimport { Observable, BehaviorSubject, combineLatest } from 'rxjs';\nimport { TwoColumnsContextStore } from './two.column.store';\n\nexport interface DbxTwoColumnViewState {\n showRight: boolean;\n showFullLeft: boolean;\n hideLeftColumn: boolean;\n reverseSizing: boolean;\n inSectionPage: boolean;\n}\n\n/**\n * Responsive component meant to split a left and right column.\n *\n * The left column is smaller than the right column, which contains the primary content.\n *\n * Requires a TwoColumnsContextStore to be provided.\n */\n@Component({\n selector: 'dbx-two-column',\n templateUrl: './two.column.component.html',\n exportAs: 'columns',\n host: {\n class: 'dbx-two-column',\n '[class]': \"{ 'right-shown': v.showRight, 'full-left': v.showFullLeft,'hide-left-column': v.hideLeftColumn, 'two-column-reverse-sizing': v.reverseSizing, 'dbx-section-page-two': v.inSectionPage }\"\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DbxTwoColumnComponent extends AbstractSubscriptionDirective implements OnInit, OnDestroy {\n private _view: DbxTwoColumnViewState = { showRight: false, showFullLeft: true, hideLeftColumn: false, reverseSizing: false, inSectionPage: false };\n\n private _inSectionPage = new BehaviorSubject<boolean>(false);\n\n readonly reverseSizing$ = this.twoColumnsContextStore.reverseSizing$;\n readonly hideLeftColumn$: Observable<boolean> = this.twoColumnsContextStore.hideLeft$;\n readonly showRight$: Observable<boolean> = this.twoColumnsContextStore.showRight$;\n readonly showFullLeft$: Observable<boolean> = this.twoColumnsContextStore.showFullLeft$;\n\n readonly hideRight$: Observable<boolean> = this.twoColumnsContextStore.hideRight$;\n\n constructor(@Inject(TwoColumnsContextStore) public readonly twoColumnsContextStore: TwoColumnsContextStore, private elementRef: ElementRef, readonly cdRef: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit(): void {\n this.sub = combineLatest([this.showRight$, this.showFullLeft$, this.hideLeftColumn$, this.reverseSizing$, this._inSectionPage]).subscribe(([showRight, showFullLeft, hideLeftColumn, reverseSizing, inSectionPage]: [boolean, boolean, boolean, boolean, boolean]) => {\n this._view = {\n showRight,\n showFullLeft,\n hideLeftColumn,\n reverseSizing,\n inSectionPage\n };\n\n safeMarkForCheck(this.cdRef);\n });\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._inSectionPage.complete();\n }\n\n get v(): DbxTwoColumnViewState {\n return this._view;\n }\n\n @Input()\n set reverseSizing(reverseSizing: boolean) {\n this.twoColumnsContextStore.setReverseSizing(reverseSizing);\n }\n\n @Input()\n set inSectionPage(inSectionPage: boolean) {\n this._inSectionPage.next(inSectionPage);\n }\n\n onResized(event: ResizedEvent): void {\n const totalWidth = (this.elementRef.nativeElement as HTMLElement).clientWidth;\n this.twoColumnsContextStore.setTotalWidth(totalWidth);\n }\n}\n","<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height left-column\">\n <div *ngIf=\"!v.hideLeftColumn && v.reverseSizing\" (resized)=\"onResized($event)\"></div>\n <ng-content select=\"[left]\"></ng-content>\n</dbx-content-container>\n<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height right-column\" *ngIf=\"v.showRight\">\n <div *ngIf=\"v.hideLeftColumn || !v.reverseSizing\" (resized)=\"onResized($event)\"></div>\n <ng-content select=\"[right]\"></ng-content>\n</dbx-content-container>\n","import { Input, OnDestroy, Directive, OnInit } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { BehaviorSubject } from 'rxjs';\nimport { provideTwoColumnsContext, TwoColumnsContextStore } from './two.column.store';\n\n/**\n * Provides a dbxTwoColumnContextStore\n */\n@Directive({\n selector: '[dbxTwoColumnContext]',\n providers: provideTwoColumnsContext()\n})\nexport class DbxTwoColumnContextDirective implements OnInit, OnDestroy {\n private _showRight = new BehaviorSubject<Maybe<boolean>>(undefined);\n\n constructor(readonly twoColumnsContextStore: TwoColumnsContextStore) {}\n\n ngOnInit(): void {\n this.twoColumnsContextStore.setShowRight(this._showRight);\n }\n\n ngOnDestroy(): void {\n this._showRight.complete();\n }\n\n @Input()\n set showRight(showRight: Maybe<boolean | ''>) {\n this._showRight.next(Boolean(showRight));\n }\n}\n","import { OnInit, Directive, Input, OnDestroy } from '@angular/core';\nimport { isNotNullOrEmptyString, Maybe } from '@dereekb/util';\nimport { BehaviorSubject } from 'rxjs';\nimport { TwoColumnsContextStore } from './two.column.store';\n\n/**\n * Used with a DbxTwoColumnComponent to set the full left to true.\n */\n@Directive({\n selector: '[dbxTwoColumnFullLeft]'\n})\nexport class DbxTwoColumnFullLeftDirective implements OnInit, OnDestroy {\n private _fullLeft = new BehaviorSubject<boolean>(true);\n\n @Input('dbxTwoColumnFullLeft')\n get fullLeft(): boolean {\n return this._fullLeft.value;\n }\n\n set fullLeft(fullLeft: Maybe<boolean | ''>) {\n if (isNotNullOrEmptyString(fullLeft)) {\n // only respond to boolean values\n this._fullLeft.next(Boolean(fullLeft));\n }\n }\n\n constructor(private readonly _twoColumnsContextStore: TwoColumnsContextStore) {}\n\n ngOnInit(): void {\n this._twoColumnsContextStore.setFullLeft(this._fullLeft);\n }\n\n ngOnDestroy(): void {\n this._fullLeft.complete();\n }\n}\n","import { Component, Input } from '@angular/core';\n\n/**\n * Two Columns related component that sits at the top of the content bodies and wraps content.\n */\n@Component({\n selector: 'dbx-two-column-head',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-two-column-head',\n '[class.d-block]': 'block',\n '[class.full]': 'full'\n }\n})\nexport class DbxTwoColumnColumnHeadComponent {\n @Input()\n block?: boolean;\n\n @Input()\n full?: boolean;\n}\n","import { Directive, Input } from '@angular/core';\nimport { asSegueRef, SegueRefOrSegueRefRouterLink } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\nimport { TwoColumnsContextStore } from './two.column.store';\n\n/**\n * Used with a DbxTwoColumnComponent to set the backRef of the TwoColumnsContextStore.\n */\n@Directive({\n selector: '[dbxTwoColumnSref]'\n})\nexport class DbxTwoColumnSrefDirective {\n constructor(private readonly _twoColumnsContextStore: TwoColumnsContextStore) {}\n\n @Input('dbxTwoColumnSref')\n public set ref(ref: Maybe<SegueRefOrSegueRefRouterLink | ''>) {\n const segueRef = ref ? asSegueRef(ref) : undefined;\n this._twoColumnsContextStore.setBackRef(segueRef);\n }\n}\n","import { AfterViewInit, OnDestroy, Component, Inject, Input } from '@angular/core';\nimport { BehaviorSubject, Observable, combineLatest, map } from 'rxjs';\nimport { ClickableAnchor } from '@dereekb/dbx-core';\nimport { TwoColumnsContextStore } from './two.column.store';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Optional responsive component that wraps content on the right side and shows a navigation bar.\n *\n * When rendered it will trigger the context to show left.\n */\n@Component({\n selector: 'dbx-two-column-right',\n templateUrl: './two.column.right.component.html',\n host: {\n class: 'dbx-two-column-right d-block'\n }\n})\nexport class DbxTwoColumnRightComponent implements AfterViewInit, OnDestroy {\n @Input()\n header?: Maybe<string>;\n\n @Input()\n block?: boolean;\n\n private _showBack = new BehaviorSubject<boolean>(true);\n\n readonly ref$: Observable<Maybe<ClickableAnchor>> = this.twoColumnsContextStore.backRef$;\n\n readonly showBack$: Observable<boolean> = combineLatest([\n this._showBack,\n this.ref$.pipe(map((x) => !x)) // TODO: Is this correct? Show back if ref is not defined?\n ]).pipe(map(([a, b]: [boolean, boolean]) => a && b));\n\n constructor(@Inject(TwoColumnsContextStore) private readonly twoColumnsContextStore: TwoColumnsContextStore) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.twoColumnsContextStore.setHasRight(true);\n });\n }\n\n ngOnDestroy(): void {\n this._showBack.complete();\n this.twoColumnsContextStore.setHasRight(false);\n }\n\n @Input()\n get showBack(): boolean {\n return this._showBack.value;\n }\n\n set showBack(showBack: boolean) {\n this._showBack.next(showBack);\n }\n\n /**\n * Minimum right-side width allowed in pixels.\n */\n @Input()\n set minRightWidth(minRightWidth: Maybe<number | ''>) {\n this.twoColumnsContextStore.setMinRightWidth(typeof minRightWidth === 'number' ? minRightWidth : undefined);\n }\n\n public backClicked(): void {\n this.twoColumnsContextStore.back();\n }\n}\n","<dbx-two-column-head [block]=\"block\" [full]=\"true\">\n <!-- Back Buttons -->\n <ng-container *ngIf=\"showBack$ | async\">\n <button mat-icon-button class=\"back-button\" (click)=\"backClicked()\" aria-label=\"back button\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n </ng-container>\n <ng-container *ngIf=\"ref$ | async\">\n <dbx-anchor [anchor]=\"ref$ | async\">\n <button mat-icon-button class=\"back-button\" aria-label=\"back button\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n </dbx-anchor>\n </ng-container>\n <span *ngIf=\"header\" class=\"right-nav-title\">{{ header }}</span>\n <span class=\"right-nav-spacer\"></span>\n <span class=\"spacer\"></span>\n <ng-content select=\"[nav]\"></ng-content>\n</dbx-two-column-head>\n<div class=\"dbx-two-column-right-content\">\n <ng-content></ng-content>\n</div>\n","import { Directive, OnInit, OnDestroy } from '@angular/core';\nimport { AbstractSubscriptionDirective, DbxRouterService, isSegueRefActive } from '@dereekb/dbx-core';\nimport { TwoColumnsContextStore } from './two.column.store';\nimport { shareReplay, distinctUntilChanged, Subscription } from 'rxjs';\nimport { isNot } from '@dereekb/rxjs';\n\n/**\n * Used with a DbxTwoColumnComponent to control showing right when the current route is a child of the backRef.\n */\n@Directive({\n selector: '[dbxTwoColumnSrefShowRight]'\n})\nexport class DbxTwoColumnSrefShowRightDirective extends AbstractSubscriptionDirective implements OnInit, OnDestroy {\n readonly showRight$ = this._twoColumnsContextStore.backRef$.pipe(\n // Only show right when the backRef is not exactly active\n isSegueRefActive({ dbxRouterService: this._dbxRouterService, activeExactly: true }),\n isNot(),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n constructor(private readonly _twoColumnsContextStore: TwoColumnsContextStore, private readonly _dbxRouterService: DbxRouterService) {\n super();\n }\n\n ngOnInit(): void {\n this.sub = this._twoColumnsContextStore.setShowRight(this.showRight$) as Subscription;\n }\n}\n","import { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxRouterAnchorModule } from '../../../router';\nimport { DbxContentLayoutModule } from '../../content';\nimport { DbxTwoColumnSrefDirective } from './two.column.sref.directive';\nimport { DbxTwoColumnComponent } from './two.column.component';\nimport { DbxTwoColumnColumnHeadComponent } from './two.column.head.component';\nimport { DbxTwoColumnRightComponent } from './two.column.right.component';\nimport { DbxTwoColumnBackDirective } from './two.column.back.directive';\nimport { DbxTwoColumnFullLeftDirective } from './two.column.full.left.directive';\nimport { DbxTwoColumnContextDirective } from './two.column.context.directive';\nimport { AngularResizeEventModule } from 'angular-resize-event';\nimport { DbxTwoColumnSrefShowRightDirective } from './two.column.sref.showright.directive';\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatButtonModule, DbxRouterAnchorModule, DbxContentLayoutModule, AngularResizeEventModule],\n declarations: [DbxTwoColumnComponent, DbxTwoColumnRightComponent, DbxTwoColumnColumnHeadComponent, DbxTwoColumnSrefDirective, DbxTwoColumnBackDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnContextDirective, DbxTwoColumnSrefShowRightDirective],\n exports: [DbxTwoColumnComponent, DbxTwoColumnRightComponent, DbxTwoColumnColumnHeadComponent, DbxTwoColumnSrefDirective, DbxTwoColumnBackDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnContextDirective, DbxTwoColumnSrefShowRightDirective]\n})\nexport class DbxTwoColumnLayoutModule {}\n","import { Component, Inject, Input } from '@angular/core';\nimport { TwoColumnsContextStore } from '../two';\n\n/**\n * Pre-configured Two-columns view that only has a left view and shows full left.\n */\n@Component({\n selector: 'dbx-one-column',\n template: `\n <ng-container>\n <dbx-two-column [inSectionPage]=\"inSectionPage\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content left></ng-content>\n </dbx-two-column>\n </ng-container>\n `,\n exportAs: 'columns',\n providers: [TwoColumnsContextStore]\n})\nexport class DbxOneColumnComponent {\n constructor(@Inject(TwoColumnsContextStore) public readonly twoColumnsContextStore: TwoColumnsContextStore) {\n twoColumnsContextStore.setFullLeft(true);\n }\n\n @Input()\n inSectionPage = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxTwoColumnLayoutModule } from '../two';\nimport { DbxOneColumnComponent } from './one.column.component';\n\n@NgModule({\n imports: [CommonModule, DbxTwoColumnLayoutModule],\n declarations: [DbxOneColumnComponent],\n exports: [DbxOneColumnComponent]\n})\nexport class DbxOneColumnLayoutModule {}\n","import { NgModule } from '@angular/core';\nimport { DbxTwoColumnLayoutModule } from './two';\nimport { DbxOneColumnLayoutModule } from './one';\n\n@NgModule({\n exports: [DbxOneColumnLayoutModule, DbxTwoColumnLayoutModule]\n})\nexport class DbxColumnLayoutModule {}\n","import { Component, Input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\n\n/**\n * Toolbar-like component that wraps content. Generally sits at the top of a page.\n */\n@Component({\n selector: 'dbx-flag',\n template: `\n <div class=\"dbx-flag\">\n <mat-toolbar [color]=\"color\">\n <ng-content></ng-content>\n </mat-toolbar>\n </div>\n `\n // TODO: styleUrls: ['./container.scss']\n})\nexport class DbxFlagComponent {\n @Input()\n color: ThemePalette = 'accent';\n}\n","import { Component, Input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\n\n/**\n * Pre-configured dbx-flag prompt to do something.\n */\n@Component({\n selector: 'dbx-flag-prompt',\n template: `\n <dbx-flag [color]=\"color\">\n <span class=\"dbx-flag-prompt\">{{ text }}</span>\n <span class=\"dbx-flag-spacer\"></span>\n <ng-content></ng-content>\n </dbx-flag>\n `\n // TODO: styleUrls: ['./container.scss']\n})\nexport class DbxFlagPromptComponent {\n @Input()\n color: ThemePalette = 'accent';\n\n @Input()\n text?: string;\n}\n","import { MatToolbarModule } from '@angular/material/toolbar';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxFlagComponent } from './flag.component';\nimport { DbxFlagPromptComponent } from './flag.prompt.component';\n\n/**\n * Module for block components.\n */\n@NgModule({\n imports: [CommonModule, MatToolbarModule],\n declarations: [DbxFlagComponent, DbxFlagPromptComponent],\n exports: [DbxFlagComponent, DbxFlagPromptComponent]\n})\nexport class DbxFlagLayoutModule {}\n","import { ScreenMediaWidthType } from '../../screen/screen';\nimport { DbxScreenMediaService } from '../../screen/screen.service';\nimport { Directive, ChangeDetectorRef, Input, OnInit, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, map, shareReplay, distinctUntilChanged, delay } from 'rxjs';\nimport { AbstractSubscriptionDirective, safeDetectChanges } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Used to declare a dbxFlexGroup.\n */\n@Directive({\n selector: '[dbxFlexGroup]',\n host: {\n '[class.dbx-flex-group]': 'content',\n '[class.dbx-flex-group-small]': 'small',\n '[class.dbx-flex-group-relative]': 'relative'\n }\n})\nexport class DbxFlexGroupDirective extends AbstractSubscriptionDirective implements OnInit, OnDestroy {\n @Input()\n content = true;\n\n @Input()\n relative = false;\n\n private _small = false;\n\n private _breakpoint = new BehaviorSubject<ScreenMediaWidthType>('tablet');\n readonly isSmallScreen$ = this._dbxScreenMediaService.isBreakpointActive(this._breakpoint).pipe(\n map((x) => !x),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n get small(): boolean {\n return this._small;\n }\n\n constructor(private readonly _dbxScreenMediaService: DbxScreenMediaService, readonly cdRef: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit(): void {\n this.sub = this.isSmallScreen$.pipe(delay(0)).subscribe((small) => {\n this._small = small;\n safeDetectChanges(this.cdRef);\n });\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._breakpoint.complete();\n }\n\n @Input()\n set breakpoint(breakpoint: Maybe<ScreenMediaWidthType>) {\n this._breakpoint.next(breakpoint ?? 'tablet');\n }\n}\n","import { Input, Directive } from '@angular/core';\nimport { DbxFlexSize } from './flex';\n\n/**\n * Applies the proper dbx-flex size class based on the input.\n */\n@Directive({\n selector: '[dbxFlexSize]',\n host: {\n '[class]': '\"dbx-flex-\" + size'\n }\n})\nexport class DbxFlexSizeDirective {\n @Input('dbxFlexSize')\n size: DbxFlexSize = 1;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxFlexGroupDirective } from './flex.group.directive';\nimport { DbxFlexSizeDirective } from './flex.size.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [DbxFlexGroupDirective, DbxFlexSizeDirective],\n exports: [DbxFlexGroupDirective, DbxFlexSizeDirective]\n})\nexport class DbxFlexLayoutModule {}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Section piece that puts an icon on the left, and arbitrary content on the right with a header.\n */\n@Component({\n selector: 'dbx-icon-item',\n template: `\n <div class=\"dbx-icon-item\">\n <div class=\"left\" *ngIf=\"icon\">\n <mat-icon>{{ icon }}</mat-icon>\n </div>\n <div class=\"right\">\n <h3 *ngIf=\"header\" class=\"dbx-icon-item-header\">{{ header }}</h3>\n <div class=\"right-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n `\n})\nexport class DbxIconItemComponent {\n @Input()\n icon?: Maybe<string>;\n\n @Input()\n header?: Maybe<string>;\n}\n","import { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxIconItemComponent } from './item.icon.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [DbxIconItemComponent],\n exports: [DbxIconItemComponent]\n})\nexport class DbxItemLayoutModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Component that is centered for use within an empty list.\n */\n@Component({\n selector: 'dbx-list-empty-content',\n template: `\n <div class=\"dbx-list-empty-content\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class DbxListEmptyContentComponent {}\n","import { Directive, Inject } from '@angular/core';\nimport { DBX_INJECTION_COMPONENT_DATA } from '@dereekb/dbx-core';\nimport { ReadableError, ReadableErrorWithCode } from '@dereekb/util';\n\n@Directive()\nexport abstract class AbstractDbxErrorWidgetComponent<T extends ReadableError = ReadableError> {\n get code() {\n return this.data.code;\n }\n\n get message() {\n return this.data.message;\n }\n\n constructor(@Inject(DBX_INJECTION_COMPONENT_DATA) readonly data: ReadableErrorWithCode<T>) {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-label',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-label'\n }\n})\nexport class DbxLabelComponent {}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Combines a dbx-label and arbitrary content.\n */\n@Component({\n selector: 'dbx-label-block',\n template: `\n <dbx-label class=\"d-block dbx-label-padded\">{{ header }}</dbx-label>\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-label-block'\n }\n})\nexport class DbxLabelBlockComponent {\n @Input()\n header?: Maybe<string>;\n}\n","import { Component } from '@angular/core';\nimport { ServerError, ServerErrorResponseData } from '@dereekb/util';\nimport { AbstractDbxErrorWidgetComponent } from './error.widget.directive';\n\n@Component({\n template: `\n <dbx-label-block header=\"Error Code\">{{ code }}</dbx-label-block>\n <dbx-label-block header=\"Error Data\" *ngIf=\"serverErrorData\">\n <p class=\"dbx-json\">{{ serverErrorData | json }}</p>\n </dbx-label-block>\n `,\n host: {\n class: 'd-block dbx-error-default-error-widget dbx-content-container'\n }\n})\nexport class DbxErrorDefaultErrorWidgetComponent extends AbstractDbxErrorWidgetComponent {\n get serverErrorData(): ServerErrorResponseData | undefined {\n return (this.data as ServerError).data;\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { Maybe, filterMaybeValues, mapIterable, StringErrorCode } from '@dereekb/util';\nimport { DbxErrorDefaultErrorWidgetComponent } from './default.error.widget.component';\n\nexport const DEFAULT_ERROR_WIDGET_CODE = 'DEFAULT_ERROR_WIDGET';\n\nexport interface DbxErrorWidgetEntry {\n /**\n * Error code to respond to.\n */\n readonly code: StringErrorCode;\n /**\n * Error widget component class to use.\n */\n readonly componentClass: Type<unknown>;\n}\n\n/**\n * Service used to register error widgets.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxErrorWidgetService {\n private _entries = new Map<StringErrorCode, DbxErrorWidgetEntry>();\n\n constructor() {\n this.registerDefaultEntry({ componentClass: DbxErrorDefaultErrorWidgetComponent });\n }\n\n registerDefaultEntry(entry: Omit<DbxErrorWidgetEntry, 'code'>) {\n return this.register({\n ...entry,\n code: DEFAULT_ERROR_WIDGET_CODE\n });\n }\n\n register(entry: DbxErrorWidgetEntry, override: boolean = true): boolean {\n if (override || !this._entries.has(entry.code)) {\n this._entries.set(entry.code, entry);\n return true;\n } else {\n return false;\n }\n }\n\n // MARK: Get\n getErrorWidgetIdentifiers(): StringErrorCode[] {\n return Array.from(this._entries.keys());\n }\n\n getDefaultErrorWidgetEntry(): Maybe<DbxErrorWidgetEntry> {\n return this.getErrorWidgetEntry(DEFAULT_ERROR_WIDGET_CODE);\n }\n\n getErrorWidgetEntry(code: StringErrorCode): Maybe<DbxErrorWidgetEntry> {\n return this._entries.get(code);\n }\n\n getErrorWidgetEntries(codes: Iterable<StringErrorCode>): DbxErrorWidgetEntry[] {\n return filterMaybeValues(mapIterable(codes ?? [], (x) => this._entries.get(x)));\n }\n}\n","import { Observable, BehaviorSubject, map } from 'rxjs';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { Maybe, ReadableError, ReadableErrorWithCode } from '@dereekb/util';\nimport { DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { DbxErrorWidgetService } from './error.widget.service';\n\n/**\n * Used to display a corresponding error widget based on the input data.\n */\n@Component({\n selector: 'dbx-error-widget-view',\n template: `\n <dbx-injection [config]=\"config$ | async\"></dbx-injection>\n `,\n host: {\n class: 'error-dbx-widget-view'\n }\n})\nexport class DbxErrorWidgetViewComponent implements OnDestroy {\n private _errorWithCode = new BehaviorSubject<Maybe<ReadableErrorWithCode>>(undefined);\n\n readonly config$: Observable<Maybe<DbxInjectionComponentConfig>> = this._errorWithCode.pipe(\n map((error: Maybe<ReadableErrorWithCode>) => {\n let config: Maybe<DbxInjectionComponentConfig>;\n\n if (error != null) {\n const entry = this.dbxErrorWidgetService.getErrorWidgetEntry(error.code) ?? this.dbxErrorWidgetService.getDefaultErrorWidgetEntry();\n\n if (entry) {\n config = {\n componentClass: entry.componentClass,\n data: error\n };\n }\n }\n\n return config;\n })\n );\n\n constructor(readonly dbxErrorWidgetService: DbxErrorWidgetService) {}\n\n ngOnDestroy(): void {\n this._errorWithCode.complete();\n }\n\n @Input()\n set error(error: Maybe<ReadableError>) {\n const config = error && error.code ? (error as ReadableErrorWithCode) : undefined;\n this._errorWithCode.next(config);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe, ReadableError } from '@dereekb/util';\n\n@Component({\n selector: 'dbx-error-details',\n template: `\n <dbx-error-widget-view [error]=\"error\"></dbx-error-widget-view>\n `,\n host: {\n class: 'd-block dbx-error-details'\n }\n})\nexport class DbxErrorDetailsComponent {\n @Input()\n error?: Maybe<ReadableError>;\n}\n","import { Component, ElementRef } from '@angular/core';\nimport { ReadableError } from '@dereekb/util';\nimport { AbstractPopoverDirective } from '../interaction/popover/abstract.popover.directive';\nimport { DbxPopoverKey } from '../interaction/popover/popover';\nimport { DbxPopoverService } from '../interaction/popover/popover.service';\n\nexport const DEFAULT_ERROR_POPOVER_KEY = 'error';\n\nexport interface DbxErrorPopoverConfig {\n origin: ElementRef;\n error: ReadableError;\n}\n\n@Component({\n template: `\n <dbx-popover-content class=\"dbx-error-popover\">\n <dbx-popover-header [header]=\"code\" icon=\"error\"></dbx-popover-header>\n <dbx-popover-scroll-content>\n <dbx-error-details [error]=\"error\"></dbx-error-details>\n </dbx-popover-scroll-content>\n </dbx-popover-content>\n `\n})\nexport class DbxErrorPopoverComponent extends AbstractPopoverDirective<void, ReadableError> {\n get error() {\n return this.popover.data as ReadableError;\n }\n\n get code() {\n return this.error.code;\n }\n\n static openPopover(popoverService: DbxPopoverService, { origin, error }: DbxErrorPopoverConfig, popoverKey?: DbxPopoverKey) {\n return popoverService.open({\n key: popoverKey ?? DEFAULT_ERROR_POPOVER_KEY,\n origin,\n isResizable: true,\n componentClass: DbxErrorPopoverComponent,\n data: error\n });\n }\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { Maybe, ErrorInput, toReadableError, ReadableError, ReadableErrorWithCode, isDefaultReadableError } from '@dereekb/util';\nimport { DbxPopoverService } from '../interaction/popover/popover.service';\nimport { DbxErrorPopoverComponent } from './error.popover.component';\n\n/**\n * Basic error component.\n */\n@Component({\n selector: 'dbx-error',\n templateUrl: './error.component.html'\n})\nexport class DbxReadableErrorComponent {\n @ViewChild('buttonPopoverOrigin', { read: ElementRef })\n buttonPopoverOrigin!: ElementRef;\n\n private _error?: Maybe<ReadableErrorWithCode>;\n\n constructor(readonly popoverService: DbxPopoverService) {}\n\n get error(): Maybe<ReadableError> {\n return this._error;\n }\n\n @Input()\n set error(error: Maybe<ErrorInput>) {\n this._error = toReadableError(error);\n }\n\n get isDefaultError() {\n return isDefaultReadableError(this._error);\n }\n\n get message(): Maybe<string> {\n return this._error?.message || 'An error occured.';\n }\n\n openErrorPopover() {\n if (this.error != null) {\n DbxErrorPopoverComponent.openPopover(this.popoverService, {\n origin: this.buttonPopoverOrigin,\n error: this.error\n });\n }\n }\n}\n","<div *ngIf=\"error\" class=\"dbx-error dbx-warn\">\n <button [disabled]=\"isDefaultError\" #buttonPopoverOrigin mat-icon-button class=\"dbx-error-button\" (click)=\"openErrorPopover()\"><mat-icon>error</mat-icon></button>\n <span class=\"dbx-error-message\" *ngIf=\"message\">{{ message }}</span>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\nimport { Maybe } from '@dereekb/util';\n\nexport const DEFAULT_LOADING_PROGRESS_DIAMETER = 96;\n\n/**\n * Basic loading progress component.\n */\n@Component({\n selector: 'dbx-loading-progress',\n template: `\n <div class=\"loading-progress-view\">\n <ng-container [ngSwitch]=\"linear\">\n <mat-progress-bar *ngSwitchCase=\"true\" [mode]=\"bmode\" [color]=\"color\" [bufferValue]=\"bufferValue\" [value]=\"value\" style=\"margin: auto;\"></mat-progress-bar>\n <mat-progress-spinner *ngSwitchDefault [diameter]=\"diameter || 96\" [mode]=\"smode\" [color]=\"color\" [value]=\"value\" style=\"margin: auto;\"></mat-progress-spinner>\n </ng-container>\n <div *ngIf=\"text\" class=\"hint\">{{ text }}</div>\n </div>\n `\n})\nexport class DbxLoadingProgressComponent {\n private _diameter: number = DEFAULT_LOADING_PROGRESS_DIAMETER;\n\n @Input()\n text?: Maybe<string>;\n\n @Input()\n linear?: Maybe<boolean>;\n\n @Input()\n mode: ProgressBarMode | ProgressSpinnerMode = 'indeterminate';\n\n @Input()\n color: ThemePalette = 'primary';\n\n @Input()\n value?: number;\n\n @Input()\n bufferValue: number = undefined as unknown as number; // mat-progress-bar typing prevents using undefined as a type\n\n @Input()\n get diameter(): number {\n return this._diameter;\n }\n\n set diameter(diameter: Maybe<number>) {\n this._diameter = diameter ?? DEFAULT_LOADING_PROGRESS_DIAMETER;\n }\n\n get bmode(): ProgressBarMode {\n return this.mode;\n }\n\n get smode(): ProgressSpinnerMode {\n return this.mode as ProgressSpinnerMode;\n }\n}\n","import { startWith, distinctUntilChanged, shareReplay, combineLatest, map, BehaviorSubject } from 'rxjs';\nimport { OnDestroy, Component, Input, ViewChild, ElementRef } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\nimport { ErrorInput, Maybe } from '@dereekb/util';\nimport { checkNgContentWrapperHasContent } from '@dereekb/dbx-core';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\n/**\n * DbxBasicLoadingComponent loading state.\n */\nexport enum LoadingComponentState {\n NONE = -1,\n LOADING = 0,\n CONTENT = 1,\n ERROR = 2\n}\n\n/**\n * Basic loading component.\n */\n@Component({\n selector: 'dbx-basic-loading',\n templateUrl: './basic-loading.component.html'\n})\nexport class DbxBasicLoadingComponent implements OnDestroy {\n private _loading = new BehaviorSubject<Maybe<boolean>>(undefined);\n private _show = new BehaviorSubject<boolean>(true);\n private _error = new BehaviorSubject<Maybe<ErrorInput>>(undefined);\n\n private _customErrorContent = new BehaviorSubject<Maybe<ElementRef>>(undefined);\n private _customLoadingContent = new BehaviorSubject<Maybe<ElementRef>>(undefined);\n\n readonly state$ = combineLatest([this._loading, this._show, this._error]).pipe(\n map(([loading, show, error]) => {\n let state: LoadingComponentState;\n\n if (error) {\n state = LoadingComponentState.ERROR;\n } else if (loading == null) {\n // If loading has not yet been defined and no error has occured, we're waiting for some input on loading or error.\n state = LoadingComponentState.NONE;\n } else if (loading || !show) {\n state = LoadingComponentState.LOADING;\n } else {\n state = LoadingComponentState.CONTENT;\n }\n\n return state;\n }),\n distinctUntilChanged(),\n startWith(LoadingComponentState.NONE),\n shareReplay(1)\n );\n\n readonly error$ = this._error.asObservable();\n\n readonly hasNoCustomError$ = this._customErrorContent.pipe(map((x) => !checkNgContentWrapperHasContent(x)));\n readonly hasNoCustomLoading$ = this._customLoadingContent.pipe(map((x) => !checkNgContentWrapperHasContent(x)));\n\n @Input()\n diameter?: Maybe<number>;\n\n @Input()\n mode: ProgressBarMode | ProgressSpinnerMode = 'indeterminate';\n\n @Input()\n color: ThemePalette = 'primary';\n\n @Input()\n text?: Maybe<string>;\n\n @Input()\n linear: Maybe<boolean> = false;\n\n ngOnDestroy() {\n this._error.complete();\n this._loading.complete();\n this._show.complete();\n this._customErrorContent.complete();\n this._customLoadingContent.complete();\n }\n\n @Input()\n get show(): boolean {\n return this._show.value;\n }\n\n set show(show: Maybe<boolean>) {\n this._show.next(show ?? true);\n }\n\n @Input()\n get loading(): Maybe<boolean> {\n return this._loading.value;\n }\n\n set loading(loading: Maybe<boolean>) {\n this._loading.next(loading);\n }\n\n @Input()\n get error(): Maybe<ErrorInput> {\n return this._error.value;\n }\n\n set error(error: Maybe<ErrorInput>) {\n this._error.next(error);\n }\n\n @ViewChild('customError')\n set customErrorContent(customErrorContent: Maybe<ElementRef>) {\n setTimeout(() => {\n this._customErrorContent.next(customErrorContent);\n }, 0);\n }\n\n @ViewChild('customLoading')\n set customLoadingContent(customLoadingContent: Maybe<ElementRef>) {\n setTimeout(() => {\n this._customLoadingContent.next(customLoadingContent);\n }, 0);\n }\n}\n","<ng-container [ngSwitch]=\"state$ | async\">\n <ng-container *ngSwitchCase=\"0\">\n <!-- Loading -->\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"1\">\n <!-- Content -->\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngSwitchCase=\"2\">\n <!-- Error -->\n <ng-container *ngTemplateOutlet=\"errorTemplate\"></ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loadingTemplate>\n <dbx-loading-progress *ngIf=\"hasNoCustomLoading$ | async\" [mode]=\"mode\" [color]=\"color\" [text]=\"text\" [linear]=\"linear\" [diameter]=\"diameter\"></dbx-loading-progress>\n <div #customLoading>\n <ng-content select=\"[loading]\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #errorTemplate>\n <dbx-error *ngIf=\"hasNoCustomError$ | async\" [error]=\"error$ | async\"></dbx-error>\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n <ng-content select=\"[errorAction]\"></ng-content>\n</ng-template>\n","import { BehaviorSubject, shareReplay, Observable, distinctUntilChanged, map, switchMap, combineLatest, of } from 'rxjs';\nimport { OnDestroy, Component, Input, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\nimport { LoadingContext } from '@dereekb/rxjs';\nimport { ErrorInput, Maybe } from '@dereekb/util';\nimport { tapSafeMarkForCheck } from '@dereekb/dbx-core';\n\nexport interface DbxLoadingComponentState {\n loading: boolean;\n error: Maybe<ErrorInput>;\n}\n\n/**\n * Loading View component that provides content sections for loading, error, and an error action.\n */\n@Component({\n selector: 'dbx-loading',\n template: `\n <dbx-basic-loading [show]=\"show\" [color]=\"color\" [text]=\"text\" [mode]=\"mode\" [linear]=\"linear\" [diameter]=\"diameter\" [error]=\"error$ | async\" [loading]=\"loading$ | async\">\n <ng-content loading select=\"[loading]\"></ng-content>\n <div class=\"dbx-loading-linear-done-padding\" *ngIf=\"linear && padding && !(loading$ | async)\"></div>\n <ng-content></ng-content>\n <ng-content error select=\"[error]\"></ng-content>\n <ng-content errorAction select=\"[errorAction]\"></ng-content>\n </dbx-basic-loading>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DbxLoadingComponent implements OnDestroy {\n private _context = new BehaviorSubject<Maybe<LoadingContext>>(undefined);\n private _inputLoading = new BehaviorSubject<Maybe<boolean>>(true);\n private _inputError = new BehaviorSubject<Maybe<ErrorInput>>(undefined);\n\n readonly state$: Observable<DbxLoadingComponentState> = combineLatest([this._inputLoading, this._inputError, this._context.pipe(switchMap((x) => (x != null ? x.stream$ : of(undefined))))]).pipe(\n map(([inputLoading, inputError, loadingState]) => {\n if (loadingState) {\n return loadingState as DbxLoadingComponentState;\n } else {\n return {\n loading: inputLoading ?? false,\n error: inputError\n };\n }\n }),\n distinctUntilChanged((a, b) => a.loading === b.loading && a.error === b.error),\n tapSafeMarkForCheck(this.cdRef),\n shareReplay(1)\n );\n\n readonly loading$ = this.state$.pipe(\n map((x) => x.loading),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly error$ = this.state$.pipe(\n map((x) => x.error),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n @Input()\n show?: Maybe<boolean>;\n\n @Input()\n text?: Maybe<string>;\n\n @Input()\n mode: ProgressBarMode = 'indeterminate';\n\n @Input()\n color: ThemePalette = 'primary';\n\n @Input()\n diameter?: Maybe<number>;\n\n @Input()\n linear?: Maybe<boolean>;\n\n /**\n * Whether or not to add padding to the linear presentation when linear is complete. This prevents the linear bar from pushing content around.\n */\n @Input()\n padding?: Maybe<boolean>;\n\n constructor(readonly cdRef: ChangeDetectorRef) {}\n\n ngOnDestroy() {\n this._context.complete();\n this._inputError.complete();\n this._inputLoading.complete();\n }\n\n @Input()\n get context(): Maybe<LoadingContext> {\n return this._context.value;\n }\n\n set context(context: Maybe<LoadingContext>) {\n this._context.next(context);\n }\n\n @Input()\n get loading(): Maybe<boolean> {\n return this._inputLoading.value;\n }\n\n set loading(loading: Maybe<boolean>) {\n this._inputLoading.next(loading ?? false);\n }\n\n @Input()\n get error(): Maybe<ErrorInput> {\n return this._inputError.value;\n }\n\n set error(error: Maybe<ErrorInput>) {\n this._inputError.next(error);\n }\n}\n","import { catchError, filter, exhaustMap, merge, map, Subject, switchMap, shareReplay, distinctUntilChanged, of, Observable, BehaviorSubject, first } from 'rxjs';\nimport { Component, Input, EventEmitter, Output, OnDestroy, ElementRef, HostListener, ChangeDetectorRef, Directive } from '@angular/core';\nimport { DbxInjectionComponentConfig, tapDetectChanges } from '@dereekb/dbx-core';\nimport { SubscriptionObject, ListLoadingStateContextInstance, ListLoadingState, filterMaybe, loadingStateHasFinishedLoading, startWithBeginLoading } from '@dereekb/rxjs';\nimport { Maybe, Milliseconds } from '@dereekb/util';\nimport { DbxListSelectionMode, DbxListView, ListSelectionState } from './list.view';\n\n/**\n * Direction the scroll was triggered moving.\n */\nexport type DbxListScrollDirectionTrigger = 'up' | 'down';\n\n/**\n * Used to trigger the loading of additional items.\n *\n * If an observable is returned it is used to throttle the loading of more items until it returns.\n */\nexport type DbxListLoadMoreHandler = () => Observable<void> | void;\n\n/**\n * DbxListComponent configuration.\n */\nexport interface DbxListConfig<T = unknown, V extends DbxListView<T> = DbxListView<T>> extends DbxInjectionComponentConfig<V> {\n /**\n * Whether or not to hide the list content when it is an empty list.\n */\n hideOnEmpty?: boolean;\n\n /**\n * Whether or not this list should scroll upward from the bottom, like a message list.\n */\n invertedList?: boolean;\n\n /**\n * Distance to scroll.\n */\n scrollDistance?: number;\n\n /**\n * Number of ms to throttle scrolling events.\n */\n throttle?: Milliseconds;\n\n /**\n * (Optional) onClick handler\n */\n onClick?: (value: T) => void;\n\n /**\n * (Optional) onSelection handler\n */\n onSelectionChange?: (selection: ListSelectionState<T>) => void;\n\n /**\n * (Optional) handler function to load more items.\n */\n loadMore?: DbxListLoadMoreHandler;\n\n /**\n * Default selection list value. If not defined, will default to 'view'.\n */\n defaultSelectionMode?: Maybe<DbxListSelectionMode>;\n}\n\n/**\n * Used to display a potentially infinitely scrollable list of content.\n *\n * This component is generally wrapped by another component that provides this one configuration.\n */\n@Component({\n selector: 'dbx-list',\n templateUrl: './list.component.html',\n host: {\n class: 'd-block dbx-list',\n '[class.dbx-list-padded]': 'padded'\n }\n})\nexport class DbxListComponent<T = unknown, V extends DbxListView<T> = DbxListView<T>, S extends ListLoadingState<T> = ListLoadingState<T>> implements OnDestroy {\n readonly DEFAULT_SCROLL_DISTANCE = 1.5;\n readonly DEFAULT_THROTTLE_SCROLL = 50;\n\n /**\n * Whether or not to add bottom padding to the list content.\n */\n @Input()\n padded = true;\n\n @Output()\n contentScrolled = new EventEmitter<number>();\n\n private _content: Maybe<DbxListInternalContentDirective>;\n private _disabled = new BehaviorSubject<boolean>(false);\n private _selectionMode = new BehaviorSubject<Maybe<DbxListSelectionMode>>(undefined);\n\n private _loadMoreTrigger = new Subject<void>();\n private _scrollTrigger = new Subject<DbxListScrollDirectionTrigger>();\n private _config = new BehaviorSubject<Maybe<DbxListConfig<T, V>>>(undefined);\n\n private _loadMoreSub = new SubscriptionObject();\n private _onClickSub = new SubscriptionObject();\n private _disabledSub = new SubscriptionObject();\n private _selectionModeSub = new SubscriptionObject();\n private _onSelectionChangeSub = new SubscriptionObject();\n\n readonly context = new ListLoadingStateContextInstance<T, S>({ showLoadingOnNoValue: false });\n readonly isEmpty$ = this.context.isEmpty$;\n readonly isEmptyLoading$ = this.context.isEmptyLoading$;\n readonly isEmptyAndNotLoading$ = this.context.isEmptyAndNotLoading$;\n readonly disabled$ = this._disabled.asObservable();\n readonly selectionMode$ = this._selectionMode.asObservable();\n\n readonly hideOnEmpty$: Observable<boolean> = this._config.pipe(\n filterMaybe(),\n map((x) => Boolean(x.hideOnEmpty)),\n distinctUntilChanged(),\n shareReplay(1)\n );\n readonly invertedList$: Observable<boolean> = this._config.pipe(\n filterMaybe(),\n map((x) => Boolean(x?.throttle)),\n distinctUntilChanged(),\n shareReplay(1)\n );\n readonly throttleScroll$: Observable<number> = this._config.pipe(\n map((x) => x?.throttle ?? this.DEFAULT_THROTTLE_SCROLL),\n distinctUntilChanged(),\n shareReplay(1)\n );\n readonly scrollDistance$: Observable<number> = this._config.pipe(\n map((x) => x?.scrollDistance ?? this.DEFAULT_SCROLL_DISTANCE),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly scrollLoadMoreTrigger$ = this._config.pipe(\n switchMap((config) => {\n const loadNextDirection = config?.invertedList ? 'up' : 'down';\n return this._scrollTrigger.pipe(filter((x) => x === loadNextDirection));\n })\n );\n\n readonly loadMore$ = merge(this.scrollLoadMoreTrigger$, this._loadMoreTrigger);\n\n readonly injectedComponentConfig$: Observable<Maybe<DbxInjectionComponentConfig<V>>> = this._config.pipe(\n distinctUntilChanged(),\n map((config) => {\n let injectedComponentConfig: Maybe<DbxInjectionComponentConfig<V>>;\n\n if (config) {\n const { componentClass, init, onClick, onSelectionChange, loadMore, defaultSelectionMode = 'view' } = config;\n\n injectedComponentConfig = {\n componentClass: config.componentClass,\n injector: config.injector,\n init: (instance: V) => {\n // Synchronize disabled\n this._disabledSub.subscription = this.disabled$.subscribe((disabled) => instance.setDisabled(disabled));\n this._selectionModeSub.subscription = this.selectionMode$.subscribe((selectionMode) => instance.setSelectionMode(selectionMode ?? defaultSelectionMode));\n\n if (init) {\n init(instance);\n }\n\n instance.setListContext(this.context);\n\n if (loadMore) {\n this._loadMoreSub.subscription = this.loadMore$\n .pipe(\n // Throttle additional loading calls using exhaustMap until observable returns, if one is returned.\n exhaustMap(() => {\n const result = loadMore();\n let obs: Observable<void>;\n\n if (result) {\n obs = result.pipe(catchError(() => of()));\n } else {\n obs = of();\n }\n\n return obs;\n })\n )\n .subscribe();\n }\n\n if (onClick) {\n if (instance.clickValue) {\n this._onClickSub.subscription = instance.clickValue.subscribe(onClick);\n } else {\n console.error(`onClick() was passed to listConfig, but target class ${componentClass} has no clicked event emitter.`);\n }\n }\n\n if (onSelectionChange) {\n if (instance.selectionChange) {\n this._onSelectionChangeSub.subscription = instance.selectionChange.subscribe(onSelectionChange);\n } else {\n console.error(`onSelectionChange() was passed to listConfig, but target class ${componentClass} has no selectionChange event emitter.`);\n }\n }\n }\n };\n }\n\n return injectedComponentConfig;\n }),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n readonly hideContent$: Observable<boolean> = this.context.stateChange$.pipe(\n switchMap(() =>\n this.context.state$.pipe(\n filter((x) => loadingStateHasFinishedLoading(x)),\n first(),\n startWithBeginLoading()\n )\n ),\n switchMap((state) => {\n if (state?.loading) {\n return of(true);\n } else {\n return this.hideOnEmpty$.pipe(\n switchMap((hide) => (hide === false ? of(false) : this.isEmpty$)),\n distinctUntilChanged(),\n tapDetectChanges(this.cdRef),\n shareReplay(1)\n );\n }\n })\n );\n\n constructor(readonly cdRef: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n delete this._content; // remove parent-child relation.\n this._scrollTrigger.complete();\n this._loadMoreTrigger.complete();\n this._config.complete();\n this._disabled.complete();\n this._selectionMode.complete();\n\n this._onClickSub.destroy();\n this._loadMoreSub.destroy();\n this._onSelectionChangeSub.destroy();\n this._disabledSub.destroy();\n\n this.context.destroy();\n }\n\n @Input()\n get state$(): Observable<S> {\n return this.context.state$;\n }\n\n set state$(state$: Maybe<Observable<S>>) {\n this.context.setStateObs(state$);\n }\n\n @Input()\n set config(config: Maybe<DbxListConfig<T, V>>) {\n this._config.next(config);\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled.value;\n }\n\n set disabled(disabled: Maybe<boolean>) {\n this._disabled.next(disabled ?? false);\n }\n\n @Input()\n get selectionMode(): Maybe<DbxListSelectionMode> {\n return this._selectionMode.value;\n }\n\n set selectionMode(selectionMode: Maybe<DbxListSelectionMode>) {\n this._selectionMode.next(selectionMode);\n }\n\n getScrollPositionRelativeToBottom(): number {\n try {\n const element = this.nativeElement;\n\n // At max scroll, scrollHeight = scrollTop + clientHeight;\n const { scrollTop, scrollHeight, clientHeight } = element;\n return scrollHeight - (scrollTop + clientHeight);\n } catch (e) {\n return 0;\n }\n }\n\n jumpToBottom(): void {\n try {\n this.nativeElement.scrollTop = this.nativeElement.scrollHeight;\n } catch (err) {\n // do nothing.\n }\n }\n\n jumpToPositionRelativeToBottom(pos: number): void {\n try {\n const element = this.nativeElement;\n const { scrollHeight, clientHeight } = element;\n element.scrollTop = scrollHeight - (clientHeight + pos);\n } catch (err) {\n // do nothing.\n }\n }\n\n onScrollDown(): void {\n this._scrollTrigger.next('down');\n }\n\n onScrollUp(): void {\n this._scrollTrigger.next('up');\n }\n\n loadMore(): void {\n this._loadMoreTrigger.next();\n }\n\n // MARK: Internal\n get nativeElement() {\n return this.__content.elementRef.nativeElement;\n }\n\n get __content(): DbxListInternalContentDirective {\n return this._content as DbxListInternalContentDirective;\n }\n\n set __content(content: DbxListInternalContentDirective) {\n if (this._content == null) {\n this._content = content;\n } else {\n throw new Error('Attempted to set __content in list outside of initialization.');\n }\n }\n}\n\n/**\n * Used internally by DbxListComponent\n */\n@Directive({\n selector: '[dbxListInternalContent]',\n host: {\n class: 'd-block dbx-list-content',\n '[class.dbx-list-content-hidden]': 'hide'\n }\n})\nexport class DbxListInternalContentDirective {\n @Input()\n hide: Maybe<boolean> = false;\n\n constructor(private readonly parent: DbxListComponent, readonly elementRef: ElementRef) {\n this.parent.__content = this;\n }\n\n @HostListener('scroll', ['$event'])\n onScrollEvent($event: Event): void {\n const position = ($event.target as Element).scrollTop;\n this.parent.contentScrolled.emit(position);\n }\n}\n","<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContent$ | async\" infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmptyAndNotLoading$ | async\" select=\"[empty]\"></ng-content>\n<ng-content *ngIf=\"isEmptyLoading$ | async\" select=\"[emptyLoading]\"></ng-content>\n","import { ListLoadingState, filterMaybe, ObservableOrValue, valueFromObservableOrValue } from '@dereekb/rxjs';\nimport { Observable, BehaviorSubject, map, shareReplay } from 'rxjs';\nimport { Output, EventEmitter, OnInit, OnDestroy, Directive, Input } from '@angular/core';\nimport { DbxListConfig } from './list.component';\nimport { DbxListSelectionMode, DbxListView, ListSelectionState } from './list.view';\nimport { Maybe } from '@dereekb/util';\nimport { DbxListViewWrapper } from './list.wrapper';\n\nexport const DEFAULT_STATIC_LIST_DIRECTIVE_TEMPLATE = `\n<dbx-list [config]=\"config\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n</dbx-list>\n`;\n\n// MARK: Wrapper\nexport const DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE = `\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\" [selectionMode]=\"selectionMode\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n</dbx-list>\n`;\n\nexport type DbxListWrapperConfig<T, V extends DbxListView<T> = DbxListView<T>> = Omit<DbxListConfig<T, V>, 'onClick' | 'loadMore'>;\n\n@Directive()\nexport abstract class AbstractDbxListWrapperDirective<T, V extends DbxListView<T> = DbxListView<T>, C extends DbxListWrapperConfig<T, V> = DbxListWrapperConfig<T, V>, S extends ListLoadingState<T> = ListLoadingState<T>> implements OnInit, OnDestroy, DbxListViewWrapper<T, S> {\n private readonly _init = new BehaviorSubject<Maybe<ObservableOrValue<C>>>(undefined);\n readonly config$ = this._init.pipe(\n filterMaybe(),\n valueFromObservableOrValue(),\n map((x: C) => this._buildListConfig(x)),\n shareReplay(1)\n );\n\n @Input()\n disabled?: Maybe<boolean>;\n\n @Input()\n selectionMode?: Maybe<DbxListSelectionMode>;\n\n @Input()\n state$?: Maybe<Observable<S>>;\n\n @Output()\n clickItem = new EventEmitter<T>();\n\n @Output()\n loadMore = new EventEmitter<void>();\n\n constructor(readonly initConfig: ObservableOrValue<C>) {}\n\n ngOnInit(): void {\n this._init.next(this.initConfig);\n }\n\n ngOnDestroy(): void {\n this._init.complete();\n this.clickItem.complete();\n this.loadMore.complete();\n }\n\n protected _buildListConfig(config: C): DbxListConfig<T, V> {\n return {\n ...config,\n onClick: (x) => this.clickItem.emit(x),\n loadMore: () => this.loadMore.emit()\n };\n }\n}\n\n// MARK: Selection Wrapper\nexport type DbxSelectionListWrapperConfig<T, V extends DbxListView<T> = DbxListView<T>> = Omit<DbxListWrapperConfig<T, V>, 'onSelectionChange'>;\n\n@Directive()\nexport abstract class AbstractDbxSelectionListWrapperDirective<T, V extends DbxListView<T> = DbxListView<T>, C extends DbxSelectionListWrapperConfig<T, V> = DbxSelectionListWrapperConfig<T, V>, S extends ListLoadingState<T> = ListLoadingState<T>> extends AbstractDbxListWrapperDirective<T, V, C, S> implements OnDestroy {\n @Output()\n selectionChange = new EventEmitter<ListSelectionState<T>>();\n\n override ngOnDestroy(): void {\n this.selectionChange.complete();\n }\n\n protected override _buildListConfig(config: C): DbxListConfig<T, V> {\n const result = super._buildListConfig(config);\n result.onSelectionChange = (x) => this.selectionChange.next(x);\n return result;\n }\n}\n","import { Directive, Host, OnInit } from '@angular/core';\nimport { DbxActionContextStoreSourceInstance, AbstractSubscriptionDirective } from '@dereekb/dbx-core';\nimport { DbxReadableErrorComponent } from './error.component';\n\n/**\n * Context used for linking an ReadableErrorComponent to an ActionContext.\n */\n@Directive({\n selector: '[dbxActionError]'\n})\nexport class DbxActionErrorDirective extends AbstractSubscriptionDirective implements OnInit {\n constructor(@Host() public readonly error: DbxReadableErrorComponent, public readonly source: DbxActionContextStoreSourceInstance) {\n super();\n }\n\n ngOnInit(): void {\n this.sub = this.source.error$.subscribe((error) => {\n this.error.error = error;\n });\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { ReadableError, ServerError, ServerErrorResponse, ServerErrorResponseData, UnauthorizedServerErrorResponse, build } from '@dereekb/util';\n\n/**\n * Converts the error response to a POJO.\n */\nexport function convertToPOJOServerErrorResponse(httpError: HttpErrorResponse | object): ServerError {\n const result: ServerErrorResponse | undefined = convertToServerErrorResponse(httpError);\n const pojo: ServerErrorResponse = build({\n base: Object.assign({}, result),\n build: (x) => {\n if (x.data) {\n try {\n const stringy = JSON.stringify(pojo.data);\n x.data = JSON.parse(stringy);\n } catch (e) {\n console.warn('convertToPOJOServerErrorResponse(): Non-serializable Error Data Detected. It is being removed.: ', pojo.data);\n x.data = undefined;\n }\n }\n }\n });\n\n return pojo;\n}\n\n/**\n * Converts an HTTP Error Response to a ServerErrorResponse type.\n *\n * @param error\n * @returns\n */\nexport function convertToServerErrorResponse(error: HttpErrorResponse | object): ServerErrorResponse | undefined {\n let result: ServerErrorResponse | undefined;\n\n if (error instanceof HttpErrorResponse) {\n const { status, error: data }: { status: number; error: ServerErrorResponseData } = error;\n\n const code = data.code;\n const message = data.message ?? error.statusText;\n\n switch (status) {\n case 401:\n result = new UnauthorizedServerErrorResponse({ message, data, code });\n break;\n default:\n result = new ServerErrorResponse({ code, status, data, message });\n break;\n }\n } else if (error) {\n result = new ServerErrorResponse({ message: (error as ReadableError).message, status: 0 });\n }\n\n return result;\n}\n","import { Directive, Host, Input } from '@angular/core';\nimport { LoadingContext } from '@dereekb/rxjs';\nimport { AbstractSubscriptionDirective } from '@dereekb/dbx-core';\nimport { DbxReadableErrorComponent } from './error.component';\n\n/**\n * Context used for linking an ReadableErrorComponent to a LoadingContext.\n *\n * The error from the context is given to the app error when available.\n */\n@Directive({\n selector: '[dbxLoadingError]'\n})\nexport class DbxLoadingErrorDirective extends AbstractSubscriptionDirective {\n constructor(@Host() public readonly error: DbxReadableErrorComponent) {\n super();\n }\n\n /**\n * Sets a LoadingContext that is watched for the loading state.\n */\n @Input('dbxLoadingError')\n set context(context: LoadingContext) {\n let subscription;\n\n if (context) {\n subscription = context.stream$.subscribe((x) => {\n this.error.error = x.error;\n });\n }\n\n this.sub = subscription;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe, UnitedStatesAddressWithContact } from '@dereekb/util';\n\n// prettier-ignore\n@Component({\n selector: 'dbx-us-address',\n template: `\n <ng-container *ngIf=\"address\">\n <div *ngIf=\"address.name\" class=\"addr-name\">{{ address.name }}</div>\n <div *ngIf=\"address.phone\" class=\"addr-phone\">{{ address.phone }}</div>\n <div *ngIf=\"address.line1\" class=\"addr-line1\">{{ address.line1 }}</div>\n <div *ngIf=\"address.line2\" class=\"addr-line2\">{{ address.line2 }}</div>\n <div class=\"city-state-zip\">\n <span class=\"addr-city\">{{ address.city }}</span>\n <span *ngIf=\"address.state || address.zip\">, </span>\n <span class=\"addr-state\">{{ address.state }} </span>\n <span class=\"addr-zip\">{{ address.zip }}</span>\n </div>\n </ng-container>\n `,\n host: {\n class: 'dbx-us-address'\n }\n})\nexport class DbxUnitedStatesAddressComponent {\n @Input()\n address: Maybe<Partial<UnitedStatesAddressWithContact>>;\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\n@Component({\n selector: 'dbx-detail-block-header',\n template: `\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n <span *ngIf=\"header\" class=\"dbx-detail-block-header-label\">{{ header }}</span>\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-detail-block-header',\n '[class]': '{ \"dbx-detail-block-header-no-icon\": !icon }'\n }\n})\nexport class DbxDetailBlockHeaderComponent {\n @Input()\n icon?: Maybe<string>;\n\n @Input()\n header?: Maybe<string>;\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Header and details offset with an icon.\n */\n@Component({\n selector: 'dbx-detail-block',\n template: `\n <dbx-detail-block-header [icon]=\"icon\" [header]=\"header\">\n <ng-content select=\"[header]\"></ng-content>\n </dbx-detail-block-header>\n <div class=\"dbx-detail-block-content\">\n <ng-content></ng-content>\n </div>\n `,\n host: {\n class: 'dbx-detail-block d-block'\n }\n})\nexport class DbxDetailBlockComponent {\n @Input()\n icon?: Maybe<string>;\n\n @Input()\n header?: Maybe<string>;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-form-description',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-form-description'\n }\n})\nexport class DbxFormDescriptionComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-hint',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-hint'\n }\n})\nexport class DbxHintComponent {}\n","import { Directive } from '@angular/core';\n\n/**\n * Icon spacer directive.\n */\n@Directive({\n selector: 'dbx-icon-spacer,[dbxIconSpacer]',\n host: {\n class: 'dbx-icon-spacer d-inline'\n }\n})\nexport class DbxIconSpacerDirective {}\n","import { Component, Input, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport linkifyStr from 'linkify-string';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Used to \"linkify\" the input text.\n */\n@Component({\n selector: 'dbx-linkify',\n template: `\n <span [innerHTML]=\"linkifiedBody$ | async\"></span>\n `,\n host: {\n class: 'dbx-i dbx-linkify'\n }\n})\nexport class DbxLinkifyComponent implements OnDestroy {\n private _text = new BehaviorSubject<Maybe<string>>(undefined);\n\n readonly linkifiedText$ = this._text.pipe(\n distinctUntilChanged(),\n map((x) =>\n x\n ? linkifyStr(x, {\n defaultProtocol: 'https',\n target: {\n url: '_blank'\n }\n })\n : undefined\n ),\n shareReplay(1)\n );\n\n readonly linkifiedBody$ = this.linkifiedText$.pipe(\n map((x) => {\n return x ? this.sanitizer.bypassSecurityTrustHtml(x) : undefined;\n }),\n shareReplay(1)\n );\n\n constructor(private readonly sanitizer: DomSanitizer) {}\n\n ngOnDestroy(): void {\n this._text.complete();\n }\n\n @Input()\n get text(): Maybe<string> {\n return this._text.value;\n }\n\n set text(text: Maybe<string>) {\n this._text.next(text);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-note',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-note'\n }\n})\nexport class DbxNoteComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-notice',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-notice'\n }\n})\nexport class DbxNoticeComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-ok',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-ok'\n }\n})\nexport class DbxOkComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-success',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-success'\n }\n})\nexport class DbxSuccessComponent {}\n","import { Directive, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\n@Directive({\n selector: 'dbx-chip',\n host: {\n class: 'dbx-chip mat-standard-chip',\n '[class]': 'style'\n }\n})\nexport class DbxChipDirective {\n @Input()\n small?: Maybe<boolean>;\n\n @Input()\n block?: Maybe<boolean>;\n\n get style() {\n let style = this.small ? 'dbx-chip-small' : '';\n\n if (this.block) {\n style = style + ' dbx-chip-block';\n }\n\n return style;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\nexport interface TextChip<T = unknown> {\n text: string;\n tooltip?: string;\n selected?: boolean;\n color?: 'primary' | 'accent' | 'warn' | undefined;\n data?: T;\n}\n\n@Component({\n selector: 'dbx-text-chips',\n template: `\n <mat-chip-listbox class=\"dbx-text-chips-listbox\" *ngIf=\"chips\">\n <mat-chip-option *ngFor=\"let chip of chips; trackBy: trackChipByText\" [selected]=\"chip.selected ?? defaultSelection\" [color]=\"chip.color\" [matTooltip]=\"chip.tooltip!\" matTooltipPosition=\"above\">\n {{ chip.text }}\n </mat-chip-option>\n </mat-chip-listbox>\n `\n})\nexport class DbxTextChipsComponent<T = unknown> {\n @Input()\n defaultSelection?: boolean;\n\n @Input()\n chips?: Maybe<TextChip<T>[]>;\n\n trackChipByText(index: number, chip: TextChip<T>) {\n return chip.text;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-warn',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'dbx-warn'\n }\n})\nexport class DbxWarnComponent {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DbxUnitedStatesAddressComponent } from './address.component';\nimport { DbxDetailBlockComponent } from './detail.block.component';\nimport { DbxDetailBlockHeaderComponent } from './detail.block.header.component';\nimport { DbxFormDescriptionComponent } from './form.description.component';\nimport { DbxHintComponent } from './hint.component';\nimport { DbxIconSpacerDirective } from './icon.spacer.component';\nimport { DbxLabelBlockComponent } from './label.block.component';\nimport { DbxLabelComponent } from './label.component';\nimport { DbxLinkifyComponent } from './linkify.component';\nimport { DbxNoteComponent } from './note.component';\nimport { DbxNoticeComponent } from './notice.component';\nimport { DbxOkComponent } from './ok.component';\nimport { DbxSuccessComponent } from './success.component';\nimport { DbxChipDirective } from './text.chip.directive';\nimport { DbxTextChipsComponent } from './text.chips.component';\nimport { DbxWarnComponent } from './warn.component';\n\nconst declarations = [DbxUnitedStatesAddressComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxNoteComponent, DbxNoticeComponent, DbxSuccessComponent, DbxWarnComponent, DbxHintComponent, DbxLabelBlockComponent, DbxLabelComponent, DbxLinkifyComponent, DbxOkComponent, DbxTextChipsComponent, DbxIconSpacerDirective, DbxFormDescriptionComponent];\n\n@NgModule({\n imports: [CommonModule, MatChipsModule, MatTooltipModule, MatIconModule],\n declarations,\n exports: declarations\n})\nexport class DbxTextModule {}\n","import { MatIconModule } from '@angular/material/icon';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DbxReadableErrorComponent } from './error.component';\nimport { DbxLoadingErrorDirective } from './error.loading.directive';\nimport { DbxActionErrorDirective } from './error.action.directive';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DbxErrorPopoverComponent } from './error.popover.component';\nimport { DbxErrorDetailsComponent } from './error.details.component';\nimport { DbxPopoverInteractionContentModule } from '../interaction/popover/popover.content.module';\nimport { DbxErrorWidgetViewComponent } from './error.widget.component';\nimport { DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { DbxErrorDefaultErrorWidgetComponent } from './default.error.widget.component';\nimport { DbxTextModule } from '../layout/text/text.module';\n\nconst declarations = [\n //\n DbxReadableErrorComponent,\n DbxLoadingErrorDirective,\n DbxActionErrorDirective,\n DbxErrorPopoverComponent,\n DbxErrorDetailsComponent,\n DbxErrorWidgetViewComponent,\n DbxErrorDefaultErrorWidgetComponent\n];\n\n@NgModule({\n imports: [CommonModule, DbxTextModule, DbxInjectionComponentModule, DbxPopoverInteractionContentModule, MatButtonModule, MatIconModule],\n declarations,\n exports: declarations\n})\nexport class DbxReadableErrorModule {}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { convertToPOJOServerErrorResponse } from './error.api';\nimport { catchError, MonoTypeOperatorFunction, of } from 'rxjs';\nimport { ActionCreator, TypedAction } from '@ngrx/store/src/models';\nimport { ServerError } from '@dereekb/util';\n\nexport interface ServerErrorParams {\n error: ServerError;\n}\n\n/**\n * Converts the error response to ServerErrorParams.\n */\nexport function convertServerErrorParams(httpError: HttpErrorResponse | object): ServerErrorParams {\n const error: ServerError = convertToPOJOServerErrorResponse(httpError);\n return { error };\n}\n\n/**\n * Catches error server params and feeds them to an action that takes ServerErrorParams as a prop.\n */\nexport function catchErrorServerParams<E extends ServerErrorParams, T extends string>(action: ActionCreator<T, (props: E) => E & TypedAction<T>>, mapError: (error: ServerErrorParams) => E = (error) => error as E): MonoTypeOperatorFunction<E & TypedAction<T>> {\n return catchError((error: HttpErrorResponse | object) => {\n const serverErrorParams = convertServerErrorParams(error);\n const mappedError: E = mapError(serverErrorParams);\n const act = action(mappedError);\n return of(act);\n });\n}\n","import { DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';\nimport { Directive, Host, OnInit, OnDestroy } from '@angular/core';\nimport { LoadingStateContextInstance } from '@dereekb/rxjs';\nimport { DbxLoadingComponent } from './loading.component';\n\n/**\n * Context used for linking a loadingComponent to an ActionContext by providing a LoadingContext.\n */\n@Directive({\n selector: '[dbxActionLoadingContext]'\n})\nexport class DbxActionLoadingContextDirective implements OnInit, OnDestroy {\n private _context = new LoadingStateContextInstance({ obs: this.source.loadingState$ });\n\n constructor(@Host() readonly loadingComponent: DbxLoadingComponent, readonly source: DbxActionContextStoreSourceInstance) {}\n\n get context() {\n return this._context;\n }\n\n ngOnInit(): void {\n this.loadingComponent.context = this._context;\n }\n\n ngOnDestroy(): void {\n this._context.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxBasicLoadingComponent } from './basic-loading.component';\nimport { DbxLoadingProgressComponent } from './loading-progress.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { DbxLoadingComponent } from './loading.component';\nimport { DbxReadableErrorModule } from '../error';\nimport { DbxActionLoadingContextDirective } from './loading.action.directive';\n\nconst declarations = [DbxLoadingComponent, DbxBasicLoadingComponent, DbxLoadingProgressComponent, DbxActionLoadingContextDirective];\n\n@NgModule({\n imports: [CommonModule, DbxReadableErrorModule, MatProgressSpinnerModule, MatProgressBarModule],\n declarations,\n exports: [...declarations, MatProgressSpinnerModule, MatProgressBarModule]\n})\nexport class DbxLoadingModule {}\n","import { Observable } from 'rxjs';\nimport { ListLoadingState, ListLoadingStateContext } from '@dereekb/rxjs';\nimport { EventEmitter, forwardRef, Provider, TrackByFunction, Type } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\nexport type DbxListSelectionMode = 'select' | 'view';\n\nexport interface ListSelectionStateItem<T> {\n disabled?: boolean;\n selected?: boolean;\n itemValue: T;\n}\n\nexport interface ListSelectionState<T> {\n items: ListSelectionStateItem<T>[];\n}\n\n/**\n * Interface for a view that renders the items of a DbxList.\n */\nexport abstract class DbxListView<T, S extends ListLoadingState<T> = ListLoadingState<T>> {\n /**\n * Current disabled state.\n */\n abstract readonly disabled$: Observable<boolean>;\n /**\n * (Optional) current selection mode.\n */\n abstract readonly selectionMode$?: Observable<Maybe<DbxListSelectionMode>>;\n /**\n * Values of the list view.\n */\n abstract readonly values$: Observable<T[]>;\n /**\n * Track by configuration.\n */\n abstract trackBy?: TrackByFunction<T>;\n /**\n * (Optional) clicked event emitter.\n *\n * If available, the DbxList will subscribe to it automatically.\n */\n abstract clickValue?: EventEmitter<T>;\n /**\n * (Optional) selection changed event emitter.\n *\n * If available, the DbxList will subscribe to it automatically.\n */\n abstract selectionChange?: EventEmitter<ListSelectionState<T>>;\n /**\n * Sets the models input loading state context for the view to render from.\n */\n abstract setListContext(state: ListLoadingStateContext<T, S>): void;\n /**\n * Sets the disabled state of the list view.\n */\n abstract setDisabled(disabled: boolean): void;\n /**\n * Sets the selection mode of the list view.\n */\n abstract setSelectionMode(selectionMode: Maybe<DbxListSelectionMode>): void;\n}\n\n// eslint-disable-next-line\nexport function provideDbxListView<V extends DbxListView<any>>(sourceType: Type<V>): Provider[] {\n // use of any here is allowed as typings are not relevant for providers\n return [\n {\n provide: DbxListView,\n useExisting: forwardRef(() => sourceType)\n }\n ];\n}\n","import { forwardRef, InjectionToken, Provider, StaticProvider, Type } from '@angular/core';\nimport { ClickableAnchor, DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { map, Observable, of } from 'rxjs';\nimport { DecisionFunction, Maybe } from '@dereekb/util';\n\nexport const DBX_VALUE_LIST_VIEW_ITEM = new InjectionToken<unknown>('DbxValueListViewItem');\n\nexport interface DbxValueListItem<T> {\n itemValue: T;\n icon?: string;\n disabled?: boolean;\n rippleDisabled?: boolean;\n selected?: boolean;\n anchor?: Maybe<ClickableAnchor>;\n}\n\nexport type DbxValueListItemDecisionFunction<T> = DecisionFunction<DbxValueListItem<T>>;\n\n/**\n * Convenience function for mapping a DecisionFunction for a value to a DecisionFunction for a DbxValueListItem with the same value type.\n * @param decisionFunction\n * @returns\n */\nexport function dbxValueListItemDecisionFunction<T>(decisionFunction: DecisionFunction<T>): DbxValueListItemDecisionFunction<T> {\n return (item) => decisionFunction(item.itemValue);\n}\n\n/**\n * Special type used with values that contain all the items of DbxValueListItem internally.\n */\nexport type DbxValueAsListItem<T> = T & Omit<DbxValueListItem<DbxValueListItem<T>>, 'itemValue'>;\n\nexport interface AbstractDbxValueListViewConfig<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> extends DbxInjectionComponentConfig<V> {\n mapValuesToItemValues?(values: T[]): Observable<I[]>;\n}\n\nexport const DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES = <T, I extends DbxValueListItem<T>>(itemValues: T[]) => of(itemValues.map((itemValue) => ({ itemValue })) as I[]);\n\nexport type DbxValueListItemConfig<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> = I & {\n config: DbxInjectionComponentConfig<V>;\n};\n\nexport function mapValuesToValuesListItemConfigObs<T, I extends DbxValueListItem<T>, V = unknown>(listViewConfig: AbstractDbxValueListViewConfig<T, I, V>, itemValues: T[]): Observable<DbxValueListItemConfig<T, I, V>[]> {\n const makeObs = listViewConfig.mapValuesToItemValues ?? DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES;\n return makeObs(itemValues).pipe(\n map((listItems: I[]) => {\n const listItemConfigs: DbxValueListItemConfig<T, I, V>[] = addConfigToValueListItems<T, I, V>(listViewConfig, listItems);\n return listItemConfigs;\n })\n );\n}\n\n/**\n * Adds config to the input value list items.\n *\n * @param listViewConfig\n * @param listItems\n * @returns\n */\nexport function addConfigToValueListItems<T, I extends DbxValueListItem<T>, V = unknown>(listViewConfig: AbstractDbxValueListViewConfig<T, I, V>, listItems: I[]): DbxValueListItemConfig<T, I, V>[] {\n const itemConfigs: DbxValueListItemConfig<T, I, V>[] = listItems.map((listItem: I) => {\n const anchor = listItem.anchor;\n\n listItem.disabled = listItem.disabled || anchor?.disabled;\n (listItem as DbxValueListItemConfig<T, I, V>).config = Object.assign(\n {\n providers: [\n {\n provide: DBX_VALUE_LIST_VIEW_ITEM,\n useValue: listItem\n }\n ] as StaticProvider[]\n },\n listViewConfig\n );\n\n return listItem as DbxValueListItemConfig<T, I, V>;\n });\n\n return itemConfigs;\n}\n\n// MARK: ValueListView\nexport abstract class DbxValueListView<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> {\n abstract readonly items$: Observable<I[]>;\n}\n\nexport function provideDbxValueListView<V extends DbxValueListView<unknown>>(sourceType: Type<V>): Provider[] {\n return [\n {\n provide: DbxValueListView,\n useExisting: forwardRef(() => sourceType)\n }\n ];\n}\n","import { Maybe, maybeModifierMapToFunction, ModifierFunction } from '@dereekb/util';\nimport { OnDestroy, Input, Directive, Optional } from '@angular/core';\nimport { filterMaybe, mapForEach } from '@dereekb/rxjs';\nimport { BehaviorSubject, distinctUntilChanged, shareReplay, combineLatest, switchMap, map, Observable, of } from 'rxjs';\nimport { DbxListView } from './list.view';\nimport { AbstractDbxValueListViewConfig, DbxValueListItem, DbxValueListItemConfig, DbxValueListView, mapValuesToValuesListItemConfigObs } from './list.view.value';\nimport { DbxValueListItemModifier } from './list.view.value.modifier';\n\n/**\n * Abstract list directive that takes in items and a AbstractDbxValueItemListViewConfig configuration.\n */\n@Directive()\nexport abstract class AbstractDbxValueListViewDirective<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown, C extends AbstractDbxValueListViewConfig<T, I, V> = AbstractDbxValueListViewConfig<T, I, V>> implements DbxValueListView<T, I>, OnDestroy {\n private _config = new BehaviorSubject<Maybe<C>>(undefined);\n readonly config$ = this._config.pipe(filterMaybe(), distinctUntilChanged());\n\n readonly modifyFn$: Observable<Maybe<ModifierFunction<I>>> = this.dbxValueListViewModifier ? this.dbxValueListViewModifier.modifiers$.pipe(map(maybeModifierMapToFunction)) : of(undefined);\n\n readonly items$: Observable<DbxValueListItemConfig<T, I>[]> = combineLatest([this.config$, this.dbxListView.values$, this.modifyFn$]).pipe(\n switchMap(([listViewConfig, values, modifyFn]) => mapValuesToValuesListItemConfigObs<T, I, V>(listViewConfig, values).pipe(mapForEach(modifyFn)) as Observable<DbxValueListItemConfig<T, I>[]>),\n shareReplay(1)\n );\n\n constructor(readonly dbxListView: DbxListView<T>, @Optional() readonly dbxValueListViewModifier: DbxValueListItemModifier<T, I>) {}\n\n ngOnDestroy(): void {\n this._config.complete();\n }\n\n @Input()\n set config(config: Maybe<C>) {\n this._config.next(config);\n }\n\n onClickValue(value: T) {\n this.dbxListView.clickValue?.next(value);\n }\n}\n","import { Component, Input, TrackByFunction } from '@angular/core';\nimport { shareReplay, map } from 'rxjs';\nimport { DbxValueListItem, AbstractDbxValueListViewConfig, DbxValueListItemConfig } from './list.view.value';\nimport { AbstractDbxValueListViewDirective } from './list.view.value.directive';\nimport { AnchorType, anchorTypeForAnchor } from '@dereekb/dbx-core';\nimport { DbxListView } from './list.view';\nimport { Maybe } from '@dereekb/util';\n\nexport interface DbxValueListViewConfig<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> extends AbstractDbxValueListViewConfig<T, I, V> {\n emitAllClicks?: boolean;\n}\n\n/**\n * Renders a list view using input configuration. Requires a parent DbxListView.\n */\n@Component({\n selector: 'dbx-list-view',\n template: `\n <dbx-list-view-content [items]=\"items$ | async\" [emitAllClicks]=\"emitAllClicks$ | async\"></dbx-list-view-content>\n `\n})\nexport class DbxValueListViewComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown, C extends DbxValueListViewConfig<T, I, V> = DbxValueListViewConfig<T, I, V>> extends AbstractDbxValueListViewDirective<T, I, V, C> {\n readonly emitAllClicks$ = this.config$.pipe(\n map((x) => x.emitAllClicks),\n shareReplay(1)\n );\n}\n\n/**\n * Content view for a DbxValueListView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.\n */\n@Component({\n selector: 'dbx-list-view-content',\n template: `\n <mat-nav-list [disabled]=\"disabled$ | async\">\n <dbx-anchor *ngFor=\"let item of items; trackBy: trackByFunction\" [anchor]=\"item.anchor\" [disabled]=\"item.disabled\">\n <a mat-list-item class=\"dbx-list-view-item\" [disabled]=\"item.disabled\" [disableRipple]=\"rippleDisabledOnItem(item)\" (click)=\"onClickItem(item)\">\n <mat-icon matListItemIcon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <dbx-injection [config]=\"item.config\"></dbx-injection>\n </a>\n </dbx-anchor>\n </mat-nav-list>\n `,\n host: {\n class: 'dbx-list-view'\n }\n})\nexport class DbxValueListItemViewComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> {\n @Input()\n emitAllClicks?: Maybe<boolean>;\n\n @Input()\n items?: Maybe<DbxValueListItemConfig<T, I>[]>;\n\n readonly disabled$ = this.dbxListView.disabled$;\n\n readonly trackByFunction: TrackByFunction<DbxValueListItemConfig<T, I>>;\n\n constructor(readonly dbxListView: DbxListView<T>) {\n const trackBy = dbxListView.trackBy;\n this.trackByFunction = trackBy ? (index: number, item: DbxValueListItemConfig<T, I>) => trackBy(index, item.itemValue) : () => undefined;\n }\n\n onClickItem(item: I) {\n // do not emit clicks for disabled items.\n if (!item.disabled) {\n if (this.emitAllClicks || !item.anchor || anchorTypeForAnchor(item.anchor) === AnchorType.PLAIN) {\n // only emit clicks for items with no anchor, or plain anchors.\n this.onClickValue(item.itemValue);\n }\n }\n }\n\n onClickValue(value: T) {\n this.dbxListView.clickValue?.next(value);\n }\n\n rippleDisabledOnItem(item: I): boolean {\n return item.rippleDisabled || (!this.emitAllClicks && !item.anchor);\n }\n}\n","import { Observable, map, shareReplay, distinctUntilChanged, of } from 'rxjs';\nimport { Component, EventEmitter, Input } from '@angular/core';\nimport { MatSelectionListChange } from '@angular/material/list';\nimport { DbxListSelectionMode, DbxListView, ListSelectionState, ListSelectionStateItem } from './list.view';\nimport { DbxValueListItem, AbstractDbxValueListViewConfig } from './list.view.value';\nimport { AbstractDbxValueListViewDirective } from './list.view.value.directive';\nimport { Maybe } from '@dereekb/util';\nimport { DbxValueListItemViewComponent } from './list.view.value.component';\n\nexport interface DbxSelectionValueListViewConfig<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> extends AbstractDbxValueListViewConfig<T, I, V> {\n readonly multiple?: boolean;\n}\n\n/**\n * Renders a selection list view using input configuration. Requires a parent DbxListView.\n */\n@Component({\n selector: 'dbx-selection-list-view',\n template: `\n <dbx-selection-list-view-content [selectionMode]=\"selectionMode$ | async\" [multiple]=\"multiple$ | async\" [items]=\"items$ | async\"></dbx-selection-list-view-content>\n `\n})\nexport class DbxSelectionValueListViewComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> extends AbstractDbxValueListViewDirective<T, I, V, DbxSelectionValueListViewConfig<T, I, V>> {\n readonly selectionMode$: Observable<DbxListSelectionMode> = (this.dbxListView.selectionMode$ ?? of('select' as DbxListSelectionMode)).pipe(\n map((x) => x ?? 'select'),\n distinctUntilChanged()\n );\n readonly multiple$ = this.config$.pipe(\n map((x) => x.multiple ?? true),\n distinctUntilChanged(),\n shareReplay(1)\n );\n}\n\n/**\n * Content view for a DbxSelectionValueListView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.\n */\n@Component({\n selector: 'dbx-selection-list-view-content',\n template: `\n <ng-container [ngSwitch]=\"selectionMode\">\n <ng-container *ngSwitchCase=\"'view'\">\n <dbx-list-view-content [items]=\"items\"></dbx-list-view-content>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <mat-selection-list [disabled]=\"disabled$ | async\" [multiple]=\"multiple\" (selectionChange)=\"matSelectionChanged($event)\">\n <mat-list-option class=\"dbx-list-view-item\" *ngFor=\"let item of items; trackBy: trackByFunction\" [selected]=\"item.selected\" [disabled]=\"item.disabled\" [value]=\"item.itemValue\" (click)=\"onClickValue(item.itemValue)\">\n <mat-icon matListItemIcon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <dbx-injection [config]=\"item.config\"></dbx-injection>\n </mat-list-option>\n </mat-selection-list>\n </ng-container>\n </ng-container>\n `,\n host: {\n class: 'dbx-list-view dbx-selection-list-view'\n }\n})\nexport class DbxSelectionValueListItemViewComponent<T> extends DbxValueListItemViewComponent<T> {\n @Input()\n multiple?: Maybe<boolean>;\n\n @Input()\n selectionMode: Maybe<DbxListSelectionMode>;\n\n constructor(dbxListView: DbxListView<T>) {\n super(dbxListView);\n\n if (!dbxListView.selectionChange) {\n throw new Error('Parent dbxListView to DbxSelectionValueListViewComponent has no selectionChange emitter.');\n }\n }\n\n matSelectionChanged(selection: MatSelectionListChange): void {\n const options = selection.source.selectedOptions.selected;\n const items: ListSelectionStateItem<T>[] = options.map((x) => {\n const { value: itemValue, selected, disabled } = x;\n return { itemValue, selected, disabled };\n });\n\n (this.dbxListView.selectionChange as EventEmitter<ListSelectionState<T>>).next({\n // asserted in constructor\n items\n });\n }\n}\n","import { Directive, Input, OnDestroy } from '@angular/core';\nimport { Maybe, ArrayOrValue, Modifier } from '@dereekb/util';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { DbxValueListItem, DbxValueListItemDecisionFunction } from './list.view.value';\nimport { AbstractDbxValueListItemModifierDirective } from './list.view.value.modifier.directive';\n\nexport const DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY = 'disable_ripple_anchor';\n\nexport const DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION: DbxValueListItemDecisionFunction<unknown> = <T>(item: DbxValueListItem<T>) => {\n return item.rippleDisabled || !item.anchor || (!item.anchor.ref && !item.anchor.url && !item.anchor.onClick);\n};\n\n@Directive({\n selector: '[dbxListItemDisableRippleModifier]'\n})\nexport class DbxListItemDisableRippleModifierDirective<T> extends AbstractDbxValueListItemModifierDirective<T> implements OnDestroy {\n private _disableRippleForItem = new BehaviorSubject<DbxValueListItemDecisionFunction<T>>(DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION);\n\n readonly modifiers$: Observable<Maybe<ArrayOrValue<Modifier<DbxValueListItem<T>>>>> = this._disableRippleForItem.pipe(\n map((disableRippleForItem) => {\n const modifiers: Modifier<DbxValueListItem<T>> = {\n key: DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY,\n modify: (x: DbxValueListItem<T>) => {\n if (disableRippleForItem(x)) {\n x.rippleDisabled = true;\n }\n }\n };\n\n return modifiers;\n })\n );\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._disableRippleForItem.complete();\n }\n\n @Input('dbxListItemDisableRippleModifier')\n set disableRippleForItem(disableRippleForItem: Maybe<DbxValueListItemDecisionFunction<T>>) {\n this._disableRippleForItem.next(disableRippleForItem ?? DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION);\n }\n}\n","import { Component, Directive, Input, OnDestroy, Optional } from '@angular/core';\nimport { shareReplay, map, BehaviorSubject, combineLatest, of, Observable } from 'rxjs';\nimport { DbxValueListItem } from './list.view.value';\nimport { AbstractDbxValueListViewDirective } from './list.view.value.directive';\nimport { Maybe, mergeObjects } from '@dereekb/util';\nimport { DbxValueListItemViewComponent, DbxValueListViewConfig } from './list.view.value.component';\nimport { DbxListView } from './list.view';\n\nexport interface DbxValueListGridViewConfig<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown> extends DbxValueListViewConfig<T, I, V> {\n grid?: Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>;\n}\n\n/**\n * Renders a grid view using input configuration. Requires a parent DbxListView.\n */\n@Component({\n selector: 'dbx-list-grid-view',\n template: `\n <dbx-list-grid-view-content [grid]=\"grid$ | async\" [items]=\"items$ | async\" [emitAllClicks]=\"emitAllClicks$ | async\"></dbx-list-grid-view-content>\n `\n})\nexport class DbxValueListGridViewComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>, V = unknown, C extends DbxValueListGridViewConfig<T, I, V> = DbxValueListGridViewConfig<T, I, V>> extends AbstractDbxValueListViewDirective<T, I, V, C> {\n readonly grid$ = this.config$.pipe(map((x) => x.grid));\n readonly emitAllClicks$ = this.config$.pipe(\n map((x) => x.emitAllClicks),\n shareReplay(1)\n );\n}\n\nexport interface DbxValueListGridItemViewGridSizeConfig {\n /**\n * Gap size in %, px, vw, vh\n */\n gap: string;\n /**\n * Columns configuration.\n *\n * Example: repeat(auto-fill, minmax(200px, 1fr))\n */\n columns: string;\n}\n\nexport const DEFAULT_LIST_GRID_SIZE_CONFIG: DbxValueListGridItemViewGridSizeConfig = {\n columns: 'repeat(auto-fill, minmax(320px, 1fr))',\n gap: '8px'\n};\n\n/**\n * Optional parent directive used to control grid size.\n */\n@Directive({\n selector: '[dbxListGridSize]'\n})\nexport class DbxValueListGridSizeDirective implements OnDestroy {\n private _gridSize = new BehaviorSubject<Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>>(undefined);\n\n readonly gridSize$ = this._gridSize.asObservable();\n\n @Input('dbxListGridSize')\n get gridSize(): Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>> {\n return this._gridSize.value;\n }\n\n set gridSize(gridSize: Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>) {\n if (gridSize) {\n this._gridSize.next(gridSize);\n }\n }\n\n ngOnDestroy(): void {\n this._gridSize.complete();\n }\n}\n\n/**\n * Content view for a DbxValueListGridView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.\n */\n@Component({\n selector: 'dbx-list-grid-view-content',\n template: `\n <div [gdGap]=\"gap$ | async\" [gdColumns]=\"columns$ | async\">\n <dbx-anchor *ngFor=\"let item of items; trackBy: trackByFunction\" matRipple [matRippleDisabled]=\"rippleDisabledOnItem(item)\" class=\"dbx-list-grid-view-item\" [anchor]=\"item.anchor\" [disabled]=\"item.disabled\" (click)=\"onClickItem(item)\">\n <div dbx-injection [config]=\"item.config\"></div>\n </dbx-anchor>\n </div>\n `,\n host: {\n class: 'dbx-list-grid-view'\n }\n})\nexport class DbxValueListGridItemViewComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> extends DbxValueListItemViewComponent<T, I> implements OnDestroy {\n private _defaultGrid = new BehaviorSubject<Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>>(undefined);\n\n readonly grid$: Observable<DbxValueListGridItemViewGridSizeConfig> = combineLatest([this._defaultGrid, this._gridSizeOverride?.gridSize$ ?? of(undefined)]).pipe(\n map(([defaultGrid, overrideGrid]) => {\n const grid = mergeObjects<DbxValueListGridItemViewGridSizeConfig>([DEFAULT_LIST_GRID_SIZE_CONFIG, defaultGrid, overrideGrid]);\n return grid as DbxValueListGridItemViewGridSizeConfig;\n }),\n shareReplay(1)\n );\n\n readonly gap$ = this.grid$.pipe(map((x) => x.gap));\n readonly columns$ = this.grid$.pipe(map((x) => x.columns));\n\n constructor(dbxListView: DbxListView<T>, @Optional() private _gridSizeOverride?: DbxValueListGridSizeDirective) {\n super(dbxListView);\n }\n\n @Input()\n set grid(grid: Maybe<Partial<DbxValueListGridItemViewGridSizeConfig>>) {\n this._defaultGrid.next(grid);\n }\n\n ngOnDestroy(): void {\n this._defaultGrid.complete();\n }\n}\n","import { Directive, Input, OnDestroy } from '@angular/core';\nimport { Maybe, ArrayOrValue, Modifier } from '@dereekb/util';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { DbxValueListItem, DbxValueListItemDecisionFunction } from './list.view.value';\nimport { AbstractDbxValueListItemModifierDirective } from './list.view.value.modifier.directive';\n\nexport const DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY = 'is_selected_item_modifier';\n\nexport const DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION: DbxValueListItemDecisionFunction<unknown> = <T>(item: DbxValueListItem<T>) => {\n return item.selected ?? false;\n};\n\n@Directive({\n selector: '[dbxListItemIsSelectedModifier]'\n})\nexport class DbxListItemIsSelectedModifierDirective<T> extends AbstractDbxValueListItemModifierDirective<T> implements OnDestroy {\n private _listItemIsSelected = new BehaviorSubject<DbxValueListItemDecisionFunction<T>>(DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION);\n\n readonly modifiers$: Observable<Maybe<ArrayOrValue<Modifier<DbxValueListItem<T>>>>> = this._listItemIsSelected.pipe(\n map((listItemIsSelected) => {\n const modifiers: Modifier<DbxValueListItem<T>> = {\n key: DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY,\n modify: (x: DbxValueListItem<T>) => {\n x.selected = listItemIsSelected(x);\n }\n };\n\n return modifiers;\n })\n );\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._listItemIsSelected.complete();\n }\n\n @Input('dbxListItemIsSelectedModifier')\n set listItemIsSelected(listItemIsSelected: Maybe<DbxValueListItemDecisionFunction<T>>) {\n this._listItemIsSelected.next(listItemIsSelected ?? DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION);\n }\n}\n","import { MatRippleModule } from '@angular/material/core';\nimport { DbxRouterAnchorModule } from '../../router/layout/anchor/anchor.module';\nimport { DbxLoadingModule } from '../../loading/loading.module';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { DbxListComponent, DbxListInternalContentDirective } from './list.component';\nimport { DbxListEmptyContentComponent } from './list.content.empty.component';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { DbxSelectionValueListItemViewComponent, DbxSelectionValueListViewComponent } from './list.view.value.selection.component';\nimport { DbxValueListItemViewComponent, DbxValueListViewComponent } from './list.view.value.component';\nimport { DbxValueListItemModifierDirective } from './list.view.value.modifier.directive';\nimport { DbxListItemDisableRippleModifierDirective } from './list.view.value.modifier.ripple.directive';\nimport { DbxValueListGridItemViewComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent } from './list.grid.view.component';\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\nimport { DbxListItemIsSelectedModifierDirective } from './list.view.value.modifier.selection.directive';\n\n@NgModule({\n imports: [CommonModule, MatRippleModule, FlexLayoutModule, DbxLoadingModule, DbxRouterAnchorModule, InfiniteScrollModule, DbxInjectionComponentModule, MatListModule, MatIconModule],\n declarations: [\n //\n DbxListComponent,\n DbxListInternalContentDirective,\n DbxListEmptyContentComponent,\n DbxValueListViewComponent,\n DbxValueListItemViewComponent,\n DbxValueListGridSizeDirective,\n DbxValueListGridViewComponent,\n DbxValueListGridItemViewComponent,\n DbxSelectionValueListViewComponent,\n DbxSelectionValueListItemViewComponent,\n DbxValueListItemModifierDirective,\n DbxListItemDisableRippleModifierDirective,\n DbxListItemIsSelectedModifierDirective\n ],\n exports: [\n //\n DbxListComponent,\n DbxListEmptyContentComponent,\n DbxValueListViewComponent,\n DbxValueListItemViewComponent,\n DbxValueListGridSizeDirective,\n DbxValueListGridViewComponent,\n DbxValueListGridItemViewComponent,\n DbxSelectionValueListViewComponent,\n DbxSelectionValueListItemViewComponent,\n DbxValueListItemModifierDirective,\n DbxListItemDisableRippleModifierDirective,\n DbxListItemIsSelectedModifierDirective\n ]\n})\nexport class DbxListLayoutModule {}\n","import { TrackByFunction } from '@angular/core';\nimport { ModelKeyRef, UniqueModel } from '@dereekb/util';\n\nexport const TRACK_BY_MODEL_ID: TrackByFunction<UniqueModel> = (index, model) => model.id;\n\nexport function trackByUniqueIdentifier<T extends UniqueModel>(): TrackByFunction<T> {\n return TRACK_BY_MODEL_ID;\n}\n\nexport const TRACK_BY_MODEL_KEY: TrackByFunction<ModelKeyRef> = (index, model) => model.key;\n\nexport function trackByModelKeyRef<T extends ModelKeyRef>(): TrackByFunction<T> {\n return TRACK_BY_MODEL_KEY;\n}\n","import { ListLoadingStateContext, switchMapMaybeObs } from '@dereekb/rxjs';\nimport { BehaviorSubject, Observable, of, shareReplay } from 'rxjs';\nimport { Directive, EventEmitter, Input, OnDestroy, Output, TrackByFunction } from '@angular/core';\nimport { DbxListSelectionMode, DbxListView } from './list.view';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Abstract DbxListView implementation.\n */\n@Directive()\nexport abstract class AbstractDbxListViewDirective<T> implements DbxListView<T>, OnDestroy {\n private readonly _disabled = new BehaviorSubject<boolean>(false);\n private readonly _selectionMode = new BehaviorSubject<Maybe<DbxListSelectionMode>>(undefined);\n private readonly _values$ = new BehaviorSubject<Maybe<Observable<T[]>>>(undefined);\n\n readonly trackBy?: TrackByFunction<T> | undefined;\n\n readonly values$ = this._values$.pipe(switchMapMaybeObs(), shareReplay(1));\n readonly disabled$ = this._disabled.asObservable();\n readonly selectionMode$ = this._selectionMode.asObservable();\n\n @Output()\n clickValue = new EventEmitter<T>();\n\n @Input()\n set valueArray(values: Maybe<T[]>) {\n this.setValues(values ? of(values) : undefined);\n }\n\n @Input()\n set values(values: Maybe<Observable<T[]>>) {\n this.setValues(values);\n }\n\n ngOnDestroy(): void {\n this._disabled.complete();\n this._selectionMode.complete();\n this._values$.complete();\n }\n\n onClickValue(value: T) {\n this.clickValue.emit(value);\n }\n\n setListContext(state: ListLoadingStateContext<T>): void {\n this.setValues(state.list$);\n }\n\n setValues(valuesObs: Maybe<Observable<T[]>>): void {\n this._values$.next(valuesObs);\n }\n\n setDisabled(disabled: boolean): void {\n this._disabled.next(disabled);\n }\n\n setSelectionMode(selectionMode: Maybe<DbxListSelectionMode>): void {\n this._selectionMode.next(selectionMode);\n }\n}\n","import { Directive } from '@angular/core';\nimport { AbstractDbxListViewDirective } from './list.view.directive';\n\nexport const DEFAULT_DBX_VALUE_LIST_GRID_DIRECTIVE_TEMPLATE = '<dbx-list-grid-view [config]=\"config\"></dbx-list-grid-view>';\n\n/**\n * Abstract DbxListGridView implementation.\n */\n@Directive()\nexport abstract class AbstractDbxListGridViewDirective<T> extends AbstractDbxListViewDirective<T> {}\n","import { Directive, EventEmitter, Output } from '@angular/core';\nimport { MatSelectionListChange } from '@angular/material/list';\nimport { ListSelectionState, ListSelectionStateItem } from './list.view';\nimport { AbstractDbxListViewDirective } from './list.view.directive';\n\nexport const DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE = '<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>';\n\n// MARK: Selection List View\n/**\n * Abstract list view that has a pre-built-in selection change event for an Angular Material MatSelectionListChange.\n */\n@Directive()\nexport abstract class AbstractDbxSelectionListViewDirective<T> extends AbstractDbxListViewDirective<T> {\n @Output()\n selectionChange = new EventEmitter<ListSelectionState<T>>();\n\n selectionChanged(selection: ListSelectionState<T>): void {\n this.selectionChange.emit(selection);\n }\n\n matSelectionChanged(selection: MatSelectionListChange): void {\n const options = selection.source.selectedOptions.selected;\n const items: ListSelectionStateItem<T>[] = options.map((x) => {\n const { value: itemValue, selected, disabled } = x;\n return { itemValue, selected, disabled };\n });\n\n this.selectionChanged({ items });\n }\n}\n","import { Directive, Inject } from '@angular/core';\nimport { DbxValueListItem, DBX_VALUE_LIST_VIEW_ITEM } from './list.view.value';\n\n@Directive()\nexport abstract class AbstractDbxValueListViewItemComponent<T, I extends DbxValueListItem<T> = DbxValueListItem<T>> {\n get itemValue(): T {\n return this.item.itemValue;\n }\n\n constructor(@Inject(DBX_VALUE_LIST_VIEW_ITEM) readonly item: I) {}\n}\n","import { Observable } from 'rxjs';\nimport { ListLoadingState } from '@dereekb/rxjs';\nimport { EventEmitter, forwardRef, Provider, Type } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Common interface for views that may wrap a DbxListView, and pass values through to it.\n */\nexport abstract class DbxListViewWrapper<T = unknown, S extends ListLoadingState<T> = ListLoadingState<T>> {\n state$?: Maybe<Observable<S>>;\n readonly loadMore?: EventEmitter<void>;\n}\n\nexport function provideDbxListViewWrapper<V extends DbxListViewWrapper>(sourceType: Type<V>): Provider[] {\n return [\n {\n provide: DbxListViewWrapper,\n useExisting: forwardRef(() => sourceType)\n }\n ];\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxSectionHeaderConfig, DbxSectionHeaderHType } from './section';\n\n/**\n * Component used to style a section's header.\n */\n@Component({\n selector: 'dbx-section-header,.dbx-section-header',\n template: `\n <div class=\"dbx-section-header-content\">\n <ng-container *ngIf=\"showTitle\">\n <ng-container [ngSwitch]=\"h ?? 1\">\n <h1 *ngSwitchCase=\"1\" class=\"dbx-section-header-content-title\">\n <ng-container *ngTemplateOutlet=\"headerContentTitleTemplate\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"2\" class=\"dbx-section-header-content-title\">\n <ng-container *ngTemplateOutlet=\"headerContentTitleTemplate\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"3\" class=\"dbx-section-header-content-title\">\n <ng-container *ngTemplateOutlet=\"headerContentTitleTemplate\"></ng-container>\n </h3>\n <h4 *ngSwitchCase=\"4\" class=\"dbx-section-header-content-title\">\n <ng-container *ngTemplateOutlet=\"headerContentTitleTemplate\"></ng-container>\n </h4>\n <h5 *ngSwitchCase=\"5\" class=\"dbx-section-header-content-title\">\n <ng-container *ngTemplateOutlet=\"headerContentTitleTemplate\"></ng-container>\n </h5>\n </ng-container>\n <span class=\"spacer\"></span>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <p *ngIf=\"hint && !hintInline\" class=\"dbx-section-hint dbx-hint\">{{ hint }}</p>\n <ng-template #headerContentTitleTemplate>\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n <span class=\"title-text\">\n {{ header }}\n <span *ngIf=\"hint && hintInline\" class=\"dbx-section-hint-inline dbx-hint\">{{ hint }}</span>\n </span>\n </ng-template>\n `,\n host: {\n '[class.dbx-section-header-full-title]': 'onlyHeader',\n '[class.dbx-section-header-padded]': 'paddedHeader'\n }\n})\nexport class DbxSectionHeaderComponent {\n @Input()\n paddedHeader?: Maybe<boolean>;\n\n @Input()\n h?: Maybe<DbxSectionHeaderHType>;\n\n @Input()\n header?: Maybe<string>;\n\n @Input()\n onlyHeader?: Maybe<boolean> = false;\n\n @Input()\n icon?: Maybe<string>;\n\n @Input()\n hint?: Maybe<string>;\n\n @Input()\n hintInline?: Maybe<boolean>;\n\n constructor() {}\n\n @Input()\n set headerConfig(headerConfig: Maybe<DbxSectionHeaderConfig>) {\n if (headerConfig) {\n if (headerConfig.h !== undefined) {\n this.h = headerConfig.h;\n }\n\n if (headerConfig.header !== undefined) {\n this.header = headerConfig.header;\n }\n\n if (headerConfig.onlyHeader !== undefined) {\n this.onlyHeader = headerConfig.onlyHeader;\n }\n\n if (headerConfig.icon !== undefined) {\n this.icon = headerConfig.icon;\n }\n\n if (headerConfig.hint !== undefined) {\n this.hint = headerConfig.hint;\n }\n\n if (headerConfig.hintInline !== undefined) {\n this.hintInline = headerConfig.hintInline;\n }\n }\n }\n\n get showTitle() {\n return Boolean(this.header || this.icon);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { DbxSectionHeaderComponent } from './section.header.component';\n\n/**\n * Component used to format content on a page within a section.\n */\n@Component({\n selector: 'dbx-section',\n template: `\n <div class=\"dbx-section-header\" [h]=\"h ?? 3\" [header]=\"header\" [onlyHeader]=\"onlyHeader\" [icon]=\"icon\" [hint]=\"hint\" [hintInline]=\"hintInline\">\n <ng-content select=\"[sectionHeader]\"></ng-content>\n </div>\n <div class=\"dbx-section-content\">\n <ng-content></ng-content>\n </div>\n `,\n host: {\n class: 'd-block dbx-section',\n '[class]': `(elevate) ? 'dbx-section-elevate dbx-content-elevate' : ''`\n }\n})\nexport class DbxSectionComponent extends DbxSectionHeaderComponent {\n @Input()\n elevate = false;\n}\n","import { OnDestroy, Component, Input, EventEmitter, Output } from '@angular/core';\nimport { DbxSectionComponent } from './section.component';\n\n/**\n * Component used to format content that displays an intro until a button is pressed.\n */\n@Component({\n selector: 'dbx-intro-action-section',\n template: `\n <div class=\"dbx-intro-action-section\" [ngSwitch]=\"showIntro\">\n <div *ngSwitchCase=\"true\" class=\"dbx-intro-action-section-intro\">\n <p>{{ hint }}</p>\n <div>\n <ng-content select=\"[info]\"></ng-content>\n </div>\n <div>\n <button mat-raised-button color=\"accent\" (click)=\"actionClicked()\">{{ action }}</button>\n </div>\n </div>\n <ng-container *ngSwitchCase=\"false\">\n <ng-content></ng-content>\n </ng-container>\n </div>\n `\n})\nexport class DbxIntroActionSectionComponent extends DbxSectionComponent implements OnDestroy {\n @Output()\n showAction = new EventEmitter<void>();\n\n @Input()\n showIntro?: boolean;\n\n @Input()\n action?: string;\n\n ngOnDestroy() {\n this.showAction.complete();\n }\n\n actionClicked() {\n this.showAction.next();\n }\n}\n","import { Component } from '@angular/core';\nimport { DbxSectionComponent } from './section.component';\n\n/**\n * A subsection.\n */\n@Component({\n selector: 'dbx-subsection',\n template: `\n <div class=\"dbx-subsection\">\n <div class=\"dbx-section-header\" [h]=\"h ?? 4\" [header]=\"header\" [onlyHeader]=\"onlyHeader\" [icon]=\"icon\" [hint]=\"hint\" [hintInline]=\"hintInline\">\n <ng-content select=\"[sectionHeader]\"></ng-content>\n </div>\n <div class=\"dbx-section-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class DbxSubSectionComponent extends DbxSectionComponent {}\n","import { Component, Input } from '@angular/core';\nimport { DbxSectionHeaderComponent } from './section.header.component';\n\n/**\n * Scroll locking modes.\n *\n * Types:\n * - all: The entire header + body is scrollable\n * - body: The header is locked while the body is scrollable\n * - locked: Overflow is locked and hidden\n */\nexport type DbxSectionPageScrollLockedMode = 'all' | 'body' | 'locked';\n\n/**\n * Component used to style a page that is made up of app sections.\n *\n * Should be used on pages that need a section page heading.\n *\n * Can be nested within eachother, retaining the proper fixed height.\n */\n@Component({\n selector: 'dbx-section-page',\n template: `\n <div class=\"dbx-section-header\" [h]=\"h ?? 2\" [header]=\"header\" [onlyHeader]=\"onlyHeader\" [icon]=\"icon\" [hint]=\"hint\" [hintInline]=\"true\">\n <ng-content select=\"[sectionHeader]\"></ng-content>\n </div>\n <div class=\"dbx-section-page-content\">\n <ng-content></ng-content>\n </div>\n `,\n host: {\n class: 'd-block dbx-content-page dbx-section-page',\n '[class]': '\"dbx-section-page-scroll-\" + scroll'\n }\n})\nexport class DbxSectionPageComponent extends DbxSectionHeaderComponent {\n @Input()\n scroll: DbxSectionPageScrollLockedMode = 'all';\n\n @Input()\n override hintInline = true;\n}\n","import { DbxRouterAnchorModule } from '../../router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DbxSectionComponent } from './section.component';\nimport { DbxSubSectionComponent } from './subsection.component';\nimport { DbxSectionPageComponent } from './section.page.component';\nimport { DbxIntroActionSectionComponent } from './section.intro.component';\nimport { DbxSectionHeaderComponent } from './section.header.component';\n\nconst declarations = [DbxSectionHeaderComponent, DbxSectionPageComponent, DbxSectionComponent, DbxSubSectionComponent, DbxIntroActionSectionComponent];\n\n/**\n * Module for container-type components.\n */\n@NgModule({\n imports: [CommonModule, DbxRouterAnchorModule, MatButtonModule, MatRippleModule, MatIconModule],\n declarations,\n exports: declarations\n})\nexport class DbxSectionLayoutModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'dbx-step',\n templateUrl: './step.component.html'\n // TODO: styleUrls: ['./step.scss']\n})\nexport class DbxStepComponent {\n @Input()\n done?: boolean;\n\n @Input()\n step?: number;\n\n @Input()\n text?: string;\n\n @Input()\n hint?: string;\n}\n","<div class=\"step-section\" [ngClass]=\"done ? 'done' : ''\">\n <div class=\"step-section-header\">\n <span class=\"step\">{{ step }}.</span>\n <mat-icon class=\"done-check\" *ngIf=\"done\">done</mat-icon>\n <span class=\"text\">{{ text }}</span>\n <p *ngIf=\"hint\" class=\"hint\">{{ hint }}</p>\n </div>\n <div class=\"step-section-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxStepComponent } from './step.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [DbxStepComponent],\n exports: [DbxStepComponent]\n})\nexport class DbxStepLayoutModule {}\n","import { NgModule } from '@angular/core';\nimport { DbxSectionLayoutModule } from './section/section.layout.module';\nimport { DbxListLayoutModule } from './list/list.layout.module';\nimport { DbxItemLayoutModule } from './item/item.layout.module';\nimport { DbxFlagLayoutModule } from './flag/flag.layout.module';\nimport { DbxContentLayoutModule } from './content/content.layout.module';\nimport { DbxColumnLayoutModule } from './column/column.layout.module';\nimport { DbxCardBoxLayoutModule } from './card/card.box.layout.module';\nimport { DbxBlockLayoutModule } from './block/block.layout.module';\nimport { DbxCompactLayoutModule } from './compact/compact.layout.module';\nimport { DbxStepLayoutModule } from './step/step.layout.module';\nimport { DbxBarLayoutModule } from './bar/bar.layout.module';\nimport { DbxTextModule } from './text/text.module';\nimport { DbxStyleLayoutModule } from './style/style.layout.module';\nimport { DbxFlexLayoutModule } from './flex/flex.layout.module';\n\n@NgModule({\n exports: [DbxBarLayoutModule, DbxBlockLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxCompactLayoutModule, DbxContentLayoutModule, DbxFlagLayoutModule, DbxFlexLayoutModule, DbxItemLayoutModule, DbxListLayoutModule, DbxSectionLayoutModule, DbxStepLayoutModule, DbxStyleLayoutModule, DbxTextModule]\n})\nexport class DbxLayoutModule {}\n","import { GlobalPositionStrategy } from '@angular/cdk/overlay';\n\nexport type PopupPosition = 'center' | 'bottom_left' | 'bottom_right';\n\nexport interface PopupPositionOffset {\n x?: string;\n y?: string;\n}\n\nexport class PopupGlobalPositionStrategy extends GlobalPositionStrategy {\n private _position!: PopupPosition;\n private _offset: PopupPositionOffset = {};\n\n constructor(position: PopupPosition = 'bottom_right', offset?: PopupPositionOffset) {\n super();\n this.setPopupPosition(position, offset);\n }\n\n setPopupOffset(offset?: PopupPositionOffset): void {\n this.setPopupPosition(this._position, offset ?? {});\n }\n\n setPopupPosition(position: PopupPosition, offset?: PopupPositionOffset): void {\n this._resetPositions();\n this._position = position;\n\n if (offset) {\n this._offset = offset;\n }\n\n const offsetX = this._offset.x ?? '0';\n const offsetY = this._offset.y ?? '0';\n\n switch (position) {\n case 'center':\n this.centerHorizontally();\n this.centerVertically();\n break;\n case 'bottom_left':\n this.bottom(offsetY);\n this.left(offsetX);\n break;\n case 'bottom_right':\n this.bottom(offsetY);\n this.right(offsetX);\n break;\n }\n }\n\n private _resetPositions(): void {\n this.top();\n this.bottom();\n this.left();\n this.right();\n }\n}\n","import { Maybe } from '@dereekb/util';\nimport { Observable } from 'rxjs';\n\nexport type DbxPopupKey = string;\n\nexport enum DbxPopupWindowState {\n NORMAL = 'normal',\n MINIMIZED = 'minimized',\n FULLSCREEN = 'fullscreen'\n}\n\nexport abstract class DbxPopupController<O = unknown, I = unknown> {\n abstract readonly key: DbxPopupKey;\n abstract readonly data?: Maybe<I>;\n abstract readonly windowState$: Observable<DbxPopupWindowState>;\n abstract readonly closing$: Observable<boolean>;\n /**\n * Signals for the popup to close.\n */\n abstract close(): void;\n /**\n * Closes the popup and returns the input value.\n */\n abstract return(value?: O): void;\n abstract minimize(): void;\n abstract normalscreen(): void;\n abstract fullscreen(): void;\n}\n","import { DbxPopupKey, DbxPopupController } from './popup';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * Used for coordinating popups and closing/replacing existing ones when a new popup of the same name appears.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxPopupCoordinatorService implements OnDestroy {\n private _popups = new BehaviorSubject<Map<DbxPopupKey, DbxPopupController>>(new Map());\n\n readonly popups$ = this._popups.asObservable();\n\n ngOnDestroy(): void {\n this._popups.complete();\n }\n\n get popups(): Map<DbxPopupKey, DbxPopupController> {\n return this._popups.value;\n }\n\n public addPopup(popup: DbxPopupController): void {\n const key = popup.key;\n\n if (key) {\n this.removePopup(key);\n this._popups.value.set(key, popup);\n this._popups.next(this.popups);\n }\n }\n\n public removePopup(key: DbxPopupKey, popup?: DbxPopupController): void {\n if (key) {\n const existing = this.popups.get(key);\n\n // Remove if there is one existing, and if popup is provided it is the same popup.\n if (existing && (!popup || popup === existing)) {\n existing.close();\n this._popups.value.delete(key);\n this._popups.next(this.popups);\n }\n }\n }\n}\n","import { DbxPopupController } from './popup';\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { DbxPopupCoordinatorService } from './popup.coordinator.service';\nimport { delay, map, shareReplay } from 'rxjs';\n\n/**\n * Used for coordinating popups and closing/replacing existing ones when a new popup of the same name appears.\n */\n@Component({\n selector: 'dbx-popup-coordinator',\n template: `\n <ng-container *ngIf=\"show$ | async\">\n <ng-content></ng-content>\n </ng-container>\n `\n})\nexport class DbxPopupCoordinatorComponent implements OnInit, OnDestroy {\n readonly isPopupForKey$ = this.service.popups$.pipe(\n map((x) => x.get(this.popup.key) === this.popup),\n shareReplay(1)\n );\n readonly show$ = this.isPopupForKey$.pipe(delay(0));\n\n constructor(private readonly service: DbxPopupCoordinatorService, private readonly popup: DbxPopupController) {}\n\n ngOnInit(): void {\n this.service.addPopup(this.popup);\n }\n\n ngOnDestroy(): void {\n this.service.removePopup(this.popup.key, this.popup);\n }\n}\n","import { Component, NgZone, Type, OnDestroy } from '@angular/core';\nimport { NgPopoverRef } from 'ng-overlay-container';\nimport { Maybe, PixelsString } from '@dereekb/util';\nimport { CompactMode, CompactContextStore } from '../../layout';\nimport { BehaviorSubject, Subject, filter, first, map, shareReplay, startWith } from 'rxjs';\nimport { PopupGlobalPositionStrategy, PopupPosition, PopupPositionOffset } from './popup.position.strategy';\nimport { AbstractTransitionWatcherDirective, DbxInjectionComponentConfig, DbxRouterTransitionService } from '@dereekb/dbx-core';\nimport { DbxPopupController, DbxPopupKey, DbxPopupWindowState } from './popup';\n\nexport const APP_POPUP_NORMAL_WIDTH = '700px';\nexport const APP_POPUP_MINIMIZED_WIDTH = '300px';\nexport const APP_POPUP_NORMAL_HEIGHT = 'auto';\n\nexport abstract class DbxPopupComponentController<O, I> extends DbxPopupController<O, I> {\n getClosingValueFn?: (value?: I) => Promise<O>;\n}\n\nexport interface DbxPopupComponentConfig<O, I, T> {\n /**\n * Key used for uniquely identifying a limited instance.\n *\n * Only one popup should exist at a time given a certain key.\n */\n key: DbxPopupKey;\n position?: PopupPosition;\n offset?: PopupPositionOffset;\n closeOnTransition?: boolean;\n componentClass: Type<T>;\n data?: I;\n isDraggable?: boolean;\n init?: (component: T, controller: DbxPopupController<O, I>) => void;\n width?: PixelsString;\n height?: PixelsString;\n}\n\n/**\n * Popup component.\n */\n@Component({\n template: `\n <dbx-popup-coordinator>\n <div class=\"dbx-popup-component\" dbx-injection [config]=\"contentConfig\"></div>\n </dbx-popup-coordinator>\n `,\n providers: [\n {\n provide: DbxPopupController,\n useExisting: DbxPopupComponent\n },\n {\n provide: CompactContextStore\n }\n ]\n})\nexport class DbxPopupComponent<O = unknown, I = unknown, T = unknown> extends AbstractTransitionWatcherDirective implements DbxPopupController<O, I>, OnDestroy {\n private _position: PopupGlobalPositionStrategy;\n\n readonly contentConfig: DbxInjectionComponentConfig = {\n componentClass: this.config.componentClass,\n init: this.config.init ? (instance) => (this.config as Required<DbxPopupComponentConfig<O, I, T>>).init(instance as T, this) : undefined\n };\n\n private readonly closing = new Subject<void>();\n readonly isClosing$ = this.closing.pipe(\n first(),\n map(() => true),\n startWith(false),\n shareReplay(1)\n );\n readonly closing$ = this.isClosing$.pipe(filter((x) => x));\n\n private readonly _windowState = new BehaviorSubject<DbxPopupWindowState>(DbxPopupWindowState.NORMAL);\n readonly windowState$ = this._windowState.asObservable();\n\n getClosingValueFn?: (value?: I) => Promise<O>;\n\n constructor(private popoverRef: NgPopoverRef<DbxPopupComponentConfig<O, I, T>, O>, private compactContextState: CompactContextStore, dbxRouterTransitionService: DbxRouterTransitionService, ngZone: NgZone) {\n super(dbxRouterTransitionService, ngZone);\n\n this.compactContextState.setMode(CompactMode.COMPACT);\n this._position = new PopupGlobalPositionStrategy(this.config.position, this.config.offset);\n this.popoverRef.overlay.updatePositionStrategy(this._position);\n }\n\n get config(): DbxPopupComponentConfig<O, I, T> {\n return this.popoverRef.data;\n }\n\n get key(): DbxPopupKey {\n return this.config.key;\n }\n\n get data(): Maybe<I> {\n return this.config.data;\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this.closing.complete();\n this._windowState.complete();\n }\n\n protected updateForSuccessfulTransition(): void {\n if (this.config.closeOnTransition !== false) {\n this.close();\n }\n }\n\n // Popup Controls\n public close(): void {\n this.closing.next();\n\n if (this.getClosingValueFn) {\n this.getClosingValueFn().then(\n (x) => {\n this.return(x);\n },\n () => {\n this.return();\n }\n );\n } else {\n this.return();\n }\n }\n\n public return(value?: O): void {\n this.closing.next();\n this.popoverRef.close(value);\n }\n\n public minimize(): void {\n this.popoverRef.isDraggable = false;\n this.popoverRef.resize(APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT);\n this.popoverRef.overlay.updatePosition();\n this._windowState.next(DbxPopupWindowState.MINIMIZED);\n }\n\n public normalscreen(): void {\n this.popoverRef.isDraggable = this.config.isDraggable;\n this.popoverRef.resize(APP_POPUP_NORMAL_WIDTH, APP_POPUP_NORMAL_HEIGHT);\n this.popoverRef.overlay.updatePosition();\n this._windowState.next(DbxPopupWindowState.NORMAL);\n }\n\n public fullscreen(): void {\n this.popoverRef.isDraggable = false;\n this.popoverRef.resize('100%', '100%');\n this.popoverRef.overlay.updatePosition();\n this._windowState.next(DbxPopupWindowState.FULLSCREEN);\n }\n}\n","import { Directive } from '@angular/core';\nimport { DbxPopupComponent } from './popup.component';\n\n/**\n * Abstract popup directive.\n */\n@Directive()\nexport abstract class AbstractPopupDirective<O = unknown, I = unknown, T = unknown> {\n constructor(public readonly popup: DbxPopupComponent<O, I, T>) {}\n\n closePopup(): void {\n this.popup.close();\n }\n}\n","import { Component } from '@angular/core';\nimport { map } from 'rxjs';\nimport { DbxPopupController, DbxPopupWindowState } from './popup';\n\n/**\n * Popup content wrapper component.\n */\n@Component({\n selector: 'dbx-popup-content',\n template: `\n <ng-content select=\"[controls]\"></ng-content>\n <div *ngIf=\"showContent$ | async\" class=\"dbx-popup-content-container\">\n <ng-content></ng-content>\n </div>\n `,\n host: {\n class: 'dbx-popup-content'\n }\n})\nexport class DbxPopupContentComponent {\n readonly showContent$ = this.appPopupController.windowState$.pipe(map((x) => x !== DbxPopupWindowState.MINIMIZED));\n\n constructor(private appPopupController: DbxPopupController) {}\n}\n","import { Component } from '@angular/core';\nimport { map } from 'rxjs';\nimport { DbxPopupController, DbxPopupWindowState } from './popup';\n\n/**\n * Popup Control Buttons.\n */\n@Component({\n selector: 'dbx-popup-control-buttons',\n template: `\n <ng-container [ngSwitch]=\"isMinimized$ | async\">\n <dbx-button [flat]=\"true\" *ngSwitchCase=\"false\" icon=\"minimize\" (buttonClick)=\"minimizeClicked()\"></dbx-button>\n <dbx-button [flat]=\"true\" *ngSwitchCase=\"true\" icon=\"maximize\" (buttonClick)=\"maximizeClicked()\"></dbx-button>\n </ng-container>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-container [ngSwitch]=\"isFullscreen$ | async\">\n <dbx-button [flat]=\"true\" *ngSwitchCase=\"false\" icon=\"open_in_full\" (buttonClick)=\"fullscreenClicked()\"></dbx-button>\n <dbx-button [flat]=\"true\" *ngSwitchCase=\"true\" icon=\"close_fullscreen\" (buttonClick)=\"normalscreenClicked()\"></dbx-button>\n </ng-container>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-button [flat]=\"true\" icon=\"close\" color=\"warn\" (buttonClick)=\"closeClicked()\"></dbx-button>\n `,\n host: {\n class: 'dbx-popup-control-buttons'\n }\n})\nexport class DbxPopupControlButtonsComponent {\n readonly isMinimized$ = this.appPopupController.windowState$.pipe(map((x) => x === DbxPopupWindowState.MINIMIZED));\n readonly isFullscreen$ = this.appPopupController.windowState$.pipe(map((x) => x === DbxPopupWindowState.FULLSCREEN));\n\n constructor(private appPopupController: DbxPopupController) {}\n\n minimizeClicked(): void {\n this.appPopupController.minimize();\n }\n\n maximizeClicked(): void {\n this.appPopupController.normalscreen();\n }\n\n fullscreenClicked(): void {\n this.appPopupController.fullscreen();\n }\n\n normalscreenClicked(): void {\n this.appPopupController.normalscreen();\n }\n\n closeClicked(): void {\n this.appPopupController.close();\n }\n}\n","import { Component, Input } from '@angular/core';\n\n/**\n * Popup Controls\n */\n@Component({\n selector: 'dbx-popup-controls',\n template: `\n <span class=\"dbx-popup-controls-header\">{{ header }}</span>\n <div class=\"spacer\"></div>\n <dbx-popup-control-buttons></dbx-popup-control-buttons>\n `,\n host: {\n class: 'dbx-popup-controls'\n }\n})\nexport class DbxPopupControlsComponent {\n @Input()\n header?: string;\n}\n","import { DbxPopupComponent, DbxPopupComponentConfig, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH } from './popup.component';\nimport { Injectable, Injector } from '@angular/core';\nimport { NgOverlayContainerService, NgPopoverRef } from 'ng-overlay-container';\nimport { Overlay } from '@angular/cdk/overlay';\n\nexport interface DbxPopupConfig<O, I, T> extends DbxPopupComponentConfig<O, I, T> {\n injector?: Injector;\n}\n\n/**\n * Used for displaying a popup.\n */\n@Injectable()\nexport class DbxPopupService {\n private _overlayContainerService: NgOverlayContainerService;\n\n constructor(private _overlay: Overlay, private _injector: Injector) {\n this._overlayContainerService = new NgOverlayContainerService(this._overlay, this._injector);\n }\n\n open<O, I, T>(config: DbxPopupConfig<O, I, T>): NgPopoverRef<DbxPopupComponentConfig<O, I, T>, O> {\n const service = config.injector ? new NgOverlayContainerService(this._overlay, config.injector) : this._overlayContainerService;\n const isDraggable = config.isDraggable ?? false;\n const position = config.position ?? 'bottom_right';\n\n return service.open<DbxPopupComponentConfig<O, I, T>, O>({\n content: DbxPopupComponent,\n data: {\n ...config,\n isDraggable,\n position\n },\n configuration: {\n width: config.width ?? APP_POPUP_NORMAL_WIDTH,\n height: config.height ?? APP_POPUP_NORMAL_HEIGHT,\n useGlobalPositionStrategy: true,\n hasBackdrop: false,\n isResizable: false,\n isDraggable\n }\n });\n }\n}\n","import { Directive, Host, HostListener, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';\n\nconst DEFAULT_ACTION_KEY_TRIGGER = 'enter';\n\n/**\n * Directive that triggers the action on a specific key up event.\n *\n * Events/Keys to respond to should be lowercase.\n */\n@Directive({\n selector: '[dbxActionKeyTrigger]'\n})\nexport class DbxActionKeyTriggerDirective<T = unknown, O = unknown> {\n @Input('dbxActionKeyTrigger')\n inputKey: Maybe<string>;\n\n constructor(@Host() public readonly source: DbxActionContextStoreSourceInstance<T, O>) {}\n\n get key(): string {\n return this.inputKey || DEFAULT_ACTION_KEY_TRIGGER;\n }\n\n @HostListener('document:keyup', ['$event'])\n onKeyupHandler(event: KeyboardEvent): void {\n if (event.key && event.key.toLowerCase() === this.key) {\n this.source.trigger();\n }\n }\n}\n","import { forwardRef, Provider, Type } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { Observable } from 'rxjs';\n\nexport abstract class DbxPromptConfirm {\n abstract showDialog(): Observable<Maybe<boolean>>;\n}\n\nexport function provideDbxPromptConfirm<S extends DbxPromptConfirm>(sourceType: Type<S>): Provider[] {\n return [\n {\n provide: DbxPromptConfirm,\n useExisting: forwardRef(() => sourceType)\n }\n ];\n}\n","import { Component, Input } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * Pre-configured prompt.\n */\n@Component({\n selector: 'dbx-prompt',\n template: `\n <div class=\"dbx-prompt\">\n <ng-content select=\"[hero]\"></ng-content>\n <dbx-subsection [header]=\"header\" [hint]=\"prompt\">\n <ng-content></ng-content>\n </dbx-subsection>\n </div>\n `\n})\nexport class DbxPromptComponent {\n @Input()\n header?: Maybe<string>;\n\n @Input()\n prompt?: Maybe<string>;\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\n\nexport enum DbxPromptConfirmTypes {\n /**\n * Dialog is for yes/no.\n */\n NORMAL = 'normal',\n /**\n * Dialog is for deleting something.\n */\n DELETE = 'delete'\n}\n\nexport interface DbxPromptConfirmConfig {\n type?: DbxPromptConfirmTypes;\n title?: string;\n prompt?: string;\n confirmText?: string;\n cancelText?: string;\n}\n\n/**\n * Displays a confirmation dialog.\n */\n@Component({\n selector: 'dbx-prompt-confirm',\n templateUrl: './prompt.confirm.component.html'\n})\nexport class DbxPromptConfirmComponent {\n private _config: DbxPromptConfirmConfig = {};\n\n @Output()\n confirm = new EventEmitter<void>();\n\n @Output()\n cancel = new EventEmitter<void>();\n\n @Input()\n get config(): DbxPromptConfirmConfig {\n return this._config;\n }\n\n set config(config: Maybe<DbxPromptConfirmConfig>) {\n this._config = config ?? {};\n }\n\n onConfirm(): void {\n this.confirm.emit();\n }\n\n onCancel(): void {\n this.cancel.emit();\n }\n}\n","<dbx-prompt [header]=\"config.title\" [prompt]=\"config.prompt\">\n <ng-content></ng-content>\n <button mat-stroked-button (click)=\"onConfirm()\">{{ config.confirmText || 'Confirm' }}</button>\n <dbx-button-spacer></dbx-button-spacer>\n <button mat-stroked-button color=\"warn\" (click)=\"onCancel()\">{{ config.cancelText || 'Cancel' }}</button>\n</dbx-prompt>\n","import { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { Component, OnInit } from '@angular/core';\nimport { AbstractDialogDirective } from '../dialog/abstract.dialog.directive';\nimport { DbxPromptConfirmConfig, DbxPromptConfirmTypes } from './prompt.confirm.component';\nimport { Maybe } from '@dereekb/util';\n\nexport const DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG = {\n title: 'Confirm?',\n type: DbxPromptConfirmTypes.NORMAL\n};\n\nexport interface DbxPromptConfirmDialogConfig extends DbxPromptConfirmConfig {\n component?: DbxInjectionComponentConfig;\n}\n\n@Component({\n template: `\n <dbx-dialog-content>\n <dbx-prompt-confirm [config]=\"config\" (confirm)=\"confirm()\" (cancel)=\"cancel()\">\n <dbx-injection [config]=\"injectionConfig\"></dbx-injection>\n </dbx-prompt-confirm>\n </dbx-dialog-content>\n `\n})\nexport class DbxPromptConfirmDialogComponent extends AbstractDialogDirective<boolean, DbxPromptConfirmDialogConfig> implements OnInit {\n get config(): DbxPromptConfirmDialogConfig {\n return this.data;\n }\n\n get injectionConfig(): Maybe<DbxInjectionComponentConfig> {\n return this.data.component;\n }\n\n static openDialog(matDialog: MatDialog, config?: Maybe<DbxPromptConfirmDialogConfig>): MatDialogRef<DbxPromptConfirmDialogComponent, boolean> {\n const dialogRef = matDialog.open(DbxPromptConfirmDialogComponent, {\n data: config || DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG\n });\n return dialogRef;\n }\n\n confirm(): void {\n this.close(true);\n }\n\n cancel(): void {\n this.close(false);\n }\n}\n","import { Directive, Input } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Maybe } from '@dereekb/util';\nimport { Observable, from } from 'rxjs';\nimport { DbxPromptConfirm, provideDbxPromptConfirm } from './prompt.confirm';\nimport { DbxPromptConfirmConfig } from './prompt.confirm.component';\nimport { DbxPromptConfirmDialogComponent } from './prompt.confirm.dialog.component';\n\n// MARK: Abstract\n/**\n * Directive that when triggered shows a dialog to accept or reject.\n */\n@Directive()\nexport abstract class AbstractPromptConfirmDirective implements DbxPromptConfirm {\n config?: Maybe<DbxPromptConfirmConfig>;\n\n private _dialogRef?: MatDialogRef<DbxPromptConfirmDialogComponent, boolean>;\n private _dialogPromise?: Promise<boolean>;\n\n constructor(protected readonly matDialog: MatDialog) {}\n\n showDialog(): Observable<boolean> {\n if (!this._dialogPromise) {\n this._dialogPromise = new Promise<boolean>((resolve) => {\n this._dialogRef = DbxPromptConfirmDialogComponent.openDialog(this.matDialog, this.config);\n this._dialogRef.afterClosed().subscribe((result: Maybe<boolean>) => {\n this._dialogRef = undefined;\n this._dialogPromise = undefined;\n resolve(this._handleDialogResult(Boolean(result)));\n });\n });\n }\n\n return from(this._dialogPromise);\n }\n\n protected _handleDialogResult(result: boolean): boolean {\n return result;\n }\n}\n\n// MARK: Directive\n/**\n * Directive that shows a confirmation screen.\n */\n@Directive({\n selector: '[dbxPromptConfirm]',\n providers: provideDbxPromptConfirm(DbxPromptConfirmDirective)\n})\nexport class DbxPromptConfirmDirective extends AbstractPromptConfirmDirective {\n @Input('dbxPromptConfirm')\n override config?: Maybe<DbxPromptConfirmConfig>;\n\n constructor(dialog: MatDialog) {\n super(dialog);\n }\n}\n","import { Directive, Host, Input, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AbstractPromptConfirmDirective } from '../interaction/prompt/prompt.confirm.directive';\nimport { DbxPromptConfirmConfig } from '../interaction/prompt/prompt.confirm.component';\nimport { SubscriptionObject } from '@dereekb/rxjs';\nimport { DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';\nimport { Maybe } from '@dereekb/util';\n\n/**\n * DbxActionConfirmDirective configuration.\n */\nexport interface DbxActionConfirmConfig<T = unknown> extends DbxPromptConfirmConfig {\n /**\n * Optionally set the readyValue passed to the instance.\n */\n readyValue?: T;\n}\n\n/**\n * Directive that when triggered shows a dialog to accept or reject.\n *\n * This only works to pass a ready value or reject through, not to work with a button.\n * For button usage, use an appPromptConfirmButton directive.\n */\n@Directive({\n selector: '[dbxActionConfirm]'\n})\nexport class DbxActionConfirmDirective<T = unknown, O = unknown> extends AbstractPromptConfirmDirective implements OnInit, OnDestroy {\n @Input('dbxActionConfirm')\n override config?: Maybe<DbxActionConfirmConfig<T>>;\n\n private _sourceSubscription = new SubscriptionObject();\n\n constructor(@Host() public readonly source: DbxActionContextStoreSourceInstance<T, O>, dialog: MatDialog) {\n super(dialog);\n }\n\n ngOnInit(): void {\n this._sourceSubscription.subscription = this.source.triggered$.subscribe(() => {\n this.showDialog();\n });\n }\n\n ngOnDestroy(): void {\n this._sourceSubscription.destroy();\n }\n\n protected override _handleDialogResult(result: boolean): boolean {\n if (result) {\n this.source.readyValue(this.config?.readyValue as unknown as T);\n } else {\n this.source.reject(undefined);\n }\n\n return result;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'dbx-prompt-box',\n template: `\n <ng-content></ng-content>\n `,\n host: {\n class: 'd-block dbx-prompt-box',\n '[class.elevated]': 'elevated'\n }\n})\nexport class DbxPromptBoxComponent {\n @Input()\n elevated = true;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dbx-prompt-page',\n template: `\n <dbx-content-container grow=\"full\">\n <div class=\"dbx-prompt-page-content-wrap\">\n <ng-content></ng-content>\n </div>\n </dbx-content-container>\n `,\n host: {\n class: 'd-block dbx-prompt-page'\n }\n})\nexport class DbxPromptPageComponent {}\n","import { DbxButtonDirective, DbxButtonInterceptor } from '@dereekb/dbx-core';\nimport { Directive, Host, OnInit } from '@angular/core';\nimport { Observable, map } from 'rxjs';\nimport { DbxPromptConfirm } from './prompt.confirm';\n\n/**\n * Directive that binds together a confirm dialog with the button.\n */\n@Directive({\n selector: '[dbxPromptConfirmButton]'\n})\nexport class DbxPromptConfirmButtonDirective implements OnInit, DbxButtonInterceptor {\n readonly interceptButtonClick: () => Observable<boolean> = () => {\n return this.prompt.showDialog().pipe(map((x) => Boolean(x)));\n };\n\n constructor(@Host() readonly appButton: DbxButtonDirective, @Host() readonly prompt: DbxPromptConfirm) {}\n\n ngOnInit(): void {\n this.appButton.setButtonInterceptor(this);\n }\n}\n","import { DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { DbxButtonModule } from './../../button/button.module';\nimport { DbxPromptComponent } from './prompt.component';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxPromptBoxComponent } from './prompt.box.component';\nimport { DbxPromptPageComponent } from './prompt.page.component';\nimport { DbxTextModule } from '../../layout/text';\nimport { DbxSectionLayoutModule } from '../../layout/section/section.layout.module';\nimport { DbxContentLayoutModule } from '../../layout/content/content.layout.module';\nimport { DbxPromptConfirmComponent as DbxPromptConfirmComponent } from './prompt.confirm.component';\nimport { DbxPromptConfirmDialogComponent as DbxPromptConfirmDialogComponent } from './prompt.confirm.dialog.component';\nimport { DbxPromptConfirmDirective } from './prompt.confirm.directive';\nimport { DbxPromptConfirmButtonDirective } from './prompt.button.confirm.directive';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DbxDialogInteractionModule } from '../dialog/dialog.module';\n\n@NgModule({\n imports: [CommonModule, MatDialogModule, MatButtonModule, DbxTextModule, DbxButtonModule, DbxInjectionComponentModule, DbxDialogInteractionModule, DbxSectionLayoutModule, DbxContentLayoutModule],\n declarations: [DbxPromptComponent, DbxPromptBoxComponent, DbxPromptPageComponent, DbxPromptConfirmComponent, DbxPromptConfirmButtonDirective, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective],\n exports: [DbxPromptComponent, DbxPromptBoxComponent, DbxPromptPageComponent, DbxPromptConfirmComponent, DbxPromptConfirmButtonDirective, DbxPromptConfirmDirective]\n})\nexport class DbxPromptModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { DbxButtonModule } from '../button/button.module';\n// import { DbxErrorModule } from '../error/error.module';\nimport { DbxActionKeyTriggerDirective } from './key.trigger.directive';\nimport { DbxCoreActionModule } from '@dereekb/dbx-core';\nimport { DbxActionConfirmDirective } from './action.confirm.directive';\nimport { DbxPromptModule } from '../interaction/prompt/prompt.module';\n\n@NgModule({\n imports: [CommonModule, DbxCoreActionModule, DbxButtonModule, MatSnackBarModule, MatDialogModule, MatButtonModule, DbxPromptModule],\n declarations: [DbxActionKeyTriggerDirective, DbxActionConfirmDirective],\n exports: [DbxCoreActionModule, DbxActionKeyTriggerDirective, DbxActionConfirmDirective]\n})\nexport class DbxActionModule {}\n","import { DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { DbxPopupCoordinatorComponent } from './popup.coordinator.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgOverlayContainerModule } from 'ng-overlay-container';\nimport { DbxPopupService } from './popup.service';\nimport { DbxPopupContentComponent } from './popup.content.component';\nimport { DbxPopupComponent } from './popup.component';\nimport { DbxRouterAnchorModule } from '../../router';\nimport { DbxActionModule } from '../../action/action.module';\nimport { DbxPopupControlsComponent } from './popup.controls.component';\nimport { DbxPopupControlButtonsComponent } from './popup.controls.buttons.component';\nimport { DbxButtonModule } from '../../button/button.module';\nimport { DbxStyleLayoutModule } from '../../layout/style/style.layout.module';\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatButtonModule, DbxButtonModule, DbxRouterAnchorModule, DbxActionModule, DbxStyleLayoutModule, DbxInjectionComponentModule, NgOverlayContainerModule],\n declarations: [DbxPopupComponent, DbxPopupCoordinatorComponent, DbxPopupContentComponent, DbxPopupControlsComponent, DbxPopupControlButtonsComponent],\n exports: [DbxPopupContentComponent, DbxPopupControlsComponent, DbxPopupControlButtonsComponent],\n providers: [DbxPopupService]\n})\nexport class DbxPopupInteractionModule {}\n","import { NgModule } from '@angular/core';\nimport { DbxDialogInteractionModule } from './dialog/dialog.module';\nimport { DbxPromptModule } from './prompt/prompt.module';\nimport { DbxPopupInteractionModule } from './popup/popup.module';\nimport { DbxPopoverInteractionModule } from './popover/popover.module';\nimport { DbxFilterInteractionModule } from './filter/filter.module';\n\n@NgModule({\n exports: [DbxDialogInteractionModule, DbxFilterInteractionModule, DbxPromptModule, DbxPopoverInteractionModule, DbxPopupInteractionModule]\n})\nexport class DbxInteractionModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxCoreActionModule } from '@dereekb/dbx-core';\nimport { DbxButtonModule } from '../../button';\nimport { DbxPromptModule } from '../../interaction';\nimport { DbxActionSnackbarDirective } from './action.snackbar.directive';\nimport { DbxActionSnackbarComponent } from './action.snackbar.component';\nimport { DbxStyleLayoutModule } from '../../layout/style/style.layout.module';\n\n@NgModule({\n imports: [CommonModule, DbxStyleLayoutModule, DbxCoreActionModule, DbxPromptModule, DbxButtonModule],\n declarations: [DbxActionSnackbarComponent, DbxActionSnackbarDirective],\n exports: [DbxActionSnackbarComponent, DbxActionSnackbarDirective]\n})\nexport class DbxActionSnackbarModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { DbxPromptConfirmConfig, DbxPromptConfirmTypes, AbstractDialogDirective } from '../../interaction';\n\nexport enum DbxActionTransitionSafetyDialogResult {\n SUCCESS,\n STAY,\n DISCARD,\n NONE\n}\n\n/**\n * Dialog that is shown/triggered as part of the DbxActionTransitionSafety\n */\n@Component({\n template: `\n <dbx-prompt-confirm [config]=\"config\" (confirm)=\"confirm()\" (cancel)=\"cancel()\">\n <ng-container>\n <dbx-error dbxActionError></dbx-error>\n <dbx-button text=\"Save Changes\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n </ng-container>\n </dbx-prompt-confirm>\n `\n})\nexport class DbxActionUIRouterTransitionSafetyDialogComponent extends AbstractDialogDirective implements OnInit {\n config: DbxPromptConfirmConfig = {\n type: DbxPromptConfirmTypes.NORMAL,\n title: 'Unsaved Changes',\n prompt: 'You have unsaved changes on this page.',\n confirmText: 'Stay',\n cancelText: 'Discard Changes'\n };\n\n confirm(): void {\n this.dialogRef.close(DbxActionTransitionSafetyDialogResult.STAY);\n }\n\n cancel(): void {\n this.dialogRef.close(DbxActionTransitionSafetyDialogResult.DISCARD);\n }\n}\n","import { Directive, OnInit, OnDestroy, Input, ViewContainerRef } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { HookResult, Transition, TransitionService } from '@uirouter/core';\nimport { Observable, of, race, delay, first, map, mergeMap, tap } from 'rxjs';\nimport { DbxActionContextStoreSourceInstance, canTriggerAction, isIdleActionState } from '@dereekb/dbx-core';\nimport { DbxActionTransitionSafetyDialogResult, DbxActionUIRouterTransitionSafetyDialogComponent } from './transition.safety.dialog.component';\n\n/**\n * How to handle transitions.\n *\n * Values:\n * - none: Nothing occurs.\n * - dialog: Always show a dialog and act based on the result.\n * - auto: Try to auto-trigger if in a triggerable state. If it is modified but in a non-triggerable state, show a dialog. Should be used in conjuction with the auto-saver.\n */\nexport type DbxActionTransitionSafetyType = 'none' | 'dialog' | 'auto';\n\ntype DbxActionTransitionSafetyRaceResult = [boolean | undefined, HookResult | undefined];\n\n/**\n * Context used for preventing a transition from occuring if the action is not complete or is in a modified state.\n *\n * This can be configured to auto-trigger and wait, or show a dialog and wait for the user's feedback before doing anything.\n *\n * NOTE: This dialog only works for uirouter.\n */\n@Directive({\n selector: '[dbxActionTransitionSafety]'\n})\nexport class DbxActionTransitionSafetyDirective<T, O> implements OnInit, OnDestroy {\n @Input('dbxActionTransitionSafety')\n inputSafetyType?: DbxActionTransitionSafetyType;\n\n private _dialogRef?: MatDialogRef<DbxActionUIRouterTransitionSafetyDialogComponent, DbxActionTransitionSafetyDialogResult>;\n private stopWatchingTransition?: () => void;\n\n constructor(public readonly source: DbxActionContextStoreSourceInstance<T, O>, protected readonly transitionService: TransitionService, protected readonly viewContainerRef: ViewContainerRef, protected readonly dialog: MatDialog) {}\n\n get safetyType(): DbxActionTransitionSafetyType {\n return this.inputSafetyType ?? 'dialog';\n }\n\n private get _destroyed(): boolean {\n return !this.stopWatchingTransition;\n }\n\n ngOnInit(): void {\n this.stopWatchingTransition = this.transitionService.onStart({}, (transition: Transition) => {\n return this._handleOnBeforeTransition(transition);\n }) as () => void;\n }\n\n ngOnDestroy(): void {\n if (this.stopWatchingTransition) {\n this.stopWatchingTransition();\n delete this.stopWatchingTransition;\n }\n\n this._closeDialog();\n }\n\n protected _handleOnBeforeTransition(transition: Transition): HookResult {\n return this.source.isModified$\n .pipe(\n first(),\n mergeMap((isModified) => {\n if (isModified) {\n return race([\n // Watch for success to occur. At that point, close everything.\n this.source.success$.pipe(\n first(),\n map(() => [true, undefined] as DbxActionTransitionSafetyRaceResult)\n ),\n this._handleIsModifiedState(transition).pipe(\n first(),\n map((x) => [undefined, x] as DbxActionTransitionSafetyRaceResult)\n )\n ]).pipe(\n map(([saveSuccess, handleResult]: DbxActionTransitionSafetyRaceResult) => {\n if (saveSuccess) {\n return true;\n } else {\n return handleResult;\n }\n }),\n tap(() => this._closeDialog()), // Close dialog if it is still open.\n delay(10) // Delay to allow dialog to close before transition.\n );\n } else {\n return of(true);\n }\n })\n )\n .toPromise()\n .then((x) => x); // Resolve/Flatten potential promise result.\n }\n\n protected _handleIsModifiedState(transition: Transition): Observable<HookResult> {\n const safetyType = this.safetyType;\n let obs: Observable<HookResult>;\n\n // console.log('Safety type: ', safetyType);\n\n switch (safetyType) {\n case 'none':\n obs = of(true); // Do nothing.\n break;\n case 'auto':\n obs = this._autoTrigger(transition);\n break;\n default:\n case 'dialog':\n obs = this._showDialog(transition);\n break;\n }\n\n return obs;\n }\n\n private _autoTrigger(transition: Transition): Observable<HookResult> {\n return this.source.pipeStore((store) =>\n store.state$.pipe(\n delay(20), // Prevent racing with auto-trigger.\n first(),\n mergeMap((state) => {\n if (isIdleActionState(state.actionState)) {\n // If we're in an idle state, get ready to trigger it.\n if (canTriggerAction(state)) {\n store.trigger(); // Try and trigger it.\n }\n }\n\n // Watch for errors. If an error occurs, show the dialog.\n // Success will cause the race in _handleOnBeforeTransition() to trigger and close everything.\n return store.rejected$.pipe(\n first(),\n mergeMap(() => this._showDialog(transition))\n );\n })\n )\n );\n }\n\n private _showDialog(transition: Transition): Observable<HookResult> {\n if (this._destroyed) {\n return of(true);\n }\n\n if (!this._dialogRef) {\n this._dialogRef = this.dialog.open(DbxActionUIRouterTransitionSafetyDialogComponent, {\n viewContainerRef: this.viewContainerRef\n });\n }\n\n return this._dialogRef.afterClosed().pipe(\n first(),\n map((result: DbxActionTransitionSafetyDialogResult | undefined = DbxActionTransitionSafetyDialogResult.STAY) => {\n // Default to Stay if the user clicks outside.\n switch (result) {\n case DbxActionTransitionSafetyDialogResult.DISCARD:\n case DbxActionTransitionSafetyDialogResult.SUCCESS:\n case DbxActionTransitionSafetyDialogResult.NONE:\n return true;\n case DbxActionTransitionSafetyDialogResult.STAY:\n return false;\n }\n })\n );\n }\n\n private _closeDialog(): void {\n if (this._dialogRef) {\n this._dialogRef.close(DbxActionTransitionSafetyDialogResult.NONE);\n }\n\n this._dialogRef = undefined;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxActionUIRouterTransitionSafetyDialogComponent } from './transition.safety.dialog.component';\nimport { DbxActionTransitionSafetyDirective as DbxActionUIRouterTransitionSafetyDirective } from './transition.safety.directive';\nimport { DbxCoreActionModule } from '@dereekb/dbx-core';\nimport { DbxButtonModule } from '../../button';\nimport { DbxPromptModule } from './../../interaction';\nimport { DbxReadableErrorModule } from '../../error';\n\n/**\n * Provides the DbxActionUIRouterTransitionSafetyDirective.\n *\n * NOTE: Only works with UIRouter\n */\n@NgModule({\n imports: [CommonModule, DbxCoreActionModule, DbxPromptModule, DbxButtonModule, DbxReadableErrorModule],\n declarations: [DbxActionUIRouterTransitionSafetyDirective, DbxActionUIRouterTransitionSafetyDialogComponent],\n exports: [DbxActionUIRouterTransitionSafetyDirective]\n})\nexport class DbxActionUIRouterTransitionModule {}\n","import { createAction } from '@ngrx/store';\n\nexport const dbxModelResetState = createAction('[App/Model] Reset State');\n","import { ModelKeyTypeNamePair, ModelKeyTypePair } from '@dereekb/util';\nimport { createAction, props } from '@ngrx/store';\n\nexport interface DbxModelObjectViewedParams {\n modelKeyTypeNamePair: ModelKeyTypeNamePair;\n context?: string;\n}\n\nexport interface DbxModelGoToObjectViewParams {\n modelKeyTypePair: ModelKeyTypePair;\n}\n\nexport const emitObjectViewEvent = createAction('[App/Model/Type] Object Viewed', props<DbxModelObjectViewedParams>());\n","import { createReducer, on } from '@ngrx/store';\n\nimport { DbxModelStateActions } from '../actions';\n\nexport interface DbxModelModuleStateConfiguration {}\n\nexport const stateFeatureKey = 'model.module.config';\n\nexport const initialState: DbxModelModuleStateConfiguration = {\n types: {}\n};\n\nexport const reducer = createReducer(\n initialState,\n on(DbxModelStateActions.dbxModelResetState, () => initialState)\n);\n","import { Action, combineReducers, createFeatureSelector, createSelector } from '@ngrx/store';\n\nimport * as fromObjectModuleConfig from './model.module.config';\nimport { DbxModelModuleStateConfiguration } from './model.module.config';\n\nexport const featureKey = 'app.model';\n\nexport interface DbxModelState {\n [fromObjectModuleConfig.stateFeatureKey]: DbxModelModuleStateConfiguration;\n}\n\nexport interface State {\n [featureKey]: DbxModelState;\n}\n\nexport function reducers(state: DbxModelState | undefined, action: Action) {\n return combineReducers({\n [fromObjectModuleConfig.stateFeatureKey]: fromObjectModuleConfig.reducer\n })(state, action);\n}\n\n// MARK: Context\nexport const selectDbxModelFeature = createFeatureSelector<State, DbxModelState>(featureKey);\n\n// MARK: Module Config\nexport const selectDbxModelFeatureObjectModuleConfig = createSelector(selectDbxModelFeature, (state: DbxModelState) => state[fromObjectModuleConfig.stateFeatureKey]);\n","import { Injectable } from '@angular/core';\nimport { unixTimeNumberForNow } from '@dereekb/date';\nimport { StorageAccessor } from '@dereekb/dbx-core';\nimport { encodeModelKeyTypePair, ModelRelationUtility, Maybe } from '@dereekb/util';\nimport { map, mergeMap, catchError, Observable, of, Subject, tap } from 'rxjs';\nimport { DbxModelViewTrackerEventSet, DbxModelViewTrackerEvent } from './model.tracker';\n\n/**\n * Used for managing DbxModelViewTrackerEvent storage.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxModelViewTrackerStorage {\n static readonly OBJECT_VIEW_TRACKER_STORAGE_LIST_KEY = 'dbxModelViewTrackerEvents';\n static readonly DEFAULT_MAX_EVENTS = 100;\n\n private _newEvent = new Subject<DbxModelViewTrackerEvent>();\n\n readonly newEvent$ = this._newEvent.asObservable();\n\n constructor(readonly storageAccessor: StorageAccessor<DbxModelViewTrackerEventSet>) {}\n\n protected get storageKey(): string {\n return DbxModelViewTrackerStorage.OBJECT_VIEW_TRACKER_STORAGE_LIST_KEY;\n }\n\n protected get maxEventsToKeep(): number {\n return DbxModelViewTrackerStorage.DEFAULT_MAX_EVENTS;\n }\n\n addTrackerEvent(event: DbxModelViewTrackerEvent): Observable<void> {\n const storageKey = this.getStorageKeyForFolder(event.folder);\n return this._getEventSetForStorageKey(storageKey).pipe(\n mergeMap((set) => {\n const nextEvent: DbxModelViewTrackerEvent = {\n d: event.d ?? unixTimeNumberForNow(),\n c: event.c,\n m: event.m\n };\n\n const e = ModelRelationUtility.removeDuplicates(set.e, (x) => encodeModelKeyTypePair(x.m), [encodeModelKeyTypePair(nextEvent.m)]);\n e.push(nextEvent);\n e.sort((a, b) => (b.d ?? 0) - (a.d ?? 0));\n\n return this.storageAccessor\n .set(storageKey, {\n l: Math.max(set.l ?? 0, nextEvent.d as number),\n e: e.slice(0, this.maxEventsToKeep)\n })\n .pipe(tap(() => this._newEvent.next(nextEvent)));\n })\n );\n }\n\n getAllEvents(folder?: Maybe<string>): Observable<DbxModelViewTrackerEvent[]> {\n return this.getEventSet(folder).pipe(map((x) => x.e));\n }\n\n getEventSet(folder?: Maybe<string>): Observable<DbxModelViewTrackerEventSet> {\n const storageKey = this.getStorageKeyForFolder(folder);\n return this._getEventSetForStorageKey(storageKey);\n }\n\n private _getEventSetForStorageKey(storageKey: string): Observable<DbxModelViewTrackerEventSet> {\n return this.storageAccessor.get(storageKey).pipe(\n catchError((e) => {\n return of(undefined);\n }),\n map((result) => result ?? { e: [], l: 0 })\n );\n }\n\n getStorageKeyForFolder(folder?: Maybe<string>): string {\n const storageKey = `${this.storageKey}_${folder ?? 'default'}`;\n return storageKey;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Maybe, ModelKeyTypeNamePair } from '@dereekb/util';\nimport { first, Observable } from 'rxjs';\nimport { DbxModelViewTrackerEvent, DbxModelViewTrackerEventSet } from './model.tracker';\nimport { DbxModelViewTrackerStorage } from './model.tracker.view.storage';\n\n/**\n * Service used for tracking/logging different kinds of events on objects.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxModelTrackerService {\n private _defaultFolder: Maybe<string>;\n\n readonly newEvent$ = this.viewTrackerStorage.newEvent$;\n\n constructor(private readonly viewTrackerStorage: DbxModelViewTrackerStorage) {}\n\n get defaultFolder(): Maybe<string> {\n return this._defaultFolder;\n }\n\n set defaultFolder(folder: Maybe<string>) {\n this._defaultFolder = folder ?? undefined;\n }\n\n // MARK: View\n trackViewedObject(modelKeyTypeNamePair: ModelKeyTypeNamePair, context?: string, folder: Maybe<string> = this._defaultFolder): void {\n this.viewTrackerStorage\n .addTrackerEvent({\n m: modelKeyTypeNamePair,\n c: context,\n folder\n })\n .pipe(first())\n .subscribe();\n }\n\n getAllViewEvents(folder: Maybe<string> = this._defaultFolder): Observable<DbxModelViewTrackerEvent[]> {\n return this.viewTrackerStorage.getAllEvents(folder);\n }\n\n getViewEventSet(folder: Maybe<string> = this._defaultFolder): Observable<DbxModelViewTrackerEventSet> {\n return this.viewTrackerStorage.getEventSet(folder);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\nimport { distinctUntilChanged, filter, map, tap } from 'rxjs';\nimport { onDbxAppAuth } from '@dereekb/dbx-core';\nimport { DbxModelTrackerService } from '../../model.tracker.service';\nimport { onDbxModel } from '..';\n\n/**\n * Used to pass Object Store events to the ObjectTracker.\n */\n@Injectable()\nexport class DbxModelTrackerEffects {\n constructor(private readonly actions$: Actions, private readonly dbxModelTrackerService: DbxModelTrackerService) {}\n\n readonly trackModelViewed$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(onDbxModel.DbxModelStateModelActions.emitObjectViewEvent),\n distinctUntilChanged((a, b) => a?.modelKeyTypeNamePair.key === b?.modelKeyTypeNamePair.key && a?.type === b?.type && a?.context === b?.context),\n tap((x) => {\n this.dbxModelTrackerService.trackViewedObject(x.modelKeyTypeNamePair, x.context);\n })\n ),\n { dispatch: false }\n );\n\n readonly changeTrackerFolderToMatchAuth$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(onDbxAppAuth.DbxAppAuthUserActions.setUserIdentifier),\n map((x) => x.id),\n filter((x) => Boolean(x)),\n distinctUntilChanged(),\n tap((accountId) => {\n this.dbxModelTrackerService.defaultFolder = accountId;\n })\n ),\n { dispatch: false }\n );\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DbxInjectionComponentModule, SimpleStorageAccessorFactory } from '@dereekb/dbx-core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { DbxListLayoutModule } from '../../layout/list/list.layout.module';\nimport { DbxModelViewTrackerEventSet } from './model.tracker';\nimport { DbxModelTrackerService } from './model.tracker.service';\nimport { DbxModelViewTrackerStorage } from './model.tracker.view.storage';\nimport { fromDbxModel } from './state';\nimport { DbxModelTrackerEffects } from './state/effects/tracker.effects';\n\nexport function appObjectViewTrackerStorageFactory(storageAccessorFactory: SimpleStorageAccessorFactory): DbxModelViewTrackerStorage {\n const accessor = storageAccessorFactory.createStorageAccessor<DbxModelViewTrackerEventSet>({\n prefix: 'mtvs'\n });\n\n return new DbxModelViewTrackerStorage(accessor);\n}\n\n/**\n * Contains components related to displaying content related to models identified only by their model key.\n */\n@NgModule({\n imports: [\n //\n CommonModule,\n DbxListLayoutModule,\n DbxInjectionComponentModule,\n EffectsModule.forFeature([DbxModelTrackerEffects]),\n StoreModule.forFeature(fromDbxModel.featureKey, fromDbxModel.reducers)\n ],\n declarations: [],\n exports: []\n})\nexport class DbxModelInfoModule {\n static forRoot(): ModuleWithProviders<DbxModelInfoModule> {\n return {\n ngModule: DbxModelInfoModule,\n providers: [\n DbxModelTrackerService,\n {\n provide: DbxModelViewTrackerStorage,\n useFactory: appObjectViewTrackerStorageFactory,\n deps: [SimpleStorageAccessorFactory]\n }\n ]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { onDbxModel } from './state';\nimport { DbxModelObjectViewedParams } from './state/actions/model.actions';\nimport { DbxModelFullState } from './state/state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxModelObjectStateService {\n constructor(readonly store: Store<DbxModelFullState>) {}\n\n /**\n * Emit a model viewed event.\n */\n emitModelViewEvent({ modelKeyTypeNamePair, context }: DbxModelObjectViewedParams): void {\n this.store.dispatch(onDbxModel.DbxModelStateModelActions.emitObjectViewEvent({ modelKeyTypeNamePair, context }));\n }\n}\n","import { UnixDateTimeNumber, Maybe, ModelKey, ModelKeyTypeNamePair } from '@dereekb/util';\n\n/**\n * Context in which a model was viewed.\n */\nexport type ModelViewContext = string;\n\nexport interface DbxModelViewTrackerEvent {\n /**\n * Event time\n */\n d?: UnixDateTimeNumber;\n /**\n * Context\n */\n c?: ModelViewContext;\n /**\n * Model info\n */\n m: ModelKeyTypeNamePair;\n folder?: Maybe<string>;\n}\n\nexport interface DbxModelViewTrackerEventSet {\n /**\n * The latest date/time number.\n */\n l: UnixDateTimeNumber;\n /**\n * List of events.\n */\n e: DbxModelViewTrackerEvent[];\n}\n\nexport function allDbxModelViewTrackerEventSetModelKeys(eventSet: DbxModelViewTrackerEventSet): ModelKey[] {\n return allDbxModelViewTrackerEventModelKeys(eventSet.e);\n}\n\nexport function allDbxModelViewTrackerEventModelKeys(events: DbxModelViewTrackerEvent[]): ModelKey[] {\n return events.map((y) => y.m.key);\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { capitalCase } from 'change-case';\nimport { map, shareReplay, Observable, BehaviorSubject } from 'rxjs';\nimport { ArrayOrValue, Building, ModelTypeString, useIterableOrValue } from '@dereekb/util';\nimport { DbxModelTypeConfiguration, DbxModelTypeConfigurationMap } from './model.types';\n\nexport interface DbxModelTypeInfo extends Omit<DbxModelTypeConfiguration, 'srefFactory'> {\n /**\n * Whether or not a response is expected for segues\n * to a view for objects of this type.\n */\n canSegueToView: boolean;\n}\n\nexport interface DbxModelTypesMap<I extends DbxModelTypeInfo> {\n readonly [type: string]: I;\n}\n\nexport interface DbxModelIconsMap {\n readonly [type: string]: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxModelTypesService<I extends DbxModelTypeInfo = DbxModelTypeInfo> {\n private _configs = new BehaviorSubject<DbxModelTypeConfigurationMap>({});\n\n static readonly DEFAULT_ICON = 'help_outline';\n\n constructor(readonly injector: Injector) {}\n\n // MARK: Configuration\n addTypeConfigs(configs: ArrayOrValue<DbxModelTypeConfiguration>) {\n const types = {\n ...this._configs.value\n };\n\n useIterableOrValue(configs, (config) => {\n types[config.modelType] = config;\n });\n\n this._configs.next(types);\n }\n\n addTypeConfigsMap(configs: DbxModelTypeConfigurationMap) {\n const newConfig: DbxModelTypeConfigurationMap = {\n ...this._configs.value,\n ...configs\n };\n\n this._configs.next(newConfig);\n }\n\n // MARK: Accessors\n readonly typesMap$ = this._configs.pipe(\n map((types) => {\n const typesMap: Building<DbxModelTypesMap<I>> = {};\n\n Object.keys(types).forEach((type) => {\n const config = types[type];\n\n const label = config.label || capitalCase(type);\n const analyticsName = config.analyticsName || label;\n const sref = config.srefBuilder ? config.srefBuilder(this.injector) : config.sref;\n\n typesMap[type] = {\n ...config,\n sref,\n label,\n analyticsName,\n icon: config.icon ?? DbxModelTypesService.DEFAULT_ICON,\n canSegueToView: Boolean(sref)\n } as I;\n });\n\n return typesMap as DbxModelTypesMap<I>;\n }),\n shareReplay(1)\n );\n\n readonly iconMap$: Observable<DbxModelIconsMap> = this.typesMap$.pipe(\n map((types) => {\n const iconsMap: Building<DbxModelIconsMap> = {};\n\n Object.keys(types).forEach((type) => {\n iconsMap[type] = types[type].icon;\n });\n\n return iconsMap as DbxModelIconsMap;\n }),\n shareReplay(1)\n );\n\n iconForType(type: ModelTypeString): Observable<string> {\n return this.iconMap$.pipe(map((x) => x[type]));\n }\n}\n","import { ChangeDetectorRef, Directive, ElementRef, Injector } from '@angular/core';\n\n/**\n * Used to reference a cdRef, injector, and element at the given element.\n *\n * Generally used for child views to reference a well-placed parent view.\n */\n@Directive({\n selector: '[dbxStructure]'\n})\nexport class DbxStructureDirective {\n constructor(readonly cdRef: ChangeDetectorRef, readonly injector: Injector, readonly element: ElementRef) {}\n}\n","import { Directive } from '@angular/core';\nimport { DbxStructureDirective } from './structure.structure.directive';\n\n/**\n * DbxStructureDirective used specifically on the body of the app.\n */\n@Directive({\n selector: 'dbxBody,[dbxBody]',\n providers: [\n {\n provide: DbxStructureDirective,\n useExisting: DbxBodyDirective\n }\n ]\n})\nexport class DbxBodyDirective extends DbxStructureDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxStructureDirective } from './structure.structure.directive';\nimport { DbxBodyDirective } from './structure.body.directive';\n\nconst declarations = [DbxBodyDirective, DbxStructureDirective];\n\n@NgModule({\n imports: [\n //\n CommonModule\n ],\n declarations,\n exports: declarations\n})\nexport class DbxStructureModule {}\n","import { Injectable, Type } from '@angular/core';\nimport { Maybe, filterMaybeValues, mapIterable } from '@dereekb/util';\nimport { DbxWidgetType } from './widget';\n\nexport interface DbxWidgetEntry {\n /**\n * Widget type to respond to.\n */\n readonly type: DbxWidgetType;\n /**\n * Widget component class to use.\n */\n readonly componentClass: Type<unknown>;\n}\n\n/**\n * Service used to register widgets.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DbxWidgetService {\n private _entries = new Map<DbxWidgetType, DbxWidgetEntry>();\n\n /**\n * Used to register an entry. If an entry with the same type is already registered, this will override it by default.\n *\n * @param entry\n * @param override\n */\n register(entry: DbxWidgetEntry, override: boolean = true): boolean {\n if (override || !this._entries.has(entry.type)) {\n this._entries.set(entry.type, entry);\n return true;\n } else {\n return false;\n }\n }\n\n // MARK: Get\n getWidgetIdentifiers(): DbxWidgetType[] {\n return Array.from(this._entries.keys());\n }\n\n getWidgetEntry(type: DbxWidgetType): Maybe<DbxWidgetEntry> {\n return this._entries.get(type);\n }\n\n getWidgetEntries(types: Iterable<DbxWidgetType>): DbxWidgetEntry[] {\n return filterMaybeValues(mapIterable(types ?? [], (x) => this._entries.get(x)));\n }\n}\n","import { Observable, BehaviorSubject, map } from 'rxjs';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { Maybe } from '@dereekb/util';\nimport { DbxInjectionComponentConfig } from '@dereekb/dbx-core';\nimport { DbxWidgetDataPair } from './widget';\nimport { DbxWidgetService } from './widget.service';\n\n/**\n * Used to display a corresponding widget based on the input data.\n */\n@Component({\n selector: 'dbx-widget-view',\n template: `\n <dbx-injection [config]=\"config$ | async\"></dbx-injection>\n `,\n host: {\n class: 'dbx-widget-view'\n }\n})\nexport class DbxWidgetViewComponent implements OnDestroy {\n private _config = new BehaviorSubject<Maybe<DbxWidgetDataPair>>(undefined);\n\n readonly config$: Observable<Maybe<DbxInjectionComponentConfig>> = this._config.pipe(\n map((pair: Maybe<DbxWidgetDataPair>) => {\n let config: Maybe<DbxInjectionComponentConfig>;\n\n if (pair != null) {\n const entry = this.dbxWidgetService.getWidgetEntry(pair.type);\n\n if (entry) {\n config = {\n componentClass: entry.componentClass,\n data: pair.data\n };\n }\n }\n\n return config;\n })\n );\n\n constructor(readonly dbxWidgetService: DbxWidgetService) {}\n\n ngOnDestroy(): void {\n this._config.complete();\n }\n\n @Input()\n set config(config: Maybe<DbxWidgetDataPair>) {\n this._config.next(config);\n }\n}\n","import { Directive, Inject } from '@angular/core';\nimport { DBX_INJECTION_COMPONENT_DATA } from '@dereekb/dbx-core';\n\n@Directive()\nexport abstract class AbstractDbxWidgetComponent<T> {\n constructor(@Inject(DBX_INJECTION_COMPONENT_DATA) readonly data: T) {}\n}\n","import { Component } from '@angular/core';\nimport { of } from 'rxjs';\nimport { AbstractDbxListWrapperDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, DbxValueListGridViewConfig, AbstractDbxValueListViewItemComponent, provideDbxListView, DbxValueAsListItem, AbstractDbxListGridViewDirective, DEFAULT_DBX_VALUE_LIST_GRID_DIRECTIVE_TEMPLATE } from '../../layout/list';\nimport { DbxWidgetDataPair } from './widget';\n\nexport type DbxWidgetDataPairWithSelection = DbxValueAsListItem<DbxWidgetDataPair>;\n\n/**\n * Demo DbxSelectionListWrapperDirective\n */\n@Component({\n selector: 'dbx-widget-grid',\n template: DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE\n})\nexport class DbxWidgetListGridComponent extends AbstractDbxListWrapperDirective<DbxWidgetDataPair> {\n constructor() {\n super({\n componentClass: DbxWidgetListGridViewComponent,\n defaultSelectionMode: 'view'\n });\n }\n}\n\n@Component({\n selector: 'dbx-widget-grid-view',\n template: DEFAULT_DBX_VALUE_LIST_GRID_DIRECTIVE_TEMPLATE,\n providers: provideDbxListView(DbxWidgetListGridViewComponent)\n})\nexport class DbxWidgetListGridViewComponent extends AbstractDbxListGridViewDirective<DbxWidgetDataPair> {\n readonly config: DbxValueListGridViewConfig<DbxWidgetDataPairWithSelection> = {\n grid: {\n // TODO: Make configurable.\n columns: 'repeat(auto-fill, minmax(120px, 1fr))',\n gap: '8px'\n },\n componentClass: DbxWidgetListGridViewItemComponent,\n mapValuesToItemValues: (x) => of(x.map((y) => ({ ...y, itemValue: y })))\n };\n}\n\n@Component({\n template: `\n <dbx-widget-view [config]=\"itemValue\"></dbx-widget-view>\n `\n})\nexport class DbxWidgetListGridViewItemComponent extends AbstractDbxValueListViewItemComponent<DbxWidgetDataPair> {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DbxInjectionComponentModule } from '@dereekb/dbx-core';\nimport { DbxListLayoutModule } from '../../layout/list/list.layout.module';\nimport { DbxWidgetViewComponent } from './widget.component';\nimport { DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent } from './widget.list.component';\n\n/**\n * Contains components related to displaying \"widgets\" for pieces of data.\n */\n@NgModule({\n imports: [\n //\n CommonModule,\n DbxListLayoutModule,\n DbxInjectionComponentModule\n ],\n declarations: [DbxWidgetViewComponent, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent],\n exports: [DbxWidgetViewComponent, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent]\n})\nexport class DbxWidgetModule {}\n","// export * from './calendar';\nexport * from './model';\nexport * from './structure';\n// export * from './table'; // nothing to export\nexport * from './widget';\n","import { DestroyFunction } from '@dereekb/util';\n\n/**\n * Disables the \"contextmenu\" from popping up in the cdk-overlay-container.\n *\n * @param classes\n * @param onEvent\n * @returns\n */\nexport function disableRightClickInCdkBackdrop(classes: string = 'cdk-overlay-container', onEvent?: (event: MouseEvent) => void): DestroyFunction {\n const eventListener = function (this: Element, event: Event) {\n event.preventDefault();\n onEvent?.(event as MouseEvent);\n };\n\n const target = document.getElementsByClassName(classes).item(0);\n\n if (target) {\n target.addEventListener('contextmenu', eventListener);\n return () => target.removeEventListener('contextmenu', eventListener);\n } else {\n return () => {};\n }\n}\n","import { DbxLoadingModule } from './loading/loading.module';\nimport { NgModule } from '@angular/core';\nimport { DbxButtonModule } from './button';\nimport { DbxActionModule } from './action';\n\n@NgModule({\n exports: [DbxButtonModule, DbxActionModule, DbxLoadingModule]\n})\nexport class DbxWebModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1.DbxSpinnerButtonComponent","i2","i3.DbxSpacerDirective","i5.DbxButtonComponent","i6.DbxButtonSpacerDirective","i1","i2.DbxActionSnackbarService","i3","i1.DbxStyleService","declarations","i1.CompactContextStore","i1.DbxPopoverCoordinatorService","i2.DbxPopoverController","i2.CompactContextStore","i4.DbxWindowKeyDownListenerDirective","i5.DbxStyleDirective","i6.DbxPopoverCoordinatorComponent","i1.DbxPopoverComponent","i1.DbxPopoverContentComponent","i3.DbxPopoverContentComponent","i4.DbxPopoverHeaderComponent","i5.DbxPopoverScrollContentComponent","i7","i8","i1.DbxPopoverService","i1.DbxIconButtonComponent","i3.DbxButtonComponent","i5","i6","i1.DbxRouterWebProviderConfig","i6.DbxAnchorComponent","i1.DbxAnchorListComponent","i3.DbxAnchorComponent","i1.DbxAnchorComponent","i2.DbxAnchorComponent","i1.DbxValueListItemModifier","i2.DbxScreenMediaService","i4.DbxIconButtonComponent","i8.DbxAnchorComponent","i4.DbxAnchorListComponent","i1.DbxSidenavComponent","i1.DbxPagebarComponent","i2.DbxButtonSpacerDirective","i3.DbxSidenavButtonComponent","i3.DbxSidenavPagebarComponent","i3.DbxBarDirective","i1.TwoColumnsContextStore","i2.DbxContentContainerDirective","i4.DbxAnchorComponent","i5.DbxTwoColumnColumnHeadComponent","i1.DbxTwoColumnComponent","i1.DbxFlagComponent","i1.DbxScreenMediaService","i1.DbxLabelComponent","i2.DbxLabelBlockComponent","i1.DbxErrorWidgetService","i1.DbxErrorWidgetViewComponent","i2.DbxPopoverHeaderComponent","i3.DbxPopoverScrollContentComponent","i4.DbxErrorDetailsComponent","i2.DbxReadableErrorComponent","i3.DbxLoadingProgressComponent","i2.DbxBasicLoadingComponent","i2.DbxLoadingComponent","i1.DbxReadableErrorComponent","i1.DbxDetailBlockHeaderComponent","i1.DbxLoadingComponent","i1.DbxListView","i2.DbxValueListItemModifier","i2.DbxListView","i6.DbxValueListItemViewComponent","i5.DbxAnchorComponent","i1.DbxSectionHeaderComponent","i1.DbxPopupCoordinatorService","i2.DbxPopupController","i4.DbxPopupCoordinatorComponent","i1.DbxPopupComponent","i1.DbxPopupController","i4.DbxButtonSpacerDirective","i1.DbxPopupControlButtonsComponent","i1.DbxSubSectionComponent","i3.DbxPromptComponent","i2.DbxDialogContentDirective","i3.DbxPromptConfirmComponent","i1.DbxContentContainerDirective","i2.DbxPromptConfirm","i1.DbxPromptConfirmComponent","i5.DbxReadableErrorComponent","i6.DbxActionErrorDirective","DbxActionUIRouterTransitionSafetyDirective","DbxModelStateActions.dbxModelResetState","fromObjectModuleConfig.stateFeatureKey","fromObjectModuleConfig.reducer","i1.DbxModelViewTrackerStorage","onDbxModel.DbxModelStateModelActions.emitObjectViewEvent","i2.DbxModelTrackerService","fromDbxModel.featureKey","fromDbxModel.reducers","i1.DbxWidgetService","i1.DbxListComponent","i3.DbxValueListGridViewComponent","i4.DbxWidgetViewComponent"],"mappings":"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"}
|