@mintplayer/ng-bootstrap 15.23.2 → 15.23.4

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 (376) hide show
  1. package/dock/src/dock/dock.component.d.ts +1 -3
  2. package/dock/src/dock-pane-renderer/dock-pane-renderer.component.d.ts +6 -1
  3. package/dock/src/dock-panel/dock-panel.component.d.ts +0 -1
  4. package/dock/src/dock-panel-header/dock-panel-header.component.d.ts +9 -5
  5. package/dock/src/interfaces/drag-operation.d.ts +6 -0
  6. package/dock/src/interfaces/index.d.ts +2 -0
  7. package/dock/src/interfaces/remove-from-pane-result.d.ts +6 -0
  8. package/dock/src/panes/document-host-pane.d.ts +2 -1
  9. package/esm2020/accordion/src/accordion/accordion.component.mjs +3 -3
  10. package/esm2020/accordion/src/accordion-tab/accordion-tab.component.mjs +3 -3
  11. package/esm2020/accordion/src/accordion-tab-header/accordion-tab-header.component.mjs +3 -3
  12. package/esm2020/accordion/src/accordion.module.mjs +4 -4
  13. package/esm2020/alert/src/alert/alert.component.mjs +3 -3
  14. package/esm2020/alert/src/alert-close/alert-close.component.mjs +3 -3
  15. package/esm2020/alert/src/alert.module.mjs +4 -4
  16. package/esm2020/badge/src/badge.component.mjs +3 -3
  17. package/esm2020/badge/src/badge.module.mjs +4 -4
  18. package/esm2020/breadcrumb/src/breadcrumb/breadcrumb.component.mjs +3 -3
  19. package/esm2020/breadcrumb/src/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  20. package/esm2020/breadcrumb/src/breadcrumb.module.mjs +4 -4
  21. package/esm2020/button-group/src/button-group/button-group.component.mjs +3 -3
  22. package/esm2020/button-group/src/button-group.module.mjs +4 -4
  23. package/esm2020/button-type/src/button-type/button-type.directive.mjs +3 -3
  24. package/esm2020/button-type/src/button-type/button-type.module.mjs +4 -4
  25. package/esm2020/calendar/src/calendar.component.mjs +3 -3
  26. package/esm2020/calendar/src/calendar.module.mjs +4 -4
  27. package/esm2020/calendar-month/src/pipes/month-name/month-name.module.mjs +4 -4
  28. package/esm2020/calendar-month/src/pipes/month-name/month-name.pipe.mjs +3 -3
  29. package/esm2020/calendar-month/src/pipes/weekday-name/weekday-name.module.mjs +4 -4
  30. package/esm2020/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +3 -3
  31. package/esm2020/calendar-month/src/service/calendar-month.service.mjs +3 -3
  32. package/esm2020/card/src/card/card.component.mjs +3 -3
  33. package/esm2020/card/src/card-header/card-header.component.mjs +3 -3
  34. package/esm2020/card/src/card.module.mjs +4 -4
  35. package/esm2020/carousel/src/carousel/carousel.component.mjs +3 -3
  36. package/esm2020/carousel/src/carousel-image/carousel-image.directive.mjs +3 -3
  37. package/esm2020/carousel/src/carousel.module.mjs +4 -4
  38. package/esm2020/close/src/close.component.mjs +3 -3
  39. package/esm2020/close/src/close.module.mjs +4 -4
  40. package/esm2020/code-snippet/src/code-snippet.component.mjs +3 -3
  41. package/esm2020/code-snippet/src/code-snippet.module.mjs +4 -4
  42. package/esm2020/context-menu/src/context-menu.directive.mjs +3 -3
  43. package/esm2020/context-menu/src/context-menu.module.mjs +4 -4
  44. package/esm2020/copy/src/copy.directive.mjs +3 -3
  45. package/esm2020/copy/src/copy.module.mjs +4 -4
  46. package/esm2020/datatable/src/datatable/datatable.component.mjs +3 -3
  47. package/esm2020/datatable/src/datatable-column/datatable-column.directive.mjs +3 -3
  48. package/esm2020/datatable/src/datatable.module.mjs +4 -4
  49. package/esm2020/datatable/src/row-template/row-template.directive.mjs +3 -3
  50. package/esm2020/datepicker/src/datepicker.component.mjs +3 -3
  51. package/esm2020/datepicker/src/datepicker.module.mjs +4 -4
  52. package/esm2020/dock/src/dock/dock.component.mjs +11 -17
  53. package/esm2020/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +29 -30
  54. package/esm2020/dock/src/dock-panel/dock-panel.component.mjs +5 -7
  55. package/esm2020/dock/src/dock-panel-header/dock-panel-header.component.mjs +126 -30
  56. package/esm2020/dock/src/dock.module.mjs +4 -4
  57. package/esm2020/dock/src/interfaces/drag-operation.mjs +2 -0
  58. package/esm2020/dock/src/interfaces/index.mjs +3 -1
  59. package/esm2020/dock/src/interfaces/remove-from-pane-result.mjs +2 -0
  60. package/esm2020/dock/src/panes/document-host-pane.mjs +1 -1
  61. package/esm2020/dropdown/src/dropdown/dropdown.directive.mjs +3 -3
  62. package/esm2020/dropdown/src/dropdown-menu/dropdown-menu.directive.mjs +3 -3
  63. package/esm2020/dropdown/src/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
  64. package/esm2020/dropdown/src/dropdown.module.mjs +4 -4
  65. package/esm2020/dropdown-divider/src/dropdown-divider.directive.mjs +3 -3
  66. package/esm2020/dropdown-divider/src/dropdown-divider.module.mjs +4 -4
  67. package/esm2020/dropdown-menu/src/dropdown-item/dropdown-item.component.mjs +3 -3
  68. package/esm2020/dropdown-menu/src/dropdown-menu/dropdown-menu.component.mjs +3 -3
  69. package/esm2020/dropdown-menu/src/dropdown-menu.module.mjs +4 -4
  70. package/esm2020/enhanced-paste/src/directive/enhanced-paste.directive.mjs +3 -3
  71. package/esm2020/enhanced-paste/src/enhanced-paste.module.mjs +4 -4
  72. package/esm2020/enum/src/service/enum.service.mjs +3 -3
  73. package/esm2020/file-upload/src/component/file-upload.component.mjs +3 -3
  74. package/esm2020/file-upload/src/directive/file-upload-template.directive.mjs +3 -3
  75. package/esm2020/file-upload/src/file-upload.module.mjs +4 -4
  76. package/esm2020/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +3 -3
  77. package/esm2020/floating-labels/src/floating-labels/floating-label/floating-label.component.mjs +3 -3
  78. package/esm2020/floating-labels/src/floating-labels/floating-labels.module.mjs +4 -4
  79. package/esm2020/for/src/for.directive.mjs +3 -3
  80. package/esm2020/for/src/for.module.mjs +4 -4
  81. package/esm2020/form/src/form/form.component.mjs +3 -3
  82. package/esm2020/form/src/form-control/form-control.directive.mjs +3 -3
  83. package/esm2020/form/src/form-group/form-group.directive.mjs +3 -3
  84. package/esm2020/form/src/form.module.mjs +4 -4
  85. package/esm2020/grid/src/component/grid.component.mjs +3 -3
  86. package/esm2020/grid/src/directives/col-form-label/col-form-label.directive.mjs +3 -3
  87. package/esm2020/grid/src/directives/column/column.directive.mjs +3 -3
  88. package/esm2020/grid/src/directives/row/row.directive.mjs +3 -3
  89. package/esm2020/grid/src/grid.module.mjs +4 -4
  90. package/esm2020/has-overlay/src/has-overlay/has-overlay.component.mjs +3 -3
  91. package/esm2020/has-overlay/src/has-overlay/has-overlay.module.mjs +4 -4
  92. package/esm2020/icon/src/icon.component.mjs +3 -3
  93. package/esm2020/icon/src/icon.module.mjs +4 -4
  94. package/esm2020/input-group/src/input-group/input-group.component.mjs +3 -3
  95. package/esm2020/input-group/src/input-group.module.mjs +4 -4
  96. package/esm2020/instance-of/src/directives/instanceof-case.directive.mjs +3 -3
  97. package/esm2020/instance-of/src/directives/instanceof-default.directive.mjs +3 -3
  98. package/esm2020/instance-of/src/directives/instanceof.directive.mjs +3 -3
  99. package/esm2020/instance-of/src/instance-of.module.mjs +4 -4
  100. package/esm2020/instance-of/src/pipes/instance-of.pipe.mjs +3 -3
  101. package/esm2020/lazy-loading/src/lazy-load/lazy-load.directive.mjs +3 -3
  102. package/esm2020/lazy-loading/src/lazy-loading.module.mjs +4 -4
  103. package/esm2020/let/directive/let.directive.mjs +3 -3
  104. package/esm2020/let/let.module.mjs +4 -4
  105. package/esm2020/lib/pipes/font-color/font-color.module.mjs +4 -4
  106. package/esm2020/lib/pipes/font-color/font-color.pipe.mjs +3 -3
  107. package/esm2020/lib/pipes/in-list/in-list.module.mjs +4 -4
  108. package/esm2020/lib/pipes/in-list/in-list.pipe.mjs +3 -3
  109. package/esm2020/lib/pipes/uc-first/uc-first.module.mjs +4 -4
  110. package/esm2020/lib/pipes/uc-first/uc-first.pipe.mjs +3 -3
  111. package/esm2020/list-group/src/list-group/list-group.component.mjs +3 -3
  112. package/esm2020/list-group/src/list-group-item/list-group-item.component.mjs +3 -3
  113. package/esm2020/list-group/src/list-group.module.mjs +4 -4
  114. package/esm2020/markdown/src/bold/bold.pipe.mjs +3 -3
  115. package/esm2020/markdown/src/italic/italic.pipe.mjs +3 -3
  116. package/esm2020/markdown/src/markdown.module.mjs +4 -4
  117. package/esm2020/markdown/src/strikethrough/strikethrough.pipe.mjs +3 -3
  118. package/esm2020/markdown/src/underline/underline.pipe.mjs +3 -3
  119. package/esm2020/modal/src/components/modal/modal.component.mjs +3 -3
  120. package/esm2020/modal/src/components/modal-host/modal-host.component.mjs +3 -3
  121. package/esm2020/modal/src/directives/modal/modal.directive.mjs +3 -3
  122. package/esm2020/modal/src/directives/modal-body/modal-body.directive.mjs +3 -3
  123. package/esm2020/modal/src/directives/modal-close/modal-close.directive.mjs +3 -3
  124. package/esm2020/modal/src/directives/modal-footer/modal-footer.directive.mjs +3 -3
  125. package/esm2020/modal/src/directives/modal-header/modal-header.directive.mjs +3 -3
  126. package/esm2020/modal/src/modal.module.mjs +4 -4
  127. package/esm2020/multiselect/src/component/multiselect.component.mjs +3 -3
  128. package/esm2020/multiselect/src/directives/button-template/button-template.directive.mjs +3 -3
  129. package/esm2020/multiselect/src/directives/footer-template/footer-template.directive.mjs +3 -3
  130. package/esm2020/multiselect/src/directives/header-template/header-template.directive.mjs +3 -3
  131. package/esm2020/multiselect/src/multiselect.module.mjs +4 -4
  132. package/esm2020/navbar/src/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
  133. package/esm2020/navbar/src/expand-button/expand-button.directive.mjs +3 -3
  134. package/esm2020/navbar/src/nav-link/nav-link.directive.mjs +3 -3
  135. package/esm2020/navbar/src/navbar/navbar.component.mjs +3 -3
  136. package/esm2020/navbar/src/navbar-brand/navbar-brand.component.mjs +3 -3
  137. package/esm2020/navbar/src/navbar-content/navbar-content.directive.mjs +3 -3
  138. package/esm2020/navbar/src/navbar-dropdown/navbar-dropdown.component.mjs +3 -3
  139. package/esm2020/navbar/src/navbar-item/navbar-item.component.mjs +3 -3
  140. package/esm2020/navbar/src/navbar-nav/navbar-nav.component.mjs +3 -3
  141. package/esm2020/navbar/src/navbar-toggler/navbar-toggler.component.mjs +3 -3
  142. package/esm2020/navbar/src/navbar.module.mjs +4 -4
  143. package/esm2020/navigation-lock/src/directive/navigation-lock.directive.mjs +3 -3
  144. package/esm2020/navigation-lock/src/guard/navigation-lock.guard.mjs +3 -3
  145. package/esm2020/navigation-lock/src/navigation-lock.module.mjs +4 -4
  146. package/esm2020/no-noscript/src/no-noscript/no-noscript.directive.mjs +3 -3
  147. package/esm2020/no-noscript/src/no-noscript.module.mjs +4 -4
  148. package/esm2020/offcanvas/src/components/offcanvas/offcanvas.component.mjs +3 -3
  149. package/esm2020/offcanvas/src/components/offcanvas-body/offcanvas-body.component.mjs +3 -3
  150. package/esm2020/offcanvas/src/components/offcanvas-header/offcanvas-header.component.mjs +3 -3
  151. package/esm2020/offcanvas/src/components/offcanvas-host/offcanvas-host.component.mjs +3 -3
  152. package/esm2020/offcanvas/src/directives/offcanvas-close/offcanvas-close.directive.mjs +3 -3
  153. package/esm2020/offcanvas/src/directives/offcanvas-content/offcanvas-content.directive.mjs +3 -3
  154. package/esm2020/offcanvas/src/directives/offcanvas-push/offcanvas-push.directive.mjs +3 -3
  155. package/esm2020/offcanvas/src/offcanvas.module.mjs +4 -4
  156. package/esm2020/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +3 -3
  157. package/esm2020/ordinal-number/src/ordinal-number.module.mjs +4 -4
  158. package/esm2020/pagination/src/component/pagination/pagination.component.mjs +3 -3
  159. package/esm2020/pagination/src/pagination.module.mjs +4 -4
  160. package/esm2020/placeholder/src/placeholder/placeholder.component.mjs +3 -3
  161. package/esm2020/placeholder/src/placeholder-field/placeholder-field.directive.mjs +3 -3
  162. package/esm2020/placeholder/src/placeholder.module.mjs +4 -4
  163. package/esm2020/popover/src/component/popover.component.mjs +3 -3
  164. package/esm2020/popover/src/directives/popover/popover.directive.mjs +3 -3
  165. package/esm2020/popover/src/directives/popover-body/popover-body.directive.mjs +3 -3
  166. package/esm2020/popover/src/directives/popover-header/popover-header.directive.mjs +3 -3
  167. package/esm2020/popover/src/popover.module.mjs +4 -4
  168. package/esm2020/progress-bar/src/progress/progress.component.mjs +3 -3
  169. package/esm2020/progress-bar/src/progress-bar/progress-bar.component.mjs +3 -3
  170. package/esm2020/progress-bar/src/progress-bar.module.mjs +4 -4
  171. package/esm2020/range/src/component/range.component.mjs +3 -3
  172. package/esm2020/range/src/range.module.mjs +4 -4
  173. package/esm2020/range/src/value-accessor/range-value-accessor.mjs +3 -3
  174. package/esm2020/rating/src/component/rating.component.mjs +3 -3
  175. package/esm2020/rating/src/rating.module.mjs +4 -4
  176. package/esm2020/resizable/src/interfaces/index.mjs +2 -1
  177. package/esm2020/resizable/src/interfaces/preset-position.mjs +2 -0
  178. package/esm2020/resizable/src/resizable/resizable.component.mjs +19 -6
  179. package/esm2020/resizable/src/resizable.module.mjs +4 -4
  180. package/esm2020/resizable/src/resize-glyph/resize-glyph.directive.mjs +4 -4
  181. package/esm2020/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +3 -3
  182. package/esm2020/scheduler/src/components/scheduler/scheduler.component.mjs +3 -3
  183. package/esm2020/scheduler/src/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +3 -3
  184. package/esm2020/scheduler/src/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +3 -3
  185. package/esm2020/scheduler/src/pipes/date-offset/date-offset.pipe.mjs +3 -3
  186. package/esm2020/scheduler/src/pipes/day-of-week/day-of-week.pipe.mjs +3 -3
  187. package/esm2020/scheduler/src/scheduler.module.mjs +4 -4
  188. package/esm2020/scheduler/src/services/timeline/timeline.service.mjs +3 -3
  189. package/esm2020/scrollspy/src/component/scrollspy.component.mjs +3 -3
  190. package/esm2020/scrollspy/src/directives/scrollspy.directive.mjs +3 -3
  191. package/esm2020/scrollspy/src/scrollspy.module.mjs +4 -4
  192. package/esm2020/scrollspy/src/services/scroll-offset/scroll-offset.service.mjs +3 -3
  193. package/esm2020/select/src/component/select.component.mjs +3 -3
  194. package/esm2020/select/src/select.module.mjs +4 -4
  195. package/esm2020/select/src/value-accessors/select-value-accessor.mjs +6 -6
  196. package/esm2020/select2/src/component/select2.component.mjs +3 -3
  197. package/esm2020/select2/src/directive/item-template.directive.mjs +3 -3
  198. package/esm2020/select2/src/select2.module.mjs +4 -4
  199. package/esm2020/snackbar/src/component/snackbar.component.mjs +3 -3
  200. package/esm2020/snackbar/src/directives/snackbar-close/snackbar-close.directive.mjs +3 -3
  201. package/esm2020/snackbar/src/service/snackbar.service.mjs +3 -3
  202. package/esm2020/snackbar/src/snackbar.module.mjs +4 -4
  203. package/esm2020/spinner/src/spinner.component.mjs +3 -3
  204. package/esm2020/spinner/src/spinner.module.mjs +4 -4
  205. package/esm2020/splitter/src/element-at/element-at.pipe.mjs +3 -3
  206. package/esm2020/splitter/src/split-panel/split-panel.component.mjs +3 -3
  207. package/esm2020/splitter/src/splitter/splitter.component.mjs +3 -3
  208. package/esm2020/splitter/src/splitter.module.mjs +4 -4
  209. package/esm2020/tab-control/src/tab-control/tab-control.component.mjs +12 -7
  210. package/esm2020/tab-control/src/tab-control.module.mjs +4 -4
  211. package/esm2020/tab-control/src/tab-page/tab-page.component.mjs +3 -3
  212. package/esm2020/tab-control/src/tab-page-header/tab-page-header.directive.mjs +3 -3
  213. package/esm2020/table/src/component/table.component.mjs +3 -3
  214. package/esm2020/table/src/table.module.mjs +4 -4
  215. package/esm2020/timepicker/src/timepicker.component.mjs +3 -3
  216. package/esm2020/timepicker/src/timepicker.module.mjs +4 -4
  217. package/esm2020/toast/src/components/toast/toast.component.mjs +3 -3
  218. package/esm2020/toast/src/components/toast-body/toast-body.component.mjs +3 -3
  219. package/esm2020/toast/src/components/toast-container/toast-container.component.mjs +3 -3
  220. package/esm2020/toast/src/components/toast-header/toast-header.component.mjs +3 -3
  221. package/esm2020/toast/src/directives/toast-close/toast-close.directive.mjs +3 -3
  222. package/esm2020/toast/src/pipes/add-properties.pipe.mjs +3 -3
  223. package/esm2020/toast/src/services/toast/toast.service.mjs +3 -3
  224. package/esm2020/toast/src/toast.module.mjs +4 -4
  225. package/esm2020/toggle-button/src/component/toggle-button.component.mjs +3 -3
  226. package/esm2020/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.mjs +3 -3
  227. package/esm2020/toggle-button/src/toggle-button.module.mjs +4 -4
  228. package/esm2020/toggle-button/src/value-accessor/toggle-button-value-accessor.mjs +3 -3
  229. package/esm2020/tooltip/src/component/tooltip.component.mjs +3 -3
  230. package/esm2020/tooltip/src/directive/tooltip.directive.mjs +3 -3
  231. package/esm2020/tooltip/src/tooltip.module.mjs +4 -4
  232. package/esm2020/typeahead/src/typeahead.component.mjs +3 -3
  233. package/esm2020/typeahead/src/typeahead.module.mjs +4 -4
  234. package/esm2020/user-agent/src/directive/user-agent.directive.mjs +3 -3
  235. package/esm2020/user-agent/src/user-agent.module.mjs +4 -4
  236. package/fesm2015/mintplayer-ng-bootstrap-accordion.mjs +13 -13
  237. package/fesm2015/mintplayer-ng-bootstrap-alert.mjs +10 -10
  238. package/fesm2015/mintplayer-ng-bootstrap-badge.mjs +7 -7
  239. package/fesm2015/mintplayer-ng-bootstrap-breadcrumb.mjs +10 -10
  240. package/fesm2015/mintplayer-ng-bootstrap-button-group.mjs +7 -7
  241. package/fesm2015/mintplayer-ng-bootstrap-button-type.mjs +7 -7
  242. package/fesm2015/mintplayer-ng-bootstrap-calendar-month.mjs +17 -17
  243. package/fesm2015/mintplayer-ng-bootstrap-calendar.mjs +7 -7
  244. package/fesm2015/mintplayer-ng-bootstrap-card.mjs +10 -10
  245. package/fesm2015/mintplayer-ng-bootstrap-carousel.mjs +10 -10
  246. package/fesm2015/mintplayer-ng-bootstrap-close.mjs +7 -7
  247. package/fesm2015/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
  248. package/fesm2015/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
  249. package/fesm2015/mintplayer-ng-bootstrap-copy.mjs +7 -7
  250. package/fesm2015/mintplayer-ng-bootstrap-datatable.mjs +13 -13
  251. package/fesm2015/mintplayer-ng-bootstrap-datepicker.mjs +7 -7
  252. package/fesm2015/mintplayer-ng-bootstrap-dock.mjs +163 -76
  253. package/fesm2015/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  254. package/fesm2015/mintplayer-ng-bootstrap-dropdown-divider.mjs +7 -7
  255. package/fesm2015/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
  256. package/fesm2015/mintplayer-ng-bootstrap-dropdown.mjs +13 -13
  257. package/fesm2015/mintplayer-ng-bootstrap-enhanced-paste.mjs +7 -7
  258. package/fesm2015/mintplayer-ng-bootstrap-enum.mjs +3 -3
  259. package/fesm2015/mintplayer-ng-bootstrap-file-upload.mjs +13 -13
  260. package/fesm2015/mintplayer-ng-bootstrap-floating-labels.mjs +7 -7
  261. package/fesm2015/mintplayer-ng-bootstrap-for.mjs +7 -7
  262. package/fesm2015/mintplayer-ng-bootstrap-form.mjs +13 -13
  263. package/fesm2015/mintplayer-ng-bootstrap-grid.mjs +16 -16
  264. package/fesm2015/mintplayer-ng-bootstrap-has-overlay.mjs +7 -7
  265. package/fesm2015/mintplayer-ng-bootstrap-icon.mjs +7 -7
  266. package/fesm2015/mintplayer-ng-bootstrap-input-group.mjs +7 -7
  267. package/fesm2015/mintplayer-ng-bootstrap-instance-of.mjs +16 -16
  268. package/fesm2015/mintplayer-ng-bootstrap-lazy-loading.mjs +7 -7
  269. package/fesm2015/mintplayer-ng-bootstrap-let.mjs +7 -7
  270. package/fesm2015/mintplayer-ng-bootstrap-list-group.mjs +10 -10
  271. package/fesm2015/mintplayer-ng-bootstrap-markdown.mjs +16 -16
  272. package/fesm2015/mintplayer-ng-bootstrap-modal.mjs +25 -25
  273. package/fesm2015/mintplayer-ng-bootstrap-multiselect.mjs +16 -16
  274. package/fesm2015/mintplayer-ng-bootstrap-navbar.mjs +34 -34
  275. package/fesm2015/mintplayer-ng-bootstrap-navigation-lock.mjs +10 -10
  276. package/fesm2015/mintplayer-ng-bootstrap-no-noscript.mjs +7 -7
  277. package/fesm2015/mintplayer-ng-bootstrap-offcanvas.mjs +25 -25
  278. package/fesm2015/mintplayer-ng-bootstrap-ordinal-number.mjs +7 -7
  279. package/fesm2015/mintplayer-ng-bootstrap-pagination.mjs +7 -7
  280. package/fesm2015/mintplayer-ng-bootstrap-placeholder.mjs +10 -10
  281. package/fesm2015/mintplayer-ng-bootstrap-popover.mjs +16 -16
  282. package/fesm2015/mintplayer-ng-bootstrap-progress-bar.mjs +10 -10
  283. package/fesm2015/mintplayer-ng-bootstrap-range.mjs +10 -10
  284. package/fesm2015/mintplayer-ng-bootstrap-rating.mjs +7 -7
  285. package/fesm2015/mintplayer-ng-bootstrap-resizable.mjs +25 -12
  286. package/fesm2015/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  287. package/fesm2015/mintplayer-ng-bootstrap-scheduler.mjs +25 -25
  288. package/fesm2015/mintplayer-ng-bootstrap-scrollspy.mjs +13 -13
  289. package/fesm2015/mintplayer-ng-bootstrap-select.mjs +13 -13
  290. package/fesm2015/mintplayer-ng-bootstrap-select2.mjs +10 -10
  291. package/fesm2015/mintplayer-ng-bootstrap-snackbar.mjs +13 -13
  292. package/fesm2015/mintplayer-ng-bootstrap-spinner.mjs +7 -7
  293. package/fesm2015/mintplayer-ng-bootstrap-splitter.mjs +13 -13
  294. package/fesm2015/mintplayer-ng-bootstrap-tab-control.mjs +21 -16
  295. package/fesm2015/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  296. package/fesm2015/mintplayer-ng-bootstrap-table.mjs +7 -7
  297. package/fesm2015/mintplayer-ng-bootstrap-timepicker.mjs +7 -7
  298. package/fesm2015/mintplayer-ng-bootstrap-toast.mjs +25 -25
  299. package/fesm2015/mintplayer-ng-bootstrap-toggle-button.mjs +13 -13
  300. package/fesm2015/mintplayer-ng-bootstrap-tooltip.mjs +10 -10
  301. package/fesm2015/mintplayer-ng-bootstrap-typeahead.mjs +7 -7
  302. package/fesm2015/mintplayer-ng-bootstrap-user-agent.mjs +7 -7
  303. package/fesm2015/mintplayer-ng-bootstrap.mjs +21 -21
  304. package/fesm2020/mintplayer-ng-bootstrap-accordion.mjs +13 -13
  305. package/fesm2020/mintplayer-ng-bootstrap-alert.mjs +10 -10
  306. package/fesm2020/mintplayer-ng-bootstrap-badge.mjs +7 -7
  307. package/fesm2020/mintplayer-ng-bootstrap-breadcrumb.mjs +10 -10
  308. package/fesm2020/mintplayer-ng-bootstrap-button-group.mjs +7 -7
  309. package/fesm2020/mintplayer-ng-bootstrap-button-type.mjs +7 -7
  310. package/fesm2020/mintplayer-ng-bootstrap-calendar-month.mjs +17 -17
  311. package/fesm2020/mintplayer-ng-bootstrap-calendar.mjs +7 -7
  312. package/fesm2020/mintplayer-ng-bootstrap-card.mjs +10 -10
  313. package/fesm2020/mintplayer-ng-bootstrap-carousel.mjs +10 -10
  314. package/fesm2020/mintplayer-ng-bootstrap-close.mjs +7 -7
  315. package/fesm2020/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
  316. package/fesm2020/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
  317. package/fesm2020/mintplayer-ng-bootstrap-copy.mjs +7 -7
  318. package/fesm2020/mintplayer-ng-bootstrap-datatable.mjs +13 -13
  319. package/fesm2020/mintplayer-ng-bootstrap-datepicker.mjs +7 -7
  320. package/fesm2020/mintplayer-ng-bootstrap-dock.mjs +162 -76
  321. package/fesm2020/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  322. package/fesm2020/mintplayer-ng-bootstrap-dropdown-divider.mjs +7 -7
  323. package/fesm2020/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
  324. package/fesm2020/mintplayer-ng-bootstrap-dropdown.mjs +13 -13
  325. package/fesm2020/mintplayer-ng-bootstrap-enhanced-paste.mjs +7 -7
  326. package/fesm2020/mintplayer-ng-bootstrap-enum.mjs +3 -3
  327. package/fesm2020/mintplayer-ng-bootstrap-file-upload.mjs +13 -13
  328. package/fesm2020/mintplayer-ng-bootstrap-floating-labels.mjs +7 -7
  329. package/fesm2020/mintplayer-ng-bootstrap-for.mjs +7 -7
  330. package/fesm2020/mintplayer-ng-bootstrap-form.mjs +13 -13
  331. package/fesm2020/mintplayer-ng-bootstrap-grid.mjs +16 -16
  332. package/fesm2020/mintplayer-ng-bootstrap-has-overlay.mjs +7 -7
  333. package/fesm2020/mintplayer-ng-bootstrap-icon.mjs +7 -7
  334. package/fesm2020/mintplayer-ng-bootstrap-input-group.mjs +7 -7
  335. package/fesm2020/mintplayer-ng-bootstrap-instance-of.mjs +16 -16
  336. package/fesm2020/mintplayer-ng-bootstrap-lazy-loading.mjs +7 -7
  337. package/fesm2020/mintplayer-ng-bootstrap-let.mjs +7 -7
  338. package/fesm2020/mintplayer-ng-bootstrap-list-group.mjs +10 -10
  339. package/fesm2020/mintplayer-ng-bootstrap-markdown.mjs +16 -16
  340. package/fesm2020/mintplayer-ng-bootstrap-modal.mjs +25 -25
  341. package/fesm2020/mintplayer-ng-bootstrap-multiselect.mjs +16 -16
  342. package/fesm2020/mintplayer-ng-bootstrap-navbar.mjs +34 -34
  343. package/fesm2020/mintplayer-ng-bootstrap-navigation-lock.mjs +10 -10
  344. package/fesm2020/mintplayer-ng-bootstrap-no-noscript.mjs +7 -7
  345. package/fesm2020/mintplayer-ng-bootstrap-offcanvas.mjs +25 -25
  346. package/fesm2020/mintplayer-ng-bootstrap-ordinal-number.mjs +7 -7
  347. package/fesm2020/mintplayer-ng-bootstrap-pagination.mjs +7 -7
  348. package/fesm2020/mintplayer-ng-bootstrap-placeholder.mjs +10 -10
  349. package/fesm2020/mintplayer-ng-bootstrap-popover.mjs +16 -16
  350. package/fesm2020/mintplayer-ng-bootstrap-progress-bar.mjs +10 -10
  351. package/fesm2020/mintplayer-ng-bootstrap-range.mjs +10 -10
  352. package/fesm2020/mintplayer-ng-bootstrap-rating.mjs +7 -7
  353. package/fesm2020/mintplayer-ng-bootstrap-resizable.mjs +25 -12
  354. package/fesm2020/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  355. package/fesm2020/mintplayer-ng-bootstrap-scheduler.mjs +25 -25
  356. package/fesm2020/mintplayer-ng-bootstrap-scrollspy.mjs +13 -13
  357. package/fesm2020/mintplayer-ng-bootstrap-select.mjs +13 -13
  358. package/fesm2020/mintplayer-ng-bootstrap-select2.mjs +10 -10
  359. package/fesm2020/mintplayer-ng-bootstrap-snackbar.mjs +13 -13
  360. package/fesm2020/mintplayer-ng-bootstrap-spinner.mjs +7 -7
  361. package/fesm2020/mintplayer-ng-bootstrap-splitter.mjs +13 -13
  362. package/fesm2020/mintplayer-ng-bootstrap-tab-control.mjs +21 -16
  363. package/fesm2020/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  364. package/fesm2020/mintplayer-ng-bootstrap-table.mjs +7 -7
  365. package/fesm2020/mintplayer-ng-bootstrap-timepicker.mjs +7 -7
  366. package/fesm2020/mintplayer-ng-bootstrap-toast.mjs +25 -25
  367. package/fesm2020/mintplayer-ng-bootstrap-toggle-button.mjs +13 -13
  368. package/fesm2020/mintplayer-ng-bootstrap-tooltip.mjs +10 -10
  369. package/fesm2020/mintplayer-ng-bootstrap-typeahead.mjs +7 -7
  370. package/fesm2020/mintplayer-ng-bootstrap-user-agent.mjs +7 -7
  371. package/fesm2020/mintplayer-ng-bootstrap.mjs +21 -21
  372. package/package.json +3 -2
  373. package/resizable/src/interfaces/index.d.ts +1 -0
  374. package/resizable/src/interfaces/preset-position.d.ts +6 -0
  375. package/resizable/src/resizable/resizable.component.d.ts +3 -1
  376. package/resizable/src/resize-glyph/resize-glyph.directive.d.ts +1 -2
@@ -1,38 +1,36 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ViewChild, Input, ContentChildren, ViewChildren, HostBinding, HostListener, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/common';
3
+ import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
- import * as i2 from '@angular/cdk/portal';
5
+ import * as i3 from '@angular/cdk/portal';
6
6
  import { DomPortal, PortalModule } from '@angular/cdk/portal';
7
7
  import { BsCardModule } from '@mintplayer/ng-bootstrap/card';
8
- import * as i4 from '@mintplayer/ng-bootstrap/splitter';
8
+ import * as i5 from '@mintplayer/ng-bootstrap/splitter';
9
9
  import { BsSplitterModule } from '@mintplayer/ng-bootstrap/splitter';
10
- import * as i6 from '@mintplayer/ng-bootstrap/resizable';
10
+ import * as i7 from '@mintplayer/ng-bootstrap/resizable';
11
11
  import { BsResizableModule } from '@mintplayer/ng-bootstrap/resizable';
12
- import * as i5 from '@mintplayer/ng-bootstrap/tab-control';
12
+ import * as i6 from '@mintplayer/ng-bootstrap/tab-control';
13
13
  import { BsTabControlModule } from '@mintplayer/ng-bootstrap/tab-control';
14
- import * as i3 from '@mintplayer/ng-bootstrap/instance-of';
14
+ import * as i4 from '@mintplayer/ng-bootstrap/instance-of';
15
15
  import { BsInstanceOfModule } from '@mintplayer/ng-bootstrap/instance-of';
16
- import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
17
- import * as i1$1 from '@angular/cdk/overlay';
16
+ import { BehaviorSubject, Subject, takeUntil, take } from 'rxjs';
17
+ import * as i1 from '@angular/cdk/overlay';
18
18
 
19
19
  class BsDockPanelComponent {
20
20
  constructor() {
21
21
  this.panelId = '';
22
- // this.contentPortal = new DomPortal(this.element.nativeElement);
23
22
  }
24
23
  ngAfterViewInit() {
25
- // console.log('attach dockpanel', this.element.nativeElement);
26
24
  this.headerPortal = new DomPortal(this.headerElement.nativeElement);
27
25
  this.contentPortal = new DomPortal(this.contentElement.nativeElement);
28
26
  }
29
27
  }
30
- BsDockPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- BsDockPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsDockPanelComponent, selector: "bs-dock-panel", inputs: { panelId: "panelId" }, viewQueries: [{ propertyName: "headerElement", first: true, predicate: ["headerElement"], descendants: true }, { propertyName: "contentElement", first: true, predicate: ["contentElement"], descendants: true }], ngImport: i0, template: "<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->", styles: [".dock-header{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPanelComponent, decorators: [{
28
+ BsDockPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ BsDockPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BsDockPanelComponent, selector: "bs-dock-panel", inputs: { panelId: "panelId" }, viewQueries: [{ propertyName: "headerElement", first: true, predicate: ["headerElement"], descendants: true }, { propertyName: "contentElement", first: true, predicate: ["contentElement"], descendants: true }], ngImport: i0, template: "<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->", styles: [".dock-header{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockPanelComponent, decorators: [{
33
31
  type: Component,
34
32
  args: [{ selector: 'bs-dock-panel', template: "<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->", styles: [".dock-header{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] }]
35
- }], ctorParameters: function () { return []; }, propDecorators: { headerElement: [{
33
+ }], propDecorators: { headerElement: [{
36
34
  type: ViewChild,
37
35
  args: ['headerElement']
38
36
  }], contentElement: [{
@@ -91,7 +89,8 @@ class BsFloatingPane {
91
89
  }
92
90
 
93
91
  class BsDockPaneRendererComponent {
94
- constructor(element) {
92
+ constructor(overlay, element) {
93
+ this.overlay = overlay;
95
94
  this.paneTypes = EPaneType;
96
95
  this.BsDocumentHostType = BsDocumentHost;
97
96
  this.BsTabGroupType = BsTabGroupPane;
@@ -100,44 +99,39 @@ class BsDockPaneRendererComponent {
100
99
  this.BsFloatingPaneType = BsFloatingPane;
101
100
  //#region Layout
102
101
  this.layout$ = new BehaviorSubject(null);
103
- // this.layoutType$ = this.layout$.pipe<EPaneType | null>(map((layout) => {
104
- // if (layout === null) {
105
- // return null;
106
- // } else if (layout instanceof BsDocumentHost) {
107
- // return EPaneType.documentHost;
108
- // } else if (layout instanceof BsSplitPane) {
109
- // return EPaneType.splitPane;
110
- // } else if (layout instanceof BsContentPane) {
111
- // return EPaneType.contentPane;
112
- // } else if (layout instanceof BsTabGroupPane) {
113
- // return EPaneType.tabGroupPane;
114
- // } else {
115
- // return null;
116
- // // throw 'unknown pane type';
117
- // }
118
- // }));
119
102
  this.portal = new DomPortal(element);
120
103
  }
121
104
  get layout() {
122
105
  return this.layout$.value;
123
106
  }
124
107
  set layout(value) {
125
- console.log('set layout', value);
126
108
  this.layout$.next(value);
127
109
  }
110
+ moveToOverlay() {
111
+ if (!this.overlayRef && !this.portal.isAttached) {
112
+ this.overlayRef = this.overlay.create({});
113
+ this.portal.attach(this.overlayRef);
114
+ }
115
+ }
116
+ disposeOverlay() {
117
+ if (this.overlayRef) {
118
+ this.portal.detach();
119
+ this.overlayRef.dispose();
120
+ this.overlayRef = undefined;
121
+ }
122
+ }
128
123
  }
129
- BsDockPaneRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPaneRendererComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
130
- BsDockPaneRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: { layout: "layout" }, ngImport: i0, template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i3.BsInstanceOfDirective, selector: "[bsInstanceof]", inputs: ["bsInstanceof"] }, { kind: "directive", type: i3.BsInstanceofCaseDirective, selector: "[bsInstanceofCase]", inputs: ["bsInstanceofCase"] }, { kind: "directive", type: i3.BsInstanceOfDefaultDirective, selector: "[bsInstanceofDefault]" }, { kind: "component", type: i4.BsSplitterComponent, selector: "bs-splitter", inputs: ["orientation"] }, { kind: "component", type: i4.BsSplitPanelComponent, selector: "bs-split-panel" }, { kind: "component", type: i5.BsTabControlComponent, selector: "bs-tab-control", inputs: ["border", "restrictDragging", "selectFirstTab", "tabsPosition", "allowDragDrop"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "directive", type: i5.BsTabPageHeaderDirective, selector: "[bsTabPageHeader]" }, { kind: "component", type: i6.BsResizableComponent, selector: "bs-resizable", inputs: ["positioning"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPaneRendererComponent, decorators: [{
124
+ BsDockPaneRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockPaneRendererComponent, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
125
+ BsDockPaneRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: { layout: "layout" }, ngImport: i0, template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let floating\">\n <bs-resizable *ngIf=\"floating.pane\" [positioning]=\"'absolute'\" [presetPosition]=\"{ left: floating.location?.x ?? 0, top: floating.location?.y ?? 0, width: floating.size?.width ?? 200, height: floating.size?.height ?? 100 }\">\n <bs-dock-pane-renderer [layout]=\"floating.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"], dependencies: [{ 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: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.BsInstanceOfDirective, selector: "[bsInstanceof]", inputs: ["bsInstanceof"] }, { kind: "directive", type: i4.BsInstanceofCaseDirective, selector: "[bsInstanceofCase]", inputs: ["bsInstanceofCase"] }, { kind: "directive", type: i4.BsInstanceOfDefaultDirective, selector: "[bsInstanceofDefault]" }, { kind: "component", type: i5.BsSplitterComponent, selector: "bs-splitter", inputs: ["orientation"] }, { kind: "component", type: i5.BsSplitPanelComponent, selector: "bs-split-panel" }, { kind: "component", type: i6.BsTabControlComponent, selector: "bs-tab-control", inputs: ["border", "restrictDragging", "selectFirstTab", "tabsPosition", "allowDragDrop"] }, { kind: "component", type: i6.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "directive", type: i6.BsTabPageHeaderDirective, selector: "[bsTabPageHeader]" }, { kind: "component", type: i7.BsResizableComponent, selector: "bs-resizable", inputs: ["positioning", "presetPosition"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockPaneRendererComponent, decorators: [{
132
127
  type: Component,
133
- args: [{ selector: 'bs-dock-pane-renderer', template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"] }]
134
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { layout: [{
128
+ args: [{ selector: 'bs-dock-pane-renderer', template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let floating\">\n <bs-resizable *ngIf=\"floating.pane\" [positioning]=\"'absolute'\" [presetPosition]=\"{ left: floating.location?.x ?? 0, top: floating.location?.y ?? 0, width: floating.size?.width ?? 200, height: floating.size?.height ?? 100 }\">\n <bs-dock-pane-renderer [layout]=\"floating.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"] }]
129
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ElementRef }]; }, propDecorators: { layout: [{
135
130
  type: Input
136
131
  }] } });
137
132
 
138
133
  class BsDockComponent {
139
- constructor(overlay) {
140
- this.overlay = overlay;
134
+ constructor() {
141
135
  //#region Panels
142
136
  this.panels$ = new BehaviorSubject([]);
143
137
  //#endregion
@@ -158,10 +152,7 @@ class BsDockComponent {
158
152
  // })
159
153
  this.floating$.pipe(takeUntil(this.destroyed$))
160
154
  .subscribe((floating) => {
161
- floating.forEach((panel) => {
162
- const overlayRef = this.overlay.create({});
163
- overlayRef.attach(panel.portal);
164
- });
155
+ floating.forEach((panel) => panel.moveToOverlay());
165
156
  });
166
157
  }
167
158
  set panels(value) {
@@ -174,19 +165,19 @@ class BsDockComponent {
174
165
  this.layout$.next(value);
175
166
  }
176
167
  set floatingPanes(value) {
177
- // value.changes.pipe(takeUntil(this.destroyed$)).subscribe((changes) => console.log('floatingPanes', changes));
178
168
  this.floating$.next(value.toArray());
179
169
  }
180
170
  ngOnDestroy() {
181
171
  this.destroyed$.next(true);
172
+ this.floating$.value.forEach(panel => panel.disposeOverlay());
182
173
  }
183
174
  }
184
- BsDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockComponent, deps: [{ token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
185
- BsDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsDockComponent, selector: "bs-dock", inputs: { layout: "layout" }, host: { properties: { "class.position-absolute": "this.positionAbsolute", "style.top": "this.positionPx", "style.left": "this.positionPx", "style.bottom": "this.positionPx", "style.right": "this.positionPx" } }, queries: [{ propertyName: "panels", predicate: BsDockPanelComponent }], viewQueries: [{ propertyName: "floatingPanes", predicate: ["floating"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n", styles: [":host ::ng-deep .tab-content{max-height:calc(100% - 41px);overflow:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockComponent, decorators: [{
175
+ BsDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
+ BsDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BsDockComponent, selector: "bs-dock", inputs: { layout: "layout" }, host: { properties: { "class.position-absolute": "this.positionAbsolute", "style.top": "this.positionPx", "style.left": "this.positionPx", "style.bottom": "this.positionPx", "style.right": "this.positionPx" } }, queries: [{ propertyName: "panels", predicate: BsDockPanelComponent }], viewQueries: [{ propertyName: "floatingPanes", predicate: ["floating"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n", styles: [":host ::ng-deep .tab-content{max-height:calc(100% - 41px);overflow:auto}:host ::ng-deep bs-dock-pane-renderer{min-width:100%;min-height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockComponent, decorators: [{
187
178
  type: Component,
188
- args: [{ selector: 'bs-dock', template: "<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n", styles: [":host ::ng-deep .tab-content{max-height:calc(100% - 41px);overflow:auto}\n"] }]
189
- }], ctorParameters: function () { return [{ type: i1$1.Overlay }]; }, propDecorators: { panels: [{
179
+ args: [{ selector: 'bs-dock', template: "<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n", styles: [":host ::ng-deep .tab-content{max-height:calc(100% - 41px);overflow:auto}:host ::ng-deep bs-dock-pane-renderer{min-width:100%;min-height:100%}\n"] }]
180
+ }], ctorParameters: function () { return []; }, propDecorators: { panels: [{
190
181
  type: ContentChildren,
191
182
  args: [BsDockPanelComponent]
192
183
  }], layout: [{
@@ -212,49 +203,145 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
212
203
  }] } });
213
204
 
214
205
  class BsDockPanelHeaderComponent {
215
- constructor(overlay, dockPanel, dock) {
216
- this.overlay = overlay;
206
+ constructor(dockPanel, dock, element) {
217
207
  this.dockPanel = dockPanel;
218
208
  this.dock = dock;
219
- this.isDragging = false;
209
+ this.element = element;
210
+ this.isMouseDown = false;
220
211
  this.isLayoutDetached = false;
221
212
  this.dBlock = true;
222
- this.overlayRef = this.overlay.create({
223
- positionStrategy: this.overlay.position().global()
224
- });
225
213
  }
226
214
  onMouseDown(ev) {
227
215
  ev.preventDefault();
228
- this.isDragging = true;
216
+ this.isMouseDown = true;
229
217
  }
230
218
  onMouseMove(ev) {
231
- if (this.isDragging) {
219
+ if (this.isMouseDown) {
232
220
  if (!this.isLayoutDetached) {
233
221
  this.isLayoutDetached = true;
234
- this.dock.layout$.subscribe((layout) => {
235
- layout.floatingPanes.push(new BsFloatingPane({
236
- pane: new BsTabGroupPane({
237
- panes: [
238
- new BsContentPane({
239
- dockPanel: this.dockPanel
240
- })
241
- ]
242
- })
243
- }));
222
+ this.dock.layout$.pipe(take(1)).subscribe((layout) => {
223
+ var _a, _b, _c, _d;
224
+ let element = this.element.nativeElement;
225
+ let tree = [];
226
+ do {
227
+ tree.push(element);
228
+ element = element.parentElement;
229
+ } while (element);
230
+ const tabControls = tree.filter(el => el.tagName.toUpperCase() === 'BS-TAB-CONTROL');
231
+ if (tabControls.length > 0) {
232
+ const coords = {
233
+ width: tabControls[0].clientWidth,
234
+ height: tabControls[0].clientHeight,
235
+ left: ev.clientX - ev.offsetX,
236
+ top: ev.clientY - ev.offsetY,
237
+ };
238
+ ((_a = this.dockPanel.headerPortal) === null || _a === void 0 ? void 0 : _a.isAttached) && ((_b = this.dockPanel.headerPortal) === null || _b === void 0 ? void 0 : _b.detach());
239
+ ((_c = this.dockPanel.contentPortal) === null || _c === void 0 ? void 0 : _c.isAttached) && ((_d = this.dockPanel.contentPortal) === null || _d === void 0 ? void 0 : _d.detach());
240
+ this.removeFromPane(layout.rootPane, this.dockPanel);
241
+ const floatingPane = new BsFloatingPane({
242
+ pane: new BsTabGroupPane({
243
+ panes: [
244
+ new BsContentPane({
245
+ dockPanel: this.dockPanel
246
+ })
247
+ ]
248
+ }),
249
+ size: {
250
+ width: coords.width,
251
+ height: coords.height,
252
+ },
253
+ location: {
254
+ x: coords.left,
255
+ y: coords.top,
256
+ }
257
+ });
258
+ this.dragOperation = {
259
+ offsetX: ev.offsetX,
260
+ offsetY: ev.offsetY,
261
+ floatingPane
262
+ };
263
+ layout.floatingPanes.push(floatingPane);
264
+ this.dock.layout$.next(layout);
265
+ }
244
266
  });
245
267
  }
268
+ else if (this.dragOperation) {
269
+ if (this.dragOperation.floatingPane.location) {
270
+ this.dragOperation.floatingPane.location.x = ev.clientX - this.dragOperation.offsetX;
271
+ this.dragOperation.floatingPane.location.y = ev.clientY - this.dragOperation.offsetY;
272
+ }
273
+ }
274
+ }
275
+ }
276
+ removeFromPane(host, panel /*, parents: BsDockPane[] */) {
277
+ if (host instanceof BsContentPane) {
278
+ return { paneRemoved: false, hostIsEmpty: false };
279
+ }
280
+ else if (host instanceof BsDocumentHost) {
281
+ // Actually documentHost should never be removed
282
+ if (!host.rootPane) {
283
+ return { paneRemoved: false, hostIsEmpty: true };
284
+ }
285
+ const result = this.removeFromPane(host.rootPane, panel);
286
+ return { paneRemoved: result.paneRemoved, hostIsEmpty: result.hostIsEmpty };
287
+ }
288
+ else if (host instanceof BsTabGroupPane) {
289
+ const matching = host.panes.filter(p => p.dockPanel === panel);
290
+ if (matching.length > 0) {
291
+ host.panes.splice(host.panes.findIndex(p => p.dockPanel === panel), 1);
292
+ return { paneRemoved: true, hostIsEmpty: host.panes.length === 0 };
293
+ }
294
+ else {
295
+ // ATM. all panes are ContentPanes anyway.
296
+ // So unless you'd want to have splitters inside the tabs,
297
+ // This code will not be hit.
298
+ // const result = host.panes
299
+ // .map(parentPane => this.removeFromPane(parentPane, panel))
300
+ // .filter(r => r.paneRemoved);
301
+ //
302
+ // if (result.length > 0) {
303
+ // return { paneRemoved: true, hostIsEmpty: }
304
+ // }
305
+ return { paneRemoved: false, hostIsEmpty: host.panes.length === 0 };
306
+ }
307
+ }
308
+ else if (host instanceof BsSplitPane) {
309
+ const matching = host.panes
310
+ .filter(p => p instanceof BsContentPane)
311
+ .map(p => p)
312
+ .filter(p => p.dockPanel === panel);
313
+ if (matching.length > 0) {
314
+ host.panes.splice(host.panes.findIndex(p => (p instanceof BsContentPane) && matching.includes(p)), 1);
315
+ // TODO: Remove splitter if only 1 pane left?
316
+ return { paneRemoved: true, hostIsEmpty: host.panes.length === 0 };
317
+ }
318
+ else {
319
+ for (let splitPane of host.panes) {
320
+ const result = this.removeFromPane(splitPane, panel);
321
+ if (result.paneRemoved && result.hostIsEmpty) {
322
+ // splitPane is empty now, so we can remove it from this splitter
323
+ host.panes.splice(host.panes.indexOf(splitPane), 1);
324
+ return { paneRemoved: true, hostIsEmpty: host.panes.length === 0 };
325
+ }
326
+ }
327
+ }
328
+ return { paneRemoved: false, hostIsEmpty: host.panes.length === 0 };
329
+ }
330
+ else {
331
+ throw 'unknown host type';
246
332
  }
247
333
  }
248
334
  onMouseUp(ev) {
249
- this.isDragging = false;
335
+ this.isMouseDown = false;
336
+ this.dragOperation = undefined;
250
337
  }
251
338
  }
252
- BsDockPanelHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPanelHeaderComponent, deps: [{ token: i1$1.Overlay }, { token: BsDockPanelComponent }, { token: BsDockComponent }], target: i0.ɵɵFactoryTarget.Component });
253
- BsDockPanelHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsDockPanelHeaderComponent, selector: "bs-dock-panel-header", host: { listeners: { "mousedown": "onMouseDown($event)", "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.d-block": "this.dBlock" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] });
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPanelHeaderComponent, decorators: [{
339
+ BsDockPanelHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockPanelHeaderComponent, deps: [{ token: BsDockPanelComponent }, { token: BsDockComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
340
+ BsDockPanelHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BsDockPanelHeaderComponent, selector: "bs-dock-panel-header", host: { listeners: { "mousedown": "onMouseDown($event)", "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.d-block": "this.dBlock" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] });
341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockPanelHeaderComponent, decorators: [{
255
342
  type: Component,
256
343
  args: [{ selector: 'bs-dock-panel-header', template: "<ng-content></ng-content>", styles: [":host{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] }]
257
- }], ctorParameters: function () { return [{ type: i1$1.Overlay }, { type: BsDockPanelComponent }, { type: BsDockComponent }]; }, propDecorators: { onMouseDown: [{
344
+ }], ctorParameters: function () { return [{ type: BsDockPanelComponent }, { type: BsDockComponent }, { type: i0.ElementRef }]; }, propDecorators: { onMouseDown: [{
258
345
  type: HostListener,
259
346
  args: ['mousedown', ['$event']]
260
347
  }], onMouseMove: [{
@@ -270,8 +357,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
270
357
 
271
358
  class BsDockModule {
272
359
  }
273
- BsDockModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
274
- BsDockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: BsDockModule, declarations: [BsDockComponent,
360
+ BsDockModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
361
+ BsDockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: BsDockModule, declarations: [BsDockComponent,
275
362
  BsDockPanelComponent,
276
363
  BsDockPanelHeaderComponent,
277
364
  BsDockPaneRendererComponent], imports: [CommonModule,
@@ -284,14 +371,14 @@ BsDockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
284
371
  BsDockPanelComponent,
285
372
  BsDockPanelHeaderComponent,
286
373
  BsDockPaneRendererComponent] });
287
- BsDockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockModule, imports: [CommonModule,
374
+ BsDockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockModule, imports: [CommonModule,
288
375
  PortalModule,
289
376
  BsCardModule,
290
377
  BsInstanceOfModule,
291
378
  BsSplitterModule,
292
379
  BsTabControlModule,
293
380
  BsResizableModule] });
294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockModule, decorators: [{
381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDockModule, decorators: [{
295
382
  type: NgModule,
296
383
  args: [{
297
384
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-dock.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/dock-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/tab-group-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/document-host-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/enums/pane-type.enum.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/split-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/content-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/floating-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock.module.ts","../../../../libs/mintplayer-ng-bootstrap/dock/mintplayer-ng-bootstrap-dock.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, AfterViewInit, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'bs-dock-panel',\n templateUrl: './dock-panel.component.html',\n styleUrls: ['./dock-panel.component.scss']\n})\nexport class BsDockPanelComponent implements AfterViewInit {\n constructor() {\n // this.contentPortal = new DomPortal(this.element.nativeElement);\n }\n\n @ViewChild('headerElement') headerElement!: ElementRef<HTMLDivElement>;\n @ViewChild('contentElement') contentElement!: ElementRef<HTMLDivElement>;\n headerPortal?: DomPortal;\n contentPortal?: DomPortal;\n @Input() panelId = '';\n\n ngAfterViewInit() {\n // console.log('attach dockpanel', this.element.nativeElement);\n this.headerPortal = new DomPortal(this.headerElement.nativeElement);\n this.contentPortal = new DomPortal(this.contentElement.nativeElement);\n }\n}\n","<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->","export abstract class BsDockPane {}","import { BsContentPane } from \"./content-pane\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsTabGroupPane extends BsDockPane {\n constructor(data?: Partial<BsTabGroupPane>) {\n super();\n Object.assign(this, data);\n }\n\n panes: BsContentPane[] = [];\n}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsDocumentHost extends BsDockPane {\n constructor(data?: Partial<BsDocumentHost>) {\n super();\n Object.assign(this, data);\n }\n\n rootPane?: BsDockPane\n}","export enum EPaneType {\n documentHost = 1,\n splitPane = 2,\n contentPane = 3,\n tabGroupPane = 4,\n}","import { SplitPaneOrientation } from \"../types/split-pane-orientation.type\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsSplitPane extends BsDockPane {\n constructor(data?: Partial<BsSplitPane>) {\n super();\n Object.assign(this, data);\n }\n\n orientation: SplitPaneOrientation = 'horizontal';\n panes: BsDockPane[] = [];\n}","import { BsDockPanelComponent } from \"../dock-panel/dock-panel.component\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsContentPane extends BsDockPane {\n constructor(data?: Partial<BsContentPane>) {\n super();\n Object.assign(this, data);\n }\n\n dockPanel!: BsDockPanelComponent;\n isPinned?: boolean;\n}","import { BsDockPane } from \"./dock-pane\";\nimport { Point } from \"../interfaces/point\";\nimport { Size } from \"../interfaces/size\";\n\nexport class BsFloatingPane {\n constructor(data?: Partial<BsFloatingPane>) {\n Object.assign(this, data);\n }\n \n pane?: BsDockPane;\n size?: Size;\n location?: Point;\n}","import { Component, ElementRef, Input } from '@angular/core';\nimport { DomPortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { BsDockPane } from '../panes/dock-pane';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsSplitPane } from '../panes/split-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsFloatingPane } from '../panes/floating-pane';\n\n@Component({\n selector: 'bs-dock-pane-renderer',\n templateUrl: './dock-pane-renderer.component.html',\n styleUrls: ['./dock-pane-renderer.component.scss']\n})\nexport class BsDockPaneRendererComponent {\n\n constructor(element: ElementRef) {\n // this.layoutType$ = this.layout$.pipe<EPaneType | null>(map((layout) => {\n // if (layout === null) {\n // return null;\n // } else if (layout instanceof BsDocumentHost) {\n // return EPaneType.documentHost;\n // } else if (layout instanceof BsSplitPane) {\n // return EPaneType.splitPane;\n // } else if (layout instanceof BsContentPane) {\n // return EPaneType.contentPane;\n // } else if (layout instanceof BsTabGroupPane) {\n // return EPaneType.tabGroupPane;\n // } else {\n // return null;\n // // throw 'unknown pane type';\n // }\n // }));\n this.portal = new DomPortal(element);\n }\n\n portal: DomPortal;\n\n paneTypes = EPaneType;\n readonly BsDocumentHostType = BsDocumentHost;\n readonly BsTabGroupType = BsTabGroupPane;\n readonly BsSplitterType = BsSplitPane;\n readonly BsContentPaneType = BsContentPane;\n readonly BsFloatingPaneType = BsFloatingPane;\n\n //#region Layout\n layout$ = new BehaviorSubject<BsDockPane | null>(null);\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockPane | null) {\n console.log('set layout', value);\n this.layout$.next(value);\n }\n //#endregion\n\n // layoutType$: Observable<EPaneType | null>;\n}\n","<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>","import { Component, ContentChildren, ViewChildren, Input, OnDestroy, QueryList, HostBinding } from '@angular/core';\nimport { BehaviorSubject, combineLatest, combineLatestAll, Subject, takeUntil } from 'rxjs';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsDockLayout } from '../interfaces/dock-layout';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { BsDockPaneRendererComponent } from '../dock-pane-renderer/dock-pane-renderer.component';\nimport { Overlay } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'bs-dock',\n templateUrl: './dock.component.html',\n styleUrls: ['./dock.component.scss']\n})\nexport class BsDockComponent implements OnDestroy {\n constructor(private overlay: Overlay) {\n const tabs = new BsTabGroupPane();\n const docHost = new BsDocumentHost();\n docHost.rootPane = tabs;\n\n this.layout$ = new BehaviorSubject<BsDockLayout>({\n rootPane: docHost,\n floatingPanes: []\n });\n\n // combineLatest([this.layout$, this.panels$])\n // .pipe(takeUntil(this.destroyed$))\n // .subscribe(([layout, panels]) => {\n \n // })\n\n this.floating$.pipe(takeUntil(this.destroyed$))\n .subscribe((floating) => {\n floating.forEach((panel) => {\n const overlayRef = this.overlay.create({});\n overlayRef.attach(panel.portal);\n });\n });\n }\n\n //#region Panels\n panels$ = new BehaviorSubject<BsDockPanelComponent[]>([]);\n @ContentChildren(BsDockPanelComponent) set panels(value: QueryList<BsDockPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n //#endregion\n //#region Layout\n layout$: BehaviorSubject<BsDockLayout>;\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockLayout) {\n this.layout$.next(value);\n }\n //#endregion\n\n floating$ = new BehaviorSubject<BsDockPaneRendererComponent[]>([]);\n @ViewChildren('floating') set floatingPanes(value: QueryList<BsDockPaneRendererComponent>) {\n // value.changes.pipe(takeUntil(this.destroyed$)).subscribe((changes) => console.log('floatingPanes', changes));\n this.floating$.next(value.toArray());\n }\n\n @HostBinding('class.position-absolute')\n positionAbsolute = true;\n\n @HostBinding('style.top')\n @HostBinding('style.left')\n @HostBinding('style.bottom')\n @HostBinding('style.right')\n positionPx = 0;\n\n destroyed$ = new Subject();\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n}\n","<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Component, HostBinding, HostListener } from '@angular/core';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { BsDockComponent } from '../dock/dock.component';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsFloatingPane } from '../panes/floating-pane';\n\n@Component({\n selector: 'bs-dock-panel-header',\n templateUrl: './dock-panel-header.component.html',\n styleUrls: ['./dock-panel-header.component.scss']\n})\nexport class BsDockPanelHeaderComponent {\n constructor(private overlay: Overlay, private dockPanel: BsDockPanelComponent, private dock: BsDockComponent) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n }\n\n isDragging = false;\n overlayRef: OverlayRef;\n isLayoutDetached = false;\n @HostListener('mousedown', ['$event']) onMouseDown(ev: MouseEvent) {\n ev.preventDefault();\n this.isDragging = true;\n }\n\n @HostListener('document:mousemove', ['$event']) onMouseMove(ev: MouseEvent) {\n if (this.isDragging) {\n if (!this.isLayoutDetached) {\n this.isLayoutDetached = true;\n this.dock.layout$.subscribe((layout) => {\n layout.floatingPanes.push(new BsFloatingPane({\n pane: new BsTabGroupPane({\n panes: [\n new BsContentPane({\n dockPanel: this.dockPanel\n })\n ]\n }) \n }))\n });\n }\n }\n }\n\n @HostListener('document:mouseup', ['$event']) onMouseUp(ev: Event) {\n this.isDragging = false;\n }\n\n @HostBinding('class.d-block') dBlock = true;\n}\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsCardModule } from '@mintplayer/ng-bootstrap/card';\nimport { BsSplitterModule } from '@mintplayer/ng-bootstrap/splitter';\nimport { BsResizableModule } from '@mintplayer/ng-bootstrap/resizable';\nimport { BsTabControlModule } from '@mintplayer/ng-bootstrap/tab-control';\nimport { BsInstanceOfModule } from '@mintplayer/ng-bootstrap/instance-of';\nimport { BsDockComponent } from './dock/dock.component';\nimport { BsDockPanelComponent } from './dock-panel/dock-panel.component';\nimport { BsDockPanelHeaderComponent } from './dock-panel-header/dock-panel-header.component';\nimport { BsDockPaneRendererComponent } from './dock-pane-renderer/dock-pane-renderer.component';\n\n@NgModule({\n declarations: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ],\n imports: [\n CommonModule,\n PortalModule,\n BsCardModule,\n BsInstanceOfModule,\n BsSplitterModule,\n BsTabControlModule,\n BsResizableModule\n ],\n exports: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ]\n})\nexport class BsDockModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3.BsDockPaneRendererComponent","i2.BsDockPanelComponent","i3.BsDockComponent"],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-dock.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/dock-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/tab-group-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/document-host-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/enums/pane-type.enum.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/split-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/content-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/floating-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock.module.ts","../../../../libs/mintplayer-ng-bootstrap/dock/mintplayer-ng-bootstrap-dock.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, AfterViewInit, ViewChild, Inject, Optional, forwardRef } from '@angular/core';\nimport { BsTabControlComponent } from '@mintplayer/ng-bootstrap/tab-control';\n\n@Component({\n selector: 'bs-dock-panel',\n templateUrl: './dock-panel.component.html',\n styleUrls: ['./dock-panel.component.scss']\n})\nexport class BsDockPanelComponent implements AfterViewInit {\n\n @ViewChild('headerElement') headerElement!: ElementRef<HTMLDivElement>;\n @ViewChild('contentElement') contentElement!: ElementRef<HTMLDivElement>;\n headerPortal?: DomPortal;\n contentPortal?: DomPortal;\n @Input() panelId = '';\n\n ngAfterViewInit() {\n this.headerPortal = new DomPortal(this.headerElement.nativeElement);\n this.contentPortal = new DomPortal(this.contentElement.nativeElement);\n }\n}\n","<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->","export abstract class BsDockPane {}","import { BsContentPane } from \"./content-pane\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsTabGroupPane extends BsDockPane {\n constructor(data?: Partial<BsTabGroupPane>) {\n super();\n Object.assign(this, data);\n }\n\n panes: BsContentPane[] = [];\n}","import { BsDockPane } from \"./dock-pane\";\nimport { BsTabGroupPane } from \"./tab-group-pane\";\n\nexport class BsDocumentHost extends BsDockPane {\n constructor(data?: Partial<BsDocumentHost>) {\n super();\n Object.assign(this, data);\n }\n\n rootPane?: BsTabGroupPane\n}","export enum EPaneType {\n documentHost = 1,\n splitPane = 2,\n contentPane = 3,\n tabGroupPane = 4,\n}","import { SplitPaneOrientation } from \"../types/split-pane-orientation.type\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsSplitPane extends BsDockPane {\n constructor(data?: Partial<BsSplitPane>) {\n super();\n Object.assign(this, data);\n }\n\n orientation: SplitPaneOrientation = 'horizontal';\n panes: BsDockPane[] = [];\n}","import { BsDockPanelComponent } from \"../dock-panel/dock-panel.component\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsContentPane extends BsDockPane {\n constructor(data?: Partial<BsContentPane>) {\n super();\n Object.assign(this, data);\n }\n\n dockPanel!: BsDockPanelComponent;\n isPinned?: boolean;\n}","import { BsDockPane } from \"./dock-pane\";\nimport { Point } from \"../interfaces/point\";\nimport { Size } from \"../interfaces/size\";\n\nexport class BsFloatingPane {\n constructor(data?: Partial<BsFloatingPane>) {\n Object.assign(this, data);\n }\n \n pane?: BsDockPane;\n size?: Size;\n location?: Point;\n}","import { Component, ElementRef, HostBinding, Input } from '@angular/core';\nimport { DomPortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { BsDockPane } from '../panes/dock-pane';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsSplitPane } from '../panes/split-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsFloatingPane } from '../panes/floating-pane';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'bs-dock-pane-renderer',\n templateUrl: './dock-pane-renderer.component.html',\n styleUrls: ['./dock-pane-renderer.component.scss']\n})\nexport class BsDockPaneRendererComponent {\n\n constructor(private overlay: Overlay, element: ElementRef) {\n this.portal = new DomPortal(element);\n }\n\n portal: DomPortal;\n\n paneTypes = EPaneType;\n readonly BsDocumentHostType = BsDocumentHost;\n readonly BsTabGroupType = BsTabGroupPane;\n readonly BsSplitterType = BsSplitPane;\n readonly BsContentPaneType = BsContentPane;\n readonly BsFloatingPaneType = BsFloatingPane;\n\n //#region Layout\n layout$ = new BehaviorSubject<BsDockPane | null>(null);\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockPane | null) {\n this.layout$.next(value);\n }\n //#endregion\n\n private overlayRef?: OverlayRef;\n public moveToOverlay() {\n if (!this.overlayRef && !this.portal.isAttached) {\n this.overlayRef = this.overlay.create({});\n this.portal.attach(this.overlayRef);\n }\n }\n\n public disposeOverlay() {\n if (this.overlayRef) {\n this.portal.detach();\n this.overlayRef.dispose();\n this.overlayRef = undefined;\n }\n }\n}\n","<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let floating\">\n <bs-resizable *ngIf=\"floating.pane\" [positioning]=\"'absolute'\" [presetPosition]=\"{ left: floating.location?.x ?? 0, top: floating.location?.y ?? 0, width: floating.size?.width ?? 200, height: floating.size?.height ?? 100 }\">\n <bs-dock-pane-renderer [layout]=\"floating.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>","import { Component, ContentChildren, ViewChildren, Input, OnDestroy, QueryList, HostBinding } from '@angular/core';\nimport { BehaviorSubject, combineLatest, combineLatestAll, Subject, takeUntil } from 'rxjs';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsDockLayout } from '../interfaces/dock-layout';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { BsDockPaneRendererComponent } from '../dock-pane-renderer/dock-pane-renderer.component';\nimport { Overlay } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'bs-dock',\n templateUrl: './dock.component.html',\n styleUrls: ['./dock.component.scss']\n})\nexport class BsDockComponent implements OnDestroy {\n constructor() {\n const tabs = new BsTabGroupPane();\n const docHost = new BsDocumentHost();\n docHost.rootPane = tabs;\n\n this.layout$ = new BehaviorSubject<BsDockLayout>({\n rootPane: docHost,\n floatingPanes: []\n });\n\n // combineLatest([this.layout$, this.panels$])\n // .pipe(takeUntil(this.destroyed$))\n // .subscribe(([layout, panels]) => {\n \n // })\n\n this.floating$.pipe(takeUntil(this.destroyed$))\n .subscribe((floating) => {\n floating.forEach((panel) => panel.moveToOverlay());\n });\n }\n\n //#region Panels\n panels$ = new BehaviorSubject<BsDockPanelComponent[]>([]);\n @ContentChildren(BsDockPanelComponent) set panels(value: QueryList<BsDockPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n //#endregion\n //#region Layout\n layout$: BehaviorSubject<BsDockLayout>;\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockLayout) {\n this.layout$.next(value);\n }\n //#endregion\n\n floating$ = new BehaviorSubject<BsDockPaneRendererComponent[]>([]);\n @ViewChildren('floating') set floatingPanes(value: QueryList<BsDockPaneRendererComponent>) {\n this.floating$.next(value.toArray());\n }\n\n @HostBinding('class.position-absolute')\n positionAbsolute = true;\n\n @HostBinding('style.top')\n @HostBinding('style.left')\n @HostBinding('style.bottom')\n @HostBinding('style.right')\n positionPx = 0;\n\n destroyed$ = new Subject();\n ngOnDestroy() {\n this.destroyed$.next(true);\n this.floating$.value.forEach(panel => panel.disposeOverlay());\n }\n}\n","<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n","import { Component, ElementRef, HostBinding, HostListener, Inject, Optional, forwardRef } from '@angular/core';\nimport { take } from 'rxjs';\nimport { BsTabControlComponent } from '@mintplayer/ng-bootstrap/tab-control';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { BsDockComponent } from '../dock/dock.component';\nimport { BsDockPane } from '../panes/dock-pane';\nimport { BsSplitPane } from '../panes/split-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsFloatingPane } from '../panes/floating-pane';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { RemoveFromPaneResult } from '../interfaces/remove-from-pane-result';\nimport { DragOperation } from '../interfaces/drag-operation';\n\n@Component({\n selector: 'bs-dock-panel-header',\n templateUrl: './dock-panel-header.component.html',\n styleUrls: ['./dock-panel-header.component.scss']\n})\nexport class BsDockPanelHeaderComponent {\n constructor(private dockPanel: BsDockPanelComponent, private dock: BsDockComponent, private element: ElementRef<HTMLElement>) {}\n\n isMouseDown = false;\n dragOperation?: DragOperation;\n isLayoutDetached = false;\n @HostListener('mousedown', ['$event']) onMouseDown(ev: MouseEvent) {\n ev.preventDefault();\n this.isMouseDown = true;\n }\n\n @HostListener('document:mousemove', ['$event']) onMouseMove(ev: MouseEvent) {\n if (this.isMouseDown) {\n if (!this.isLayoutDetached) {\n this.isLayoutDetached = true;\n this.dock.layout$.pipe(take(1)).subscribe((layout) => {\n\n let element: HTMLElement | null = this.element.nativeElement;\n let tree: HTMLElement[] = [];\n do {\n tree.push(element!);\n element = element!.parentElement;\n } while (element);\n\n const tabControls = tree.filter(el => el.tagName.toUpperCase() === 'BS-TAB-CONTROL');\n if (tabControls.length > 0) {\n const coords = {\n width: tabControls[0].clientWidth,\n height: tabControls[0].clientHeight,\n left: ev.clientX - ev.offsetX,\n top: ev.clientY - ev.offsetY,\n };\n\n this.dockPanel.headerPortal?.isAttached && this.dockPanel.headerPortal?.detach();\n this.dockPanel.contentPortal?.isAttached && this.dockPanel.contentPortal?.detach();\n this.removeFromPane(layout.rootPane, this.dockPanel);\n\n const floatingPane = new BsFloatingPane({\n pane: new BsTabGroupPane({\n panes: [\n new BsContentPane({\n dockPanel: this.dockPanel\n })\n ]\n }),\n size: {\n width: coords.width,\n height: coords.height,\n },\n location: {\n x: coords.left,\n y: coords.top,\n }\n });\n \n this.dragOperation = {\n offsetX: ev.offsetX,\n offsetY: ev.offsetY,\n floatingPane\n };\n\n layout.floatingPanes.push(floatingPane);\n this.dock.layout$.next(layout);\n }\n });\n } else if (this.dragOperation) {\n if (this.dragOperation.floatingPane.location) {\n this.dragOperation.floatingPane.location.x = ev.clientX - this.dragOperation.offsetX;\n this.dragOperation.floatingPane.location.y = ev.clientY - this.dragOperation.offsetY;\n }\n }\n }\n }\n\n removeFromPane(host: BsDockPane, panel: BsDockPanelComponent /*, parents: BsDockPane[] */): RemoveFromPaneResult {\n if (host instanceof BsContentPane) {\n return { paneRemoved: false, hostIsEmpty: false };\n } else if (host instanceof BsDocumentHost) {\n // Actually documentHost should never be removed\n\n if (!host.rootPane) {\n return { paneRemoved: false, hostIsEmpty: true };\n }\n\n const result = this.removeFromPane(host.rootPane, panel);\n return { paneRemoved: result.paneRemoved, hostIsEmpty: result.hostIsEmpty };\n\n } else if (host instanceof BsTabGroupPane) {\n\n\n\n const matching = host.panes.filter(p => p.dockPanel === panel);\n if (matching.length > 0) {\n host.panes.splice(host.panes.findIndex(p => p.dockPanel === panel), 1);\n return { paneRemoved: true, hostIsEmpty: host.panes.length === 0 };\n } else {\n // ATM. all panes are ContentPanes anyway.\n // So unless you'd want to have splitters inside the tabs,\n // This code will not be hit.\n\n // const result = host.panes\n // .map(parentPane => this.removeFromPane(parentPane, panel))\n // .filter(r => r.paneRemoved);\n //\n // if (result.length > 0) {\n // return { paneRemoved: true, hostIsEmpty: }\n // }\n return { paneRemoved: false, hostIsEmpty: host.panes.length === 0 };\n }\n\n\n\n\n } else if (host instanceof BsSplitPane) {\n const matching = host.panes\n .filter(p => p instanceof BsContentPane)\n .map(p => <BsContentPane>p)\n .filter(p => p.dockPanel === panel);\n \n if (matching.length > 0) {\n host.panes.splice(host.panes.findIndex(p => (p instanceof BsContentPane) && matching.includes(p)), 1);\n\n // TODO: Remove splitter if only 1 pane left?\n return { paneRemoved: true, hostIsEmpty: host.panes.length === 0 };\n } else {\n\n\n for (let splitPane of host.panes) {\n const result = this.removeFromPane(splitPane, panel);\n if (result.paneRemoved && result.hostIsEmpty) {\n // splitPane is empty now, so we can remove it from this splitter\n host.panes.splice(host.panes.indexOf(splitPane), 1);\n return { paneRemoved: true, hostIsEmpty: host.panes.length === 0 };\n }\n }\n }\n\n return { paneRemoved: false, hostIsEmpty: host.panes.length === 0 };\n } else {\n throw 'unknown host type';\n }\n }\n\n @HostListener('document:mouseup', ['$event']) onMouseUp(ev: Event) {\n this.isMouseDown = false;\n this.dragOperation = undefined;\n }\n\n @HostBinding('class.d-block') dBlock = true;\n}\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsCardModule } from '@mintplayer/ng-bootstrap/card';\nimport { BsSplitterModule } from '@mintplayer/ng-bootstrap/splitter';\nimport { BsResizableModule } from '@mintplayer/ng-bootstrap/resizable';\nimport { BsTabControlModule } from '@mintplayer/ng-bootstrap/tab-control';\nimport { BsInstanceOfModule } from '@mintplayer/ng-bootstrap/instance-of';\nimport { BsDockComponent } from './dock/dock.component';\nimport { BsDockPanelComponent } from './dock-panel/dock-panel.component';\nimport { BsDockPanelHeaderComponent } from './dock-panel-header/dock-panel-header.component';\nimport { BsDockPaneRendererComponent } from './dock-pane-renderer/dock-pane-renderer.component';\n\n@NgModule({\n declarations: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ],\n imports: [\n CommonModule,\n PortalModule,\n BsCardModule,\n BsInstanceOfModule,\n BsSplitterModule,\n BsTabControlModule,\n BsResizableModule\n ],\n exports: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ]\n})\nexport class BsDockModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.BsDockPaneRendererComponent","i1.BsDockPanelComponent","i2.BsDockComponent"],"mappings":"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"}
@@ -7,9 +7,9 @@ class BsDropdownDividerDirective {
7
7
  this.dropdownDividerClass = true;
8
8
  }
9
9
  }
10
- BsDropdownDividerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDropdownDividerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
- BsDropdownDividerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BsDropdownDividerDirective, selector: "[bsDropdownDivider]", host: { properties: { "class.dropdown-divider": "this.dropdownDividerClass" } }, ngImport: i0 });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDropdownDividerDirective, decorators: [{
10
+ BsDropdownDividerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDropdownDividerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
+ BsDropdownDividerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: BsDropdownDividerDirective, selector: "[bsDropdownDivider]", host: { properties: { "class.dropdown-divider": "this.dropdownDividerClass" } }, ngImport: i0 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDropdownDividerDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[bsDropdownDivider]'
@@ -21,10 +21,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
21
21
 
22
22
  class BsDropdownDividerModule {
23
23
  }
24
- BsDropdownDividerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDropdownDividerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
- BsDropdownDividerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: BsDropdownDividerModule, declarations: [BsDropdownDividerDirective], imports: [CommonModule], exports: [BsDropdownDividerDirective] });
26
- BsDropdownDividerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDropdownDividerModule, imports: [CommonModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDropdownDividerModule, decorators: [{
24
+ BsDropdownDividerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDropdownDividerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
+ BsDropdownDividerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: BsDropdownDividerModule, declarations: [BsDropdownDividerDirective], imports: [CommonModule], exports: [BsDropdownDividerDirective] });
26
+ BsDropdownDividerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDropdownDividerModule, imports: [CommonModule] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsDropdownDividerModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  declarations: [BsDropdownDividerDirective],