@biit-solutions/wizardry-theme 1.21.34

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 (513) hide show
  1. package/README.md +15 -0
  2. package/assets/i18n/chart/de.json +3 -0
  3. package/assets/i18n/chart/en.json +3 -0
  4. package/assets/i18n/chart/es.json +3 -0
  5. package/assets/i18n/chart/fr.json +3 -0
  6. package/assets/i18n/chart/nl.json +3 -0
  7. package/assets/i18n/info/de.json +4 -0
  8. package/assets/i18n/info/en.json +4 -0
  9. package/assets/i18n/info/es.json +4 -0
  10. package/assets/i18n/info/fr.json +4 -0
  11. package/assets/i18n/info/nl.json +1 -0
  12. package/assets/i18n/inputs/de.json +8 -0
  13. package/assets/i18n/inputs/en.json +8 -0
  14. package/assets/i18n/inputs/es.json +8 -0
  15. package/assets/i18n/inputs/fr.json +8 -0
  16. package/assets/i18n/inputs/nl.json +4 -0
  17. package/assets/i18n/login/de.json +32 -0
  18. package/assets/i18n/login/en.json +32 -0
  19. package/assets/i18n/login/es.json +32 -0
  20. package/assets/i18n/login/fr.json +32 -0
  21. package/assets/i18n/login/nl.json +32 -0
  22. package/assets/i18n/login-welcome/en.json +6 -0
  23. package/assets/i18n/login-welcome/es.json +6 -0
  24. package/assets/i18n/login-welcome/nl.json +6 -0
  25. package/assets/i18n/table/de.json +14 -0
  26. package/assets/i18n/table/en.json +14 -0
  27. package/assets/i18n/table/es.json +14 -0
  28. package/assets/i18n/table/fr.json +14 -0
  29. package/assets/i18n/table/nl.json +11 -0
  30. package/assets/i18n/utils/en.json +69 -0
  31. package/assets/i18n/utils/es.json +69 -0
  32. package/assets/i18n/utils/nl.json +1 -0
  33. package/assets/styles/context-menu/base.scss +131 -0
  34. package/assets/styles/context-menu/button-reset.scss +31 -0
  35. package/assets/styles/context-menu/dark-theme.scss +29 -0
  36. package/button/biit-action-button/biit-action-button.component.d.ts +18 -0
  37. package/button/biit-action-button/biit-action-button.module.d.ts +10 -0
  38. package/button/biit-button/biit-button.component.d.ts +25 -0
  39. package/button/biit-button/biit-button.module.d.ts +9 -0
  40. package/button/biit-icon-button/biit-icon-button.component.d.ts +8 -0
  41. package/button/biit-icon-button/biit-icon-button.module.d.ts +8 -0
  42. package/button/index.d.ts +5 -0
  43. package/button/public-api.d.ts +6 -0
  44. package/calendar/biit-calendar/biit-calendar.component.d.ts +52 -0
  45. package/calendar/biit-calendar/biit-calendar.module.d.ts +12 -0
  46. package/calendar/biit-calendar/calendar-utility.d.ts +3 -0
  47. package/calendar/biit-calendar/models/calendar-configuration.d.ts +5 -0
  48. package/calendar/biit-calendar/models/calendar-event-click-event.d.ts +6 -0
  49. package/calendar/biit-calendar/models/calendar-event.d.ts +22 -0
  50. package/calendar/index.d.ts +5 -0
  51. package/calendar/public-api.d.ts +7 -0
  52. package/calendar/utils/event-color.d.ts +105 -0
  53. package/charts/bar-chart/bar-chart.component.d.ts +46 -0
  54. package/charts/bar-chart/bar-chart.module.d.ts +9 -0
  55. package/charts/bar-chart/models/bar-chart-data.d.ts +33 -0
  56. package/charts/heatmap-chart/heatmap-chart-data.d.ts +22 -0
  57. package/charts/heatmap-chart/heatmap-chart-range.d.ts +6 -0
  58. package/charts/heatmap-chart/heatmap-chart.component.d.ts +42 -0
  59. package/charts/heatmap-chart/heatmap-chart.module.d.ts +10 -0
  60. package/charts/index.d.ts +5 -0
  61. package/charts/line-chart/line-chart.component.d.ts +38 -0
  62. package/charts/line-chart/line-chart.module.d.ts +9 -0
  63. package/charts/line-chart/models/line-chart-data.d.ts +12 -0
  64. package/charts/meta-view-chart/components/bar-range/bar-range.component.d.ts +14 -0
  65. package/charts/meta-view-chart/components/bar-range/bar-range.module.d.ts +12 -0
  66. package/charts/meta-view-chart/components/boolean-filter/boolean-filter.component.d.ts +10 -0
  67. package/charts/meta-view-chart/components/boolean-filter/boolean-filter.module.d.ts +10 -0
  68. package/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.d.ts +28 -0
  69. package/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.module.d.ts +12 -0
  70. package/charts/meta-view-chart/components/meta-board/meta-board.component.d.ts +12 -0
  71. package/charts/meta-view-chart/components/meta-board/meta-board.module.d.ts +9 -0
  72. package/charts/meta-view-chart/components/meta-element/meta-element.component.d.ts +8 -0
  73. package/charts/meta-view-chart/components/meta-element/meta-element.module.d.ts +9 -0
  74. package/charts/meta-view-chart/components/meta-sorter/meta-filter.component.d.ts +28 -0
  75. package/charts/meta-view-chart/components/meta-sorter/meta-filter.module.d.ts +17 -0
  76. package/charts/meta-view-chart/components/meta-sorter/model/FieldType.d.ts +8 -0
  77. package/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.component.d.ts +13 -0
  78. package/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.module.d.ts +14 -0
  79. package/charts/meta-view-chart/components/text-filter/text-filter.component.d.ts +11 -0
  80. package/charts/meta-view-chart/components/text-filter/text-filter.module.d.ts +10 -0
  81. package/charts/meta-view-chart/meta-view-chart.component.d.ts +32 -0
  82. package/charts/meta-view-chart/meta-view-chart.module.d.ts +16 -0
  83. package/charts/meta-view-chart/model/meta-view-data.d.ts +10 -0
  84. package/charts/meta-view-chart/model/meta-view-element-data.d.ts +9 -0
  85. package/charts/meta-view-chart/model/meta-view-preselection.d.ts +5 -0
  86. package/charts/meta-view-chart/model/view.d.ts +4 -0
  87. package/charts/meta-view-chart/pipes/auto-format.pipe.d.ts +7 -0
  88. package/charts/meta-view-chart/pipes/extract-data.pipe.d.ts +8 -0
  89. package/charts/meta-view-chart/pipes/field-type.pipe.d.ts +8 -0
  90. package/charts/meta-view-chart/pipes/filter-by.pipe.d.ts +7 -0
  91. package/charts/meta-view-chart/pipes/has.pipe.d.ts +7 -0
  92. package/charts/meta-view-chart/pipes/meta-element-max-value.pipe.d.ts +8 -0
  93. package/charts/meta-view-chart/pipes/meta-element-min-value.pipe.d.ts +8 -0
  94. package/charts/meta-view-chart/pipes/meta-element-to-bar-chart.pipe.d.ts +9 -0
  95. package/charts/meta-view-chart/pipes/month-name.pipe.d.ts +7 -0
  96. package/charts/meta-view-chart/pipes/pipes.module.d.ts +20 -0
  97. package/charts/meta-view-chart/pipes/printf.pipe.d.ts +7 -0
  98. package/charts/meta-view-chart/pipes/remove-from-array.pipe.d.ts +7 -0
  99. package/charts/meta-view-chart/pipes/safe-html.pipe.d.ts +10 -0
  100. package/charts/meta-view-chart/pipes/step-value-extractor.pipe.d.ts +9 -0
  101. package/charts/pie-chart/models/pie-chart-data.d.ts +5 -0
  102. package/charts/pie-chart/pie-chart.component.d.ts +39 -0
  103. package/charts/pie-chart/pie-chart.module.d.ts +9 -0
  104. package/charts/public-api.d.ts +28 -0
  105. package/charts/radar-chart/models/radar-chart-data.d.ts +11 -0
  106. package/charts/radar-chart/radar-chart.component.d.ts +38 -0
  107. package/charts/radar-chart/radar-chart.module.d.ts +9 -0
  108. package/charts/radial-chart/models/radial-chart-data.d.ts +5 -0
  109. package/charts/radial-chart/radial-chart.component.d.ts +40 -0
  110. package/charts/radial-chart/radial-chart.module.d.ts +9 -0
  111. package/charts/timeline-viewer-chart/models/timeline-viewer-chart-data.d.ts +17 -0
  112. package/charts/timeline-viewer-chart/models/timeline-viewer-chart-options.d.ts +9 -0
  113. package/charts/timeline-viewer-chart/timeline-viewer-chart.component.d.ts +40 -0
  114. package/charts/timeline-viewer-chart/timeline-viewer-chart.module.d.ts +9 -0
  115. package/esm2020/biit-solutions-wizardry-theme.mjs +5 -0
  116. package/esm2020/button/biit-action-button/biit-action-button.component.mjs +68 -0
  117. package/esm2020/button/biit-action-button/biit-action-button.module.mjs +32 -0
  118. package/esm2020/button/biit-button/biit-button.component.mjs +57 -0
  119. package/esm2020/button/biit-button/biit-button.module.mjs +40 -0
  120. package/esm2020/button/biit-icon-button/biit-icon-button.component.mjs +19 -0
  121. package/esm2020/button/biit-icon-button/biit-icon-button.module.mjs +24 -0
  122. package/esm2020/button/biit-solutions-wizardry-theme-button.mjs +5 -0
  123. package/esm2020/button/public-api.mjs +10 -0
  124. package/esm2020/calendar/biit-calendar/biit-calendar.component.mjs +166 -0
  125. package/esm2020/calendar/biit-calendar/biit-calendar.module.mjs +44 -0
  126. package/esm2020/calendar/biit-calendar/calendar-utility.mjs +2 -0
  127. package/esm2020/calendar/biit-calendar/models/calendar-configuration.mjs +9 -0
  128. package/esm2020/calendar/biit-calendar/models/calendar-event-click-event.mjs +7 -0
  129. package/esm2020/calendar/biit-calendar/models/calendar-event.mjs +38 -0
  130. package/esm2020/calendar/biit-solutions-wizardry-theme-calendar.mjs +5 -0
  131. package/esm2020/calendar/public-api.mjs +11 -0
  132. package/esm2020/calendar/utils/event-color.mjs +101 -0
  133. package/esm2020/charts/bar-chart/bar-chart.component.mjs +190 -0
  134. package/esm2020/charts/bar-chart/bar-chart.module.mjs +24 -0
  135. package/esm2020/charts/bar-chart/models/bar-chart-data.mjs +39 -0
  136. package/esm2020/charts/biit-solutions-wizardry-theme-charts.mjs +5 -0
  137. package/esm2020/charts/heatmap-chart/heatmap-chart-data.mjs +65 -0
  138. package/esm2020/charts/heatmap-chart/heatmap-chart-range.mjs +8 -0
  139. package/esm2020/charts/heatmap-chart/heatmap-chart.component.mjs +242 -0
  140. package/esm2020/charts/heatmap-chart/heatmap-chart.module.mjs +28 -0
  141. package/esm2020/charts/line-chart/line-chart.component.mjs +191 -0
  142. package/esm2020/charts/line-chart/line-chart.module.mjs +24 -0
  143. package/esm2020/charts/line-chart/models/line-chart-data.mjs +15 -0
  144. package/esm2020/charts/meta-view-chart/components/bar-range/bar-range.component.mjs +46 -0
  145. package/esm2020/charts/meta-view-chart/components/bar-range/bar-range.module.mjs +43 -0
  146. package/esm2020/charts/meta-view-chart/components/boolean-filter/boolean-filter.component.mjs +27 -0
  147. package/esm2020/charts/meta-view-chart/components/boolean-filter/boolean-filter.module.mjs +35 -0
  148. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.mjs +156 -0
  149. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.module.mjs +40 -0
  150. package/esm2020/charts/meta-view-chart/components/meta-board/meta-board.component.mjs +49 -0
  151. package/esm2020/charts/meta-view-chart/components/meta-board/meta-board.module.mjs +28 -0
  152. package/esm2020/charts/meta-view-chart/components/meta-element/meta-element.component.mjs +19 -0
  153. package/esm2020/charts/meta-view-chart/components/meta-element/meta-element.module.mjs +28 -0
  154. package/esm2020/charts/meta-view-chart/components/meta-sorter/meta-filter.component.mjs +92 -0
  155. package/esm2020/charts/meta-view-chart/components/meta-sorter/meta-filter.module.mjs +60 -0
  156. package/esm2020/charts/meta-view-chart/components/meta-sorter/model/FieldType.mjs +10 -0
  157. package/esm2020/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.component.mjs +37 -0
  158. package/esm2020/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.module.mjs +48 -0
  159. package/esm2020/charts/meta-view-chart/components/text-filter/text-filter.component.mjs +28 -0
  160. package/esm2020/charts/meta-view-chart/components/text-filter/text-filter.module.mjs +32 -0
  161. package/esm2020/charts/meta-view-chart/meta-view-chart.component.mjs +141 -0
  162. package/esm2020/charts/meta-view-chart/meta-view-chart.module.mjs +56 -0
  163. package/esm2020/charts/meta-view-chart/model/meta-view-data.mjs +13 -0
  164. package/esm2020/charts/meta-view-chart/model/meta-view-element-data.mjs +7 -0
  165. package/esm2020/charts/meta-view-chart/model/meta-view-preselection.mjs +7 -0
  166. package/esm2020/charts/meta-view-chart/model/view.mjs +6 -0
  167. package/esm2020/charts/meta-view-chart/pipes/auto-format.pipe.mjs +19 -0
  168. package/esm2020/charts/meta-view-chart/pipes/extract-data.pipe.mjs +16 -0
  169. package/esm2020/charts/meta-view-chart/pipes/field-type.pipe.mjs +34 -0
  170. package/esm2020/charts/meta-view-chart/pipes/filter-by.pipe.mjs +16 -0
  171. package/esm2020/charts/meta-view-chart/pipes/has.pipe.mjs +16 -0
  172. package/esm2020/charts/meta-view-chart/pipes/meta-element-max-value.pipe.mjs +20 -0
  173. package/esm2020/charts/meta-view-chart/pipes/meta-element-min-value.pipe.mjs +20 -0
  174. package/esm2020/charts/meta-view-chart/pipes/meta-element-to-bar-chart.pipe.mjs +29 -0
  175. package/esm2020/charts/meta-view-chart/pipes/month-name.pipe.mjs +18 -0
  176. package/esm2020/charts/meta-view-chart/pipes/pipes.module.mjs +84 -0
  177. package/esm2020/charts/meta-view-chart/pipes/printf.pipe.mjs +19 -0
  178. package/esm2020/charts/meta-view-chart/pipes/remove-from-array.pipe.mjs +16 -0
  179. package/esm2020/charts/meta-view-chart/pipes/safe-html.pipe.mjs +20 -0
  180. package/esm2020/charts/meta-view-chart/pipes/step-value-extractor.pipe.mjs +34 -0
  181. package/esm2020/charts/pie-chart/models/pie-chart-data.mjs +7 -0
  182. package/esm2020/charts/pie-chart/pie-chart.component.mjs +132 -0
  183. package/esm2020/charts/pie-chart/pie-chart.module.mjs +24 -0
  184. package/esm2020/charts/public-api.mjs +32 -0
  185. package/esm2020/charts/radar-chart/models/radar-chart-data.mjs +14 -0
  186. package/esm2020/charts/radar-chart/radar-chart.component.mjs +140 -0
  187. package/esm2020/charts/radar-chart/radar-chart.module.mjs +24 -0
  188. package/esm2020/charts/radial-chart/models/radial-chart-data.mjs +7 -0
  189. package/esm2020/charts/radial-chart/radial-chart.component.mjs +145 -0
  190. package/esm2020/charts/radial-chart/radial-chart.module.mjs +24 -0
  191. package/esm2020/charts/timeline-viewer-chart/models/timeline-viewer-chart-data.mjs +23 -0
  192. package/esm2020/charts/timeline-viewer-chart/models/timeline-viewer-chart-options.mjs +6 -0
  193. package/esm2020/charts/timeline-viewer-chart/timeline-viewer-chart.component.mjs +206 -0
  194. package/esm2020/charts/timeline-viewer-chart/timeline-viewer-chart.module.mjs +25 -0
  195. package/esm2020/i18n/biit-solutions-wizardry-theme-i18n.mjs +5 -0
  196. package/esm2020/i18n/i18n/http-loader.mjs +19 -0
  197. package/esm2020/i18n/i18n/supported-languages.mjs +9 -0
  198. package/esm2020/i18n/i18n/transloco-root.module.mjs +83 -0
  199. package/esm2020/i18n/public-api.mjs +7 -0
  200. package/esm2020/icon/biit-icon/biit-icon.component.mjs +92 -0
  201. package/esm2020/icon/biit-icon/biit-icon.module.mjs +24 -0
  202. package/esm2020/icon/biit-icon/biit-icon.service.mjs +25 -0
  203. package/esm2020/icon/biit-solutions-wizardry-theme-icon.mjs +5 -0
  204. package/esm2020/icon/public-api.mjs +7 -0
  205. package/esm2020/info/biit-cookies-consent/biit-cookies-consent.component.mjs +36 -0
  206. package/esm2020/info/biit-cookies-consent/biit-cookies-consent.module.mjs +36 -0
  207. package/esm2020/info/biit-gallery-card/biit-gallery-card.component.mjs +23 -0
  208. package/esm2020/info/biit-gallery-card/biit-gallery-card.module.mjs +28 -0
  209. package/esm2020/info/biit-progress-bar/biit-progress-bar.component.mjs +31 -0
  210. package/esm2020/info/biit-progress-bar/biit-progress-bar.module.mjs +24 -0
  211. package/esm2020/info/biit-snackbar/biit-notification/biit-notification.component.mjs +38 -0
  212. package/esm2020/info/biit-snackbar/biit-snackbar.component.mjs +50 -0
  213. package/esm2020/info/biit-snackbar/biit-snackbar.module.mjs +41 -0
  214. package/esm2020/info/biit-snackbar/biit-snackbar.service.mjs +64 -0
  215. package/esm2020/info/biit-snackbar/models/biit-snackbar-horizontal-position.mjs +7 -0
  216. package/esm2020/info/biit-snackbar/models/biit-snackbar-vertical-position.mjs +6 -0
  217. package/esm2020/info/biit-snackbar/models/notification-type.mjs +8 -0
  218. package/esm2020/info/biit-snackbar/models/notification.mjs +23 -0
  219. package/esm2020/info/biit-solutions-wizardry-theme-info.mjs +5 -0
  220. package/esm2020/info/biit-tooltip/biit-tooltip.component.mjs +19 -0
  221. package/esm2020/info/biit-tooltip/biit-tooltip.directive.mjs +106 -0
  222. package/esm2020/info/biit-tooltip/biit-tooltip.module.mjs +29 -0
  223. package/esm2020/info/biit-tooltip-icon/biit-tooltip-icon.component.mjs +23 -0
  224. package/esm2020/info/biit-tooltip-icon/biit-tooltip-icon.module.mjs +28 -0
  225. package/esm2020/info/public-api.mjs +23 -0
  226. package/esm2020/inputs/biit-checkbox/biit-checkbox.component.mjs +52 -0
  227. package/esm2020/inputs/biit-checkbox/biit-checkbox.module.mjs +32 -0
  228. package/esm2020/inputs/biit-datepicker/biit-datepicker.component.mjs +251 -0
  229. package/esm2020/inputs/biit-datepicker/biit-datepicker.module.mjs +68 -0
  230. package/esm2020/inputs/biit-datepicker/models/view.mjs +6 -0
  231. package/esm2020/inputs/biit-datepicker/pipes/calendar-date-pipe.mjs +18 -0
  232. package/esm2020/inputs/biit-datepicker/pipes/is-disabled-pipe.mjs +35 -0
  233. package/esm2020/inputs/biit-datepicker/pipes/is-same-day-pipe.mjs +19 -0
  234. package/esm2020/inputs/biit-datepicker/pipes/is-today-pipe.mjs +19 -0
  235. package/esm2020/inputs/biit-datepicker/pipes/month-selector-label-pipe.mjs +22 -0
  236. package/esm2020/inputs/biit-datepicker/pipes/out-of-month-pipe.mjs +19 -0
  237. package/esm2020/inputs/biit-dropdown/biit-dropdown.component.mjs +269 -0
  238. package/esm2020/inputs/biit-dropdown/biit-dropdown.module.mjs +36 -0
  239. package/esm2020/inputs/biit-group/biit-group.component.mjs +38 -0
  240. package/esm2020/inputs/biit-group/biit-group.module.mjs +32 -0
  241. package/esm2020/inputs/biit-input-text/biit-input-text.component.mjs +142 -0
  242. package/esm2020/inputs/biit-input-text/biit-input-text.module.mjs +40 -0
  243. package/esm2020/inputs/biit-multiselect/biit-multiselect.component.mjs +321 -0
  244. package/esm2020/inputs/biit-multiselect/biit-multiselect.module.mjs +40 -0
  245. package/esm2020/inputs/biit-radio-button/biit-radio-button.component.mjs +62 -0
  246. package/esm2020/inputs/biit-radio-button/biit-radio-button.module.mjs +36 -0
  247. package/esm2020/inputs/biit-slider/biit-slider.component.mjs +85 -0
  248. package/esm2020/inputs/biit-slider/biit-slider.module.mjs +32 -0
  249. package/esm2020/inputs/biit-slider-option/biit-slider-option.component.mjs +99 -0
  250. package/esm2020/inputs/biit-slider-option/biit-slider-option.module.mjs +36 -0
  251. package/esm2020/inputs/biit-slider-option-vertical/biit-slider-option-vertical.component.mjs +97 -0
  252. package/esm2020/inputs/biit-slider-option-vertical/biit-slider-option-vertical.module.mjs +36 -0
  253. package/esm2020/inputs/biit-slider-range/biit-slider-range.component.mjs +108 -0
  254. package/esm2020/inputs/biit-slider-range/biit-slider-range.module.mjs +32 -0
  255. package/esm2020/inputs/biit-solutions-wizardry-theme-inputs.mjs +5 -0
  256. package/esm2020/inputs/biit-ternary-togle/biit-ternary-toggle.component.mjs +65 -0
  257. package/esm2020/inputs/biit-ternary-togle/biit-ternary-toggle.module.mjs +31 -0
  258. package/esm2020/inputs/biit-textarea/biit-textarea.component.mjs +99 -0
  259. package/esm2020/inputs/biit-textarea/biit-textarea.module.mjs +36 -0
  260. package/esm2020/inputs/biit-toggle/biit-toggle.component.mjs +45 -0
  261. package/esm2020/inputs/biit-toggle/biit-toggle.module.mjs +28 -0
  262. package/esm2020/inputs/biit-toggle-group/biit-toggle-button.component.mjs +23 -0
  263. package/esm2020/inputs/biit-toggle-group/biit-toggle-group.component.mjs +69 -0
  264. package/esm2020/inputs/biit-toggle-group/biit-toggle-group.module.mjs +37 -0
  265. package/esm2020/inputs/public-api.mjs +36 -0
  266. package/esm2020/login/biit-login/biit-login.component.mjs +238 -0
  267. package/esm2020/login/biit-login/biit-login.module.mjs +53 -0
  268. package/esm2020/login/biit-login/models/LoginErrors.mjs +10 -0
  269. package/esm2020/login/biit-login/models/biit-login-service-support.mjs +2 -0
  270. package/esm2020/login/biit-login/models/sign-up-request.mjs +11 -0
  271. package/esm2020/login/biit-solutions-wizardry-theme-login.mjs +5 -0
  272. package/esm2020/login/public-api.mjs +8 -0
  273. package/esm2020/models/BiitLogin.mjs +14 -0
  274. package/esm2020/models/biit-solutions-wizardry-theme-models.mjs +5 -0
  275. package/esm2020/models/public-api.mjs +5 -0
  276. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.component.mjs +87 -0
  277. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.module.mjs +32 -0
  278. package/esm2020/navigation/biit-nav-user/biit-nav-user.component.mjs +26 -0
  279. package/esm2020/navigation/biit-nav-user/biit-nav-user.module.mjs +24 -0
  280. package/esm2020/navigation/biit-solutions-wizardry-theme-navigation.mjs +5 -0
  281. package/esm2020/navigation/biit-tab-group/biit-tab-group.component.mjs +54 -0
  282. package/esm2020/navigation/biit-tab-group/biit-tab-group.module.mjs +36 -0
  283. package/esm2020/navigation/biit-tab-group/biit-tab.component.mjs +21 -0
  284. package/esm2020/navigation/biit-vertical-menu/biit-vertical-menu.component.mjs +30 -0
  285. package/esm2020/navigation/biit-vertical-menu/biit-vertical-menu.module.mjs +36 -0
  286. package/esm2020/navigation/public-api.mjs +13 -0
  287. package/esm2020/popup/biit-popup/biit-popup.component.mjs +156 -0
  288. package/esm2020/popup/biit-popup/biit-popup.module.mjs +52 -0
  289. package/esm2020/popup/biit-solutions-wizardry-theme-popup.mjs +5 -0
  290. package/esm2020/popup/public-api.mjs +6 -0
  291. package/esm2020/public-api.mjs +6 -0
  292. package/esm2020/table/biit-datatable/biit-datatable.component.mjs +138 -0
  293. package/esm2020/table/biit-datatable/biit-datatable.module.mjs +62 -0
  294. package/esm2020/table/biit-datatable/models/datatable-column.mjs +15 -0
  295. package/esm2020/table/biit-datatable/models/page.mjs +11 -0
  296. package/esm2020/table/biit-datatable-pager/biit-datatable-pager.component.mjs +35 -0
  297. package/esm2020/table/biit-datatable-pager/biit-datatable-pager.module.mjs +40 -0
  298. package/esm2020/table/biit-paginator/biit-paginator.component.mjs +196 -0
  299. package/esm2020/table/biit-paginator/biit-paginator.module.mjs +48 -0
  300. package/esm2020/table/biit-paginator/models/biit-paginator-options.mjs +11 -0
  301. package/esm2020/table/biit-solutions-wizardry-theme-table.mjs +5 -0
  302. package/esm2020/table/biit-table/biit-table.component.mjs +301 -0
  303. package/esm2020/table/biit-table/biit-table.module.mjs +95 -0
  304. package/esm2020/table/biit-table/models/biit-table-action-response.mjs +7 -0
  305. package/esm2020/table/biit-table/models/biit-table-column.mjs +21 -0
  306. package/esm2020/table/biit-table/models/biit-table-data.mjs +7 -0
  307. package/esm2020/table/biit-table/models/biit-table-response.mjs +9 -0
  308. package/esm2020/table/biit-table/models/biit-table-sorting.mjs +12 -0
  309. package/esm2020/table/biit-table/models/column-resize-handler.mjs +3 -0
  310. package/esm2020/table/biit-table/pipes/column-data-pipe.mjs +21 -0
  311. package/esm2020/table/biit-table/pipes/visible-columns-pipe.mjs +16 -0
  312. package/esm2020/table/public-api.mjs +20 -0
  313. package/esm2020/table/utils/generic-filter.mjs +47 -0
  314. package/esm2020/table/utils/generic-sort.mjs +42 -0
  315. package/esm2020/utils/biit-solutions-wizardry-theme-utils.mjs +5 -0
  316. package/esm2020/utils/error-handler.mjs +24 -0
  317. package/esm2020/utils/i-stack.mjs +2 -0
  318. package/esm2020/utils/input-limits.mjs +8 -0
  319. package/esm2020/utils/pipes/localized-date-pipe.mjs +23 -0
  320. package/esm2020/utils/pipes/localized-date-pipe.module.mjs +17 -0
  321. package/esm2020/utils/pipes/map-get-pipe.mjs +21 -0
  322. package/esm2020/utils/pipes/map-get-pipe.module.mjs +17 -0
  323. package/esm2020/utils/public-api.mjs +11 -0
  324. package/esm2020/utils/stack.mjs +22 -0
  325. package/fesm2015/biit-solutions-wizardry-theme-button.mjs +233 -0
  326. package/fesm2015/biit-solutions-wizardry-theme-button.mjs.map +1 -0
  327. package/fesm2015/biit-solutions-wizardry-theme-calendar.mjs +369 -0
  328. package/fesm2015/biit-solutions-wizardry-theme-calendar.mjs.map +1 -0
  329. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs +2780 -0
  330. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs.map +1 -0
  331. package/fesm2015/biit-solutions-wizardry-theme-i18n.mjs +118 -0
  332. package/fesm2015/biit-solutions-wizardry-theme-i18n.mjs.map +1 -0
  333. package/fesm2015/biit-solutions-wizardry-theme-icon.mjs +147 -0
  334. package/fesm2015/biit-solutions-wizardry-theme-icon.mjs.map +1 -0
  335. package/fesm2015/biit-solutions-wizardry-theme-info.mjs +572 -0
  336. package/fesm2015/biit-solutions-wizardry-theme-info.mjs.map +1 -0
  337. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs +2317 -0
  338. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs.map +1 -0
  339. package/fesm2015/biit-solutions-wizardry-theme-login.mjs +318 -0
  340. package/fesm2015/biit-solutions-wizardry-theme-login.mjs.map +1 -0
  341. package/fesm2015/biit-solutions-wizardry-theme-models.mjs +24 -0
  342. package/fesm2015/biit-solutions-wizardry-theme-models.mjs.map +1 -0
  343. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs +330 -0
  344. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs.map +1 -0
  345. package/fesm2015/biit-solutions-wizardry-theme-popup.mjs +216 -0
  346. package/fesm2015/biit-solutions-wizardry-theme-popup.mjs.map +1 -0
  347. package/fesm2015/biit-solutions-wizardry-theme-table.mjs +1067 -0
  348. package/fesm2015/biit-solutions-wizardry-theme-table.mjs.map +1 -0
  349. package/fesm2015/biit-solutions-wizardry-theme-utils.mjs +136 -0
  350. package/fesm2015/biit-solutions-wizardry-theme-utils.mjs.map +1 -0
  351. package/fesm2015/biit-solutions-wizardry-theme.mjs +12 -0
  352. package/fesm2015/biit-solutions-wizardry-theme.mjs.map +1 -0
  353. package/fesm2020/biit-solutions-wizardry-theme-button.mjs +233 -0
  354. package/fesm2020/biit-solutions-wizardry-theme-button.mjs.map +1 -0
  355. package/fesm2020/biit-solutions-wizardry-theme-calendar.mjs +369 -0
  356. package/fesm2020/biit-solutions-wizardry-theme-calendar.mjs.map +1 -0
  357. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs +2746 -0
  358. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs.map +1 -0
  359. package/fesm2020/biit-solutions-wizardry-theme-i18n.mjs +118 -0
  360. package/fesm2020/biit-solutions-wizardry-theme-i18n.mjs.map +1 -0
  361. package/fesm2020/biit-solutions-wizardry-theme-icon.mjs +145 -0
  362. package/fesm2020/biit-solutions-wizardry-theme-icon.mjs.map +1 -0
  363. package/fesm2020/biit-solutions-wizardry-theme-info.mjs +572 -0
  364. package/fesm2020/biit-solutions-wizardry-theme-info.mjs.map +1 -0
  365. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs +2313 -0
  366. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs.map +1 -0
  367. package/fesm2020/biit-solutions-wizardry-theme-login.mjs +317 -0
  368. package/fesm2020/biit-solutions-wizardry-theme-login.mjs.map +1 -0
  369. package/fesm2020/biit-solutions-wizardry-theme-models.mjs +24 -0
  370. package/fesm2020/biit-solutions-wizardry-theme-models.mjs.map +1 -0
  371. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs +328 -0
  372. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs.map +1 -0
  373. package/fesm2020/biit-solutions-wizardry-theme-popup.mjs +216 -0
  374. package/fesm2020/biit-solutions-wizardry-theme-popup.mjs.map +1 -0
  375. package/fesm2020/biit-solutions-wizardry-theme-table.mjs +1064 -0
  376. package/fesm2020/biit-solutions-wizardry-theme-table.mjs.map +1 -0
  377. package/fesm2020/biit-solutions-wizardry-theme-utils.mjs +135 -0
  378. package/fesm2020/biit-solutions-wizardry-theme-utils.mjs.map +1 -0
  379. package/fesm2020/biit-solutions-wizardry-theme.mjs +12 -0
  380. package/fesm2020/biit-solutions-wizardry-theme.mjs.map +1 -0
  381. package/i18n/i18n/http-loader.d.ts +11 -0
  382. package/i18n/i18n/supported-languages.d.ts +10 -0
  383. package/i18n/i18n/transloco-root.module.d.ts +8 -0
  384. package/i18n/index.d.ts +5 -0
  385. package/i18n/public-api.d.ts +3 -0
  386. package/icon/biit-icon/biit-icon.component.d.ts +23 -0
  387. package/icon/biit-icon/biit-icon.module.d.ts +8 -0
  388. package/icon/biit-icon/biit-icon.service.d.ts +10 -0
  389. package/icon/index.d.ts +5 -0
  390. package/icon/public-api.d.ts +3 -0
  391. package/index.d.ts +5 -0
  392. package/info/biit-cookies-consent/biit-cookies-consent.component.d.ts +8 -0
  393. package/info/biit-cookies-consent/biit-cookies-consent.module.d.ts +11 -0
  394. package/info/biit-gallery-card/biit-gallery-card.component.d.ts +9 -0
  395. package/info/biit-gallery-card/biit-gallery-card.module.d.ts +9 -0
  396. package/info/biit-progress-bar/biit-progress-bar.component.d.ts +13 -0
  397. package/info/biit-progress-bar/biit-progress-bar.module.d.ts +8 -0
  398. package/info/biit-snackbar/biit-notification/biit-notification.component.d.ts +12 -0
  399. package/info/biit-snackbar/biit-snackbar.component.d.ts +12 -0
  400. package/info/biit-snackbar/biit-snackbar.module.d.ts +12 -0
  401. package/info/biit-snackbar/biit-snackbar.service.d.ts +21 -0
  402. package/info/biit-snackbar/models/biit-snackbar-horizontal-position.d.ts +5 -0
  403. package/info/biit-snackbar/models/biit-snackbar-vertical-position.d.ts +4 -0
  404. package/info/biit-snackbar/models/notification-type.d.ts +6 -0
  405. package/info/biit-snackbar/models/notification.d.ts +12 -0
  406. package/info/biit-tooltip/biit-tooltip.component.d.ts +11 -0
  407. package/info/biit-tooltip/biit-tooltip.directive.d.ts +16 -0
  408. package/info/biit-tooltip/biit-tooltip.module.d.ts +9 -0
  409. package/info/biit-tooltip-icon/biit-tooltip-icon.component.d.ts +8 -0
  410. package/info/biit-tooltip-icon/biit-tooltip-icon.module.d.ts +9 -0
  411. package/info/index.d.ts +5 -0
  412. package/info/public-api.d.ts +19 -0
  413. package/inputs/biit-checkbox/biit-checkbox.component.d.ts +16 -0
  414. package/inputs/biit-checkbox/biit-checkbox.module.d.ts +10 -0
  415. package/inputs/biit-datepicker/biit-datepicker.component.d.ts +59 -0
  416. package/inputs/biit-datepicker/biit-datepicker.module.d.ts +20 -0
  417. package/inputs/biit-datepicker/models/view.d.ts +4 -0
  418. package/inputs/biit-datepicker/pipes/calendar-date-pipe.d.ts +8 -0
  419. package/inputs/biit-datepicker/pipes/is-disabled-pipe.d.ts +8 -0
  420. package/inputs/biit-datepicker/pipes/is-same-day-pipe.d.ts +8 -0
  421. package/inputs/biit-datepicker/pipes/is-today-pipe.d.ts +8 -0
  422. package/inputs/biit-datepicker/pipes/month-selector-label-pipe.d.ts +11 -0
  423. package/inputs/biit-datepicker/pipes/out-of-month-pipe.d.ts +8 -0
  424. package/inputs/biit-dropdown/biit-dropdown.component.d.ts +52 -0
  425. package/inputs/biit-dropdown/biit-dropdown.module.d.ts +11 -0
  426. package/inputs/biit-group/biit-group.component.d.ts +14 -0
  427. package/inputs/biit-group/biit-group.module.d.ts +10 -0
  428. package/inputs/biit-input-text/biit-input-text.component.d.ts +44 -0
  429. package/inputs/biit-input-text/biit-input-text.module.d.ts +12 -0
  430. package/inputs/biit-multiselect/biit-multiselect.component.d.ts +63 -0
  431. package/inputs/biit-multiselect/biit-multiselect.module.d.ts +12 -0
  432. package/inputs/biit-radio-button/biit-radio-button.component.d.ts +22 -0
  433. package/inputs/biit-radio-button/biit-radio-button.module.d.ts +11 -0
  434. package/inputs/biit-slider/biit-slider.component.d.ts +27 -0
  435. package/inputs/biit-slider/biit-slider.module.d.ts +10 -0
  436. package/inputs/biit-slider-option/biit-slider-option.component.d.ts +32 -0
  437. package/inputs/biit-slider-option/biit-slider-option.module.d.ts +11 -0
  438. package/inputs/biit-slider-option-vertical/biit-slider-option-vertical.component.d.ts +32 -0
  439. package/inputs/biit-slider-option-vertical/biit-slider-option-vertical.module.d.ts +11 -0
  440. package/inputs/biit-slider-range/biit-slider-range.component.d.ts +28 -0
  441. package/inputs/biit-slider-range/biit-slider-range.module.d.ts +10 -0
  442. package/inputs/biit-ternary-togle/biit-ternary-toggle.component.d.ts +15 -0
  443. package/inputs/biit-ternary-togle/biit-ternary-toggle.module.d.ts +9 -0
  444. package/inputs/biit-textarea/biit-textarea.component.d.ts +31 -0
  445. package/inputs/biit-textarea/biit-textarea.module.d.ts +11 -0
  446. package/inputs/biit-toggle/biit-toggle.component.d.ts +14 -0
  447. package/inputs/biit-toggle/biit-toggle.module.d.ts +9 -0
  448. package/inputs/biit-toggle-group/biit-toggle-button.component.d.ts +12 -0
  449. package/inputs/biit-toggle-group/biit-toggle-group.component.d.ts +19 -0
  450. package/inputs/biit-toggle-group/biit-toggle-group.module.d.ts +11 -0
  451. package/inputs/index.d.ts +5 -0
  452. package/inputs/public-api.d.ts +32 -0
  453. package/login/biit-login/biit-login.component.d.ts +59 -0
  454. package/login/biit-login/biit-login.module.d.ts +14 -0
  455. package/login/biit-login/models/LoginErrors.d.ts +8 -0
  456. package/login/biit-login/models/biit-login-service-support.d.ts +3 -0
  457. package/login/biit-login/models/sign-up-request.d.ts +10 -0
  458. package/login/index.d.ts +5 -0
  459. package/login/public-api.d.ts +4 -0
  460. package/models/BiitLogin.d.ts +6 -0
  461. package/models/index.d.ts +5 -0
  462. package/models/public-api.d.ts +1 -0
  463. package/navigation/biit-nav-menu/biit-nav-menu.component.d.ts +31 -0
  464. package/navigation/biit-nav-menu/biit-nav-menu.module.d.ts +10 -0
  465. package/navigation/biit-nav-user/biit-nav-user.component.d.ts +10 -0
  466. package/navigation/biit-nav-user/biit-nav-user.module.d.ts +8 -0
  467. package/navigation/biit-tab-group/biit-tab-group.component.d.ts +18 -0
  468. package/navigation/biit-tab-group/biit-tab-group.module.d.ts +10 -0
  469. package/navigation/biit-tab-group/biit-tab.component.d.ts +8 -0
  470. package/navigation/biit-vertical-menu/biit-vertical-menu.component.d.ts +11 -0
  471. package/navigation/biit-vertical-menu/biit-vertical-menu.module.d.ts +12 -0
  472. package/navigation/index.d.ts +5 -0
  473. package/navigation/public-api.d.ts +9 -0
  474. package/package.json +151 -0
  475. package/popup/biit-popup/biit-popup.component.d.ts +66 -0
  476. package/popup/biit-popup/biit-popup.module.d.ts +9 -0
  477. package/popup/index.d.ts +5 -0
  478. package/popup/public-api.d.ts +2 -0
  479. package/public-api.d.ts +1 -0
  480. package/styles.scss +128 -0
  481. package/table/biit-datatable/biit-datatable.component.d.ts +57 -0
  482. package/table/biit-datatable/biit-datatable.module.d.ts +15 -0
  483. package/table/biit-datatable/models/datatable-column.d.ts +192 -0
  484. package/table/biit-datatable/models/page.d.ts +6 -0
  485. package/table/biit-datatable-pager/biit-datatable-pager.component.d.ts +10 -0
  486. package/table/biit-datatable-pager/biit-datatable-pager.module.d.ts +13 -0
  487. package/table/biit-paginator/biit-paginator.component.d.ts +31 -0
  488. package/table/biit-paginator/biit-paginator.module.d.ts +13 -0
  489. package/table/biit-paginator/models/biit-paginator-options.d.ts +9 -0
  490. package/table/biit-table/biit-table.component.d.ts +87 -0
  491. package/table/biit-table/biit-table.module.d.ts +19 -0
  492. package/table/biit-table/models/biit-table-action-response.d.ts +5 -0
  493. package/table/biit-table/models/biit-table-column.d.ts +18 -0
  494. package/table/biit-table/models/biit-table-data.d.ts +5 -0
  495. package/table/biit-table/models/biit-table-response.d.ts +8 -0
  496. package/table/biit-table/models/biit-table-sorting.d.ts +9 -0
  497. package/table/biit-table/models/column-resize-handler.d.ts +7 -0
  498. package/table/biit-table/pipes/column-data-pipe.d.ts +7 -0
  499. package/table/biit-table/pipes/visible-columns-pipe.d.ts +8 -0
  500. package/table/index.d.ts +5 -0
  501. package/table/public-api.d.ts +16 -0
  502. package/table/utils/generic-filter.d.ts +3 -0
  503. package/table/utils/generic-sort.d.ts +5 -0
  504. package/utils/error-handler.d.ts +6 -0
  505. package/utils/i-stack.d.ts +6 -0
  506. package/utils/index.d.ts +5 -0
  507. package/utils/input-limits.d.ts +7 -0
  508. package/utils/pipes/localized-date-pipe.d.ts +10 -0
  509. package/utils/pipes/localized-date-pipe.module.d.ts +7 -0
  510. package/utils/pipes/map-get-pipe.d.ts +7 -0
  511. package/utils/pipes/map-get-pipe.module.d.ts +7 -0
  512. package/utils/public-api.d.ts +7 -0
  513. package/utils/stack.d.ts +10 -0
@@ -0,0 +1,369 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
3
+ import * as i1 from '@ngneat/transloco';
4
+ import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
5
+ import { enGB, nl, es } from 'date-fns/locale';
6
+ import { differenceInMinutes, startOfHour, startOfDay, setDefaultOptions, endOfWeek, addDays, addMinutes, isSameDay } from 'date-fns';
7
+ import { Subject, fromEvent, finalize, takeUntil } from 'rxjs';
8
+ import * as i2 from '@angular/common';
9
+ import { CommonModule } from '@angular/common';
10
+ import * as i3 from 'angular-calendar';
11
+ import { CalendarModule, DateAdapter } from 'angular-calendar';
12
+ import * as i4 from 'angular-draggable-droppable';
13
+ import * as i5 from '@perfectmemory/ngx-contextmenu';
14
+ import { ContextMenuModule } from '@perfectmemory/ngx-contextmenu';
15
+ import * as i6 from '@ngneat/transloco-locale';
16
+ import { TranslocoDatePipe } from '@ngneat/transloco-locale';
17
+ import { TranslocoRootModule } from '@biit-solutions/wizardry-theme/i18n';
18
+ import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
19
+
20
+ class EventColor {
21
+ }
22
+ EventColor.RED = {
23
+ primary: '#F20D5E',
24
+ secondary: '#FDD6E4',
25
+ hover: '#F3C0D4',
26
+ tertiary: '#A1093F',
27
+ barred: false
28
+ };
29
+ EventColor.GREEN = {
30
+ primary: '#57A87F',
31
+ secondary: '#cee6dc',
32
+ hover: '#b2d8c7',
33
+ tertiary: '#2b5440',
34
+ barred: false
35
+ };
36
+ EventColor.YELLOW = {
37
+ primary: '#ddab40',
38
+ secondary: '#f4e7c7',
39
+ hover: '#eddaa6',
40
+ tertiary: '#6f561f',
41
+ barred: false
42
+ };
43
+ EventColor.BLUE = {
44
+ primary: '#3f82c2',
45
+ secondary: '#c8dded',
46
+ hover: '#a7c7e2',
47
+ tertiary: '#1e4161',
48
+ barred: false
49
+ };
50
+ EventColor.PURPLE = {
51
+ primary: '#66417e',
52
+ secondary: '#d6cddc',
53
+ hover: '#beaec7',
54
+ tertiary: '#33213f',
55
+ barred: false
56
+ };
57
+ EventColor.GREY = {
58
+ primary: '#716e6e',
59
+ secondary: '#dddddd',
60
+ hover: '#bdbdbd',
61
+ tertiary: '#474747',
62
+ barred: false
63
+ };
64
+ EventColor.EMPTY_RED = {
65
+ primary: '#F20D5E',
66
+ secondary: '#FFFFFF',
67
+ hover: '#F3C0D4',
68
+ tertiary: '#A1093F',
69
+ barred: false
70
+ };
71
+ EventColor.EMPTY_GREEN = {
72
+ primary: '#57A87F',
73
+ secondary: '#FFFFFF',
74
+ hover: '#b2d8c7',
75
+ tertiary: '#2b5440',
76
+ barred: false
77
+ };
78
+ EventColor.EMPTY_YELLOW = {
79
+ primary: '#ddab40',
80
+ secondary: '#FFFFFF',
81
+ hover: '#eddaa6',
82
+ tertiary: '#6f561f',
83
+ barred: false
84
+ };
85
+ EventColor.EMPTY_BLUE = {
86
+ primary: '#3f82c2',
87
+ secondary: '#FFFFFF',
88
+ hover: '#a7c7e2',
89
+ tertiary: '#1e4161',
90
+ barred: false
91
+ };
92
+ EventColor.EMPTY_PURPLE = {
93
+ primary: '#66417e',
94
+ secondary: '#FFFFFF',
95
+ hover: '#beaec7',
96
+ tertiary: '#33213f',
97
+ barred: false
98
+ };
99
+ EventColor.BARRED_BLUE = {
100
+ primary: '#3f82c2',
101
+ secondary: '#FFFFFF',
102
+ hover: '#a7c7e2',
103
+ tertiary: '#1e4161',
104
+ barred: true
105
+ };
106
+ EventColor.BARRED_GREY = {
107
+ primary: '#716e6e',
108
+ secondary: '#dddddd',
109
+ hover: '#bdbdbd',
110
+ tertiary: '#474747',
111
+ barred: true
112
+ };
113
+ EventColor.BARRED_YELLOW = {
114
+ primary: '#ddab40',
115
+ secondary: '#f4e7c7',
116
+ hover: '#eddaa6',
117
+ tertiary: '#6f561f',
118
+ barred: true
119
+ };
120
+
121
+ class CalendarConfiguration {
122
+ constructor(createdOnDrag = false, barred = false) {
123
+ this.createOnDrag = false;
124
+ this.barred = false;
125
+ this.createOnDrag = createdOnDrag;
126
+ this.barred = barred;
127
+ }
128
+ }
129
+
130
+ class BiitCalendarComponent {
131
+ constructor(transloco, cdr, elem) {
132
+ this.transloco = transloco;
133
+ this.cdr = cdr;
134
+ this.elem = elem;
135
+ this.calendarMode = CalendarMode.MONTH;
136
+ this.viewDate = new Date();
137
+ this.events = [];
138
+ this.configuration = new CalendarConfiguration();
139
+ this.onEventDrop = new EventEmitter();
140
+ this.onEventClick = new EventEmitter();
141
+ this.onEventDblClick = new EventEmitter();
142
+ this.onCreatedEvent = new EventEmitter();
143
+ this.weekStartsOn = 1;
144
+ this.$calendarEvent = castTo();
145
+ this.refresh = new Subject();
146
+ this.CalendarMode = CalendarMode;
147
+ }
148
+ customHeaderDate(date) {
149
+ throw new Error('Method not implemented.');
150
+ }
151
+ log(event) {
152
+ console.debug("DEVELOPMENT LOG: ", event);
153
+ }
154
+ ngOnInit() {
155
+ this.initLocalization();
156
+ }
157
+ ngAfterViewInit() {
158
+ this.scrollToCurrentView();
159
+ }
160
+ scrollToCurrentView() {
161
+ if (this.calendarMode === CalendarMode.WEEK) {
162
+ // each hour is 60px high, so to get the pixels to scroll it's just the amount of minutes since midnight
163
+ this.elem.nativeElement.querySelector('.cal-time-events').scrollTop = differenceInMinutes(startOfHour(new Date()), startOfDay(new Date()));
164
+ }
165
+ }
166
+ initLocalization() {
167
+ switch (this.transloco.getActiveLang()) {
168
+ case 'es':
169
+ this.locale = es;
170
+ break;
171
+ case 'nl':
172
+ this.locale = nl;
173
+ break;
174
+ default:
175
+ this.locale = enGB;
176
+ }
177
+ setDefaultOptions({ locale: this.locale });
178
+ }
179
+ eventStyles(color) {
180
+ return {
181
+ '--event-primary': color.primary,
182
+ '--event-secondary': color.secondary,
183
+ '--event-hover': color.hover,
184
+ '--event-tertiary': color.tertiary
185
+ };
186
+ }
187
+ floorToNearest(amount, precision) {
188
+ return Math.floor(amount / precision) * precision;
189
+ }
190
+ ceilToNearest(amount, precision) {
191
+ return Math.ceil(amount / precision) * precision;
192
+ }
193
+ startDragToCreate(segment, segmentElement, event) {
194
+ if (event.button !== 0 /* left click */) {
195
+ return;
196
+ }
197
+ if (!this.configuration.createOnDrag) {
198
+ return;
199
+ }
200
+ const dragToSelectEvent = {
201
+ id: this.events.length,
202
+ title: undefined,
203
+ start: segment.date,
204
+ end: segment.date,
205
+ meta: {
206
+ tmpEvent: true,
207
+ },
208
+ color: EventColor.RED,
209
+ };
210
+ this.events = [...this.events, dragToSelectEvent];
211
+ const segmentPosition = segmentElement.getBoundingClientRect();
212
+ const endOfView = endOfWeek(this.viewDate, {
213
+ weekStartsOn: this.weekStartsOn,
214
+ });
215
+ fromEvent(document, 'mousemove')
216
+ .pipe(finalize(() => {
217
+ this.onCreatedEvent.emit(dragToSelectEvent);
218
+ delete dragToSelectEvent.meta.tmpEvent;
219
+ this.refreshCalendar();
220
+ }), takeUntil(fromEvent(document, 'mouseup')))
221
+ .subscribe((mouseMoveEvent) => {
222
+ const minutesDiff = this.ceilToNearest(mouseMoveEvent.clientY - segmentPosition.top, 30) - 1;
223
+ const daysDiff = this.floorToNearest(mouseMoveEvent.clientX - segmentPosition.left, segmentPosition.width) / segmentPosition.width;
224
+ const newEnd = addDays(addMinutes(segment.date, minutesDiff), daysDiff);
225
+ if (!isSameDay(newEnd, segment.date)) {
226
+ return;
227
+ }
228
+ if (newEnd > segment.date && newEnd < endOfView) {
229
+ dragToSelectEvent.end = newEnd;
230
+ }
231
+ this.refreshCalendar();
232
+ });
233
+ }
234
+ refreshCalendar() {
235
+ this.events = [...this.events];
236
+ this.cdr.detectChanges();
237
+ }
238
+ }
239
+ BiitCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCalendarComponent, deps: [{ token: i1.TranslocoService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
240
+ BiitCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitCalendarComponent, selector: "biit-calendar", inputs: { calendarMode: "calendarMode", viewDate: "viewDate", events: "events", gridContextMenu: "gridContextMenu", eventContextMenu: "eventContextMenu", calendarUtility: "calendarUtility", configuration: "configuration" }, outputs: { onEventDrop: "onEventDrop", onEventClick: "onEventClick", onEventDblClick: "onEventDblClick", onCreatedEvent: "onCreatedEvent" }, providers: [{
241
+ provide: TRANSLOCO_SCOPE,
242
+ useValue: { scope: 'wizardry-theme/calendar', alias: "calendar" }
243
+ }], ngImport: i0, template: "<mwl-calendar-week-view [style.display]=\"calendarMode != CalendarMode.WEEK ? 'none' : null\"\n #calendar\n [locale]=\"locale.code\"\n [viewDate]=\"viewDate\"\n [events]=\"events\"\n [headerTemplate]=\"customHeader\"\n [currentTimeMarkerTemplate]=\"currentTimeMarkerTemplate\"\n [hourSegmentTemplate]=\"hourSegmentTemplate\"\n [eventTemplate]=\"eventTemplate\"\n [allDayEventsLabelTemplate]=\"allDayEventsLabelTemplate\"\n [refresh]=\"refresh\"\n (eventTimesChanged)=\"onEventDrop.emit($event)\"\n (eventClicked)=\"onEventClick.emit({event: $calendarEvent($event.event), sourceEvent: $event.sourceEvent})\"\n style=\"display: flex; flex-direction: column; height: 100%;\"\n></mwl-calendar-week-view>\n\n<ng-template\n #customHeader\n let-days=\"days\"\n let-locale=\"locale\"\n let-dayHeaderClicked=\"dayHeaderClicked\"\n let-eventDropped=\"eventDropped\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n let-dragEnter=\"dragEnter\"\n>\n <div class=\"cal-day-headers\" role=\"row\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [ngClass]=\"day.cssClass\"\n (mwlClick)=\"dayHeaderClicked.emit({ day: day, sourceEvent: $event })\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped.emit({\n event: $event.dropData.event,\n newStart: day.date\n })\n \"\n (dragEnter)=\"dragEnter.emit({ date: day.date })\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n <span style=\"text-transform: capitalize\">\n <div *ngIf=\"!calendarUtility?.customHeaderDate; else customHeaderDate\">\n {{ day.date | translocoDate: {weekday: 'short'}: this.locale }}\n {{ day.date | translocoDate: {day: '2-digit'}: locale }}\n </div>\n <ng-template #customHeaderDate>\n {{calendarUtility?.customHeaderDate(day.date)}}\n </ng-template>\n </span>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #currentTimeMarkerTemplate\n let-columnDate=\"columnDate\"\n let-dayStartHour=\"dayStartHour\"\n let-dayStartMinute=\"dayStartMinute\"\n let-dayEndHour=\"dayEndHour\"\n let-dayEndMinute=\"dayEndMinute\"\n let-isVisible=\"isVisible\"\n let-topPx=\"topPx\"\n>\n <div #timeMarker\n class=\"cal-current-time-marker-custom\"\n *ngIf=\"isVisible\"\n [style.top.px]=\"topPx\"\n ></div>\n</ng-template>\n\n<ng-template\n #hourSegmentTemplate\n let-segment=\"segment\"\n let-locale=\"locale\"\n let-segmentHeight=\"segmentHeight\"\n let-isTimeLabel=\"isTimeLabel\"\n let-daysInWeek=\"daysInWeek\"\n>\n <div\n #hourSegmentElement\n [attr.aria-hidden]=\"\n {}\n | calendarA11y\n : (daysInWeek === 1\n ? 'hideDayHourSegment'\n : 'hideWeekHourSegment')\n \"\n class=\"cal-hour-segment\"\n [style.height.px]=\"segmentHeight\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n [contextMenu]=\"gridContextMenu\"\n [contextMenuValue]=\"segment.date\"\n (mousedown)=\"startDragToCreate(segment, hourSegmentElement, $event)\"\n >\n <div class=\"cal-time\" *ngIf=\"isTimeLabel\">\n {{segment.displayDate | date: 'HH:mm'}}\n </div>\n </div>\n</ng-template>\n\n<ng-template #allDayEventsLabelTemplate\n>\n <div style=\"position: relative\">\n <div style=\"display: block;\n text-align: center;\n position: absolute;\n top: 0.1rem;\n right: -36px;\n font-size: 0.7rem;\n width: 70px;\">\n all day\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #eventTemplate\n let-weekEvent=\"weekEvent\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDisabled=\"tooltipDisabled\"\n let-tooltipDelay=\"tooltipDelay\"\n let-column=\"column\"\n let-daysInWeek=\"daysInWeek\"\n>\n <div #calEvent\n class=\"cal-event\"\n [class.barred]=\"configuration.barred || weekEvent.event.color.barred\"\n [ngStyle]=\"eventStyles(weekEvent.event.color)\"\n [mwlCalendarTooltip]=\"\n !tooltipDisabled\n ? (weekEvent.event.title\n | calendarEventTitle\n : (daysInWeek === 1 ? 'dayTooltip' : 'weekTooltip')\n : weekEvent.tempEvent || weekEvent.event)\n : ''\n \"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"weekEvent.tempEvent || weekEvent.event\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n (mwlClick)=\"eventClicked.emit({ sourceEvent: $event })\"\n (dblclick)=\"onEventDblClick.emit({event: $calendarEvent(weekEvent.event), sourceEvent: $event})\"\n (mwlKeydownEnter)=\"eventClicked.emit({ sourceEvent: $event })\"\n [contextMenu]=\"eventContextMenu\"\n [contextMenuValue]=\"weekEvent.event\"\n tabindex=\"0\"\n role=\"application\"\n >\n <span *ngIf=\"calEvent.offsetHeight >= 40\" style=\"user-select: none;\">\n {{weekEvent.event.start | date: 'HH:mm'}} - {{weekEvent.event.end | date: 'HH:mm'}}\n </span>\n <mwl-calendar-event-actions\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventActionsTemplate\"\n >\n </mwl-calendar-event-actions>\n &ngsp;\n <mwl-calendar-event-title\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventTitleTemplate\"\n [view]=\"daysInWeek === 1 ? 'day' : 'week'\"\n [class.two-lines]=\"calEvent.offsetHeight >= 40 && calEvent.offsetHeight <54\"\n [class.three-lines]=\"calEvent.offsetHeight >= 54\"\n >\n </mwl-calendar-event-title>\n </div>\n</ng-template>\n\n<ng-template #eventTitleTemplate let-event=\"event\" let-view=\"view\">\n <span\n class=\"cal-event-title\"\n [innerHTML]=\"event.title | calendarEventTitle: view:event\"\n [attr.aria-hidden]=\"{} | calendarA11y: 'hideEventTitle'\"\n >\n </span>\n</ng-template>\n\n<ng-template\n #eventActionsTemplate\n let-event=\"event\"\n let-trackByActionId=\"trackByActionId\"\n>\n <span *ngIf=\"event.actions\" class=\"cal-event-actions\">\n <a\n class=\"cal-event-action\"\n href=\"javascript:\"\n *ngFor=\"let action of event.actions; trackBy: trackByActionId\"\n (mwlClick)=\"action.onClick({ event: event, sourceEvent: $event })\"\n (mwlKeydownEnter)=\"\n action.onClick({ event: event, sourceEvent: $event })\n \"\n [ngClass]=\"action.cssClass\"\n [innerHtml]=\"action.label\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"\n { action: action } | calendarA11y: 'actionButtonLabel'\n \"\n >\n </a>\n </span>\n</ng-template>\n\n<!-- MONTH VIEW -->\n\n<mwl-calendar-month-view [style.display]=\"calendarMode != CalendarMode.MONTH ? 'none' : null\"\n [viewDate]=\"viewDate\"\n [events]=\"events\"\n [locale]=\"locale.code\"\n [cellTemplate]=\"monthCell\"\n [headerTemplate]=\"customMonthHeader\"\n [refresh]=\"refresh\"\n (eventTimesChanged)=\"onEventDrop.emit($event)\"\n (eventClicked)=\"onEventClick.emit({event: $calendarEvent($event.event), sourceEvent: $event.sourceEvent})\"\n style=\"display: flex; flex-direction: column; height: 100%;\"\n></mwl-calendar-month-view>\n\n<ng-template\n #monthCell\n let-day=\"day\"\n let-openDay=\"openDay\"\n let-locale=\"locale\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-highlightDay=\"highlightDay\"\n let-unhighlightDay=\"unhighlightDay\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDelay=\"tooltipDelay\"\n let-trackByEventId=\"trackByEventId\"\n let-validateDrag=\"validateDrag\"\n>\n <div class=\"cell-top\"\n [class.weekend]=\"day.isWeekend\"\n [attr.aria-label]=\"{ day: day, locale: locale } | calendarA11y : 'monthCell'\"\n >\n <div class=\"total-events\">\n\n </div>\n <span class=\"day-number\"\n [class.today]=\"day.isToday\"\n [class.out-month]=\"!day.inMonth\">\n {{ day.date | calendarDate : 'monthViewDayNumber' : locale }}\n </span>\n </div>\n\n <div class=\"cell-bottom\"\n *ngIf=\"day.events.length > 0\">\n <div *ngFor=\"let event of day.events | slice:0:(day.events > 3?2:3); trackBy: trackByEventId\"\n class=\"event\"\n [ngStyle]=\"eventStyles($calendarEvent(event).color)\"\n [mwlCalendarTooltip]=\"$calendarEvent(event).title | calendarEventTitle : 'monthTooltip' : $calendarEvent(event)\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"$calendarEvent(event)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n mwlDraggable\n [class.cal-draggable]=\"$calendarEvent(event).draggable\"\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: event, draggedFrom: day }\"\n [dragAxis]=\"{ x: $calendarEvent(event).draggable, y: $calendarEvent(event).draggable }\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n (mwlClick)=\"eventClicked.emit({ event: event, sourceEvent: $event })\"\n [attr.aria-hidden]=\"{} | calendarA11y : 'hideMonthCellEvents'\"\n >\n {{$calendarEvent(event).title}}\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #customMonthHeader\n let-days=\"days\"\n let-locale=\"locale\"\n let-columnHeaderClicked=\"columnHeaderClicked\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n>\n <div class=\"cal-cell-row cal-header\" role=\"row\">\n <div\n class=\"cal-cell\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n (click)=\"\n columnHeaderClicked.emit({\n isoDayNumber: day.day,\n sourceEvent: $event\n })\n \"\n [ngClass]=\"day.cssClass\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n <span>\n {{ day.date | translocoDate : {weekday:'long'}: locale }}\n </span>\n\n </div>\n </div>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}::ng-deep mwl-calendar-week-view{display:flex;flex-direction:column;height:100%;min-width:0;min-height:0}::ng-deep mwl-calendar-week-view .cal-week-view{height:inherit;display:flex;flex-direction:column;border-top:1px solid rgba(0,0,0,0)}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header{flex-shrink:0;padding-right:.7rem}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers{border:1px solid rgba(0,0,0,0)!important;border-bottom:0!important}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header{font-size:.9rem;color:#262626;border-left:1px solid rgba(0,0,0,0)!important;border-right:1px solid rgba(0,0,0,0)!important}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header span{opacity:1;-webkit-user-select:none;user-select:none}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header.cal-today{background-color:#fde7ef}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header.cal-today span{font-weight:600}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header.cal-weekend{background-color:#f2f2f2}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header.cal-weekend span{color:#262626}::ng-deep mwl-calendar-week-view .cal-all-day-events{width:calc(100% - .7rem);border:1px solid transparent!important;border-top:.1rem solid #EDEDED!important;border-bottom:.1rem solid #EDEDED!important}::ng-deep mwl-calendar-week-view .cal-all-day-events .cal-day-columns,::ng-deep mwl-calendar-week-view .cal-all-day-events .cal-events-row{flex-shrink:0;padding-right:.7rem}::ng-deep mwl-calendar-week-view .cal-all-day-events .cal-day-columns .cal-day-column,::ng-deep mwl-calendar-week-view .cal-all-day-events .cal-events-row .cal-day-column{border-left:1px solid transparent}::ng-deep mwl-calendar-week-view .cal-all-day-events mwl-calendar-week-view-event{width:100%}::ng-deep mwl-calendar-week-view .cal-all-day-events mwl-calendar-week-view-event .cal-event{border-radius:0!important;font-weight:700;text-transform:uppercase;font-size:.7rem;border:0;border-left:.2rem solid;border-color:var(--event-primary)!important;background-color:var(--event-secondary)!important;color:var(--event-tertiary);-webkit-user-select:none;user-select:none}::ng-deep mwl-calendar-week-view .cal-all-day-events mwl-calendar-week-view-event .cal-event:hover{background-color:var(--event-hover)!important}::ng-deep mwl-calendar-week-view .cal-all-day-events mwl-calendar-week-view-event .cal-event:active{color:#fff!important;background-color:var(--event-primary)!important}@supports (-moz-appearance: none){::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header,.cal-all-day-events{padding-right:0}}::ng-deep mwl-calendar-week-view .cal-time-events{flex-shrink:1;overflow-y:auto;overflow-x:hidden;border:1px solid rgba(0,0,0,0)!important;padding-top:.5rem}::ng-deep mwl-calendar-week-view .cal-time-events .cal-time-label-column,::ng-deep mwl-calendar-week-view .cal-time-events .cal-day-columns{height:-moz-fit-content;height:fit-content}::ng-deep mwl-calendar-week-view .cal-time-events .cal-time-label-column mwl-calendar-week-view-hour-segment>.cal-hour-segment{border-bottom:1px solid rgba(0,0,0,0)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-time-label-column mwl-calendar-week-view-hour-segment>.cal-hour-segment .cal-time{font-weight:400;padding-top:0;text-align:center;font-size:.8rem;position:absolute;top:-.5rem}::ng-deep mwl-calendar-week-view .cal-time-events .cal-day-column{border-top:1px solid #e1e1e1}::ng-deep mwl-calendar-week-view .cal-time-events .cal-day-column:first-child{border-left:none}::ng-deep mwl-calendar-week-view .cal-time-events .cal-day-column .cal-hour:not(:last-child) :last-child .cal-hour-segment{border-bottom:1px solid #e1e1e1}::ng-deep mwl-calendar-week-view .cal-time-events .cal-hour-odd{background-color:transparent}::ng-deep mwl-calendar-week-view .cal-time-events .cal-weekend{background-color:#fafafa}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event{border-radius:0!important;font-size:.7rem;border:0;border-left:.2rem solid;height:calc(100% - 3px)!important;border-color:var(--event-primary)!important;color:var(--event-tertiary)}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event:not(.barred){background-color:var(--event-secondary)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event.barred:not(:active){background:repeating-linear-gradient(45deg,var(--event-hover),var(--event-hover) 10px,var(--event-secondary) 10px,var(--event-secondary) 20px)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event:hover{background-color:var(--event-hover)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event:active{color:#fff!important;background-color:var(--event-primary)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event .cal-event-title{font-weight:700;text-transform:uppercase;-webkit-user-select:none;user-select:none}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event .two-lines{display:-webkit-box;line-height:.7rem;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;margin-top:-.2rem}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event .three-lines{display:-webkit-box;line-height:.7rem;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;margin-top:-.2rem}.cal-current-time-marker-custom{background-color:#000;position:absolute;width:100%;height:1px;z-index:2}::ng-deep mwl-calendar-month-view .cal-month-view .cal-day-cell.cal-today{background-color:transparent}::ng-deep mwl-calendar-month-view .cal-month-view .cal-days{border-color:#d9d9d9;border-top-width:.1rem;border-left:0;border-right:0;border-bottom:0}::ng-deep mwl-calendar-month-view .cal-month-view .cal-header .cal-cell.cal-weekend,::ng-deep mwl-calendar-month-view .cal-month-view .cal-day-cell.cal-weekend{background-color:#f2f2f2}::ng-deep mwl-calendar-month-view .cal-month-view .cal-days div:last-child .cal-cell-row{border-bottom:0}::ng-deep mwl-calendar-month-view .cal-month-view .cal-header .cal-cell{font-weight:400;font-size:.9rem;height:1.2rem;border:0}::ng-deep mwl-calendar-month-view .cal-month-view .cal-header .cal-cell.cal-today{font-weight:700}.cell-top{display:flex;flex:0 0 2rem;align-items:center;justify-content:space-between;padding:0 .5rem;box-sizing:border-box;-webkit-user-select:none;user-select:none}.cell-top .day-number{font-weight:700;font-size:1.2rem}.cell-top .day-number.out-month{color:#d9d9d9}.cell-top .day-number.today{color:#f20d5e}.cell-bottom{display:flex;flex-grow:1;flex-direction:column;align-items:center;justify-content:flex-end}.cell-bottom .event{height:.9rem;width:99%;margin-bottom:1px;box-sizing:border-box;border-left:.2rem solid var(--event-primary);font-weight:700;text-transform:uppercase;font-size:.7rem;padding:0 5px;color:var(--event-tertiary);-webkit-user-select:none;user-select:none;overflow:hidden}.cell-bottom .event:hover{background-color:var(--event-secondary)}.cell-bottom .event:active{background-color:var(--event-primary);color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.ɵCalendarEventActionsComponent, selector: "mwl-calendar-event-actions", inputs: ["event", "customTemplate"] }, { kind: "component", type: i3.ɵCalendarEventTitleComponent, selector: "mwl-calendar-event-title", inputs: ["event", "customTemplate", "view"] }, { kind: "directive", type: i3.ɵCalendarTooltipDirective, selector: "[mwlCalendarTooltip]", inputs: ["mwlCalendarTooltip", "tooltipPlacement", "tooltipTemplate", "tooltipEvent", "tooltipAppendToBody", "tooltipDelay"] }, { kind: "directive", type: i3.ɵClickDirective, selector: "[mwlClick]", inputs: ["clickListenerDisabled"], outputs: ["mwlClick"] }, { kind: "directive", type: i3.ɵKeydownEnterDirective, selector: "[mwlKeydownEnter]", outputs: ["mwlKeydownEnter"] }, { kind: "directive", type: i4.DraggableDirective, selector: "[mwlDraggable]", inputs: ["dropData", "dragAxis", "dragSnapGrid", "ghostDragEnabled", "showOriginalElementWhileDragging", "validateDrag", "dragCursor", "dragActiveClass", "ghostElementAppendTo", "ghostElementTemplate", "touchStartLongPress", "autoScroll"], outputs: ["dragPointerDown", "dragStart", "ghostElementCreated", "dragging", "dragEnd"] }, { kind: "directive", type: i4.DroppableDirective, selector: "[mwlDroppable]", inputs: ["dragOverClass", "dragActiveClass", "validateDrop"], outputs: ["dragEnter", "dragLeave", "dragOver", "drop"] }, { kind: "component", type: i3.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: "component", type: i3.CalendarWeekViewComponent, selector: "mwl-calendar-week-view", inputs: ["viewDate", "events", "excludeDays", "refresh", "locale", "tooltipPlacement", "tooltipTemplate", "tooltipAppendToBody", "tooltipDelay", "weekStartsOn", "headerTemplate", "eventTemplate", "eventTitleTemplate", "eventActionsTemplate", "precision", "weekendDays", "snapDraggedEvents", "hourSegments", "hourDuration", "hourSegmentHeight", "minimumEventHeight", "dayStartHour", "dayStartMinute", "dayEndHour", "dayEndMinute", "hourSegmentTemplate", "eventSnapSize", "allDayEventsLabelTemplate", "daysInWeek", "currentTimeMarkerTemplate", "validateEventTimesChanged", "resizeCursors"], outputs: ["dayHeaderClicked", "eventClicked", "eventTimesChanged", "beforeViewRender", "hourSegmentClicked"] }, { kind: "directive", type: i5.ContextMenuDirective, selector: "[contextMenu]", inputs: ["contextMenuValue", "contextMenu", "tabindex"], exportAs: ["ngxContextMenu"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.ɵCalendarDatePipe, name: "calendarDate" }, { kind: "pipe", type: i3.ɵCalendarEventTitlePipe, name: "calendarEventTitle" }, { kind: "pipe", type: i3.ɵCalendarA11yPipe, name: "calendarA11y" }, { kind: "pipe", type: i6.TranslocoDatePipe, name: "translocoDate" }] });
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCalendarComponent, decorators: [{
245
+ type: Component,
246
+ args: [{ selector: 'biit-calendar', providers: [{
247
+ provide: TRANSLOCO_SCOPE,
248
+ useValue: { scope: 'wizardry-theme/calendar', alias: "calendar" }
249
+ }], template: "<mwl-calendar-week-view [style.display]=\"calendarMode != CalendarMode.WEEK ? 'none' : null\"\n #calendar\n [locale]=\"locale.code\"\n [viewDate]=\"viewDate\"\n [events]=\"events\"\n [headerTemplate]=\"customHeader\"\n [currentTimeMarkerTemplate]=\"currentTimeMarkerTemplate\"\n [hourSegmentTemplate]=\"hourSegmentTemplate\"\n [eventTemplate]=\"eventTemplate\"\n [allDayEventsLabelTemplate]=\"allDayEventsLabelTemplate\"\n [refresh]=\"refresh\"\n (eventTimesChanged)=\"onEventDrop.emit($event)\"\n (eventClicked)=\"onEventClick.emit({event: $calendarEvent($event.event), sourceEvent: $event.sourceEvent})\"\n style=\"display: flex; flex-direction: column; height: 100%;\"\n></mwl-calendar-week-view>\n\n<ng-template\n #customHeader\n let-days=\"days\"\n let-locale=\"locale\"\n let-dayHeaderClicked=\"dayHeaderClicked\"\n let-eventDropped=\"eventDropped\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n let-dragEnter=\"dragEnter\"\n>\n <div class=\"cal-day-headers\" role=\"row\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [ngClass]=\"day.cssClass\"\n (mwlClick)=\"dayHeaderClicked.emit({ day: day, sourceEvent: $event })\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped.emit({\n event: $event.dropData.event,\n newStart: day.date\n })\n \"\n (dragEnter)=\"dragEnter.emit({ date: day.date })\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n <span style=\"text-transform: capitalize\">\n <div *ngIf=\"!calendarUtility?.customHeaderDate; else customHeaderDate\">\n {{ day.date | translocoDate: {weekday: 'short'}: this.locale }}\n {{ day.date | translocoDate: {day: '2-digit'}: locale }}\n </div>\n <ng-template #customHeaderDate>\n {{calendarUtility?.customHeaderDate(day.date)}}\n </ng-template>\n </span>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #currentTimeMarkerTemplate\n let-columnDate=\"columnDate\"\n let-dayStartHour=\"dayStartHour\"\n let-dayStartMinute=\"dayStartMinute\"\n let-dayEndHour=\"dayEndHour\"\n let-dayEndMinute=\"dayEndMinute\"\n let-isVisible=\"isVisible\"\n let-topPx=\"topPx\"\n>\n <div #timeMarker\n class=\"cal-current-time-marker-custom\"\n *ngIf=\"isVisible\"\n [style.top.px]=\"topPx\"\n ></div>\n</ng-template>\n\n<ng-template\n #hourSegmentTemplate\n let-segment=\"segment\"\n let-locale=\"locale\"\n let-segmentHeight=\"segmentHeight\"\n let-isTimeLabel=\"isTimeLabel\"\n let-daysInWeek=\"daysInWeek\"\n>\n <div\n #hourSegmentElement\n [attr.aria-hidden]=\"\n {}\n | calendarA11y\n : (daysInWeek === 1\n ? 'hideDayHourSegment'\n : 'hideWeekHourSegment')\n \"\n class=\"cal-hour-segment\"\n [style.height.px]=\"segmentHeight\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n [contextMenu]=\"gridContextMenu\"\n [contextMenuValue]=\"segment.date\"\n (mousedown)=\"startDragToCreate(segment, hourSegmentElement, $event)\"\n >\n <div class=\"cal-time\" *ngIf=\"isTimeLabel\">\n {{segment.displayDate | date: 'HH:mm'}}\n </div>\n </div>\n</ng-template>\n\n<ng-template #allDayEventsLabelTemplate\n>\n <div style=\"position: relative\">\n <div style=\"display: block;\n text-align: center;\n position: absolute;\n top: 0.1rem;\n right: -36px;\n font-size: 0.7rem;\n width: 70px;\">\n all day\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #eventTemplate\n let-weekEvent=\"weekEvent\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDisabled=\"tooltipDisabled\"\n let-tooltipDelay=\"tooltipDelay\"\n let-column=\"column\"\n let-daysInWeek=\"daysInWeek\"\n>\n <div #calEvent\n class=\"cal-event\"\n [class.barred]=\"configuration.barred || weekEvent.event.color.barred\"\n [ngStyle]=\"eventStyles(weekEvent.event.color)\"\n [mwlCalendarTooltip]=\"\n !tooltipDisabled\n ? (weekEvent.event.title\n | calendarEventTitle\n : (daysInWeek === 1 ? 'dayTooltip' : 'weekTooltip')\n : weekEvent.tempEvent || weekEvent.event)\n : ''\n \"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"weekEvent.tempEvent || weekEvent.event\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n (mwlClick)=\"eventClicked.emit({ sourceEvent: $event })\"\n (dblclick)=\"onEventDblClick.emit({event: $calendarEvent(weekEvent.event), sourceEvent: $event})\"\n (mwlKeydownEnter)=\"eventClicked.emit({ sourceEvent: $event })\"\n [contextMenu]=\"eventContextMenu\"\n [contextMenuValue]=\"weekEvent.event\"\n tabindex=\"0\"\n role=\"application\"\n >\n <span *ngIf=\"calEvent.offsetHeight >= 40\" style=\"user-select: none;\">\n {{weekEvent.event.start | date: 'HH:mm'}} - {{weekEvent.event.end | date: 'HH:mm'}}\n </span>\n <mwl-calendar-event-actions\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventActionsTemplate\"\n >\n </mwl-calendar-event-actions>\n &ngsp;\n <mwl-calendar-event-title\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventTitleTemplate\"\n [view]=\"daysInWeek === 1 ? 'day' : 'week'\"\n [class.two-lines]=\"calEvent.offsetHeight >= 40 && calEvent.offsetHeight <54\"\n [class.three-lines]=\"calEvent.offsetHeight >= 54\"\n >\n </mwl-calendar-event-title>\n </div>\n</ng-template>\n\n<ng-template #eventTitleTemplate let-event=\"event\" let-view=\"view\">\n <span\n class=\"cal-event-title\"\n [innerHTML]=\"event.title | calendarEventTitle: view:event\"\n [attr.aria-hidden]=\"{} | calendarA11y: 'hideEventTitle'\"\n >\n </span>\n</ng-template>\n\n<ng-template\n #eventActionsTemplate\n let-event=\"event\"\n let-trackByActionId=\"trackByActionId\"\n>\n <span *ngIf=\"event.actions\" class=\"cal-event-actions\">\n <a\n class=\"cal-event-action\"\n href=\"javascript:\"\n *ngFor=\"let action of event.actions; trackBy: trackByActionId\"\n (mwlClick)=\"action.onClick({ event: event, sourceEvent: $event })\"\n (mwlKeydownEnter)=\"\n action.onClick({ event: event, sourceEvent: $event })\n \"\n [ngClass]=\"action.cssClass\"\n [innerHtml]=\"action.label\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"\n { action: action } | calendarA11y: 'actionButtonLabel'\n \"\n >\n </a>\n </span>\n</ng-template>\n\n<!-- MONTH VIEW -->\n\n<mwl-calendar-month-view [style.display]=\"calendarMode != CalendarMode.MONTH ? 'none' : null\"\n [viewDate]=\"viewDate\"\n [events]=\"events\"\n [locale]=\"locale.code\"\n [cellTemplate]=\"monthCell\"\n [headerTemplate]=\"customMonthHeader\"\n [refresh]=\"refresh\"\n (eventTimesChanged)=\"onEventDrop.emit($event)\"\n (eventClicked)=\"onEventClick.emit({event: $calendarEvent($event.event), sourceEvent: $event.sourceEvent})\"\n style=\"display: flex; flex-direction: column; height: 100%;\"\n></mwl-calendar-month-view>\n\n<ng-template\n #monthCell\n let-day=\"day\"\n let-openDay=\"openDay\"\n let-locale=\"locale\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-highlightDay=\"highlightDay\"\n let-unhighlightDay=\"unhighlightDay\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDelay=\"tooltipDelay\"\n let-trackByEventId=\"trackByEventId\"\n let-validateDrag=\"validateDrag\"\n>\n <div class=\"cell-top\"\n [class.weekend]=\"day.isWeekend\"\n [attr.aria-label]=\"{ day: day, locale: locale } | calendarA11y : 'monthCell'\"\n >\n <div class=\"total-events\">\n\n </div>\n <span class=\"day-number\"\n [class.today]=\"day.isToday\"\n [class.out-month]=\"!day.inMonth\">\n {{ day.date | calendarDate : 'monthViewDayNumber' : locale }}\n </span>\n </div>\n\n <div class=\"cell-bottom\"\n *ngIf=\"day.events.length > 0\">\n <div *ngFor=\"let event of day.events | slice:0:(day.events > 3?2:3); trackBy: trackByEventId\"\n class=\"event\"\n [ngStyle]=\"eventStyles($calendarEvent(event).color)\"\n [mwlCalendarTooltip]=\"$calendarEvent(event).title | calendarEventTitle : 'monthTooltip' : $calendarEvent(event)\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"$calendarEvent(event)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n mwlDraggable\n [class.cal-draggable]=\"$calendarEvent(event).draggable\"\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: event, draggedFrom: day }\"\n [dragAxis]=\"{ x: $calendarEvent(event).draggable, y: $calendarEvent(event).draggable }\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n (mwlClick)=\"eventClicked.emit({ event: event, sourceEvent: $event })\"\n [attr.aria-hidden]=\"{} | calendarA11y : 'hideMonthCellEvents'\"\n >\n {{$calendarEvent(event).title}}\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #customMonthHeader\n let-days=\"days\"\n let-locale=\"locale\"\n let-columnHeaderClicked=\"columnHeaderClicked\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n>\n <div class=\"cal-cell-row cal-header\" role=\"row\">\n <div\n class=\"cal-cell\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n (click)=\"\n columnHeaderClicked.emit({\n isoDayNumber: day.day,\n sourceEvent: $event\n })\n \"\n [ngClass]=\"day.cssClass\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n <span>\n {{ day.date | translocoDate : {weekday:'long'}: locale }}\n </span>\n\n </div>\n </div>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}::ng-deep mwl-calendar-week-view{display:flex;flex-direction:column;height:100%;min-width:0;min-height:0}::ng-deep mwl-calendar-week-view .cal-week-view{height:inherit;display:flex;flex-direction:column;border-top:1px solid rgba(0,0,0,0)}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header{flex-shrink:0;padding-right:.7rem}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers{border:1px solid rgba(0,0,0,0)!important;border-bottom:0!important}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header{font-size:.9rem;color:#262626;border-left:1px solid rgba(0,0,0,0)!important;border-right:1px solid rgba(0,0,0,0)!important}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header span{opacity:1;-webkit-user-select:none;user-select:none}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header.cal-today{background-color:#fde7ef}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header.cal-today span{font-weight:600}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header.cal-weekend{background-color:#f2f2f2}::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header .cal-day-headers .cal-header.cal-weekend span{color:#262626}::ng-deep mwl-calendar-week-view .cal-all-day-events{width:calc(100% - .7rem);border:1px solid transparent!important;border-top:.1rem solid #EDEDED!important;border-bottom:.1rem solid #EDEDED!important}::ng-deep mwl-calendar-week-view .cal-all-day-events .cal-day-columns,::ng-deep mwl-calendar-week-view .cal-all-day-events .cal-events-row{flex-shrink:0;padding-right:.7rem}::ng-deep mwl-calendar-week-view .cal-all-day-events .cal-day-columns .cal-day-column,::ng-deep mwl-calendar-week-view .cal-all-day-events .cal-events-row .cal-day-column{border-left:1px solid transparent}::ng-deep mwl-calendar-week-view .cal-all-day-events mwl-calendar-week-view-event{width:100%}::ng-deep mwl-calendar-week-view .cal-all-day-events mwl-calendar-week-view-event .cal-event{border-radius:0!important;font-weight:700;text-transform:uppercase;font-size:.7rem;border:0;border-left:.2rem solid;border-color:var(--event-primary)!important;background-color:var(--event-secondary)!important;color:var(--event-tertiary);-webkit-user-select:none;user-select:none}::ng-deep mwl-calendar-week-view .cal-all-day-events mwl-calendar-week-view-event .cal-event:hover{background-color:var(--event-hover)!important}::ng-deep mwl-calendar-week-view .cal-all-day-events mwl-calendar-week-view-event .cal-event:active{color:#fff!important;background-color:var(--event-primary)!important}@supports (-moz-appearance: none){::ng-deep mwl-calendar-week-view mwl-calendar-week-view-header,.cal-all-day-events{padding-right:0}}::ng-deep mwl-calendar-week-view .cal-time-events{flex-shrink:1;overflow-y:auto;overflow-x:hidden;border:1px solid rgba(0,0,0,0)!important;padding-top:.5rem}::ng-deep mwl-calendar-week-view .cal-time-events .cal-time-label-column,::ng-deep mwl-calendar-week-view .cal-time-events .cal-day-columns{height:-moz-fit-content;height:fit-content}::ng-deep mwl-calendar-week-view .cal-time-events .cal-time-label-column mwl-calendar-week-view-hour-segment>.cal-hour-segment{border-bottom:1px solid rgba(0,0,0,0)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-time-label-column mwl-calendar-week-view-hour-segment>.cal-hour-segment .cal-time{font-weight:400;padding-top:0;text-align:center;font-size:.8rem;position:absolute;top:-.5rem}::ng-deep mwl-calendar-week-view .cal-time-events .cal-day-column{border-top:1px solid #e1e1e1}::ng-deep mwl-calendar-week-view .cal-time-events .cal-day-column:first-child{border-left:none}::ng-deep mwl-calendar-week-view .cal-time-events .cal-day-column .cal-hour:not(:last-child) :last-child .cal-hour-segment{border-bottom:1px solid #e1e1e1}::ng-deep mwl-calendar-week-view .cal-time-events .cal-hour-odd{background-color:transparent}::ng-deep mwl-calendar-week-view .cal-time-events .cal-weekend{background-color:#fafafa}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event{border-radius:0!important;font-size:.7rem;border:0;border-left:.2rem solid;height:calc(100% - 3px)!important;border-color:var(--event-primary)!important;color:var(--event-tertiary)}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event:not(.barred){background-color:var(--event-secondary)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event.barred:not(:active){background:repeating-linear-gradient(45deg,var(--event-hover),var(--event-hover) 10px,var(--event-secondary) 10px,var(--event-secondary) 20px)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event:hover{background-color:var(--event-hover)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event:active{color:#fff!important;background-color:var(--event-primary)!important}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event .cal-event-title{font-weight:700;text-transform:uppercase;-webkit-user-select:none;user-select:none}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event .two-lines{display:-webkit-box;line-height:.7rem;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;margin-top:-.2rem}::ng-deep mwl-calendar-week-view .cal-time-events .cal-event .three-lines{display:-webkit-box;line-height:.7rem;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;margin-top:-.2rem}.cal-current-time-marker-custom{background-color:#000;position:absolute;width:100%;height:1px;z-index:2}::ng-deep mwl-calendar-month-view .cal-month-view .cal-day-cell.cal-today{background-color:transparent}::ng-deep mwl-calendar-month-view .cal-month-view .cal-days{border-color:#d9d9d9;border-top-width:.1rem;border-left:0;border-right:0;border-bottom:0}::ng-deep mwl-calendar-month-view .cal-month-view .cal-header .cal-cell.cal-weekend,::ng-deep mwl-calendar-month-view .cal-month-view .cal-day-cell.cal-weekend{background-color:#f2f2f2}::ng-deep mwl-calendar-month-view .cal-month-view .cal-days div:last-child .cal-cell-row{border-bottom:0}::ng-deep mwl-calendar-month-view .cal-month-view .cal-header .cal-cell{font-weight:400;font-size:.9rem;height:1.2rem;border:0}::ng-deep mwl-calendar-month-view .cal-month-view .cal-header .cal-cell.cal-today{font-weight:700}.cell-top{display:flex;flex:0 0 2rem;align-items:center;justify-content:space-between;padding:0 .5rem;box-sizing:border-box;-webkit-user-select:none;user-select:none}.cell-top .day-number{font-weight:700;font-size:1.2rem}.cell-top .day-number.out-month{color:#d9d9d9}.cell-top .day-number.today{color:#f20d5e}.cell-bottom{display:flex;flex-grow:1;flex-direction:column;align-items:center;justify-content:flex-end}.cell-bottom .event{height:.9rem;width:99%;margin-bottom:1px;box-sizing:border-box;border-left:.2rem solid var(--event-primary);font-weight:700;text-transform:uppercase;font-size:.7rem;padding:0 5px;color:var(--event-tertiary);-webkit-user-select:none;user-select:none;overflow:hidden}.cell-bottom .event:hover{background-color:var(--event-secondary)}.cell-bottom .event:active{background-color:var(--event-primary);color:#fff}\n"] }]
250
+ }], ctorParameters: function () { return [{ type: i1.TranslocoService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { calendarMode: [{
251
+ type: Input
252
+ }], viewDate: [{
253
+ type: Input
254
+ }], events: [{
255
+ type: Input
256
+ }], gridContextMenu: [{
257
+ type: Input
258
+ }], eventContextMenu: [{
259
+ type: Input
260
+ }], calendarUtility: [{
261
+ type: Input
262
+ }], configuration: [{
263
+ type: Input
264
+ }], onEventDrop: [{
265
+ type: Output
266
+ }], onEventClick: [{
267
+ type: Output
268
+ }], onEventDblClick: [{
269
+ type: Output
270
+ }], onCreatedEvent: [{
271
+ type: Output
272
+ }] } });
273
+ var CalendarMode;
274
+ (function (CalendarMode) {
275
+ CalendarMode["WEEK"] = "WEEK";
276
+ CalendarMode["MONTH"] = "MONTH";
277
+ })(CalendarMode || (CalendarMode = {}));
278
+ function castTo() {
279
+ return (event) => event;
280
+ }
281
+
282
+ class BiitCalendarModule {
283
+ }
284
+ BiitCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
285
+ BiitCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitCalendarModule, declarations: [BiitCalendarComponent], imports: [CommonModule,
286
+ TranslocoRootModule, i3.CalendarModule, ContextMenuModule,
287
+ TranslocoDatePipe], exports: [BiitCalendarComponent] });
288
+ BiitCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCalendarModule, imports: [CommonModule,
289
+ TranslocoRootModule,
290
+ CalendarModule.forRoot({
291
+ provide: DateAdapter,
292
+ useFactory: adapterFactory,
293
+ }),
294
+ ContextMenuModule] });
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCalendarModule, decorators: [{
296
+ type: NgModule,
297
+ args: [{
298
+ declarations: [
299
+ BiitCalendarComponent
300
+ ],
301
+ imports: [
302
+ CommonModule,
303
+ TranslocoRootModule,
304
+ CalendarModule.forRoot({
305
+ provide: DateAdapter,
306
+ useFactory: adapterFactory,
307
+ }),
308
+ ContextMenuModule,
309
+ TranslocoDatePipe,
310
+ ], exports: [
311
+ BiitCalendarComponent
312
+ ]
313
+ }]
314
+ }] });
315
+
316
+ class CalendarEvent {
317
+ constructor(id, title, startDate, endDate, readonly, allDay, color, actions, resizable, draggable, meta) {
318
+ this.id = id;
319
+ this.title = title;
320
+ this.start = startDate ? new Date(startDate) : undefined;
321
+ this.end = endDate ? new Date(endDate) : undefined;
322
+ this.allDay = allDay ? allDay : false;
323
+ this.color = color ? color : EventColor.RED;
324
+ this.actions = actions ? actions : [];
325
+ if (resizable && !readonly) {
326
+ this.resizable = { beforeStart: true, afterEnd: true };
327
+ }
328
+ this.draggable = draggable ? draggable : !readonly;
329
+ this.meta = meta;
330
+ this.readonly = readonly;
331
+ }
332
+ static copy(original, target) {
333
+ target.id = original.id;
334
+ target.start = new Date(original.start);
335
+ target.end = new Date(original.end);
336
+ target.title = original.title;
337
+ target.color = original.color;
338
+ target.actions = original.actions;
339
+ target.allDay = original.allDay;
340
+ target.cssClass = original.cssClass;
341
+ target.resizable = original.resizable;
342
+ target.draggable = original.draggable;
343
+ target.meta = original.meta;
344
+ target.readonly = original.readonly;
345
+ return target;
346
+ }
347
+ static clone(original) {
348
+ const event = new CalendarEvent(undefined, '', new Date(), new Date());
349
+ return CalendarEvent.copy(original, event);
350
+ }
351
+ }
352
+
353
+ class CalendarEventClickEvent {
354
+ constructor(event, sourceEvent) {
355
+ this.event = event;
356
+ this.sourceEvent = sourceEvent;
357
+ }
358
+ }
359
+
360
+ /*
361
+ * Public API Surface of wizardry-theme/login
362
+ */
363
+
364
+ /**
365
+ * Generated bundle index. Do not edit.
366
+ */
367
+
368
+ export { BiitCalendarComponent, BiitCalendarModule, CalendarConfiguration, CalendarEvent, CalendarEventClickEvent, CalendarMode, EventColor, castTo };
369
+ //# sourceMappingURL=biit-solutions-wizardry-theme-calendar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biit-solutions-wizardry-theme-calendar.mjs","sources":["../../../projects/wizardry-theme/calendar/src/utils/event-color.ts","../../../projects/wizardry-theme/calendar/src/biit-calendar/models/calendar-configuration.ts","../../../projects/wizardry-theme/calendar/src/biit-calendar/biit-calendar.component.ts","../../../projects/wizardry-theme/calendar/src/biit-calendar/biit-calendar.component.html","../../../projects/wizardry-theme/calendar/src/biit-calendar/biit-calendar.module.ts","../../../projects/wizardry-theme/calendar/src/biit-calendar/models/calendar-event.ts","../../../projects/wizardry-theme/calendar/src/biit-calendar/models/calendar-event-click-event.ts","../../../projects/wizardry-theme/calendar/src/public-api.ts","../../../projects/wizardry-theme/calendar/src/biit-solutions-wizardry-theme-calendar.ts"],"sourcesContent":["export class EventColor {\n primary: string;\n secondary: string;\n hover: string;\n tertiary: string;\n barred: boolean;\n\n public static readonly RED = {\n primary: '#F20D5E',\n secondary: '#FDD6E4',\n hover: '#F3C0D4',\n tertiary: '#A1093F',\n barred: false\n }\n\n public static readonly GREEN = {\n primary: '#57A87F',\n secondary: '#cee6dc',\n hover: '#b2d8c7',\n tertiary: '#2b5440',\n barred: false\n }\n\n public static readonly YELLOW = {\n primary: '#ddab40',\n secondary: '#f4e7c7',\n hover: '#eddaa6',\n tertiary: '#6f561f',\n barred: false\n }\n\n public static readonly BLUE = {\n primary: '#3f82c2',\n secondary: '#c8dded',\n hover: '#a7c7e2',\n tertiary: '#1e4161',\n barred: false\n }\n\n public static readonly PURPLE = {\n primary: '#66417e',\n secondary: '#d6cddc',\n hover: '#beaec7',\n tertiary: '#33213f',\n barred: false\n }\n\n public static readonly GREY = {\n primary: '#716e6e',\n secondary: '#dddddd',\n hover: '#bdbdbd',\n tertiary: '#474747',\n barred: false\n }\n\n public static readonly EMPTY_RED = {\n primary: '#F20D5E',\n secondary: '#FFFFFF',\n hover: '#F3C0D4',\n tertiary: '#A1093F',\n barred: false\n }\n\n public static readonly EMPTY_GREEN = {\n primary: '#57A87F',\n secondary: '#FFFFFF',\n hover: '#b2d8c7',\n tertiary: '#2b5440',\n barred: false\n }\n\n public static readonly EMPTY_YELLOW = {\n primary: '#ddab40',\n secondary: '#FFFFFF',\n hover: '#eddaa6',\n tertiary: '#6f561f',\n barred: false\n }\n\n public static readonly EMPTY_BLUE = {\n primary: '#3f82c2',\n secondary: '#FFFFFF',\n hover: '#a7c7e2',\n tertiary: '#1e4161',\n barred: false\n }\n\n public static readonly EMPTY_PURPLE = {\n primary: '#66417e',\n secondary: '#FFFFFF',\n hover: '#beaec7',\n tertiary: '#33213f',\n barred: false\n }\n\n public static readonly BARRED_BLUE = {\n primary: '#3f82c2',\n secondary: '#FFFFFF',\n hover: '#a7c7e2',\n tertiary: '#1e4161',\n barred: true\n }\n\n public static readonly BARRED_GREY = {\n primary: '#716e6e',\n secondary: '#dddddd',\n hover: '#bdbdbd',\n tertiary: '#474747',\n barred: true\n }\n\n public static readonly BARRED_YELLOW = {\n primary: '#ddab40',\n secondary: '#f4e7c7',\n hover: '#eddaa6',\n tertiary: '#6f561f',\n barred: true\n }\n}\n","export class CalendarConfiguration {\n createOnDrag: boolean = false;\n barred: boolean = false;\n\n constructor(createdOnDrag: boolean = false, barred: boolean = false) {\n this.createOnDrag = createdOnDrag;\n this.barred = barred;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output\n} from '@angular/core';\nimport {TRANSLOCO_SCOPE, TranslocoService} from \"@ngneat/transloco\";\nimport {CalendarEvent} from \"./models/calendar-event\";\nimport {enGB, es, nl} from \"date-fns/locale\";\nimport {\n addDays,\n addMinutes,\n differenceInMinutes,\n endOfWeek, isSameDay,\n Locale,\n setDefaultOptions,\n startOfDay,\n startOfHour\n} from \"date-fns\";\nimport {EventColor} from \"../utils/event-color\";\nimport {CalendarEventTimesChangedEvent} from \"angular-calendar\";\nimport {finalize, fromEvent, merge, Subject, takeUntil} from \"rxjs\";\nimport {CalendarEventClickEvent} from \"./models/calendar-event-click-event\";\nimport {ContextMenuComponent} from \"@perfectmemory/ngx-contextmenu\";\nimport {CalendarUtility} from \"./calendar-utility\";\nimport {CalendarConfiguration} from \"./models/calendar-configuration\";\n\n@Component({\n selector: 'biit-calendar',\n templateUrl: './biit-calendar.component.html',\n styleUrls: ['./biit-calendar.component.scss'],\n providers: [{\n provide: TRANSLOCO_SCOPE,\n useValue: {scope: 'wizardry-theme/calendar', alias: \"calendar\"}\n }]\n})\nexport class BiitCalendarComponent implements OnInit, AfterViewInit, CalendarUtility{\n @Input() calendarMode: CalendarMode = CalendarMode.MONTH;\n @Input() viewDate: Date = new Date();\n @Input() events: CalendarEvent[] = [];\n @Input() gridContextMenu: ContextMenuComponent<any>;\n @Input() eventContextMenu: ContextMenuComponent<any>;\n @Input() calendarUtility: CalendarUtility;\n @Input() configuration: CalendarConfiguration = new CalendarConfiguration();\n @Output() onEventDrop: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n @Output() onEventClick: EventEmitter<CalendarEventClickEvent> = new EventEmitter<CalendarEventClickEvent>();\n @Output() onEventDblClick: EventEmitter<CalendarEventClickEvent> = new EventEmitter<CalendarEventClickEvent>();\n @Output() onCreatedEvent: EventEmitter<CalendarEvent> = new EventEmitter<CalendarEvent>();\n protected locale: Locale;\n private weekStartsOn: 1 = 1;\n\n $calendarEvent = castTo<CalendarEvent>();\n\n constructor(private transloco: TranslocoService,\n private cdr: ChangeDetectorRef,\n private elem: ElementRef) { }\n\n customHeaderDate(date: Date): string {\n throw new Error('Method not implemented.');\n }\n\n log(event) {\n console.debug(\"DEVELOPMENT LOG: \", event)\n }\n\n ngOnInit(): void {\n this.initLocalization();\n }\n\n ngAfterViewInit() {\n this.scrollToCurrentView();\n }\n\n private scrollToCurrentView() {\n if (this.calendarMode === CalendarMode.WEEK) {\n // each hour is 60px high, so to get the pixels to scroll it's just the amount of minutes since midnight\n this.elem.nativeElement.querySelector('.cal-time-events').scrollTop = differenceInMinutes(\n startOfHour(new Date()),\n startOfDay(new Date())\n );\n }\n }\n\n private initLocalization() {\n switch (this.transloco.getActiveLang()) {\n case 'es':\n this.locale = es;\n break;\n case 'nl':\n this.locale = nl;\n break;\n default:\n this.locale = enGB;\n }\n\n setDefaultOptions({locale: this.locale});\n }\n\n refresh = new Subject<void>();\n\n eventStyles(color: EventColor): Record<string, string> {\n return {\n '--event-primary': color.primary,\n '--event-secondary': color.secondary,\n '--event-hover': color.hover,\n '--event-tertiary': color.tertiary\n }\n }\n\n protected readonly CalendarMode = CalendarMode;\n private floorToNearest(amount: number, precision: number) {\n return Math.floor(amount / precision) * precision;\n }\n\n private ceilToNearest(amount: number, precision: number) {\n return Math.ceil(amount / precision) * precision;\n }\n startDragToCreate(segment: any, segmentElement: HTMLElement, event: MouseEvent) {\n if (event.button !== 0 /* left click */) {\n return;\n }\n if (!this.configuration.createOnDrag) {\n return;\n }\n const dragToSelectEvent: CalendarEvent = {\n id: this.events.length,\n title: undefined,\n start: segment.date,\n end: segment.date,\n meta: {\n tmpEvent: true,\n },\n color: EventColor.RED,\n };\n this.events = [...this.events, dragToSelectEvent];\n const segmentPosition = segmentElement.getBoundingClientRect();\n const endOfView = endOfWeek(this.viewDate, {\n weekStartsOn: this.weekStartsOn,\n });\n\n fromEvent(document, 'mousemove')\n .pipe(\n finalize(() => {\n this.onCreatedEvent.emit(dragToSelectEvent);\n delete dragToSelectEvent.meta.tmpEvent;\n this.refreshCalendar();\n }),\n takeUntil(fromEvent(document, 'mouseup'))\n )\n .subscribe((mouseMoveEvent: MouseEvent) => {\n const minutesDiff = this.ceilToNearest(\n mouseMoveEvent.clientY - segmentPosition.top,\n 30\n ) -1;\n\n const daysDiff =\n this.floorToNearest(\n mouseMoveEvent.clientX - segmentPosition.left,\n segmentPosition.width\n ) / segmentPosition.width;\n\n const newEnd = addDays(addMinutes(segment.date, minutesDiff), daysDiff);\n\n if (!isSameDay(newEnd, segment.date)) {\n return;\n }\n\n if (newEnd > segment.date && newEnd < endOfView) {\n dragToSelectEvent.end = newEnd;\n }\n this.refreshCalendar();\n });\n }\n private refreshCalendar() {\n this.events = [...this.events];\n this.cdr.detectChanges();\n }\n}\n\nexport enum CalendarMode {\n WEEK = 'WEEK',\n MONTH = 'MONTH'\n}\n\nexport function castTo<T>(): (event) => T {\n return (event) => event as T\n}\n","<mwl-calendar-week-view [style.display]=\"calendarMode != CalendarMode.WEEK ? 'none' : null\"\n #calendar\n [locale]=\"locale.code\"\n [viewDate]=\"viewDate\"\n [events]=\"events\"\n [headerTemplate]=\"customHeader\"\n [currentTimeMarkerTemplate]=\"currentTimeMarkerTemplate\"\n [hourSegmentTemplate]=\"hourSegmentTemplate\"\n [eventTemplate]=\"eventTemplate\"\n [allDayEventsLabelTemplate]=\"allDayEventsLabelTemplate\"\n [refresh]=\"refresh\"\n (eventTimesChanged)=\"onEventDrop.emit($event)\"\n (eventClicked)=\"onEventClick.emit({event: $calendarEvent($event.event), sourceEvent: $event.sourceEvent})\"\n style=\"display: flex; flex-direction: column; height: 100%;\"\n></mwl-calendar-week-view>\n\n<ng-template\n #customHeader\n let-days=\"days\"\n let-locale=\"locale\"\n let-dayHeaderClicked=\"dayHeaderClicked\"\n let-eventDropped=\"eventDropped\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n let-dragEnter=\"dragEnter\"\n>\n <div class=\"cal-day-headers\" role=\"row\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [ngClass]=\"day.cssClass\"\n (mwlClick)=\"dayHeaderClicked.emit({ day: day, sourceEvent: $event })\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped.emit({\n event: $event.dropData.event,\n newStart: day.date\n })\n \"\n (dragEnter)=\"dragEnter.emit({ date: day.date })\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n <span style=\"text-transform: capitalize\">\n <div *ngIf=\"!calendarUtility?.customHeaderDate; else customHeaderDate\">\n {{ day.date | translocoDate: {weekday: 'short'}: this.locale }}\n {{ day.date | translocoDate: {day: '2-digit'}: locale }}\n </div>\n <ng-template #customHeaderDate>\n {{calendarUtility?.customHeaderDate(day.date)}}\n </ng-template>\n </span>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #currentTimeMarkerTemplate\n let-columnDate=\"columnDate\"\n let-dayStartHour=\"dayStartHour\"\n let-dayStartMinute=\"dayStartMinute\"\n let-dayEndHour=\"dayEndHour\"\n let-dayEndMinute=\"dayEndMinute\"\n let-isVisible=\"isVisible\"\n let-topPx=\"topPx\"\n>\n <div #timeMarker\n class=\"cal-current-time-marker-custom\"\n *ngIf=\"isVisible\"\n [style.top.px]=\"topPx\"\n ></div>\n</ng-template>\n\n<ng-template\n #hourSegmentTemplate\n let-segment=\"segment\"\n let-locale=\"locale\"\n let-segmentHeight=\"segmentHeight\"\n let-isTimeLabel=\"isTimeLabel\"\n let-daysInWeek=\"daysInWeek\"\n>\n <div\n #hourSegmentElement\n [attr.aria-hidden]=\"\n {}\n | calendarA11y\n : (daysInWeek === 1\n ? 'hideDayHourSegment'\n : 'hideWeekHourSegment')\n \"\n class=\"cal-hour-segment\"\n [style.height.px]=\"segmentHeight\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n [contextMenu]=\"gridContextMenu\"\n [contextMenuValue]=\"segment.date\"\n (mousedown)=\"startDragToCreate(segment, hourSegmentElement, $event)\"\n >\n <div class=\"cal-time\" *ngIf=\"isTimeLabel\">\n {{segment.displayDate | date: 'HH:mm'}}\n </div>\n </div>\n</ng-template>\n\n<ng-template #allDayEventsLabelTemplate\n>\n <div style=\"position: relative\">\n <div style=\"display: block;\n text-align: center;\n position: absolute;\n top: 0.1rem;\n right: -36px;\n font-size: 0.7rem;\n width: 70px;\">\n all day\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #eventTemplate\n let-weekEvent=\"weekEvent\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDisabled=\"tooltipDisabled\"\n let-tooltipDelay=\"tooltipDelay\"\n let-column=\"column\"\n let-daysInWeek=\"daysInWeek\"\n>\n <div #calEvent\n class=\"cal-event\"\n [class.barred]=\"configuration.barred || weekEvent.event.color.barred\"\n [ngStyle]=\"eventStyles(weekEvent.event.color)\"\n [mwlCalendarTooltip]=\"\n !tooltipDisabled\n ? (weekEvent.event.title\n | calendarEventTitle\n : (daysInWeek === 1 ? 'dayTooltip' : 'weekTooltip')\n : weekEvent.tempEvent || weekEvent.event)\n : ''\n \"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"weekEvent.tempEvent || weekEvent.event\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n (mwlClick)=\"eventClicked.emit({ sourceEvent: $event })\"\n (dblclick)=\"onEventDblClick.emit({event: $calendarEvent(weekEvent.event), sourceEvent: $event})\"\n (mwlKeydownEnter)=\"eventClicked.emit({ sourceEvent: $event })\"\n [contextMenu]=\"eventContextMenu\"\n [contextMenuValue]=\"weekEvent.event\"\n tabindex=\"0\"\n role=\"application\"\n >\n <span *ngIf=\"calEvent.offsetHeight >= 40\" style=\"user-select: none;\">\n {{weekEvent.event.start | date: 'HH:mm'}} - {{weekEvent.event.end | date: 'HH:mm'}}\n </span>\n <mwl-calendar-event-actions\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventActionsTemplate\"\n >\n </mwl-calendar-event-actions>\n &ngsp;\n <mwl-calendar-event-title\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventTitleTemplate\"\n [view]=\"daysInWeek === 1 ? 'day' : 'week'\"\n [class.two-lines]=\"calEvent.offsetHeight >= 40 && calEvent.offsetHeight <54\"\n [class.three-lines]=\"calEvent.offsetHeight >= 54\"\n >\n </mwl-calendar-event-title>\n </div>\n</ng-template>\n\n<ng-template #eventTitleTemplate let-event=\"event\" let-view=\"view\">\n <span\n class=\"cal-event-title\"\n [innerHTML]=\"event.title | calendarEventTitle: view:event\"\n [attr.aria-hidden]=\"{} | calendarA11y: 'hideEventTitle'\"\n >\n </span>\n</ng-template>\n\n<ng-template\n #eventActionsTemplate\n let-event=\"event\"\n let-trackByActionId=\"trackByActionId\"\n>\n <span *ngIf=\"event.actions\" class=\"cal-event-actions\">\n <a\n class=\"cal-event-action\"\n href=\"javascript:\"\n *ngFor=\"let action of event.actions; trackBy: trackByActionId\"\n (mwlClick)=\"action.onClick({ event: event, sourceEvent: $event })\"\n (mwlKeydownEnter)=\"\n action.onClick({ event: event, sourceEvent: $event })\n \"\n [ngClass]=\"action.cssClass\"\n [innerHtml]=\"action.label\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"\n { action: action } | calendarA11y: 'actionButtonLabel'\n \"\n >\n </a>\n </span>\n</ng-template>\n\n<!-- MONTH VIEW -->\n\n<mwl-calendar-month-view [style.display]=\"calendarMode != CalendarMode.MONTH ? 'none' : null\"\n [viewDate]=\"viewDate\"\n [events]=\"events\"\n [locale]=\"locale.code\"\n [cellTemplate]=\"monthCell\"\n [headerTemplate]=\"customMonthHeader\"\n [refresh]=\"refresh\"\n (eventTimesChanged)=\"onEventDrop.emit($event)\"\n (eventClicked)=\"onEventClick.emit({event: $calendarEvent($event.event), sourceEvent: $event.sourceEvent})\"\n style=\"display: flex; flex-direction: column; height: 100%;\"\n></mwl-calendar-month-view>\n\n<ng-template\n #monthCell\n let-day=\"day\"\n let-openDay=\"openDay\"\n let-locale=\"locale\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-highlightDay=\"highlightDay\"\n let-unhighlightDay=\"unhighlightDay\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDelay=\"tooltipDelay\"\n let-trackByEventId=\"trackByEventId\"\n let-validateDrag=\"validateDrag\"\n>\n <div class=\"cell-top\"\n [class.weekend]=\"day.isWeekend\"\n [attr.aria-label]=\"{ day: day, locale: locale } | calendarA11y : 'monthCell'\"\n >\n <div class=\"total-events\">\n\n </div>\n <span class=\"day-number\"\n [class.today]=\"day.isToday\"\n [class.out-month]=\"!day.inMonth\">\n {{ day.date | calendarDate : 'monthViewDayNumber' : locale }}\n </span>\n </div>\n\n <div class=\"cell-bottom\"\n *ngIf=\"day.events.length > 0\">\n <div *ngFor=\"let event of day.events | slice:0:(day.events > 3?2:3); trackBy: trackByEventId\"\n class=\"event\"\n [ngStyle]=\"eventStyles($calendarEvent(event).color)\"\n [mwlCalendarTooltip]=\"$calendarEvent(event).title | calendarEventTitle : 'monthTooltip' : $calendarEvent(event)\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"$calendarEvent(event)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n mwlDraggable\n [class.cal-draggable]=\"$calendarEvent(event).draggable\"\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: event, draggedFrom: day }\"\n [dragAxis]=\"{ x: $calendarEvent(event).draggable, y: $calendarEvent(event).draggable }\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n (mwlClick)=\"eventClicked.emit({ event: event, sourceEvent: $event })\"\n [attr.aria-hidden]=\"{} | calendarA11y : 'hideMonthCellEvents'\"\n >\n {{$calendarEvent(event).title}}\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #customMonthHeader\n let-days=\"days\"\n let-locale=\"locale\"\n let-columnHeaderClicked=\"columnHeaderClicked\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n>\n <div class=\"cal-cell-row cal-header\" role=\"row\">\n <div\n class=\"cal-cell\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n (click)=\"\n columnHeaderClicked.emit({\n isoDayNumber: day.day,\n sourceEvent: $event\n })\n \"\n [ngClass]=\"day.cssClass\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n <span>\n {{ day.date | translocoDate : {weekday:'long'}: locale }}\n </span>\n\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BiitCalendarComponent } from './biit-calendar.component';\nimport {TranslocoRootModule} from \"@biit-solutions/wizardry-theme/i18n\";\nimport {CalendarModule, DateAdapter} from \"angular-calendar\";\nimport {adapterFactory} from \"angular-calendar/date-adapters/date-fns\";\nimport {ContextMenuModule} from \"@perfectmemory/ngx-contextmenu\";\nimport {TranslocoDatePipe} from \"@ngneat/transloco-locale\";\n\n\n@NgModule({\n declarations: [\n BiitCalendarComponent\n ],\n imports: [\n CommonModule,\n TranslocoRootModule,\n CalendarModule.forRoot({\n provide: DateAdapter,\n useFactory: adapterFactory,\n }),\n ContextMenuModule,\n TranslocoDatePipe,\n ], exports: [\n BiitCalendarComponent\n ]\n})\nexport class BiitCalendarModule { }\n","import {EventAction} from \"calendar-utils\";\nimport {EventColor} from \"../../utils/event-color\"\n\nexport class CalendarEvent<MetaType = any> {\n id?: string | number;\n start: Date;\n end: Date;\n title: string;\n color?: EventColor;\n actions?: EventAction[];\n allDay?: boolean;\n cssClass?: string;\n resizable?: {\n beforeStart?: boolean;\n afterEnd?: boolean;\n };\n draggable?: boolean;\n meta?: MetaType;\n readonly ?: boolean;\n\n constructor(id: string | number, title: string, startDate: Date, endDate: Date, readonly?: boolean, allDay?: boolean, color?: EventColor, actions?: EventAction[], resizable?: boolean, draggable?: boolean, meta?: MetaType) {\n this.id = id;\n this.title = title;\n this.start = startDate ? new Date(startDate) : undefined;\n this.end = endDate ? new Date(endDate) : undefined;\n this.allDay = allDay ? allDay : false;\n this.color = color ? color : EventColor.RED;\n this.actions = actions ? actions : [];\n if (resizable && !readonly) {\n this.resizable = {beforeStart: true, afterEnd: true}\n }\n this.draggable = draggable ? draggable : !readonly;\n this.meta = meta;\n this.readonly = readonly;\n }\n\n public static copy(original: CalendarEvent, target: CalendarEvent): CalendarEvent {\n target.id = original.id;\n target.start = new Date(original.start);\n target.end = new Date(original.end);\n target.title = original.title;\n target.color = original.color;\n target.actions = original.actions;\n target.allDay = original.allDay;\n target.cssClass = original.cssClass;\n target.resizable = original.resizable;\n target.draggable = original.draggable;\n target.meta = original.meta;\n target.readonly = original.readonly;\n\n return target;\n }\n\n public static clone(original: CalendarEvent): CalendarEvent {\n const event = new CalendarEvent(undefined, '', new Date(), new Date())\n return CalendarEvent.copy(original, event);\n }\n}\n","import {CalendarEvent} from \"./calendar-event\";\n\nexport class CalendarEventClickEvent {\n event: CalendarEvent;\n sourceEvent: MouseEvent | KeyboardEvent;\n\n constructor(event: CalendarEvent, sourceEvent: MouseEvent | KeyboardEvent) {\n this.event = event;\n this.sourceEvent = sourceEvent;\n }\n}\n","/*\n * Public API Surface of wizardry-theme/login\n */\n\nexport * from './biit-calendar/biit-calendar.component';\nexport * from './biit-calendar/biit-calendar.module';\nexport * from './biit-calendar/models/calendar-event';\nexport * from './biit-calendar/models/calendar-event-click-event';\nexport * from './biit-calendar/models/calendar-configuration';\nexport * from './biit-calendar/calendar-utility';\nexport * from './utils/event-color';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}