ngx-bootstrap 10.2.1 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/README.md +3 -5
  2. package/accordion/accordion-group.component.d.ts +1 -1
  3. package/accordion/accordion.component.d.ts +1 -1
  4. package/accordion/esm2022/accordion-group.component.mjs +84 -0
  5. package/accordion/{esm2020 → esm2022}/accordion.component.mjs +4 -4
  6. package/accordion/{esm2020 → esm2022}/accordion.config.mjs +4 -4
  7. package/accordion/{esm2020 → esm2022}/accordion.module.mjs +5 -5
  8. package/accordion/{fesm2020 → fesm2022}/ngx-bootstrap-accordion.mjs +29 -29
  9. package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -0
  10. package/accordion/package.json +8 -14
  11. package/alert/alert.component.d.ts +1 -1
  12. package/alert/esm2022/alert.component.mjs +77 -0
  13. package/alert/{esm2020 → esm2022}/alert.config.mjs +4 -4
  14. package/alert/{esm2020 → esm2022}/alert.module.mjs +5 -5
  15. package/alert/{fesm2015 → fesm2022}/ngx-bootstrap-alert.mjs +10 -10
  16. package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -0
  17. package/alert/package.json +8 -14
  18. package/buttons/button-checkbox.directive.d.ts +2 -2
  19. package/buttons/button-radio.directive.d.ts +1 -1
  20. package/buttons/{esm2020 → esm2022}/button-checkbox.directive.mjs +4 -4
  21. package/buttons/{esm2020 → esm2022}/button-radio-group.directive.mjs +4 -4
  22. package/buttons/esm2022/button-radio.directive.mjs +188 -0
  23. package/buttons/{esm2020 → esm2022}/buttons.module.mjs +5 -5
  24. package/buttons/{fesm2020 → fesm2022}/ngx-bootstrap-buttons.mjs +26 -26
  25. package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -0
  26. package/buttons/package.json +7 -13
  27. package/carousel/carousel.component.d.ts +1 -1
  28. package/carousel/esm2022/carousel.component.mjs +713 -0
  29. package/carousel/{esm2020 → esm2022}/carousel.config.mjs +4 -4
  30. package/carousel/{esm2020 → esm2022}/carousel.module.mjs +5 -5
  31. package/carousel/{esm2020 → esm2022}/slide.component.mjs +6 -6
  32. package/carousel/{fesm2020 → fesm2022}/ngx-bootstrap-carousel.mjs +65 -56
  33. package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -0
  34. package/carousel/package.json +8 -14
  35. package/carousel/slide.component.d.ts +1 -1
  36. package/chronos/duration/create.d.ts +1 -1
  37. package/chronos/{fesm2020 → fesm2022}/ngx-bootstrap-chronos.mjs +4 -0
  38. package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -0
  39. package/chronos/locale/locale.class.d.ts +3 -3
  40. package/chronos/moment/calendar.d.ts +1 -1
  41. package/chronos/package.json +5 -11
  42. package/chronos/parse/regex.d.ts +1 -1
  43. package/chronos/testing/chain.d.ts +3 -3
  44. package/chronos/types.d.ts +4 -4
  45. package/chronos/units/aliases.d.ts +1 -1
  46. package/collapse/collapse.directive.d.ts +1 -1
  47. package/collapse/esm2022/collapse.directive.mjs +168 -0
  48. package/collapse/{esm2020 → esm2022}/collapse.module.mjs +5 -5
  49. package/collapse/{fesm2020 → fesm2022}/ngx-bootstrap-collapse.mjs +26 -26
  50. package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -0
  51. package/collapse/package.json +8 -14
  52. package/component-loader/{esm2020 → esm2022}/component-loader.factory.mjs +4 -4
  53. package/component-loader/{fesm2020 → fesm2022}/ngx-bootstrap-component-loader.mjs +5 -3
  54. package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -0
  55. package/component-loader/listen-options.model.d.ts +1 -1
  56. package/component-loader/package.json +7 -13
  57. package/datepicker/bs-datepicker-inline.component.d.ts +1 -1
  58. package/datepicker/bs-datepicker.component.d.ts +1 -1
  59. package/datepicker/bs-datepicker.config.d.ts +4 -0
  60. package/datepicker/bs-datepicker.css +6 -3
  61. package/datepicker/bs-datepicker.css.map +1 -1
  62. package/datepicker/bs-datepicker.scss +7 -2
  63. package/datepicker/bs-daterangepicker-inline.component.d.ts +1 -1
  64. package/datepicker/bs-daterangepicker.component.d.ts +1 -1
  65. package/datepicker/{esm2020 → esm2022}/bs-datepicker-inline.component.mjs +4 -4
  66. package/datepicker/{esm2020 → esm2022}/bs-datepicker-inline.config.mjs +4 -4
  67. package/datepicker/{esm2020 → esm2022}/bs-datepicker-input.directive.mjs +4 -4
  68. package/datepicker/esm2022/bs-datepicker.component.mjs +303 -0
  69. package/datepicker/esm2022/bs-datepicker.config.mjs +101 -0
  70. package/datepicker/{esm2020 → esm2022}/bs-datepicker.module.mjs +32 -32
  71. package/datepicker/esm2022/bs-daterangepicker-inline.component.mjs +163 -0
  72. package/datepicker/{esm2020 → esm2022}/bs-daterangepicker-inline.config.mjs +4 -4
  73. package/datepicker/{esm2020 → esm2022}/bs-daterangepicker-input.directive.mjs +4 -4
  74. package/datepicker/esm2022/bs-daterangepicker.component.mjs +296 -0
  75. package/datepicker/{esm2020 → esm2022}/bs-daterangepicker.config.mjs +4 -4
  76. package/datepicker/{esm2020 → esm2022}/bs-locale.service.mjs +4 -4
  77. package/datepicker/esm2022/reducer/bs-datepicker.actions.mjs +143 -0
  78. package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.effects.mjs +4 -4
  79. package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.store.mjs +4 -4
  80. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-calendar-layout.component.mjs +6 -6
  81. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-current-date-view.component.mjs +4 -4
  82. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-custom-dates-view.component.mjs +6 -6
  83. package/datepicker/esm2022/themes/bs/bs-datepicker-container.component.mjs +192 -0
  84. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-day-decorator.directive.mjs +4 -4
  85. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-inline-container.component.mjs +9 -9
  86. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-navigation-view.component.mjs +6 -6
  87. package/datepicker/esm2022/themes/bs/bs-daterangepicker-container.component.mjs +261 -0
  88. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-daterangepicker-inline-container.component.mjs +9 -9
  89. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-days-calendar-view.component.mjs +6 -6
  90. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-months-calendar-view.component.mjs +6 -6
  91. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-timepicker-view.component.mjs +6 -6
  92. package/datepicker/{esm2020 → esm2022}/themes/bs/bs-years-calendar-view.component.mjs +6 -6
  93. package/datepicker/{fesm2020 → fesm2022}/ngx-bootstrap-datepicker.mjs +236 -230
  94. package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -0
  95. package/datepicker/models/index.d.ts +1 -1
  96. package/datepicker/package.json +13 -19
  97. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +1 -1
  98. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +1 -1
  99. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +1 -1
  100. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +1 -1
  101. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +1 -1
  102. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +1 -1
  103. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +1 -1
  104. package/datepicker/utils/matrix-utils.d.ts +1 -1
  105. package/dropdown/bs-dropdown.directive.d.ts +1 -1
  106. package/dropdown/esm2022/bs-dropdown-container.component.mjs +79 -0
  107. package/dropdown/{esm2020 → esm2022}/bs-dropdown-menu.directive.mjs +4 -4
  108. package/dropdown/{esm2020 → esm2022}/bs-dropdown-toggle.directive.mjs +4 -4
  109. package/dropdown/{esm2020 → esm2022}/bs-dropdown.config.mjs +4 -4
  110. package/dropdown/esm2022/bs-dropdown.directive.mjs +340 -0
  111. package/dropdown/{esm2020 → esm2022}/bs-dropdown.module.mjs +10 -10
  112. package/dropdown/{esm2020 → esm2022}/bs-dropdown.state.mjs +4 -4
  113. package/dropdown/{fesm2020 → fesm2022}/ngx-bootstrap-dropdown.mjs +62 -62
  114. package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -0
  115. package/dropdown/package.json +10 -16
  116. package/fesm2022/ngx-bootstrap.mjs.map +1 -0
  117. package/focus-trap/boolean-property.d.ts +1 -1
  118. package/focus-trap/{esm2020 → esm2022}/focus-trap-manager.mjs +4 -4
  119. package/focus-trap/esm2022/focus-trap.mjs +399 -0
  120. package/focus-trap/{esm2020 → esm2022}/focus-trap.module.mjs +5 -5
  121. package/focus-trap/{esm2020 → esm2022}/interactivity-checker.mjs +4 -4
  122. package/focus-trap/{esm2020 → esm2022}/platform.mjs +4 -4
  123. package/focus-trap/{fesm2020 → fesm2022}/ngx-bootstrap-focus-trap.mjs +43 -39
  124. package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -0
  125. package/focus-trap/focus-trap.d.ts +1 -1
  126. package/focus-trap/package.json +8 -14
  127. package/locale/fesm2022/ngx-bootstrap-locale.mjs.map +1 -0
  128. package/locale/package.json +6 -12
  129. package/mini-ngrx/fesm2022/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
  130. package/mini-ngrx/package.json +6 -12
  131. package/mini-ngrx/public_api.d.ts +1 -1
  132. package/modal/bs-modal.service.d.ts +1 -0
  133. package/modal/{esm2020 → esm2022}/bs-modal-ref.service.mjs +4 -4
  134. package/modal/esm2022/bs-modal.service.mjs +225 -0
  135. package/modal/esm2022/modal-backdrop.component.mjs +50 -0
  136. package/modal/esm2022/modal-container.component.mjs +151 -0
  137. package/modal/{esm2020 → esm2022}/modal-options.class.mjs +4 -4
  138. package/modal/esm2022/modal.directive.mjs +364 -0
  139. package/modal/{esm2020 → esm2022}/modal.module.mjs +7 -7
  140. package/modal/{fesm2020 → fesm2022}/ngx-bootstrap-modal.mjs +75 -59
  141. package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -0
  142. package/modal/modal-container.component.d.ts +1 -0
  143. package/modal/modal.directive.d.ts +2 -1
  144. package/modal/models/index.d.ts +1 -1
  145. package/modal/package.json +8 -14
  146. package/package.json +9 -15
  147. package/pagination/{esm2020 → esm2022}/pager.component.mjs +4 -4
  148. package/pagination/{esm2020 → esm2022}/pagination.component.mjs +4 -4
  149. package/pagination/{esm2020 → esm2022}/pagination.config.mjs +4 -4
  150. package/pagination/{esm2020 → esm2022}/pagination.module.mjs +5 -5
  151. package/pagination/{fesm2020 → fesm2022}/ngx-bootstrap-pagination.mjs +13 -13
  152. package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -0
  153. package/pagination/package.json +8 -14
  154. package/pagination/pager.component.d.ts +1 -1
  155. package/pagination/pagination.component.d.ts +1 -1
  156. package/popover/esm2022/popover-container.component.mjs +46 -0
  157. package/popover/{esm2020 → esm2022}/popover.config.mjs +4 -4
  158. package/popover/esm2022/popover.directive.mjs +241 -0
  159. package/popover/{esm2020 → esm2022}/popover.module.mjs +5 -5
  160. package/popover/{fesm2020 → fesm2022}/ngx-bootstrap-popover.mjs +31 -31
  161. package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -0
  162. package/popover/package.json +9 -15
  163. package/popover/popover-container.component.d.ts +1 -1
  164. package/popover/popover.directive.d.ts +1 -1
  165. package/positioning/{esm2020 → esm2022}/positioning.service.mjs +4 -4
  166. package/positioning/{fesm2020 → fesm2022}/ngx-bootstrap-positioning.mjs +3 -3
  167. package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -0
  168. package/positioning/models/index.d.ts +1 -1
  169. package/positioning/package.json +10 -16
  170. package/progressbar/bar.component.d.ts +1 -1
  171. package/progressbar/{esm2020 → esm2022}/bar.component.mjs +4 -4
  172. package/progressbar/esm2022/progressbar.component.mjs +53 -0
  173. package/progressbar/{esm2020 → esm2022}/progressbar.config.mjs +4 -4
  174. package/progressbar/{esm2020 → esm2022}/progressbar.module.mjs +5 -5
  175. package/progressbar/{fesm2020 → fesm2022}/ngx-bootstrap-progressbar.mjs +24 -24
  176. package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -0
  177. package/progressbar/package.json +7 -13
  178. package/progressbar/progressbar-type.interface.d.ts +1 -1
  179. package/progressbar/progressbar.component.d.ts +1 -1
  180. package/rating/{esm2020 → esm2022}/rating.component.mjs +4 -4
  181. package/rating/{esm2020 → esm2022}/rating.config.mjs +4 -4
  182. package/rating/{esm2020 → esm2022}/rating.module.mjs +5 -5
  183. package/rating/{fesm2015 → fesm2022}/ngx-bootstrap-rating.mjs +10 -10
  184. package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -0
  185. package/rating/package.json +8 -14
  186. package/rating/rating.component.d.ts +1 -1
  187. package/schematics/collection.json +1 -1
  188. package/schematics/package.json +7 -7
  189. package/schematics/utils/current_dependency_versions.json +1 -1
  190. package/schematics/utils/index.d.ts +0 -2
  191. package/schematics/utils/index.js +1 -13
  192. package/schematics/utils/index.js.map +1 -1
  193. package/sortable/{esm2020 → esm2022}/draggable-item.service.mjs +4 -4
  194. package/sortable/esm2022/sortable.component.mjs +266 -0
  195. package/sortable/{esm2020 → esm2022}/sortable.module.mjs +5 -5
  196. package/sortable/{fesm2020 → fesm2022}/ngx-bootstrap-sortable.mjs +28 -28
  197. package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -0
  198. package/sortable/package.json +10 -16
  199. package/sortable/sortable.component.d.ts +1 -1
  200. package/tabs/esm2022/ng-transclude.directive.mjs +28 -0
  201. package/tabs/{esm2020 → esm2022}/tab-heading.directive.mjs +4 -4
  202. package/tabs/esm2022/tab.directive.mjs +115 -0
  203. package/tabs/{esm2020 → esm2022}/tabs.module.mjs +11 -11
  204. package/tabs/esm2022/tabset.component.mjs +216 -0
  205. package/tabs/{esm2020 → esm2022}/tabset.config.mjs +4 -4
  206. package/tabs/{fesm2015 → fesm2022}/ngx-bootstrap-tabs.mjs +63 -63
  207. package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -0
  208. package/tabs/ng-transclude.directive.d.ts +1 -1
  209. package/tabs/package.json +7 -13
  210. package/tabs/tab.directive.d.ts +1 -1
  211. package/tabs/tabset.component.d.ts +1 -1
  212. package/timepicker/esm2022/reducer/timepicker.actions.mjs +53 -0
  213. package/timepicker/{esm2020 → esm2022}/reducer/timepicker.store.mjs +4 -4
  214. package/timepicker/{esm2020 → esm2022}/timepicker.component.mjs +4 -4
  215. package/timepicker/{esm2020 → esm2022}/timepicker.config.mjs +4 -4
  216. package/timepicker/{esm2020 → esm2022}/timepicker.module.mjs +5 -5
  217. package/timepicker/{fesm2020 → fesm2022}/ngx-bootstrap-timepicker.mjs +22 -22
  218. package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -0
  219. package/timepicker/package.json +10 -16
  220. package/timepicker/reducer/timepicker.reducer.d.ts +1 -3
  221. package/timepicker/timepicker.component.d.ts +1 -1
  222. package/timepicker/timepicker.models.d.ts +1 -1
  223. package/tooltip/{esm2020 → esm2022}/tooltip-container.component.mjs +9 -9
  224. package/tooltip/{esm2020 → esm2022}/tooltip.config.mjs +4 -4
  225. package/tooltip/esm2022/tooltip.directive.mjs +342 -0
  226. package/tooltip/{esm2020 → esm2022}/tooltip.module.mjs +5 -5
  227. package/tooltip/{fesm2020 → fesm2022}/ngx-bootstrap-tooltip.mjs +61 -61
  228. package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -0
  229. package/tooltip/package.json +10 -16
  230. package/tooltip/tooltip.directive.d.ts +1 -1
  231. package/typeahead/esm2022/typeahead-container.component.mjs +311 -0
  232. package/typeahead/{esm2020 → esm2022}/typeahead.config.mjs +4 -4
  233. package/typeahead/{esm2020 → esm2022}/typeahead.directive.mjs +4 -4
  234. package/typeahead/{esm2020 → esm2022}/typeahead.module.mjs +5 -5
  235. package/typeahead/{fesm2020 → fesm2022}/ngx-bootstrap-typeahead.mjs +20 -20
  236. package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -0
  237. package/typeahead/package.json +12 -18
  238. package/typeahead/typeahead.directive.d.ts +3 -3
  239. package/utils/{esm2020 → esm2022}/triggers.mjs +5 -3
  240. package/utils/{fesm2020 → fesm2022}/ngx-bootstrap-utils.mjs +4 -2
  241. package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -0
  242. package/utils/package.json +6 -12
  243. package/utils/theme-provider.d.ts +1 -1
  244. package/utils/triggers.d.ts +1 -1
  245. package/accordion/esm2020/accordion-group.component.mjs +0 -84
  246. package/accordion/fesm2015/ngx-bootstrap-accordion.mjs +0 -182
  247. package/accordion/fesm2015/ngx-bootstrap-accordion.mjs.map +0 -1
  248. package/accordion/fesm2020/ngx-bootstrap-accordion.mjs.map +0 -1
  249. package/alert/esm2020/alert.component.mjs +0 -77
  250. package/alert/fesm2015/ngx-bootstrap-alert.mjs.map +0 -1
  251. package/alert/fesm2020/ngx-bootstrap-alert.mjs +0 -119
  252. package/alert/fesm2020/ngx-bootstrap-alert.mjs.map +0 -1
  253. package/buttons/esm2020/button-radio.directive.mjs +0 -188
  254. package/buttons/fesm2015/ngx-bootstrap-buttons.mjs +0 -448
  255. package/buttons/fesm2015/ngx-bootstrap-buttons.mjs.map +0 -1
  256. package/buttons/fesm2020/ngx-bootstrap-buttons.mjs.map +0 -1
  257. package/carousel/esm2020/carousel.component.mjs +0 -713
  258. package/carousel/fesm2015/ngx-bootstrap-carousel.mjs +0 -851
  259. package/carousel/fesm2015/ngx-bootstrap-carousel.mjs.map +0 -1
  260. package/carousel/fesm2020/ngx-bootstrap-carousel.mjs.map +0 -1
  261. package/chronos/fesm2015/ngx-bootstrap-chronos.mjs +0 -7384
  262. package/chronos/fesm2015/ngx-bootstrap-chronos.mjs.map +0 -1
  263. package/chronos/fesm2020/ngx-bootstrap-chronos.mjs.map +0 -1
  264. package/collapse/esm2020/collapse.directive.mjs +0 -168
  265. package/collapse/fesm2015/ngx-bootstrap-collapse.mjs +0 -200
  266. package/collapse/fesm2015/ngx-bootstrap-collapse.mjs.map +0 -1
  267. package/collapse/fesm2020/ngx-bootstrap-collapse.mjs.map +0 -1
  268. package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs +0 -345
  269. package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs.map +0 -1
  270. package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs.map +0 -1
  271. package/datepicker/esm2020/bs-datepicker.component.mjs +0 -302
  272. package/datepicker/esm2020/bs-datepicker.config.mjs +0 -97
  273. package/datepicker/esm2020/bs-daterangepicker-inline.component.mjs +0 -163
  274. package/datepicker/esm2020/bs-daterangepicker.component.mjs +0 -295
  275. package/datepicker/esm2020/reducer/bs-datepicker.actions.mjs +0 -143
  276. package/datepicker/esm2020/themes/bs/bs-datepicker-container.component.mjs +0 -192
  277. package/datepicker/esm2020/themes/bs/bs-daterangepicker-container.component.mjs +0 -261
  278. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs +0 -3965
  279. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs.map +0 -1
  280. package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs.map +0 -1
  281. package/dropdown/esm2020/bs-dropdown-container.component.mjs +0 -79
  282. package/dropdown/esm2020/bs-dropdown.directive.mjs +0 -340
  283. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs +0 -603
  284. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs.map +0 -1
  285. package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs.map +0 -1
  286. package/fesm2015/ngx-bootstrap.mjs.map +0 -1
  287. package/fesm2020/ngx-bootstrap.mjs +0 -6
  288. package/fesm2020/ngx-bootstrap.mjs.map +0 -1
  289. package/focus-trap/esm2020/focus-trap.mjs +0 -399
  290. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs +0 -800
  291. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs.map +0 -1
  292. package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs.map +0 -1
  293. package/locale/fesm2015/ngx-bootstrap-locale.mjs.map +0 -1
  294. package/locale/fesm2020/ngx-bootstrap-locale.mjs +0 -6
  295. package/locale/fesm2020/ngx-bootstrap-locale.mjs.map +0 -1
  296. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs +0 -64
  297. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs.map +0 -1
  298. package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs.map +0 -1
  299. package/modal/esm2020/bs-modal.service.mjs +0 -219
  300. package/modal/esm2020/modal-backdrop.component.mjs +0 -50
  301. package/modal/esm2020/modal-container.component.mjs +0 -145
  302. package/modal/esm2020/modal.directive.mjs +0 -360
  303. package/modal/fesm2015/ngx-bootstrap-modal.mjs +0 -874
  304. package/modal/fesm2015/ngx-bootstrap-modal.mjs.map +0 -1
  305. package/modal/fesm2020/ngx-bootstrap-modal.mjs.map +0 -1
  306. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs +0 -565
  307. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs.map +0 -1
  308. package/pagination/fesm2020/ngx-bootstrap-pagination.mjs.map +0 -1
  309. package/popover/esm2020/popover-container.component.mjs +0 -46
  310. package/popover/esm2020/popover.directive.mjs +0 -241
  311. package/popover/fesm2015/ngx-bootstrap-popover.mjs +0 -339
  312. package/popover/fesm2015/ngx-bootstrap-popover.mjs.map +0 -1
  313. package/popover/fesm2020/ngx-bootstrap-popover.mjs.map +0 -1
  314. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs +0 -1018
  315. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs.map +0 -1
  316. package/positioning/fesm2020/ngx-bootstrap-positioning.mjs.map +0 -1
  317. package/progressbar/esm2020/progressbar.component.mjs +0 -53
  318. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs +0 -163
  319. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs.map +0 -1
  320. package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs.map +0 -1
  321. package/rating/fesm2015/ngx-bootstrap-rating.mjs.map +0 -1
  322. package/rating/fesm2020/ngx-bootstrap-rating.mjs +0 -163
  323. package/rating/fesm2020/ngx-bootstrap-rating.mjs.map +0 -1
  324. package/sortable/esm2020/sortable.component.mjs +0 -266
  325. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs +0 -324
  326. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs.map +0 -1
  327. package/sortable/fesm2020/ngx-bootstrap-sortable.mjs.map +0 -1
  328. package/tabs/esm2020/ng-transclude.directive.mjs +0 -28
  329. package/tabs/esm2020/tab.directive.mjs +0 -115
  330. package/tabs/esm2020/tabset.component.mjs +0 -216
  331. package/tabs/fesm2015/ngx-bootstrap-tabs.mjs.map +0 -1
  332. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs +0 -427
  333. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs.map +0 -1
  334. package/timepicker/esm2020/reducer/timepicker.actions.mjs +0 -53
  335. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs +0 -830
  336. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs.map +0 -1
  337. package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs.map +0 -1
  338. package/tooltip/esm2020/tooltip.directive.mjs +0 -342
  339. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs +0 -431
  340. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs.map +0 -1
  341. package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs.map +0 -1
  342. package/typeahead/esm2020/typeahead-container.component.mjs +0 -311
  343. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs +0 -1890
  344. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs.map +0 -1
  345. package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs.map +0 -1
  346. package/utils/fesm2015/ngx-bootstrap-utils.mjs +0 -521
  347. package/utils/fesm2015/ngx-bootstrap-utils.mjs.map +0 -1
  348. package/utils/fesm2020/ngx-bootstrap-utils.mjs.map +0 -1
  349. /package/accordion/{esm2020 → esm2022}/index.mjs +0 -0
  350. /package/accordion/{esm2020 → esm2022}/ngx-bootstrap-accordion.mjs +0 -0
  351. /package/accordion/{esm2020 → esm2022}/public_api.mjs +0 -0
  352. /package/alert/{esm2020 → esm2022}/index.mjs +0 -0
  353. /package/alert/{esm2020 → esm2022}/ngx-bootstrap-alert.mjs +0 -0
  354. /package/alert/{esm2020 → esm2022}/public_api.mjs +0 -0
  355. /package/buttons/{esm2020 → esm2022}/index.mjs +0 -0
  356. /package/buttons/{esm2020 → esm2022}/ngx-bootstrap-buttons.mjs +0 -0
  357. /package/buttons/{esm2020 → esm2022}/public_api.mjs +0 -0
  358. /package/carousel/{esm2020 → esm2022}/index.mjs +0 -0
  359. /package/carousel/{esm2020 → esm2022}/models/index.mjs +0 -0
  360. /package/carousel/{esm2020 → esm2022}/ngx-bootstrap-carousel.mjs +0 -0
  361. /package/carousel/{esm2020 → esm2022}/public_api.mjs +0 -0
  362. /package/carousel/{esm2020 → esm2022}/utils.mjs +0 -0
  363. /package/chronos/{esm2020 → esm2022}/create/check-overflow.mjs +0 -0
  364. /package/chronos/{esm2020 → esm2022}/create/clone.mjs +0 -0
  365. /package/chronos/{esm2020 → esm2022}/create/date-from-array.mjs +0 -0
  366. /package/chronos/{esm2020 → esm2022}/create/from-anything.mjs +0 -0
  367. /package/chronos/{esm2020 → esm2022}/create/from-array.mjs +0 -0
  368. /package/chronos/{esm2020 → esm2022}/create/from-object.mjs +0 -0
  369. /package/chronos/{esm2020 → esm2022}/create/from-string-and-array.mjs +0 -0
  370. /package/chronos/{esm2020 → esm2022}/create/from-string-and-format.mjs +0 -0
  371. /package/chronos/{esm2020 → esm2022}/create/from-string.mjs +0 -0
  372. /package/chronos/{esm2020 → esm2022}/create/local.mjs +0 -0
  373. /package/chronos/{esm2020 → esm2022}/create/parsing-flags.mjs +0 -0
  374. /package/chronos/{esm2020 → esm2022}/create/parsing.types.mjs +0 -0
  375. /package/chronos/{esm2020 → esm2022}/create/valid.mjs +0 -0
  376. /package/chronos/{esm2020 → esm2022}/duration/bubble.mjs +0 -0
  377. /package/chronos/{esm2020 → esm2022}/duration/constructor.mjs +0 -0
  378. /package/chronos/{esm2020 → esm2022}/duration/create.mjs +0 -0
  379. /package/chronos/{esm2020 → esm2022}/duration/humanize.mjs +0 -0
  380. /package/chronos/{esm2020 → esm2022}/duration/valid.mjs +0 -0
  381. /package/chronos/{esm2020 → esm2022}/format/format.mjs +0 -0
  382. /package/chronos/{esm2020 → esm2022}/format.mjs +0 -0
  383. /package/chronos/{esm2020 → esm2022}/i18n/ar.mjs +0 -0
  384. /package/chronos/{esm2020 → esm2022}/i18n/bg.mjs +0 -0
  385. /package/chronos/{esm2020 → esm2022}/i18n/ca.mjs +0 -0
  386. /package/chronos/{esm2020 → esm2022}/i18n/cs.mjs +0 -0
  387. /package/chronos/{esm2020 → esm2022}/i18n/da.mjs +0 -0
  388. /package/chronos/{esm2020 → esm2022}/i18n/de.mjs +0 -0
  389. /package/chronos/{esm2020 → esm2022}/i18n/en-gb.mjs +0 -0
  390. /package/chronos/{esm2020 → esm2022}/i18n/es-do.mjs +0 -0
  391. /package/chronos/{esm2020 → esm2022}/i18n/es-pr.mjs +0 -0
  392. /package/chronos/{esm2020 → esm2022}/i18n/es-us.mjs +0 -0
  393. /package/chronos/{esm2020 → esm2022}/i18n/es.mjs +0 -0
  394. /package/chronos/{esm2020 → esm2022}/i18n/et.mjs +0 -0
  395. /package/chronos/{esm2020 → esm2022}/i18n/fi.mjs +0 -0
  396. /package/chronos/{esm2020 → esm2022}/i18n/fr.mjs +0 -0
  397. /package/chronos/{esm2020 → esm2022}/i18n/gl.mjs +0 -0
  398. /package/chronos/{esm2020 → esm2022}/i18n/he.mjs +0 -0
  399. /package/chronos/{esm2020 → esm2022}/i18n/hi.mjs +0 -0
  400. /package/chronos/{esm2020 → esm2022}/i18n/hr.mjs +0 -0
  401. /package/chronos/{esm2020 → esm2022}/i18n/hu.mjs +0 -0
  402. /package/chronos/{esm2020 → esm2022}/i18n/id.mjs +0 -0
  403. /package/chronos/{esm2020 → esm2022}/i18n/it.mjs +0 -0
  404. /package/chronos/{esm2020 → esm2022}/i18n/ja.mjs +0 -0
  405. /package/chronos/{esm2020 → esm2022}/i18n/ka.mjs +0 -0
  406. /package/chronos/{esm2020 → esm2022}/i18n/kk.mjs +0 -0
  407. /package/chronos/{esm2020 → esm2022}/i18n/ko.mjs +0 -0
  408. /package/chronos/{esm2020 → esm2022}/i18n/lt.mjs +0 -0
  409. /package/chronos/{esm2020 → esm2022}/i18n/lv.mjs +0 -0
  410. /package/chronos/{esm2020 → esm2022}/i18n/mn.mjs +0 -0
  411. /package/chronos/{esm2020 → esm2022}/i18n/nb.mjs +0 -0
  412. /package/chronos/{esm2020 → esm2022}/i18n/nl-be.mjs +0 -0
  413. /package/chronos/{esm2020 → esm2022}/i18n/nl.mjs +0 -0
  414. /package/chronos/{esm2020 → esm2022}/i18n/pl.mjs +0 -0
  415. /package/chronos/{esm2020 → esm2022}/i18n/pt-br.mjs +0 -0
  416. /package/chronos/{esm2020 → esm2022}/i18n/ro.mjs +0 -0
  417. /package/chronos/{esm2020 → esm2022}/i18n/ru.mjs +0 -0
  418. /package/chronos/{esm2020 → esm2022}/i18n/sk.mjs +0 -0
  419. /package/chronos/{esm2020 → esm2022}/i18n/sl.mjs +0 -0
  420. /package/chronos/{esm2020 → esm2022}/i18n/sq.mjs +0 -0
  421. /package/chronos/{esm2020 → esm2022}/i18n/sv.mjs +0 -0
  422. /package/chronos/{esm2020 → esm2022}/i18n/th-be.mjs +0 -0
  423. /package/chronos/{esm2020 → esm2022}/i18n/th.mjs +0 -0
  424. /package/chronos/{esm2020 → esm2022}/i18n/tr.mjs +0 -0
  425. /package/chronos/{esm2020 → esm2022}/i18n/uk.mjs +0 -0
  426. /package/chronos/{esm2020 → esm2022}/i18n/vi.mjs +0 -0
  427. /package/chronos/{esm2020 → esm2022}/i18n/zh-cn.mjs +0 -0
  428. /package/chronos/{esm2020 → esm2022}/index.mjs +0 -0
  429. /package/chronos/{esm2020 → esm2022}/locale/calendar.mjs +0 -0
  430. /package/chronos/{esm2020 → esm2022}/locale/locale.class.mjs +0 -0
  431. /package/chronos/{esm2020 → esm2022}/locale/locale.defaults.mjs +0 -0
  432. /package/chronos/{esm2020 → esm2022}/locale/locales.mjs +0 -0
  433. /package/chronos/{esm2020 → esm2022}/moment/add-subtract.mjs +0 -0
  434. /package/chronos/{esm2020 → esm2022}/moment/calendar.mjs +0 -0
  435. /package/chronos/{esm2020 → esm2022}/moment/diff.mjs +0 -0
  436. /package/chronos/{esm2020 → esm2022}/moment/min-max.mjs +0 -0
  437. /package/chronos/{esm2020 → esm2022}/ngx-bootstrap-chronos.mjs +0 -0
  438. /package/chronos/{esm2020 → esm2022}/parse/regex.mjs +0 -0
  439. /package/chronos/{esm2020 → esm2022}/parse/token.mjs +0 -0
  440. /package/chronos/{esm2020 → esm2022}/public_api.mjs +0 -0
  441. /package/chronos/{esm2020 → esm2022}/testing/chain.mjs +0 -0
  442. /package/chronos/{esm2020 → esm2022}/types.mjs +0 -0
  443. /package/chronos/{esm2020 → esm2022}/units/aliases.mjs +0 -0
  444. /package/chronos/{esm2020 → esm2022}/units/constants.mjs +0 -0
  445. /package/chronos/{esm2020 → esm2022}/units/day-of-month.mjs +0 -0
  446. /package/chronos/{esm2020 → esm2022}/units/day-of-week.mjs +0 -0
  447. /package/chronos/{esm2020 → esm2022}/units/day-of-year.mjs +0 -0
  448. /package/chronos/{esm2020 → esm2022}/units/hour.mjs +0 -0
  449. /package/chronos/{esm2020 → esm2022}/units/index.mjs +0 -0
  450. /package/chronos/{esm2020 → esm2022}/units/millisecond.mjs +0 -0
  451. /package/chronos/{esm2020 → esm2022}/units/minute.mjs +0 -0
  452. /package/chronos/{esm2020 → esm2022}/units/month.mjs +0 -0
  453. /package/chronos/{esm2020 → esm2022}/units/offset.mjs +0 -0
  454. /package/chronos/{esm2020 → esm2022}/units/priorities.mjs +0 -0
  455. /package/chronos/{esm2020 → esm2022}/units/quarter.mjs +0 -0
  456. /package/chronos/{esm2020 → esm2022}/units/second.mjs +0 -0
  457. /package/chronos/{esm2020 → esm2022}/units/timestamp.mjs +0 -0
  458. /package/chronos/{esm2020 → esm2022}/units/timezone.mjs +0 -0
  459. /package/chronos/{esm2020 → esm2022}/units/week-calendar-utils.mjs +0 -0
  460. /package/chronos/{esm2020 → esm2022}/units/week-year.mjs +0 -0
  461. /package/chronos/{esm2020 → esm2022}/units/week.mjs +0 -0
  462. /package/chronos/{esm2020 → esm2022}/units/year.mjs +0 -0
  463. /package/chronos/{esm2020 → esm2022}/utils/abs-ceil.mjs +0 -0
  464. /package/chronos/{esm2020 → esm2022}/utils/abs-round.mjs +0 -0
  465. /package/chronos/{esm2020 → esm2022}/utils/compare-arrays.mjs +0 -0
  466. /package/chronos/{esm2020 → esm2022}/utils/date-compare.mjs +0 -0
  467. /package/chronos/{esm2020 → esm2022}/utils/date-getters.mjs +0 -0
  468. /package/chronos/{esm2020 → esm2022}/utils/date-setters.mjs +0 -0
  469. /package/chronos/{esm2020 → esm2022}/utils/defaults.mjs +0 -0
  470. /package/chronos/{esm2020 → esm2022}/utils/start-end-of.mjs +0 -0
  471. /package/chronos/{esm2020 → esm2022}/utils/type-checks.mjs +0 -0
  472. /package/chronos/{esm2020 → esm2022}/utils/zero-fill.mjs +0 -0
  473. /package/chronos/{esm2020 → esm2022}/utils.mjs +0 -0
  474. /package/collapse/{esm2020 → esm2022}/collapse-animations.mjs +0 -0
  475. /package/collapse/{esm2020 → esm2022}/index.mjs +0 -0
  476. /package/collapse/{esm2020 → esm2022}/ngx-bootstrap-collapse.mjs +0 -0
  477. /package/collapse/{esm2020 → esm2022}/public_api.mjs +0 -0
  478. /package/component-loader/{esm2020 → esm2022}/bs-component-ref.class.mjs +0 -0
  479. /package/component-loader/{esm2020 → esm2022}/component-loader.class.mjs +0 -0
  480. /package/component-loader/{esm2020 → esm2022}/content-ref.class.mjs +0 -0
  481. /package/component-loader/{esm2020 → esm2022}/index.mjs +0 -0
  482. /package/component-loader/{esm2020 → esm2022}/listen-options.model.mjs +0 -0
  483. /package/component-loader/{esm2020 → esm2022}/ngx-bootstrap-component-loader.mjs +0 -0
  484. /package/component-loader/{esm2020 → esm2022}/public_api.mjs +0 -0
  485. /package/datepicker/{esm2020 → esm2022}/base/bs-datepicker-container.mjs +0 -0
  486. /package/datepicker/{esm2020 → esm2022}/datepicker-animations.mjs +0 -0
  487. /package/datepicker/{esm2020 → esm2022}/engine/calc-days-calendar.mjs +0 -0
  488. /package/datepicker/{esm2020 → esm2022}/engine/flag-days-calendar.mjs +0 -0
  489. /package/datepicker/{esm2020 → esm2022}/engine/flag-months-calendar.mjs +0 -0
  490. /package/datepicker/{esm2020 → esm2022}/engine/flag-years-calendar.mjs +0 -0
  491. /package/datepicker/{esm2020 → esm2022}/engine/format-days-calendar.mjs +0 -0
  492. /package/datepicker/{esm2020 → esm2022}/engine/format-months-calendar.mjs +0 -0
  493. /package/datepicker/{esm2020 → esm2022}/engine/format-years-calendar.mjs +0 -0
  494. /package/datepicker/{esm2020 → esm2022}/engine/view-mode.mjs +0 -0
  495. /package/datepicker/{esm2020 → esm2022}/index.mjs +0 -0
  496. /package/datepicker/{esm2020 → esm2022}/models/index.mjs +0 -0
  497. /package/datepicker/{esm2020 → esm2022}/ngx-bootstrap-datepicker.mjs +0 -0
  498. /package/datepicker/{esm2020 → esm2022}/public_api.mjs +0 -0
  499. /package/datepicker/{esm2020 → esm2022}/reducer/_defaults.mjs +0 -0
  500. /package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.reducer.mjs +0 -0
  501. /package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.state.mjs +0 -0
  502. /package/datepicker/{esm2020 → esm2022}/utils/bs-calendar-utils.mjs +0 -0
  503. /package/datepicker/{esm2020 → esm2022}/utils/copy-time-utils.mjs +0 -0
  504. /package/datepicker/{esm2020 → esm2022}/utils/matrix-utils.mjs +0 -0
  505. /package/dropdown/{esm2020 → esm2022}/dropdown-animations.mjs +0 -0
  506. /package/dropdown/{esm2020 → esm2022}/index.mjs +0 -0
  507. /package/dropdown/{esm2020 → esm2022}/ngx-bootstrap-dropdown.mjs +0 -0
  508. /package/dropdown/{esm2020 → esm2022}/public_api.mjs +0 -0
  509. /package/{esm2020 → esm2022}/index.mjs +0 -0
  510. /package/{esm2020 → esm2022}/ngx-bootstrap.mjs +0 -0
  511. /package/{fesm2015 → fesm2022}/ngx-bootstrap.mjs +0 -0
  512. /package/focus-trap/{esm2020 → esm2022}/boolean-property.mjs +0 -0
  513. /package/focus-trap/{esm2020 → esm2022}/index.mjs +0 -0
  514. /package/focus-trap/{esm2020 → esm2022}/ngx-bootstrap-focus-trap.mjs +0 -0
  515. /package/focus-trap/{esm2020 → esm2022}/public_api.mjs +0 -0
  516. /package/locale/{esm2020 → esm2022}/index.mjs +0 -0
  517. /package/locale/{esm2020 → esm2022}/ngx-bootstrap-locale.mjs +0 -0
  518. /package/locale/{esm2020 → esm2022}/public_api.mjs +0 -0
  519. /package/locale/{fesm2015 → fesm2022}/ngx-bootstrap-locale.mjs +0 -0
  520. /package/mini-ngrx/{esm2020 → esm2022}/index.mjs +0 -0
  521. /package/mini-ngrx/{esm2020 → esm2022}/ngx-bootstrap-mini-ngrx.mjs +0 -0
  522. /package/mini-ngrx/{esm2020 → esm2022}/public_api.mjs +0 -0
  523. /package/mini-ngrx/{esm2020 → esm2022}/state.class.mjs +0 -0
  524. /package/mini-ngrx/{esm2020 → esm2022}/store.class.mjs +0 -0
  525. /package/mini-ngrx/{fesm2020 → fesm2022}/ngx-bootstrap-mini-ngrx.mjs +0 -0
  526. /package/modal/{esm2020 → esm2022}/index.mjs +0 -0
  527. /package/modal/{esm2020 → esm2022}/modal-backdrop.options.mjs +0 -0
  528. /package/modal/{esm2020 → esm2022}/models/index.mjs +0 -0
  529. /package/modal/{esm2020 → esm2022}/ngx-bootstrap-modal.mjs +0 -0
  530. /package/modal/{esm2020 → esm2022}/public_api.mjs +0 -0
  531. /package/pagination/{esm2020 → esm2022}/index.mjs +0 -0
  532. /package/pagination/{esm2020 → esm2022}/models/index.mjs +0 -0
  533. /package/pagination/{esm2020 → esm2022}/ngx-bootstrap-pagination.mjs +0 -0
  534. /package/pagination/{esm2020 → esm2022}/public_api.mjs +0 -0
  535. /package/popover/{esm2020 → esm2022}/index.mjs +0 -0
  536. /package/popover/{esm2020 → esm2022}/ngx-bootstrap-popover.mjs +0 -0
  537. /package/popover/{esm2020 → esm2022}/public_api.mjs +0 -0
  538. /package/positioning/{esm2020 → esm2022}/index.mjs +0 -0
  539. /package/positioning/{esm2020 → esm2022}/models/index.mjs +0 -0
  540. /package/positioning/{esm2020 → esm2022}/modifiers/arrow.mjs +0 -0
  541. /package/positioning/{esm2020 → esm2022}/modifiers/flip.mjs +0 -0
  542. /package/positioning/{esm2020 → esm2022}/modifiers/index.mjs +0 -0
  543. /package/positioning/{esm2020 → esm2022}/modifiers/initData.mjs +0 -0
  544. /package/positioning/{esm2020 → esm2022}/modifiers/preventOverflow.mjs +0 -0
  545. /package/positioning/{esm2020 → esm2022}/modifiers/shift.mjs +0 -0
  546. /package/positioning/{esm2020 → esm2022}/ng-positioning.mjs +0 -0
  547. /package/positioning/{esm2020 → esm2022}/ngx-bootstrap-positioning.mjs +0 -0
  548. /package/positioning/{esm2020 → esm2022}/public_api.mjs +0 -0
  549. /package/positioning/{esm2020 → esm2022}/utils/checkMargin.mjs +0 -0
  550. /package/positioning/{esm2020 → esm2022}/utils/computeAutoPlacement.mjs +0 -0
  551. /package/positioning/{esm2020 → esm2022}/utils/findCommonOffsetParent.mjs +0 -0
  552. /package/positioning/{esm2020 → esm2022}/utils/getBordersSize.mjs +0 -0
  553. /package/positioning/{esm2020 → esm2022}/utils/getBoundaries.mjs +0 -0
  554. /package/positioning/{esm2020 → esm2022}/utils/getBoundingClientRect.mjs +0 -0
  555. /package/positioning/{esm2020 → esm2022}/utils/getClientRect.mjs +0 -0
  556. /package/positioning/{esm2020 → esm2022}/utils/getFixedPositionOffsetParent.mjs +0 -0
  557. /package/positioning/{esm2020 → esm2022}/utils/getOffsetParent.mjs +0 -0
  558. /package/positioning/{esm2020 → esm2022}/utils/getOffsetRectRelativeToArbitraryNode.mjs +0 -0
  559. /package/positioning/{esm2020 → esm2022}/utils/getOffsets.mjs +0 -0
  560. /package/positioning/{esm2020 → esm2022}/utils/getOppositePlacement.mjs +0 -0
  561. /package/positioning/{esm2020 → esm2022}/utils/getOppositeVariation.mjs +0 -0
  562. /package/positioning/{esm2020 → esm2022}/utils/getOuterSizes.mjs +0 -0
  563. /package/positioning/{esm2020 → esm2022}/utils/getParentNode.mjs +0 -0
  564. /package/positioning/{esm2020 → esm2022}/utils/getReferenceOffsets.mjs +0 -0
  565. /package/positioning/{esm2020 → esm2022}/utils/getRoot.mjs +0 -0
  566. /package/positioning/{esm2020 → esm2022}/utils/getScroll.mjs +0 -0
  567. /package/positioning/{esm2020 → esm2022}/utils/getScrollParent.mjs +0 -0
  568. /package/positioning/{esm2020 → esm2022}/utils/getStyleComputedProperty.mjs +0 -0
  569. /package/positioning/{esm2020 → esm2022}/utils/getTargetOffsets.mjs +0 -0
  570. /package/positioning/{esm2020 → esm2022}/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +0 -0
  571. /package/positioning/{esm2020 → esm2022}/utils/getWindowSizes.mjs +0 -0
  572. /package/positioning/{esm2020 → esm2022}/utils/includeScroll.mjs +0 -0
  573. /package/positioning/{esm2020 → esm2022}/utils/index.mjs +0 -0
  574. /package/positioning/{esm2020 → esm2022}/utils/isFixed.mjs +0 -0
  575. /package/positioning/{esm2020 → esm2022}/utils/isModifierEnabled.mjs +0 -0
  576. /package/positioning/{esm2020 → esm2022}/utils/isNumeric.mjs +0 -0
  577. /package/positioning/{esm2020 → esm2022}/utils/isOffsetContainer.mjs +0 -0
  578. /package/positioning/{esm2020 → esm2022}/utils/setStyles.mjs +0 -0
  579. /package/positioning/{esm2020 → esm2022}/utils/updateContainerClass.mjs +0 -0
  580. /package/progressbar/{esm2020 → esm2022}/index.mjs +0 -0
  581. /package/progressbar/{esm2020 → esm2022}/ngx-bootstrap-progressbar.mjs +0 -0
  582. /package/progressbar/{esm2020 → esm2022}/progressbar-type.interface.mjs +0 -0
  583. /package/progressbar/{esm2020 → esm2022}/public_api.mjs +0 -0
  584. /package/rating/{esm2020 → esm2022}/index.mjs +0 -0
  585. /package/rating/{esm2020 → esm2022}/models/index.mjs +0 -0
  586. /package/rating/{esm2020 → esm2022}/ngx-bootstrap-rating.mjs +0 -0
  587. /package/rating/{esm2020 → esm2022}/public_api.mjs +0 -0
  588. /package/sortable/{esm2020 → esm2022}/draggable-item.mjs +0 -0
  589. /package/sortable/{esm2020 → esm2022}/index.mjs +0 -0
  590. /package/sortable/{esm2020 → esm2022}/ngx-bootstrap-sortable.mjs +0 -0
  591. /package/sortable/{esm2020 → esm2022}/public_api.mjs +0 -0
  592. /package/tabs/{esm2020 → esm2022}/index.mjs +0 -0
  593. /package/tabs/{esm2020 → esm2022}/ngx-bootstrap-tabs.mjs +0 -0
  594. /package/tabs/{esm2020 → esm2022}/public_api.mjs +0 -0
  595. /package/timepicker/{esm2020 → esm2022}/index.mjs +0 -0
  596. /package/timepicker/{esm2020 → esm2022}/models/index.mjs +0 -0
  597. /package/timepicker/{esm2020 → esm2022}/ngx-bootstrap-timepicker.mjs +0 -0
  598. /package/timepicker/{esm2020 → esm2022}/public_api.mjs +0 -0
  599. /package/timepicker/{esm2020 → esm2022}/reducer/timepicker.reducer.mjs +0 -0
  600. /package/timepicker/{esm2020 → esm2022}/timepicker-controls.util.mjs +0 -0
  601. /package/timepicker/{esm2020 → esm2022}/timepicker.models.mjs +0 -0
  602. /package/timepicker/{esm2020 → esm2022}/timepicker.utils.mjs +0 -0
  603. /package/tooltip/{esm2020 → esm2022}/index.mjs +0 -0
  604. /package/tooltip/{esm2020 → esm2022}/ngx-bootstrap-tooltip.mjs +0 -0
  605. /package/tooltip/{esm2020 → esm2022}/public_api.mjs +0 -0
  606. /package/typeahead/{esm2020 → esm2022}/index.mjs +0 -0
  607. /package/typeahead/{esm2020 → esm2022}/latin-map.mjs +0 -0
  608. /package/typeahead/{esm2020 → esm2022}/models/index.mjs +0 -0
  609. /package/typeahead/{esm2020 → esm2022}/ngx-bootstrap-typeahead.mjs +0 -0
  610. /package/typeahead/{esm2020 → esm2022}/public_api.mjs +0 -0
  611. /package/typeahead/{esm2020 → esm2022}/typeahead-animations.mjs +0 -0
  612. /package/typeahead/{esm2020 → esm2022}/typeahead-match.class.mjs +0 -0
  613. /package/typeahead/{esm2020 → esm2022}/typeahead-options.class.mjs +0 -0
  614. /package/typeahead/{esm2020 → esm2022}/typeahead-order.class.mjs +0 -0
  615. /package/typeahead/{esm2020 → esm2022}/typeahead-utils.mjs +0 -0
  616. /package/utils/{esm2020 → esm2022}/decorators.mjs +0 -0
  617. /package/utils/{esm2020 → esm2022}/facade/browser.mjs +0 -0
  618. /package/utils/{esm2020 → esm2022}/index.mjs +0 -0
  619. /package/utils/{esm2020 → esm2022}/linked-list.class.mjs +0 -0
  620. /package/utils/{esm2020 → esm2022}/ngx-bootstrap-utils.mjs +0 -0
  621. /package/utils/{esm2020 → esm2022}/public_api.mjs +0 -0
  622. /package/utils/{esm2020 → esm2022}/theme-provider.mjs +0 -0
  623. /package/utils/{esm2020 → esm2022}/trigger.class.mjs +0 -0
  624. /package/utils/{esm2020 → esm2022}/utils.class.mjs +0 -0
  625. /package/utils/{esm2020 → esm2022}/warn-once.mjs +0 -0
@@ -1,261 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, HostBinding, Renderer2, ViewChild } from '@angular/core';
2
- import { take } from 'rxjs/operators';
3
- import { getFullYear, getMonth } from 'ngx-bootstrap/chronos';
4
- import { PositioningService } from 'ngx-bootstrap/positioning';
5
- import { TimepickerComponent } from 'ngx-bootstrap/timepicker';
6
- import { BsDatepickerAbstractComponent } from '../../base/bs-datepicker-container';
7
- import { BsDatepickerConfig } from '../../bs-datepicker.config';
8
- import { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';
9
- import { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';
10
- import { BsDatepickerStore } from '../../reducer/bs-datepicker.store';
11
- import { datepickerAnimation } from '../../datepicker-animations';
12
- import { dayInMilliseconds } from '../../reducer/_defaults';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "../../bs-datepicker.config";
15
- import * as i2 from "../../reducer/bs-datepicker.store";
16
- import * as i3 from "../../reducer/bs-datepicker.actions";
17
- import * as i4 from "../../reducer/bs-datepicker.effects";
18
- import * as i5 from "ngx-bootstrap/positioning";
19
- import * as i6 from "@angular/common";
20
- import * as i7 from "ngx-bootstrap/timepicker";
21
- import * as i8 from "./bs-custom-dates-view.component";
22
- import * as i9 from "./bs-days-calendar-view.component";
23
- import * as i10 from "./bs-months-calendar-view.component";
24
- import * as i11 from "./bs-years-calendar-view.component";
25
- export class BsDaterangepickerContainerComponent extends BsDatepickerAbstractComponent {
26
- constructor(_renderer, _config, _store, _element, _actions, _effects, _positionService) {
27
- super();
28
- this._config = _config;
29
- this._store = _store;
30
- this._element = _element;
31
- this._actions = _actions;
32
- this._positionService = _positionService;
33
- this.valueChange = new EventEmitter();
34
- this.animationState = 'void';
35
- this._rangeStack = [];
36
- this.chosenRange = [];
37
- this._subs = [];
38
- this.isRangePicker = true;
39
- this._effects = _effects;
40
- this.customRanges = this._config.ranges || [];
41
- this.customRangeBtnLbl = this._config.customRangeButtonLabel;
42
- _renderer.setStyle(_element.nativeElement, 'display', 'block');
43
- _renderer.setStyle(_element.nativeElement, 'position', 'absolute');
44
- }
45
- set value(value) {
46
- this._effects?.setRangeValue(value);
47
- }
48
- get isDatePickerDisabled() {
49
- return !!this._config.isDisabled;
50
- }
51
- get isDatepickerDisabled() {
52
- return this.isDatePickerDisabled ? '' : null;
53
- }
54
- get isDatepickerReadonly() {
55
- return this.isDatePickerDisabled ? '' : null;
56
- }
57
- ngOnInit() {
58
- this._positionService.setOptions({
59
- modifiers: {
60
- flip: {
61
- enabled: this._config.adaptivePosition
62
- },
63
- preventOverflow: {
64
- enabled: this._config.adaptivePosition
65
- }
66
- },
67
- allowedPositions: this._config.allowedPositions
68
- });
69
- this._positionService.event$?.pipe(take(1))
70
- .subscribe(() => {
71
- this._positionService.disable();
72
- if (this._config.isAnimated) {
73
- this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';
74
- return;
75
- }
76
- this.animationState = 'unanimated';
77
- });
78
- this.containerClass = this._config.containerClass;
79
- this.isOtherMonthsActive = this._config.selectFromOtherMonth;
80
- this.withTimepicker = this._config.withTimepicker;
81
- this._effects?.init(this._store)
82
- // intial state options
83
- // todo: fix this, split configs
84
- .setOptions(this._config)
85
- // data binding view --> model
86
- .setBindings(this)
87
- // set event handlers
88
- .setEventHandlers(this)
89
- .registerDatepickerSideEffects();
90
- let currentDate;
91
- // todo: move it somewhere else
92
- // on selected date change
93
- this._subs.push(this._store
94
- .select(state => state.selectedRange)
95
- .subscribe(dateRange => {
96
- currentDate = dateRange;
97
- this.valueChange.emit(dateRange);
98
- this.chosenRange = dateRange || [];
99
- }));
100
- this._subs.push(this._store
101
- .select(state => state.selectedTime)
102
- .subscribe((time) => {
103
- if ((!time[0] || !time[1]) ||
104
- (!(time[0] instanceof Date) || !(time[1] instanceof Date)) ||
105
- (currentDate && (time[0] === currentDate[0] && time[1] === currentDate[1]))) {
106
- return;
107
- }
108
- this.valueChange.emit(time);
109
- this.chosenRange = time || [];
110
- }));
111
- }
112
- ngAfterViewInit() {
113
- this.selectedTimeSub.add(this.selectedTime?.subscribe((val) => {
114
- if (Array.isArray(val) && val.length >= 2) {
115
- this.startTimepicker?.writeValue(val[0]);
116
- this.endTimepicker?.writeValue(val[1]);
117
- }
118
- }));
119
- this.startTimepicker?.registerOnChange((val) => {
120
- this.timeSelectHandler(val, 0);
121
- });
122
- this.endTimepicker?.registerOnChange((val) => {
123
- this.timeSelectHandler(val, 1);
124
- });
125
- }
126
- get isTopPosition() {
127
- return this._element.nativeElement.classList.contains('top');
128
- }
129
- positionServiceEnable() {
130
- this._positionService.enable();
131
- }
132
- timeSelectHandler(date, index) {
133
- this._store.dispatch(this._actions.selectTime(date, index));
134
- }
135
- daySelectHandler(day) {
136
- if (!day) {
137
- return;
138
- }
139
- const isDisabled = this.isOtherMonthsActive ? day.isDisabled : (day.isOtherMonth || day.isDisabled);
140
- if (isDisabled) {
141
- return;
142
- }
143
- this.rangesProcessing(day);
144
- }
145
- monthSelectHandler(day) {
146
- if (!day || day.isDisabled) {
147
- return;
148
- }
149
- day.isSelected = true;
150
- if (this._config.minMode !== 'month') {
151
- if (day.isDisabled) {
152
- return;
153
- }
154
- this._store.dispatch(this._actions.navigateTo({
155
- unit: {
156
- month: getMonth(day.date),
157
- year: getFullYear(day.date)
158
- },
159
- viewMode: 'day'
160
- }));
161
- return;
162
- }
163
- this.rangesProcessing(day);
164
- }
165
- yearSelectHandler(day) {
166
- if (!day || day.isDisabled) {
167
- return;
168
- }
169
- day.isSelected = true;
170
- if (this._config.minMode !== 'year') {
171
- if (day.isDisabled) {
172
- return;
173
- }
174
- this._store.dispatch(this._actions.navigateTo({
175
- unit: {
176
- year: getFullYear(day.date)
177
- },
178
- viewMode: 'month'
179
- }));
180
- return;
181
- }
182
- this.rangesProcessing(day);
183
- }
184
- rangesProcessing(day) {
185
- // if only one date is already selected
186
- // and user clicks on previous date
187
- // start selection from new date
188
- // but if new date is after initial one
189
- // than finish selection
190
- if (this._rangeStack.length === 1) {
191
- this._rangeStack =
192
- day.date >= this._rangeStack[0]
193
- ? [this._rangeStack[0], day.date]
194
- : [day.date];
195
- }
196
- if (this._config.maxDateRange) {
197
- this.setMaxDateRangeOnCalendar(day.date);
198
- }
199
- if (this._rangeStack.length === 0) {
200
- this._rangeStack = [day.date];
201
- if (this._config.maxDateRange) {
202
- this.setMaxDateRangeOnCalendar(day.date);
203
- }
204
- }
205
- this._store.dispatch(this._actions.selectRange(this._rangeStack));
206
- if (this._rangeStack.length === 2) {
207
- this._rangeStack = [];
208
- }
209
- }
210
- ngOnDestroy() {
211
- for (const sub of this._subs) {
212
- sub.unsubscribe();
213
- }
214
- this.selectedTimeSub.unsubscribe();
215
- this._effects?.destroy();
216
- }
217
- setRangeOnCalendar(dates) {
218
- if (dates) {
219
- this._rangeStack = dates.value instanceof Date ? [dates.value] : dates.value;
220
- }
221
- this._store.dispatch(this._actions.selectRange(this._rangeStack));
222
- }
223
- setMaxDateRangeOnCalendar(currentSelection) {
224
- let maxDateRange = new Date(currentSelection);
225
- if (this._config.maxDate) {
226
- const maxDateValueInMilliseconds = this._config.maxDate.getTime();
227
- const maxDateRangeInMilliseconds = currentSelection.getTime() + ((this._config.maxDateRange || 0) * dayInMilliseconds);
228
- maxDateRange = maxDateRangeInMilliseconds > maxDateValueInMilliseconds ?
229
- new Date(this._config.maxDate) :
230
- new Date(maxDateRangeInMilliseconds);
231
- }
232
- else {
233
- maxDateRange.setDate(currentSelection.getDate() + (this._config.maxDateRange || 0));
234
- }
235
- this._effects?.setMaxDate(maxDateRange);
236
- }
237
- }
238
- BsDaterangepickerContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsDaterangepickerContainerComponent, deps: [{ token: i0.Renderer2 }, { token: i1.BsDatepickerConfig }, { token: i2.BsDatepickerStore }, { token: i0.ElementRef }, { token: i3.BsDatepickerActions }, { token: i4.BsDatepickerEffects }, { token: i5.PositioningService }], target: i0.ɵɵFactoryTarget.Component });
239
- BsDaterangepickerContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BsDaterangepickerContainerComponent, selector: "bs-daterangepicker-container", host: { attributes: { "role": "dialog", "aria-label": "calendar" }, listeners: { "click": "_stopPropagation($event)" }, properties: { "attr.disabled": "this.isDatepickerDisabled", "attr.readonly": "this.isDatepickerReadonly" }, classAttribute: "bottom" }, providers: [BsDatepickerStore, BsDatepickerEffects], viewQueries: [{ propertyName: "startTimepicker", first: true, predicate: ["startTP"], descendants: true }, { propertyName: "endTimepicker", first: true, predicate: ["endTP"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\n [options]=\"options$ | async\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"dayHoverHandler($event)\"\n (onHoverWeek)=\"weekHoverHandler($event)\"\n (onSelect)=\"daySelectHandler($event)\">\n </bs-days-calendar-view>\n </div>\n <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\n <div *ngSwitchCase=\"'month'\" class=\"bs-media-container\">\n <bs-month-calendar-view\n *ngFor=\"let calendar of monthsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"monthHoverHandler($event)\"\n (onSelect)=\"monthSelectHandler($event)\">\n </bs-month-calendar-view>\n </div>\n\n <!--years calendar-->\n <div *ngSwitchCase=\"'year'\" class=\"bs-media-container\">\n <bs-years-calendar-view\n *ngFor=\"let calendar of yearsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"yearHoverHandler($event)\"\n (onSelect)=\"yearSelectHandler($event)\">\n </bs-years-calendar-view>\n </div>\n </div>\n\n <!--applycancel buttons-->\n <div class=\"bs-datepicker-buttons\" *ngIf=\"false\">\n <button class=\"btn btn-success\" type=\"button\">Apply</button>\n <button class=\"btn btn-default\" type=\"button\">Cancel</button>\n </div>\n\n <div class=\"bs-datepicker-buttons\" *ngIf=\"showTodayBtn || showClearBtn\">\n <div class=\"btn-today-wrapper\"\n [class.today-left]=\"todayPos === 'left'\"\n [class.today-right]=\"todayPos === 'right'\"\n [class.today-center]=\"todayPos === 'center'\"\n *ngIf=\"showTodayBtn\">\n <button class=\"btn btn-success\" (click)=\"setToday()\">{{todayBtnLbl}}</button>\n </div>\n\n <div class=\"btn-clear-wrapper\"\n [class.clear-left]=\"clearPos === 'left'\"\n [class.clear-right]=\"clearPos === 'right'\"\n [class.clear-center]=\"clearPos === 'center'\"\n *ngIf=\"showClearBtn\">\n <button class=\"btn btn-success\" (click)=\"clearDate()\">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && customRanges.length > 0\">\n <bs-custom-date-view\n [selectedRange]=\"chosenRange\"\n [ranges]=\"customRanges\"\n [customRangeLabel]=\"customRangeBtnLbl\"\n (onSelect)=\"setRangeOnCalendar($event)\">\n </bs-custom-date-view>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "component", type: i8.BsCustomDatesViewComponent, selector: "bs-custom-date-view", inputs: ["ranges", "selectedRange", "customRangeLabel"], outputs: ["onSelect"] }, { kind: "component", type: i9.BsDaysCalendarViewComponent, selector: "bs-days-calendar-view", inputs: ["calendar", "options", "isDisabled"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover", "onHoverWeek"] }, { kind: "component", type: i10.BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: i11.BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], animations: [datepickerAnimation] });
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsDaterangepickerContainerComponent, decorators: [{
241
- type: Component,
242
- args: [{ selector: 'bs-daterangepicker-container', providers: [BsDatepickerStore, BsDatepickerEffects], host: {
243
- class: 'bottom',
244
- '(click)': '_stopPropagation($event)',
245
- role: 'dialog',
246
- 'aria-label': 'calendar'
247
- }, animations: [datepickerAnimation], template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\n [options]=\"options$ | async\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"dayHoverHandler($event)\"\n (onHoverWeek)=\"weekHoverHandler($event)\"\n (onSelect)=\"daySelectHandler($event)\">\n </bs-days-calendar-view>\n </div>\n <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\n <div *ngSwitchCase=\"'month'\" class=\"bs-media-container\">\n <bs-month-calendar-view\n *ngFor=\"let calendar of monthsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"monthHoverHandler($event)\"\n (onSelect)=\"monthSelectHandler($event)\">\n </bs-month-calendar-view>\n </div>\n\n <!--years calendar-->\n <div *ngSwitchCase=\"'year'\" class=\"bs-media-container\">\n <bs-years-calendar-view\n *ngFor=\"let calendar of yearsCalendar | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n (onNavigate)=\"navigateTo($event)\"\n (onViewMode)=\"setViewMode($event)\"\n (onHover)=\"yearHoverHandler($event)\"\n (onSelect)=\"yearSelectHandler($event)\">\n </bs-years-calendar-view>\n </div>\n </div>\n\n <!--applycancel buttons-->\n <div class=\"bs-datepicker-buttons\" *ngIf=\"false\">\n <button class=\"btn btn-success\" type=\"button\">Apply</button>\n <button class=\"btn btn-default\" type=\"button\">Cancel</button>\n </div>\n\n <div class=\"bs-datepicker-buttons\" *ngIf=\"showTodayBtn || showClearBtn\">\n <div class=\"btn-today-wrapper\"\n [class.today-left]=\"todayPos === 'left'\"\n [class.today-right]=\"todayPos === 'right'\"\n [class.today-center]=\"todayPos === 'center'\"\n *ngIf=\"showTodayBtn\">\n <button class=\"btn btn-success\" (click)=\"setToday()\">{{todayBtnLbl}}</button>\n </div>\n\n <div class=\"btn-clear-wrapper\"\n [class.clear-left]=\"clearPos === 'left'\"\n [class.clear-right]=\"clearPos === 'right'\"\n [class.clear-center]=\"clearPos === 'center'\"\n *ngIf=\"showClearBtn\">\n <button class=\"btn btn-success\" (click)=\"clearDate()\">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && customRanges.length > 0\">\n <bs-custom-date-view\n [selectedRange]=\"chosenRange\"\n [ranges]=\"customRanges\"\n [customRangeLabel]=\"customRangeBtnLbl\"\n (onSelect)=\"setRangeOnCalendar($event)\">\n </bs-custom-date-view>\n </div>\n</div>\n" }]
248
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.BsDatepickerConfig }, { type: i2.BsDatepickerStore }, { type: i0.ElementRef }, { type: i3.BsDatepickerActions }, { type: i4.BsDatepickerEffects }, { type: i5.PositioningService }]; }, propDecorators: { startTimepicker: [{
249
- type: ViewChild,
250
- args: ['startTP']
251
- }], endTimepicker: [{
252
- type: ViewChild,
253
- args: ['endTP']
254
- }], isDatepickerDisabled: [{
255
- type: HostBinding,
256
- args: ['attr.disabled']
257
- }], isDatepickerReadonly: [{
258
- type: HostBinding,
259
- args: ['attr.readonly']
260
- }] } });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZXBpY2tlci90aGVtZXMvYnMvYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZXBpY2tlci90aGVtZXMvYnMvYnMtZGF0ZXBpY2tlci12aWV3Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUFFLFdBQVcsRUFHekIsU0FBUyxFQUNULFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWM1RCxNQUFNLE9BQU8sbUNBQW9DLFNB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SUE1UVUsbUNBQW1DO29IQUFuQyxtQ0FBbUMsdVRBVm5DLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsc1BDOUJyRCw0M0hBNEZBLDhyRER0RGMsQ0FBQyxtQkFBbUIsQ0FBQzsyRkFFdEIsbUNBQW1DO2tCQVovQyxTQUFTOytCQUNFLDhCQUE4QixhQUM3QixDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLFFBRTdDO3dCQUNKLEtBQUssRUFBRSxRQUFRO3dCQUNmLFNBQVMsRUFBRSwwQkFBMEI7d0JBQ3JDLElBQUksRUFBRSxRQUFRO3dCQUNkLFlBQVksRUFBRSxVQUFVO3FCQUN6QixjQUNXLENBQUMsbUJBQW1CLENBQUM7K1JBaUJYLGVBQWU7c0JBQXBDLFNBQVM7dUJBQUMsU0FBUztnQkFDQSxhQUFhO3NCQUFoQyxTQUFTO3VCQUFDLE9BQU87Z0JBTWlCLG9CQUFvQjtzQkFBdEQsV0FBVzt1QkFBRSxlQUFlO2dCQUlNLG9CQUFvQjtzQkFBdEQsV0FBVzt1QkFBRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZ2V0RnVsbFllYXIsIGdldE1vbnRoIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jaHJvbm9zJztcbmltcG9ydCB7IFBvc2l0aW9uaW5nU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvcG9zaXRpb25pbmcnO1xuaW1wb3J0IHsgVGltZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJ25neC1ib290c3RyYXAvdGltZXBpY2tlcic7XG5cbmltcG9ydCB7IEJzRGF0ZXBpY2tlckFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS9icy1kYXRlcGlja2VyLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJDb25maWcgfSBmcm9tICcuLi8uLi9icy1kYXRlcGlja2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxWaWV3TW9kZWwsIERheVZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJBY3Rpb25zIH0gZnJvbSAnLi4vLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLmFjdGlvbnMnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyRWZmZWN0cyB9IGZyb20gJy4uLy4uL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5lZmZlY3RzJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlclN0b3JlIH0gZnJvbSAnLi4vLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLnN0b3JlJztcbmltcG9ydCB7IGRhdGVwaWNrZXJBbmltYXRpb24gfSBmcm9tICcuLi8uLi9kYXRlcGlja2VyLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQnNDdXN0b21EYXRlcyB9IGZyb20gJy4vYnMtY3VzdG9tLWRhdGVzLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IGRheUluTWlsbGlzZWNvbmRzIH0gZnJvbSAnLi4vLi4vcmVkdWNlci9fZGVmYXVsdHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1kYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyJyxcbiAgcHJvdmlkZXJzOiBbQnNEYXRlcGlja2VyU3RvcmUsIEJzRGF0ZXBpY2tlckVmZmVjdHNdLFxuICB0ZW1wbGF0ZVVybDogJy4vYnMtZGF0ZXBpY2tlci12aWV3Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdib3R0b20nLFxuICAgICcoY2xpY2spJzogJ19zdG9wUHJvcGFnYXRpb24oJGV2ZW50KScsXG4gICAgcm9sZTogJ2RpYWxvZycsXG4gICAgJ2FyaWEtbGFiZWwnOiAnY2FsZW5kYXInXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFtkYXRlcGlja2VyQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBCc0RhdGVyYW5nZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEJzRGF0ZXBpY2tlckFic3RyYWN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIHNldCB2YWx1ZSh2YWx1ZTogKERhdGV8dW5kZWZpbmVkKVtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZWZmZWN0cz8uc2V0UmFuZ2VWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuICBhbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcblxuICBfcmFuZ2VTdGFjazogRGF0ZVtdID0gW107XG4gIG92ZXJyaWRlIGNob3NlblJhbmdlOiBEYXRlW10gPSBbXTtcbiAgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIG92ZXJyaWRlIGlzUmFuZ2VQaWNrZXIgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ3N0YXJ0VFAnKSBzdGFydFRpbWVwaWNrZXI/OiBUaW1lcGlja2VyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdlbmRUUCcpIGVuZFRpbWVwaWNrZXI/OiBUaW1lcGlja2VyQ29tcG9uZW50O1xuXG4gIGdldCBpc0RhdGVQaWNrZXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb25maWcuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyAoJ2F0dHIuZGlzYWJsZWQnKSBnZXQgaXNEYXRlcGlja2VyRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNEYXRlUGlja2VyRGlzYWJsZWQgPyAnJyA6IG51bGw7XG4gIH1cblxuICBASG9zdEJpbmRpbmcgKCdhdHRyLnJlYWRvbmx5JykgZ2V0IGlzRGF0ZXBpY2tlclJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLmlzRGF0ZVBpY2tlckRpc2FibGVkID8gJycgOiBudWxsO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfY29uZmlnOiBCc0RhdGVwaWNrZXJDb25maWcsXG4gICAgcHJpdmF0ZSBfc3RvcmU6IEJzRGF0ZXBpY2tlclN0b3JlLFxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfYWN0aW9uczogQnNEYXRlcGlja2VyQWN0aW9ucyxcbiAgICBfZWZmZWN0czogQnNEYXRlcGlja2VyRWZmZWN0cyxcbiAgICBwcml2YXRlIF9wb3NpdGlvblNlcnZpY2U6IFBvc2l0aW9uaW5nU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2VmZmVjdHMgPSBfZWZmZWN0cztcblxuICAgIHRoaXMuY3VzdG9tUmFuZ2VzID0gdGhpcy5fY29uZmlnLnJhbmdlcyB8fCBbXTtcbiAgICB0aGlzLmN1c3RvbVJhbmdlQnRuTGJsID0gdGhpcy5fY29uZmlnLmN1c3RvbVJhbmdlQnV0dG9uTGFiZWw7XG5cbiAgICBfcmVuZGVyZXIuc2V0U3R5bGUoX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcbiAgICBfcmVuZGVyZXIuc2V0U3R5bGUoX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvblNlcnZpY2Uuc2V0T3B0aW9ucyh7XG4gICAgICBtb2RpZmllcnM6IHtcbiAgICAgICAgZmxpcDoge1xuICAgICAgICAgIGVuYWJsZWQ6IHRoaXMuX2NvbmZpZy5hZGFwdGl2ZVBvc2l0aW9uXG4gICAgICAgIH0sXG4gICAgICAgIHByZXZlbnRPdmVyZmxvdzoge1xuICAgICAgICAgIGVuYWJsZWQ6IHRoaXMuX2NvbmZpZy5hZGFwdGl2ZVBvc2l0aW9uXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBhbGxvd2VkUG9zaXRpb25zOiB0aGlzLl9jb25maWcuYWxsb3dlZFBvc2l0aW9uc1xuICAgIH0pO1xuXG4gICAgdGhpcy5fcG9zaXRpb25TZXJ2aWNlLmV2ZW50JD8ucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5kaXNhYmxlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5pc0FuaW1hdGVkKSB7XG4gICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9IHRoaXMuaXNUb3BQb3NpdGlvbiA/ICdhbmltYXRlZC11cCcgOiAnYW5pbWF0ZWQtZG93bic7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gJ3VuYW5pbWF0ZWQnO1xuICAgICAgfSk7XG4gICAgdGhpcy5jb250YWluZXJDbGFzcyA9IHRoaXMuX2NvbmZpZy5jb250YWluZXJDbGFzcztcbiAgICB0aGlzLmlzT3RoZXJNb250aHNBY3RpdmUgPSB0aGlzLl9jb25maWcuc2VsZWN0RnJvbU90aGVyTW9udGg7XG4gICAgdGhpcy53aXRoVGltZXBpY2tlciA9IHRoaXMuX2NvbmZpZy53aXRoVGltZXBpY2tlcjtcbiAgICB0aGlzLl9lZmZlY3RzPy5pbml0KHRoaXMuX3N0b3JlKVxuICAgICAgLy8gaW50aWFsIHN0YXRlIG9wdGlvbnNcbiAgICAgIC8vIHRvZG86IGZpeCB0aGlzLCBzcGxpdCBjb25maWdzXG4gICAgICAuc2V0T3B0aW9ucyh0aGlzLl9jb25maWcpXG4gICAgICAvLyBkYXRhIGJpbmRpbmcgdmlldyAtLT4gbW9kZWxcbiAgICAgIC5zZXRCaW5kaW5ncyh0aGlzKVxuICAgICAgLy8gc2V0IGV2ZW50IGhhbmRsZXJzXG4gICAgICAuc2V0RXZlbnRIYW5kbGVycyh0aGlzKVxuICAgICAgLnJlZ2lzdGVyRGF0ZXBpY2tlclNpZGVFZmZlY3RzKCk7XG4gICAgbGV0IGN1cnJlbnREYXRlOiBEYXRlW10gfCB1bmRlZmluZWQ7XG4gICAgLy8gdG9kbzogbW92ZSBpdCBzb21ld2hlcmUgZWxzZVxuICAgIC8vIG9uIHNlbGVjdGVkIGRhdGUgY2hhbmdlXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmVcbiAgICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5zZWxlY3RlZFJhbmdlKVxuICAgICAgICAuc3Vic2NyaWJlKGRhdGVSYW5nZSA9PiB7XG4gICAgICAgICAgY3VycmVudERhdGUgPSBkYXRlUmFuZ2U7XG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGRhdGVSYW5nZSk7XG4gICAgICAgICAgdGhpcy5jaG9zZW5SYW5nZSA9IGRhdGVSYW5nZSB8fCBbXTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmVcbiAgICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5zZWxlY3RlZFRpbWUpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRpbWU6YW55KSA9PiB7XG4gICAgICAgICAgaWYgKCghdGltZVswXSB8fCAhdGltZVsxXSkgfHxcbiAgICAgICAgICAgICAoISh0aW1lWzBdIGluc3RhbmNlb2YgRGF0ZSkgfHwgISh0aW1lWzFdIGluc3RhbmNlb2YgRGF0ZSkpIHx8XG4gICAgICAgICAgICAgKGN1cnJlbnREYXRlICYmICh0aW1lWzBdID09PSBjdXJyZW50RGF0ZVswXSAmJiB0aW1lWzFdID09PSBjdXJyZW50RGF0ZVsxXSkpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRpbWUpO1xuICAgICAgICAgIHRoaXMuY2hvc2VuUmFuZ2UgPSB0aW1lIHx8IFtdO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWVTdWIuYWRkKHRoaXMuc2VsZWN0ZWRUaW1lPy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSAmJiB2YWwubGVuZ3RoID49IDIpIHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWVwaWNrZXI/LndyaXRlVmFsdWUodmFsWzBdKTtcbiAgICAgICAgdGhpcy5lbmRUaW1lcGlja2VyPy53cml0ZVZhbHVlKHZhbFsxXSk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMuc3RhcnRUaW1lcGlja2VyPy5yZWdpc3Rlck9uQ2hhbmdlKCh2YWwpID0+IHtcbiAgICAgIHRoaXMudGltZVNlbGVjdEhhbmRsZXIodmFsLCAwKTtcbiAgICB9KTtcbiAgICB0aGlzLmVuZFRpbWVwaWNrZXI/LnJlZ2lzdGVyT25DaGFuZ2UoKHZhbCkgPT4ge1xuICAgICAgdGhpcy50aW1lU2VsZWN0SGFuZGxlcih2YWwsIDEpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGlzVG9wUG9zaXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3RvcCcpO1xuICB9XG5cbiAgcG9zaXRpb25TZXJ2aWNlRW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5lbmFibGUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRpbWVTZWxlY3RIYW5kbGVyKGRhdGU6IERhdGUsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFRpbWUoZGF0ZSwgaW5kZXgpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGRheVNlbGVjdEhhbmRsZXIoZGF5OiBEYXlWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIWRheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5pc090aGVyTW9udGhzQWN0aXZlID8gZGF5LmlzRGlzYWJsZWQgOiAoZGF5LmlzT3RoZXJNb250aCB8fCBkYXkuaXNEaXNhYmxlZCk7XG5cbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJhbmdlc1Byb2Nlc3NpbmcoZGF5KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG1vbnRoU2VsZWN0SGFuZGxlcihkYXk6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCk6IHZvaWQge1xuICAgIGlmICghZGF5IHx8IGRheS5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5taW5Nb2RlICE9PSAnbW9udGgnKSB7XG4gICAgICBpZiAoZGF5LmlzRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuX2FjdGlvbnMubmF2aWdhdGVUbyh7XG4gICAgICAgICAgdW5pdDoge1xuICAgICAgICAgICAgbW9udGg6IGdldE1vbnRoKGRheS5kYXRlKSxcbiAgICAgICAgICAgIHllYXI6IGdldEZ1bGxZZWFyKGRheS5kYXRlKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdmlld01vZGU6ICdkYXknXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmFuZ2VzUHJvY2Vzc2luZyhkYXkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgeWVhclNlbGVjdEhhbmRsZXIoZGF5OiBDYWxlbmRhckNlbGxWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIWRheSB8fCBkYXkuaXNEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRheS5pc1NlbGVjdGVkID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubWluTW9kZSAhPT0gJ3llYXInKSB7XG4gICAgICBpZiAoZGF5LmlzRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuX2FjdGlvbnMubmF2aWdhdGVUbyh7XG4gICAgICAgICAgdW5pdDoge1xuICAgICAgICAgICAgeWVhcjogZ2V0RnVsbFllYXIoZGF5LmRhdGUpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB2aWV3TW9kZTogJ21vbnRoJ1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJhbmdlc1Byb2Nlc3NpbmcoZGF5KTtcbiAgfVxuXG4gIHJhbmdlc1Byb2Nlc3NpbmcoZGF5OiBDYWxlbmRhckNlbGxWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICAvLyBpZiBvbmx5IG9uZSBkYXRlIGlzIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAvLyBhbmQgdXNlciBjbGlja3Mgb24gcHJldmlvdXMgZGF0ZVxuICAgIC8vIHN0YXJ0IHNlbGVjdGlvbiBmcm9tIG5ldyBkYXRlXG4gICAgLy8gYnV0IGlmIG5ldyBkYXRlIGlzIGFmdGVyIGluaXRpYWwgb25lXG4gICAgLy8gdGhhbiBmaW5pc2ggc2VsZWN0aW9uXG5cbiAgICBpZiAodGhpcy5fcmFuZ2VTdGFjay5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuX3JhbmdlU3RhY2sgPVxuICAgICAgICBkYXkuZGF0ZSA+PSB0aGlzLl9yYW5nZVN0YWNrWzBdXG4gICAgICAgICAgPyBbdGhpcy5fcmFuZ2VTdGFja1swXSwgZGF5LmRhdGVdXG4gICAgICAgICAgOiAgW2RheS5kYXRlXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLm1heERhdGVSYW5nZSkge1xuICAgICAgdGhpcy5zZXRNYXhEYXRlUmFuZ2VPbkNhbGVuZGFyKGRheS5kYXRlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmFuZ2VTdGFjay5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3JhbmdlU3RhY2sgPSBbZGF5LmRhdGVdO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnLm1heERhdGVSYW5nZSkge1xuICAgICAgICB0aGlzLnNldE1heERhdGVSYW5nZU9uQ2FsZW5kYXIoZGF5LmRhdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuc2VsZWN0UmFuZ2UodGhpcy5fcmFuZ2VTdGFjaykpO1xuXG4gICAgaWYgKHRoaXMuX3JhbmdlU3RhY2subGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLl9yYW5nZVN0YWNrID0gW107XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWIgb2YgdGhpcy5fc3Vicykge1xuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRUaW1lU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fZWZmZWN0cz8uZGVzdHJveSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0UmFuZ2VPbkNhbGVuZGFyKGRhdGVzOiBCc0N1c3RvbURhdGVzKTogdm9pZCB7XG4gICAgaWYgKGRhdGVzKSB7XG4gICAgICB0aGlzLl9yYW5nZVN0YWNrID0gZGF0ZXMudmFsdWUgaW5zdGFuY2VvZiBEYXRlID8gW2RhdGVzLnZhbHVlXSA6IGRhdGVzLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFJhbmdlKHRoaXMuX3JhbmdlU3RhY2spKTtcbiAgfVxuXG4gIHNldE1heERhdGVSYW5nZU9uQ2FsZW5kYXIoY3VycmVudFNlbGVjdGlvbjogRGF0ZSk6IHZvaWQge1xuICAgIGxldCBtYXhEYXRlUmFuZ2UgPSBuZXcgRGF0ZShjdXJyZW50U2VsZWN0aW9uKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubWF4RGF0ZSkge1xuICAgICAgY29uc3QgbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHMgPSB0aGlzLl9jb25maWcubWF4RGF0ZS5nZXRUaW1lKCk7XG4gICAgICBjb25zdCBtYXhEYXRlUmFuZ2VJbk1pbGxpc2Vjb25kcyA9IGN1cnJlbnRTZWxlY3Rpb24uZ2V0VGltZSgpICsgKCh0aGlzLl9jb25maWcubWF4RGF0ZVJhbmdlIHx8IDApICogZGF5SW5NaWxsaXNlY29uZHMgKTtcbiAgICAgIG1heERhdGVSYW5nZSA9IG1heERhdGVSYW5nZUluTWlsbGlzZWNvbmRzID4gbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHMgP1xuICAgICAgICBuZXcgRGF0ZSh0aGlzLl9jb25maWcubWF4RGF0ZSkgOlxuICAgICAgICBuZXcgRGF0ZShtYXhEYXRlUmFuZ2VJbk1pbGxpc2Vjb25kcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1heERhdGVSYW5nZS5zZXREYXRlKGN1cnJlbnRTZWxlY3Rpb24uZ2V0RGF0ZSgpICsgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UgfHwgMCkpO1xuICAgIH1cblxuICAgIHRoaXMuX2VmZmVjdHM/LnNldE1heERhdGUobWF4RGF0ZVJhbmdlKTtcbiAgfVxufVxuIiwiPCEtLSBkYXlzIGNhbGVuZGFyIHZpZXcgbW9kZSAtLT5cbjxkaXYgY2xhc3M9XCJicy1kYXRlcGlja2VyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiAqbmdJZj1cInZpZXdNb2RlIHwgYXN5bmNcIj5cbiAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItY29udGFpbmVyXCJcbiAgICBbQGRhdGVwaWNrZXJBbmltYXRpb25dPVwiYW5pbWF0aW9uU3RhdGVcIlxuICAgIChAZGF0ZXBpY2tlckFuaW1hdGlvbi5kb25lKT1cInBvc2l0aW9uU2VydmljZUVuYWJsZSgpXCI+XG4gICAgPCEtLWNhbGVuZGFycy0tPlxuICAgIDxkaXYgY2xhc3M9XCJicy1jYWxlbmRhci1jb250YWluZXJcIiBbbmdTd2l0Y2hdPVwidmlld01vZGUgfCBhc3luY1wiIHJvbGU9XCJhcHBsaWNhdGlvblwiPlxuICAgICAgPCEtLWRheXMgY2FsZW5kYXItLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXknXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJicy1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgICA8YnMtZGF5cy1jYWxlbmRhci12aWV3XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgZGF5c0NhbGVuZGFyJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtjbGFzcy5icy1kYXRlcGlja2VyLW11bHRpcGxlXT1cIm11bHRpcGxlQ2FsZW5kYXJzXCJcbiAgICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJpc0RhdGVQaWNrZXJEaXNhYmxlZFwiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvbkhvdmVyKT1cImRheUhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIChvbkhvdmVyV2Vlayk9XCJ3ZWVrSG92ZXJIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgKG9uU2VsZWN0KT1cImRheVNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvYnMtZGF5cy1jYWxlbmRhci12aWV3PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIndpdGhUaW1lcGlja2VyXCIgY2xhc3M9XCJicy10aW1lcGlja2VyLWluLWRhdGVwaWNrZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgPHRpbWVwaWNrZXIgI3N0YXJ0VFAgW2Rpc2FibGVkXT1cImlzRGF0ZVBpY2tlckRpc2FibGVkXCI+PC90aW1lcGlja2VyPlxuICAgICAgICAgIDx0aW1lcGlja2VyICNlbmRUUCAqbmdJZj1cImlzUmFuZ2VQaWNrZXJcIiBbZGlzYWJsZWRdPVwiaXNEYXRlUGlja2VyRGlzYWJsZWRcIj48L3RpbWVwaWNrZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS1tb250aHMgY2FsZW5kYXItLT5cbiAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidtb250aCdcIiBjbGFzcz1cImJzLW1lZGlhLWNvbnRhaW5lclwiPlxuICAgICAgICA8YnMtbW9udGgtY2FsZW5kYXItdmlld1xuICAgICAgICAgICpuZ0Zvcj1cImxldCBjYWxlbmRhciBvZiBtb250aHNDYWxlbmRhciB8IGFzeW5jXCJcbiAgICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJtdWx0aXBsZUNhbGVuZGFyc1wiXG4gICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCJcbiAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgIChvblZpZXdNb2RlKT1cInNldFZpZXdNb2RlKCRldmVudClcIlxuICAgICAgICAgIChvbkhvdmVyKT1cIm1vbnRoSG92ZXJIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgIChvblNlbGVjdCk9XCJtb250aFNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiPlxuICAgICAgICA8L2JzLW1vbnRoLWNhbGVuZGFyLXZpZXc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLXllYXJzIGNhbGVuZGFyLS0+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIneWVhcidcIiBjbGFzcz1cImJzLW1lZGlhLWNvbnRhaW5lclwiPlxuICAgICAgICA8YnMteWVhcnMtY2FsZW5kYXItdmlld1xuICAgICAgICAgICpuZ0Zvcj1cImxldCBjYWxlbmRhciBvZiB5ZWFyc0NhbGVuZGFyIHwgYXN5bmNcIlxuICAgICAgICAgIFtjbGFzcy5icy1kYXRlcGlja2VyLW11bHRpcGxlXT1cIm11bHRpcGxlQ2FsZW5kYXJzXCJcbiAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uSG92ZXIpPVwieWVhckhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAob25TZWxlY3QpPVwieWVhclNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiPlxuICAgICAgICA8L2JzLXllYXJzLWNhbGVuZGFyLXZpZXc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS1hcHBseWNhbmNlbCBidXR0b25zLS0+XG4gICAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItYnV0dG9uc1wiICpuZ0lmPVwiZmFsc2VcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiB0eXBlPVwiYnV0dG9uXCI+QXBwbHk8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIiB0eXBlPVwiYnV0dG9uXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYnMtZGF0ZXBpY2tlci1idXR0b25zXCIgKm5nSWY9XCJzaG93VG9kYXlCdG4gfHwgc2hvd0NsZWFyQnRuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnRuLXRvZGF5LXdyYXBwZXJcIlxuICAgICAgICAgICBbY2xhc3MudG9kYXktbGVmdF09XCJ0b2RheVBvcyA9PT0gJ2xlZnQnXCJcbiAgICAgICAgICAgW2NsYXNzLnRvZGF5LXJpZ2h0XT1cInRvZGF5UG9zID09PSAncmlnaHQnXCJcbiAgICAgICAgICAgW2NsYXNzLnRvZGF5LWNlbnRlcl09XCJ0b2RheVBvcyA9PT0gJ2NlbnRlcidcIlxuICAgICAgICAgICAqbmdJZj1cInNob3dUb2RheUJ0blwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzXCIgKGNsaWNrKT1cInNldFRvZGF5KClcIj57e3RvZGF5QnRuTGJsfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tY2xlYXItd3JhcHBlclwiXG4gICAgICAgIFtjbGFzcy5jbGVhci1sZWZ0XT1cImNsZWFyUG9zID09PSAnbGVmdCdcIlxuICAgICAgICBbY2xhc3MuY2xlYXItcmlnaHRdPVwiY2xlYXJQb3MgPT09ICdyaWdodCdcIlxuICAgICAgICBbY2xhc3MuY2xlYXItY2VudGVyXT1cImNsZWFyUG9zID09PSAnY2VudGVyJ1wiXG4gICAgICAgICpuZ0lmPVwic2hvd0NsZWFyQnRuXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiIChjbGljayk9XCJjbGVhckRhdGUoKVwiPnt7Y2xlYXJCdG5MYmx9fTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cblxuICA8IS0tY3VzdG9tIGRhdGVzIG9yIGRhdGUgcmFuZ2VzIHBpY2tlci0tPlxuICA8ZGl2IGNsYXNzPVwiYnMtZGF0ZXBpY2tlci1jdXN0b20tcmFuZ2VcIiAqbmdJZj1cImN1c3RvbVJhbmdlcyAmJiBjdXN0b21SYW5nZXMubGVuZ3RoID4gMFwiPlxuICAgIDxicy1jdXN0b20tZGF0ZS12aWV3XG4gICAgICBbc2VsZWN0ZWRSYW5nZV09XCJjaG9zZW5SYW5nZVwiXG4gICAgICBbcmFuZ2VzXT1cImN1c3RvbVJhbmdlc1wiXG4gICAgICBbY3VzdG9tUmFuZ2VMYWJlbF09XCJjdXN0b21SYW5nZUJ0bkxibFwiXG4gICAgICAob25TZWxlY3QpPVwic2V0UmFuZ2VPbkNhbGVuZGFyKCRldmVudClcIj5cbiAgICA8L2JzLWN1c3RvbS1kYXRlLXZpZXc+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=