@dereekb/dbx-web 9.17.3 → 9.18.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/calendar/README.md +6 -0
- package/calendar/esm2020/dereekb-dbx-web-calendar.mjs +5 -0
- package/calendar/esm2020/index.mjs +2 -0
- package/calendar/esm2020/lib/calendar.base.component.mjs +44 -0
- package/calendar/esm2020/lib/calendar.component.mjs +57 -0
- package/calendar/esm2020/lib/calendar.mjs +30 -0
- package/calendar/esm2020/lib/calendar.module.mjs +87 -0
- package/calendar/esm2020/lib/calendar.store.mjs +107 -0
- package/calendar/esm2020/lib/index.mjs +6 -0
- package/calendar/fesm2015/dereekb-dbx-web-calendar.mjs +313 -0
- package/calendar/fesm2015/dereekb-dbx-web-calendar.mjs.map +1 -0
- package/calendar/fesm2020/dereekb-dbx-web-calendar.mjs +311 -0
- package/calendar/fesm2020/dereekb-dbx-web-calendar.mjs.map +1 -0
- package/calendar/index.d.ts +1 -0
- package/calendar/lib/calendar.base.component.d.ts +16 -0
- package/{lib/extension/calendar → calendar/lib}/calendar.component.d.ts +5 -22
- package/calendar/lib/calendar.d.ts +6 -0
- package/calendar/lib/calendar.module.d.ts +23 -0
- package/{lib/extension/calendar → calendar/lib}/calendar.store.d.ts +0 -0
- package/{lib/extension/calendar → calendar/lib}/index.d.ts +2 -0
- package/calendar/package.json +36 -0
- package/esm2020/calendar/dereekb-dbx-web-calendar.mjs +5 -0
- package/esm2020/calendar/index.mjs +2 -0
- package/esm2020/calendar/lib/calendar.base.component.mjs +44 -0
- package/esm2020/calendar/lib/calendar.component.mjs +57 -0
- package/esm2020/calendar/lib/calendar.mjs +30 -0
- package/esm2020/calendar/lib/calendar.module.mjs +87 -0
- package/esm2020/calendar/lib/calendar.store.mjs +107 -0
- package/esm2020/calendar/lib/index.mjs +6 -0
- package/esm2020/lib/action/action.confirm.directive.mjs +4 -4
- package/esm2020/lib/action/action.module.mjs +5 -5
- package/esm2020/lib/action/action.progress.component.mjs +4 -4
- package/esm2020/lib/action/key.trigger.directive.mjs +4 -4
- package/esm2020/lib/action/snackbar/action.snackbar.component.mjs +4 -4
- package/esm2020/lib/action/snackbar/action.snackbar.directive.mjs +4 -4
- package/esm2020/lib/action/snackbar/action.snackbar.module.mjs +5 -5
- package/esm2020/lib/action/snackbar/action.snackbar.service.mjs +4 -4
- package/esm2020/lib/action/transition/action.transition.module.mjs +5 -5
- package/esm2020/lib/action/transition/transition.safety.dialog.component.mjs +4 -4
- package/esm2020/lib/action/transition/transition.safety.directive.mjs +4 -4
- package/esm2020/lib/button/button.component.mjs +6 -6
- package/esm2020/lib/button/button.module.mjs +5 -5
- package/esm2020/lib/button/button.spacer.component.mjs +4 -4
- package/esm2020/lib/button/progress/bar.button.component.mjs +5 -5
- package/esm2020/lib/button/progress/base.progress.button.directive.mjs +4 -4
- package/esm2020/lib/button/progress/button.progress.module.mjs +5 -5
- package/esm2020/lib/button/progress/spinner.button.component.mjs +5 -5
- package/esm2020/lib/dbx-web.module.mjs +9 -9
- package/esm2020/lib/error/error.action.directive.mjs +4 -4
- package/esm2020/lib/error/error.component.mjs +4 -4
- package/esm2020/lib/error/error.loading.directive.mjs +4 -4
- package/esm2020/lib/error/error.module.mjs +5 -5
- package/esm2020/lib/extension/index.mjs +1 -2
- package/esm2020/lib/extension/widget/widget.component.mjs +4 -4
- package/esm2020/lib/extension/widget/widget.directive.mjs +4 -4
- package/esm2020/lib/extension/widget/widget.list.component.mjs +10 -10
- package/esm2020/lib/extension/widget/widget.module.mjs +5 -5
- package/esm2020/lib/extension/widget/widget.service.mjs +4 -4
- package/esm2020/lib/interaction/dialog/abstract.dialog.directive.mjs +4 -4
- package/esm2020/lib/interaction/dialog/dialog.action.directive.mjs +4 -4
- package/esm2020/lib/interaction/dialog/dialog.content.close.component.mjs +37 -0
- package/esm2020/lib/interaction/dialog/dialog.content.component.mjs +4 -4
- package/esm2020/lib/interaction/dialog/dialog.content.footer.component.mjs +39 -0
- package/esm2020/lib/interaction/dialog/dialog.module.mjs +12 -8
- package/esm2020/lib/interaction/dialog/index.mjs +3 -1
- package/esm2020/lib/interaction/filter/filter.module.mjs +5 -5
- package/esm2020/lib/interaction/filter/filter.popover.button.component.mjs +4 -4
- package/esm2020/lib/interaction/filter/filter.popover.button.directive.mjs +4 -4
- package/esm2020/lib/interaction/filter/filter.popover.component.mjs +4 -4
- package/esm2020/lib/interaction/filter/filter.preset.list.component.mjs +4 -4
- package/esm2020/lib/interaction/filter/filter.preset.menu.component.mjs +5 -5
- package/esm2020/lib/interaction/filter/filter.preset.mjs +4 -4
- package/esm2020/lib/interaction/filter/filter.wrapper.component.mjs +4 -4
- package/esm2020/lib/interaction/interaction.module.mjs +5 -5
- package/esm2020/lib/interaction/popover/abstract.popover.directive.mjs +4 -4
- package/esm2020/lib/interaction/popover/abstract.popover.ref.directive.mjs +7 -7
- package/esm2020/lib/interaction/popover/popover.action.directive.mjs +4 -4
- package/esm2020/lib/interaction/popover/popover.component.mjs +4 -4
- package/esm2020/lib/interaction/popover/popover.content.component.mjs +4 -4
- package/esm2020/lib/interaction/popover/popover.controls.directive.mjs +4 -4
- package/esm2020/lib/interaction/popover/popover.coordinator.component.mjs +4 -4
- package/esm2020/lib/interaction/popover/popover.coordinator.service.mjs +4 -4
- package/esm2020/lib/interaction/popover/popover.header.component.mjs +4 -4
- package/esm2020/lib/interaction/popover/popover.module.mjs +5 -5
- package/esm2020/lib/interaction/popover/popover.scroll.content.component.mjs +4 -4
- package/esm2020/lib/interaction/popover/popover.service.mjs +4 -4
- package/esm2020/lib/interaction/popup/abstract.popup.directive.mjs +4 -4
- package/esm2020/lib/interaction/popup/popup.component.mjs +4 -4
- package/esm2020/lib/interaction/popup/popup.content.component.mjs +4 -4
- package/esm2020/lib/interaction/popup/popup.controls.buttons.component.mjs +4 -4
- package/esm2020/lib/interaction/popup/popup.controls.component.mjs +4 -4
- package/esm2020/lib/interaction/popup/popup.coordinator.component.mjs +4 -4
- package/esm2020/lib/interaction/popup/popup.coordinator.service.mjs +4 -4
- package/esm2020/lib/interaction/popup/popup.module.mjs +5 -5
- package/esm2020/lib/interaction/popup/popup.service.mjs +4 -4
- package/esm2020/lib/interaction/prompt/prompt.box.component.mjs +4 -4
- package/esm2020/lib/interaction/prompt/prompt.button.confirm.directive.mjs +4 -4
- package/esm2020/lib/interaction/prompt/prompt.component.mjs +4 -4
- package/esm2020/lib/interaction/prompt/prompt.confirm.component.mjs +4 -4
- package/esm2020/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +4 -4
- package/esm2020/lib/interaction/prompt/prompt.confirm.directive.mjs +7 -7
- package/esm2020/lib/interaction/prompt/prompt.module.mjs +5 -5
- package/esm2020/lib/interaction/prompt/prompt.page.component.mjs +4 -4
- package/esm2020/lib/keypress/keydown.listener.directive.mjs +4 -4
- package/esm2020/lib/keypress/keypress.module.mjs +5 -5
- package/esm2020/lib/layout/bar/bar.directive.mjs +4 -4
- package/esm2020/lib/layout/bar/bar.header.component.mjs +4 -4
- package/esm2020/lib/layout/bar/bar.layout.module.mjs +5 -5
- package/esm2020/lib/layout/bar/pagebar.component.mjs +4 -4
- package/esm2020/lib/layout/block/block.layout.module.mjs +5 -5
- package/esm2020/lib/layout/block/two.block.component.mjs +4 -4
- package/esm2020/lib/layout/card/card.box.component.mjs +4 -4
- package/esm2020/lib/layout/card/card.box.container.component.mjs +4 -4
- package/esm2020/lib/layout/card/card.box.layout.module.mjs +5 -5
- package/esm2020/lib/layout/column/column.layout.module.mjs +5 -5
- package/esm2020/lib/layout/column/one/one.column.component.mjs +4 -4
- package/esm2020/lib/layout/column/one/one.column.module.mjs +5 -5
- package/esm2020/lib/layout/column/two/two.column.back.directive.mjs +4 -4
- package/esm2020/lib/layout/column/two/two.column.component.mjs +4 -4
- package/esm2020/lib/layout/column/two/two.column.context.directive.mjs +4 -4
- package/esm2020/lib/layout/column/two/two.column.full.left.directive.mjs +4 -4
- package/esm2020/lib/layout/column/two/two.column.head.component.mjs +4 -4
- package/esm2020/lib/layout/column/two/two.column.module.mjs +5 -5
- package/esm2020/lib/layout/column/two/two.column.right.component.mjs +4 -4
- package/esm2020/lib/layout/column/two/two.column.sref.directive.mjs +4 -4
- package/esm2020/lib/layout/column/two/two.column.sref.showright.directive.mjs +4 -4
- package/esm2020/lib/layout/column/two/two.column.store.mjs +4 -4
- package/esm2020/lib/layout/compact/compact.directive.mjs +4 -4
- package/esm2020/lib/layout/compact/compact.layout.module.mjs +5 -5
- package/esm2020/lib/layout/compact/compact.store.mjs +4 -4
- package/esm2020/lib/layout/content/content.border.directive.mjs +4 -4
- package/esm2020/lib/layout/content/content.box.directive.mjs +4 -4
- package/esm2020/lib/layout/content/content.container.directive.mjs +4 -4
- package/esm2020/lib/layout/content/content.directive.mjs +4 -4
- package/esm2020/lib/layout/content/content.elevate.directive.mjs +4 -4
- package/esm2020/lib/layout/content/content.layout.module.mjs +5 -5
- package/esm2020/lib/layout/content/content.page.directive.mjs +4 -4
- package/esm2020/lib/layout/flag/flag.component.mjs +4 -4
- package/esm2020/lib/layout/flag/flag.layout.module.mjs +5 -5
- package/esm2020/lib/layout/flag/flag.prompt.component.mjs +4 -4
- package/esm2020/lib/layout/flex/flex.group.directive.mjs +4 -4
- package/esm2020/lib/layout/flex/flex.layout.module.mjs +5 -5
- package/esm2020/lib/layout/flex/flex.size.directive.mjs +4 -4
- package/esm2020/lib/layout/item/item.icon.component.mjs +4 -4
- package/esm2020/lib/layout/item/item.layout.module.mjs +5 -5
- package/esm2020/lib/layout/layout.module.mjs +5 -5
- package/esm2020/lib/layout/list/list.component.mjs +7 -7
- package/esm2020/lib/layout/list/list.content.empty.component.mjs +4 -4
- package/esm2020/lib/layout/list/list.directive.mjs +7 -7
- package/esm2020/lib/layout/list/list.grid.view.component.mjs +10 -10
- package/esm2020/lib/layout/list/list.grid.view.directive.mjs +4 -4
- package/esm2020/lib/layout/list/list.layout.module.mjs +5 -5
- package/esm2020/lib/layout/list/list.view.directive.mjs +4 -4
- package/esm2020/lib/layout/list/list.view.selection.directive.mjs +4 -4
- package/esm2020/lib/layout/list/list.view.value.component.mjs +7 -7
- package/esm2020/lib/layout/list/list.view.value.directive.mjs +4 -4
- package/esm2020/lib/layout/list/list.view.value.item.directive.mjs +4 -4
- package/esm2020/lib/layout/list/list.view.value.modifier.directive.mjs +7 -7
- package/esm2020/lib/layout/list/list.view.value.modifier.ripple.directive.mjs +4 -4
- package/esm2020/lib/layout/list/list.view.value.modifier.selection.directive.mjs +4 -4
- package/esm2020/lib/layout/list/list.view.value.selection.component.mjs +7 -7
- package/esm2020/lib/layout/section/section.component.mjs +4 -4
- package/esm2020/lib/layout/section/section.header.component.mjs +4 -4
- package/esm2020/lib/layout/section/section.intro.component.mjs +4 -4
- package/esm2020/lib/layout/section/section.layout.module.mjs +5 -5
- package/esm2020/lib/layout/section/section.page.component.mjs +4 -4
- package/esm2020/lib/layout/section/subsection.component.mjs +4 -4
- package/esm2020/lib/layout/step/step.component.mjs +4 -4
- package/esm2020/lib/layout/step/step.layout.module.mjs +5 -5
- package/esm2020/lib/layout/style/spacer.directive.mjs +4 -4
- package/esm2020/lib/layout/style/style.body.directive.mjs +4 -4
- package/esm2020/lib/layout/style/style.directive.mjs +4 -4
- package/esm2020/lib/layout/style/style.layout.module.mjs +5 -5
- package/esm2020/lib/layout/style/style.service.mjs +4 -4
- package/esm2020/lib/layout/style/style.set.directive.mjs +4 -4
- package/esm2020/lib/layout/text/form.description.component.mjs +4 -4
- package/esm2020/lib/layout/text/hint.component.mjs +4 -4
- package/esm2020/lib/layout/text/icon.spacer.component.mjs +4 -4
- package/esm2020/lib/layout/text/label.component.mjs +4 -4
- package/esm2020/lib/layout/text/linkify.component.mjs +4 -4
- package/esm2020/lib/layout/text/note.component.mjs +4 -4
- package/esm2020/lib/layout/text/notice.component.mjs +4 -4
- package/esm2020/lib/layout/text/ok.component.mjs +4 -4
- package/esm2020/lib/layout/text/success.component.mjs +4 -4
- package/esm2020/lib/layout/text/text.chips.component.mjs +4 -4
- package/esm2020/lib/layout/text/text.module.mjs +5 -5
- package/esm2020/lib/layout/text/warn.component.mjs +4 -4
- package/esm2020/lib/loading/basic-loading.component.mjs +4 -4
- package/esm2020/lib/loading/loading-progress.component.mjs +4 -4
- package/esm2020/lib/loading/loading.action.directive.mjs +4 -4
- package/esm2020/lib/loading/loading.component.mjs +4 -4
- package/esm2020/lib/loading/loading.module.mjs +5 -5
- package/esm2020/lib/router/layout/anchor/anchor.component.mjs +4 -4
- package/esm2020/lib/router/layout/anchor/anchor.content.component.mjs +4 -4
- package/esm2020/lib/router/layout/anchor/anchor.icon.component.mjs +4 -4
- package/esm2020/lib/router/layout/anchor/anchor.link.component.mjs +4 -4
- package/esm2020/lib/router/layout/anchor/anchor.module.mjs +5 -5
- package/esm2020/lib/router/layout/anchor/anchor.segue.directive.mjs +4 -4
- package/esm2020/lib/router/layout/anchorlist/anchorlist.component.mjs +4 -4
- package/esm2020/lib/router/layout/anchorlist/anchorlist.module.mjs +5 -5
- package/esm2020/lib/router/layout/layout.module.mjs +5 -5
- package/esm2020/lib/router/layout/list/list.module.mjs +5 -5
- package/esm2020/lib/router/layout/list/router.list.directive.mjs +4 -4
- package/esm2020/lib/router/layout/navbar/navbar.component.mjs +4 -4
- package/esm2020/lib/router/layout/navbar/navbar.module.mjs +5 -5
- package/esm2020/lib/router/layout/sidenav/sidenav.button.component.mjs +4 -4
- package/esm2020/lib/router/layout/sidenav/sidenav.component.mjs +4 -4
- package/esm2020/lib/router/layout/sidenav/sidenav.module.mjs +5 -5
- package/esm2020/lib/router/layout/sidenav/sidenav.page.component.mjs +4 -4
- package/esm2020/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +4 -4
- package/esm2020/lib/router/provider/ngrouter/anchor.component.mjs +4 -4
- package/esm2020/lib/router/provider/ngrouter/angular.router.module.mjs +5 -5
- package/esm2020/lib/router/provider/uirouter/anchor.component.mjs +4 -4
- package/esm2020/lib/router/provider/uirouter/uirouter.router.module.mjs +5 -5
- package/esm2020/lib/screen/screen.module.mjs +5 -5
- package/esm2020/lib/screen/screen.service.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.cdref.service.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.change.service.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.layout.component.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.layout.drawer.component.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.marker.component.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.markers.component.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.menu.component.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.module.mjs +5 -5
- package/esm2020/mapbox/lib/mapbox.service.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.store.map.directive.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.store.mjs +4 -4
- package/esm2020/mapbox/lib/mapbox.store.provide.mjs +7 -7
- package/fesm2015/dereekb-dbx-web-calendar.mjs +313 -0
- package/fesm2015/dereekb-dbx-web-calendar.mjs.map +1 -0
- package/fesm2015/dereekb-dbx-web-mapbox.mjs +40 -40
- package/fesm2015/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/fesm2015/dereekb-dbx-web.mjs +709 -880
- package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-web-calendar.mjs +311 -0
- package/fesm2020/dereekb-dbx-web-calendar.mjs.map +1 -0
- package/fesm2020/dereekb-dbx-web-mapbox.mjs +40 -40
- package/fesm2020/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-web.mjs +709 -880
- package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
- package/lib/button/_button.scss +9 -0
- package/lib/button/progress/spinner.button.component.scss +2 -0
- package/lib/extension/calendar/_calendar.scss +21 -1
- package/lib/extension/calendar/style/_variables.scss +24 -0
- package/lib/extension/calendar/style/month/calendar-month-view.scss +30 -0
- package/lib/extension/index.d.ts +0 -1
- package/lib/interaction/dialog/_dialog.scss +18 -0
- package/lib/interaction/dialog/dialog.content.close.component.d.ts +12 -0
- package/lib/interaction/dialog/dialog.content.footer.component.d.ts +13 -0
- package/lib/interaction/dialog/dialog.module.d.ts +7 -3
- package/lib/interaction/dialog/index.d.ts +2 -0
- package/lib/interaction/filter/filter.preset.menu.component.d.ts +2 -3
- package/lib/layout/style/_style.scss +5 -0
- package/mapbox/esm2020/lib/mapbox.cdref.service.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.change.service.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.layout.component.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.layout.drawer.component.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.marker.component.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.markers.component.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.menu.component.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.module.mjs +5 -5
- package/mapbox/esm2020/lib/mapbox.service.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.store.map.directive.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.store.mjs +4 -4
- package/mapbox/esm2020/lib/mapbox.store.provide.mjs +7 -7
- package/mapbox/fesm2015/dereekb-dbx-web-mapbox.mjs +40 -40
- package/mapbox/fesm2015/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/mapbox/fesm2020/dereekb-dbx-web-mapbox.mjs +40 -40
- package/mapbox/fesm2020/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/mapbox/package.json +3 -3
- package/package.json +14 -7
- package/esm2020/lib/extension/calendar/calendar.component.mjs +0 -86
- package/esm2020/lib/extension/calendar/calendar.module.mjs +0 -72
- package/esm2020/lib/extension/calendar/calendar.store.mjs +0 -107
- package/esm2020/lib/extension/calendar/index.mjs +0 -4
- package/lib/extension/calendar/calendar.module.d.ts +0 -22
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyZWVrYi1kYngtd2ViLWNhbGVuZGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9jYWxlbmRhci9zcmMvZGVyZWVrYi1kYngtd2ViLWNhbGVuZGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL2NhbGVuZGFyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { isSameMonth } from 'date-fns';
|
|
3
|
+
import { DbxCalendarStore } from './calendar.store';
|
|
4
|
+
import { map, withLatestFrom } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./calendar.store";
|
|
7
|
+
import * as i2 from "@angular/material/icon";
|
|
8
|
+
import * as i3 from "@angular/material/button";
|
|
9
|
+
import * as i4 from "@dereekb/dbx-web";
|
|
10
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
11
|
+
import * as i6 from "@angular/common";
|
|
12
|
+
import * as i7 from "angular-calendar";
|
|
13
|
+
export class DbxCalendarBaseComponent {
|
|
14
|
+
constructor(calendarStore) {
|
|
15
|
+
this.calendarStore = calendarStore;
|
|
16
|
+
this.viewDate$ = this.calendarStore.date$;
|
|
17
|
+
this.activeDayIsOpen$ = this.calendarStore.eventsForDateState$.pipe(withLatestFrom(this.calendarStore.date$), map(([x, date]) => {
|
|
18
|
+
if (x.events.length && isSameMonth(x.date, date)) {
|
|
19
|
+
return !x.dateTappedTwice;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}));
|
|
23
|
+
this.displayType$ = this.calendarStore.displayType$;
|
|
24
|
+
}
|
|
25
|
+
todayClicked() {
|
|
26
|
+
this.calendarStore.tapDay(new Date());
|
|
27
|
+
}
|
|
28
|
+
nextButtonClicked() {
|
|
29
|
+
this.calendarStore.tapNext();
|
|
30
|
+
}
|
|
31
|
+
previousButtonClicked() {
|
|
32
|
+
this.calendarStore.tapPrevious();
|
|
33
|
+
}
|
|
34
|
+
typeToggleChanged(event) {
|
|
35
|
+
this.calendarStore.setDisplayType(event.value);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
DbxCalendarBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarBaseComponent, deps: [{ token: i1.DbxCalendarStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
DbxCalendarBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxCalendarBaseComponent, selector: "dbx-calendar-base", ngImport: i0, template: "<div class=\"dbx-calendar\">\n <h3 class=\"dbx-calendar-title\">{{ (viewDate$ | async)! | calendarDate: (displayType$ | async) + 'ViewTitle':'en' }}</h3>\n <div class=\"dbx-calendar-header\">\n <div class=\"dbx-calendar-controls\" fxLayout=\"row\">\n <span class=\"dbx-calendar-controls-left\" fxFlex=\"nogrow\">\n <button mat-stroked-button (click)=\"todayClicked()\">Today</button>\n <dbx-button-spacer></dbx-button-spacer>\n <button mat-icon-button [attr.aria-label]=\"'Previous ' + (displayType$ | async) + ' button'\" (click)=\"previousButtonClicked()\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n <button mat-icon-button [attr.aria-label]=\"'Next' + (displayType$ | async)! + ' button'\" (click)=\"nextButtonClicked()\">\n <mat-icon>navigate_next</mat-icon>\n </button>\n </span>\n <span class=\"spacer\"></span>\n <span class=\"dbx-calendar-controls-right\" fxFlex=\"nogrow\">\n <ng-content select=\"[controls]\"></ng-content>\n </span>\n </div>\n </div>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.ɵCalendarDatePipe, name: "calendarDate" }] });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarBaseComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'dbx-calendar-base', template: "<div class=\"dbx-calendar\">\n <h3 class=\"dbx-calendar-title\">{{ (viewDate$ | async)! | calendarDate: (displayType$ | async) + 'ViewTitle':'en' }}</h3>\n <div class=\"dbx-calendar-header\">\n <div class=\"dbx-calendar-controls\" fxLayout=\"row\">\n <span class=\"dbx-calendar-controls-left\" fxFlex=\"nogrow\">\n <button mat-stroked-button (click)=\"todayClicked()\">Today</button>\n <dbx-button-spacer></dbx-button-spacer>\n <button mat-icon-button [attr.aria-label]=\"'Previous ' + (displayType$ | async) + ' button'\" (click)=\"previousButtonClicked()\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n <button mat-icon-button [attr.aria-label]=\"'Next' + (displayType$ | async)! + ' button'\" (click)=\"nextButtonClicked()\">\n <mat-icon>navigate_next</mat-icon>\n </button>\n </span>\n <span class=\"spacer\"></span>\n <span class=\"dbx-calendar-controls-right\" fxFlex=\"nogrow\">\n <ng-content select=\"[controls]\"></ng-content>\n </span>\n </div>\n </div>\n <ng-content></ng-content>\n</div>\n" }]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.DbxCalendarStore }]; } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuYmFzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuYmFzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQU8zQyxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQyxZQUE0QixhQUFrQztRQUFsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFmckQsY0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBRXJDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUNyRSxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFDeEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNoRCxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQzthQUMzQjtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVPLGlCQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFFUyxDQUFDO0lBRWxFLFlBQVk7UUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUE0QjtRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7c0hBaENVLHdCQUF3QjswR0FBeEIsd0JBQXdCLHlEQ1ZyQyx5bENBc0JBOzRGRFphLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzU2FtZU1vbnRoIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgRGJ4Q2FsZW5kYXJTdG9yZSB9IGZyb20gJy4vY2FsZW5kYXIuc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1jYWxlbmRhci1iYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmJhc2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieENhbGVuZGFyQmFzZUNvbXBvbmVudDxUPiB7XG4gIHJlYWRvbmx5IHZpZXdEYXRlJCA9IHRoaXMuY2FsZW5kYXJTdG9yZS5kYXRlJDtcblxuICByZWFkb25seSBhY3RpdmVEYXlJc09wZW4kID0gdGhpcy5jYWxlbmRhclN0b3JlLmV2ZW50c0ZvckRhdGVTdGF0ZSQucGlwZShcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmNhbGVuZGFyU3RvcmUuZGF0ZSQpLFxuICAgIG1hcCgoW3gsIGRhdGVdKSA9PiB7XG4gICAgICBpZiAoeC5ldmVudHMubGVuZ3RoICYmIGlzU2FtZU1vbnRoKHguZGF0ZSwgZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuICF4LmRhdGVUYXBwZWRUd2ljZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheVR5cGUkID0gdGhpcy5jYWxlbmRhclN0b3JlLmRpc3BsYXlUeXBlJDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgY2FsZW5kYXJTdG9yZTogRGJ4Q2FsZW5kYXJTdG9yZTxUPikge31cblxuICB0b2RheUNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0b3JlLnRhcERheShuZXcgRGF0ZSgpKTtcbiAgfVxuXG4gIG5leHRCdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJTdG9yZS50YXBOZXh0KCk7XG4gIH1cblxuICBwcmV2aW91c0J1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0b3JlLnRhcFByZXZpb3VzKCk7XG4gIH1cblxuICB0eXBlVG9nZ2xlQ2hhbmdlZChldmVudDogTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0b3JlLnNldERpc3BsYXlUeXBlKGV2ZW50LnZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRieC1jYWxlbmRhclwiPlxuICA8aDMgY2xhc3M9XCJkYngtY2FsZW5kYXItdGl0bGVcIj57eyAodmlld0RhdGUkIHwgYXN5bmMpISB8IGNhbGVuZGFyRGF0ZTogKGRpc3BsYXlUeXBlJCB8IGFzeW5jKSArICdWaWV3VGl0bGUnOidlbicgfX08L2gzPlxuICA8ZGl2IGNsYXNzPVwiZGJ4LWNhbGVuZGFyLWhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtY2FsZW5kYXItY29udHJvbHNcIiBmeExheW91dD1cInJvd1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkYngtY2FsZW5kYXItY29udHJvbHMtbGVmdFwiIGZ4RmxleD1cIm5vZ3Jvd1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwidG9kYXlDbGlja2VkKClcIj5Ub2RheTwvYnV0dG9uPlxuICAgICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInUHJldmlvdXMgJyArIChkaXNwbGF5VHlwZSQgfCBhc3luYykgKyAnIGJ1dHRvbidcIiAoY2xpY2spPVwicHJldmlvdXNCdXR0b25DbGlja2VkKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+bmF2aWdhdGVfYmVmb3JlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFthdHRyLmFyaWEtbGFiZWxdPVwiJ05leHQnICsgKGRpc3BsYXlUeXBlJCB8IGFzeW5jKSEgKyAnIGJ1dHRvbidcIiAoY2xpY2spPVwibmV4dEJ1dHRvbkNsaWNrZWQoKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5uYXZpZ2F0ZV9uZXh0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNwYWNlclwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LWNhbGVuZGFyLWNvbnRyb2xzLXJpZ2h0XCIgZnhGbGV4PVwibm9ncm93XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjb250cm9sc11cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { isSameMonth } from 'date-fns';
|
|
3
|
+
import { DbxCalendarStore } from './calendar.store';
|
|
4
|
+
import { map, shareReplay, withLatestFrom } from 'rxjs';
|
|
5
|
+
import { prepareAndSortCalendarEvents } from './calendar';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./calendar.store";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "@angular/material/button-toggle";
|
|
10
|
+
import * as i4 from "angular-calendar";
|
|
11
|
+
import * as i5 from "@angular/flex-layout/extended";
|
|
12
|
+
import * as i6 from "./calendar.base.component";
|
|
13
|
+
export class DbxCalendarComponent {
|
|
14
|
+
constructor(calendarStore) {
|
|
15
|
+
this.calendarStore = calendarStore;
|
|
16
|
+
this.clickEvent = new EventEmitter();
|
|
17
|
+
this.viewDate$ = this.calendarStore.date$;
|
|
18
|
+
this.events$ = this.calendarStore.visibleEvents$.pipe(map(prepareAndSortCalendarEvents), shareReplay(1));
|
|
19
|
+
this.activeDayIsOpen$ = this.calendarStore.eventsForDateState$.pipe(withLatestFrom(this.calendarStore.date$), map(([x, date]) => {
|
|
20
|
+
if (x.events.length && isSameMonth(x.date, date)) {
|
|
21
|
+
return !x.dateTappedTwice;
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
24
|
+
}));
|
|
25
|
+
this.displayType$ = this.calendarStore.displayType$;
|
|
26
|
+
}
|
|
27
|
+
ngOnDestroy() {
|
|
28
|
+
this.clickEvent.complete();
|
|
29
|
+
}
|
|
30
|
+
todayClicked() {
|
|
31
|
+
this.dayClicked({ date: new Date() });
|
|
32
|
+
}
|
|
33
|
+
nextButtonClicked() {
|
|
34
|
+
this.calendarStore.tapNext();
|
|
35
|
+
}
|
|
36
|
+
previousButtonClicked() {
|
|
37
|
+
this.calendarStore.tapPrevious();
|
|
38
|
+
}
|
|
39
|
+
dayClicked({ date }) {
|
|
40
|
+
this.calendarStore.tapDay(date);
|
|
41
|
+
}
|
|
42
|
+
eventClicked(action, event) {
|
|
43
|
+
this.clickEvent.emit({ action, event });
|
|
44
|
+
}
|
|
45
|
+
typeToggleChanged(event) {
|
|
46
|
+
this.calendarStore.setDisplayType(event.value);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
DbxCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarComponent, deps: [{ token: i1.DbxCalendarStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
DbxCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxCalendarComponent, selector: "dbx-calendar", outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<dbx-calendar-base>\n <ng-container controls>\n <mat-button-toggle-group name=\"calendarDisplayStyle\" [value]=\"(displayType$ | async)!\" (change)=\"typeToggleChanged($event)\" aria-label=\"Display Style\">\n <mat-button-toggle value=\"month\">Month</mat-button-toggle>\n <mat-button-toggle value=\"week\">Week</mat-button-toggle>\n <mat-button-toggle value=\"day\">Day</mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n <div class=\"dbx-calendar-content\" [ngClass]=\"'dbx-calendar-content-' + (displayType$ | async)!\" [ngSwitch]=\"displayType$ | async\">\n <mwl-calendar-month-view *ngSwitchCase=\"'month'\" [viewDate]=\"(viewDate$ | async)!\" [events]=\"(events$ | async)!\" [activeDayIsOpen]=\"(activeDayIsOpen$ | async)!\" (dayClicked)=\"dayClicked($event.day)\" (eventClicked)=\"eventClicked('Clicked', $event.event)\"></mwl-calendar-month-view>\n </div>\n</dbx-calendar-base>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i4.CalendarMonthViewComponent, selector: "mwl-calendar-month-view", inputs: ["viewDate", "events", "excludeDays", "activeDayIsOpen", "activeDay", "refresh", "locale", "tooltipPlacement", "tooltipTemplate", "tooltipAppendToBody", "tooltipDelay", "weekStartsOn", "headerTemplate", "cellTemplate", "openDayEventsTemplate", "eventTitleTemplate", "eventActionsTemplate", "weekendDays"], outputs: ["beforeViewRender", "dayClicked", "eventClicked", "columnHeaderClicked", "eventTimesChanged"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i6.DbxCalendarBaseComponent, selector: "dbx-calendar-base" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: 'dbx-calendar', template: "<dbx-calendar-base>\n <ng-container controls>\n <mat-button-toggle-group name=\"calendarDisplayStyle\" [value]=\"(displayType$ | async)!\" (change)=\"typeToggleChanged($event)\" aria-label=\"Display Style\">\n <mat-button-toggle value=\"month\">Month</mat-button-toggle>\n <mat-button-toggle value=\"week\">Week</mat-button-toggle>\n <mat-button-toggle value=\"day\">Day</mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n <div class=\"dbx-calendar-content\" [ngClass]=\"'dbx-calendar-content-' + (displayType$ | async)!\" [ngSwitch]=\"displayType$ | async\">\n <mwl-calendar-month-view *ngSwitchCase=\"'month'\" [viewDate]=\"(viewDate$ | async)!\" [events]=\"(events$ | async)!\" [activeDayIsOpen]=\"(activeDayIsOpen$ | async)!\" (dayClicked)=\"dayClicked($event.day)\" (eventClicked)=\"eventClicked('Clicked', $event.event)\"></mwl-calendar-month-view>\n </div>\n</dbx-calendar-base>\n" }]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.DbxCalendarStore }]; }, propDecorators: { clickEvent: [{
|
|
55
|
+
type: Output
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEQsT0FBTyxFQUFvQiw0QkFBNEIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7QUFNNUUsTUFBTSxPQUFPLG9CQUFvQjtJQXFCL0IsWUFBcUIsYUFBa0M7UUFBbEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBbkJ2RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFNUMsY0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBRXJDLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEcscUJBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3JFLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUN4QyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hELE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO2FBQzNCO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRU8saUJBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUVFLENBQUM7SUFFM0QsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFrQjtRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWMsRUFBRSxLQUF1QjtRQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUE0QjtRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7a0hBakRVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLDJGQ1pqQyxzNkJBWUE7NEZEQWEsb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLGNBQWM7dUdBS3hCLFVBQVU7c0JBRFQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNTYW1lTW9udGggfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckV2ZW50IH0gZnJvbSAnYW5ndWxhci1jYWxlbmRhcic7XG5pbXBvcnQgeyBEYnhDYWxlbmRhclN0b3JlIH0gZnJvbSAnLi9jYWxlbmRhci5zdG9yZSc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBEYnhDYWxlbmRhckV2ZW50LCBwcmVwYXJlQW5kU29ydENhbGVuZGFyRXZlbnRzIH0gZnJvbSAnLi9jYWxlbmRhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Q2FsZW5kYXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KClcbiAgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RGJ4Q2FsZW5kYXJFdmVudDxUPj4oKTtcblxuICByZWFkb25seSB2aWV3RGF0ZSQgPSB0aGlzLmNhbGVuZGFyU3RvcmUuZGF0ZSQ7XG5cbiAgcmVhZG9ubHkgZXZlbnRzJCA9IHRoaXMuY2FsZW5kYXJTdG9yZS52aXNpYmxlRXZlbnRzJC5waXBlKG1hcChwcmVwYXJlQW5kU29ydENhbGVuZGFyRXZlbnRzKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZURheUlzT3BlbiQgPSB0aGlzLmNhbGVuZGFyU3RvcmUuZXZlbnRzRm9yRGF0ZVN0YXRlJC5waXBlKFxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuY2FsZW5kYXJTdG9yZS5kYXRlJCksXG4gICAgbWFwKChbeCwgZGF0ZV0pID0+IHtcbiAgICAgIGlmICh4LmV2ZW50cy5sZW5ndGggJiYgaXNTYW1lTW9udGgoeC5kYXRlLCBkYXRlKSkge1xuICAgICAgICByZXR1cm4gIXguZGF0ZVRhcHBlZFR3aWNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBkaXNwbGF5VHlwZSQgPSB0aGlzLmNhbGVuZGFyU3RvcmUuZGlzcGxheVR5cGUkO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNhbGVuZGFyU3RvcmU6IERieENhbGVuZGFyU3RvcmU8VD4pIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0V2ZW50LmNvbXBsZXRlKCk7XG4gIH1cblxuICB0b2RheUNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXlDbGlja2VkKHsgZGF0ZTogbmV3IERhdGUoKSB9KTtcbiAgfVxuXG4gIG5leHRCdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJTdG9yZS50YXBOZXh0KCk7XG4gIH1cblxuICBwcmV2aW91c0J1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0b3JlLnRhcFByZXZpb3VzKCk7XG4gIH1cblxuICBkYXlDbGlja2VkKHsgZGF0ZSB9OiB7IGRhdGU6IERhdGUgfSk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJTdG9yZS50YXBEYXkoZGF0ZSk7XG4gIH1cblxuICBldmVudENsaWNrZWQoYWN0aW9uOiBzdHJpbmcsIGV2ZW50OiBDYWxlbmRhckV2ZW50PFQ+KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoeyBhY3Rpb24sIGV2ZW50IH0pO1xuICB9XG5cbiAgdHlwZVRvZ2dsZUNoYW5nZWQoZXZlbnQ6IE1hdEJ1dHRvblRvZ2dsZUNoYW5nZSk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJTdG9yZS5zZXREaXNwbGF5VHlwZShldmVudC52YWx1ZSk7XG4gIH1cbn1cbiIsIjxkYngtY2FsZW5kYXItYmFzZT5cbiAgPG5nLWNvbnRhaW5lciBjb250cm9scz5cbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgbmFtZT1cImNhbGVuZGFyRGlzcGxheVN0eWxlXCIgW3ZhbHVlXT1cIihkaXNwbGF5VHlwZSQgfCBhc3luYykhXCIgKGNoYW5nZSk9XCJ0eXBlVG9nZ2xlQ2hhbmdlZCgkZXZlbnQpXCIgYXJpYS1sYWJlbD1cIkRpc3BsYXkgU3R5bGVcIj5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIm1vbnRoXCI+TW9udGg8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwid2Vla1wiPldlZWs8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiZGF5XCI+RGF5PC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cImRieC1jYWxlbmRhci1jb250ZW50XCIgW25nQ2xhc3NdPVwiJ2RieC1jYWxlbmRhci1jb250ZW50LScgKyAoZGlzcGxheVR5cGUkIHwgYXN5bmMpIVwiIFtuZ1N3aXRjaF09XCJkaXNwbGF5VHlwZSQgfCBhc3luY1wiPlxuICAgIDxtd2wtY2FsZW5kYXItbW9udGgtdmlldyAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRoJ1wiIFt2aWV3RGF0ZV09XCIodmlld0RhdGUkIHwgYXN5bmMpIVwiIFtldmVudHNdPVwiKGV2ZW50cyQgfCBhc3luYykhXCIgW2FjdGl2ZURheUlzT3Blbl09XCIoYWN0aXZlRGF5SXNPcGVuJCB8IGFzeW5jKSFcIiAoZGF5Q2xpY2tlZCk9XCJkYXlDbGlja2VkKCRldmVudC5kYXkpXCIgKGV2ZW50Q2xpY2tlZCk9XCJldmVudENsaWNrZWQoJ0NsaWNrZWQnLCAkZXZlbnQuZXZlbnQpXCI+PC9td2wtY2FsZW5kYXItbW9udGgtdmlldz5cbiAgPC9kaXY+XG48L2RieC1jYWxlbmRhci1iYXNlPlxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { formatToTimeAndDurationString, sortDateRangeStartAscendingCompareFunction } from '@dereekb/date';
|
|
2
|
+
function timeSubtitleForEvent(event) {
|
|
3
|
+
let subtitle;
|
|
4
|
+
if (event.allDay) {
|
|
5
|
+
subtitle = `(All Day)`;
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
subtitle = formatToTimeAndDurationString(event.start, event.end ?? new Date());
|
|
9
|
+
}
|
|
10
|
+
return subtitle;
|
|
11
|
+
}
|
|
12
|
+
export function prepareAndSortCalendarEvents(events) {
|
|
13
|
+
return events
|
|
14
|
+
.map((event) => {
|
|
15
|
+
const subtitle = timeSubtitleForEvent(event);
|
|
16
|
+
let title;
|
|
17
|
+
if (event.allDay) {
|
|
18
|
+
title = event.title + ' ' + subtitle;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
title = `${event.title} - ${subtitle}`;
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
...event,
|
|
25
|
+
title
|
|
26
|
+
};
|
|
27
|
+
})
|
|
28
|
+
.sort(sortDateRangeStartAscendingCompareFunction);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDZCQUE2QixFQUFFLDBDQUEwQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUTFHLFNBQVMsb0JBQW9CLENBQUMsS0FBb0I7SUFDaEQsSUFBSSxRQUFRLENBQUM7SUFFYixJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDaEIsUUFBUSxHQUFHLFdBQVcsQ0FBQztLQUN4QjtTQUFNO1FBQ0wsUUFBUSxHQUFHLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7S0FDaEY7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLE1BQXVCO0lBQ2xFLE9BQU8sTUFBTTtTQUNWLEdBQUcsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUM1QixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFJLEtBQUssQ0FBQztRQUVWLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1NBQ3RDO2FBQU07WUFDTCxLQUFLLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxNQUFNLFFBQVEsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLEtBQUs7U0FDTixDQUFDO0lBQ0osQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdFRvVGltZUFuZER1cmF0aW9uU3RyaW5nLCBzb3J0RGF0ZVJhbmdlU3RhcnRBc2NlbmRpbmdDb21wYXJlRnVuY3Rpb24gfSBmcm9tICdAZGVyZWVrYi9kYXRlJztcbmltcG9ydCB7IENhbGVuZGFyRXZlbnQgfSBmcm9tICdhbmd1bGFyLWNhbGVuZGFyJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhDYWxlbmRhckV2ZW50PFQ+IHtcbiAgZXZlbnQ6IENhbGVuZGFyRXZlbnQ8VD47XG4gIGFjdGlvbj86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gdGltZVN1YnRpdGxlRm9yRXZlbnQoZXZlbnQ6IENhbGVuZGFyRXZlbnQpOiBzdHJpbmcge1xuICBsZXQgc3VidGl0bGU7XG5cbiAgaWYgKGV2ZW50LmFsbERheSkge1xuICAgIHN1YnRpdGxlID0gYChBbGwgRGF5KWA7XG4gIH0gZWxzZSB7XG4gICAgc3VidGl0bGUgPSBmb3JtYXRUb1RpbWVBbmREdXJhdGlvblN0cmluZyhldmVudC5zdGFydCwgZXZlbnQuZW5kID8/IG5ldyBEYXRlKCkpO1xuICB9XG5cbiAgcmV0dXJuIHN1YnRpdGxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUFuZFNvcnRDYWxlbmRhckV2ZW50cyhldmVudHM6IENhbGVuZGFyRXZlbnRbXSk6IENhbGVuZGFyRXZlbnRbXSB7XG4gIHJldHVybiBldmVudHNcbiAgICAubWFwKChldmVudDogQ2FsZW5kYXJFdmVudCkgPT4ge1xuICAgICAgY29uc3Qgc3VidGl0bGUgPSB0aW1lU3VidGl0bGVGb3JFdmVudChldmVudCk7XG4gICAgICBsZXQgdGl0bGU7XG5cbiAgICAgIGlmIChldmVudC5hbGxEYXkpIHtcbiAgICAgICAgdGl0bGUgPSBldmVudC50aXRsZSArICcgJyArIHN1YnRpdGxlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGl0bGUgPSBgJHtldmVudC50aXRsZX0gLSAke3N1YnRpdGxlfWA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmV2ZW50LFxuICAgICAgICB0aXRsZVxuICAgICAgfTtcbiAgICB9KVxuICAgIC5zb3J0KHNvcnREYXRlUmFuZ2VTdGFydEFzY2VuZGluZ0NvbXBhcmVGdW5jdGlvbik7XG59XG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DbxCalendarComponent } from './calendar.component';
|
|
3
|
+
import { CalendarDayModule, CalendarModule, CalendarWeekModule, DateAdapter } from 'angular-calendar';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { DbxButtonModule, DbxPopoverInteractionModule } from '@dereekb/dbx-web';
|
|
6
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
8
|
+
import { adapterFactory as dateAdapterFactory } from 'angular-calendar/date-adapters/date-fns';
|
|
9
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
10
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
11
|
+
import { DbxCalendarBaseComponent } from './calendar.base.component';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "angular-calendar";
|
|
14
|
+
const declarations = [
|
|
15
|
+
//
|
|
16
|
+
DbxCalendarBaseComponent,
|
|
17
|
+
DbxCalendarComponent
|
|
18
|
+
];
|
|
19
|
+
export class DbxCalendarModule {
|
|
20
|
+
}
|
|
21
|
+
DbxCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
+
DbxCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarModule, declarations: [
|
|
23
|
+
//
|
|
24
|
+
DbxCalendarBaseComponent,
|
|
25
|
+
DbxCalendarComponent], imports: [
|
|
26
|
+
//
|
|
27
|
+
CommonModule,
|
|
28
|
+
MatIconModule,
|
|
29
|
+
MatButtonModule,
|
|
30
|
+
MatButtonToggleModule,
|
|
31
|
+
DbxButtonModule,
|
|
32
|
+
DbxPopoverInteractionModule,
|
|
33
|
+
CalendarModule,
|
|
34
|
+
CalendarDayModule,
|
|
35
|
+
FlexLayoutModule,
|
|
36
|
+
CalendarWeekModule], exports: [
|
|
37
|
+
//
|
|
38
|
+
DbxCalendarBaseComponent,
|
|
39
|
+
DbxCalendarComponent] });
|
|
40
|
+
DbxCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarModule, imports: [
|
|
41
|
+
//
|
|
42
|
+
CommonModule,
|
|
43
|
+
MatIconModule,
|
|
44
|
+
MatButtonModule,
|
|
45
|
+
MatButtonToggleModule,
|
|
46
|
+
DbxButtonModule,
|
|
47
|
+
DbxPopoverInteractionModule,
|
|
48
|
+
CalendarModule,
|
|
49
|
+
CalendarDayModule,
|
|
50
|
+
FlexLayoutModule,
|
|
51
|
+
CalendarWeekModule] });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarModule, decorators: [{
|
|
53
|
+
type: NgModule,
|
|
54
|
+
args: [{
|
|
55
|
+
imports: [
|
|
56
|
+
//
|
|
57
|
+
CommonModule,
|
|
58
|
+
MatIconModule,
|
|
59
|
+
MatButtonModule,
|
|
60
|
+
MatButtonToggleModule,
|
|
61
|
+
DbxButtonModule,
|
|
62
|
+
DbxPopoverInteractionModule,
|
|
63
|
+
CalendarModule,
|
|
64
|
+
CalendarDayModule,
|
|
65
|
+
FlexLayoutModule,
|
|
66
|
+
CalendarWeekModule
|
|
67
|
+
],
|
|
68
|
+
declarations,
|
|
69
|
+
exports: declarations
|
|
70
|
+
}]
|
|
71
|
+
}] });
|
|
72
|
+
/**
|
|
73
|
+
* Provides default configuration for the DbxCalendarModule
|
|
74
|
+
*/
|
|
75
|
+
export class DbxCalendarRootModule {
|
|
76
|
+
}
|
|
77
|
+
DbxCalendarRootModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarRootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
78
|
+
DbxCalendarRootModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarRootModule, imports: [i1.CalendarModule], exports: [DbxCalendarModule] });
|
|
79
|
+
DbxCalendarRootModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarRootModule, imports: [CalendarModule.forRoot({ provide: DateAdapter, useFactory: dateAdapterFactory }), DbxCalendarModule] });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarRootModule, decorators: [{
|
|
81
|
+
type: NgModule,
|
|
82
|
+
args: [{
|
|
83
|
+
imports: [CalendarModule.forRoot({ provide: DateAdapter, useFactory: dateAdapterFactory })],
|
|
84
|
+
exports: [DbxCalendarModule]
|
|
85
|
+
}]
|
|
86
|
+
}] });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRXJFLE1BQU0sWUFBWSxHQUFHO0lBQ25CLEVBQUU7SUFDRix3QkFBd0I7SUFDeEIsb0JBQW9CO0NBQ3JCLENBQUM7QUFtQkYsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCO1FBdEI1QixFQUFFO1FBQ0Ysd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUtsQixFQUFFO1FBQ0YsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGVBQWU7UUFDZiwyQkFBMkI7UUFDM0IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBakJwQixFQUFFO1FBQ0Ysd0JBQXdCO1FBQ3hCLG9CQUFvQjtnSEFvQlQsaUJBQWlCO1FBZjFCLEVBQUU7UUFDRixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLDJCQUEyQjtRQUMzQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixrQkFBa0I7NEZBS1QsaUJBQWlCO2tCQWpCN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsRUFBRTt3QkFDRixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMkJBQTJCO3dCQUMzQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ25CO29CQUNELFlBQVk7b0JBQ1osT0FBTyxFQUFFLFlBQVk7aUJBQ3RCOztBQUdEOztHQUVHO0FBS0gsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjtvSEFBckIscUJBQXFCLDBDQVRyQixpQkFBaUI7b0hBU2pCLHFCQUFxQixZQUh0QixjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQU4vRSxpQkFBaUI7NEZBU2pCLHFCQUFxQjtrQkFKakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO29CQUMzRixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4Q2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxlbmRhckRheU1vZHVsZSwgQ2FsZW5kYXJNb2R1bGUsIENhbGVuZGFyV2Vla01vZHVsZSwgRGF0ZUFkYXB0ZXIgfSBmcm9tICdhbmd1bGFyLWNhbGVuZGFyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYnhCdXR0b25Nb2R1bGUsIERieFBvcG92ZXJJbnRlcmFjdGlvbk1vZHVsZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBhZGFwdGVyRmFjdG9yeSBhcyBkYXRlQWRhcHRlckZhY3RvcnkgfSBmcm9tICdhbmd1bGFyLWNhbGVuZGFyL2RhdGUtYWRhcHRlcnMvZGF0ZS1mbnMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBEYnhDYWxlbmRhckJhc2VDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmJhc2UuY29tcG9uZW50JztcblxuY29uc3QgZGVjbGFyYXRpb25zID0gW1xuICAvL1xuICBEYnhDYWxlbmRhckJhc2VDb21wb25lbnQsXG4gIERieENhbGVuZGFyQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLy9cbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIERieEJ1dHRvbk1vZHVsZSxcbiAgICBEYnhQb3BvdmVySW50ZXJhY3Rpb25Nb2R1bGUsXG4gICAgQ2FsZW5kYXJNb2R1bGUsXG4gICAgQ2FsZW5kYXJEYXlNb2R1bGUsXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBDYWxlbmRhcldlZWtNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zLFxuICBleHBvcnRzOiBkZWNsYXJhdGlvbnNcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Q2FsZW5kYXJNb2R1bGUge31cblxuLyoqXG4gKiBQcm92aWRlcyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBEYnhDYWxlbmRhck1vZHVsZVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ2FsZW5kYXJNb2R1bGUuZm9yUm9vdCh7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VGYWN0b3J5OiBkYXRlQWRhcHRlckZhY3RvcnkgfSldLFxuICBleHBvcnRzOiBbRGJ4Q2FsZW5kYXJNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIERieENhbGVuZGFyUm9vdE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
+
import { differenceInDays, addDays, endOfDay, endOfMonth, endOfWeek, isSameDay, startOfDay, startOfMonth, startOfWeek, isBefore, isAfter } from 'date-fns';
|
|
4
|
+
import { distinctUntilChanged, first, map, shareReplay, switchMap, tap } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export var CalendarDisplayType;
|
|
7
|
+
(function (CalendarDisplayType) {
|
|
8
|
+
CalendarDisplayType["MONTH"] = "month";
|
|
9
|
+
CalendarDisplayType["WEEK"] = "week";
|
|
10
|
+
CalendarDisplayType["DAY"] = "day";
|
|
11
|
+
})(CalendarDisplayType || (CalendarDisplayType = {}));
|
|
12
|
+
export function visibleDateRangeForCalendarState(calendarState) {
|
|
13
|
+
const { type, date } = calendarState;
|
|
14
|
+
let start;
|
|
15
|
+
let end;
|
|
16
|
+
let distance;
|
|
17
|
+
switch (type) {
|
|
18
|
+
case CalendarDisplayType.MONTH:
|
|
19
|
+
start = startOfDay(startOfWeek(startOfMonth(date), { weekStartsOn: 0 }));
|
|
20
|
+
end = endOfWeek(endOfMonth(date));
|
|
21
|
+
distance = differenceInDays(end, start) + 1;
|
|
22
|
+
break;
|
|
23
|
+
case CalendarDisplayType.WEEK:
|
|
24
|
+
start = startOfWeek(date);
|
|
25
|
+
end = endOfWeek(start);
|
|
26
|
+
distance = 7; // 7 days in a week.
|
|
27
|
+
break;
|
|
28
|
+
case CalendarDisplayType.DAY:
|
|
29
|
+
start = startOfDay(date);
|
|
30
|
+
end = endOfDay(date);
|
|
31
|
+
distance = 1;
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
// console.log('Date range: ', start, end, distance);
|
|
35
|
+
return {
|
|
36
|
+
type,
|
|
37
|
+
start,
|
|
38
|
+
end,
|
|
39
|
+
distance
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const distinctUntilDateOrTypeOrEventsChanged = distinctUntilChanged((a, b) => a?.date === b?.date && a?.type === b?.type && a?.events === b?.events);
|
|
43
|
+
export class DbxCalendarStore extends ComponentStore {
|
|
44
|
+
constructor() {
|
|
45
|
+
super({
|
|
46
|
+
type: CalendarDisplayType.MONTH,
|
|
47
|
+
date: new Date(),
|
|
48
|
+
dateTappedTwice: false,
|
|
49
|
+
events: []
|
|
50
|
+
});
|
|
51
|
+
// MARK: Effects
|
|
52
|
+
this.tapNext = this.effect((input) => {
|
|
53
|
+
return input.pipe(switchMap(() => this.visibleDateRange$.pipe(first(), tap(({ end }) => {
|
|
54
|
+
this.tapDay(addDays(end, 1));
|
|
55
|
+
}))));
|
|
56
|
+
});
|
|
57
|
+
this.tapPrevious = this.effect((input) => {
|
|
58
|
+
return input.pipe(switchMap(() => this.visibleDateRange$.pipe(first(), tap(({ start }) => {
|
|
59
|
+
this.tapDay(addDays(start, -1));
|
|
60
|
+
}))));
|
|
61
|
+
});
|
|
62
|
+
// MARK: Accessors
|
|
63
|
+
this.date$ = this.state$.pipe(map((x) => x.date));
|
|
64
|
+
this.dateTappedTwice$ = this.state$.pipe(map((x) => x.dateTappedTwice));
|
|
65
|
+
this.events$ = this.state$.pipe(map((x) => x.events));
|
|
66
|
+
// TODO: Filter to be events that will only be displayed based on the current calendar.
|
|
67
|
+
this.visibleEvents$ = this.state$.pipe(map((x) => x.events), shareReplay(1));
|
|
68
|
+
this.eventsForDateState$ = this.state$.pipe(distinctUntilDateOrTypeOrEventsChanged, map((state) => ({
|
|
69
|
+
date: state.date,
|
|
70
|
+
events: state.events.filter((x) => isSameDay(x.start, state.date) || (x.end && isBefore(x.start, state.date) && isAfter(x.end, state.date))),
|
|
71
|
+
dateTappedTwice: state.dateTappedTwice
|
|
72
|
+
})), shareReplay(1));
|
|
73
|
+
this.eventsForDate$ = this.eventsForDateState$.pipe(map((state) => state.events));
|
|
74
|
+
this.visibleDateRange$ = this.state$.pipe(
|
|
75
|
+
// If the date or type changes, check again.
|
|
76
|
+
distinctUntilChanged((a, b) => a?.date === b?.date && a?.type === b?.type), map(visibleDateRangeForCalendarState), distinctUntilChanged((a, b) => {
|
|
77
|
+
if (a.type === b.type) {
|
|
78
|
+
return isSameDay(a.start, b.start);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
return false; // Type changed, date range changed.
|
|
82
|
+
}
|
|
83
|
+
}), shareReplay(1));
|
|
84
|
+
this.displayType$ = this.state$.pipe(map((x) => x.type), distinctUntilChanged((a, b) => a === b), shareReplay(1));
|
|
85
|
+
// MARK: State Changes
|
|
86
|
+
/**
|
|
87
|
+
* Tap a day.
|
|
88
|
+
*
|
|
89
|
+
* - If the same day is presented, dateTappedTwice is flipped.
|
|
90
|
+
*/
|
|
91
|
+
this.tapDay = this.updater((state, date) => ({ ...state, date, dateTappedTwice: isSameDay(date, state.date) ? !state.dateTappedTwice : false }));
|
|
92
|
+
/**
|
|
93
|
+
* Set all events on the calendar.
|
|
94
|
+
*/
|
|
95
|
+
this.setEvents = this.updater((state, events) => ({ ...state, events }));
|
|
96
|
+
/**
|
|
97
|
+
* Set all events on the calendar.
|
|
98
|
+
*/
|
|
99
|
+
this.setDisplayType = this.updater((state, type) => ({ ...state, type }));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
DbxCalendarStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
103
|
+
DbxCalendarStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarStore });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxCalendarStore, decorators: [{
|
|
105
|
+
type: Injectable
|
|
106
|
+
}], ctorParameters: function () { return []; } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzSixPQUFPLEVBQWMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFakcsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixzQ0FBZSxDQUFBO0lBQ2Ysb0NBQWEsQ0FBQTtJQUNiLGtDQUFXLENBQUE7QUFDYixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQTRCRCxNQUFNLFVBQVUsZ0NBQWdDLENBQUMsYUFBNEI7SUFDM0UsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUM7SUFDckMsSUFBSSxLQUFXLENBQUM7SUFDaEIsSUFBSSxHQUFTLENBQUM7SUFDZCxJQUFJLFFBQWdCLENBQUM7SUFFckIsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLG1CQUFtQixDQUFDLEtBQUs7WUFDNUIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxD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QUFDLENBQUM7UUFFM0o7O1dBRUc7UUFDTSxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpHOztXQUVHO1FBQ00sbUJBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUF6Rm5HLENBQUM7OzhHQVJVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBDYWxlbmRhckV2ZW50IH0gZnJvbSAnYW5ndWxhci1jYWxlbmRhcic7XG5pbXBvcnQgeyBkaWZmZXJlbmNlSW5EYXlzLCBhZGREYXlzLCBlbmRPZkRheSwgZW5kT2ZNb250aCwgZW5kT2ZXZWVrLCBpc1NhbWVEYXksIHN0YXJ0T2ZEYXksIHN0YXJ0T2ZNb250aCwgc3RhcnRPZldlZWssIGlzQmVmb3JlLCBpc0FmdGVyIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0LCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZW51bSBDYWxlbmRhckRpc3BsYXlUeXBlIHtcbiAgTU9OVEggPSAnbW9udGgnLFxuICBXRUVLID0gJ3dlZWsnLFxuICBEQVkgPSAnZGF5J1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVmlld0RhdGVSYW5nZSB7XG4gIHR5cGU6IENhbGVuZGFyRGlzcGxheVR5cGU7XG4gIHN0YXJ0OiBEYXRlO1xuICBlbmQ6IERhdGU7XG4gIGRpc3RhbmNlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJTdGF0ZTxUID0gYW55PiB7XG4gIC8qKlxuICAgKiBDYWxlbmRhciBkaXNwbGF5IG1vZGVcbiAgICovXG4gIHR5cGU6IENhbGVuZGFyRGlzcGxheVR5cGU7XG4gIC8qKlxuICAgKiBEYXRlIHRoYXQgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBkYXRlOiBEYXRlO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGRheSB3YXMgdGFwcGVkL3NldCB0d2ljZS5cbiAgICovXG4gIGRhdGVUYXBwZWRUd2ljZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldCBvZiBjYWxlbmRhciBldmVudHMuXG4gICAqL1xuICBldmVudHM6IENhbGVuZGFyRXZlbnQ8VD5bXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZpc2libGVEYXRlUmFuZ2VGb3JDYWxlbmRhclN0YXRlKGNhbGVuZGFyU3RhdGU6IENhbGVuZGFyU3RhdGUpOiBDYWxlbmRhclZpZXdEYXRlUmFuZ2Uge1xuICBjb25zdCB7IHR5cGUsIGRhdGUgfSA9IGNhbGVuZGFyU3RhdGU7XG4gIGxldCBzdGFydDogRGF0ZTtcbiAgbGV0IGVuZDogRGF0ZTtcbiAgbGV0IGRpc3RhbmNlOiBudW1iZXI7XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBDYWxlbmRhckRpc3BsYXlUeXBlLk1PTlRIOlxuICAgICAgc3RhcnQgPSBzdGFydE9mRGF5KHN0YXJ0T2ZXZWVrKHN0YXJ0T2ZNb250aChkYXRlKSwgeyB3ZWVrU3RhcnRzT246IDAgfSkpO1xuICAgICAgZW5kID0gZW5kT2ZXZWVrKGVuZE9mTW9udGgoZGF0ZSkpO1xuICAgICAgZGlzdGFuY2UgPSBkaWZmZXJlbmNlSW5EYXlzKGVuZCwgc3RhcnQpICsgMTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQ2FsZW5kYXJEaXNwbGF5VHlwZS5XRUVLOlxuICAgICAgc3RhcnQgPSBzdGFydE9mV2VlayhkYXRlKTtcbiAgICAgIGVuZCA9IGVuZE9mV2VlayhzdGFydCk7XG4gICAgICBkaXN0YW5jZSA9IDc7IC8vIDcgZGF5cyBpbiBhIHdlZWsuXG4gICAgICBicmVhaztcbiAgICBjYXNlIENhbGVuZGFyRGlzcGxheVR5cGUuREFZOlxuICAgICAgc3RhcnQgPSBzdGFydE9mRGF5KGRhdGUpO1xuICAgICAgZW5kID0gZW5kT2ZEYXkoZGF0ZSk7XG4gICAgICBkaXN0YW5jZSA9IDE7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIC8vIGNvbnNvbGUubG9nKCdEYXRlIHJhbmdlOiAnLCBzdGFydCwgZW5kLCBkaXN0YW5jZSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlLFxuICAgIHN0YXJ0LFxuICAgIGVuZCxcbiAgICBkaXN0YW5jZVxuICB9O1xufVxuXG5jb25zdCBkaXN0aW5jdFVudGlsRGF0ZU9yVHlwZU9yRXZlbnRzQ2hhbmdlZCA9IGRpc3RpbmN0VW50aWxDaGFuZ2VkPENhbGVuZGFyU3RhdGU+KChhLCBiKSA9PiBhPy5kYXRlID09PSBiPy5kYXRlICYmIGE/LnR5cGUgPT09IGI/LnR5cGUgJiYgYT8uZXZlbnRzID09PSBiPy5ldmVudHMpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGJ4Q2FsZW5kYXJTdG9yZTxUID0gYW55PiBleHRlbmRzIENvbXBvbmVudFN0b3JlPENhbGVuZGFyU3RhdGU8VD4+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdHlwZTogQ2FsZW5kYXJEaXNwbGF5VHlwZS5NT05USCxcbiAgICAgIGRhdGU6IG5ldyBEYXRlKCksXG4gICAgICBkYXRlVGFwcGVkVHdpY2U6IGZhbHNlLFxuICAgICAgZXZlbnRzOiBbXVxuICAgIH0pO1xuICB9XG5cbiAgLy8gTUFSSzogRWZmZWN0c1xuICByZWFkb25seSB0YXBOZXh0ID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPHZvaWQ+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy52aXNpYmxlRGF0ZVJhbmdlJC5waXBlKFxuICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgdGFwKCh7IGVuZCB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRhcERheShhZGREYXlzKGVuZCwgMSkpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9KTtcblxuICByZWFkb25seSB0YXBQcmV2aW91cyA9IHRoaXMuZWZmZWN0KChpbnB1dDogT2JzZXJ2YWJsZTx2b2lkPikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgIHRoaXMudmlzaWJsZURhdGVSYW5nZSQucGlwZShcbiAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgIHRhcCgoeyBzdGFydCB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRhcERheShhZGREYXlzKHN0YXJ0LCAtMSkpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9KTtcblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgcmVhZG9ubHkgZGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC5kYXRlKSk7XG4gIHJlYWRvbmx5IGRhdGVUYXBwZWRUd2ljZSQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC5kYXRlVGFwcGVkVHdpY2UpKTtcblxuICByZWFkb25seSBldmVudHMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IHguZXZlbnRzKSk7XG5cbiAgLy8gVE9ETzogRmlsdGVyIHRvIGJlIGV2ZW50cyB0aGF0IHdpbGwgb25seSBiZSBkaXNwbGF5ZWQgYmFzZWQgb24gdGhlIGN1cnJlbnQgY2FsZW5kYXIuXG4gIHJlYWRvbmx5IHZpc2libGVFdmVudHMkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXZlbnRzKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGV2ZW50c0ZvckRhdGVTdGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxEYXRlT3JUeXBlT3JFdmVudHNDaGFuZ2VkLFxuICAgIG1hcCgoc3RhdGUpID0+ICh7XG4gICAgICBkYXRlOiBzdGF0ZS5kYXRlLFxuICAgICAgZXZlbnRzOiBzdGF0ZS5ldmVudHMuZmlsdGVyKCh4KSA9PiBpc1NhbWVEYXkoeC5zdGFydCwgc3RhdGUuZGF0ZSkgfHwgKHguZW5kICYmIGlzQmVmb3JlKHguc3RhcnQsIHN0YXRlLmRhdGUpICYmIGlzQWZ0ZXIoeC5lbmQsIHN0YXRlLmRhdGUpKSksXG4gICAgICBkYXRlVGFwcGVkVHdpY2U6IHN0YXRlLmRhdGVUYXBwZWRUd2ljZVxuICAgIH0pKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGV2ZW50c0ZvckRhdGUkID0gdGhpcy5ldmVudHNGb3JEYXRlU3RhdGUkLnBpcGUobWFwKChzdGF0ZSkgPT4gc3RhdGUuZXZlbnRzKSk7XG5cbiAgcmVhZG9ubHkgdmlzaWJsZURhdGVSYW5nZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIC8vIElmIHRoZSBkYXRlIG9yIHR5cGUgY2hhbmdlcywgY2hlY2sgYWdhaW4uXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LmRhdGUgPT09IGI/LmRhdGUgJiYgYT8udHlwZSA9PT0gYj8udHlwZSksXG4gICAgbWFwKHZpc2libGVEYXRlUmFuZ2VGb3JDYWxlbmRhclN0YXRlKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4ge1xuICAgICAgaWYgKGEudHlwZSA9PT0gYi50eXBlKSB7XG4gICAgICAgIHJldHVybiBpc1NhbWVEYXkoYS5zdGFydCwgYi5zdGFydCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFR5cGUgY2hhbmdlZCwgZGF0ZSByYW5nZSBjaGFuZ2VkLlxuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgudHlwZSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGEgPT09IGIpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICAvKipcbiAgICogVGFwIGEgZGF5LlxuICAgKlxuICAgKiAtIElmIHRoZSBzYW1lIGRheSBpcyBwcmVzZW50ZWQsIGRhdGVUYXBwZWRUd2ljZSBpcyBmbGlwcGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFwRGF5ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZGF0ZTogRGF0ZSkgPT4gKHsgLi4uc3RhdGUsIGRhdGUsIGRhdGVUYXBwZWRUd2ljZTogaXNTYW1lRGF5KGRhdGUsIHN0YXRlLmRhdGUpID8gIXN0YXRlLmRhdGVUYXBwZWRUd2ljZSA6IGZhbHNlIH0pKTtcblxuICAvKipcbiAgICogU2V0IGFsbCBldmVudHMgb24gdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RXZlbnRzID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZXZlbnRzOiBDYWxlbmRhckV2ZW50PFQ+W10pID0+ICh7IC4uLnN0YXRlLCBldmVudHMgfSkpO1xuXG4gIC8qKlxuICAgKiBTZXQgYWxsIGV2ZW50cyBvbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICByZWFkb25seSBzZXREaXNwbGF5VHlwZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHR5cGU6IENhbGVuZGFyRGlzcGxheVR5cGUpID0+ICh7IC4uLnN0YXRlLCB0eXBlIH0pKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './calendar.module';
|
|
2
|
+
export * from './calendar.component';
|
|
3
|
+
export * from './calendar.base.component';
|
|
4
|
+
export * from './calendar.store';
|
|
5
|
+
export * from './calendar';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL2NhbGVuZGFyL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIuYmFzZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci5zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyJztcbiJdfQ==
|