@mintplayer/ng-bootstrap 17.1.3 → 17.3.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 (491) hide show
  1. package/accordion/src/accordion.module.d.ts +1 -1
  2. package/alert/src/alert.module.d.ts +1 -2
  3. package/async-host-binding/src/index.d.ts +1 -1
  4. package/async-host-binding/src/provide-async-host-bindings.d.ts +2 -0
  5. package/badge/src/badge.component.d.ts +1 -1
  6. package/badge/src/index.d.ts +0 -1
  7. package/breadcrumb/src/breadcrumb.module.d.ts +1 -2
  8. package/button-group/src/button-group/button-group.component.d.ts +2 -5
  9. package/button-group/src/index.d.ts +0 -1
  10. package/button-type/src/button-type/button-type.directive.d.ts +1 -1
  11. package/button-type/src/index.d.ts +0 -1
  12. package/calendar/src/calendar.component.d.ts +1 -1
  13. package/calendar/src/index.d.ts +0 -1
  14. package/calendar-month/src/pipes/index.d.ts +2 -2
  15. package/calendar-month/src/pipes/month-name/month-name.pipe.d.ts +3 -3
  16. package/calendar-month/src/pipes/weekday-name/weekday-name.pipe.d.ts +3 -3
  17. package/carousel/src/carousel.module.d.ts +2 -3
  18. package/close/src/close.component.d.ts +1 -1
  19. package/close/src/index.d.ts +0 -1
  20. package/code-snippet/src/code-snippet.component.d.ts +8 -2
  21. package/code-snippet/src/index.d.ts +0 -1
  22. package/color-picker/color-picker.module.d.ts +1 -1
  23. package/container/src/container/container.component.d.ts +1 -1
  24. package/container/src/index.d.ts +0 -1
  25. package/context-menu/src/context-menu.module.d.ts +1 -1
  26. package/copy/src/copy.directive.d.ts +1 -1
  27. package/copy/src/index.d.ts +0 -1
  28. package/datatable/src/datatable.module.d.ts +1 -1
  29. package/datepicker/src/datepicker.component.d.ts +1 -1
  30. package/datepicker/src/index.d.ts +0 -1
  31. package/dock/src/dock.module.d.ts +1 -1
  32. package/dropdown/src/dropdown/dropdown.directive.d.ts +3 -3
  33. package/dropdown/src/dropdown.module.d.ts +1 -1
  34. package/dropdown-divider/src/dropdown-divider.directive.d.ts +1 -1
  35. package/dropdown-divider/src/index.d.ts +0 -1
  36. package/dropdown-menu/src/dropdown-menu.module.d.ts +1 -1
  37. package/enhanced-paste/src/directive/enhanced-paste.directive.d.ts +1 -1
  38. package/enhanced-paste/src/index.d.ts +0 -1
  39. package/esm2022/accordion/src/accordion.module.mjs +8 -9
  40. package/esm2022/alert/src/alert/alert.component.mjs +3 -4
  41. package/esm2022/alert/src/alert.module.mjs +3 -5
  42. package/esm2022/async-host-binding/src/index.mjs +2 -2
  43. package/esm2022/async-host-binding/src/provide-async-host-bindings.mjs +10 -0
  44. package/esm2022/badge/src/badge.component.mjs +4 -4
  45. package/esm2022/badge/src/index.mjs +1 -2
  46. package/esm2022/breadcrumb/src/breadcrumb.module.mjs +3 -5
  47. package/esm2022/button-group/src/button-group/button-group.component.mjs +4 -6
  48. package/esm2022/button-group/src/index.mjs +1 -2
  49. package/esm2022/button-type/src/button-type/button-type.directive.mjs +4 -3
  50. package/esm2022/button-type/src/index.mjs +1 -2
  51. package/esm2022/calendar/src/calendar.component.mjs +7 -8
  52. package/esm2022/calendar/src/index.mjs +1 -2
  53. package/esm2022/calendar-month/src/pipes/index.mjs +3 -3
  54. package/esm2022/calendar-month/src/pipes/month-name/month-name.pipe.mjs +7 -6
  55. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +7 -6
  56. package/esm2022/carousel/src/carousel/carousel.component.mjs +4 -5
  57. package/esm2022/carousel/src/carousel.module.mjs +13 -18
  58. package/esm2022/close/src/close.component.mjs +3 -3
  59. package/esm2022/close/src/index.mjs +1 -2
  60. package/esm2022/code-snippet/src/code-snippet.component.mjs +22 -8
  61. package/esm2022/code-snippet/src/index.mjs +1 -2
  62. package/esm2022/color-picker/color-picker.module.mjs +8 -10
  63. package/esm2022/color-picker/components/color-picker/color-picker.component.mjs +8 -8
  64. package/esm2022/color-picker/components/color-wheel/color-wheel.component.mjs +3 -3
  65. package/esm2022/container/src/container/container.component.mjs +3 -3
  66. package/esm2022/container/src/index.mjs +1 -2
  67. package/esm2022/context-menu/src/context-menu.module.mjs +8 -8
  68. package/esm2022/copy/src/copy.directive.mjs +3 -2
  69. package/esm2022/copy/src/index.mjs +1 -2
  70. package/esm2022/datatable/src/datatable/datatable.component.mjs +3 -3
  71. package/esm2022/datatable/src/datatable.module.mjs +15 -14
  72. package/esm2022/datepicker/src/datepicker.component.mjs +10 -8
  73. package/esm2022/datepicker/src/index.mjs +1 -2
  74. package/esm2022/dock/src/dock/dock.component.mjs +5 -5
  75. package/esm2022/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +9 -9
  76. package/esm2022/dock/src/dock.module.mjs +5 -6
  77. package/esm2022/dropdown/src/dropdown/dropdown.directive.mjs +5 -3
  78. package/esm2022/dropdown/src/dropdown.module.mjs +8 -10
  79. package/esm2022/dropdown-divider/src/dropdown-divider.directive.mjs +4 -3
  80. package/esm2022/dropdown-divider/src/index.mjs +1 -2
  81. package/esm2022/dropdown-menu/src/dropdown-menu.module.mjs +5 -5
  82. package/esm2022/enhanced-paste/src/directive/enhanced-paste.directive.mjs +4 -3
  83. package/esm2022/enhanced-paste/src/index.mjs +1 -2
  84. package/esm2022/file-upload/src/component/file-upload.component.mjs +6 -7
  85. package/esm2022/file-upload/src/file-upload.module.mjs +12 -19
  86. package/esm2022/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +2 -2
  87. package/esm2022/floating-labels/src/floating-label/floating-label.component.mjs +20 -0
  88. package/esm2022/floating-labels/src/index.mjs +2 -3
  89. package/esm2022/font-color/index.mjs +1 -2
  90. package/esm2022/font-color/src/font-color.pipe.mjs +4 -3
  91. package/esm2022/for/src/for.directive.mjs +4 -3
  92. package/esm2022/for/src/index.mjs +1 -2
  93. package/esm2022/grid/src/grid.module.mjs +5 -5
  94. package/esm2022/has-overlay/src/has-overlay/has-overlay.component.mjs +3 -3
  95. package/esm2022/has-overlay/src/index.mjs +1 -2
  96. package/esm2022/has-property/src/has-property.pipe.mjs +6 -5
  97. package/esm2022/has-property/src/index.mjs +1 -2
  98. package/esm2022/in-list/index.mjs +1 -2
  99. package/esm2022/in-list/src/in-list.pipe.mjs +4 -3
  100. package/esm2022/input-group/src/index.mjs +1 -2
  101. package/esm2022/input-group/src/input-group/input-group.component.mjs +3 -3
  102. package/esm2022/let/directive/let.directive.mjs +4 -3
  103. package/esm2022/let/index.mjs +1 -2
  104. package/esm2022/linify/index.mjs +1 -2
  105. package/esm2022/linify/src/linify.pipe.mjs +3 -2
  106. package/esm2022/markdown/index.mjs +1 -2
  107. package/esm2022/markdown/src/bold/bold.pipe.mjs +4 -3
  108. package/esm2022/markdown/src/italic/italic.pipe.mjs +4 -3
  109. package/esm2022/markdown/src/strikethrough/strikethrough.pipe.mjs +4 -3
  110. package/esm2022/markdown/src/underline/underline.pipe.mjs +4 -3
  111. package/esm2022/marquee/index.mjs +1 -2
  112. package/esm2022/marquee/src/marquee/marquee.component.mjs +3 -3
  113. package/esm2022/modal/src/components/modal/modal.component.mjs +3 -3
  114. package/esm2022/modal/src/modal.module.mjs +9 -10
  115. package/esm2022/multiselect/src/component/multiselect.component.mjs +3 -8
  116. package/esm2022/multiselect/src/multiselect.module.mjs +15 -18
  117. package/esm2022/navbar/src/navbar.module.mjs +30 -33
  118. package/esm2022/navbar-toggler/src/index.mjs +1 -2
  119. package/esm2022/navbar-toggler/src/navbar-toggler/navbar-toggler.component.mjs +4 -4
  120. package/esm2022/no-noscript/src/index.mjs +1 -2
  121. package/esm2022/no-noscript/src/no-noscript/no-noscript.directive.mjs +4 -3
  122. package/esm2022/offcanvas/src/components/offcanvas/offcanvas.component.mjs +3 -3
  123. package/esm2022/offcanvas/src/offcanvas.module.mjs +11 -10
  124. package/esm2022/ordinal-number/src/index.mjs +1 -2
  125. package/esm2022/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +4 -3
  126. package/esm2022/pagination/src/component/pagination/pagination.component.mjs +4 -5
  127. package/esm2022/pagination/src/index.mjs +1 -2
  128. package/esm2022/playlist-toggler/src/index.mjs +1 -2
  129. package/esm2022/playlist-toggler/src/playlist-toggler/playlist-toggler.component.mjs +4 -4
  130. package/esm2022/popover/src/component/popover.component.mjs +3 -3
  131. package/esm2022/popover/src/popover.module.mjs +6 -6
  132. package/esm2022/progress-bar/src/progress/progress.component.mjs +3 -4
  133. package/esm2022/rating/src/component/rating.component.mjs +4 -4
  134. package/esm2022/rating/src/index.mjs +1 -2
  135. package/esm2022/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +3 -3
  136. package/esm2022/scheduler/src/components/scheduler/scheduler.component.mjs +5 -5
  137. package/esm2022/scrollspy/src/component/scrollspy.component.mjs +3 -4
  138. package/esm2022/scrollspy/src/scrollspy.module.mjs +4 -7
  139. package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +5 -5
  140. package/esm2022/searchbox/src/searchbox.module.mjs +21 -23
  141. package/esm2022/select2/src/component/select2.component.mjs +3 -3
  142. package/esm2022/select2/src/select2.module.mjs +12 -14
  143. package/esm2022/signature-pad/src/component/signature-pad.component.mjs +3 -3
  144. package/esm2022/signature-pad/src/index.mjs +1 -2
  145. package/esm2022/slugify/index.mjs +1 -2
  146. package/esm2022/slugify/src/slugify.pipe.mjs +4 -3
  147. package/esm2022/spinner/src/index.mjs +1 -2
  148. package/esm2022/spinner/src/spinner.component.mjs +4 -4
  149. package/esm2022/split-string/index.mjs +1 -2
  150. package/esm2022/split-string/src/split-string.pipe.mjs +4 -3
  151. package/esm2022/splitter/src/splitter/splitter.component.mjs +7 -7
  152. package/esm2022/splitter/src/splitter.module.mjs +7 -7
  153. package/esm2022/tab-control/src/tab-control/tab-control.component.mjs +4 -4
  154. package/esm2022/tab-control/src/tab-control.module.mjs +13 -14
  155. package/esm2022/table/src/component/table.component.mjs +4 -4
  156. package/esm2022/table/src/index.mjs +1 -2
  157. package/esm2022/timepicker/src/index.mjs +1 -2
  158. package/esm2022/timepicker/src/timepicker.component.mjs +17 -12
  159. package/esm2022/toast/src/components/toast-container/toast-container.component.mjs +3 -3
  160. package/esm2022/toast/src/toast.module.mjs +11 -10
  161. package/esm2022/tooltip/src/tooltip.module.mjs +5 -5
  162. package/esm2022/trust-html/index.mjs +1 -2
  163. package/esm2022/trust-html/src/trust-html.pipe.mjs +4 -3
  164. package/esm2022/typeahead/src/index.mjs +1 -2
  165. package/esm2022/typeahead/src/typeahead.component.mjs +16 -10
  166. package/esm2022/uc-first/index.mjs +1 -2
  167. package/esm2022/uc-first/src/uc-first.pipe.mjs +4 -3
  168. package/esm2022/user-agent/src/directive/user-agent.directive.mjs +4 -3
  169. package/esm2022/user-agent/src/index.mjs +1 -2
  170. package/esm2022/word-count/index.mjs +1 -2
  171. package/esm2022/word-count/src/word-count.pipe.mjs +4 -3
  172. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +8 -9
  173. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  174. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +4 -7
  175. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
  176. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs +7 -29
  177. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs.map +1 -1
  178. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +5 -20
  179. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
  180. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +2 -4
  181. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  182. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +4 -21
  183. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
  184. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +5 -25
  185. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs.map +1 -1
  186. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +14 -53
  187. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  188. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +9 -49
  189. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  190. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +15 -21
  191. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  192. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +4 -19
  193. package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
  194. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +20 -39
  195. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  196. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +13 -15
  197. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  198. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +4 -19
  199. package/fesm2022/mintplayer-ng-bootstrap-container.mjs.map +1 -1
  200. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
  201. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  202. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +5 -24
  203. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  204. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +16 -15
  205. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  206. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +10 -45
  207. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
  208. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +14 -15
  209. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  210. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +5 -19
  211. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -1
  212. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +4 -4
  213. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  214. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +10 -10
  215. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  216. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +5 -25
  217. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  218. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +16 -24
  219. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  220. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +4 -19
  221. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  222. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +5 -25
  223. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
  224. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +5 -25
  225. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  226. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +4 -4
  227. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  228. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +4 -19
  229. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  230. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +7 -21
  231. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs.map +1 -1
  232. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +5 -25
  233. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs.map +1 -1
  234. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +4 -19
  235. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs.map +1 -1
  236. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +5 -25
  237. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  238. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +4 -18
  239. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs.map +1 -1
  240. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +28 -57
  241. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  242. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +4 -19
  243. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
  244. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +10 -11
  245. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  246. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +16 -24
  247. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  248. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +5 -20
  249. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  250. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +29 -32
  251. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  252. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +6 -19
  253. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  254. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +12 -11
  255. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  256. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +5 -25
  257. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
  258. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +5 -31
  259. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  260. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +5 -20
  261. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  262. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +7 -7
  263. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  264. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +2 -3
  265. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  266. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +5 -26
  267. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  268. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +5 -5
  269. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  270. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +6 -9
  271. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  272. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +24 -26
  273. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  274. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +13 -15
  275. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  276. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +4 -19
  277. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  278. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +5 -19
  279. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs.map +1 -1
  280. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +5 -20
  281. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  282. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +5 -19
  283. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs.map +1 -1
  284. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +12 -12
  285. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
  286. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +15 -16
  287. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  288. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +5 -20
  289. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  290. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +16 -64
  291. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  292. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +12 -11
  293. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  294. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +4 -4
  295. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  296. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +5 -19
  297. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -1
  298. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +14 -53
  299. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  300. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +5 -25
  301. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs.map +1 -1
  302. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +6 -25
  303. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  304. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +5 -19
  305. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
  306. package/file-upload/src/file-upload.module.d.ts +4 -5
  307. package/floating-labels/src/{floating-labels/floating-label → floating-label}/floating-label.component.d.ts +1 -1
  308. package/floating-labels/src/index.d.ts +1 -2
  309. package/font-color/index.d.ts +0 -1
  310. package/font-color/src/font-color.pipe.d.ts +1 -1
  311. package/for/src/for.directive.d.ts +1 -1
  312. package/for/src/index.d.ts +0 -1
  313. package/grid/src/grid.module.d.ts +1 -1
  314. package/has-overlay/src/has-overlay/has-overlay.component.d.ts +1 -1
  315. package/has-overlay/src/index.d.ts +0 -1
  316. package/has-property/src/has-property.pipe.d.ts +3 -3
  317. package/has-property/src/index.d.ts +0 -1
  318. package/in-list/index.d.ts +0 -1
  319. package/in-list/src/in-list.pipe.d.ts +1 -1
  320. package/input-group/src/index.d.ts +0 -1
  321. package/input-group/src/input-group/input-group.component.d.ts +1 -1
  322. package/let/directive/let.directive.d.ts +1 -1
  323. package/let/index.d.ts +0 -1
  324. package/linify/index.d.ts +0 -1
  325. package/linify/src/linify.pipe.d.ts +1 -1
  326. package/markdown/index.d.ts +0 -1
  327. package/markdown/src/bold/bold.pipe.d.ts +1 -1
  328. package/markdown/src/italic/italic.pipe.d.ts +1 -1
  329. package/markdown/src/strikethrough/strikethrough.pipe.d.ts +1 -1
  330. package/markdown/src/underline/underline.pipe.d.ts +1 -1
  331. package/marquee/index.d.ts +0 -1
  332. package/marquee/src/marquee/marquee.component.d.ts +1 -1
  333. package/modal/src/modal.module.d.ts +1 -1
  334. package/multiselect/src/component/multiselect.component.d.ts +2 -4
  335. package/multiselect/src/multiselect.module.d.ts +1 -1
  336. package/navbar/src/navbar.module.d.ts +1 -1
  337. package/navbar-toggler/src/index.d.ts +0 -1
  338. package/navbar-toggler/src/navbar-toggler/navbar-toggler.component.d.ts +1 -1
  339. package/no-noscript/src/index.d.ts +0 -1
  340. package/no-noscript/src/no-noscript/no-noscript.directive.d.ts +1 -1
  341. package/offcanvas/src/offcanvas.module.d.ts +1 -1
  342. package/ordinal-number/src/index.d.ts +0 -1
  343. package/ordinal-number/src/ordinal-number/ordinal-number.pipe.d.ts +1 -1
  344. package/package.json +1 -13
  345. package/pagination/src/component/pagination/pagination.component.d.ts +1 -1
  346. package/pagination/src/index.d.ts +0 -1
  347. package/playlist-toggler/src/index.d.ts +0 -1
  348. package/playlist-toggler/src/playlist-toggler/playlist-toggler.component.d.ts +1 -1
  349. package/popover/src/popover.module.d.ts +1 -1
  350. package/rating/src/component/rating.component.d.ts +1 -1
  351. package/rating/src/index.d.ts +0 -1
  352. package/scrollspy/src/scrollspy.module.d.ts +1 -2
  353. package/searchbox/src/searchbox.module.d.ts +3 -3
  354. package/select2/src/select2.module.d.ts +1 -1
  355. package/signature-pad/src/component/signature-pad.component.d.ts +1 -1
  356. package/signature-pad/src/index.d.ts +0 -1
  357. package/slugify/index.d.ts +0 -1
  358. package/slugify/src/slugify.pipe.d.ts +1 -1
  359. package/spinner/src/index.d.ts +0 -1
  360. package/spinner/src/spinner.component.d.ts +1 -1
  361. package/split-string/index.d.ts +0 -1
  362. package/split-string/src/split-string.pipe.d.ts +1 -1
  363. package/splitter/src/splitter.module.d.ts +1 -1
  364. package/tab-control/src/tab-control.module.d.ts +1 -1
  365. package/table/src/component/table.component.d.ts +1 -1
  366. package/table/src/index.d.ts +0 -1
  367. package/timepicker/src/index.d.ts +0 -1
  368. package/timepicker/src/timepicker.component.d.ts +1 -1
  369. package/toast/src/toast.module.d.ts +1 -1
  370. package/tooltip/src/tooltip.module.d.ts +1 -1
  371. package/trust-html/index.d.ts +0 -1
  372. package/trust-html/src/trust-html.pipe.d.ts +1 -1
  373. package/typeahead/src/index.d.ts +0 -1
  374. package/typeahead/src/typeahead.component.d.ts +1 -1
  375. package/uc-first/index.d.ts +0 -1
  376. package/uc-first/src/uc-first.pipe.d.ts +1 -1
  377. package/user-agent/src/directive/user-agent.directive.d.ts +1 -1
  378. package/user-agent/src/index.d.ts +0 -1
  379. package/word-count/index.d.ts +0 -1
  380. package/word-count/src/word-count.pipe.d.ts +1 -1
  381. package/async-host-binding/src/async-host-binding.module.d.ts +0 -7
  382. package/badge/src/badge.module.d.ts +0 -8
  383. package/button-group/src/button-group.module.d.ts +0 -8
  384. package/button-type/src/button-type/button-type.module.d.ts +0 -8
  385. package/calendar/src/calendar.module.d.ts +0 -12
  386. package/calendar-month/src/pipes/month-name/index.d.ts +0 -2
  387. package/calendar-month/src/pipes/month-name/month-name.module.d.ts +0 -8
  388. package/calendar-month/src/pipes/weekday-name/index.d.ts +0 -2
  389. package/calendar-month/src/pipes/weekday-name/weekday-name.module.d.ts +0 -8
  390. package/close/src/close.module.d.ts +0 -8
  391. package/code-snippet/src/code-snippet.module.d.ts +0 -11
  392. package/container/src/container.module.d.ts +0 -8
  393. package/copy/src/copy.module.d.ts +0 -8
  394. package/datepicker/src/datepicker.module.d.ts +0 -12
  395. package/dropdown-divider/src/dropdown-divider.module.d.ts +0 -8
  396. package/enhanced-paste/src/enhanced-paste.module.d.ts +0 -8
  397. package/esm2022/async-host-binding/src/async-host-binding.module.mjs +0 -32
  398. package/esm2022/badge/src/badge.module.mjs +0 -18
  399. package/esm2022/button-group/src/button-group.module.mjs +0 -18
  400. package/esm2022/button-type/src/button-type/button-type.module.mjs +0 -24
  401. package/esm2022/calendar/src/calendar.module.mjs +0 -43
  402. package/esm2022/calendar-month/src/pipes/month-name/index.mjs +0 -3
  403. package/esm2022/calendar-month/src/pipes/month-name/month-name.module.mjs +0 -24
  404. package/esm2022/calendar-month/src/pipes/weekday-name/index.mjs +0 -3
  405. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.module.mjs +0 -24
  406. package/esm2022/close/src/close.module.mjs +0 -18
  407. package/esm2022/code-snippet/src/code-snippet.module.mjs +0 -36
  408. package/esm2022/container/src/container.module.mjs +0 -18
  409. package/esm2022/copy/src/copy.module.mjs +0 -24
  410. package/esm2022/datepicker/src/datepicker.module.mjs +0 -40
  411. package/esm2022/dropdown-divider/src/dropdown-divider.module.mjs +0 -18
  412. package/esm2022/enhanced-paste/src/enhanced-paste.module.mjs +0 -24
  413. package/esm2022/floating-labels/src/floating-labels/floating-label/floating-label.component.mjs +0 -20
  414. package/esm2022/floating-labels/src/floating-labels/floating-labels.module.mjs +0 -18
  415. package/esm2022/font-color/src/font-color.module.mjs +0 -24
  416. package/esm2022/for/src/for.module.mjs +0 -24
  417. package/esm2022/has-overlay/src/has-overlay/has-overlay.module.mjs +0 -18
  418. package/esm2022/has-property/src/has-property.module.mjs +0 -18
  419. package/esm2022/in-list/src/in-list.module.mjs +0 -24
  420. package/esm2022/input-group/src/input-group.module.mjs +0 -18
  421. package/esm2022/lazy-loading/index.mjs +0 -2
  422. package/esm2022/lazy-loading/mintplayer-ng-bootstrap-lazy-loading.mjs +0 -5
  423. package/esm2022/lazy-loading/src/index.mjs +0 -3
  424. package/esm2022/lazy-loading/src/lazy-load/lazy-load.directive.mjs +0 -32
  425. package/esm2022/lazy-loading/src/lazy-loading.module.mjs +0 -24
  426. package/esm2022/let/let.module.mjs +0 -24
  427. package/esm2022/linify/src/linify.module.mjs +0 -18
  428. package/esm2022/markdown/src/markdown.module.mjs +0 -39
  429. package/esm2022/marquee/src/marquee.module.mjs +0 -18
  430. package/esm2022/navbar-toggler/src/navbar-toggler.module.mjs +0 -18
  431. package/esm2022/no-noscript/src/no-noscript.module.mjs +0 -18
  432. package/esm2022/ordinal-number/src/ordinal-number.module.mjs +0 -24
  433. package/esm2022/pagination/src/pagination.module.mjs +0 -28
  434. package/esm2022/playlist-toggler/src/playlist-toggler.module.mjs +0 -18
  435. package/esm2022/rating/src/rating.module.mjs +0 -24
  436. package/esm2022/signature-pad/src/signature-pad.module.mjs +0 -18
  437. package/esm2022/slugify/src/slugify.module.mjs +0 -18
  438. package/esm2022/spinner/src/spinner.module.mjs +0 -18
  439. package/esm2022/split-string/src/split-string.module.mjs +0 -18
  440. package/esm2022/table/src/table.module.mjs +0 -18
  441. package/esm2022/timepicker/src/timepicker.module.mjs +0 -56
  442. package/esm2022/track-by/index.mjs +0 -4
  443. package/esm2022/track-by/mintplayer-ng-bootstrap-track-by.mjs +0 -5
  444. package/esm2022/track-by/src/track-by-index.directive.mjs +0 -22
  445. package/esm2022/track-by/src/track-by.directive.mjs +0 -28
  446. package/esm2022/track-by/src/track-by.module.mjs +0 -19
  447. package/esm2022/trust-html/src/trust-html.module.mjs +0 -18
  448. package/esm2022/typeahead/src/typeahead.module.mjs +0 -48
  449. package/esm2022/uc-first/src/uc-first.module.mjs +0 -24
  450. package/esm2022/user-agent/src/user-agent.module.mjs +0 -24
  451. package/esm2022/word-count/src/word-count.module.mjs +0 -18
  452. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs +0 -60
  453. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs.map +0 -1
  454. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs +0 -67
  455. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs.map +0 -1
  456. package/floating-labels/src/floating-labels/floating-labels.module.d.ts +0 -8
  457. package/font-color/src/font-color.module.d.ts +0 -8
  458. package/for/src/for.module.d.ts +0 -8
  459. package/has-overlay/src/has-overlay/has-overlay.module.d.ts +0 -8
  460. package/has-property/src/has-property.module.d.ts +0 -8
  461. package/in-list/src/in-list.module.d.ts +0 -8
  462. package/input-group/src/input-group.module.d.ts +0 -8
  463. package/lazy-loading/index.d.ts +0 -1
  464. package/lazy-loading/src/index.d.ts +0 -2
  465. package/lazy-loading/src/lazy-load/lazy-load.directive.d.ts +0 -13
  466. package/lazy-loading/src/lazy-loading.module.d.ts +0 -8
  467. package/let/let.module.d.ts +0 -8
  468. package/linify/src/linify.module.d.ts +0 -8
  469. package/markdown/src/markdown.module.d.ts +0 -11
  470. package/marquee/src/marquee.module.d.ts +0 -8
  471. package/navbar-toggler/src/navbar-toggler.module.d.ts +0 -8
  472. package/no-noscript/src/no-noscript.module.d.ts +0 -8
  473. package/ordinal-number/src/ordinal-number.module.d.ts +0 -8
  474. package/pagination/src/pagination.module.d.ts +0 -9
  475. package/playlist-toggler/src/playlist-toggler.module.d.ts +0 -8
  476. package/rating/src/rating.module.d.ts +0 -8
  477. package/signature-pad/src/signature-pad.module.d.ts +0 -8
  478. package/slugify/src/slugify.module.d.ts +0 -8
  479. package/spinner/src/spinner.module.d.ts +0 -8
  480. package/split-string/src/split-string.module.d.ts +0 -8
  481. package/table/src/table.module.d.ts +0 -8
  482. package/timepicker/src/timepicker.module.d.ts +0 -16
  483. package/track-by/index.d.ts +0 -3
  484. package/track-by/src/track-by-index.directive.d.ts +0 -9
  485. package/track-by/src/track-by.directive.d.ts +0 -11
  486. package/track-by/src/track-by.module.d.ts +0 -9
  487. package/trust-html/src/trust-html.module.d.ts +0 -8
  488. package/typeahead/src/typeahead.module.d.ts +0 -14
  489. package/uc-first/src/uc-first.module.d.ts +0 -8
  490. package/user-agent/src/user-agent.module.d.ts +0 -8
  491. package/word-count/src/word-count.module.d.ts +0 -8
@@ -1,5 +1,5 @@
1
1
  import * as i1 from '@angular/common';
2
- import { isPlatformServer, CommonModule } from '@angular/common';
2
+ import { isPlatformServer, AsyncPipe, NgTemplateOutlet } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Directive, PLATFORM_ID, Component, Inject, Input, ViewChild, ContentChildren, forwardRef, HostBinding, HostListener, NgModule } from '@angular/core';
5
5
  import { FadeInOutAnimation } from '@mintplayer/ng-animations';
@@ -8,11 +8,9 @@ import * as i3 from '@mintplayer/ng-swiper';
8
8
  import { BsSwiperModule } from '@mintplayer/ng-swiper';
9
9
  import { BehaviorSubject, map } from 'rxjs';
10
10
  import * as i2 from '@mintplayer/ng-bootstrap/let';
11
- import { BsLetModule } from '@mintplayer/ng-bootstrap/let';
12
- import * as i4 from '@mintplayer/ng-bootstrap/track-by';
13
- import { BsTrackByModule } from '@mintplayer/ng-bootstrap/track-by';
14
- import * as i5 from '@mintplayer/ng-bootstrap/no-noscript';
15
- import { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';
11
+ import { BsLetDirective } from '@mintplayer/ng-bootstrap/let';
12
+ import * as i4 from '@mintplayer/ng-bootstrap/no-noscript';
13
+ import { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';
16
14
 
17
15
  class BsCarouselImageDirective {
18
16
  constructor(templateRef, carousel, element) {
@@ -137,11 +135,11 @@ class BsCarouselComponent {
137
135
  this.resizeObserver?.disconnect();
138
136
  }
139
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
140
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(() => BsCarouselImageDirective) }], viewQueries: [{ propertyName: "innerElement", first: true, predicate: ["innerElement"], descendants: true }, { propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i3.BsSwipeDirective, selector: "[bsSwipe]", inputs: ["offside"] }, { kind: "directive", type: i3.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i4.BsTrackByDirective, selector: "[ngForBsTrackBy]", inputs: ["ngForOf", "ngForBsTrackBy"] }, { kind: "directive", type: i5.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.1", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(() => BsCarouselImageDirective) }], viewQueries: [{ propertyName: "innerElement", first: true, predicate: ["innerElement"], descendants: true }, { propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </ng-container>\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i3.BsSwipeDirective, selector: "[bsSwipe]", inputs: ["offside"] }, { kind: "directive", type: i3.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i4.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] }); }
141
139
  }
142
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselComponent, decorators: [{
143
141
  type: Component,
144
- args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"] }]
142
+ args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </ng-container>\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"] }]
145
143
  }], ctorParameters: () => [{ type: undefined, decorators: [{
146
144
  type: Inject,
147
145
  args: [PLATFORM_ID]
@@ -192,18 +190,14 @@ class BsCarouselModule {
192
190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
193
191
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselModule, declarations: [BsCarouselComponent,
194
192
  BsCarouselImageDirective,
195
- BsCarouselImgDirective], imports: [CommonModule,
196
- BsLetModule,
193
+ BsCarouselImgDirective], imports: [AsyncPipe,
194
+ NgTemplateOutlet,
195
+ BsLetDirective,
197
196
  BsSwiperModule,
198
- BsTrackByModule,
199
- BsNoNoscriptModule], exports: [BsCarouselComponent,
197
+ BsNoNoscriptDirective], exports: [BsCarouselComponent,
200
198
  BsCarouselImageDirective,
201
199
  BsCarouselImgDirective] }); }
202
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselModule, imports: [CommonModule,
203
- BsLetModule,
204
- BsSwiperModule,
205
- BsTrackByModule,
206
- BsNoNoscriptModule] }); }
200
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselModule, imports: [BsSwiperModule] }); }
207
201
  }
208
202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselModule, decorators: [{
209
203
  type: NgModule,
@@ -214,11 +208,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
214
208
  BsCarouselImgDirective,
215
209
  ],
216
210
  imports: [
217
- CommonModule,
218
- BsLetModule,
211
+ AsyncPipe,
212
+ NgTemplateOutlet,
213
+ BsLetDirective,
219
214
  BsSwiperModule,
220
- BsTrackByModule,
221
- BsNoNoscriptModule
215
+ BsNoNoscriptDirective
222
216
  ],
223
217
  exports: [
224
218
  BsCarouselComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-carousel.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-image/carousel-image.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.html","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-img/carousel-img.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel.module.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/mintplayer-ng-bootstrap-carousel.ts"],"sourcesContent":["import { Directive, TemplateRef, ElementRef, HostBinding } from '@angular/core';\nimport { BsCarouselComponent } from '../carousel/carousel.component';\n\n@Directive({\n selector: '*[bsCarouselImage]'\n})\nexport class BsCarouselImageDirective {\n\n public itemTemplate: TemplateRef<any>;\n \n constructor(private templateRef: TemplateRef<any>, carousel: BsCarouselComponent, private element: ElementRef<HTMLElement>) {\n this.itemTemplate = this.templateRef;\n this.id = carousel.imageCounter++;\n }\n \n id: number;\n isFirst = false;\n}\n","import { isPlatformServer } from '@angular/common';\nimport { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, forwardRef, HostBinding, HostListener, Inject, Input, OnDestroy, PLATFORM_ID, QueryList, TemplateRef, ViewChild } from '@angular/core';\nimport { FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsSwipeContainerDirective } from '@mintplayer/ng-swiper';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Component({\n selector: 'bs-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [FadeInOutAnimation]\n})\nexport class BsCarouselComponent implements AfterViewInit, OnDestroy {\n\n constructor(@Inject(PLATFORM_ID) platformId: any, private cdRef: ChangeDetectorRef) {\n this.isServerSide = isPlatformServer(platformId);\n this.imageCount$ = this.images$.pipe(map((images) => images?.length ?? 0));\n this.firstImageTemplate$ = this.images$.pipe(map((images) => {\n if (!images) return null;\n if (images.length === 0) return null;\n\n const img = images.get(0);\n if (!img) return null;\n\n return img.itemTemplate;\n }));\n this.lastImageTemplate$ = this.images$.pipe(map((images) => {\n if (!images) return null;\n if (images.length === 0) return null;\n \n const img = images.get(images.length - 1);\n if (!img) return null;\n\n return img.itemTemplate;\n }));\n\n if (!isPlatformServer(platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n this.cdRef.detectChanges();\n });\n }\n }\n \n colors = Color;\n isServerSide: boolean;\n currentImageIndex = 0;\n images$ = new BehaviorSubject<QueryList<BsCarouselImageDirective> | null>(null);\n imageCount$: Observable<number>;\n firstImageTemplate$: Observable<TemplateRef<any> | null>;\n lastImageTemplate$: Observable<TemplateRef<any> | null>;\n resizeObserver?: ResizeObserver;\n\n @Input() indicators = false;\n @Input() keyboardEvents = true;\n\n @ViewChild('innerElement') innerElement!: ElementRef<HTMLDivElement>;\n @ViewChild('container') swipeContainer!: BsSwipeContainerDirective;\n @ContentChildren(forwardRef(() => BsCarouselImageDirective)) set images(value: QueryList<BsCarouselImageDirective>) {\n this.images$.next(value);\n value.forEach((item, index) => item.isFirst = (index === 0));\n }\n\n //#region Animation\n @HostBinding('@.disabled') public animationsDisabled = false;\n private _animation: 'fade' | 'slide' = 'slide';\n @Input() public set animation(value: 'fade' | 'slide') {\n this.animationsDisabled = true;\n this._animation = value;\n setTimeout(() => this.animationsDisabled = false, 20);\n setTimeout(() => this.cdRef.detectChanges(), 50);\n }\n public get animation() {\n return this._animation;\n }\n //#endregion\n\n @HostListener('document:keydown.ArrowLeft', ['$event'])\n @HostListener('document:keydown.ArrowRight', ['$event'])\n onKeyPress(ev: KeyboardEvent) {\n if (this.keyboardEvents) {\n switch (ev.key) {\n case 'ArrowLeft':\n this.previousImage();\n break;\n case 'ArrowRight':\n this.nextImage();\n break;\n }\n ev.preventDefault();\n }\n }\n\n previousImage() {\n switch (this.animation) {\n case 'fade':\n if (this.currentImageIndex > 0) {\n this.currentImageIndex--;\n } else {\n this.currentImageIndex = this.images$.value!.length - 1;\n }\n break;\n case 'slide':\n this.swipeContainer.previous();\n break;\n }\n }\n\n nextImage() {\n switch (this.animation) {\n case 'fade':\n if (this.currentImageIndex < this.images$.value!.length - 1) {\n this.currentImageIndex++;\n } else {\n this.currentImageIndex = 0;\n }\n break;\n case 'slide':\n this.swipeContainer.next();\n break;\n }\n }\n\n imageCounter = 1;\n\n ngAfterViewInit() {\n this.resizeObserver?.observe(this.innerElement.nativeElement);\n }\n\n ngOnDestroy() {\n this.resizeObserver?.unobserve(this.innerElement.nativeElement);\n this.resizeObserver?.disconnect();\n }\n}\n","<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>","import { Directive, HostBinding } from '@angular/core';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Directive({\n selector: 'img'\n})\nexport class BsCarouselImgDirective {\n constructor(image: BsCarouselImageDirective) {\n this.fetchPriority = (image && image.isFirst) ? 'high' : 'low';\n }\n \n @HostBinding('attr.fetch-priority') fetchPriority: 'high' | 'low' | 'auto';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwiperModule } from '@mintplayer/ng-swiper';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsTrackByModule } from '@mintplayer/ng-bootstrap/track-by';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsCarouselComponent } from './carousel/carousel.component';\nimport { BsCarouselImageDirective } from './carousel-image/carousel-image.directive';\nimport { BsCarouselImgDirective } from './carousel-img/carousel-img.directive';\n\n@NgModule({\n declarations: [\n BsCarouselComponent,\n BsCarouselImageDirective,\n BsCarouselImgDirective,\n ],\n imports: [\n CommonModule,\n BsLetModule,\n BsSwiperModule,\n BsTrackByModule,\n BsNoNoscriptModule\n ],\n exports: [\n BsCarouselComponent,\n BsCarouselImageDirective,\n BsCarouselImgDirective,\n ]\n})\nexport class BsCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsCarouselComponent","i1.BsCarouselImageDirective"],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-carousel.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-image/carousel-image.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.html","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-img/carousel-img.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel.module.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/mintplayer-ng-bootstrap-carousel.ts"],"sourcesContent":["import { Directive, TemplateRef, ElementRef, HostBinding } from '@angular/core';\nimport { BsCarouselComponent } from '../carousel/carousel.component';\n\n@Directive({\n selector: '*[bsCarouselImage]'\n})\nexport class BsCarouselImageDirective {\n\n public itemTemplate: TemplateRef<any>;\n \n constructor(private templateRef: TemplateRef<any>, carousel: BsCarouselComponent, private element: ElementRef<HTMLElement>) {\n this.itemTemplate = this.templateRef;\n this.id = carousel.imageCounter++;\n }\n \n id: number;\n isFirst = false;\n}\n","import { isPlatformServer } from '@angular/common';\nimport { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, forwardRef, HostBinding, HostListener, Inject, Input, OnDestroy, PLATFORM_ID, QueryList, TemplateRef, ViewChild } from '@angular/core';\nimport { FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsSwipeContainerDirective } from '@mintplayer/ng-swiper';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Component({\n selector: 'bs-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [FadeInOutAnimation]\n})\nexport class BsCarouselComponent implements AfterViewInit, OnDestroy {\n\n constructor(@Inject(PLATFORM_ID) platformId: any, private cdRef: ChangeDetectorRef) {\n this.isServerSide = isPlatformServer(platformId);\n this.imageCount$ = this.images$.pipe(map((images) => images?.length ?? 0));\n this.firstImageTemplate$ = this.images$.pipe(map((images) => {\n if (!images) return null;\n if (images.length === 0) return null;\n\n const img = images.get(0);\n if (!img) return null;\n\n return img.itemTemplate;\n }));\n this.lastImageTemplate$ = this.images$.pipe(map((images) => {\n if (!images) return null;\n if (images.length === 0) return null;\n \n const img = images.get(images.length - 1);\n if (!img) return null;\n\n return img.itemTemplate;\n }));\n\n if (!isPlatformServer(platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n this.cdRef.detectChanges();\n });\n }\n }\n \n colors = Color;\n isServerSide: boolean;\n currentImageIndex = 0;\n images$ = new BehaviorSubject<QueryList<BsCarouselImageDirective> | null>(null);\n imageCount$: Observable<number>;\n firstImageTemplate$: Observable<TemplateRef<any> | null>;\n lastImageTemplate$: Observable<TemplateRef<any> | null>;\n resizeObserver?: ResizeObserver;\n\n @Input() indicators = false;\n @Input() keyboardEvents = true;\n\n @ViewChild('innerElement') innerElement!: ElementRef<HTMLDivElement>;\n @ViewChild('container') swipeContainer!: BsSwipeContainerDirective;\n @ContentChildren(forwardRef(() => BsCarouselImageDirective)) set images(value: QueryList<BsCarouselImageDirective>) {\n this.images$.next(value);\n value.forEach((item, index) => item.isFirst = (index === 0));\n }\n\n //#region Animation\n @HostBinding('@.disabled') public animationsDisabled = false;\n private _animation: 'fade' | 'slide' = 'slide';\n @Input() public set animation(value: 'fade' | 'slide') {\n this.animationsDisabled = true;\n this._animation = value;\n setTimeout(() => this.animationsDisabled = false, 20);\n setTimeout(() => this.cdRef.detectChanges(), 50);\n }\n public get animation() {\n return this._animation;\n }\n //#endregion\n\n @HostListener('document:keydown.ArrowLeft', ['$event'])\n @HostListener('document:keydown.ArrowRight', ['$event'])\n onKeyPress(ev: KeyboardEvent) {\n if (this.keyboardEvents) {\n switch (ev.key) {\n case 'ArrowLeft':\n this.previousImage();\n break;\n case 'ArrowRight':\n this.nextImage();\n break;\n }\n ev.preventDefault();\n }\n }\n\n previousImage() {\n switch (this.animation) {\n case 'fade':\n if (this.currentImageIndex > 0) {\n this.currentImageIndex--;\n } else {\n this.currentImageIndex = this.images$.value!.length - 1;\n }\n break;\n case 'slide':\n this.swipeContainer.previous();\n break;\n }\n }\n\n nextImage() {\n switch (this.animation) {\n case 'fade':\n if (this.currentImageIndex < this.images$.value!.length - 1) {\n this.currentImageIndex++;\n } else {\n this.currentImageIndex = 0;\n }\n break;\n case 'slide':\n this.swipeContainer.next();\n break;\n }\n }\n\n imageCounter = 1;\n\n ngAfterViewInit() {\n this.resizeObserver?.observe(this.innerElement.nativeElement);\n }\n\n ngOnDestroy() {\n this.resizeObserver?.unobserve(this.innerElement.nativeElement);\n this.resizeObserver?.disconnect();\n }\n}\n","@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </ng-container>\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}","import { Directive, HostBinding } from '@angular/core';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Directive({\n selector: 'img'\n})\nexport class BsCarouselImgDirective {\n constructor(image: BsCarouselImageDirective) {\n this.fetchPriority = (image && image.isFirst) ? 'high' : 'low';\n }\n \n @HostBinding('attr.fetch-priority') fetchPriority: 'high' | 'low' | 'auto';\n}\n","import { NgModule } from '@angular/core';\nimport { BsSwiperModule } from '@mintplayer/ng-swiper';\nimport { BsLetDirective } from '@mintplayer/ng-bootstrap/let';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsCarouselComponent } from './carousel/carousel.component';\nimport { BsCarouselImageDirective } from './carousel-image/carousel-image.directive';\nimport { BsCarouselImgDirective } from './carousel-img/carousel-img.directive';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\n\n@NgModule({\n declarations: [\n BsCarouselComponent,\n BsCarouselImageDirective,\n BsCarouselImgDirective,\n ],\n imports: [\n AsyncPipe,\n NgTemplateOutlet,\n BsLetDirective,\n BsSwiperModule,\n BsNoNoscriptDirective\n ],\n exports: [\n BsCarouselComponent,\n BsCarouselImageDirective,\n BsCarouselImgDirective,\n ]\n})\nexport class BsCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsCarouselComponent","i1.BsCarouselImageDirective"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Output, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
2
+ import { EventEmitter, Component, Output } from '@angular/core';
4
3
 
5
4
  class BsCloseComponent {
6
5
  constructor() {
@@ -12,32 +11,18 @@ class BsCloseComponent {
12
11
  ev.stopImmediatePropagation();
13
12
  }
14
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCloseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCloseComponent, selector: "bs-close", outputs: { click: "click" }, ngImport: i0, template: "<button type=\"button\" (click)=\"onClose($event)\" class=\"btn-close\" aria-label=\"Close\"></button>", styles: [":host ::ng-deep .btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}:host ::ng-deep .btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}:host ::ng-deep .btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}:host ::ng-deep .btn-close:disabled,:host ::ng-deep .btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}:host ::ng-deep .btn-close-white{filter:var(--bs-btn-close-white-filter)}:host ::ng-deep [data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}\n"] }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCloseComponent, isStandalone: true, selector: "bs-close", outputs: { click: "click" }, ngImport: i0, template: "<button type=\"button\" (click)=\"onClose($event)\" class=\"btn-close\" aria-label=\"Close\"></button>", styles: [":host ::ng-deep .btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}:host ::ng-deep .btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}:host ::ng-deep .btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}:host ::ng-deep .btn-close:disabled,:host ::ng-deep .btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}:host ::ng-deep .btn-close-white{filter:var(--bs-btn-close-white-filter)}:host ::ng-deep [data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}\n"] }); }
16
15
  }
17
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCloseComponent, decorators: [{
18
17
  type: Component,
19
- args: [{ selector: 'bs-close', template: "<button type=\"button\" (click)=\"onClose($event)\" class=\"btn-close\" aria-label=\"Close\"></button>", styles: [":host ::ng-deep .btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}:host ::ng-deep .btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}:host ::ng-deep .btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}:host ::ng-deep .btn-close:disabled,:host ::ng-deep .btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}:host ::ng-deep .btn-close-white{filter:var(--bs-btn-close-white-filter)}:host ::ng-deep [data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}\n"] }]
18
+ args: [{ selector: 'bs-close', standalone: true, template: "<button type=\"button\" (click)=\"onClose($event)\" class=\"btn-close\" aria-label=\"Close\"></button>", styles: [":host ::ng-deep .btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}:host ::ng-deep .btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}:host ::ng-deep .btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}:host ::ng-deep .btn-close:disabled,:host ::ng-deep .btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}:host ::ng-deep .btn-close-white{filter:var(--bs-btn-close-white-filter)}:host ::ng-deep [data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}\n"] }]
20
19
  }], ctorParameters: () => [], propDecorators: { click: [{
21
20
  type: Output
22
21
  }] } });
23
22
 
24
- class BsCloseModule {
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCloseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsCloseModule, declarations: [BsCloseComponent], imports: [CommonModule], exports: [BsCloseComponent] }); }
27
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCloseModule, imports: [CommonModule] }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCloseModule, decorators: [{
30
- type: NgModule,
31
- args: [{
32
- declarations: [BsCloseComponent],
33
- imports: [CommonModule],
34
- exports: [BsCloseComponent],
35
- }]
36
- }] });
37
-
38
23
  /**
39
24
  * Generated bundle index. Do not edit.
40
25
  */
41
26
 
42
- export { BsCloseComponent, BsCloseModule };
27
+ export { BsCloseComponent };
43
28
  //# sourceMappingURL=mintplayer-ng-bootstrap-close.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-close.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/close/src/close.component.ts","../../../../libs/mintplayer-ng-bootstrap/close/src/close.component.html","../../../../libs/mintplayer-ng-bootstrap/close/src/close.module.ts","../../../../libs/mintplayer-ng-bootstrap/close/mintplayer-ng-bootstrap-close.ts"],"sourcesContent":["import { Component, EventEmitter, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'bs-close',\n templateUrl: './close.component.html',\n styleUrls: ['./close.component.scss'],\n})\nexport class BsCloseComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n\n @Output() click = new EventEmitter<any>();\n onClose(ev: MouseEvent) {\n this.click.emit();\n ev.stopImmediatePropagation();\n }\n}\n","<button type=\"button\" (click)=\"onClose($event)\" class=\"btn-close\" aria-label=\"Close\"></button>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsCloseComponent } from './close.component';\n\n@NgModule({\n declarations: [BsCloseComponent],\n imports: [CommonModule],\n exports: [BsCloseComponent],\n})\nexport class BsCloseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAOa,gBAAgB,CAAA;AAC3B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAO,CAAC;KAJ1B;AAEhB,IAAA,QAAQ,MAAW;AAGnB,IAAA,OAAO,CAAC,EAAc,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClB,EAAE,CAAC,wBAAwB,EAAE,CAAC;KAC/B;8GATU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,6ECP7B,wGAA8F,EAAA,MAAA,EAAA,CAAA,u9CAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDOjF,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,wGAAA,EAAA,MAAA,EAAA,CAAA,u9CAAA,CAAA,EAAA,CAAA;wDASV,KAAK,EAAA,CAAA;sBAAd,MAAM;;;MEHI,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAJT,YAAA,EAAA,CAAA,gBAAgB,CACrB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAHd,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-close.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/close/src/close.component.ts","../../../../libs/mintplayer-ng-bootstrap/close/src/close.component.html","../../../../libs/mintplayer-ng-bootstrap/close/mintplayer-ng-bootstrap-close.ts"],"sourcesContent":["import { Component, EventEmitter, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'bs-close',\n templateUrl: './close.component.html',\n styleUrls: ['./close.component.scss'],\n standalone: true\n})\nexport class BsCloseComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n\n @Output() click = new EventEmitter<any>();\n onClose(ev: MouseEvent) {\n this.click.emit();\n ev.stopImmediatePropagation();\n }\n}\n","<button type=\"button\" (click)=\"onClose($event)\" class=\"btn-close\" aria-label=\"Close\"></button>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAQa,gBAAgB,CAAA;AAC3B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAO,CAAC;KAJ1B;AAEhB,IAAA,QAAQ,MAAW;AAGnB,IAAA,OAAO,CAAC,EAAc,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClB,EAAE,CAAC,wBAAwB,EAAE,CAAC;KAC/B;8GATU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,iGCR7B,wGAA8F,EAAA,MAAA,EAAA,CAAA,u9CAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDQjF,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,IAAI,EAAA,QAAA,EAAA,wGAAA,EAAA,MAAA,EAAA,CAAA,u9CAAA,CAAA,EAAA,CAAA;wDAON,KAAK,EAAA,CAAA;sBAAd,MAAM;;;AEbT;;AAEG;;;;"}
@@ -1,12 +1,13 @@
1
+ import { AsyncPipe } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { Component, Input, ViewChild, NgModule } from '@angular/core';
3
- import * as i1 from '@mintplayer/ng-bootstrap/copy';
4
- import { BsCopyModule } from '@mintplayer/ng-bootstrap/copy';
5
- import * as i2 from '@mintplayer/ng-bootstrap/offcanvas';
3
+ import { EventEmitter, Component, Input, ViewChild, Output } from '@angular/core';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';
6
+ import * as i1 from '@mintplayer/ng-bootstrap/offcanvas';
6
7
  import { BsOffcanvasModule } from '@mintplayer/ng-bootstrap/offcanvas';
7
- import * as i3 from 'ngx-highlightjs';
8
+ import * as i2 from 'ngx-highlightjs';
8
9
  import { HighlightModule } from 'ngx-highlightjs';
9
- import { CommonModule } from '@angular/common';
10
+ import { BehaviorSubject } from 'rxjs';
10
11
 
11
12
  class BsCodeSnippetComponent {
12
13
  constructor() {
@@ -14,18 +15,25 @@ class BsCodeSnippetComponent {
14
15
  this.codeToCopy = '';
15
16
  this.languages = null;
16
17
  this.lineNumbers = false;
18
+ this.detectedLanguage = new EventEmitter();
19
+ this.language$ = new BehaviorSubject('code');
20
+ this.language$.pipe(takeUntilDestroyed())
21
+ .subscribe((language) => this.detectedLanguage.emit(language));
17
22
  }
18
23
  copiedHtml() {
19
24
  this.offcanvasVisible = true;
20
25
  setTimeout(() => this.offcanvasVisible = false, 3000);
21
26
  }
27
+ onHighlighted(result) {
28
+ this.language$.next(result.language ?? 'code');
29
+ }
22
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCodeSnippetComponent, selector: "bs-code-snippet", inputs: { codeToCopy: "codeToCopy", languages: "languages", lineNumbers: "lineNumbers" }, viewQueries: [{ propertyName: "copiedTemplate", first: true, predicate: ["copiedTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy html\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"], dependencies: [{ kind: "directive", type: i1.BsCopyDirective, selector: "[bsCopy]", inputs: ["bsCopy"], outputs: ["bsCopied"] }, { kind: "directive", type: i2.BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]" }, { kind: "component", type: i2.BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: ["isVisible", "position", "size", "hasBackdrop"], outputs: ["backdropClick", "isVisibleChange"] }, { kind: "directive", type: i3.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }] }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCodeSnippetComponent, isStandalone: true, selector: "bs-code-snippet", inputs: { codeToCopy: "codeToCopy", languages: "languages", lineNumbers: "lineNumbers" }, outputs: { detectedLanguage: "detectedLanguage" }, viewQueries: [{ propertyName: "copiedTemplate", first: true, predicate: ["copiedTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ language$ | async }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: BsCopyDirective, selector: "[bsCopy]", inputs: ["bsCopy"], outputs: ["bsCopied"] }, { kind: "ngmodule", type: BsOffcanvasModule }, { kind: "directive", type: i1.BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]" }, { kind: "component", type: i1.BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: ["isVisible", "position", "size", "hasBackdrop"], outputs: ["backdropClick", "isVisibleChange"] }, { kind: "ngmodule", type: HighlightModule }, { kind: "directive", type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }] }); }
24
32
  }
25
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetComponent, decorators: [{
26
34
  type: Component,
27
- args: [{ selector: 'bs-code-snippet', template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy html\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"] }]
28
- }], propDecorators: { codeToCopy: [{
35
+ args: [{ selector: 'bs-code-snippet', standalone: true, imports: [AsyncPipe, BsCopyDirective, BsOffcanvasModule, HighlightModule], template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ language$ | async }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"] }]
36
+ }], ctorParameters: () => [], propDecorators: { codeToCopy: [{
29
37
  type: Input
30
38
  }], languages: [{
31
39
  type: Input
@@ -34,40 +42,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
34
42
  }], copiedTemplate: [{
35
43
  type: ViewChild,
36
44
  args: ['copiedTemplate']
45
+ }], detectedLanguage: [{
46
+ type: Output
37
47
  }] } });
38
48
 
39
- class BsCodeSnippetModule {
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
41
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetModule, declarations: [BsCodeSnippetComponent], imports: [CommonModule,
42
- BsCopyModule,
43
- BsOffcanvasModule,
44
- HighlightModule], exports: [BsCodeSnippetComponent] }); }
45
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetModule, imports: [CommonModule,
46
- BsCopyModule,
47
- BsOffcanvasModule,
48
- HighlightModule] }); }
49
- }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetModule, decorators: [{
51
- type: NgModule,
52
- args: [{
53
- declarations: [
54
- BsCodeSnippetComponent
55
- ],
56
- imports: [
57
- CommonModule,
58
- BsCopyModule,
59
- BsOffcanvasModule,
60
- HighlightModule
61
- ],
62
- exports: [
63
- BsCodeSnippetComponent
64
- ]
65
- }]
66
- }] });
67
-
68
49
  /**
69
50
  * Generated bundle index. Do not edit.
70
51
  */
71
52
 
72
- export { BsCodeSnippetComponent, BsCodeSnippetModule };
53
+ export { BsCodeSnippetComponent };
73
54
  //# sourceMappingURL=mintplayer-ng-bootstrap-code-snippet.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-code-snippet.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.ts","../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.html","../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.module.ts","../../../../libs/mintplayer-ng-bootstrap/code-snippet/mintplayer-ng-bootstrap-code-snippet.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'bs-code-snippet',\n templateUrl: './code-snippet.component.html',\n styleUrls: ['./code-snippet.component.scss']\n})\nexport class BsCodeSnippetComponent {\n\n offcanvasVisible = false;\n @Input() public codeToCopy = '';\n @Input() public languages: string[] | null = null;\n @Input() public lineNumbers = false;\n @ViewChild('copiedTemplate') copiedTemplate!: TemplateRef<any>;\n\n copiedHtml() {\n this.offcanvasVisible = true;\n setTimeout(() => this.offcanvasVisible = false, 3000);\n }\n\n}\n","<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy html\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HighlightModule } from 'ngx-highlightjs';\nimport { BsCopyModule } from '@mintplayer/ng-bootstrap/copy';\nimport { BsOffcanvasModule } from '@mintplayer/ng-bootstrap/offcanvas';\nimport { BsCodeSnippetComponent } from './code-snippet.component';\n\n@NgModule({\n declarations: [\n BsCodeSnippetComponent\n ],\n imports: [\n CommonModule,\n BsCopyModule,\n BsOffcanvasModule,\n HighlightModule\n ],\n exports: [\n BsCodeSnippetComponent\n ]\n})\nexport class BsCodeSnippetModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-code-snippet.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.ts","../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.html","../../../../libs/mintplayer-ng-bootstrap/code-snippet/mintplayer-ng-bootstrap-code-snippet.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';\nimport { BsOffcanvasModule } from '@mintplayer/ng-bootstrap/offcanvas';\nimport { HighlightAutoResult, HighlightModule } from 'ngx-highlightjs';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'bs-code-snippet',\n templateUrl: './code-snippet.component.html',\n styleUrls: ['./code-snippet.component.scss'],\n standalone: true,\n imports: [AsyncPipe, BsCopyDirective, BsOffcanvasModule, HighlightModule]\n})\nexport class BsCodeSnippetComponent {\n\n constructor() {\n this.language$.pipe(takeUntilDestroyed())\n .subscribe((language) => this.detectedLanguage.emit(language));\n }\n\n offcanvasVisible = false;\n @Input() public codeToCopy = '';\n @Input() public languages: string[] | null = null;\n @Input() public lineNumbers = false;\n @ViewChild('copiedTemplate') copiedTemplate!: TemplateRef<any>;\n @Output() public detectedLanguage = new EventEmitter<string>();\n\n language$ = new BehaviorSubject<string>('code');\n\n copiedHtml() {\n this.offcanvasVisible = true;\n setTimeout(() => this.offcanvasVisible = false, 3000);\n }\n\n onHighlighted(result: HighlightAutoResult) {\n this.language$.next(result.language ?? 'code');\n }\n\n}\n","<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ language$ | async }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MAea,sBAAsB,CAAA;AAEjC,IAAA,WAAA,GAAA;QAKA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACT,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;QAChB,IAAS,CAAA,SAAA,GAAoB,IAAI,CAAC;QAClC,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAEnB,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAU,CAAC;AAE/D,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAS,MAAM,CAAC,CAAC;AAX9C,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACtC,aAAA,SAAS,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;KAClE;IAWD,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,gBAAgB,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;KACvD;AAED,IAAA,aAAa,CAAC,MAA2B,EAAA;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;KAChD;8GAvBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfnC,6pBAUM,EDGM,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,8CAAE,eAAe,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE7D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EAGf,IAAI,EAAA,OAAA,EACP,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,6pBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA;wDAUzD,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACuB,cAAc,EAAA,CAAA;sBAA1C,SAAS;uBAAC,gBAAgB,CAAA;gBACV,gBAAgB,EAAA,CAAA;sBAAhC,MAAM;;;AE3BT;;AAEG;;;;"}