@mintplayer/ng-bootstrap 17.0.3 → 17.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/calendar/src/calendar.component.d.ts +5 -1
  2. package/calendar/src/calendar.module.d.ts +5 -6
  3. package/esm2022/accordion/src/accordion/accordion.component.mjs +4 -4
  4. package/esm2022/accordion/src/accordion-tab/accordion-tab.component.mjs +4 -4
  5. package/esm2022/accordion/src/accordion-tab-header/accordion-tab-header.component.mjs +3 -3
  6. package/esm2022/accordion/src/accordion.module.mjs +4 -4
  7. package/esm2022/alert/src/alert/alert.component.mjs +3 -3
  8. package/esm2022/alert/src/alert-close/alert-close.component.mjs +3 -3
  9. package/esm2022/alert/src/alert.module.mjs +4 -4
  10. package/esm2022/async-host-binding/src/async-host-binding.module.mjs +4 -4
  11. package/esm2022/async-host-binding/src/bind-event.plugin.mjs +1 -1
  12. package/esm2022/badge/src/badge.component.mjs +3 -3
  13. package/esm2022/badge/src/badge.module.mjs +4 -4
  14. package/esm2022/breadcrumb/src/breadcrumb/breadcrumb.component.mjs +3 -3
  15. package/esm2022/breadcrumb/src/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  16. package/esm2022/breadcrumb/src/breadcrumb.module.mjs +4 -4
  17. package/esm2022/button-group/src/button-group/button-group.component.mjs +3 -3
  18. package/esm2022/button-group/src/button-group.module.mjs +4 -4
  19. package/esm2022/button-type/src/button-type/button-type.directive.mjs +3 -3
  20. package/esm2022/button-type/src/button-type/button-type.module.mjs +4 -4
  21. package/esm2022/calendar/src/calendar.component.mjs +20 -10
  22. package/esm2022/calendar/src/calendar.module.mjs +5 -9
  23. package/esm2022/calendar-month/src/pipes/month-name/month-name.module.mjs +4 -4
  24. package/esm2022/calendar-month/src/pipes/month-name/month-name.pipe.mjs +4 -4
  25. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.module.mjs +4 -4
  26. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +3 -3
  27. package/esm2022/calendar-month/src/service/calendar-month.service.mjs +4 -4
  28. package/esm2022/card/src/card/card.component.mjs +3 -3
  29. package/esm2022/card/src/card-header/card-header.component.mjs +3 -3
  30. package/esm2022/card/src/card.module.mjs +4 -4
  31. package/esm2022/carousel/src/carousel/carousel.component.mjs +4 -4
  32. package/esm2022/carousel/src/carousel-image/carousel-image.directive.mjs +3 -3
  33. package/esm2022/carousel/src/carousel-img/carousel-img.directive.mjs +3 -3
  34. package/esm2022/carousel/src/carousel.module.mjs +4 -4
  35. package/esm2022/close/src/close.component.mjs +3 -3
  36. package/esm2022/close/src/close.module.mjs +4 -4
  37. package/esm2022/code-snippet/src/code-snippet.component.mjs +3 -3
  38. package/esm2022/code-snippet/src/code-snippet.module.mjs +4 -4
  39. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  40. package/esm2022/color-picker/components/alpha-strip/alpha-strip.component.mjs +4 -4
  41. package/esm2022/color-picker/components/color-picker/color-picker.component.mjs +3 -3
  42. package/esm2022/color-picker/components/color-wheel/color-wheel.component.mjs +4 -4
  43. package/esm2022/color-picker/components/luminosity-strip/luminosity-strip.component.mjs +4 -4
  44. package/esm2022/color-picker/components/slider/slider.component.mjs +10 -10
  45. package/esm2022/color-picker/directives/color-picker-value-accessor/color-picker-value-accessor.directive.mjs +4 -4
  46. package/esm2022/container/src/container/container.component.mjs +3 -3
  47. package/esm2022/container/src/container.module.mjs +4 -4
  48. package/esm2022/context-menu/src/context-menu.directive.mjs +4 -4
  49. package/esm2022/context-menu/src/context-menu.module.mjs +4 -4
  50. package/esm2022/copy/src/copy.directive.mjs +4 -4
  51. package/esm2022/copy/src/copy.module.mjs +4 -4
  52. package/esm2022/datatable/src/datatable/datatable.component.mjs +4 -4
  53. package/esm2022/datatable/src/datatable-column/datatable-column.directive.mjs +3 -3
  54. package/esm2022/datatable/src/datatable-settings.mjs +1 -1
  55. package/esm2022/datatable/src/datatable.module.mjs +4 -4
  56. package/esm2022/datatable/src/row-template/row-template.directive.mjs +3 -3
  57. package/esm2022/datepicker/src/datepicker.component.mjs +3 -3
  58. package/esm2022/datepicker/src/datepicker.module.mjs +4 -4
  59. package/esm2022/dock/src/dock/dock.component.mjs +3 -3
  60. package/esm2022/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +5 -5
  61. package/esm2022/dock/src/dock-panel/dock-panel.component.mjs +3 -3
  62. package/esm2022/dock/src/dock-panel-header/dock-panel-header.component.mjs +4 -4
  63. package/esm2022/dock/src/dock.module.mjs +4 -4
  64. package/esm2022/dock/src/services/dock/dock.service.mjs +4 -4
  65. package/esm2022/dropdown/src/dropdown/dropdown.directive.mjs +4 -4
  66. package/esm2022/dropdown/src/dropdown-menu/dropdown-menu.directive.mjs +4 -4
  67. package/esm2022/dropdown/src/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
  68. package/esm2022/dropdown/src/dropdown.module.mjs +4 -4
  69. package/esm2022/dropdown-divider/src/dropdown-divider.directive.mjs +3 -3
  70. package/esm2022/dropdown-divider/src/dropdown-divider.module.mjs +4 -4
  71. package/esm2022/dropdown-menu/src/dropdown-item/dropdown-item.component.mjs +3 -3
  72. package/esm2022/dropdown-menu/src/dropdown-menu/dropdown-menu.component.mjs +4 -4
  73. package/esm2022/dropdown-menu/src/dropdown-menu.module.mjs +4 -4
  74. package/esm2022/enhanced-paste/src/directive/enhanced-paste.directive.mjs +4 -4
  75. package/esm2022/enhanced-paste/src/enhanced-paste.module.mjs +4 -4
  76. package/esm2022/enum/src/service/enum.service.mjs +3 -3
  77. package/esm2022/file-upload/src/component/file-upload.component.mjs +5 -5
  78. package/esm2022/file-upload/src/directive/file-upload-template.directive.mjs +3 -3
  79. package/esm2022/file-upload/src/file-upload.module.mjs +4 -4
  80. package/esm2022/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +4 -4
  81. package/esm2022/floating-labels/src/floating-labels/floating-label/floating-label.component.mjs +4 -4
  82. package/esm2022/floating-labels/src/floating-labels/floating-labels.module.mjs +4 -4
  83. package/esm2022/font-color/src/font-color.module.mjs +4 -4
  84. package/esm2022/font-color/src/font-color.pipe.mjs +4 -4
  85. package/esm2022/for/src/for.directive.mjs +4 -4
  86. package/esm2022/for/src/for.module.mjs +4 -4
  87. package/esm2022/form/src/form/form.component.mjs +3 -3
  88. package/esm2022/form/src/form-control/form-control.directive.mjs +3 -3
  89. package/esm2022/form/src/form-group/form-group.directive.mjs +3 -3
  90. package/esm2022/form/src/form.module.mjs +4 -4
  91. package/esm2022/grid/src/component/grid.component.mjs +4 -4
  92. package/esm2022/grid/src/directives/col-form-label/col-form-label.directive.mjs +3 -3
  93. package/esm2022/grid/src/directives/column/column.directive.mjs +4 -4
  94. package/esm2022/grid/src/directives/row/row.directive.mjs +3 -3
  95. package/esm2022/grid/src/grid.module.mjs +4 -4
  96. package/esm2022/has-overlay/src/has-overlay/has-overlay.component.mjs +4 -4
  97. package/esm2022/has-overlay/src/has-overlay/has-overlay.module.mjs +4 -4
  98. package/esm2022/has-property/src/has-property.module.mjs +4 -4
  99. package/esm2022/has-property/src/has-property.pipe.mjs +3 -3
  100. package/esm2022/in-list/src/in-list.module.mjs +4 -4
  101. package/esm2022/in-list/src/in-list.pipe.mjs +3 -3
  102. package/esm2022/input-group/src/input-group/input-group.component.mjs +3 -3
  103. package/esm2022/input-group/src/input-group.module.mjs +4 -4
  104. package/esm2022/instance-of/src/directives/instanceof-case.directive.mjs +4 -4
  105. package/esm2022/instance-of/src/directives/instanceof-default.directive.mjs +4 -4
  106. package/esm2022/instance-of/src/directives/instanceof.directive.mjs +4 -4
  107. package/esm2022/instance-of/src/directives/switch-view.mjs +1 -1
  108. package/esm2022/instance-of/src/instance-of.module.mjs +4 -4
  109. package/esm2022/instance-of/src/pipes/instance-of.pipe.mjs +3 -3
  110. package/esm2022/lazy-loading/src/lazy-load/lazy-load.directive.mjs +4 -4
  111. package/esm2022/lazy-loading/src/lazy-loading.module.mjs +4 -4
  112. package/esm2022/let/directive/let.directive.mjs +4 -4
  113. package/esm2022/let/let.module.mjs +4 -4
  114. package/esm2022/linify/src/linify.module.mjs +4 -4
  115. package/esm2022/linify/src/linify.pipe.mjs +3 -3
  116. package/esm2022/list-group/src/list-group/list-group.component.mjs +3 -3
  117. package/esm2022/list-group/src/list-group-item/list-group-item.component.mjs +3 -3
  118. package/esm2022/list-group/src/list-group.module.mjs +4 -4
  119. package/esm2022/markdown/src/bold/bold.pipe.mjs +4 -4
  120. package/esm2022/markdown/src/italic/italic.pipe.mjs +4 -4
  121. package/esm2022/markdown/src/markdown.module.mjs +4 -4
  122. package/esm2022/markdown/src/strikethrough/strikethrough.pipe.mjs +4 -4
  123. package/esm2022/markdown/src/underline/underline.pipe.mjs +4 -4
  124. package/esm2022/marquee/src/marquee/marquee.component.mjs +3 -3
  125. package/esm2022/marquee/src/marquee.module.mjs +4 -4
  126. package/esm2022/modal/src/components/modal/modal.component.mjs +5 -5
  127. package/esm2022/modal/src/components/modal-host/modal-host.component.mjs +4 -4
  128. package/esm2022/modal/src/directives/modal/modal.directive.mjs +3 -3
  129. package/esm2022/modal/src/directives/modal-body/modal-body.directive.mjs +3 -3
  130. package/esm2022/modal/src/directives/modal-close/modal-close.directive.mjs +3 -3
  131. package/esm2022/modal/src/directives/modal-footer/modal-footer.directive.mjs +3 -3
  132. package/esm2022/modal/src/directives/modal-header/modal-header.directive.mjs +3 -3
  133. package/esm2022/modal/src/modal.module.mjs +4 -4
  134. package/esm2022/multiselect/src/component/multiselect.component.mjs +4 -4
  135. package/esm2022/multiselect/src/directives/button-template/button-template.directive.mjs +3 -3
  136. package/esm2022/multiselect/src/directives/footer-template/footer-template.directive.mjs +3 -3
  137. package/esm2022/multiselect/src/directives/header-template/header-template.directive.mjs +3 -3
  138. package/esm2022/multiselect/src/multiselect.module.mjs +4 -4
  139. package/esm2022/navbar/src/dropdown-toggle/dropdown-toggle.directive.mjs +4 -4
  140. package/esm2022/navbar/src/expand-button/expand-button.directive.mjs +3 -3
  141. package/esm2022/navbar/src/nav-link/nav-link.directive.mjs +4 -4
  142. package/esm2022/navbar/src/navbar/navbar.component.mjs +4 -4
  143. package/esm2022/navbar/src/navbar-brand/navbar-brand.component.mjs +3 -3
  144. package/esm2022/navbar/src/navbar-content/navbar-content.directive.mjs +4 -4
  145. package/esm2022/navbar/src/navbar-dropdown/navbar-dropdown.component.mjs +4 -4
  146. package/esm2022/navbar/src/navbar-item/navbar-item.component.mjs +4 -4
  147. package/esm2022/navbar/src/navbar-nav/navbar-nav.component.mjs +4 -4
  148. package/esm2022/navbar/src/navbar.module.mjs +4 -4
  149. package/esm2022/navbar-toggler/src/navbar-toggler/navbar-toggler.component.mjs +5 -5
  150. package/esm2022/navbar-toggler/src/navbar-toggler.module.mjs +4 -4
  151. package/esm2022/navigation-lock/src/directive/navigation-lock.directive.mjs +4 -4
  152. package/esm2022/navigation-lock/src/guard/navigation-lock.guard.mjs +4 -4
  153. package/esm2022/navigation-lock/src/navigation-lock.module.mjs +4 -4
  154. package/esm2022/no-noscript/src/no-noscript/no-noscript.directive.mjs +4 -4
  155. package/esm2022/no-noscript/src/no-noscript.module.mjs +4 -4
  156. package/esm2022/offcanvas/src/components/offcanvas/offcanvas.component.mjs +5 -5
  157. package/esm2022/offcanvas/src/components/offcanvas-body/offcanvas-body.component.mjs +3 -3
  158. package/esm2022/offcanvas/src/components/offcanvas-header/offcanvas-header.component.mjs +3 -3
  159. package/esm2022/offcanvas/src/components/offcanvas-host/offcanvas-host.component.mjs +4 -4
  160. package/esm2022/offcanvas/src/directives/offcanvas-close/offcanvas-close.directive.mjs +3 -3
  161. package/esm2022/offcanvas/src/directives/offcanvas-content/offcanvas-content.directive.mjs +3 -3
  162. package/esm2022/offcanvas/src/directives/offcanvas-push/offcanvas-push.directive.mjs +4 -4
  163. package/esm2022/offcanvas/src/offcanvas.module.mjs +4 -4
  164. package/esm2022/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +3 -3
  165. package/esm2022/ordinal-number/src/ordinal-number.module.mjs +4 -4
  166. package/esm2022/pagination/src/component/pagination/pagination.component.mjs +4 -4
  167. package/esm2022/pagination/src/pagination.module.mjs +4 -4
  168. package/esm2022/placeholder/src/placeholder/placeholder.component.mjs +4 -4
  169. package/esm2022/placeholder/src/placeholder-field/placeholder-field.directive.mjs +3 -3
  170. package/esm2022/placeholder/src/placeholder.module.mjs +4 -4
  171. package/esm2022/playlist-toggler/src/playlist-toggler/playlist-toggler.component.mjs +5 -5
  172. package/esm2022/playlist-toggler/src/playlist-toggler.module.mjs +4 -4
  173. package/esm2022/popover/src/component/popover.component.mjs +4 -4
  174. package/esm2022/popover/src/directives/popover/popover.directive.mjs +8 -8
  175. package/esm2022/popover/src/directives/popover-body/popover-body.directive.mjs +3 -3
  176. package/esm2022/popover/src/directives/popover-header/popover-header.directive.mjs +3 -3
  177. package/esm2022/popover/src/popover.module.mjs +4 -4
  178. package/esm2022/progress-bar/src/progress/progress.component.mjs +3 -3
  179. package/esm2022/progress-bar/src/progress-bar/progress-bar.component.mjs +3 -3
  180. package/esm2022/progress-bar/src/progress-bar.module.mjs +4 -4
  181. package/esm2022/range/src/component/range.component.mjs +4 -4
  182. package/esm2022/range/src/range.module.mjs +4 -4
  183. package/esm2022/range/src/value-accessor/range-value-accessor.mjs +4 -4
  184. package/esm2022/rating/src/component/rating.component.mjs +3 -3
  185. package/esm2022/rating/src/rating.module.mjs +4 -4
  186. package/esm2022/resizable/src/resizable/resizable.component.mjs +4 -4
  187. package/esm2022/resizable/src/resizable.module.mjs +4 -4
  188. package/esm2022/resizable/src/resize-glyph/resize-glyph.directive.mjs +4 -4
  189. package/esm2022/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +17 -9
  190. package/esm2022/scheduler/src/components/scheduler/scheduler.component.mjs +21 -11
  191. package/esm2022/scheduler/src/constants/available-scales.mjs +9 -9
  192. package/esm2022/scheduler/src/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +3 -3
  193. package/esm2022/scheduler/src/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +3 -3
  194. package/esm2022/scheduler/src/pipes/date-offset/date-offset.pipe.mjs +3 -3
  195. package/esm2022/scheduler/src/pipes/day-of-week/day-of-week.pipe.mjs +4 -4
  196. package/esm2022/scheduler/src/scheduler.module.mjs +6 -10
  197. package/esm2022/scheduler/src/services/timeline/timeline.service.mjs +4 -4
  198. package/esm2022/scrollspy/src/component/scrollspy.component.mjs +4 -4
  199. package/esm2022/scrollspy/src/directives/scrollspy.directive.mjs +3 -3
  200. package/esm2022/scrollspy/src/scrollspy.module.mjs +4 -4
  201. package/esm2022/scrollspy/src/services/scroll-offset/scroll-offset.service.mjs +4 -4
  202. package/esm2022/searchbox/src/directives/enter-search-term.directive.mjs +3 -3
  203. package/esm2022/searchbox/src/directives/no-results.directive.mjs +3 -3
  204. package/esm2022/searchbox/src/directives/suggestion.directive.mjs +3 -3
  205. package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +21 -12
  206. package/esm2022/searchbox/src/searchbox.module.mjs +5 -9
  207. package/esm2022/select/src/component/select.component.mjs +4 -4
  208. package/esm2022/select/src/select.module.mjs +4 -4
  209. package/esm2022/select/src/value-accessors/select-value-accessor.mjs +7 -7
  210. package/esm2022/select2/src/component/select2.component.mjs +4 -4
  211. package/esm2022/select2/src/directive/item-template/item-template.directive.mjs +3 -3
  212. package/esm2022/select2/src/directive/suggestion-template/suggestion-template.directive.mjs +3 -3
  213. package/esm2022/select2/src/select2.module.mjs +4 -4
  214. package/esm2022/signature-pad/src/component/signature-pad.component.mjs +4 -4
  215. package/esm2022/signature-pad/src/signature-pad.module.mjs +4 -4
  216. package/esm2022/slugify/src/slugify.module.mjs +4 -4
  217. package/esm2022/slugify/src/slugify.pipe.mjs +3 -3
  218. package/esm2022/spinner/src/spinner.component.mjs +3 -3
  219. package/esm2022/spinner/src/spinner.module.mjs +4 -4
  220. package/esm2022/split-string/src/split-string.module.mjs +4 -4
  221. package/esm2022/split-string/src/split-string.pipe.mjs +3 -3
  222. package/esm2022/splitter/src/element-at/element-at.pipe.mjs +4 -4
  223. package/esm2022/splitter/src/split-panel/split-panel.component.mjs +3 -3
  224. package/esm2022/splitter/src/splitter/splitter.component.mjs +4 -4
  225. package/esm2022/splitter/src/splitter.module.mjs +4 -4
  226. package/esm2022/sticky-footer/src/sticky-footer/sticky-footer.component.mjs +4 -4
  227. package/esm2022/sticky-footer/src/sticky-footer-parent/sticky-footer-parent.directive.mjs +3 -3
  228. package/esm2022/sticky-footer/src/sticky-footer.module.mjs +4 -4
  229. package/esm2022/tab-control/src/tab-control/tab-control.component.mjs +4 -4
  230. package/esm2022/tab-control/src/tab-control.module.mjs +4 -4
  231. package/esm2022/tab-control/src/tab-page/tab-page.component.mjs +3 -3
  232. package/esm2022/tab-control/src/tab-page-header/tab-page-header.directive.mjs +3 -3
  233. package/esm2022/table/src/component/table.component.mjs +4 -4
  234. package/esm2022/table/src/table.module.mjs +4 -4
  235. package/esm2022/timepicker/src/timepicker.component.mjs +19 -12
  236. package/esm2022/timepicker/src/timepicker.module.mjs +5 -9
  237. package/esm2022/toast/src/components/toast/toast.component.mjs +3 -3
  238. package/esm2022/toast/src/components/toast-body/toast-body.component.mjs +3 -3
  239. package/esm2022/toast/src/components/toast-container/toast-container.component.mjs +3 -3
  240. package/esm2022/toast/src/components/toast-header/toast-header.component.mjs +3 -3
  241. package/esm2022/toast/src/directives/toast-close/toast-close.directive.mjs +4 -4
  242. package/esm2022/toast/src/pipes/add-properties.pipe.mjs +3 -3
  243. package/esm2022/toast/src/services/toast/toast.service.mjs +4 -4
  244. package/esm2022/toast/src/toast.module.mjs +4 -4
  245. package/esm2022/toggle-button/src/component/toggle-button.component.mjs +4 -4
  246. package/esm2022/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.mjs +3 -3
  247. package/esm2022/toggle-button/src/toggle-button.module.mjs +4 -4
  248. package/esm2022/toggle-button/src/value-accessor/toggle-button-value-accessor.mjs +4 -4
  249. package/esm2022/tooltip/src/component/tooltip.component.mjs +4 -4
  250. package/esm2022/tooltip/src/directive/tooltip.directive.mjs +8 -8
  251. package/esm2022/tooltip/src/tooltip.module.mjs +4 -4
  252. package/esm2022/track-by/src/track-by-index.directive.mjs +3 -3
  253. package/esm2022/track-by/src/track-by.directive.mjs +3 -3
  254. package/esm2022/track-by/src/track-by.module.mjs +4 -4
  255. package/esm2022/treeview/src/treeview/treeview.component.mjs +3 -3
  256. package/esm2022/treeview/src/treeview-item/treeview-item.component.mjs +16 -9
  257. package/esm2022/treeview/src/treeview.module.mjs +6 -7
  258. package/esm2022/trust-html/src/trust-html.module.mjs +4 -4
  259. package/esm2022/trust-html/src/trust-html.pipe.mjs +3 -3
  260. package/esm2022/typeahead/src/typeahead.component.mjs +4 -4
  261. package/esm2022/typeahead/src/typeahead.module.mjs +4 -4
  262. package/esm2022/uc-first/src/uc-first.module.mjs +4 -4
  263. package/esm2022/uc-first/src/uc-first.pipe.mjs +3 -3
  264. package/esm2022/user-agent/src/directive/user-agent.directive.mjs +4 -4
  265. package/esm2022/user-agent/src/user-agent.module.mjs +4 -4
  266. package/esm2022/word-count/src/word-count.module.mjs +4 -4
  267. package/esm2022/word-count/src/word-count.pipe.mjs +4 -4
  268. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +15 -15
  269. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  270. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +10 -10
  271. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs +4 -4
  272. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs.map +1 -1
  273. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +7 -7
  274. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +10 -10
  275. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +7 -7
  276. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +7 -7
  277. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +17 -17
  278. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  279. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +22 -17
  280. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  281. package/fesm2022/mintplayer-ng-bootstrap-card.mjs +10 -10
  282. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +13 -13
  283. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  284. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +7 -7
  285. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
  286. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +29 -29
  287. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  288. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +7 -7
  289. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
  290. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  291. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +7 -7
  292. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  293. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +13 -13
  294. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  295. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +7 -7
  296. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +20 -20
  297. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  298. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +7 -7
  299. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
  300. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  301. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +13 -13
  302. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  303. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +7 -7
  304. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  305. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs +3 -3
  306. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +14 -14
  307. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  308. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +7 -7
  309. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  310. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +7 -7
  311. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
  312. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +7 -7
  313. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  314. package/fesm2022/mintplayer-ng-bootstrap-form.mjs +13 -13
  315. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +16 -16
  316. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  317. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +8 -8
  318. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  319. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +7 -7
  320. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +7 -7
  321. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +7 -7
  322. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +16 -16
  323. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs.map +1 -1
  324. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs +7 -7
  325. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs.map +1 -1
  326. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +7 -7
  327. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  328. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +7 -7
  329. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +10 -10
  330. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +16 -16
  331. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  332. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +7 -7
  333. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +26 -26
  334. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  335. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +16 -16
  336. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  337. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +8 -8
  338. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  339. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +32 -32
  340. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  341. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +10 -10
  342. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
  343. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +7 -7
  344. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  345. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +27 -27
  346. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  347. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +7 -7
  348. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +8 -8
  349. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  350. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +11 -11
  351. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
  352. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +8 -8
  353. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  354. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +20 -20
  355. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  356. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +11 -11
  357. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +11 -11
  358. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  359. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +8 -8
  360. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +10 -10
  361. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  362. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +59 -47
  363. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  364. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +14 -14
  365. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  366. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +32 -28
  367. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  368. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +13 -13
  369. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  370. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +13 -13
  371. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  372. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +7 -7
  373. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  374. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +7 -7
  375. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +7 -7
  376. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +7 -7
  377. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +13 -13
  378. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
  379. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +10 -10
  380. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs.map +1 -1
  381. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +14 -14
  382. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  383. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +8 -8
  384. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  385. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +21 -19
  386. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  387. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +25 -25
  388. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  389. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +13 -13
  390. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  391. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +14 -14
  392. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  393. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs +10 -10
  394. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +21 -16
  395. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
  396. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +7 -7
  397. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +7 -7
  398. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  399. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +7 -7
  400. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +7 -7
  401. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  402. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +7 -7
  403. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
  404. package/package.json +7 -13
  405. package/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.d.ts +5 -1
  406. package/scheduler/src/components/scheduler/scheduler.component.d.ts +5 -1
  407. package/scheduler/src/scheduler.module.d.ts +1 -2
  408. package/searchbox/src/searchbox/searchbox.component.d.ts +5 -2
  409. package/searchbox/src/searchbox.module.d.ts +6 -7
  410. package/timepicker/src/timepicker.component.d.ts +4 -1
  411. package/timepicker/src/timepicker.module.d.ts +6 -7
  412. package/treeview/src/treeview-item/treeview-item.component.d.ts +4 -1
  413. package/treeview/src/treeview.module.d.ts +1 -2
  414. package/esm2022/icon/index.mjs +0 -3
  415. package/esm2022/icon/mintplayer-ng-bootstrap-icon.mjs +0 -5
  416. package/esm2022/icon/src/icon.component.mjs +0 -34
  417. package/esm2022/icon/src/icon.module.mjs +0 -18
  418. package/fesm2022/mintplayer-ng-bootstrap-icon.mjs +0 -56
  419. package/fesm2022/mintplayer-ng-bootstrap-icon.mjs.map +0 -1
  420. package/icon/index.d.ts +0 -2
  421. package/icon/src/icon.component.d.ts +0 -12
  422. package/icon/src/icon.module.d.ts +0 -8
@@ -2,11 +2,10 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, Input, Pipe, EventEmitter, ViewChildren, Output, HostListener, NgModule } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { BehaviorSubject, map, filter, combineLatest, take } from 'rxjs';
5
- import * as i1 from '@mintplayer/ng-bootstrap/calendar-month';
6
- import * as i3 from '@angular/common';
5
+ import * as i2 from '@mintplayer/ng-bootstrap/calendar-month';
6
+ import * as i1 from '@angular/platform-browser';
7
+ import * as i4 from '@angular/common';
7
8
  import { CommonModule } from '@angular/common';
8
- import * as i2 from '@mintplayer/ng-bootstrap/icon';
9
- import { BsIconModule } from '@mintplayer/ng-bootstrap/icon';
10
9
 
11
10
  var ESchedulerMode;
12
11
  (function (ESchedulerMode) {
@@ -75,10 +74,10 @@ class BsTimelineService {
75
74
  return false;
76
75
  }
77
76
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsTimelineService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsTimelineService, providedIn: 'root' }); }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsTimelineService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
78
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsTimelineService, providedIn: 'root' }); }
80
79
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsTimelineService, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsTimelineService, decorators: [{
82
81
  type: Injectable,
83
82
  args: [{
84
83
  providedIn: 'root'
@@ -86,7 +85,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
86
85
  }] });
87
86
 
88
87
  class ResourceGroupPresenterComponent {
89
- constructor() {
88
+ constructor(sanitizer) {
89
+ this.sanitizer = sanitizer;
90
90
  this.level = 0;
91
91
  this.resourceOrGroup$ = new BehaviorSubject(null);
92
92
  this.timeSlots$ = new BehaviorSubject([]);
@@ -115,6 +115,12 @@ class ResourceGroupPresenterComponent {
115
115
  .pipe(map(timeSlots => timeSlots
116
116
  .map(timeslot => timeslot.slots.length)
117
117
  .reduce((sum, current) => sum + current, 0)));
118
+ import('bootstrap-icons/icons/chevron-down.svg').then((icon) => {
119
+ this.chevronDown = sanitizer.bypassSecurityTrustHtml(icon.default);
120
+ });
121
+ import('bootstrap-icons/icons/chevron-right.svg').then((icon) => {
122
+ this.chevronRight = sanitizer.bypassSecurityTrustHtml(icon.default);
123
+ });
118
124
  }
119
125
  //#region resourceOrGroup
120
126
  get resourceOrGroup() {
@@ -143,13 +149,13 @@ class ResourceGroupPresenterComponent {
143
149
  toggleExpanded() {
144
150
  this.isExpanded$.next(!this.isExpanded$.value);
145
151
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ResourceGroupPresenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: { level: "level", resourceGroup: "resourceGroup", timeSlots: "timeSlots", isExpanded: "isExpanded" }, ngImport: i0, template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <bs-icon [icon]=\"'chevron-down'\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></bs-icon>\n <bs-icon [icon]=\"'chevron-right'\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></bs-icon>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BsIconComponent, selector: "bs-icon", inputs: ["icon"] }, { kind: "component", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: ["level", "resourceGroup", "timeSlots", "isExpanded"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ResourceGroupPresenterComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: { level: "level", resourceGroup: "resourceGroup", timeSlots: "timeSlots", isExpanded: "isExpanded" }, ngImport: i0, template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <span [innerHTML]=\"chevronDown\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></span>\n <span [innerHTML]=\"chevronRight\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></span>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: ["level", "resourceGroup", "timeSlots", "isExpanded"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
148
154
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ResourceGroupPresenterComponent, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ResourceGroupPresenterComponent, decorators: [{
150
156
  type: Component,
151
- args: [{ selector: 'bs-resource-group-presenter', template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <bs-icon [icon]=\"'chevron-down'\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></bs-icon>\n <bs-icon [icon]=\"'chevron-right'\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></bs-icon>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"] }]
152
- }], ctorParameters: () => [], propDecorators: { level: [{
157
+ args: [{ selector: 'bs-resource-group-presenter', template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <span [innerHTML]=\"chevronDown\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></span>\n <span [innerHTML]=\"chevronRight\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></span>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"] }]
158
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { level: [{
153
159
  type: Input
154
160
  }], resourceGroup: [{
155
161
  type: Input
@@ -163,10 +169,10 @@ class BsSecondsTimespanPipe {
163
169
  transform(value) {
164
170
  return (value.end.getTime() - value.start.getTime()) / 1000;
165
171
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSecondsTimespanPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
167
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsSecondsTimespanPipe, name: "bsSecondsTimespan" }); }
172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSecondsTimespanPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
173
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSecondsTimespanPipe, name: "bsSecondsTimespan" }); }
168
174
  }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSecondsTimespanPipe, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSecondsTimespanPipe, decorators: [{
170
176
  type: Pipe,
171
177
  args: [{
172
178
  name: 'bsSecondsTimespan'
@@ -181,10 +187,10 @@ class BsSecondsTodayOffsetPipe {
181
187
  today.setSeconds(0);
182
188
  return (value.start.getTime() - today.getTime()) / 1000;
183
189
  }
184
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSecondsTodayOffsetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
185
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsSecondsTodayOffsetPipe, name: "bsSecondsTodayOffset" }); }
190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSecondsTodayOffsetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
191
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSecondsTodayOffsetPipe, name: "bsSecondsTodayOffset" }); }
186
192
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSecondsTodayOffsetPipe, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSecondsTodayOffsetPipe, decorators: [{
188
194
  type: Pipe,
189
195
  args: [{
190
196
  name: 'bsSecondsTodayOffset'
@@ -201,18 +207,21 @@ class DayOfWeekPipe {
201
207
  return dayOfWeek;
202
208
  }
203
209
  }
204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DayOfWeekPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
205
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: DayOfWeekPipe, name: "dayOfWeek" }); }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DayOfWeekPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
211
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: DayOfWeekPipe, name: "dayOfWeek" }); }
206
212
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DayOfWeekPipe, decorators: [{
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DayOfWeekPipe, decorators: [{
208
214
  type: Pipe,
209
215
  args: [{
210
216
  name: 'dayOfWeek'
211
217
  }]
212
218
  }] });
213
219
 
220
+ /// <reference types="../../types" />
221
+ /// <reference types="../../types" />
214
222
  class BsSchedulerComponent {
215
- constructor(calendarMonthService, timelineService) {
223
+ constructor(sanitizer, calendarMonthService, timelineService) {
224
+ this.sanitizer = sanitizer;
216
225
  this.calendarMonthService = calendarMonthService;
217
226
  this.timelineService = timelineService;
218
227
  this.resources$ = new BehaviorSubject([]);
@@ -379,6 +388,12 @@ class BsSchedulerComponent {
379
388
  .subscribe(timelineOptions => this.timelineOptionsChange.emit(timelineOptions));
380
389
  // combineLatest([this.mode$, this.scale$])
381
390
  // .pipe(filter(([mode, scale]) => mode === ESchedulerMode.timeline))
391
+ import('bootstrap-icons/icons/chevron-left.svg').then((icon) => {
392
+ this.chevronLeft = sanitizer.bypassSecurityTrustHtml(icon.default);
393
+ });
394
+ import('bootstrap-icons/icons/chevron-right.svg').then((icon) => {
395
+ this.chevronRight = sanitizer.bypassSecurityTrustHtml(icon.default);
396
+ });
382
397
  }
383
398
  createTimeslot(date, index, duration) {
384
399
  const timeSlotStart = new Date(date);
@@ -692,13 +707,13 @@ class BsSchedulerComponent {
692
707
  }
693
708
  }
694
709
  }
695
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSchedulerComponent, deps: [{ token: i1.BsCalendarMonthService }, { token: BsTimelineService }], target: i0.ɵɵFactoryTarget.Component }); }
696
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: BsSchedulerComponent, selector: "bs-scheduler", inputs: { mode: "mode", weekOptions: "weekOptions", timelineOptions: "timelineOptions", maxInnerHeight: "maxInnerHeight", resources: "resources" }, outputs: { modeChange: "modeChange", weekOptionsChange: "weekOptionsChange", timelineOptionsChange: "timelineOptionsChange" }, host: { listeners: { "document:mousemove": "onMousemove($event)", "document:mouseup": "onMouseUp($event)" } }, viewQueries: [{ propertyName: "timeSlotElements", predicate: ["slot"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex flex-column w-100 overflow-y-auto mb-0 week-schedule\" [style.max-height.px]=\"null\"\n *ngIf=\"(mode$ | async) === modes.week\">\n <div class=\"calendar-head\">\n <div class=\"w-100 d-flex flex-row\">\n <div class=\"d-flex calendar-left justify-content-between\">\n <button class=\"btn btn-default flex-start\" (click)=\"onPreviousWeekOrMonth()\">\n <bs-icon [icon]=\"'chevron-left'\" class=\"px-0\"></bs-icon>\n </button>\n <button class=\"btn btn-default flex-end\" (click)=\"onNextWeekOrMonth()\">\n <bs-icon [icon]=\"'chevron-right'\" class=\"px-0\"></bs-icon>\n </button>\n </div>\n <div class=\"flex-grow-1 calendar-head-cell\" *ngFor=\"let day of (shownDays$ | async)\">\n <span class=\"d-block col-form-label text-center text-nowrap\">\n <span>{{ day | date: 'dd-MM' }}</span><span class=\"d-none d-lg-inline-block\">-{{ day | date: 'yyyy' }}</span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"calendar-body\" [style.height.px]=\"maxInnerHeight\">\n <div class=\"position-relative\" *ngIf=\"(timeSlots$ | async) as row\">\n <ng-container *ngIf=\"(weekOptions$ | async) as weekOptions\">\n <!-- Timeslots -->\n <div *ngFor=\"let timeslots of row; let i = index\" class=\"d-flex flex-row p-0 timeslot\" [style.height.px]=\"weekOptions.unitHeight\">\n <div class=\"calendar-cell calendar-left align-top px-2 py-0\">{{ timeslots.slots[0].start | date: 'HH:mm:ss' }}</div>\n <div class=\"calendar-cell flex-grow-1\" *ngFor=\"let slot of timeslots.slots; let j = index\" #slot (mousedown)=\"onCreateEvent($event, slot)\" [attr.data-row]=\"i\" [attr.data-column]=\"j\"></div>\n </div>\n\n <!-- Events -->\n <ng-container *ngIf=\"(timeSlotDuration$ | async) as timeSlotDuration\">\n <ng-container *ngIf=\"(timelinedEventPartsForThisWeek$ | async) as partData\">\n <div *ngFor=\"let eventPart of partData.parts\" class=\"event p-0\"\n [style.top.px]=\"(eventPart.part | bsSecondsTodayOffset) / timeSlotDuration * weekOptions.unitHeight\"\n [style.height.px]=\"(eventPart.part | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.left]=\"'calc(90px + ((100% - 90px) / 7 * ' + ((eventPart.part | dayOfWeek) - 1) + '))'\">\n <div class=\"event-inner\" [class.hover]=\"(hoveredEvent$ | async) === eventPart.part.event\"\n [style.width]=\"'calc(100% / ' + partData.total + ')'\"\n [style.height.px]=\"(eventPart.part | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.margin-left]=\"'calc(100% / ' + partData.total + ' * ' + eventPart.index + ')'\">\n\n <div class=\"event-resize top\"\n *ngIf=\"eventPart.part.start === eventPart.part.event?.start\"\n (mousedown)=\"onStartResizeEvent(eventPart.part.event, 'top')\"></div>\n <div class=\"event-border\"></div>\n <div class=\"event-wrapper\" *ngIf=\"eventPart.part.event\"\n (mousedown)=\"onStartDragEvent(eventPart.part, $event)\"\n (mouseenter)=\"onHoverEvent(eventPart.part.event)\"\n (mouseleave)=\"onLeaveEvent(eventPart.part.event)\">\n <div class=\"event-bg\" [style.background-color]=\"eventPart.part.event.color\"></div>\n <div class=\"event-label\">{{ eventPart.part.event.description }}</div>\n </div>\n <div class=\"event-resize bottom\"\n *ngIf=\"eventPart.part.end === eventPart.part.event?.end\"\n (mousedown)=\"onStartResizeEvent(eventPart.part.event, 'bottom')\"></div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"(previewEventPartsForThisWeek$ | async) as previewPartData\">\n <div *ngFor=\"let eventPart of previewPartData\" class=\"event preview p-0\"\n [style.top.px]=\"(eventPart | bsSecondsTodayOffset) / timeSlotDuration * weekOptions.unitHeight\"\n [style.height.px]=\"(eventPart | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.left]=\"'calc(90px + ((100% - 90px) / 7 * ' + ((eventPart | dayOfWeek) - 1) + '))'\">\n <div class=\"event-inner w-100\"\n [style.height.px]=\"(eventPart | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\">\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<div class=\"d-flex flex-column-100 overflow-y-auto mb-0 bg-white timeline\" *ngIf=\"(mode$ | async) === modes.timeline\">\n <div class=\"calendar-head d-flex\">\n <button class=\"btn flex-start\" (click)=\"onPreviousWeekOrMonth()\">\n <bs-icon [icon]=\"'chevron-left'\" class=\"px-0\"></bs-icon>\n </button>\n <div class=\"flex-grow-1 h3 py-2 mb-0 text-center\">{{ currentWeekOrMonth$ | async | date: 'MMMM yyyy' }}</div>\n <button class=\"btn flex-start\" (click)=\"onNextWeekOrMonth()\">\n <bs-icon [icon]=\"'chevron-right'\" class=\"px-0\"></bs-icon>\n </button>\n </div>\n \n <div class=\"calendar-body table-responsive overflow-x-auto\">\n <table class=\"table mb-0\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <tr>\n <td></td>\n <td *ngFor=\"let day of timeSlots\" [attr.colspan]=\"day.slots.length\" class=\"text-center px-2\">\n <span class=\"position-sticky day-label\">{{ day.stamp | date: 'd EE' }}</span>\n </td>\n </tr>\n <tr>\n <td></td>\n <ng-container *ngIf=\"(timelineOptions$ | async) as timelineOptions\">\n <ng-container *ngFor=\"let day of timeSlots\">\n <td *ngFor=\"let slot of day.slots\">\n <span class=\"d-block p-0 text-center\" [style.width.px]=\"timelineOptions.unitWidth\">\n {{ slot.start | date: 'HH:mm' }}\n </span>\n </td>\n </ng-container>\n </ng-container>\n </tr>\n <bs-resource-group-presenter *ngFor=\"let group of (resources$ | async)\" [resourceGroup]=\"group\" [timeSlots]=\"timeSlots\"></bs-resource-group-presenter>\n </ng-container>\n </table>\n </div>\n</div>", styles: [":host{display:block;border:1px solid #333;border-top-right-radius:10px;border-top-left-radius:10px;overflow:hidden}.calendar-head{background:#F7F7F7;color:#007aff}.tabel .calendar-head{flex:0 0 auto}.tabel .calendar-body{display:block;flex:1 1 auto}.week-schedule .calendar-head>div{padding-right:18px}.week-schedule .calendar-body{overflow-y:scroll;overflow-x:hidden}.week-schedule .calendar-body .calendar-cell{border-right:1px solid #DEE2E6;border-bottom:1px solid #DEE2E6;cursor:default}.week-schedule .calendar-body .calendar-cell.hover{border-top-width:3px}.week-schedule .calendar-left{width:90px}.week-schedule .event{z-index:5;width:calc((100% - 90px) / 7);height:100px;overflow:hidden;position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none}.week-schedule .event.preview{background:#666;opacity:.6}.week-schedule .event .event-border{background:black;top:0;left:0;bottom:3px;width:3px;position:absolute;z-index:10;opacity:.3}.week-schedule .event .event-inner{position:relative;inset:0 5px 5px 0;cursor:move;pointer-events:all;overflow:hidden}.week-schedule .event .event-inner .event-wrapper{width:calc(100% - 2px);margin:1px auto 1px 0;height:calc(100% - 3px)}.week-schedule .event .event-inner .event-wrapper .event-bg{opacity:.5;height:100%;transition:opacity .15s ease-in-out}.week-schedule .event .event-inner .event-wrapper .event-label{position:absolute;top:0;font-size:12px;font-weight:600;padding:4px}.week-schedule .event .event-inner .event-resize{position:absolute;cursor:ns-resize;height:4px;left:0;right:0;z-index:400}.week-schedule .event .event-inner .event-resize.top{top:0}.week-schedule .event .event-inner .event-resize.bottom{bottom:0}.week-schedule .event .event-inner .event-resize:hover{background:#DDD}.week-schedule .event .event-inner.hover .event-bg{opacity:.7!important}@media (max-width: 767px){.week-schedule.tabel .calendar-head .calendar-head-cell{text-orientation:sideways;writing-mode:vertical-rl}}.timeline.tabel{flex-flow:column}.timeline .calendar-body .tabel{background-color:#f7f7f7}.timeline .calendar-body .tabel tr:first-child td{background-color:#fff;border:1px solid #000}.timeline .calendar-body .tabel tr:first-child td:first-child{min-width:10rem}.timeline .calendar-body .tabel tr:first-child span.day-label{left:0;right:0}.timeline .calendar-body .tabel tr:nth-child(2) td{border-width:1px;border-color:inherit}.timeline .calendar-body .tabel>:not(:first-child){border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BsIconComponent, selector: "bs-icon", inputs: ["icon"] }, { kind: "component", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: ["level", "resourceGroup", "timeSlots", "isExpanded"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: BsSecondsTimespanPipe, name: "bsSecondsTimespan" }, { kind: "pipe", type: BsSecondsTodayOffsetPipe, name: "bsSecondsTodayOffset" }, { kind: "pipe", type: DayOfWeekPipe, name: "dayOfWeek" }] }); }
710
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSchedulerComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.BsCalendarMonthService }, { token: BsTimelineService }], target: i0.ɵɵFactoryTarget.Component }); }
711
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsSchedulerComponent, selector: "bs-scheduler", inputs: { mode: "mode", weekOptions: "weekOptions", timelineOptions: "timelineOptions", maxInnerHeight: "maxInnerHeight", resources: "resources" }, outputs: { modeChange: "modeChange", weekOptionsChange: "weekOptionsChange", timelineOptionsChange: "timelineOptionsChange" }, host: { listeners: { "document:mousemove": "onMousemove($event)", "document:mouseup": "onMouseUp($event)" } }, viewQueries: [{ propertyName: "timeSlotElements", predicate: ["slot"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex flex-column w-100 overflow-y-auto mb-0 week-schedule\" [style.max-height.px]=\"null\"\n *ngIf=\"(mode$ | async) === modes.week\">\n <div class=\"calendar-head\">\n <div class=\"w-100 d-flex flex-row\">\n <div class=\"d-flex calendar-left justify-content-between\">\n <button class=\"btn btn-default flex-start\" (click)=\"onPreviousWeekOrMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"px-0\"></span>\n </button>\n <button class=\"btn btn-default flex-end\" (click)=\"onNextWeekOrMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"px-0\"></span>\n </button>\n </div>\n <div class=\"flex-grow-1 calendar-head-cell\" *ngFor=\"let day of (shownDays$ | async)\">\n <span class=\"d-block col-form-label text-center text-nowrap\">\n <span>{{ day | date: 'dd-MM' }}</span><span class=\"d-none d-lg-inline-block\">-{{ day | date: 'yyyy' }}</span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"calendar-body\" [style.height.px]=\"maxInnerHeight\">\n <div class=\"position-relative\" *ngIf=\"(timeSlots$ | async) as row\">\n <ng-container *ngIf=\"(weekOptions$ | async) as weekOptions\">\n <!-- Timeslots -->\n <div *ngFor=\"let timeslots of row; let i = index\" class=\"d-flex flex-row p-0 timeslot\" [style.height.px]=\"weekOptions.unitHeight\">\n <div class=\"calendar-cell calendar-left align-top px-2 py-0\">{{ timeslots.slots[0].start | date: 'HH:mm:ss' }}</div>\n <div class=\"calendar-cell flex-grow-1\" *ngFor=\"let slot of timeslots.slots; let j = index\" #slot (mousedown)=\"onCreateEvent($event, slot)\" [attr.data-row]=\"i\" [attr.data-column]=\"j\"></div>\n </div>\n\n <!-- Events -->\n <ng-container *ngIf=\"(timeSlotDuration$ | async) as timeSlotDuration\">\n <ng-container *ngIf=\"(timelinedEventPartsForThisWeek$ | async) as partData\">\n <div *ngFor=\"let eventPart of partData.parts\" class=\"event p-0\"\n [style.top.px]=\"(eventPart.part | bsSecondsTodayOffset) / timeSlotDuration * weekOptions.unitHeight\"\n [style.height.px]=\"(eventPart.part | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.left]=\"'calc(90px + ((100% - 90px) / 7 * ' + ((eventPart.part | dayOfWeek) - 1) + '))'\">\n <div class=\"event-inner\" [class.hover]=\"(hoveredEvent$ | async) === eventPart.part.event\"\n [style.width]=\"'calc(100% / ' + partData.total + ')'\"\n [style.height.px]=\"(eventPart.part | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.margin-left]=\"'calc(100% / ' + partData.total + ' * ' + eventPart.index + ')'\">\n\n <div class=\"event-resize top\"\n *ngIf=\"eventPart.part.start === eventPart.part.event?.start\"\n (mousedown)=\"onStartResizeEvent(eventPart.part.event, 'top')\"></div>\n <div class=\"event-border\"></div>\n <div class=\"event-wrapper\" *ngIf=\"eventPart.part.event\"\n (mousedown)=\"onStartDragEvent(eventPart.part, $event)\"\n (mouseenter)=\"onHoverEvent(eventPart.part.event)\"\n (mouseleave)=\"onLeaveEvent(eventPart.part.event)\">\n <div class=\"event-bg\" [style.background-color]=\"eventPart.part.event.color\"></div>\n <div class=\"event-label\">{{ eventPart.part.event.description }}</div>\n </div>\n <div class=\"event-resize bottom\"\n *ngIf=\"eventPart.part.end === eventPart.part.event?.end\"\n (mousedown)=\"onStartResizeEvent(eventPart.part.event, 'bottom')\"></div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"(previewEventPartsForThisWeek$ | async) as previewPartData\">\n <div *ngFor=\"let eventPart of previewPartData\" class=\"event preview p-0\"\n [style.top.px]=\"(eventPart | bsSecondsTodayOffset) / timeSlotDuration * weekOptions.unitHeight\"\n [style.height.px]=\"(eventPart | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.left]=\"'calc(90px + ((100% - 90px) / 7 * ' + ((eventPart | dayOfWeek) - 1) + '))'\">\n <div class=\"event-inner w-100\"\n [style.height.px]=\"(eventPart | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\">\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<div class=\"d-flex flex-column-100 overflow-y-auto mb-0 bg-white timeline\" *ngIf=\"(mode$ | async) === modes.timeline\">\n <div class=\"calendar-head d-flex\">\n <button class=\"btn flex-start\" (click)=\"onPreviousWeekOrMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"px-0\"></span>\n </button>\n <div class=\"flex-grow-1 h3 py-2 mb-0 text-center\">{{ currentWeekOrMonth$ | async | date: 'MMMM yyyy' }}</div>\n <button class=\"btn flex-start\" (click)=\"onNextWeekOrMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"px-0\"></span>\n </button>\n </div>\n \n <div class=\"calendar-body table-responsive overflow-x-auto\">\n <table class=\"table mb-0\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <tr>\n <td></td>\n <td *ngFor=\"let day of timeSlots\" [attr.colspan]=\"day.slots.length\" class=\"text-center px-2\">\n <span class=\"position-sticky day-label\">{{ day.stamp | date: 'd EE' }}</span>\n </td>\n </tr>\n <tr>\n <td></td>\n <ng-container *ngIf=\"(timelineOptions$ | async) as timelineOptions\">\n <ng-container *ngFor=\"let day of timeSlots\">\n <td *ngFor=\"let slot of day.slots\">\n <span class=\"d-block p-0 text-center\" [style.width.px]=\"timelineOptions.unitWidth\">\n {{ slot.start | date: 'HH:mm' }}\n </span>\n </td>\n </ng-container>\n </ng-container>\n </tr>\n <bs-resource-group-presenter *ngFor=\"let group of (resources$ | async)\" [resourceGroup]=\"group\" [timeSlots]=\"timeSlots\"></bs-resource-group-presenter>\n </ng-container>\n </table>\n </div>\n</div>", styles: [":host{display:block;border:1px solid #333;border-top-right-radius:10px;border-top-left-radius:10px;overflow:hidden}.calendar-head{background:#f7f7f7;color:#007aff}.tabel .calendar-head{flex:0 0 auto}.tabel .calendar-body{display:block;flex:1 1 auto}.week-schedule .calendar-head>div{padding-right:18px}.week-schedule .calendar-body{overflow-y:scroll;overflow-x:hidden}.week-schedule .calendar-body .calendar-cell{border-right:1px solid #DEE2E6;border-bottom:1px solid #DEE2E6;cursor:default}.week-schedule .calendar-body .calendar-cell.hover{border-top-width:3px}.week-schedule .calendar-left{width:90px}.week-schedule .event{z-index:5;width:calc((100% - 90px) / 7);height:100px;overflow:hidden;position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none}.week-schedule .event.preview{background:#666;opacity:.6}.week-schedule .event .event-border{background:#000;top:0;left:0;bottom:3px;width:3px;position:absolute;z-index:10;opacity:.3}.week-schedule .event .event-inner{position:relative;inset:0 5px 5px 0;cursor:move;pointer-events:all;overflow:hidden}.week-schedule .event .event-inner .event-wrapper{width:calc(100% - 2px);margin:1px auto 1px 0;height:calc(100% - 3px)}.week-schedule .event .event-inner .event-wrapper .event-bg{opacity:.5;height:100%;transition:opacity .15s ease-in-out}.week-schedule .event .event-inner .event-wrapper .event-label{position:absolute;top:0;font-size:12px;font-weight:600;padding:4px}.week-schedule .event .event-inner .event-resize{position:absolute;cursor:ns-resize;height:4px;left:0;right:0;z-index:400}.week-schedule .event .event-inner .event-resize.top{top:0}.week-schedule .event .event-inner .event-resize.bottom{bottom:0}.week-schedule .event .event-inner .event-resize:hover{background:#ddd}.week-schedule .event .event-inner.hover .event-bg{opacity:.7!important}@media (max-width: 767px){.week-schedule.tabel .calendar-head .calendar-head-cell{text-orientation:sideways;writing-mode:vertical-rl}}.timeline.tabel{flex-flow:column}.timeline .calendar-body .tabel{background-color:#f7f7f7}.timeline .calendar-body .tabel tr:first-child td{background-color:#fff;border:1px solid #000}.timeline .calendar-body .tabel tr:first-child td:first-child{min-width:10rem}.timeline .calendar-body .tabel tr:first-child span.day-label{left:0;right:0}.timeline .calendar-body .tabel tr:nth-child(2) td{border-width:1px;border-color:inherit}.timeline .calendar-body .tabel>:not(:first-child){border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: ["level", "resourceGroup", "timeSlots", "isExpanded"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.DatePipe, name: "date" }, { kind: "pipe", type: BsSecondsTimespanPipe, name: "bsSecondsTimespan" }, { kind: "pipe", type: BsSecondsTodayOffsetPipe, name: "bsSecondsTodayOffset" }, { kind: "pipe", type: DayOfWeekPipe, name: "dayOfWeek" }] }); }
697
712
  }
698
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSchedulerComponent, decorators: [{
713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSchedulerComponent, decorators: [{
699
714
  type: Component,
700
- args: [{ selector: 'bs-scheduler', template: "<div class=\"d-flex flex-column w-100 overflow-y-auto mb-0 week-schedule\" [style.max-height.px]=\"null\"\n *ngIf=\"(mode$ | async) === modes.week\">\n <div class=\"calendar-head\">\n <div class=\"w-100 d-flex flex-row\">\n <div class=\"d-flex calendar-left justify-content-between\">\n <button class=\"btn btn-default flex-start\" (click)=\"onPreviousWeekOrMonth()\">\n <bs-icon [icon]=\"'chevron-left'\" class=\"px-0\"></bs-icon>\n </button>\n <button class=\"btn btn-default flex-end\" (click)=\"onNextWeekOrMonth()\">\n <bs-icon [icon]=\"'chevron-right'\" class=\"px-0\"></bs-icon>\n </button>\n </div>\n <div class=\"flex-grow-1 calendar-head-cell\" *ngFor=\"let day of (shownDays$ | async)\">\n <span class=\"d-block col-form-label text-center text-nowrap\">\n <span>{{ day | date: 'dd-MM' }}</span><span class=\"d-none d-lg-inline-block\">-{{ day | date: 'yyyy' }}</span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"calendar-body\" [style.height.px]=\"maxInnerHeight\">\n <div class=\"position-relative\" *ngIf=\"(timeSlots$ | async) as row\">\n <ng-container *ngIf=\"(weekOptions$ | async) as weekOptions\">\n <!-- Timeslots -->\n <div *ngFor=\"let timeslots of row; let i = index\" class=\"d-flex flex-row p-0 timeslot\" [style.height.px]=\"weekOptions.unitHeight\">\n <div class=\"calendar-cell calendar-left align-top px-2 py-0\">{{ timeslots.slots[0].start | date: 'HH:mm:ss' }}</div>\n <div class=\"calendar-cell flex-grow-1\" *ngFor=\"let slot of timeslots.slots; let j = index\" #slot (mousedown)=\"onCreateEvent($event, slot)\" [attr.data-row]=\"i\" [attr.data-column]=\"j\"></div>\n </div>\n\n <!-- Events -->\n <ng-container *ngIf=\"(timeSlotDuration$ | async) as timeSlotDuration\">\n <ng-container *ngIf=\"(timelinedEventPartsForThisWeek$ | async) as partData\">\n <div *ngFor=\"let eventPart of partData.parts\" class=\"event p-0\"\n [style.top.px]=\"(eventPart.part | bsSecondsTodayOffset) / timeSlotDuration * weekOptions.unitHeight\"\n [style.height.px]=\"(eventPart.part | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.left]=\"'calc(90px + ((100% - 90px) / 7 * ' + ((eventPart.part | dayOfWeek) - 1) + '))'\">\n <div class=\"event-inner\" [class.hover]=\"(hoveredEvent$ | async) === eventPart.part.event\"\n [style.width]=\"'calc(100% / ' + partData.total + ')'\"\n [style.height.px]=\"(eventPart.part | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.margin-left]=\"'calc(100% / ' + partData.total + ' * ' + eventPart.index + ')'\">\n\n <div class=\"event-resize top\"\n *ngIf=\"eventPart.part.start === eventPart.part.event?.start\"\n (mousedown)=\"onStartResizeEvent(eventPart.part.event, 'top')\"></div>\n <div class=\"event-border\"></div>\n <div class=\"event-wrapper\" *ngIf=\"eventPart.part.event\"\n (mousedown)=\"onStartDragEvent(eventPart.part, $event)\"\n (mouseenter)=\"onHoverEvent(eventPart.part.event)\"\n (mouseleave)=\"onLeaveEvent(eventPart.part.event)\">\n <div class=\"event-bg\" [style.background-color]=\"eventPart.part.event.color\"></div>\n <div class=\"event-label\">{{ eventPart.part.event.description }}</div>\n </div>\n <div class=\"event-resize bottom\"\n *ngIf=\"eventPart.part.end === eventPart.part.event?.end\"\n (mousedown)=\"onStartResizeEvent(eventPart.part.event, 'bottom')\"></div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"(previewEventPartsForThisWeek$ | async) as previewPartData\">\n <div *ngFor=\"let eventPart of previewPartData\" class=\"event preview p-0\"\n [style.top.px]=\"(eventPart | bsSecondsTodayOffset) / timeSlotDuration * weekOptions.unitHeight\"\n [style.height.px]=\"(eventPart | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.left]=\"'calc(90px + ((100% - 90px) / 7 * ' + ((eventPart | dayOfWeek) - 1) + '))'\">\n <div class=\"event-inner w-100\"\n [style.height.px]=\"(eventPart | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\">\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<div class=\"d-flex flex-column-100 overflow-y-auto mb-0 bg-white timeline\" *ngIf=\"(mode$ | async) === modes.timeline\">\n <div class=\"calendar-head d-flex\">\n <button class=\"btn flex-start\" (click)=\"onPreviousWeekOrMonth()\">\n <bs-icon [icon]=\"'chevron-left'\" class=\"px-0\"></bs-icon>\n </button>\n <div class=\"flex-grow-1 h3 py-2 mb-0 text-center\">{{ currentWeekOrMonth$ | async | date: 'MMMM yyyy' }}</div>\n <button class=\"btn flex-start\" (click)=\"onNextWeekOrMonth()\">\n <bs-icon [icon]=\"'chevron-right'\" class=\"px-0\"></bs-icon>\n </button>\n </div>\n \n <div class=\"calendar-body table-responsive overflow-x-auto\">\n <table class=\"table mb-0\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <tr>\n <td></td>\n <td *ngFor=\"let day of timeSlots\" [attr.colspan]=\"day.slots.length\" class=\"text-center px-2\">\n <span class=\"position-sticky day-label\">{{ day.stamp | date: 'd EE' }}</span>\n </td>\n </tr>\n <tr>\n <td></td>\n <ng-container *ngIf=\"(timelineOptions$ | async) as timelineOptions\">\n <ng-container *ngFor=\"let day of timeSlots\">\n <td *ngFor=\"let slot of day.slots\">\n <span class=\"d-block p-0 text-center\" [style.width.px]=\"timelineOptions.unitWidth\">\n {{ slot.start | date: 'HH:mm' }}\n </span>\n </td>\n </ng-container>\n </ng-container>\n </tr>\n <bs-resource-group-presenter *ngFor=\"let group of (resources$ | async)\" [resourceGroup]=\"group\" [timeSlots]=\"timeSlots\"></bs-resource-group-presenter>\n </ng-container>\n </table>\n </div>\n</div>", styles: [":host{display:block;border:1px solid #333;border-top-right-radius:10px;border-top-left-radius:10px;overflow:hidden}.calendar-head{background:#F7F7F7;color:#007aff}.tabel .calendar-head{flex:0 0 auto}.tabel .calendar-body{display:block;flex:1 1 auto}.week-schedule .calendar-head>div{padding-right:18px}.week-schedule .calendar-body{overflow-y:scroll;overflow-x:hidden}.week-schedule .calendar-body .calendar-cell{border-right:1px solid #DEE2E6;border-bottom:1px solid #DEE2E6;cursor:default}.week-schedule .calendar-body .calendar-cell.hover{border-top-width:3px}.week-schedule .calendar-left{width:90px}.week-schedule .event{z-index:5;width:calc((100% - 90px) / 7);height:100px;overflow:hidden;position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none}.week-schedule .event.preview{background:#666;opacity:.6}.week-schedule .event .event-border{background:black;top:0;left:0;bottom:3px;width:3px;position:absolute;z-index:10;opacity:.3}.week-schedule .event .event-inner{position:relative;inset:0 5px 5px 0;cursor:move;pointer-events:all;overflow:hidden}.week-schedule .event .event-inner .event-wrapper{width:calc(100% - 2px);margin:1px auto 1px 0;height:calc(100% - 3px)}.week-schedule .event .event-inner .event-wrapper .event-bg{opacity:.5;height:100%;transition:opacity .15s ease-in-out}.week-schedule .event .event-inner .event-wrapper .event-label{position:absolute;top:0;font-size:12px;font-weight:600;padding:4px}.week-schedule .event .event-inner .event-resize{position:absolute;cursor:ns-resize;height:4px;left:0;right:0;z-index:400}.week-schedule .event .event-inner .event-resize.top{top:0}.week-schedule .event .event-inner .event-resize.bottom{bottom:0}.week-schedule .event .event-inner .event-resize:hover{background:#DDD}.week-schedule .event .event-inner.hover .event-bg{opacity:.7!important}@media (max-width: 767px){.week-schedule.tabel .calendar-head .calendar-head-cell{text-orientation:sideways;writing-mode:vertical-rl}}.timeline.tabel{flex-flow:column}.timeline .calendar-body .tabel{background-color:#f7f7f7}.timeline .calendar-body .tabel tr:first-child td{background-color:#fff;border:1px solid #000}.timeline .calendar-body .tabel tr:first-child td:first-child{min-width:10rem}.timeline .calendar-body .tabel tr:first-child span.day-label{left:0;right:0}.timeline .calendar-body .tabel tr:nth-child(2) td{border-width:1px;border-color:inherit}.timeline .calendar-body .tabel>:not(:first-child){border-top:none!important}\n"] }]
701
- }], ctorParameters: () => [{ type: i1.BsCalendarMonthService }, { type: BsTimelineService }], propDecorators: { timeSlotElements: [{
715
+ args: [{ selector: 'bs-scheduler', template: "<div class=\"d-flex flex-column w-100 overflow-y-auto mb-0 week-schedule\" [style.max-height.px]=\"null\"\n *ngIf=\"(mode$ | async) === modes.week\">\n <div class=\"calendar-head\">\n <div class=\"w-100 d-flex flex-row\">\n <div class=\"d-flex calendar-left justify-content-between\">\n <button class=\"btn btn-default flex-start\" (click)=\"onPreviousWeekOrMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"px-0\"></span>\n </button>\n <button class=\"btn btn-default flex-end\" (click)=\"onNextWeekOrMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"px-0\"></span>\n </button>\n </div>\n <div class=\"flex-grow-1 calendar-head-cell\" *ngFor=\"let day of (shownDays$ | async)\">\n <span class=\"d-block col-form-label text-center text-nowrap\">\n <span>{{ day | date: 'dd-MM' }}</span><span class=\"d-none d-lg-inline-block\">-{{ day | date: 'yyyy' }}</span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"calendar-body\" [style.height.px]=\"maxInnerHeight\">\n <div class=\"position-relative\" *ngIf=\"(timeSlots$ | async) as row\">\n <ng-container *ngIf=\"(weekOptions$ | async) as weekOptions\">\n <!-- Timeslots -->\n <div *ngFor=\"let timeslots of row; let i = index\" class=\"d-flex flex-row p-0 timeslot\" [style.height.px]=\"weekOptions.unitHeight\">\n <div class=\"calendar-cell calendar-left align-top px-2 py-0\">{{ timeslots.slots[0].start | date: 'HH:mm:ss' }}</div>\n <div class=\"calendar-cell flex-grow-1\" *ngFor=\"let slot of timeslots.slots; let j = index\" #slot (mousedown)=\"onCreateEvent($event, slot)\" [attr.data-row]=\"i\" [attr.data-column]=\"j\"></div>\n </div>\n\n <!-- Events -->\n <ng-container *ngIf=\"(timeSlotDuration$ | async) as timeSlotDuration\">\n <ng-container *ngIf=\"(timelinedEventPartsForThisWeek$ | async) as partData\">\n <div *ngFor=\"let eventPart of partData.parts\" class=\"event p-0\"\n [style.top.px]=\"(eventPart.part | bsSecondsTodayOffset) / timeSlotDuration * weekOptions.unitHeight\"\n [style.height.px]=\"(eventPart.part | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.left]=\"'calc(90px + ((100% - 90px) / 7 * ' + ((eventPart.part | dayOfWeek) - 1) + '))'\">\n <div class=\"event-inner\" [class.hover]=\"(hoveredEvent$ | async) === eventPart.part.event\"\n [style.width]=\"'calc(100% / ' + partData.total + ')'\"\n [style.height.px]=\"(eventPart.part | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.margin-left]=\"'calc(100% / ' + partData.total + ' * ' + eventPart.index + ')'\">\n\n <div class=\"event-resize top\"\n *ngIf=\"eventPart.part.start === eventPart.part.event?.start\"\n (mousedown)=\"onStartResizeEvent(eventPart.part.event, 'top')\"></div>\n <div class=\"event-border\"></div>\n <div class=\"event-wrapper\" *ngIf=\"eventPart.part.event\"\n (mousedown)=\"onStartDragEvent(eventPart.part, $event)\"\n (mouseenter)=\"onHoverEvent(eventPart.part.event)\"\n (mouseleave)=\"onLeaveEvent(eventPart.part.event)\">\n <div class=\"event-bg\" [style.background-color]=\"eventPart.part.event.color\"></div>\n <div class=\"event-label\">{{ eventPart.part.event.description }}</div>\n </div>\n <div class=\"event-resize bottom\"\n *ngIf=\"eventPart.part.end === eventPart.part.event?.end\"\n (mousedown)=\"onStartResizeEvent(eventPart.part.event, 'bottom')\"></div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"(previewEventPartsForThisWeek$ | async) as previewPartData\">\n <div *ngFor=\"let eventPart of previewPartData\" class=\"event preview p-0\"\n [style.top.px]=\"(eventPart | bsSecondsTodayOffset) / timeSlotDuration * weekOptions.unitHeight\"\n [style.height.px]=\"(eventPart | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\"\n [style.left]=\"'calc(90px + ((100% - 90px) / 7 * ' + ((eventPart | dayOfWeek) - 1) + '))'\">\n <div class=\"event-inner w-100\"\n [style.height.px]=\"(eventPart | bsSecondsTimespan) / timeSlotDuration * weekOptions.unitHeight\">\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<div class=\"d-flex flex-column-100 overflow-y-auto mb-0 bg-white timeline\" *ngIf=\"(mode$ | async) === modes.timeline\">\n <div class=\"calendar-head d-flex\">\n <button class=\"btn flex-start\" (click)=\"onPreviousWeekOrMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"px-0\"></span>\n </button>\n <div class=\"flex-grow-1 h3 py-2 mb-0 text-center\">{{ currentWeekOrMonth$ | async | date: 'MMMM yyyy' }}</div>\n <button class=\"btn flex-start\" (click)=\"onNextWeekOrMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"px-0\"></span>\n </button>\n </div>\n \n <div class=\"calendar-body table-responsive overflow-x-auto\">\n <table class=\"table mb-0\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <tr>\n <td></td>\n <td *ngFor=\"let day of timeSlots\" [attr.colspan]=\"day.slots.length\" class=\"text-center px-2\">\n <span class=\"position-sticky day-label\">{{ day.stamp | date: 'd EE' }}</span>\n </td>\n </tr>\n <tr>\n <td></td>\n <ng-container *ngIf=\"(timelineOptions$ | async) as timelineOptions\">\n <ng-container *ngFor=\"let day of timeSlots\">\n <td *ngFor=\"let slot of day.slots\">\n <span class=\"d-block p-0 text-center\" [style.width.px]=\"timelineOptions.unitWidth\">\n {{ slot.start | date: 'HH:mm' }}\n </span>\n </td>\n </ng-container>\n </ng-container>\n </tr>\n <bs-resource-group-presenter *ngFor=\"let group of (resources$ | async)\" [resourceGroup]=\"group\" [timeSlots]=\"timeSlots\"></bs-resource-group-presenter>\n </ng-container>\n </table>\n </div>\n</div>", styles: [":host{display:block;border:1px solid #333;border-top-right-radius:10px;border-top-left-radius:10px;overflow:hidden}.calendar-head{background:#f7f7f7;color:#007aff}.tabel .calendar-head{flex:0 0 auto}.tabel .calendar-body{display:block;flex:1 1 auto}.week-schedule .calendar-head>div{padding-right:18px}.week-schedule .calendar-body{overflow-y:scroll;overflow-x:hidden}.week-schedule .calendar-body .calendar-cell{border-right:1px solid #DEE2E6;border-bottom:1px solid #DEE2E6;cursor:default}.week-schedule .calendar-body .calendar-cell.hover{border-top-width:3px}.week-schedule .calendar-left{width:90px}.week-schedule .event{z-index:5;width:calc((100% - 90px) / 7);height:100px;overflow:hidden;position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none}.week-schedule .event.preview{background:#666;opacity:.6}.week-schedule .event .event-border{background:#000;top:0;left:0;bottom:3px;width:3px;position:absolute;z-index:10;opacity:.3}.week-schedule .event .event-inner{position:relative;inset:0 5px 5px 0;cursor:move;pointer-events:all;overflow:hidden}.week-schedule .event .event-inner .event-wrapper{width:calc(100% - 2px);margin:1px auto 1px 0;height:calc(100% - 3px)}.week-schedule .event .event-inner .event-wrapper .event-bg{opacity:.5;height:100%;transition:opacity .15s ease-in-out}.week-schedule .event .event-inner .event-wrapper .event-label{position:absolute;top:0;font-size:12px;font-weight:600;padding:4px}.week-schedule .event .event-inner .event-resize{position:absolute;cursor:ns-resize;height:4px;left:0;right:0;z-index:400}.week-schedule .event .event-inner .event-resize.top{top:0}.week-schedule .event .event-inner .event-resize.bottom{bottom:0}.week-schedule .event .event-inner .event-resize:hover{background:#ddd}.week-schedule .event .event-inner.hover .event-bg{opacity:.7!important}@media (max-width: 767px){.week-schedule.tabel .calendar-head .calendar-head-cell{text-orientation:sideways;writing-mode:vertical-rl}}.timeline.tabel{flex-flow:column}.timeline .calendar-body .tabel{background-color:#f7f7f7}.timeline .calendar-body .tabel tr:first-child td{background-color:#fff;border:1px solid #000}.timeline .calendar-body .tabel tr:first-child td:first-child{min-width:10rem}.timeline .calendar-body .tabel tr:first-child span.day-label{left:0;right:0}.timeline .calendar-body .tabel tr:nth-child(2) td{border-width:1px;border-color:inherit}.timeline .calendar-body .tabel>:not(:first-child){border-top:none!important}\n"] }]
716
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.BsCalendarMonthService }, { type: BsTimelineService }], propDecorators: { timeSlotElements: [{
702
717
  type: ViewChildren,
703
718
  args: ['slot']
704
719
  }], modeChange: [{
@@ -726,14 +741,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
726
741
  }] } });
727
742
 
728
743
  const availableScales = [
729
- { time: 60, pixels: 60, markerSize: 900 },
730
- { time: 120, pixels: 60, markerSize: 900 },
731
- { time: 300, pixels: 60, markerSize: 900 },
732
- { time: 900, pixels: 60, markerSize: 900 },
733
- { time: 3600, pixels: 60, markerSize: 21600 },
734
- { time: 7200, pixels: 60, markerSize: 21600 },
735
- { time: 10800, pixels: 60, markerSize: 21600 },
736
- { time: 21600, pixels: 60, markerSize: 21600 },
744
+ { time: 60, pixels: 60, markerSize: 900 }, // 60s / 60px = 1 s/px = 1 min / 60 px
745
+ { time: 120, pixels: 60, markerSize: 900 }, // 120s / 60px = 2 s/px = 2 min / 60 px
746
+ { time: 300, pixels: 60, markerSize: 900 }, // 180s / 60px = 3 s/px = 5 min / 60 px
747
+ { time: 900, pixels: 60, markerSize: 900 }, // 360s / 60px = 6 s/px = 15 min / 60 px
748
+ { time: 3600, pixels: 60, markerSize: 21600 }, // 600s / 60px = 10 s/px = 1 u / 60 px
749
+ { time: 7200, pixels: 60, markerSize: 21600 }, // 1200s / 60px = 20 s/px
750
+ { time: 10800, pixels: 60, markerSize: 21600 }, // 1800s / 60px = 30 s/px
751
+ { time: 21600, pixels: 60, markerSize: 21600 }, // 3600s / 60px = 60 s/px
737
752
  { time: 86400, pixels: 60, markerSize: 604800 }, // 6000s / 60px = 100 s/px
738
753
  ];
739
754
 
@@ -745,10 +760,10 @@ class DateOffsetPipe {
745
760
  today.setSeconds(0);
746
761
  return (value.start.getTime() - today.getTime()) / 1000;
747
762
  }
748
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DateOffsetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
749
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: DateOffsetPipe, name: "dateOffset" }); }
763
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DateOffsetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
764
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: DateOffsetPipe, name: "dateOffset" }); }
750
765
  }
751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: DateOffsetPipe, decorators: [{
766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DateOffsetPipe, decorators: [{
752
767
  type: Pipe,
753
768
  args: [{
754
769
  name: 'dateOffset'
@@ -756,19 +771,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
756
771
  }] });
757
772
 
758
773
  class BsSchedulerModule {
759
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSchedulerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
760
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsSchedulerModule, declarations: [BsSchedulerComponent,
774
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSchedulerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
775
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSchedulerModule, declarations: [BsSchedulerComponent,
761
776
  BsSecondsTimespanPipe,
762
777
  BsSecondsTodayOffsetPipe,
763
778
  DateOffsetPipe,
764
779
  DayOfWeekPipe,
765
- ResourceGroupPresenterComponent], imports: [CommonModule,
766
- BsIconModule], exports: [BsSchedulerComponent,
780
+ ResourceGroupPresenterComponent], imports: [CommonModule], exports: [BsSchedulerComponent,
767
781
  ResourceGroupPresenterComponent] }); }
768
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSchedulerModule, imports: [CommonModule,
769
- BsIconModule] }); }
782
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSchedulerModule, imports: [CommonModule] }); }
770
783
  }
771
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSchedulerModule, decorators: [{
784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSchedulerModule, decorators: [{
772
785
  type: NgModule,
773
786
  args: [{
774
787
  declarations: [
@@ -781,7 +794,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
781
794
  ],
782
795
  imports: [
783
796
  CommonModule,
784
- BsIconModule,
785
797
  ],
786
798
  exports: [
787
799
  BsSchedulerComponent,