@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.
Files changed (276) hide show
  1. package/calendar/README.md +6 -0
  2. package/calendar/esm2020/dereekb-dbx-web-calendar.mjs +5 -0
  3. package/calendar/esm2020/index.mjs +2 -0
  4. package/calendar/esm2020/lib/calendar.base.component.mjs +44 -0
  5. package/calendar/esm2020/lib/calendar.component.mjs +57 -0
  6. package/calendar/esm2020/lib/calendar.mjs +30 -0
  7. package/calendar/esm2020/lib/calendar.module.mjs +87 -0
  8. package/calendar/esm2020/lib/calendar.store.mjs +107 -0
  9. package/calendar/esm2020/lib/index.mjs +6 -0
  10. package/calendar/fesm2015/dereekb-dbx-web-calendar.mjs +313 -0
  11. package/calendar/fesm2015/dereekb-dbx-web-calendar.mjs.map +1 -0
  12. package/calendar/fesm2020/dereekb-dbx-web-calendar.mjs +311 -0
  13. package/calendar/fesm2020/dereekb-dbx-web-calendar.mjs.map +1 -0
  14. package/calendar/index.d.ts +1 -0
  15. package/calendar/lib/calendar.base.component.d.ts +16 -0
  16. package/{lib/extension/calendar → calendar/lib}/calendar.component.d.ts +5 -22
  17. package/calendar/lib/calendar.d.ts +6 -0
  18. package/calendar/lib/calendar.module.d.ts +23 -0
  19. package/{lib/extension/calendar → calendar/lib}/calendar.store.d.ts +0 -0
  20. package/{lib/extension/calendar → calendar/lib}/index.d.ts +2 -0
  21. package/calendar/package.json +36 -0
  22. package/esm2020/calendar/dereekb-dbx-web-calendar.mjs +5 -0
  23. package/esm2020/calendar/index.mjs +2 -0
  24. package/esm2020/calendar/lib/calendar.base.component.mjs +44 -0
  25. package/esm2020/calendar/lib/calendar.component.mjs +57 -0
  26. package/esm2020/calendar/lib/calendar.mjs +30 -0
  27. package/esm2020/calendar/lib/calendar.module.mjs +87 -0
  28. package/esm2020/calendar/lib/calendar.store.mjs +107 -0
  29. package/esm2020/calendar/lib/index.mjs +6 -0
  30. package/esm2020/lib/action/action.confirm.directive.mjs +4 -4
  31. package/esm2020/lib/action/action.module.mjs +5 -5
  32. package/esm2020/lib/action/action.progress.component.mjs +4 -4
  33. package/esm2020/lib/action/key.trigger.directive.mjs +4 -4
  34. package/esm2020/lib/action/snackbar/action.snackbar.component.mjs +4 -4
  35. package/esm2020/lib/action/snackbar/action.snackbar.directive.mjs +4 -4
  36. package/esm2020/lib/action/snackbar/action.snackbar.module.mjs +5 -5
  37. package/esm2020/lib/action/snackbar/action.snackbar.service.mjs +4 -4
  38. package/esm2020/lib/action/transition/action.transition.module.mjs +5 -5
  39. package/esm2020/lib/action/transition/transition.safety.dialog.component.mjs +4 -4
  40. package/esm2020/lib/action/transition/transition.safety.directive.mjs +4 -4
  41. package/esm2020/lib/button/button.component.mjs +6 -6
  42. package/esm2020/lib/button/button.module.mjs +5 -5
  43. package/esm2020/lib/button/button.spacer.component.mjs +4 -4
  44. package/esm2020/lib/button/progress/bar.button.component.mjs +5 -5
  45. package/esm2020/lib/button/progress/base.progress.button.directive.mjs +4 -4
  46. package/esm2020/lib/button/progress/button.progress.module.mjs +5 -5
  47. package/esm2020/lib/button/progress/spinner.button.component.mjs +5 -5
  48. package/esm2020/lib/dbx-web.module.mjs +9 -9
  49. package/esm2020/lib/error/error.action.directive.mjs +4 -4
  50. package/esm2020/lib/error/error.component.mjs +4 -4
  51. package/esm2020/lib/error/error.loading.directive.mjs +4 -4
  52. package/esm2020/lib/error/error.module.mjs +5 -5
  53. package/esm2020/lib/extension/index.mjs +1 -2
  54. package/esm2020/lib/extension/widget/widget.component.mjs +4 -4
  55. package/esm2020/lib/extension/widget/widget.directive.mjs +4 -4
  56. package/esm2020/lib/extension/widget/widget.list.component.mjs +10 -10
  57. package/esm2020/lib/extension/widget/widget.module.mjs +5 -5
  58. package/esm2020/lib/extension/widget/widget.service.mjs +4 -4
  59. package/esm2020/lib/interaction/dialog/abstract.dialog.directive.mjs +4 -4
  60. package/esm2020/lib/interaction/dialog/dialog.action.directive.mjs +4 -4
  61. package/esm2020/lib/interaction/dialog/dialog.content.close.component.mjs +37 -0
  62. package/esm2020/lib/interaction/dialog/dialog.content.component.mjs +4 -4
  63. package/esm2020/lib/interaction/dialog/dialog.content.footer.component.mjs +39 -0
  64. package/esm2020/lib/interaction/dialog/dialog.module.mjs +12 -8
  65. package/esm2020/lib/interaction/dialog/index.mjs +3 -1
  66. package/esm2020/lib/interaction/filter/filter.module.mjs +5 -5
  67. package/esm2020/lib/interaction/filter/filter.popover.button.component.mjs +4 -4
  68. package/esm2020/lib/interaction/filter/filter.popover.button.directive.mjs +4 -4
  69. package/esm2020/lib/interaction/filter/filter.popover.component.mjs +4 -4
  70. package/esm2020/lib/interaction/filter/filter.preset.list.component.mjs +4 -4
  71. package/esm2020/lib/interaction/filter/filter.preset.menu.component.mjs +5 -5
  72. package/esm2020/lib/interaction/filter/filter.preset.mjs +4 -4
  73. package/esm2020/lib/interaction/filter/filter.wrapper.component.mjs +4 -4
  74. package/esm2020/lib/interaction/interaction.module.mjs +5 -5
  75. package/esm2020/lib/interaction/popover/abstract.popover.directive.mjs +4 -4
  76. package/esm2020/lib/interaction/popover/abstract.popover.ref.directive.mjs +7 -7
  77. package/esm2020/lib/interaction/popover/popover.action.directive.mjs +4 -4
  78. package/esm2020/lib/interaction/popover/popover.component.mjs +4 -4
  79. package/esm2020/lib/interaction/popover/popover.content.component.mjs +4 -4
  80. package/esm2020/lib/interaction/popover/popover.controls.directive.mjs +4 -4
  81. package/esm2020/lib/interaction/popover/popover.coordinator.component.mjs +4 -4
  82. package/esm2020/lib/interaction/popover/popover.coordinator.service.mjs +4 -4
  83. package/esm2020/lib/interaction/popover/popover.header.component.mjs +4 -4
  84. package/esm2020/lib/interaction/popover/popover.module.mjs +5 -5
  85. package/esm2020/lib/interaction/popover/popover.scroll.content.component.mjs +4 -4
  86. package/esm2020/lib/interaction/popover/popover.service.mjs +4 -4
  87. package/esm2020/lib/interaction/popup/abstract.popup.directive.mjs +4 -4
  88. package/esm2020/lib/interaction/popup/popup.component.mjs +4 -4
  89. package/esm2020/lib/interaction/popup/popup.content.component.mjs +4 -4
  90. package/esm2020/lib/interaction/popup/popup.controls.buttons.component.mjs +4 -4
  91. package/esm2020/lib/interaction/popup/popup.controls.component.mjs +4 -4
  92. package/esm2020/lib/interaction/popup/popup.coordinator.component.mjs +4 -4
  93. package/esm2020/lib/interaction/popup/popup.coordinator.service.mjs +4 -4
  94. package/esm2020/lib/interaction/popup/popup.module.mjs +5 -5
  95. package/esm2020/lib/interaction/popup/popup.service.mjs +4 -4
  96. package/esm2020/lib/interaction/prompt/prompt.box.component.mjs +4 -4
  97. package/esm2020/lib/interaction/prompt/prompt.button.confirm.directive.mjs +4 -4
  98. package/esm2020/lib/interaction/prompt/prompt.component.mjs +4 -4
  99. package/esm2020/lib/interaction/prompt/prompt.confirm.component.mjs +4 -4
  100. package/esm2020/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +4 -4
  101. package/esm2020/lib/interaction/prompt/prompt.confirm.directive.mjs +7 -7
  102. package/esm2020/lib/interaction/prompt/prompt.module.mjs +5 -5
  103. package/esm2020/lib/interaction/prompt/prompt.page.component.mjs +4 -4
  104. package/esm2020/lib/keypress/keydown.listener.directive.mjs +4 -4
  105. package/esm2020/lib/keypress/keypress.module.mjs +5 -5
  106. package/esm2020/lib/layout/bar/bar.directive.mjs +4 -4
  107. package/esm2020/lib/layout/bar/bar.header.component.mjs +4 -4
  108. package/esm2020/lib/layout/bar/bar.layout.module.mjs +5 -5
  109. package/esm2020/lib/layout/bar/pagebar.component.mjs +4 -4
  110. package/esm2020/lib/layout/block/block.layout.module.mjs +5 -5
  111. package/esm2020/lib/layout/block/two.block.component.mjs +4 -4
  112. package/esm2020/lib/layout/card/card.box.component.mjs +4 -4
  113. package/esm2020/lib/layout/card/card.box.container.component.mjs +4 -4
  114. package/esm2020/lib/layout/card/card.box.layout.module.mjs +5 -5
  115. package/esm2020/lib/layout/column/column.layout.module.mjs +5 -5
  116. package/esm2020/lib/layout/column/one/one.column.component.mjs +4 -4
  117. package/esm2020/lib/layout/column/one/one.column.module.mjs +5 -5
  118. package/esm2020/lib/layout/column/two/two.column.back.directive.mjs +4 -4
  119. package/esm2020/lib/layout/column/two/two.column.component.mjs +4 -4
  120. package/esm2020/lib/layout/column/two/two.column.context.directive.mjs +4 -4
  121. package/esm2020/lib/layout/column/two/two.column.full.left.directive.mjs +4 -4
  122. package/esm2020/lib/layout/column/two/two.column.head.component.mjs +4 -4
  123. package/esm2020/lib/layout/column/two/two.column.module.mjs +5 -5
  124. package/esm2020/lib/layout/column/two/two.column.right.component.mjs +4 -4
  125. package/esm2020/lib/layout/column/two/two.column.sref.directive.mjs +4 -4
  126. package/esm2020/lib/layout/column/two/two.column.sref.showright.directive.mjs +4 -4
  127. package/esm2020/lib/layout/column/two/two.column.store.mjs +4 -4
  128. package/esm2020/lib/layout/compact/compact.directive.mjs +4 -4
  129. package/esm2020/lib/layout/compact/compact.layout.module.mjs +5 -5
  130. package/esm2020/lib/layout/compact/compact.store.mjs +4 -4
  131. package/esm2020/lib/layout/content/content.border.directive.mjs +4 -4
  132. package/esm2020/lib/layout/content/content.box.directive.mjs +4 -4
  133. package/esm2020/lib/layout/content/content.container.directive.mjs +4 -4
  134. package/esm2020/lib/layout/content/content.directive.mjs +4 -4
  135. package/esm2020/lib/layout/content/content.elevate.directive.mjs +4 -4
  136. package/esm2020/lib/layout/content/content.layout.module.mjs +5 -5
  137. package/esm2020/lib/layout/content/content.page.directive.mjs +4 -4
  138. package/esm2020/lib/layout/flag/flag.component.mjs +4 -4
  139. package/esm2020/lib/layout/flag/flag.layout.module.mjs +5 -5
  140. package/esm2020/lib/layout/flag/flag.prompt.component.mjs +4 -4
  141. package/esm2020/lib/layout/flex/flex.group.directive.mjs +4 -4
  142. package/esm2020/lib/layout/flex/flex.layout.module.mjs +5 -5
  143. package/esm2020/lib/layout/flex/flex.size.directive.mjs +4 -4
  144. package/esm2020/lib/layout/item/item.icon.component.mjs +4 -4
  145. package/esm2020/lib/layout/item/item.layout.module.mjs +5 -5
  146. package/esm2020/lib/layout/layout.module.mjs +5 -5
  147. package/esm2020/lib/layout/list/list.component.mjs +7 -7
  148. package/esm2020/lib/layout/list/list.content.empty.component.mjs +4 -4
  149. package/esm2020/lib/layout/list/list.directive.mjs +7 -7
  150. package/esm2020/lib/layout/list/list.grid.view.component.mjs +10 -10
  151. package/esm2020/lib/layout/list/list.grid.view.directive.mjs +4 -4
  152. package/esm2020/lib/layout/list/list.layout.module.mjs +5 -5
  153. package/esm2020/lib/layout/list/list.view.directive.mjs +4 -4
  154. package/esm2020/lib/layout/list/list.view.selection.directive.mjs +4 -4
  155. package/esm2020/lib/layout/list/list.view.value.component.mjs +7 -7
  156. package/esm2020/lib/layout/list/list.view.value.directive.mjs +4 -4
  157. package/esm2020/lib/layout/list/list.view.value.item.directive.mjs +4 -4
  158. package/esm2020/lib/layout/list/list.view.value.modifier.directive.mjs +7 -7
  159. package/esm2020/lib/layout/list/list.view.value.modifier.ripple.directive.mjs +4 -4
  160. package/esm2020/lib/layout/list/list.view.value.modifier.selection.directive.mjs +4 -4
  161. package/esm2020/lib/layout/list/list.view.value.selection.component.mjs +7 -7
  162. package/esm2020/lib/layout/section/section.component.mjs +4 -4
  163. package/esm2020/lib/layout/section/section.header.component.mjs +4 -4
  164. package/esm2020/lib/layout/section/section.intro.component.mjs +4 -4
  165. package/esm2020/lib/layout/section/section.layout.module.mjs +5 -5
  166. package/esm2020/lib/layout/section/section.page.component.mjs +4 -4
  167. package/esm2020/lib/layout/section/subsection.component.mjs +4 -4
  168. package/esm2020/lib/layout/step/step.component.mjs +4 -4
  169. package/esm2020/lib/layout/step/step.layout.module.mjs +5 -5
  170. package/esm2020/lib/layout/style/spacer.directive.mjs +4 -4
  171. package/esm2020/lib/layout/style/style.body.directive.mjs +4 -4
  172. package/esm2020/lib/layout/style/style.directive.mjs +4 -4
  173. package/esm2020/lib/layout/style/style.layout.module.mjs +5 -5
  174. package/esm2020/lib/layout/style/style.service.mjs +4 -4
  175. package/esm2020/lib/layout/style/style.set.directive.mjs +4 -4
  176. package/esm2020/lib/layout/text/form.description.component.mjs +4 -4
  177. package/esm2020/lib/layout/text/hint.component.mjs +4 -4
  178. package/esm2020/lib/layout/text/icon.spacer.component.mjs +4 -4
  179. package/esm2020/lib/layout/text/label.component.mjs +4 -4
  180. package/esm2020/lib/layout/text/linkify.component.mjs +4 -4
  181. package/esm2020/lib/layout/text/note.component.mjs +4 -4
  182. package/esm2020/lib/layout/text/notice.component.mjs +4 -4
  183. package/esm2020/lib/layout/text/ok.component.mjs +4 -4
  184. package/esm2020/lib/layout/text/success.component.mjs +4 -4
  185. package/esm2020/lib/layout/text/text.chips.component.mjs +4 -4
  186. package/esm2020/lib/layout/text/text.module.mjs +5 -5
  187. package/esm2020/lib/layout/text/warn.component.mjs +4 -4
  188. package/esm2020/lib/loading/basic-loading.component.mjs +4 -4
  189. package/esm2020/lib/loading/loading-progress.component.mjs +4 -4
  190. package/esm2020/lib/loading/loading.action.directive.mjs +4 -4
  191. package/esm2020/lib/loading/loading.component.mjs +4 -4
  192. package/esm2020/lib/loading/loading.module.mjs +5 -5
  193. package/esm2020/lib/router/layout/anchor/anchor.component.mjs +4 -4
  194. package/esm2020/lib/router/layout/anchor/anchor.content.component.mjs +4 -4
  195. package/esm2020/lib/router/layout/anchor/anchor.icon.component.mjs +4 -4
  196. package/esm2020/lib/router/layout/anchor/anchor.link.component.mjs +4 -4
  197. package/esm2020/lib/router/layout/anchor/anchor.module.mjs +5 -5
  198. package/esm2020/lib/router/layout/anchor/anchor.segue.directive.mjs +4 -4
  199. package/esm2020/lib/router/layout/anchorlist/anchorlist.component.mjs +4 -4
  200. package/esm2020/lib/router/layout/anchorlist/anchorlist.module.mjs +5 -5
  201. package/esm2020/lib/router/layout/layout.module.mjs +5 -5
  202. package/esm2020/lib/router/layout/list/list.module.mjs +5 -5
  203. package/esm2020/lib/router/layout/list/router.list.directive.mjs +4 -4
  204. package/esm2020/lib/router/layout/navbar/navbar.component.mjs +4 -4
  205. package/esm2020/lib/router/layout/navbar/navbar.module.mjs +5 -5
  206. package/esm2020/lib/router/layout/sidenav/sidenav.button.component.mjs +4 -4
  207. package/esm2020/lib/router/layout/sidenav/sidenav.component.mjs +4 -4
  208. package/esm2020/lib/router/layout/sidenav/sidenav.module.mjs +5 -5
  209. package/esm2020/lib/router/layout/sidenav/sidenav.page.component.mjs +4 -4
  210. package/esm2020/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +4 -4
  211. package/esm2020/lib/router/provider/ngrouter/anchor.component.mjs +4 -4
  212. package/esm2020/lib/router/provider/ngrouter/angular.router.module.mjs +5 -5
  213. package/esm2020/lib/router/provider/uirouter/anchor.component.mjs +4 -4
  214. package/esm2020/lib/router/provider/uirouter/uirouter.router.module.mjs +5 -5
  215. package/esm2020/lib/screen/screen.module.mjs +5 -5
  216. package/esm2020/lib/screen/screen.service.mjs +4 -4
  217. package/esm2020/mapbox/lib/mapbox.cdref.service.mjs +4 -4
  218. package/esm2020/mapbox/lib/mapbox.change.service.mjs +4 -4
  219. package/esm2020/mapbox/lib/mapbox.layout.component.mjs +4 -4
  220. package/esm2020/mapbox/lib/mapbox.layout.drawer.component.mjs +4 -4
  221. package/esm2020/mapbox/lib/mapbox.marker.component.mjs +4 -4
  222. package/esm2020/mapbox/lib/mapbox.markers.component.mjs +4 -4
  223. package/esm2020/mapbox/lib/mapbox.menu.component.mjs +4 -4
  224. package/esm2020/mapbox/lib/mapbox.module.mjs +5 -5
  225. package/esm2020/mapbox/lib/mapbox.service.mjs +4 -4
  226. package/esm2020/mapbox/lib/mapbox.store.map.directive.mjs +4 -4
  227. package/esm2020/mapbox/lib/mapbox.store.mjs +4 -4
  228. package/esm2020/mapbox/lib/mapbox.store.provide.mjs +7 -7
  229. package/fesm2015/dereekb-dbx-web-calendar.mjs +313 -0
  230. package/fesm2015/dereekb-dbx-web-calendar.mjs.map +1 -0
  231. package/fesm2015/dereekb-dbx-web-mapbox.mjs +40 -40
  232. package/fesm2015/dereekb-dbx-web-mapbox.mjs.map +1 -1
  233. package/fesm2015/dereekb-dbx-web.mjs +709 -880
  234. package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
  235. package/fesm2020/dereekb-dbx-web-calendar.mjs +311 -0
  236. package/fesm2020/dereekb-dbx-web-calendar.mjs.map +1 -0
  237. package/fesm2020/dereekb-dbx-web-mapbox.mjs +40 -40
  238. package/fesm2020/dereekb-dbx-web-mapbox.mjs.map +1 -1
  239. package/fesm2020/dereekb-dbx-web.mjs +709 -880
  240. package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
  241. package/lib/button/_button.scss +9 -0
  242. package/lib/button/progress/spinner.button.component.scss +2 -0
  243. package/lib/extension/calendar/_calendar.scss +21 -1
  244. package/lib/extension/calendar/style/_variables.scss +24 -0
  245. package/lib/extension/calendar/style/month/calendar-month-view.scss +30 -0
  246. package/lib/extension/index.d.ts +0 -1
  247. package/lib/interaction/dialog/_dialog.scss +18 -0
  248. package/lib/interaction/dialog/dialog.content.close.component.d.ts +12 -0
  249. package/lib/interaction/dialog/dialog.content.footer.component.d.ts +13 -0
  250. package/lib/interaction/dialog/dialog.module.d.ts +7 -3
  251. package/lib/interaction/dialog/index.d.ts +2 -0
  252. package/lib/interaction/filter/filter.preset.menu.component.d.ts +2 -3
  253. package/lib/layout/style/_style.scss +5 -0
  254. package/mapbox/esm2020/lib/mapbox.cdref.service.mjs +4 -4
  255. package/mapbox/esm2020/lib/mapbox.change.service.mjs +4 -4
  256. package/mapbox/esm2020/lib/mapbox.layout.component.mjs +4 -4
  257. package/mapbox/esm2020/lib/mapbox.layout.drawer.component.mjs +4 -4
  258. package/mapbox/esm2020/lib/mapbox.marker.component.mjs +4 -4
  259. package/mapbox/esm2020/lib/mapbox.markers.component.mjs +4 -4
  260. package/mapbox/esm2020/lib/mapbox.menu.component.mjs +4 -4
  261. package/mapbox/esm2020/lib/mapbox.module.mjs +5 -5
  262. package/mapbox/esm2020/lib/mapbox.service.mjs +4 -4
  263. package/mapbox/esm2020/lib/mapbox.store.map.directive.mjs +4 -4
  264. package/mapbox/esm2020/lib/mapbox.store.mjs +4 -4
  265. package/mapbox/esm2020/lib/mapbox.store.provide.mjs +7 -7
  266. package/mapbox/fesm2015/dereekb-dbx-web-mapbox.mjs +40 -40
  267. package/mapbox/fesm2015/dereekb-dbx-web-mapbox.mjs.map +1 -1
  268. package/mapbox/fesm2020/dereekb-dbx-web-mapbox.mjs +40 -40
  269. package/mapbox/fesm2020/dereekb-dbx-web-mapbox.mjs.map +1 -1
  270. package/mapbox/package.json +3 -3
  271. package/package.json +14 -7
  272. package/esm2020/lib/extension/calendar/calendar.component.mjs +0 -86
  273. package/esm2020/lib/extension/calendar/calendar.module.mjs +0 -72
  274. package/esm2020/lib/extension/calendar/calendar.store.mjs +0 -107
  275. package/esm2020/lib/extension/calendar/index.mjs +0 -4
  276. package/lib/extension/calendar/calendar.module.d.ts +0 -22
@@ -0,0 +1,6 @@
1
+ @dereekb/dbx-web/calendar
2
+ =======
3
+
4
+ The sources for this package are in the main [@dereekb/dbx-components](https://github.com/dereekb/dbx-components) repo. Please file issues and pull requests against that repo.
5
+
6
+ License: MIT
@@ -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==