@mintplayer/ng-bootstrap 17.0.3 → 17.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/calendar/src/calendar.component.d.ts +5 -1
  2. package/calendar/src/calendar.module.d.ts +5 -6
  3. package/esm2022/accordion/src/accordion/accordion.component.mjs +4 -4
  4. package/esm2022/accordion/src/accordion-tab/accordion-tab.component.mjs +4 -4
  5. package/esm2022/accordion/src/accordion-tab-header/accordion-tab-header.component.mjs +3 -3
  6. package/esm2022/accordion/src/accordion.module.mjs +4 -4
  7. package/esm2022/alert/src/alert/alert.component.mjs +3 -3
  8. package/esm2022/alert/src/alert-close/alert-close.component.mjs +3 -3
  9. package/esm2022/alert/src/alert.module.mjs +4 -4
  10. package/esm2022/async-host-binding/src/async-host-binding.module.mjs +4 -4
  11. package/esm2022/async-host-binding/src/bind-event.plugin.mjs +1 -1
  12. package/esm2022/badge/src/badge.component.mjs +3 -3
  13. package/esm2022/badge/src/badge.module.mjs +4 -4
  14. package/esm2022/breadcrumb/src/breadcrumb/breadcrumb.component.mjs +3 -3
  15. package/esm2022/breadcrumb/src/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  16. package/esm2022/breadcrumb/src/breadcrumb.module.mjs +4 -4
  17. package/esm2022/button-group/src/button-group/button-group.component.mjs +3 -3
  18. package/esm2022/button-group/src/button-group.module.mjs +4 -4
  19. package/esm2022/button-type/src/button-type/button-type.directive.mjs +3 -3
  20. package/esm2022/button-type/src/button-type/button-type.module.mjs +4 -4
  21. package/esm2022/calendar/src/calendar.component.mjs +20 -10
  22. package/esm2022/calendar/src/calendar.module.mjs +5 -9
  23. package/esm2022/calendar-month/src/pipes/month-name/month-name.module.mjs +4 -4
  24. package/esm2022/calendar-month/src/pipes/month-name/month-name.pipe.mjs +4 -4
  25. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.module.mjs +4 -4
  26. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +3 -3
  27. package/esm2022/calendar-month/src/service/calendar-month.service.mjs +4 -4
  28. package/esm2022/card/src/card/card.component.mjs +3 -3
  29. package/esm2022/card/src/card-header/card-header.component.mjs +3 -3
  30. package/esm2022/card/src/card.module.mjs +4 -4
  31. package/esm2022/carousel/src/carousel/carousel.component.mjs +4 -4
  32. package/esm2022/carousel/src/carousel-image/carousel-image.directive.mjs +3 -3
  33. package/esm2022/carousel/src/carousel-img/carousel-img.directive.mjs +3 -3
  34. package/esm2022/carousel/src/carousel.module.mjs +4 -4
  35. package/esm2022/close/src/close.component.mjs +3 -3
  36. package/esm2022/close/src/close.module.mjs +4 -4
  37. package/esm2022/code-snippet/src/code-snippet.component.mjs +3 -3
  38. package/esm2022/code-snippet/src/code-snippet.module.mjs +4 -4
  39. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  40. package/esm2022/color-picker/components/alpha-strip/alpha-strip.component.mjs +4 -4
  41. package/esm2022/color-picker/components/color-picker/color-picker.component.mjs +3 -3
  42. package/esm2022/color-picker/components/color-wheel/color-wheel.component.mjs +4 -4
  43. package/esm2022/color-picker/components/luminosity-strip/luminosity-strip.component.mjs +4 -4
  44. package/esm2022/color-picker/components/slider/slider.component.mjs +10 -10
  45. package/esm2022/color-picker/directives/color-picker-value-accessor/color-picker-value-accessor.directive.mjs +4 -4
  46. package/esm2022/container/src/container/container.component.mjs +3 -3
  47. package/esm2022/container/src/container.module.mjs +4 -4
  48. package/esm2022/context-menu/src/context-menu.directive.mjs +4 -4
  49. package/esm2022/context-menu/src/context-menu.module.mjs +4 -4
  50. package/esm2022/copy/src/copy.directive.mjs +4 -4
  51. package/esm2022/copy/src/copy.module.mjs +4 -4
  52. package/esm2022/datatable/src/datatable/datatable.component.mjs +4 -4
  53. package/esm2022/datatable/src/datatable-column/datatable-column.directive.mjs +3 -3
  54. package/esm2022/datatable/src/datatable-settings.mjs +1 -1
  55. package/esm2022/datatable/src/datatable.module.mjs +4 -4
  56. package/esm2022/datatable/src/row-template/row-template.directive.mjs +3 -3
  57. package/esm2022/datepicker/src/datepicker.component.mjs +3 -3
  58. package/esm2022/datepicker/src/datepicker.module.mjs +4 -4
  59. package/esm2022/dock/src/dock/dock.component.mjs +3 -3
  60. package/esm2022/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +5 -5
  61. package/esm2022/dock/src/dock-panel/dock-panel.component.mjs +3 -3
  62. package/esm2022/dock/src/dock-panel-header/dock-panel-header.component.mjs +4 -4
  63. package/esm2022/dock/src/dock.module.mjs +4 -4
  64. package/esm2022/dock/src/services/dock/dock.service.mjs +4 -4
  65. package/esm2022/dropdown/src/dropdown/dropdown.directive.mjs +4 -4
  66. package/esm2022/dropdown/src/dropdown-menu/dropdown-menu.directive.mjs +4 -4
  67. package/esm2022/dropdown/src/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
  68. package/esm2022/dropdown/src/dropdown.module.mjs +4 -4
  69. package/esm2022/dropdown-divider/src/dropdown-divider.directive.mjs +3 -3
  70. package/esm2022/dropdown-divider/src/dropdown-divider.module.mjs +4 -4
  71. package/esm2022/dropdown-menu/src/dropdown-item/dropdown-item.component.mjs +3 -3
  72. package/esm2022/dropdown-menu/src/dropdown-menu/dropdown-menu.component.mjs +4 -4
  73. package/esm2022/dropdown-menu/src/dropdown-menu.module.mjs +4 -4
  74. package/esm2022/enhanced-paste/src/directive/enhanced-paste.directive.mjs +4 -4
  75. package/esm2022/enhanced-paste/src/enhanced-paste.module.mjs +4 -4
  76. package/esm2022/enum/src/service/enum.service.mjs +3 -3
  77. package/esm2022/file-upload/src/component/file-upload.component.mjs +5 -5
  78. package/esm2022/file-upload/src/directive/file-upload-template.directive.mjs +3 -3
  79. package/esm2022/file-upload/src/file-upload.module.mjs +4 -4
  80. package/esm2022/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +4 -4
  81. package/esm2022/floating-labels/src/floating-labels/floating-label/floating-label.component.mjs +4 -4
  82. package/esm2022/floating-labels/src/floating-labels/floating-labels.module.mjs +4 -4
  83. package/esm2022/font-color/src/font-color.module.mjs +4 -4
  84. package/esm2022/font-color/src/font-color.pipe.mjs +4 -4
  85. package/esm2022/for/src/for.directive.mjs +4 -4
  86. package/esm2022/for/src/for.module.mjs +4 -4
  87. package/esm2022/form/src/form/form.component.mjs +3 -3
  88. package/esm2022/form/src/form-control/form-control.directive.mjs +3 -3
  89. package/esm2022/form/src/form-group/form-group.directive.mjs +3 -3
  90. package/esm2022/form/src/form.module.mjs +4 -4
  91. package/esm2022/grid/src/component/grid.component.mjs +4 -4
  92. package/esm2022/grid/src/directives/col-form-label/col-form-label.directive.mjs +3 -3
  93. package/esm2022/grid/src/directives/column/column.directive.mjs +4 -4
  94. package/esm2022/grid/src/directives/row/row.directive.mjs +3 -3
  95. package/esm2022/grid/src/grid.module.mjs +4 -4
  96. package/esm2022/has-overlay/src/has-overlay/has-overlay.component.mjs +4 -4
  97. package/esm2022/has-overlay/src/has-overlay/has-overlay.module.mjs +4 -4
  98. package/esm2022/has-property/src/has-property.module.mjs +4 -4
  99. package/esm2022/has-property/src/has-property.pipe.mjs +3 -3
  100. package/esm2022/in-list/src/in-list.module.mjs +4 -4
  101. package/esm2022/in-list/src/in-list.pipe.mjs +3 -3
  102. package/esm2022/input-group/src/input-group/input-group.component.mjs +3 -3
  103. package/esm2022/input-group/src/input-group.module.mjs +4 -4
  104. package/esm2022/instance-of/src/directives/instanceof-case.directive.mjs +4 -4
  105. package/esm2022/instance-of/src/directives/instanceof-default.directive.mjs +4 -4
  106. package/esm2022/instance-of/src/directives/instanceof.directive.mjs +4 -4
  107. package/esm2022/instance-of/src/directives/switch-view.mjs +1 -1
  108. package/esm2022/instance-of/src/instance-of.module.mjs +4 -4
  109. package/esm2022/instance-of/src/pipes/instance-of.pipe.mjs +3 -3
  110. package/esm2022/lazy-loading/src/lazy-load/lazy-load.directive.mjs +4 -4
  111. package/esm2022/lazy-loading/src/lazy-loading.module.mjs +4 -4
  112. package/esm2022/let/directive/let.directive.mjs +4 -4
  113. package/esm2022/let/let.module.mjs +4 -4
  114. package/esm2022/linify/src/linify.module.mjs +4 -4
  115. package/esm2022/linify/src/linify.pipe.mjs +3 -3
  116. package/esm2022/list-group/src/list-group/list-group.component.mjs +3 -3
  117. package/esm2022/list-group/src/list-group-item/list-group-item.component.mjs +3 -3
  118. package/esm2022/list-group/src/list-group.module.mjs +4 -4
  119. package/esm2022/markdown/src/bold/bold.pipe.mjs +4 -4
  120. package/esm2022/markdown/src/italic/italic.pipe.mjs +4 -4
  121. package/esm2022/markdown/src/markdown.module.mjs +4 -4
  122. package/esm2022/markdown/src/strikethrough/strikethrough.pipe.mjs +4 -4
  123. package/esm2022/markdown/src/underline/underline.pipe.mjs +4 -4
  124. package/esm2022/marquee/src/marquee/marquee.component.mjs +3 -3
  125. package/esm2022/marquee/src/marquee.module.mjs +4 -4
  126. package/esm2022/modal/src/components/modal/modal.component.mjs +5 -5
  127. package/esm2022/modal/src/components/modal-host/modal-host.component.mjs +4 -4
  128. package/esm2022/modal/src/directives/modal/modal.directive.mjs +3 -3
  129. package/esm2022/modal/src/directives/modal-body/modal-body.directive.mjs +3 -3
  130. package/esm2022/modal/src/directives/modal-close/modal-close.directive.mjs +3 -3
  131. package/esm2022/modal/src/directives/modal-footer/modal-footer.directive.mjs +3 -3
  132. package/esm2022/modal/src/directives/modal-header/modal-header.directive.mjs +3 -3
  133. package/esm2022/modal/src/modal.module.mjs +4 -4
  134. package/esm2022/multiselect/src/component/multiselect.component.mjs +4 -4
  135. package/esm2022/multiselect/src/directives/button-template/button-template.directive.mjs +3 -3
  136. package/esm2022/multiselect/src/directives/footer-template/footer-template.directive.mjs +3 -3
  137. package/esm2022/multiselect/src/directives/header-template/header-template.directive.mjs +3 -3
  138. package/esm2022/multiselect/src/multiselect.module.mjs +4 -4
  139. package/esm2022/navbar/src/dropdown-toggle/dropdown-toggle.directive.mjs +4 -4
  140. package/esm2022/navbar/src/expand-button/expand-button.directive.mjs +3 -3
  141. package/esm2022/navbar/src/nav-link/nav-link.directive.mjs +4 -4
  142. package/esm2022/navbar/src/navbar/navbar.component.mjs +4 -4
  143. package/esm2022/navbar/src/navbar-brand/navbar-brand.component.mjs +3 -3
  144. package/esm2022/navbar/src/navbar-content/navbar-content.directive.mjs +4 -4
  145. package/esm2022/navbar/src/navbar-dropdown/navbar-dropdown.component.mjs +4 -4
  146. package/esm2022/navbar/src/navbar-item/navbar-item.component.mjs +4 -4
  147. package/esm2022/navbar/src/navbar-nav/navbar-nav.component.mjs +4 -4
  148. package/esm2022/navbar/src/navbar.module.mjs +4 -4
  149. package/esm2022/navbar-toggler/src/navbar-toggler/navbar-toggler.component.mjs +5 -5
  150. package/esm2022/navbar-toggler/src/navbar-toggler.module.mjs +4 -4
  151. package/esm2022/navigation-lock/src/directive/navigation-lock.directive.mjs +4 -4
  152. package/esm2022/navigation-lock/src/guard/navigation-lock.guard.mjs +4 -4
  153. package/esm2022/navigation-lock/src/navigation-lock.module.mjs +4 -4
  154. package/esm2022/no-noscript/src/no-noscript/no-noscript.directive.mjs +4 -4
  155. package/esm2022/no-noscript/src/no-noscript.module.mjs +4 -4
  156. package/esm2022/offcanvas/src/components/offcanvas/offcanvas.component.mjs +5 -5
  157. package/esm2022/offcanvas/src/components/offcanvas-body/offcanvas-body.component.mjs +3 -3
  158. package/esm2022/offcanvas/src/components/offcanvas-header/offcanvas-header.component.mjs +3 -3
  159. package/esm2022/offcanvas/src/components/offcanvas-host/offcanvas-host.component.mjs +4 -4
  160. package/esm2022/offcanvas/src/directives/offcanvas-close/offcanvas-close.directive.mjs +3 -3
  161. package/esm2022/offcanvas/src/directives/offcanvas-content/offcanvas-content.directive.mjs +3 -3
  162. package/esm2022/offcanvas/src/directives/offcanvas-push/offcanvas-push.directive.mjs +4 -4
  163. package/esm2022/offcanvas/src/offcanvas.module.mjs +4 -4
  164. package/esm2022/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +3 -3
  165. package/esm2022/ordinal-number/src/ordinal-number.module.mjs +4 -4
  166. package/esm2022/pagination/src/component/pagination/pagination.component.mjs +4 -4
  167. package/esm2022/pagination/src/pagination.module.mjs +4 -4
  168. package/esm2022/placeholder/src/placeholder/placeholder.component.mjs +4 -4
  169. package/esm2022/placeholder/src/placeholder-field/placeholder-field.directive.mjs +3 -3
  170. package/esm2022/placeholder/src/placeholder.module.mjs +4 -4
  171. package/esm2022/playlist-toggler/src/playlist-toggler/playlist-toggler.component.mjs +5 -5
  172. package/esm2022/playlist-toggler/src/playlist-toggler.module.mjs +4 -4
  173. package/esm2022/popover/src/component/popover.component.mjs +4 -4
  174. package/esm2022/popover/src/directives/popover/popover.directive.mjs +8 -8
  175. package/esm2022/popover/src/directives/popover-body/popover-body.directive.mjs +3 -3
  176. package/esm2022/popover/src/directives/popover-header/popover-header.directive.mjs +3 -3
  177. package/esm2022/popover/src/popover.module.mjs +4 -4
  178. package/esm2022/progress-bar/src/progress/progress.component.mjs +3 -3
  179. package/esm2022/progress-bar/src/progress-bar/progress-bar.component.mjs +3 -3
  180. package/esm2022/progress-bar/src/progress-bar.module.mjs +4 -4
  181. package/esm2022/range/src/component/range.component.mjs +4 -4
  182. package/esm2022/range/src/range.module.mjs +4 -4
  183. package/esm2022/range/src/value-accessor/range-value-accessor.mjs +4 -4
  184. package/esm2022/rating/src/component/rating.component.mjs +3 -3
  185. package/esm2022/rating/src/rating.module.mjs +4 -4
  186. package/esm2022/resizable/src/resizable/resizable.component.mjs +4 -4
  187. package/esm2022/resizable/src/resizable.module.mjs +4 -4
  188. package/esm2022/resizable/src/resize-glyph/resize-glyph.directive.mjs +4 -4
  189. package/esm2022/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +17 -9
  190. package/esm2022/scheduler/src/components/scheduler/scheduler.component.mjs +21 -11
  191. package/esm2022/scheduler/src/constants/available-scales.mjs +9 -9
  192. package/esm2022/scheduler/src/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +3 -3
  193. package/esm2022/scheduler/src/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +3 -3
  194. package/esm2022/scheduler/src/pipes/date-offset/date-offset.pipe.mjs +3 -3
  195. package/esm2022/scheduler/src/pipes/day-of-week/day-of-week.pipe.mjs +4 -4
  196. package/esm2022/scheduler/src/scheduler.module.mjs +6 -10
  197. package/esm2022/scheduler/src/services/timeline/timeline.service.mjs +4 -4
  198. package/esm2022/scrollspy/src/component/scrollspy.component.mjs +4 -4
  199. package/esm2022/scrollspy/src/directives/scrollspy.directive.mjs +3 -3
  200. package/esm2022/scrollspy/src/scrollspy.module.mjs +4 -4
  201. package/esm2022/scrollspy/src/services/scroll-offset/scroll-offset.service.mjs +4 -4
  202. package/esm2022/searchbox/src/directives/enter-search-term.directive.mjs +3 -3
  203. package/esm2022/searchbox/src/directives/no-results.directive.mjs +3 -3
  204. package/esm2022/searchbox/src/directives/suggestion.directive.mjs +3 -3
  205. package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +21 -12
  206. package/esm2022/searchbox/src/searchbox.module.mjs +5 -9
  207. package/esm2022/select/src/component/select.component.mjs +4 -4
  208. package/esm2022/select/src/select.module.mjs +4 -4
  209. package/esm2022/select/src/value-accessors/select-value-accessor.mjs +7 -7
  210. package/esm2022/select2/src/component/select2.component.mjs +4 -4
  211. package/esm2022/select2/src/directive/item-template/item-template.directive.mjs +3 -3
  212. package/esm2022/select2/src/directive/suggestion-template/suggestion-template.directive.mjs +3 -3
  213. package/esm2022/select2/src/select2.module.mjs +4 -4
  214. package/esm2022/signature-pad/src/component/signature-pad.component.mjs +4 -4
  215. package/esm2022/signature-pad/src/signature-pad.module.mjs +4 -4
  216. package/esm2022/slugify/src/slugify.module.mjs +4 -4
  217. package/esm2022/slugify/src/slugify.pipe.mjs +3 -3
  218. package/esm2022/spinner/src/spinner.component.mjs +3 -3
  219. package/esm2022/spinner/src/spinner.module.mjs +4 -4
  220. package/esm2022/split-string/src/split-string.module.mjs +4 -4
  221. package/esm2022/split-string/src/split-string.pipe.mjs +3 -3
  222. package/esm2022/splitter/src/element-at/element-at.pipe.mjs +4 -4
  223. package/esm2022/splitter/src/split-panel/split-panel.component.mjs +3 -3
  224. package/esm2022/splitter/src/splitter/splitter.component.mjs +4 -4
  225. package/esm2022/splitter/src/splitter.module.mjs +4 -4
  226. package/esm2022/sticky-footer/src/sticky-footer/sticky-footer.component.mjs +4 -4
  227. package/esm2022/sticky-footer/src/sticky-footer-parent/sticky-footer-parent.directive.mjs +3 -3
  228. package/esm2022/sticky-footer/src/sticky-footer.module.mjs +4 -4
  229. package/esm2022/tab-control/src/tab-control/tab-control.component.mjs +4 -4
  230. package/esm2022/tab-control/src/tab-control.module.mjs +4 -4
  231. package/esm2022/tab-control/src/tab-page/tab-page.component.mjs +3 -3
  232. package/esm2022/tab-control/src/tab-page-header/tab-page-header.directive.mjs +3 -3
  233. package/esm2022/table/src/component/table.component.mjs +4 -4
  234. package/esm2022/table/src/table.module.mjs +4 -4
  235. package/esm2022/timepicker/src/timepicker.component.mjs +19 -12
  236. package/esm2022/timepicker/src/timepicker.module.mjs +5 -9
  237. package/esm2022/toast/src/components/toast/toast.component.mjs +3 -3
  238. package/esm2022/toast/src/components/toast-body/toast-body.component.mjs +3 -3
  239. package/esm2022/toast/src/components/toast-container/toast-container.component.mjs +3 -3
  240. package/esm2022/toast/src/components/toast-header/toast-header.component.mjs +3 -3
  241. package/esm2022/toast/src/directives/toast-close/toast-close.directive.mjs +4 -4
  242. package/esm2022/toast/src/pipes/add-properties.pipe.mjs +3 -3
  243. package/esm2022/toast/src/services/toast/toast.service.mjs +4 -4
  244. package/esm2022/toast/src/toast.module.mjs +4 -4
  245. package/esm2022/toggle-button/src/component/toggle-button.component.mjs +4 -4
  246. package/esm2022/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.mjs +3 -3
  247. package/esm2022/toggle-button/src/toggle-button.module.mjs +4 -4
  248. package/esm2022/toggle-button/src/value-accessor/toggle-button-value-accessor.mjs +4 -4
  249. package/esm2022/tooltip/src/component/tooltip.component.mjs +4 -4
  250. package/esm2022/tooltip/src/directive/tooltip.directive.mjs +8 -8
  251. package/esm2022/tooltip/src/tooltip.module.mjs +4 -4
  252. package/esm2022/track-by/src/track-by-index.directive.mjs +3 -3
  253. package/esm2022/track-by/src/track-by.directive.mjs +3 -3
  254. package/esm2022/track-by/src/track-by.module.mjs +4 -4
  255. package/esm2022/treeview/src/treeview/treeview.component.mjs +3 -3
  256. package/esm2022/treeview/src/treeview-item/treeview-item.component.mjs +16 -9
  257. package/esm2022/treeview/src/treeview.module.mjs +6 -7
  258. package/esm2022/trust-html/src/trust-html.module.mjs +4 -4
  259. package/esm2022/trust-html/src/trust-html.pipe.mjs +3 -3
  260. package/esm2022/typeahead/src/typeahead.component.mjs +4 -4
  261. package/esm2022/typeahead/src/typeahead.module.mjs +4 -4
  262. package/esm2022/uc-first/src/uc-first.module.mjs +4 -4
  263. package/esm2022/uc-first/src/uc-first.pipe.mjs +3 -3
  264. package/esm2022/user-agent/src/directive/user-agent.directive.mjs +4 -4
  265. package/esm2022/user-agent/src/user-agent.module.mjs +4 -4
  266. package/esm2022/word-count/src/word-count.module.mjs +4 -4
  267. package/esm2022/word-count/src/word-count.pipe.mjs +4 -4
  268. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +15 -15
  269. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  270. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +10 -10
  271. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs +4 -4
  272. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs.map +1 -1
  273. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +7 -7
  274. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +10 -10
  275. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +7 -7
  276. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +7 -7
  277. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +17 -17
  278. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  279. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +22 -17
  280. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  281. package/fesm2022/mintplayer-ng-bootstrap-card.mjs +10 -10
  282. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +13 -13
  283. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  284. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +7 -7
  285. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
  286. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +29 -29
  287. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  288. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +7 -7
  289. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
  290. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  291. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +7 -7
  292. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  293. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +13 -13
  294. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  295. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +7 -7
  296. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +20 -20
  297. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  298. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +7 -7
  299. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
  300. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  301. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +13 -13
  302. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  303. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +7 -7
  304. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  305. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs +3 -3
  306. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +14 -14
  307. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  308. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +7 -7
  309. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  310. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +7 -7
  311. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
  312. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +7 -7
  313. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  314. package/fesm2022/mintplayer-ng-bootstrap-form.mjs +13 -13
  315. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +16 -16
  316. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  317. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +8 -8
  318. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  319. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +7 -7
  320. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +7 -7
  321. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +7 -7
  322. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +16 -16
  323. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs.map +1 -1
  324. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs +7 -7
  325. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs.map +1 -1
  326. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +7 -7
  327. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  328. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +7 -7
  329. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +10 -10
  330. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +16 -16
  331. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  332. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +7 -7
  333. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +26 -26
  334. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  335. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +16 -16
  336. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  337. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +8 -8
  338. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  339. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +32 -32
  340. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  341. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +10 -10
  342. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
  343. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +7 -7
  344. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  345. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +27 -27
  346. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  347. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +7 -7
  348. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +8 -8
  349. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  350. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +11 -11
  351. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
  352. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +8 -8
  353. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  354. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +20 -20
  355. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  356. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +11 -11
  357. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +11 -11
  358. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  359. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +8 -8
  360. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +10 -10
  361. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  362. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +59 -47
  363. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  364. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +14 -14
  365. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  366. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +32 -28
  367. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  368. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +13 -13
  369. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  370. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +13 -13
  371. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  372. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +7 -7
  373. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  374. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +7 -7
  375. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +7 -7
  376. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +7 -7
  377. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +13 -13
  378. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
  379. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +10 -10
  380. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs.map +1 -1
  381. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +14 -14
  382. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  383. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +8 -8
  384. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  385. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +21 -19
  386. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  387. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +25 -25
  388. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  389. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +13 -13
  390. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  391. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +14 -14
  392. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  393. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs +10 -10
  394. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +21 -16
  395. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
  396. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +7 -7
  397. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +7 -7
  398. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  399. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +7 -7
  400. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +7 -7
  401. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  402. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +7 -7
  403. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
  404. package/package.json +7 -13
  405. package/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.d.ts +5 -1
  406. package/scheduler/src/components/scheduler/scheduler.component.d.ts +5 -1
  407. package/scheduler/src/scheduler.module.d.ts +1 -2
  408. package/searchbox/src/searchbox/searchbox.component.d.ts +5 -2
  409. package/searchbox/src/searchbox.module.d.ts +6 -7
  410. package/timepicker/src/timepicker.component.d.ts +4 -1
  411. package/timepicker/src/timepicker.module.d.ts +6 -7
  412. package/treeview/src/treeview-item/treeview-item.component.d.ts +4 -1
  413. package/treeview/src/treeview.module.d.ts +1 -2
  414. package/esm2022/icon/index.mjs +0 -3
  415. package/esm2022/icon/mintplayer-ng-bootstrap-icon.mjs +0 -5
  416. package/esm2022/icon/src/icon.component.mjs +0 -34
  417. package/esm2022/icon/src/icon.module.mjs +0 -18
  418. package/fesm2022/mintplayer-ng-bootstrap-icon.mjs +0 -56
  419. package/fesm2022/mintplayer-ng-bootstrap-icon.mjs.map +0 -1
  420. package/icon/index.d.ts +0 -2
  421. package/icon/src/icon.component.d.ts +0 -12
  422. package/icon/src/icon.module.d.ts +0 -8
@@ -1,14 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Component, Optional, ViewChild, Input, Output, Directive, NgModule } from '@angular/core';
3
- import * as i3 from '@angular/forms';
3
+ import * as i4 from '@angular/forms';
4
4
  import { FormsModule } from '@angular/forms';
5
- import * as i2 from '@angular/common';
5
+ import * as i3 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
- import * as i5 from '@mintplayer/ng-bootstrap/let';
7
+ import * as i6 from '@mintplayer/ng-bootstrap/let';
8
8
  import { BsLetModule } from '@mintplayer/ng-bootstrap/let';
9
- import * as i6 from '@mintplayer/ng-bootstrap/icon';
10
- import { BsIconModule } from '@mintplayer/ng-bootstrap/icon';
11
- import * as i4 from '@mintplayer/ng-focus-on-load';
9
+ import * as i5 from '@mintplayer/ng-focus-on-load';
12
10
  import { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';
13
11
  import * as i7 from '@mintplayer/ng-bootstrap/dropdown';
14
12
  import { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';
@@ -24,9 +22,12 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
24
22
  import { Color } from '@mintplayer/ng-bootstrap';
25
23
  import * as i1 from '@mintplayer/ng-bootstrap/form';
26
24
  import { BehaviorSubject, debounceTime } from 'rxjs';
25
+ import * as i2 from '@angular/platform-browser';
27
26
 
27
+ /// <reference types="../types" />
28
+ /// <reference types="../types" />
28
29
  class BsSearchboxComponent {
29
- constructor(bsForm) {
30
+ constructor(bsForm, sanitizer) {
30
31
  this.colors = Color;
31
32
  this.isBusy$ = new BehaviorSubject(false);
32
33
  //#region isOpen
@@ -51,6 +52,12 @@ class BsSearchboxComponent {
51
52
  this.provideSuggestions.emit(searchterm);
52
53
  }
53
54
  });
55
+ import('bootstrap-icons/icons/caret-up-fill.svg').then((icon) => {
56
+ this.caretUpFill = sanitizer.bypassSecurityTrustHtml(icon.default);
57
+ });
58
+ import('bootstrap-icons/icons/caret-down-fill.svg').then((icon) => {
59
+ this.caretDownFill = sanitizer.bypassSecurityTrustHtml(icon.default);
60
+ });
54
61
  }
55
62
  get isOpen() {
56
63
  return this._isOpen;
@@ -91,15 +98,15 @@ class BsSearchboxComponent {
91
98
  this.isOpen = false;
92
99
  this.searchterm = '';
93
100
  }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSearchboxComponent, deps: [{ token: i1.BsFormComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: BsSearchboxComponent, selector: "bs-searchbox", inputs: { isOpen: "isOpen", suggestions: "suggestions", selectedItem: "selectedItem", searchterm: "searchterm" }, outputs: { selectedItemChange: "selectedItemChange", provideSuggestions: "provideSuggestions" }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FocusOnLoadDirective, selector: "*[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "component", type: i6.BsIconComponent, selector: "bs-icon", inputs: ["icon"] }, { kind: "directive", type: i7.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i7.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { kind: "directive", type: i7.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: i8.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "component", type: i9.BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: i9.BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "directive", type: i10.BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: ["color"] }, { kind: "component", type: i11.BsProgressBarComponent, selector: "bs-progress-bar", inputs: ["minimum", "maximum", "value", "color", "striped", "animated"] }, { kind: "component", type: i11.BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSearchboxComponent, deps: [{ token: i1.BsFormComponent, optional: true }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsSearchboxComponent, selector: "bs-searchbox", inputs: { isOpen: "isOpen", suggestions: "suggestions", selectedItem: "selectedItem", searchterm: "searchterm" }, outputs: { selectedItemChange: "selectedItemChange", provideSuggestions: "provideSuggestions" }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <span [innerHTML]=\"isOpen ? caretUpFill : caretDownFill\" class=\"float-end\"></span>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.FocusOnLoadDirective, selector: "*[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i6.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i7.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i7.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { kind: "directive", type: i7.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: i8.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "component", type: i9.BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: i9.BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "directive", type: i10.BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: ["color"] }, { kind: "component", type: i11.BsProgressBarComponent, selector: "bs-progress-bar", inputs: ["minimum", "maximum", "value", "color", "striped", "animated"] }, { kind: "component", type: i11.BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
96
103
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSearchboxComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSearchboxComponent, decorators: [{
98
105
  type: Component,
99
- args: [{ selector: 'bs-searchbox', template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"] }]
106
+ args: [{ selector: 'bs-searchbox', template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <span [innerHTML]=\"isOpen ? caretUpFill : caretDownFill\" class=\"float-end\"></span>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"] }]
100
107
  }], ctorParameters: () => [{ type: i1.BsFormComponent, decorators: [{
101
108
  type: Optional
102
- }] }], propDecorators: { textbox: [{
109
+ }] }, { type: i2.DomSanitizer }], propDecorators: { textbox: [{
103
110
  type: ViewChild,
104
111
  args: ['textbox']
105
112
  }], isOpen: [{
@@ -120,10 +127,10 @@ class BsEnterSearchTermTemplateDirective {
120
127
  constructor(searchbox, template) {
121
128
  searchbox.enterSearchtermTemplate = template;
122
129
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsEnterSearchTermTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
124
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: BsEnterSearchTermTemplateDirective, selector: "[bsEnterSearchTermTemplate]", ngImport: i0 }); }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsEnterSearchTermTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
131
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsEnterSearchTermTemplateDirective, selector: "[bsEnterSearchTermTemplate]", ngImport: i0 }); }
125
132
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsEnterSearchTermTemplateDirective, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsEnterSearchTermTemplateDirective, decorators: [{
127
134
  type: Directive,
128
135
  args: [{
129
136
  selector: '[bsEnterSearchTermTemplate]',
@@ -141,10 +148,10 @@ class BsSuggestionTemplateDirective {
141
148
  set bsSuggestionTemplateOf(value) {
142
149
  this.searchbox.suggestions = value;
143
150
  }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSuggestionTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
145
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: BsSuggestionTemplateDirective, selector: "[bsSuggestionTemplate]", inputs: { bsSuggestionTemplateOf: "bsSuggestionTemplateOf" }, ngImport: i0 }); }
151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSuggestionTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
152
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsSuggestionTemplateDirective, selector: "[bsSuggestionTemplate]", inputs: { bsSuggestionTemplateOf: "bsSuggestionTemplateOf" }, ngImport: i0 }); }
146
153
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSuggestionTemplateDirective, decorators: [{
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSuggestionTemplateDirective, decorators: [{
148
155
  type: Directive,
149
156
  args: [{
150
157
  selector: '[bsSuggestionTemplate]',
@@ -163,10 +170,10 @@ class BsNoResultsTemplateDirective {
163
170
  constructor(searchbox, template) {
164
171
  searchbox.noResultsTemplate = template;
165
172
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsNoResultsTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
167
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: BsNoResultsTemplateDirective, selector: "[bsNoResultsTemplate]", ngImport: i0 }); }
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsNoResultsTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
174
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsNoResultsTemplateDirective, selector: "[bsNoResultsTemplate]", ngImport: i0 }); }
168
175
  }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsNoResultsTemplateDirective, decorators: [{
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsNoResultsTemplateDirective, decorators: [{
170
177
  type: Directive,
171
178
  args: [{
172
179
  selector: '[bsNoResultsTemplate]',
@@ -174,15 +181,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
174
181
  }], ctorParameters: () => [{ type: BsSearchboxComponent }, { type: i0.TemplateRef }] });
175
182
 
176
183
  class BsSearchboxModule {
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSearchboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
178
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsSearchboxModule, declarations: [BsSearchboxComponent,
184
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSearchboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
185
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSearchboxModule, declarations: [BsSearchboxComponent,
179
186
  BsEnterSearchTermTemplateDirective,
180
187
  BsSuggestionTemplateDirective,
181
188
  BsNoResultsTemplateDirective], imports: [CommonModule,
182
189
  FormsModule,
183
190
  FocusOnLoadModule,
184
191
  BsLetModule,
185
- BsIconModule,
186
192
  BsDropdownModule,
187
193
  BsDropdownMenuModule,
188
194
  BsButtonTypeModule,
@@ -191,18 +197,17 @@ class BsSearchboxModule {
191
197
  BsEnterSearchTermTemplateDirective,
192
198
  BsSuggestionTemplateDirective,
193
199
  BsNoResultsTemplateDirective] }); }
194
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSearchboxModule, imports: [CommonModule,
200
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSearchboxModule, imports: [CommonModule,
195
201
  FormsModule,
196
202
  FocusOnLoadModule,
197
203
  BsLetModule,
198
- BsIconModule,
199
204
  BsDropdownModule,
200
205
  BsDropdownMenuModule,
201
206
  BsButtonTypeModule,
202
207
  BsProgressBarModule,
203
208
  BsHasOverlayModule] }); }
204
209
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSearchboxModule, decorators: [{
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSearchboxModule, decorators: [{
206
211
  type: NgModule,
207
212
  args: [{
208
213
  declarations: [
@@ -216,7 +221,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
216
221
  FormsModule,
217
222
  FocusOnLoadModule,
218
223
  BsLetModule,
219
- BsIconModule,
220
224
  BsDropdownModule,
221
225
  BsDropdownMenuModule,
222
226
  BsButtonTypeModule,
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-searchbox.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.html","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/enter-search-term.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/suggestion.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/no-results.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox.module.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/mintplayer-ng-bootstrap-searchbox.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, Input, Optional, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsFormComponent } from '@mintplayer/ng-bootstrap/form';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BehaviorSubject, debounceTime } from 'rxjs';\nimport { BsSuggestionTemplateContext } from '../directives';\n\n@Component({\n selector: 'bs-searchbox',\n templateUrl: './searchbox.component.html',\n styleUrls: ['./searchbox.component.scss'],\n})\nexport class BsSearchboxComponent<T extends HasId<U>, U> {\n constructor(@Optional() bsForm: BsFormComponent) {\n if (!bsForm) {\n throw '<bs-searchbox> must be inside a <bs-form>';\n }\n\n this.searchterm$.pipe(debounceTime(200), takeUntilDestroyed()).subscribe((searchterm) => {\n if (searchterm === '') {\n this.suggestions = [];\n } else {\n this.isBusy$.next(true);\n this.provideSuggestions.emit(searchterm);\n }\n });\n }\n\n colors = Color;\n isBusy$ = new BehaviorSubject<boolean>(false);\n @ViewChild('textbox') textbox!: ElementRef<HTMLInputElement>;\n \n //#region isOpen\n private _isOpen = false;\n public get isOpen() {\n return this._isOpen;\n }\n @Input() public set isOpen(value: boolean) {\n const changed = (this._isOpen !== value);\n this._isOpen = value;\n if (changed && value) {\n setTimeout(() => this.textbox.nativeElement.setSelectionRange(0, -1), 20);\n }\n }\n //#endregion\n\n //#region suggestions\n private _suggestions: T[] = [];\n public get suggestions() {\n return this._suggestions;\n }\n @Input() public set suggestions(value: T[]) {\n this._suggestions = value;\n this.isBusy$.next(false);\n }\n //#endregion\n\n //#region selectedItem\n private _selectedItem?: T;\n public get selectedItem() {\n return this._selectedItem;\n }\n @Input() public set selectedItem(value: T | undefined) {\n this._selectedItem = value;\n this.selectedItemChange.emit(value);\n };\n @Output() selectedItemChange = new EventEmitter<T | undefined>();\n //#endregion\n\n //#region searchterm\n searchterm$ = new BehaviorSubject<string>('');\n public get searchterm() {\n return this.searchterm$.value;\n }\n @Input() public set searchterm(value: string) {\n this.searchterm$.next(value);\n }\n //#endregion\n\n suggestionTemplate?: TemplateRef<BsSuggestionTemplateContext<T, U>>;\n enterSearchtermTemplate?: TemplateRef<T>;\n noResultsTemplate?: TemplateRef<T>;\n @Output() provideSuggestions = new EventEmitter<string>();\n\n onSearchtermChange(searchterm: string) {\n this.searchterm$.next(searchterm);\n }\n\n onSuggestionClicked(suggestion: T) {\n this.selectedItem = suggestion;\n this.isOpen = false;\n this.searchterm = '';\n }\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsEnterSearchTermTemplate]',\n})\nexport class BsEnterSearchTermTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.enterSearchtermTemplate = template;\n }\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsSuggestionTemplate]',\n})\nexport class BsSuggestionTemplateDirective<TData extends HasId<U>, U> {\n constructor(private searchbox: BsSearchboxComponent<TData, U>, template: TemplateRef<BsSuggestionTemplateContext<TData, U>>) {\n searchbox.suggestionTemplate = template;\n }\n \n public static ngTemplateContextGuard<TData extends HasId<U>, U>(\n dir: BsSuggestionTemplateDirective<TData, U>,\n ctx: any\n ): ctx is BsSuggestionTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>, U> {\n return true;\n }\n\n @Input() set bsSuggestionTemplateOf(value: TData[]) {\n this.searchbox.suggestions = value;\n }\n}\n\nexport class BsSuggestionTemplateContext<TData extends HasId<U>, U> {\n public $implicit: TData = null!;\n public searchbox: BsSearchboxComponent<TData, U> = null!;\n}","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsNoResultsTemplate]',\n})\nexport class BsNoResultsTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.noResultsTemplate = template;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsIconModule } from '@mintplayer/ng-bootstrap/icon';\nimport { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { BsButtonTypeModule } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsSearchboxComponent } from './searchbox/searchbox.component';\nimport { BsEnterSearchTermTemplateDirective } from './directives/enter-search-term.directive';\nimport { BsSuggestionTemplateDirective } from './directives/suggestion.directive';\nimport { BsNoResultsTemplateDirective } from './directives/no-results.directive';\n\n@NgModule({\n declarations: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n imports: [\n CommonModule,\n FormsModule,\n FocusOnLoadModule,\n BsLetModule,\n BsIconModule,\n BsDropdownModule,\n BsDropdownMenuModule,\n BsButtonTypeModule,\n BsProgressBarModule,\n BsHasOverlayModule,\n ],\n exports: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n})\nexport class BsSearchboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSearchboxComponent"],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-searchbox.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.html","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/enter-search-term.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/suggestion.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/no-results.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox.module.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/mintplayer-ng-bootstrap-searchbox.ts"],"sourcesContent":["/// <reference types=\"../types\" />\n\nimport { Component, ElementRef, EventEmitter, Input, Optional, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsFormComponent } from '@mintplayer/ng-bootstrap/form';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BehaviorSubject, debounceTime } from 'rxjs';\nimport { BsSuggestionTemplateContext } from '../directives';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'bs-searchbox',\n templateUrl: './searchbox.component.html',\n styleUrls: ['./searchbox.component.scss'],\n})\nexport class BsSearchboxComponent<T extends HasId<U>, U> {\n constructor(@Optional() bsForm: BsFormComponent, sanitizer: DomSanitizer) {\n if (!bsForm) {\n throw '<bs-searchbox> must be inside a <bs-form>';\n }\n\n this.searchterm$.pipe(debounceTime(200), takeUntilDestroyed()).subscribe((searchterm) => {\n if (searchterm === '') {\n this.suggestions = [];\n } else {\n this.isBusy$.next(true);\n this.provideSuggestions.emit(searchterm);\n }\n });\n \n import('bootstrap-icons/icons/caret-up-fill.svg').then((icon) => {\n this.caretUpFill = sanitizer.bypassSecurityTrustHtml(icon.default);\n });\n import('bootstrap-icons/icons/caret-down-fill.svg').then((icon) => {\n this.caretDownFill = sanitizer.bypassSecurityTrustHtml(icon.default);\n });\n }\n\n caretUpFill?: SafeHtml;\n caretDownFill?: SafeHtml;\n colors = Color;\n isBusy$ = new BehaviorSubject<boolean>(false);\n @ViewChild('textbox') textbox!: ElementRef<HTMLInputElement>;\n \n //#region isOpen\n private _isOpen = false;\n public get isOpen() {\n return this._isOpen;\n }\n @Input() public set isOpen(value: boolean) {\n const changed = (this._isOpen !== value);\n this._isOpen = value;\n if (changed && value) {\n setTimeout(() => this.textbox.nativeElement.setSelectionRange(0, -1), 20);\n }\n }\n //#endregion\n\n //#region suggestions\n private _suggestions: T[] = [];\n public get suggestions() {\n return this._suggestions;\n }\n @Input() public set suggestions(value: T[]) {\n this._suggestions = value;\n this.isBusy$.next(false);\n }\n //#endregion\n\n //#region selectedItem\n private _selectedItem?: T;\n public get selectedItem() {\n return this._selectedItem;\n }\n @Input() public set selectedItem(value: T | undefined) {\n this._selectedItem = value;\n this.selectedItemChange.emit(value);\n };\n @Output() selectedItemChange = new EventEmitter<T | undefined>();\n //#endregion\n\n //#region searchterm\n searchterm$ = new BehaviorSubject<string>('');\n public get searchterm() {\n return this.searchterm$.value;\n }\n @Input() public set searchterm(value: string) {\n this.searchterm$.next(value);\n }\n //#endregion\n\n suggestionTemplate?: TemplateRef<BsSuggestionTemplateContext<T, U>>;\n enterSearchtermTemplate?: TemplateRef<T>;\n noResultsTemplate?: TemplateRef<T>;\n @Output() provideSuggestions = new EventEmitter<string>();\n\n onSearchtermChange(searchterm: string) {\n this.searchterm$.next(searchterm);\n }\n\n onSuggestionClicked(suggestion: T) {\n this.selectedItem = suggestion;\n this.isOpen = false;\n this.searchterm = '';\n }\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <span [innerHTML]=\"isOpen ? caretUpFill : caretDownFill\" class=\"float-end\"></span>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsEnterSearchTermTemplate]',\n})\nexport class BsEnterSearchTermTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.enterSearchtermTemplate = template;\n }\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsSuggestionTemplate]',\n})\nexport class BsSuggestionTemplateDirective<TData extends HasId<U>, U> {\n constructor(private searchbox: BsSearchboxComponent<TData, U>, template: TemplateRef<BsSuggestionTemplateContext<TData, U>>) {\n searchbox.suggestionTemplate = template;\n }\n \n public static ngTemplateContextGuard<TData extends HasId<U>, U>(\n dir: BsSuggestionTemplateDirective<TData, U>,\n ctx: any\n ): ctx is BsSuggestionTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>, U> {\n return true;\n }\n\n @Input() set bsSuggestionTemplateOf(value: TData[]) {\n this.searchbox.suggestions = value;\n }\n}\n\nexport class BsSuggestionTemplateContext<TData extends HasId<U>, U> {\n public $implicit: TData = null!;\n public searchbox: BsSearchboxComponent<TData, U> = null!;\n}","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsNoResultsTemplate]',\n})\nexport class BsNoResultsTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.noResultsTemplate = template;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { BsButtonTypeModule } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsSearchboxComponent } from './searchbox/searchbox.component';\nimport { BsEnterSearchTermTemplateDirective } from './directives/enter-search-term.directive';\nimport { BsSuggestionTemplateDirective } from './directives/suggestion.directive';\nimport { BsNoResultsTemplateDirective } from './directives/no-results.directive';\n\n@NgModule({\n declarations: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n imports: [\n CommonModule,\n FormsModule,\n FocusOnLoadModule,\n BsLetModule,\n BsDropdownModule,\n BsDropdownMenuModule,\n BsButtonTypeModule,\n BsProgressBarModule,\n BsHasOverlayModule,\n ],\n exports: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n})\nexport class BsSearchboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSearchboxComponent"],"mappings":"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"}
@@ -65,10 +65,10 @@ class BsSelectComponent {
65
65
  this.renderer.setProperty(this.selectBox.nativeElement, 'disabled', value);
66
66
  }
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: BsSelectComponent, selector: "bs-select", inputs: { identifier: "identifier", size: "size", multiple: "multiple", numberVisible: "numberVisible", disabled: "disabled" }, viewQueries: [{ propertyName: "selectBox", first: true, predicate: ["selectBox"], descendants: true }], ngImport: i0, template: "<select class=\"form-select\" #selectBox [class]=\"sizeClass$ | async\" [attr.multiple]=\"multipleValue$ | async\" [attr.size]=\"numberVisible$ | async\" aria-label=\"Default select example\">\n <ng-content></ng-content>\n</select>", styles: [":host ::ng-deep .form-select{--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .form-select{transition:none}}:host ::ng-deep .form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-select[multiple],:host ::ng-deep .form-select[size]:not([size=\"1\"]){padding-right:.75rem;background-image:none}:host ::ng-deep .form-select:disabled{background-color:var(--bs-secondary-bg)}:host ::ng-deep .form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}:host ::ng-deep .form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}:host ::ng-deep .form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}:host ::ng-deep [data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\")}\n"], dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsSelectComponent, selector: "bs-select", inputs: { identifier: "identifier", size: "size", multiple: "multiple", numberVisible: "numberVisible", disabled: "disabled" }, viewQueries: [{ propertyName: "selectBox", first: true, predicate: ["selectBox"], descendants: true }], ngImport: i0, template: "<select class=\"form-select\" #selectBox [class]=\"sizeClass$ | async\" [attr.multiple]=\"multipleValue$ | async\" [attr.size]=\"numberVisible$ | async\" aria-label=\"Default select example\">\n <ng-content></ng-content>\n</select>", styles: [":host ::ng-deep .form-select{--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .form-select{transition:none}}:host ::ng-deep .form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-select[multiple],:host ::ng-deep .form-select[size]:not([size=\"1\"]){padding-right:.75rem;background-image:none}:host ::ng-deep .form-select:disabled{background-color:var(--bs-secondary-bg)}:host ::ng-deep .form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}:host ::ng-deep .form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}:host ::ng-deep .form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}:host ::ng-deep [data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\")}\n"], dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectComponent, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectComponent, decorators: [{
72
72
  type: Component,
73
73
  args: [{ selector: 'bs-select', template: "<select class=\"form-select\" #selectBox [class]=\"sizeClass$ | async\" [attr.multiple]=\"multipleValue$ | async\" [attr.size]=\"numberVisible$ | async\" aria-label=\"Default select example\">\n <ng-content></ng-content>\n</select>", styles: [":host ::ng-deep .form-select{--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .form-select{transition:none}}:host ::ng-deep .form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-select[multiple],:host ::ng-deep .form-select[size]:not([size=\"1\"]){padding-right:.75rem;background-image:none}:host ::ng-deep .form-select:disabled{background-color:var(--bs-secondary-bg)}:host ::ng-deep .form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}:host ::ng-deep .form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}:host ::ng-deep .form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}:host ::ng-deep [data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\")}\n"] }]
74
74
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { identifier: [{
@@ -167,14 +167,14 @@ class BsSelectValueAccessor {
167
167
  const id = this.extractId(valueString);
168
168
  return this.optionMap.has(id) ? this.optionMap.get(id) : valueString;
169
169
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: BsSelectComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
171
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: BsSelectValueAccessor, selector: "bs-select", inputs: { compareWith: "compareWith" }, host: { listeners: { "change": "hostOnChange($event)", "blur": "hostBlur($event)" } }, providers: [{
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: BsSelectComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
171
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsSelectValueAccessor, selector: "bs-select", inputs: { compareWith: "compareWith" }, host: { listeners: { "change": "hostOnChange($event)", "blur": "hostBlur($event)" } }, providers: [{
172
172
  provide: NG_VALUE_ACCESSOR,
173
173
  useExisting: forwardRef(() => BsSelectValueAccessor),
174
174
  multi: true,
175
175
  }], ngImport: i0 }); }
176
176
  }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectValueAccessor, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectValueAccessor, decorators: [{
178
178
  type: Directive,
179
179
  args: [{
180
180
  selector: 'bs-select',
@@ -230,10 +230,10 @@ class BsSelectOption {
230
230
  this.select.writeValue(this.select.value);
231
231
  }
232
232
  }
233
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: BsSelectValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
234
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: BsSelectOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 }); }
233
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: BsSelectValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
234
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsSelectOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 }); }
235
235
  }
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectOption, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectOption, decorators: [{
237
237
  type: Directive,
238
238
  args: [{ selector: 'option' }]
239
239
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: BsSelectValueAccessor, decorators: [{
@@ -249,15 +249,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
249
249
  }] } });
250
250
 
251
251
  class BsSelectModule {
252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
253
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsSelectModule, declarations: [BsSelectComponent,
252
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
253
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSelectModule, declarations: [BsSelectComponent,
254
254
  BsSelectValueAccessor,
255
255
  BsSelectOption], imports: [CommonModule], exports: [BsSelectComponent,
256
256
  BsSelectValueAccessor,
257
257
  BsSelectOption] }); }
258
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectModule, imports: [CommonModule] }); }
258
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectModule, imports: [CommonModule] }); }
259
259
  }
260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelectModule, decorators: [{
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelectModule, decorators: [{
261
261
  type: NgModule,
262
262
  args: [{
263
263
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-select.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/select/src/component/select.component.ts","../../../../libs/mintplayer-ng-bootstrap/select/src/component/select.component.html","../../../../libs/mintplayer-ng-bootstrap/select/src/value-accessors/select-value-accessor.ts","../../../../libs/mintplayer-ng-bootstrap/select/src/select.module.ts","../../../../libs/mintplayer-ng-bootstrap/select/mintplayer-ng-bootstrap-select.ts"],"sourcesContent":["import { Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { BsSelectSize } from '../types/select-size';\n\n@Component({\n selector: 'bs-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n})\nexport class BsSelectComponent implements OnInit {\n constructor(private renderer: Renderer2) {\n this.sizeClass$ = this.size$.pipe(map((size) => {\n switch (size) {\n case 'sm':\n case 'lg':\n return `form-select-${size}`;\n default:\n return null;\n }\n }));\n\n this.multipleValue$ = this.multiple$.pipe(map((multiple) => {\n if (multiple) {\n return true;\n } else {\n return null;\n }\n }));\n }\n\n // For debugging purposes\n @Input() public identifier = 0;\n\n @ViewChild('selectBox') selectBox!: ElementRef<HTMLSelectElement>; \n\n ngOnInit(): void {}\n\n //#region Size\n size$ = new BehaviorSubject<BsSelectSize>('md');\n public get size() {\n return this.size$.value;\n }\n @Input() public set size(value: BsSelectSize) {\n this.size$.next(value);\n }\n //#endregion\n\n //#region Multiple\n multiple$ = new BehaviorSubject<boolean>(false);\n public get multiple() {\n return this.multiple$.value;\n }\n @Input() public set multiple(value: boolean) {\n this.multiple$.next(value);\n }\n //#endregion\n\n //#region NumberVisible\n numberVisible$ = new BehaviorSubject<number | null>(null);\n public get numberVisible() {\n return this.numberVisible$.value;\n }\n @Input() public set numberVisible(value: number | null) {\n this.numberVisible$.next(value);\n }\n //#endregion\n\n //#region Disabled\n public get disabled() {\n return this.selectBox!.nativeElement.disabled;\n }\n @Input() public set disabled(value: boolean) {\n if (this.selectBox) {\n this.renderer.setProperty(this.selectBox.nativeElement, 'disabled', value);\n }\n }\n //#endregion\n\n sizeClass$: Observable<string | null>;\n multipleValue$: Observable<boolean | null>;\n}\n","<select class=\"form-select\" #selectBox [class]=\"sizeClass$ | async\" [attr.multiple]=\"multipleValue$ | async\" [attr.size]=\"numberVisible$ | async\" aria-label=\"Default select example\">\n <ng-content></ng-content>\n</select>","import { Directive, ElementRef, forwardRef, Host, HostListener, Input, OnDestroy, Optional, Renderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { BsSelectComponent } from \"../component/select.component\";\n\n@Directive({\n selector: 'bs-select',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsSelectValueAccessor),\n multi: true,\n }],\n})\nexport class BsSelectValueAccessor implements ControlValueAccessor {\n constructor(private _renderer: Renderer2, private _elementRef: ElementRef, private selectBox: BsSelectComponent) {}\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n registerOnChange(fn: (p: any) => {}) {\n this.onChange = (valueString: string) => {\n // View -> Model\n this.value = this.getOptionValue(valueString);\n fn(this.value);\n // fn(valueString);\n };\n }\n setDisabledState(isDisabled: boolean): void {\n this.setProperty('disabled', isDisabled);\n }\n protected setProperty(key: string, value: any): void {\n // if (this._elementRef) {\n // this._renderer.setProperty(this._elementRef.nativeElement, key, value);\n // }\n if (this.selectBox.selectBox) {\n this._renderer.setProperty(this.selectBox.selectBox.nativeElement, key, value);\n }\n }\n\n @HostListener('change', ['$event']) hostOnChange(ev: InputEvent) {\n this.onChange((<any>ev.target).value);\n }\n\n @HostListener('blur', ['$event']) hostBlur(ev: Event) {\n this.onTouched();\n }\n\n value: any;\n optionMap = new Map<string, any>();\n idCounter = 0;\n\n private compareWithFunction: (value1: any, value2: any) => boolean = Object.is;\n @Input() set compareWith(value: (value1: any, value2: any) => boolean) {\n if (typeof value !== 'function') {\n throw new Error('compareWith must be a function');\n }\n this.compareWithFunction = value;\n }\n\n buildValueString(id: string | null, value: any) {\n if (id == null) {\n return `${value}`;\n }\n\n if (value && (typeof value === 'object')) {\n value = 'Object';\n }\n\n return `${id}: ${value}`.slice(0, 50);\n }\n\n extractId(valueString: string) {\n return valueString.split(':')[0];\n }\n\n writeValue(value: any) {\n this.value = value;\n // console.log(`WriteValue ${this.selectBox.identifier}`, value);\n\n const id = this.getOptionId(value);\n const valueString = this.buildValueString(id, value);\n this.setProperty('value', valueString);\n }\n\n registerOption() {\n return (this.idCounter++).toString();\n }\n\n getOptionId(value: any) {\n for (const id of Array.from(this.optionMap.keys())) {\n if (this.compareWithFunction(this.optionMap.get(id), value)) {\n return id;\n }\n }\n\n // This shouldn't happen\n // debugger;\n \n return null;\n }\n\n getOptionValue(valueString: string) {\n const id = this.extractId(valueString);\n return this.optionMap.has(id) ? this.optionMap.get(id) : valueString;\n }\n}\n\n@Directive({ selector: 'option' })\nexport class BsSelectOption implements OnDestroy {\n constructor(private element: ElementRef, private renderer: Renderer2, @Optional() @Host() private select: BsSelectValueAccessor) {\n if (this.select) {\n this.id = this.select.registerOption();\n }\n }\n \n id!: string;\n\n @Input('ngValue') set ngValue(value: any) {\n if (this.select) {\n this.select.optionMap.set(this.id, value);\n this.setElementValue(this.select.buildValueString(this.id, value));\n // console.log('ngValue', this.select.value);\n this.select.writeValue(this.select.value);\n }\n }\n\n @Input('value') set value(value: any) {\n this.setElementValue(value);\n if (this.select) {\n this.select.writeValue(this.select.value);\n }\n }\n\n setElementValue(value: string) {\n // console.log('setElementValue', value);\n // const nativeSelect = this.select['selectBox'].selectBox;\n // if (nativeSelect) {\n // this.renderer.setProperty(nativeSelect.nativeElement, 'value', value);\n // }\n this.renderer.setProperty(this.element.nativeElement, 'value', value);\n }\n\n ngOnDestroy() {\n if (this.select) {\n this.select.optionMap.delete(this.id);\n this.select.writeValue(this.select.value);\n }\n }\n}\n\n// @Directive({\n// selector: 'bs-select',\n// providers: [{\n// provide: NG_VALUE_ACCESSOR,\n// useExisting: forwardRef(() => BsSelectValueAccessor),\n// multi: true,\n// }],\n// })\n// export class BsSelectValueAccessor implements ControlValueAccessor, AfterViewInit, OnDestroy {\n// constructor(private host: BsSelectComponent) {}\n\n// destroyed$ = new Subject();\n\n// onValueChange?: (value: any) => void;\n// onTouched?: () => void;\n\n// //#region Lifecycle hooks\n// ngAfterViewInit() {\n// fromEvent(this.host.selectBox.nativeElement, 'change')\n// .pipe(takeUntil(this.destroyed$))\n// .subscribe((ev) => {\n// if (this.onValueChange) {\n// const val = (<HTMLSelectElement>ev.target).value;\n// console.log('selected', val);\n// this.onValueChange(val);\n// }\n// });\n// }\n\n// ngOnDestroy() {\n// this.destroyed$.next(true);\n// }\n// //#endregion\n\n// @Input('ngValue') set ngValue(value: any) {\n// if (this.host) {\n// this.host.opt\n// }\n// }\n\n// //#region OptionId mapping\n// private compareWithFunction: (value1: any, value2: any) => boolean = Object.is;\n// private optionMap = new Map<string, any>();\n// @Input() public set compareWith(fn: (value1: any, value2: any) => boolean) {\n// if (typeof fn !== 'function') {\n// throw new Error('compareWith must be a function');\n// }\n// this.compareWithFunction = fn;\n// }\n\n// private getOptionId(value: any) {\n// for (const id of Array.from(this.optionMap.keys())) {\n// if (this.compareWith(this.optionMap.get(id), value)) {\n// return id;\n// }\n// }\n// return null;\n// }\n\n// private getOptionValue(valueString: string) {\n// const id = this.extractId(valueString);\n// return this.optionMap.has(id) ? this.optionMap.get(id) : valueString;\n// }\n\n// private extractId(valueString: string) {\n// return valueString.split(':')[0];\n// }\n// //#endregion\n\n// //#region ControlValueAccessor implementation\n// registerOnChange(fn: (_: any) => void) {\n// this.onValueChange = (valueString: string) => {\n// this.value = this.getOptionValue(valueString);\n// fn(this.value);\n// };\n// }\n \n// registerOnTouched(fn: () => void) {\n// this.onTouched = fn;\n// }\n\n// value: any;\n// writeValue(value: any) {\n// this.value = value;\n// if (this.host.selectBox) {\n// // this.host.selectBox.nativeElement.selectedIndex = this.host.selectBox.nativeElement.options.item();\n// }\n// }\n\n// setDisabledState(isDisabled: boolean) {\n// if (this.host.selectBox) {\n// this.host.selectBox.nativeElement.disabled = isDisabled;\n// }\n// }\n// //#endregion\n\n// }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSelectComponent } from './component/select.component';\nimport { BsSelectValueAccessor, BsSelectOption } from './value-accessors/select-value-accessor';\n\n@NgModule({\n declarations: [\n BsSelectComponent,\n BsSelectValueAccessor,\n BsSelectOption\n ],\n imports: [CommonModule],\n exports: [\n BsSelectComponent,\n BsSelectValueAccessor,\n BsSelectOption\n ],\n})\nexport class BsSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSelectComponent"],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-select.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/select/src/component/select.component.ts","../../../../libs/mintplayer-ng-bootstrap/select/src/component/select.component.html","../../../../libs/mintplayer-ng-bootstrap/select/src/value-accessors/select-value-accessor.ts","../../../../libs/mintplayer-ng-bootstrap/select/src/select.module.ts","../../../../libs/mintplayer-ng-bootstrap/select/mintplayer-ng-bootstrap-select.ts"],"sourcesContent":["import { Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { BsSelectSize } from '../types/select-size';\n\n@Component({\n selector: 'bs-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n})\nexport class BsSelectComponent implements OnInit {\n constructor(private renderer: Renderer2) {\n this.sizeClass$ = this.size$.pipe(map((size) => {\n switch (size) {\n case 'sm':\n case 'lg':\n return `form-select-${size}`;\n default:\n return null;\n }\n }));\n\n this.multipleValue$ = this.multiple$.pipe(map((multiple) => {\n if (multiple) {\n return true;\n } else {\n return null;\n }\n }));\n }\n\n // For debugging purposes\n @Input() public identifier = 0;\n\n @ViewChild('selectBox') selectBox!: ElementRef<HTMLSelectElement>; \n\n ngOnInit(): void {}\n\n //#region Size\n size$ = new BehaviorSubject<BsSelectSize>('md');\n public get size() {\n return this.size$.value;\n }\n @Input() public set size(value: BsSelectSize) {\n this.size$.next(value);\n }\n //#endregion\n\n //#region Multiple\n multiple$ = new BehaviorSubject<boolean>(false);\n public get multiple() {\n return this.multiple$.value;\n }\n @Input() public set multiple(value: boolean) {\n this.multiple$.next(value);\n }\n //#endregion\n\n //#region NumberVisible\n numberVisible$ = new BehaviorSubject<number | null>(null);\n public get numberVisible() {\n return this.numberVisible$.value;\n }\n @Input() public set numberVisible(value: number | null) {\n this.numberVisible$.next(value);\n }\n //#endregion\n\n //#region Disabled\n public get disabled() {\n return this.selectBox!.nativeElement.disabled;\n }\n @Input() public set disabled(value: boolean) {\n if (this.selectBox) {\n this.renderer.setProperty(this.selectBox.nativeElement, 'disabled', value);\n }\n }\n //#endregion\n\n sizeClass$: Observable<string | null>;\n multipleValue$: Observable<boolean | null>;\n}\n","<select class=\"form-select\" #selectBox [class]=\"sizeClass$ | async\" [attr.multiple]=\"multipleValue$ | async\" [attr.size]=\"numberVisible$ | async\" aria-label=\"Default select example\">\n <ng-content></ng-content>\n</select>","import { Directive, ElementRef, forwardRef, Host, HostListener, Input, OnDestroy, Optional, Renderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { BsSelectComponent } from \"../component/select.component\";\n\n@Directive({\n selector: 'bs-select',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsSelectValueAccessor),\n multi: true,\n }],\n})\nexport class BsSelectValueAccessor implements ControlValueAccessor {\n constructor(private _renderer: Renderer2, private _elementRef: ElementRef, private selectBox: BsSelectComponent) {}\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n registerOnChange(fn: (p: any) => {}) {\n this.onChange = (valueString: string) => {\n // View -> Model\n this.value = this.getOptionValue(valueString);\n fn(this.value);\n // fn(valueString);\n };\n }\n setDisabledState(isDisabled: boolean): void {\n this.setProperty('disabled', isDisabled);\n }\n protected setProperty(key: string, value: any): void {\n // if (this._elementRef) {\n // this._renderer.setProperty(this._elementRef.nativeElement, key, value);\n // }\n if (this.selectBox.selectBox) {\n this._renderer.setProperty(this.selectBox.selectBox.nativeElement, key, value);\n }\n }\n\n @HostListener('change', ['$event']) hostOnChange(ev: InputEvent) {\n this.onChange((<any>ev.target).value);\n }\n\n @HostListener('blur', ['$event']) hostBlur(ev: Event) {\n this.onTouched();\n }\n\n value: any;\n optionMap = new Map<string, any>();\n idCounter = 0;\n\n private compareWithFunction: (value1: any, value2: any) => boolean = Object.is;\n @Input() set compareWith(value: (value1: any, value2: any) => boolean) {\n if (typeof value !== 'function') {\n throw new Error('compareWith must be a function');\n }\n this.compareWithFunction = value;\n }\n\n buildValueString(id: string | null, value: any) {\n if (id == null) {\n return `${value}`;\n }\n\n if (value && (typeof value === 'object')) {\n value = 'Object';\n }\n\n return `${id}: ${value}`.slice(0, 50);\n }\n\n extractId(valueString: string) {\n return valueString.split(':')[0];\n }\n\n writeValue(value: any) {\n this.value = value;\n // console.log(`WriteValue ${this.selectBox.identifier}`, value);\n\n const id = this.getOptionId(value);\n const valueString = this.buildValueString(id, value);\n this.setProperty('value', valueString);\n }\n\n registerOption() {\n return (this.idCounter++).toString();\n }\n\n getOptionId(value: any) {\n for (const id of Array.from(this.optionMap.keys())) {\n if (this.compareWithFunction(this.optionMap.get(id), value)) {\n return id;\n }\n }\n\n // This shouldn't happen\n // debugger;\n \n return null;\n }\n\n getOptionValue(valueString: string) {\n const id = this.extractId(valueString);\n return this.optionMap.has(id) ? this.optionMap.get(id) : valueString;\n }\n}\n\n@Directive({ selector: 'option' })\nexport class BsSelectOption implements OnDestroy {\n constructor(private element: ElementRef, private renderer: Renderer2, @Optional() @Host() private select: BsSelectValueAccessor) {\n if (this.select) {\n this.id = this.select.registerOption();\n }\n }\n \n id!: string;\n\n @Input('ngValue') set ngValue(value: any) {\n if (this.select) {\n this.select.optionMap.set(this.id, value);\n this.setElementValue(this.select.buildValueString(this.id, value));\n // console.log('ngValue', this.select.value);\n this.select.writeValue(this.select.value);\n }\n }\n\n @Input('value') set value(value: any) {\n this.setElementValue(value);\n if (this.select) {\n this.select.writeValue(this.select.value);\n }\n }\n\n setElementValue(value: string) {\n // console.log('setElementValue', value);\n // const nativeSelect = this.select['selectBox'].selectBox;\n // if (nativeSelect) {\n // this.renderer.setProperty(nativeSelect.nativeElement, 'value', value);\n // }\n this.renderer.setProperty(this.element.nativeElement, 'value', value);\n }\n\n ngOnDestroy() {\n if (this.select) {\n this.select.optionMap.delete(this.id);\n this.select.writeValue(this.select.value);\n }\n }\n}\n\n// @Directive({\n// selector: 'bs-select',\n// providers: [{\n// provide: NG_VALUE_ACCESSOR,\n// useExisting: forwardRef(() => BsSelectValueAccessor),\n// multi: true,\n// }],\n// })\n// export class BsSelectValueAccessor implements ControlValueAccessor, AfterViewInit, OnDestroy {\n// constructor(private host: BsSelectComponent) {}\n\n// destroyed$ = new Subject();\n\n// onValueChange?: (value: any) => void;\n// onTouched?: () => void;\n\n// //#region Lifecycle hooks\n// ngAfterViewInit() {\n// fromEvent(this.host.selectBox.nativeElement, 'change')\n// .pipe(takeUntil(this.destroyed$))\n// .subscribe((ev) => {\n// if (this.onValueChange) {\n// const val = (<HTMLSelectElement>ev.target).value;\n// console.log('selected', val);\n// this.onValueChange(val);\n// }\n// });\n// }\n\n// ngOnDestroy() {\n// this.destroyed$.next(true);\n// }\n// //#endregion\n\n// @Input('ngValue') set ngValue(value: any) {\n// if (this.host) {\n// this.host.opt\n// }\n// }\n\n// //#region OptionId mapping\n// private compareWithFunction: (value1: any, value2: any) => boolean = Object.is;\n// private optionMap = new Map<string, any>();\n// @Input() public set compareWith(fn: (value1: any, value2: any) => boolean) {\n// if (typeof fn !== 'function') {\n// throw new Error('compareWith must be a function');\n// }\n// this.compareWithFunction = fn;\n// }\n\n// private getOptionId(value: any) {\n// for (const id of Array.from(this.optionMap.keys())) {\n// if (this.compareWith(this.optionMap.get(id), value)) {\n// return id;\n// }\n// }\n// return null;\n// }\n\n// private getOptionValue(valueString: string) {\n// const id = this.extractId(valueString);\n// return this.optionMap.has(id) ? this.optionMap.get(id) : valueString;\n// }\n\n// private extractId(valueString: string) {\n// return valueString.split(':')[0];\n// }\n// //#endregion\n\n// //#region ControlValueAccessor implementation\n// registerOnChange(fn: (_: any) => void) {\n// this.onValueChange = (valueString: string) => {\n// this.value = this.getOptionValue(valueString);\n// fn(this.value);\n// };\n// }\n \n// registerOnTouched(fn: () => void) {\n// this.onTouched = fn;\n// }\n\n// value: any;\n// writeValue(value: any) {\n// this.value = value;\n// if (this.host.selectBox) {\n// // this.host.selectBox.nativeElement.selectedIndex = this.host.selectBox.nativeElement.options.item();\n// }\n// }\n\n// setDisabledState(isDisabled: boolean) {\n// if (this.host.selectBox) {\n// this.host.selectBox.nativeElement.disabled = isDisabled;\n// }\n// }\n// //#endregion\n\n// }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSelectComponent } from './component/select.component';\nimport { BsSelectValueAccessor, BsSelectOption } from './value-accessors/select-value-accessor';\n\n@NgModule({\n declarations: [\n BsSelectComponent,\n BsSelectValueAccessor,\n BsSelectOption\n ],\n imports: [CommonModule],\n exports: [\n BsSelectComponent,\n BsSelectValueAccessor,\n BsSelectOption\n ],\n})\nexport class BsSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSelectComponent"],"mappings":";;;;;;;MASa,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAoB,QAAmB,EAAA;QAAnB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;;QAqBvB,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;;AAO/B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,eAAe,CAAe,IAAI,CAAC,CAAC;;;AAUhD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;;;AAUhD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAgB,IAAI,CAAC,CAAC;AA/CxD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;YAC7C,QAAQ,IAAI;AACV,gBAAA,KAAK,IAAI,CAAC;AACV,gBAAA,KAAK,IAAI;oBACP,OAAO,CAAA,YAAA,EAAe,IAAI,CAAA,CAAE,CAAC;AAC/B,gBAAA;AACE,oBAAA,OAAO,IAAI,CAAC;aACf;SACF,CAAC,CAAC,CAAC;AAEJ,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAI;YACzD,IAAI,QAAQ,EAAE;AACZ,gBAAA,OAAO,IAAI,CAAC;aACb;iBAAM;AACL,gBAAA,OAAO,IAAI,CAAC;aACb;SACF,CAAC,CAAC,CAAC;KACL;AAOD,IAAA,QAAQ,MAAW;AAInB,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;KACzB;IACD,IAAoB,IAAI,CAAC,KAAmB,EAAA;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;AAKD,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC7B;IACD,IAAoB,QAAQ,CAAC,KAAc,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;AAKD,IAAA,IAAW,aAAa,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;KAClC;IACD,IAAoB,aAAa,CAAC,KAAoB,EAAA;AACpD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;;;AAID,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;KAC/C;IACD,IAAoB,QAAQ,CAAC,KAAc,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;SAC5E;KACF;8GAlEU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,yRCT9B,4OAES,EAAA,MAAA,EAAA,CAAA,23DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDOI,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,23DAAA,CAAA,EAAA,CAAA;8EA0BL,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBAEkB,SAAS,EAAA,CAAA;sBAAhC,SAAS;uBAAC,WAAW,CAAA;gBASF,IAAI,EAAA,CAAA;sBAAvB,KAAK;gBAUc,QAAQ,EAAA,CAAA;sBAA3B,KAAK;gBAUc,aAAa,EAAA,CAAA;sBAAhC,KAAK;gBASc,QAAQ,EAAA,CAAA;sBAA3B,KAAK;;;ME3DK,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,SAAoB,EAAU,WAAuB,EAAU,SAA4B,EAAA;QAA3F,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAU,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;AAE/G,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAC1B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAK,GAAG,CAAC;AAkCrB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAe,CAAC;QACnC,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AAEN,QAAA,IAAA,CAAA,mBAAmB,GAA0C,MAAM,CAAC,EAAE,CAAC;KAxCoC;AAKnH,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AACD,IAAA,gBAAgB,CAAC,EAAkB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,WAAmB,KAAI;;YAEtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAC9C,YAAA,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAEjB,SAAC,CAAC;KACH;AACD,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;KAC1C;IACS,WAAW,CAAC,GAAW,EAAE,KAAU,EAAA;;;;AAI3C,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;AAC5B,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;SAChF;KACF;AAEmC,IAAA,YAAY,CAAC,EAAc,EAAA;QAC7D,IAAI,CAAC,QAAQ,CAAO,EAAE,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC;KACvC;AAEiC,IAAA,QAAQ,CAAC,EAAS,EAAA;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAOD,IAAa,WAAW,CAAC,KAA4C,EAAA;AACnE,QAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AAC/B,YAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;AACD,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;KAClC;IAED,gBAAgB,CAAC,EAAiB,EAAE,KAAU,EAAA;AAC5C,QAAA,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;SACnB;QAED,IAAI,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YACxC,KAAK,GAAG,QAAQ,CAAC;SAClB;AAED,QAAA,OAAO,CAAG,EAAA,EAAE,CAAK,EAAA,EAAA,KAAK,CAAE,CAAA,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACvC;AAED,IAAA,SAAS,CAAC,WAAmB,EAAA;QAC3B,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAClC;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;QAGnB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;KACxC;IAED,cAAc,GAAA;QACZ,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC;KACtC;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE;AAClD,YAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE;AAC3D,gBAAA,OAAO,EAAE,CAAC;aACX;SACF;;;AAKD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,cAAc,CAAC,WAAmB,EAAA;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;KACtE;8GA9FU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,mKANrB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAES,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,SAAS,EAAE,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC;AACH,iBAAA,CAAA;oIA8BqC,YAAY,EAAA,CAAA;sBAA/C,YAAY;uBAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAIA,QAAQ,EAAA,CAAA;sBAAzC,YAAY;uBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAA;gBASnB,WAAW,EAAA,CAAA;sBAAvB,KAAK;;MAwDK,cAAc,CAAA;AACzB,IAAA,WAAA,CAAoB,OAAmB,EAAU,QAAmB,EAA8B,MAA6B,EAAA;QAA3G,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAA8B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAuB;AAC7H,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;SACxC;KACF;IAID,IAAsB,OAAO,CAAC,KAAU,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;;YAEnE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC3C;KACF;IAED,IAAoB,KAAK,CAAC,KAAU,EAAA;AAClC,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC3C;KACF;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;;;;;;AAM3B,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;KACvE;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC3C;KACF;8GAvCU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,SAAS;mBAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;;0BAEwC,QAAQ;;0BAAI,IAAI;yCAQjE,OAAO,EAAA,CAAA;sBAA5B,KAAK;uBAAC,SAAS,CAAA;gBASI,KAAK,EAAA,CAAA;sBAAxB,KAAK;uBAAC,OAAO,CAAA;;;MC9GH,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAd,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,cAAc,iBAXvB,iBAAiB;YACjB,qBAAqB;YACrB,cAAc,CAAA,EAAA,OAAA,EAAA,CAEN,YAAY,CAAA,EAAA,OAAA,EAAA,CAEpB,iBAAiB;YACjB,qBAAqB;YACrB,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;AAGL,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,cAAc,YAPf,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,qBAAqB;wBACrB,cAAc;AACf,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,qBAAqB;wBACrB,cAAc;AACf,qBAAA;AACF,iBAAA,CAAA;;;ACjBD;;AAEG;;;;"}
@@ -59,10 +59,10 @@ class BsSelect2Component {
59
59
  focus() {
60
60
  this.searchBox.nativeElement.focus();
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelect2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: BsSelect2Component, selector: "bs-select2", inputs: { searchterm: "searchterm", suggestions: "suggestions", selectedItems: "selectedItems" }, outputs: { provideSuggestions: "provideSuggestions" }, host: { listeners: { "click": "focus()" }, properties: { "class.focus": "this.isFocused" } }, viewQueries: [{ propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "itemsBox", first: true, predicate: ["itemsBox"], descendants: true }], ngImport: i0, template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { $implicit: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems | bsInList:suggestion.id\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { $implicit: suggestion, select2: this }\"></ng-container>\n </bs-dropdown-item>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultItemTemplate let-item let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">\u00D7</span>\n {{ item.text }}\n </span>\n</ng-template>\n\n<ng-template #defaultSuggestionTemplate let-suggestion let-select2=\"select2\">\n {{ suggestion.text }}\n</ng-template>", styles: [".items-box{min-height:38px;padding:0 5px 3px;cursor:text;border:1px solid #ccc}.items-box .select2-item{display:inline-block;background-color:#e4e4e4;color:#1a1a1a;border:1px solid #aaa;border-radius:4px;margin-top:5px;margin-right:5px;padding:0 5px;cursor:default;user-select:none;-webkit-user-select:none}.items-box .select2-item>span{cursor:pointer;color:#999}.items-box .select2-item>span:hover{color:#333}.items-box input{border:none;outline:0;margin:5px 0 2px;background:none}:host{display:block;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}ul{max-height:200px;overflow-y:auto}ul>li{padding:10px;cursor:pointer}ul>li.selected{background:#ddd}ul>li:hover{color:#fff;background-color:#5897fb}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: i4.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "component", type: i5.BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: i5.BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "pipe", type: i6.BsInListPipe, name: "bsInList" }] }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelect2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsSelect2Component, selector: "bs-select2", inputs: { searchterm: "searchterm", suggestions: "suggestions", selectedItems: "selectedItems" }, outputs: { provideSuggestions: "provideSuggestions" }, host: { listeners: { "click": "focus()" }, properties: { "class.focus": "this.isFocused" } }, viewQueries: [{ propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "itemsBox", first: true, predicate: ["itemsBox"], descendants: true }], ngImport: i0, template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { $implicit: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems | bsInList:suggestion.id\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { $implicit: suggestion, select2: this }\"></ng-container>\n </bs-dropdown-item>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultItemTemplate let-item let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">\u00D7</span>\n {{ item.text }}\n </span>\n</ng-template>\n\n<ng-template #defaultSuggestionTemplate let-suggestion let-select2=\"select2\">\n {{ suggestion.text }}\n</ng-template>", styles: [".items-box{min-height:38px;padding:0 5px 3px;cursor:text;border:1px solid #ccc}.items-box .select2-item{display:inline-block;background-color:#e4e4e4;color:#1a1a1a;border:1px solid #aaa;border-radius:4px;margin-top:5px;margin-right:5px;padding:0 5px;cursor:default;user-select:none;-webkit-user-select:none}.items-box .select2-item>span{cursor:pointer;color:#999}.items-box .select2-item>span:hover{color:#333}.items-box input{border:none;outline:0;margin:5px 0 2px;background:none}:host{display:block;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}ul{max-height:200px;overflow-y:auto}ul>li{padding:10px;cursor:pointer}ul>li.selected{background:#ddd}ul>li:hover{color:#fff;background-color:#5897fb}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: i4.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "component", type: i5.BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: i5.BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "pipe", type: i6.BsInListPipe, name: "bsInList" }] }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelect2Component, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelect2Component, decorators: [{
66
66
  type: Component,
67
67
  args: [{ selector: 'bs-select2', template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { $implicit: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems | bsInList:suggestion.id\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { $implicit: suggestion, select2: this }\"></ng-container>\n </bs-dropdown-item>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultItemTemplate let-item let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">\u00D7</span>\n {{ item.text }}\n </span>\n</ng-template>\n\n<ng-template #defaultSuggestionTemplate let-suggestion let-select2=\"select2\">\n {{ suggestion.text }}\n</ng-template>", styles: [".items-box{min-height:38px;padding:0 5px 3px;cursor:text;border:1px solid #ccc}.items-box .select2-item{display:inline-block;background-color:#e4e4e4;color:#1a1a1a;border:1px solid #aaa;border-radius:4px;margin-top:5px;margin-right:5px;padding:0 5px;cursor:default;user-select:none;-webkit-user-select:none}.items-box .select2-item>span{cursor:pointer;color:#999}.items-box .select2-item>span:hover{color:#333}.items-box input{border:none;outline:0;margin:5px 0 2px;background:none}:host{display:block;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}ul{max-height:200px;overflow-y:auto}ul>li{padding:10px;cursor:pointer}ul>li.selected{background:#ddd}ul>li:hover{color:#fff;background-color:#5897fb}\n"] }]
68
68
  }], propDecorators: { defaultItemTemplate: [{
@@ -101,10 +101,10 @@ class BsItemTemplateDirective {
101
101
  set bsItemTemplateOf(value) {
102
102
  this.select2component.selectedItems = value;
103
103
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsItemTemplateDirective, deps: [{ token: BsSelect2Component }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
105
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: BsItemTemplateDirective, selector: "[bsItemTemplate]", inputs: { bsItemTemplateOf: "bsItemTemplateOf" }, ngImport: i0 }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsItemTemplateDirective, deps: [{ token: BsSelect2Component }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
105
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsItemTemplateDirective, selector: "[bsItemTemplate]", inputs: { bsItemTemplateOf: "bsItemTemplateOf" }, ngImport: i0 }); }
106
106
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsItemTemplateDirective, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsItemTemplateDirective, decorators: [{
108
108
  type: Directive,
109
109
  args: [{
110
110
  selector: '[bsItemTemplate]'
@@ -130,10 +130,10 @@ class BsSuggestionTemplateDirective {
130
130
  set bsSuggestionTemplateOf(value) {
131
131
  this.select2component.suggestions = value;
132
132
  }
133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSuggestionTemplateDirective, deps: [{ token: BsSelect2Component }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
134
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: BsSuggestionTemplateDirective, selector: "[bsSuggestionTemplate]", inputs: { bsSuggestionTemplateOf: "bsSuggestionTemplateOf" }, ngImport: i0 }); }
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSuggestionTemplateDirective, deps: [{ token: BsSelect2Component }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
134
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsSuggestionTemplateDirective, selector: "[bsSuggestionTemplate]", inputs: { bsSuggestionTemplateOf: "bsSuggestionTemplateOf" }, ngImport: i0 }); }
135
135
  }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSuggestionTemplateDirective, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSuggestionTemplateDirective, decorators: [{
137
137
  type: Directive,
138
138
  args: [{
139
139
  selector: '[bsSuggestionTemplate]',
@@ -149,8 +149,8 @@ class BsSuggestionTemplateContext {
149
149
  }
150
150
 
151
151
  class BsSelect2Module {
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelect2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
153
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsSelect2Module, declarations: [BsSelect2Component,
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelect2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
153
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSelect2Module, declarations: [BsSelect2Component,
154
154
  BsItemTemplateDirective,
155
155
  BsSuggestionTemplateDirective], imports: [CommonModule,
156
156
  FormsModule,
@@ -160,14 +160,14 @@ class BsSelect2Module {
160
160
  BsInListModule], exports: [BsSelect2Component,
161
161
  BsItemTemplateDirective,
162
162
  BsSuggestionTemplateDirective] }); }
163
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelect2Module, imports: [CommonModule,
163
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelect2Module, imports: [CommonModule,
164
164
  FormsModule,
165
165
  BsDropdownModule,
166
166
  BsDropdownMenuModule,
167
167
  BsHasOverlayModule,
168
168
  BsInListModule] }); }
169
169
  }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsSelect2Module, decorators: [{
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSelect2Module, decorators: [{
171
171
  type: NgModule,
172
172
  args: [{
173
173
  declarations: [