@mintplayer/ng-bootstrap 21.21.0 → 21.23.0

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 (182) hide show
  1. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +20 -20
  2. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  3. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +8 -8
  4. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
  5. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +5 -5
  6. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
  7. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +6 -6
  8. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  9. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +3 -3
  10. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
  11. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +4 -4
  12. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs.map +1 -1
  13. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +9 -9
  14. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  15. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +10 -10
  16. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  17. package/fesm2022/mintplayer-ng-bootstrap-card.mjs +8 -8
  18. package/fesm2022/mintplayer-ng-bootstrap-card.mjs.map +1 -1
  19. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +25 -25
  20. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  21. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +3 -3
  22. package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
  23. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
  24. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  25. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +58 -58
  26. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  27. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +3 -3
  28. package/fesm2022/mintplayer-ng-bootstrap-container.mjs.map +1 -1
  29. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +3 -3
  30. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  31. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +4 -4
  32. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  33. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +20 -20
  34. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  35. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +6 -6
  36. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
  37. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +1129 -1516
  38. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  39. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +3 -3
  40. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -1
  41. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
  42. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  43. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +15 -15
  44. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  45. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +3 -3
  46. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  47. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs +3 -3
  48. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs.map +1 -1
  49. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +16 -16
  50. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  51. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +3 -3
  52. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  53. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +3 -3
  54. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
  55. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +4 -4
  56. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  57. package/fesm2022/mintplayer-ng-bootstrap-form.mjs +11 -11
  58. package/fesm2022/mintplayer-ng-bootstrap-form.mjs.map +1 -1
  59. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +26 -26
  60. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  61. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +4 -4
  62. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  63. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +3 -3
  64. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs.map +1 -1
  65. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +3 -3
  66. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs.map +1 -1
  67. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +3 -3
  68. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs.map +1 -1
  69. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +14 -14
  70. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs.map +1 -1
  71. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +4 -4
  72. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  73. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +3 -3
  74. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs.map +1 -1
  75. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +7 -7
  76. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
  77. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +12 -12
  78. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  79. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +3 -3
  80. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
  81. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +24 -24
  82. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  83. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +24 -24
  84. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  85. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +5 -5
  86. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  87. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +58 -58
  88. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  89. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +8 -8
  90. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
  91. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +3 -3
  92. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  93. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +40 -40
  94. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  95. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +3 -3
  96. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
  97. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +12 -12
  98. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  99. package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs +6 -6
  100. package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs.map +1 -1
  101. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +7 -7
  102. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
  103. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +5 -5
  104. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  105. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +20 -20
  106. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  107. package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs +30 -30
  108. package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs.map +1 -1
  109. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +17 -17
  110. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  111. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +9 -9
  112. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  113. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +7 -7
  114. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  115. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +25 -25
  116. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  117. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +17 -17
  118. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  119. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +14 -14
  120. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  121. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +24 -24
  122. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  123. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +19 -19
  124. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  125. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +20 -20
  126. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  127. package/fesm2022/mintplayer-ng-bootstrap-shell.mjs +11 -11
  128. package/fesm2022/mintplayer-ng-bootstrap-shell.mjs.map +1 -1
  129. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +7 -7
  130. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  131. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +3 -3
  132. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs.map +1 -1
  133. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +7 -7
  134. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  135. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +3 -3
  136. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs.map +1 -1
  137. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +6 -6
  138. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs.map +1 -1
  139. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +57 -67
  140. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  141. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +10 -10
  142. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  143. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +8 -8
  144. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  145. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +24 -24
  146. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  147. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +22 -22
  148. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  149. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +10 -10
  150. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  151. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +14 -14
  152. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
  153. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +3 -3
  154. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -1
  155. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +10 -10
  156. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  157. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +3 -3
  158. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs.map +1 -1
  159. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +3 -3
  160. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  161. package/fesm2022/mintplayer-ng-bootstrap-viewport.mjs +3 -3
  162. package/fesm2022/mintplayer-ng-bootstrap-viewport.mjs.map +1 -1
  163. package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs +10 -10
  164. package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs.map +1 -1
  165. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler-core.mjs +1356 -0
  166. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler-core.mjs.map +1 -0
  167. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs +3819 -0
  168. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs.map +1 -0
  169. package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs +731 -0
  170. package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs.map +1 -0
  171. package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs +549 -0
  172. package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs.map +1 -0
  173. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +3 -3
  174. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
  175. package/package.json +21 -6
  176. package/types/mintplayer-ng-bootstrap-dock.d.ts +70 -29
  177. package/types/mintplayer-ng-bootstrap-scheduler.d.ts +2 -2
  178. package/types/mintplayer-ng-bootstrap-tab-control.d.ts +7 -11
  179. package/types/mintplayer-ng-bootstrap-web-components-scheduler-core.d.ts +890 -0
  180. package/types/mintplayer-ng-bootstrap-web-components-scheduler.d.ts +354 -0
  181. package/types/mintplayer-ng-bootstrap-web-components-splitter.d.ts +165 -0
  182. package/types/mintplayer-ng-bootstrap-web-components-tab-control.d.ts +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-web-components-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/web-components/tab-control/src/styles/tab-control.styles.ts","../../../../libs/mintplayer-ng-bootstrap/web-components/tab-control/src/components/mp-tab-control.ts","../../../../libs/mintplayer-ng-bootstrap/web-components/tab-control/src/components/mp-tab-page.ts","../../../../libs/mintplayer-ng-bootstrap/web-components/tab-control/src/index.ts","../../../../libs/mintplayer-ng-bootstrap/web-components/tab-control/mintplayer-ng-bootstrap-web-components-tab-control.ts"],"sourcesContent":["// AUTO-GENERATED — do not edit by hand.\n// Source: tab-control.styles.scss\n// Regenerate with the codegen-wc Nx target.\n\nimport { unsafeCSS } from 'lit';\n\nexport const tabControlStyles = unsafeCSS(`.nav {\n --bs-nav-link-padding-x: 1rem;\n --bs-nav-link-padding-y: 0.5rem;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-link-color);\n --bs-nav-link-hover-color: var(--bs-link-hover-color);\n --bs-nav-link-disabled-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n font-size: var(--bs-nav-link-font-size);\n font-weight: var(--bs-nav-link-font-weight);\n color: var(--bs-nav-link-color);\n text-decoration: none;\n background: none;\n border: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover, .nav-link:focus {\n color: var(--bs-nav-link-hover-color);\n}\n.nav-link:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.nav-link.disabled, .nav-link:disabled {\n color: var(--bs-nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n --bs-nav-tabs-border-width: var(--bs-border-width);\n --bs-nav-tabs-border-color: var(--bs-border-color);\n --bs-nav-tabs-border-radius: var(--bs-border-radius);\n --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);\n --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n --bs-nav-tabs-link-active-bg: var(--bs-body-bg);\n --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);\n border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n border: var(--bs-nav-tabs-border-width) solid transparent;\n border-top-left-radius: var(--bs-nav-tabs-border-radius);\n border-top-right-radius: var(--bs-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n isolation: isolate;\n border-color: var(--bs-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: var(--bs-nav-tabs-link-active-color);\n background-color: var(--bs-nav-tabs-link-active-bg);\n border-color: var(--bs-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills {\n --bs-nav-pills-border-radius: var(--bs-border-radius);\n --bs-nav-pills-link-active-color: #fff;\n --bs-nav-pills-link-active-bg: #0d6efd;\n}\n.nav-pills .nav-link {\n border-radius: var(--bs-nav-pills-border-radius);\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: var(--bs-nav-pills-link-active-color);\n background-color: var(--bs-nav-pills-link-active-bg);\n}\n\n.nav-underline {\n --bs-nav-underline-gap: 1rem;\n --bs-nav-underline-border-width: 0.125rem;\n --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n gap: var(--bs-nav-underline-gap);\n}\n.nav-underline .nav-link {\n padding-right: 0;\n padding-left: 0;\n border-bottom: var(--bs-nav-underline-border-width) solid transparent;\n}\n.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-bottom-color: currentcolor;\n}\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--bs-nav-underline-link-active-color);\n border-bottom-color: currentcolor;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n:host {\n display: flex;\n flex-direction: column;\n position: relative;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.flex-grow-1 {\n flex-grow: 1;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-x-auto {\n overflow-x: auto;\n}\n\n.overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.text-nowrap {\n white-space: nowrap;\n}\n\n.border {\n border: var(--bs-border-width, 1px) var(--bs-border-style, solid) var(--bs-border-color, #dee2e6) !important;\n}\n\n.border-top {\n border-top: var(--bs-border-width, 1px) var(--bs-border-style, solid) var(--bs-border-color, #dee2e6) !important;\n}\n\n.tsc {\n max-height: 41px;\n overflow: hidden;\n flex-shrink: 0;\n z-index: 1;\n}\n.tsc .nav.nav-tabs {\n margin-top: 0;\n border-bottom: 0;\n}\n.tsc.bottom-tabs {\n margin-top: -1px;\n}\n.tsc.bottom-tabs .nav.nav-tabs {\n border-bottom-width: 0;\n}\n.tsc.bottom-tabs .nav.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-left-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n.tsc.bottom-tabs .nav.nav-tabs .nav-item {\n margin-bottom: 2px;\n margin-top: -1px;\n}\n.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,\n.tsc.bottom-tabs .nav.nav-tabs .nav-link.active {\n border-color: #fff #dee2e6 #dee2e6 #dee2e6;\n}\n\n.tsc .nav-link {\n cursor: pointer;\n background: transparent;\n font: inherit;\n text-align: inherit;\n}\n\n.tsc .nav-link.disabled {\n cursor: not-allowed;\n}\n\n.tab-content {\n margin-top: -1px;\n}`);\nexport default tabControlStyles;\n","import { LitElement, html, nothing, type TemplateResult } from 'lit';\nimport { tabControlStyles } from '../styles';\nimport type { TabsPosition } from '../types';\n\nexport interface TabActivateEventDetail {\n /** The `tab-id` of the tab the user activated. */\n tabId: string;\n /** The original DOM event (click or keydown) that triggered the activation. */\n originalEvent: Event;\n}\n\ninterface TabInfo {\n tabId: string;\n disabled: boolean;\n}\n\nconst isHidden = (el: Element): boolean =>\n el.hasAttribute('data-hidden') &&\n el.getAttribute('data-hidden') !== 'false';\n\n/**\n * <mp-tab-control>\n *\n * Bootstrap-styled tab strip. Pages live in named `${id}-content` slots and\n * headers in `${id}-header` slots. The shadow DOM dynamically projects only\n * the currently-active page via `<slot name=\"${activeId}-content\">`, so\n * inactive panels never enter the rendered tree.\n *\n * Authoring (vanilla):\n *\n * <mp-tab-control active-tab=\"overview\">\n * <span slot=\"overview-header\">Overview</span>\n * <div slot=\"overview-content\">Hello</div>\n * <span slot=\"details-header\">Details</span>\n * <div slot=\"details-content\">Details body</div>\n * </mp-tab-control>\n *\n * To mark a tab disabled, set `data-disabled` on the `*-content` element.\n *\n * Active state is **controlled by the host** — the host sets `active-tab` and\n * listens for `tab-activate` events. The Angular wrapper (`bs-tab-control`)\n * drives this via signals.\n */\nexport class MpTabControl extends LitElement {\n static override styles = [tabControlStyles];\n\n static override get observedAttributes(): string[] {\n return [\n ...(super.observedAttributes ?? []),\n 'tabs-position',\n 'border',\n 'active-tab',\n 'select-first-tab',\n ];\n }\n\n private tabs: TabInfo[] = [];\n private mutationObserver: MutationObserver | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n // role=\"tablist\" lives on the inner <ul> that directly contains the tab\n // buttons — we deliberately don't repeat it on the host.\n this.mutationObserver = new MutationObserver(() => this.refreshTabs());\n this.mutationObserver.observe(this, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['slot', 'data-disabled', 'data-hidden'],\n });\n }\n\n override disconnectedCallback(): void {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n super.disconnectedCallback();\n }\n\n override attributeChangedCallback(\n name: string,\n oldValue: string | null,\n newValue: string | null,\n ): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n if (oldValue === newValue) return;\n this.requestUpdate();\n }\n\n protected override firstUpdated(): void {\n this.refreshTabs();\n }\n\n private get tabsPosition(): TabsPosition {\n const v = this.getAttribute('tabs-position');\n return v === 'bottom' ? 'bottom' : 'top';\n }\n\n private get border(): 'full' | 'top' | 'none' {\n if (!this.hasAttribute('border')) return 'full';\n const v = this.getAttribute('border');\n if (v === 'false') return 'none';\n if (v === 'top') return 'top';\n return 'full';\n }\n\n private get selectFirstTab(): boolean {\n return this.hasAttribute('select-first-tab')\n ? this.getAttribute('select-first-tab') !== 'false'\n : true;\n }\n\n private get activeTabId(): string | null {\n return this.getAttribute('active-tab');\n }\n\n private refreshTabs(): void {\n const found = new Map<string, TabInfo>();\n for (const child of Array.from(this.children)) {\n const slot = child.getAttribute('slot');\n if (!slot) continue;\n const m = slot.match(/^(.+)-content$/);\n if (!m) continue;\n // `data-hidden` excludes a tab from the strip and content entirely.\n // Used by hosts (like the dock manager) to suppress a tab visually\n // mid-drag without churning slot projection.\n if (isHidden(child)) continue;\n const tabId = m[1];\n const disabled = child.hasAttribute('data-disabled') &&\n child.getAttribute('data-disabled') !== 'false';\n // First occurrence wins on duplicate slot names.\n if (!found.has(tabId)) {\n found.set(tabId, { tabId, disabled });\n }\n }\n this.tabs = Array.from(found.values());\n this.requestUpdate();\n }\n\n private resolvedActiveTabId(): string | null {\n const explicit = this.activeTabId;\n if (\n explicit !== null &&\n this.tabs.some((t) => t.tabId === explicit && !t.disabled)\n ) {\n return explicit;\n }\n if (!this.selectFirstTab) return null;\n const firstEnabled = this.tabs.find((t) => !t.disabled);\n return firstEnabled?.tabId ?? null;\n }\n\n override render(): TemplateResult {\n const activeId = this.resolvedActiveTabId();\n const strip = html`\n <div class=\"tsc${this.tabsPosition === 'bottom' ? ' bottom-tabs' : ''}\">\n <ul\n class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n role=\"tablist\"\n >\n ${this.tabs.map((tab) => this.renderTabHeader(tab, activeId))}\n </ul>\n </div>\n `;\n const borderMode = this.border;\n const borderClass =\n borderMode === 'none'\n ? ''\n : borderMode === 'top'\n ? ' border-top'\n : activeId\n ? ' border'\n : ' border-top';\n const content = html`\n <div\n class=\"tab-content flex-grow-1 overflow-auto${borderClass}\"\n >\n <slot name=${activeId ? `${activeId}-content` : '__none__'}></slot>\n </div>\n `;\n return html`\n ${this.tabsPosition === 'top' ? strip : nothing}\n ${content}\n ${this.tabsPosition === 'bottom' ? strip : nothing}\n `;\n }\n\n private renderTabHeader(\n tab: TabInfo,\n activeId: string | null,\n ): TemplateResult {\n const isActive = tab.tabId === activeId;\n return html`\n <li class=\"nav-item\" role=\"presentation\">\n <button\n type=\"button\"\n class=\"nav-link text-nowrap${isActive ? ' active' : ''}${tab.disabled\n ? ' disabled'\n : ''}\"\n role=\"tab\"\n id=${`${tab.tabId}-header-button`}\n aria-controls=${`${tab.tabId}-panel`}\n aria-selected=${isActive ? 'true' : 'false'}\n ?disabled=${tab.disabled}\n tabindex=${tab.disabled ? -1 : isActive ? 0 : -1}\n @click=${(ev: Event) => this.activate(tab, ev)}\n @keydown=${(ev: KeyboardEvent) => this.handleKeydown(tab, ev)}\n >\n <slot name=${`${tab.tabId}-header`}></slot>\n </button>\n </li>\n `;\n }\n\n private activate(tab: TabInfo, ev: Event): void {\n if (tab.disabled) return;\n ev.preventDefault();\n this.dispatchEvent(\n new CustomEvent<TabActivateEventDetail>('tab-activate', {\n detail: { tabId: tab.tabId, originalEvent: ev },\n bubbles: true,\n composed: true,\n }),\n );\n this.setAttribute('active-tab', tab.tabId);\n }\n\n private handleKeydown(tab: TabInfo, ev: KeyboardEvent): void {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n this.activate(tab, ev);\n return;\n case 'Home':\n case 'End': {\n ev.preventDefault();\n const enabled = this.tabs.filter((t) => !t.disabled);\n if (enabled.length === 0) return;\n const target = ev.key === 'Home' ? enabled[0] : enabled[enabled.length - 1];\n this.moveFocusAndActivate(target, ev);\n return;\n }\n case 'ArrowLeft':\n case 'ArrowRight': {\n ev.preventDefault();\n const dir = ev.key === 'ArrowRight' ? 1 : -1;\n const enabled = this.tabs.filter((t) => !t.disabled);\n if (enabled.length === 0) return;\n const currentIdx = enabled.findIndex((t) => t.tabId === tab.tabId);\n const nextIdx =\n (currentIdx + dir + enabled.length) % enabled.length;\n this.moveFocusAndActivate(enabled[nextIdx], ev);\n return;\n }\n }\n }\n\n private moveFocusAndActivate(target: TabInfo, ev: Event): void {\n this.setAttribute('active-tab', target.tabId);\n const button = this.shadowRoot?.querySelector<HTMLButtonElement>(\n `button[id=\"${target.tabId}-header-button\"]`,\n );\n button?.focus();\n this.dispatchEvent(\n new CustomEvent<TabActivateEventDetail>('tab-activate', {\n detail: { tabId: target.tabId, originalEvent: ev },\n bubbles: true,\n composed: true,\n }),\n );\n }\n}\n\nif (\n typeof customElements !== 'undefined' &&\n !customElements.get('mp-tab-control')\n) {\n customElements.define('mp-tab-control', MpTabControl);\n}\n","import { LitElement, html, css, type TemplateResult } from 'lit';\n\n/**\n * <mp-tab-page>\n *\n * Optional convenience wrapper for vanilla consumers. Sets `slot=\"${tabId}-content\"`\n * on itself based on its `tab-id` attribute, so the parent `<mp-tab-control>`\n * picks it up via named-slot projection.\n *\n * Also mirrors `disabled` to `data-disabled` so the tab-control can read the\n * disabled state without inspecting child types.\n *\n * Use directly:\n *\n * <mp-tab-control>\n * <span slot=\"t1-header\">Tab 1</span>\n * <mp-tab-page tab-id=\"t1\">Content 1</mp-tab-page>\n * </mp-tab-control>\n *\n * Or skip this element entirely and put the slot/data-disabled attributes\n * directly on whatever element holds your tab content:\n *\n * <mp-tab-control>\n * <span slot=\"t1-header\">Tab 1</span>\n * <div slot=\"t1-content\">Content 1</div>\n * </mp-tab-control>\n */\nexport class MpTabPage extends LitElement {\n static override styles = css`\n :host {\n display: block;\n }\n `;\n\n static override get observedAttributes(): string[] {\n return [\n ...(super.observedAttributes ?? []),\n 'tab-id',\n 'disabled',\n ];\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.syncSlot();\n this.syncDisabled();\n }\n\n override attributeChangedCallback(\n name: string,\n oldValue: string | null,\n newValue: string | null,\n ): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n if (oldValue === newValue) return;\n if (name === 'tab-id') this.syncSlot();\n if (name === 'disabled') this.syncDisabled();\n }\n\n private syncSlot(): void {\n const tabId = this.getAttribute('tab-id');\n if (tabId) {\n this.setAttribute('slot', `${tabId}-content`);\n } else {\n this.removeAttribute('slot');\n }\n }\n\n private syncDisabled(): void {\n if (this.hasAttribute('disabled')) {\n this.setAttribute('data-disabled', '');\n } else {\n this.removeAttribute('data-disabled');\n }\n }\n\n override render(): TemplateResult {\n return html`<slot></slot>`;\n }\n}\n\nif (\n typeof customElements !== 'undefined' &&\n !customElements.get('mp-tab-page')\n) {\n customElements.define('mp-tab-page', MpTabPage);\n}\n","// Components\nexport { MpTabControl, MpTabPage } from './components';\nexport type { TabActivateEventDetail } from './components';\n\n// Types\nexport type { TabsPosition } from './types';\n\n// Styles (for custom styling extensions)\nexport { tabControlStyles } from './styles';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -15,10 +15,10 @@ class BsWordCountPipe {
15
15
  .length;
16
16
  }
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsWordCountPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
19
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.6", ngImport: i0, type: BsWordCountPipe, isStandalone: true, name: "bsWordCount" }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsWordCountPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
19
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: BsWordCountPipe, isStandalone: true, name: "bsWordCount" }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsWordCountPipe, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsWordCountPipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{
24
24
  name: 'bsWordCount',
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-word-count.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/word-count/src/word-count.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/word-count/mintplayer-ng-bootstrap-word-count.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsWordCount',\n pure: true,\n})\nexport class BsWordCountPipe implements PipeTransform {\n transform(value: string) {\n if ((value === null) || (value === '')) {\n return 0;\n } else {\n return value\n .replace(/(^\\s+)|(\\s+$)/gi, '')\n .replace(/\\s{2,}/gi, ' ')\n .split(' ')\n .filter(w => w !== '')\n .length;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,eAAe,CAAA;AAC1B,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC,EAAE;AACtC,YAAA,OAAO,CAAC;QACV;aAAO;AACL,YAAA,OAAO;AACJ,iBAAA,OAAO,CAAC,iBAAiB,EAAE,EAAE;AAC7B,iBAAA,OAAO,CAAC,UAAU,EAAE,GAAG;iBACvB,KAAK,CAAC,GAAG;iBACT,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AACpB,iBAAA,MAAM;QACX;IACF;8GAZW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA;;;ACLD;;AAEG;;;;"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-word-count.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/word-count/src/word-count.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/word-count/mintplayer-ng-bootstrap-word-count.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsWordCount',\n pure: true,\n})\nexport class BsWordCountPipe implements PipeTransform {\n transform(value: string) {\n if ((value === null) || (value === '')) {\n return 0;\n } else {\n return value\n .replace(/(^\\s+)|(\\s+$)/gi, '')\n .replace(/\\s{2,}/gi, ' ')\n .split(' ')\n .filter(w => w !== '')\n .length;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,eAAe,CAAA;AAC1B,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC,EAAE;AACtC,YAAA,OAAO,CAAC;QACV;aAAO;AACL,YAAA,OAAO;AACJ,iBAAA,OAAO,CAAC,iBAAiB,EAAE,EAAE;AAC7B,iBAAA,OAAO,CAAC,UAAU,EAAE,GAAG;iBACvB,KAAK,CAAC,GAAG;iBACT,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AACpB,iBAAA,MAAM;QACX;IACF;+GAZW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA;;;ACLD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mintplayer/ng-bootstrap",
3
3
  "private": false,
4
- "version": "21.21.0",
4
+ "version": "21.23.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/MintPlayer/mintplayer-ng-bootstrap",
@@ -348,6 +348,22 @@
348
348
  "types": "./types/mintplayer-ng-bootstrap-virtual-datatable.d.ts",
349
349
  "default": "./fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs"
350
350
  },
351
+ "./web-components/scheduler": {
352
+ "types": "./types/mintplayer-ng-bootstrap-web-components-scheduler.d.ts",
353
+ "default": "./fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs"
354
+ },
355
+ "./web-components/scheduler-core": {
356
+ "types": "./types/mintplayer-ng-bootstrap-web-components-scheduler-core.d.ts",
357
+ "default": "./fesm2022/mintplayer-ng-bootstrap-web-components-scheduler-core.mjs"
358
+ },
359
+ "./web-components/splitter": {
360
+ "types": "./types/mintplayer-ng-bootstrap-web-components-splitter.d.ts",
361
+ "default": "./fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs"
362
+ },
363
+ "./web-components/tab-control": {
364
+ "types": "./types/mintplayer-ng-bootstrap-web-components-tab-control.d.ts",
365
+ "default": "./fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs"
366
+ },
351
367
  "./word-count": {
352
368
  "types": "./types/mintplayer-ng-bootstrap-word-count.d.ts",
353
369
  "default": "./fesm2022/mintplayer-ng-bootstrap-word-count.mjs"
@@ -363,20 +379,19 @@
363
379
  "rxjs": "^7.5.0",
364
380
  "bootstrap": "^5.3.0",
365
381
  "bootstrap-icons": "^1.7.2",
382
+ "lit": "^3.3.0",
366
383
  "ngx-highlightjs": "^10.0.0",
367
384
  "@mintplayer/ng-click-outside": "^21.2.0",
368
385
  "@mintplayer/ng-animations": "^21.1.0",
369
386
  "@mintplayer/pagination": "^2.3.0",
370
387
  "@mintplayer/ng-focus-on-load": "^21.2.0",
371
- "@mintplayer/ng-swiper": "^21.3.0",
372
- "@mintplayer/scheduler-core": "^1.1.0",
373
- "@mintplayer/scheduler-wc": "^1.2.0",
374
- "@mintplayer/splitter": "^1.0.0"
388
+ "@mintplayer/ng-swiper": "^21.3.0"
375
389
  },
376
390
  "dependencies": {
377
391
  "tslib": "^2.3.0"
378
392
  },
379
393
  "module": "fesm2022/mintplayer-ng-bootstrap.mjs",
380
394
  "typings": "types/mintplayer-ng-bootstrap.d.ts",
381
- "sideEffects": false
395
+ "sideEffects": false,
396
+ "type": "module"
382
397
  }
@@ -1,5 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { AfterContentInit, TemplateRef, AfterViewInit, ElementRef } from '@angular/core';
3
+ import * as lit from 'lit';
4
+ import { LitElement, TemplateResult } from 'lit';
3
5
 
4
6
  type DockLayoutNode = DockSplitNode | DockStackNode;
5
7
  interface DockSplitNode {
@@ -76,61 +78,68 @@ declare class BsDockPaneComponent implements AfterContentInit {
76
78
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsDockPaneComponent, "bs-dock-pane", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
77
79
  }
78
80
 
79
- declare class MintDockManagerElement extends HTMLElement {
81
+ declare class MintDockManagerElement extends LitElement {
82
+ static styles: lit.CSSResult[];
80
83
  private static documentRef;
81
84
  static configureDocument(documentRef: Document | null | undefined): void;
82
85
  static get observedAttributes(): string[];
83
86
  private static instanceCounter;
84
- private readonly documentRef;
85
- private readonly windowRef;
86
- private readonly rootEl;
87
- private readonly dockedEl;
88
- private readonly floatingLayerEl;
89
- private readonly dropIndicator;
90
- private readonly dropJoystick;
91
- private readonly dropJoystickButtons;
87
+ private documentRef;
88
+ private windowRef;
89
+ private rootEl;
90
+ private dockedEl;
91
+ private floatingLayerEl;
92
+ private dropIndicator;
93
+ private dropJoystick;
94
+ private dropJoystickButtons;
92
95
  private readonly instanceId;
93
96
  private dropJoystickTarget;
94
97
  private rootLayout;
95
98
  private floatingLayouts;
96
99
  private titles;
97
100
  private pendingTabDragMetrics;
98
- private resizeState;
99
101
  private dragState;
100
102
  private floatingDragState;
101
103
  private floatingResizeState;
102
104
  private intersectionRaf;
103
- private intersectionHandles;
105
+ private rootResizeObserver;
106
+ private dockedMutationObserver;
104
107
  private cornerResizeState;
105
108
  private pointerTrackingActive;
106
109
  private dragPointerTrackingActive;
107
110
  private lastDragPointerPosition;
108
- private activeSnapAxis;
109
- private activeSnapTargets;
110
111
  private cornerSnapXTargets;
111
112
  private cornerSnapYTargets;
112
113
  private showSnapMarkers;
113
- private renderSnapMarkersForDivider;
114
114
  private renderSnapMarkersForCorner;
115
115
  private clearSnapMarkers;
116
116
  private pendingDragEndTimeout;
117
117
  private previousSplitSizes;
118
118
  constructor();
119
+ render(): TemplateResult;
120
+ protected firstUpdated(): void;
119
121
  connectedCallback(): void;
120
122
  disconnectedCallback(): void;
121
123
  attributeChangedCallback(name: string, _oldValue: string | null, newValue: string | null): void;
122
124
  get layout(): DockLayoutSnapshot;
123
125
  set layout(value: DockLayoutSnapshot | DockLayout | DockLayoutNode | null);
126
+ /**
127
+ * True while the user is actively interacting with the dock — pane drag,
128
+ * floating window drag, floating window resize, or intersection corner
129
+ * resize. The `set layout` setter consults this to refuse external
130
+ * round-trips that would overwrite in-progress drag state.
131
+ */
132
+ private isInteracting;
124
133
  get snapshot(): DockLayoutSnapshot;
125
134
  toJSON(): DockLayoutSnapshot;
126
135
  private resolveDocument;
127
136
  private resolveWindow;
128
137
  private parseLayout;
129
138
  private ensureSnapshot;
130
- private render;
139
+ private renderLayout;
131
140
  private renderNode;
132
141
  private renderFloatingPanes;
133
- private onWindowResize;
142
+ private onSplitterResize;
134
143
  private scheduleRenderIntersectionHandles;
135
144
  private renderIntersectionHandles;
136
145
  private beginCornerResize;
@@ -153,19 +162,53 @@ declare class MintDockManagerElement extends HTMLElement {
153
162
  private updateFloatingWindowTitle;
154
163
  private renderSplit;
155
164
  private renderStack;
156
- private beginResize;
165
+ /**
166
+ * Returns the strip (`.tsc`) element inside an `<mp-tab-control>`'s shadow
167
+ * DOM. Used by drag/drop logic that needs the strip's geometry instead of
168
+ * the host element's bounds.
169
+ */
170
+ private getStackStripEl;
171
+ /**
172
+ * Returns the rendered tab buttons inside an `<mp-tab-control>`'s shadow
173
+ * strip — the light-DOM `.dock-tab` spans the dock owns are projected into
174
+ * these buttons via `<slot>`. Use these for geometry / position queries
175
+ * (insert-index computation, drop-indicator placement). Use the light-DOM
176
+ * `.dock-tab` spans for data queries (paneName, drag listeners).
177
+ */
178
+ private getStackTabButtons;
179
+ /**
180
+ * Returns the dividers inside an `<mp-splitter>`'s shadow DOM, in DOM order.
181
+ * mp-splitter renders one `.divider` between each pair of adjacent panels,
182
+ * so for an N-child split, length N-1.
183
+ */
184
+ private getSplitterDividers;
185
+ /**
186
+ * Returns the panel wrappers inside an `<mp-splitter>`'s shadow DOM, in
187
+ * DOM order. These are the elements mp-splitter sizes (via setPanelSizes)
188
+ * during a divider drag — the dock reads their geometry for intersection
189
+ * handle math and snap markers.
190
+ */
191
+ private getSplitterPanels;
192
+ /**
193
+ * Locate the rendered `<mp-splitter>` element for a given DockPath
194
+ * `segments` value (the split-tree path). Searches the dock's shadow.
195
+ */
196
+ private findSplitterByPath;
157
197
  private onPointerMove;
158
198
  private onPointerUp;
159
199
  private captureTabDragMetrics;
160
200
  private clearPendingTabDragMetrics;
201
+ /**
202
+ * Pointerdown handler arms a "may become a drag" gesture. Once the pointer
203
+ * moves past `threshold` pixels we promote it to an actual pane drag via
204
+ * {@link beginPaneDrag}; if the user releases first we just clear the
205
+ * pending tab metrics. All listeners self-clean on resolve so the gesture
206
+ * stays scoped to a single pointerdown.
207
+ */
208
+ private armPaneDragGesture;
161
209
  private beginPaneDrag;
162
210
  private preparePaneDragSource;
163
211
  private endPaneDrag;
164
- private onDragOver;
165
- private updateDraggedFloatingPosition;
166
- private onGlobalDragOver;
167
- private onDrag;
168
- private onGlobalDragEnd;
169
212
  private updateDraggedFloatingPositionFromPoint;
170
213
  private updatePaneDragDropTargetFromPoint;
171
214
  private isPointerOverSourceHeader;
@@ -175,18 +218,17 @@ declare class MintDockManagerElement extends HTMLElement {
175
218
  private clearHeaderDragPlaceholder;
176
219
  private startDragPointerTracking;
177
220
  private stopDragPointerTracking;
178
- private onDragMouseMove;
179
- private onDragTouchMove;
180
- private onDragMouseUp;
221
+ private onDragPointerMove;
222
+ private onDragPointerUp;
223
+ private onDragPointerCancel;
181
224
  private convertPendingTabDragToFloating;
225
+ private markDraggedFloatingWrapper;
226
+ private clearDraggedFloatingWrapperMarkers;
182
227
  private computeHeaderInsertIndex;
183
228
  private reorderPaneInLocationAtIndex;
184
- private onDragTouchEnd;
185
229
  private finalizeDropFromPoint;
186
230
  private clearPendingDragEndTimeout;
187
231
  private scheduleDeferredDragEnd;
188
- private onDrop;
189
- private onDragLeave;
190
232
  private handleDrop;
191
233
  private handleFloatingStackDrop;
192
234
  private insertWeight;
@@ -202,7 +244,6 @@ declare class MintDockManagerElement extends HTMLElement {
202
244
  private showDropIndicator;
203
245
  private hideDropIndicator;
204
246
  private findStackAtPoint;
205
- private findStackElement;
206
247
  private findStackInTargets;
207
248
  private activatePane;
208
249
  private getNodeAtPath;
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { AfterViewInit, OnDestroy } from '@angular/core';
3
- import { ViewType, SchedulerEvent, Resource, ResourceGroup, SchedulerOptions } from '@mintplayer/scheduler-core';
4
- export { PreviewEvent, Resource, ResourceGroup, SchedulerEvent, SchedulerEventPart, SchedulerOptions, TimeSlot, ViewType, generateEventId, generateGroupId, generateResourceId } from '@mintplayer/scheduler-core';
3
+ import { ViewType, SchedulerEvent, Resource, ResourceGroup, SchedulerOptions } from '@mintplayer/ng-bootstrap/web-components/scheduler-core';
4
+ export { PreviewEvent, Resource, ResourceGroup, SchedulerEvent, SchedulerEventPart, SchedulerOptions, TimeSlot, ViewType, generateEventId, generateGroupId, generateResourceId } from '@mintplayer/ng-bootstrap/web-components/scheduler-core';
5
5
 
6
6
  /**
7
7
  * Event click event detail
@@ -1,6 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { TemplateRef, ElementRef } from '@angular/core';
3
- import { CdkDragStart, CdkDragDrop } from '@angular/cdk/drag-drop';
4
3
 
5
4
  declare class BsTabPageHeaderDirective {
6
5
  template: TemplateRef<any>;
@@ -14,40 +13,37 @@ declare class BsTabPageComponent {
14
13
  constructor();
15
14
  tabId: _angular_core.WritableSignal<number>;
16
15
  tabName: _angular_core.Signal<string>;
16
+ contentSlotName: _angular_core.Signal<string | null>;
17
17
  disabled: _angular_core.InputSignal<boolean>;
18
18
  readonly headerTemplate: _angular_core.Signal<BsTabPageHeaderDirective | undefined>;
19
19
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsTabPageComponent, never>;
20
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsTabPageComponent, "bs-tab-page", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["headerTemplate"], ["*"], true, never>;
20
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsTabPageComponent, "bs-tab-page", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["headerTemplate"], ["*", "*"], true, never>;
21
21
  }
22
22
 
23
23
  type BsTabsPosition = 'top' | 'bottom';
24
24
 
25
25
  declare class BsTabControlComponent {
26
26
  element: ElementRef<any>;
27
+ private platformId;
28
+ readonly isServerSide: boolean;
27
29
  constructor();
28
30
  border: _angular_core.InputSignal<boolean>;
29
- restrictDragging: _angular_core.InputSignal<boolean>;
30
31
  selectFirstTab: _angular_core.InputSignal<boolean>;
31
32
  tabsPosition: _angular_core.InputSignal<BsTabsPosition>;
32
- allowDragDrop: _angular_core.InputSignal<boolean>;
33
- dragBoundarySelector: _angular_core.Signal<"ul" | "">;
34
33
  readonly tabPages: _angular_core.Signal<readonly BsTabPageComponent[]>;
35
34
  activeTab: _angular_core.WritableSignal<BsTabPageComponent | null>;
36
- orderedTabPages: _angular_core.WritableSignal<BsTabPageComponent[]>;
37
35
  tabControlId: _angular_core.WritableSignal<number>;
38
36
  tabControlName: _angular_core.Signal<string>;
39
37
  topTabs: _angular_core.Signal<boolean>;
40
38
  bottomTabs: _angular_core.Signal<boolean>;
41
- disableDragDrop: _angular_core.Signal<boolean>;
42
39
  checkedTab: _angular_core.Signal<BsTabPageComponent | null>;
40
+ activeTabName: _angular_core.Signal<string | null>;
43
41
  static tabControlCounter: number;
44
42
  tabCounter: number;
45
43
  setActiveTab(tab: BsTabPageComponent, event?: Event): boolean;
46
- headerKeydown(tab: BsTabPageComponent, event: KeyboardEvent): void;
47
- startDragTab(ev: CdkDragStart<BsTabPageComponent>): void;
48
- moveTab(ev: CdkDragDrop<readonly BsTabPageComponent[]>): void;
44
+ onTabActivate(event: Event): void;
49
45
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsTabControlComponent, never>;
50
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsTabControlComponent, "bs-tab-control", never, { "border": { "alias": "border"; "required": false; "isSignal": true; }; "restrictDragging": { "alias": "restrictDragging"; "required": false; "isSignal": true; }; "selectFirstTab": { "alias": "selectFirstTab"; "required": false; "isSignal": true; }; "tabsPosition": { "alias": "tabsPosition"; "required": false; "isSignal": true; }; "allowDragDrop": { "alias": "allowDragDrop"; "required": false; "isSignal": true; }; }, {}, ["tabPages"], ["*"], true, never>;
46
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsTabControlComponent, "bs-tab-control", never, { "border": { "alias": "border"; "required": false; "isSignal": true; }; "selectFirstTab": { "alias": "selectFirstTab"; "required": false; "isSignal": true; }; "tabsPosition": { "alias": "tabsPosition"; "required": false; "isSignal": true; }; }, {}, ["tabPages"], ["*", "*"], true, never>;
51
47
  }
52
48
 
53
49
  export { BsTabControlComponent, BsTabPageComponent, BsTabPageHeaderDirective };