ngx-bootstrap 19.0.2 → 20.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 (402) hide show
  1. package/accordion/fesm2022/ngx-bootstrap-accordion.mjs +14 -14
  2. package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -1
  3. package/accordion/index.d.ts +72 -1
  4. package/alert/fesm2022/ngx-bootstrap-alert.mjs +11 -11
  5. package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -1
  6. package/alert/index.d.ts +53 -1
  7. package/buttons/fesm2022/ngx-bootstrap-buttons.mjs +14 -14
  8. package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -1
  9. package/buttons/index.d.ts +117 -1
  10. package/carousel/fesm2022/ngx-bootstrap-carousel.mjs +14 -14
  11. package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -1
  12. package/carousel/index.d.ts +238 -1
  13. package/chronos/fesm2022/ngx-bootstrap-chronos.mjs +1 -1
  14. package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -1
  15. package/chronos/index.d.ts +315 -1
  16. package/collapse/fesm2022/ngx-bootstrap-collapse.mjs +8 -8
  17. package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
  18. package/collapse/index.d.ts +55 -1
  19. package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs +4 -4
  20. package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -1
  21. package/component-loader/index.d.ts +127 -1
  22. package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +88 -88
  23. package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
  24. package/datepicker/index.d.ts +1113 -1
  25. package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +23 -23
  26. package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
  27. package/dropdown/index.d.ts +191 -1
  28. package/fesm2022/ngx-bootstrap.mjs.map +1 -1
  29. package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs +20 -20
  30. package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -1
  31. package/focus-trap/index.d.ts +274 -1
  32. package/index.d.ts +2 -2
  33. package/locale/fesm2022/ngx-bootstrap-locale.mjs.map +1 -1
  34. package/locale/index.d.ts +1 -1
  35. package/mini-ngrx/fesm2022/ngx-bootstrap-mini-ngrx.mjs.map +1 -1
  36. package/mini-ngrx/index.d.ts +34 -1
  37. package/modal/fesm2022/ngx-bootstrap-modal.mjs +23 -23
  38. package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -1
  39. package/modal/index.d.ts +277 -1
  40. package/package.json +8 -8
  41. package/pagination/fesm2022/ngx-bootstrap-pagination.mjs +14 -14
  42. package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -1
  43. package/pagination/index.d.ts +234 -1
  44. package/popover/fesm2022/ngx-bootstrap-popover.mjs +14 -14
  45. package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -1
  46. package/popover/index.d.ts +152 -1
  47. package/positioning/fesm2022/ngx-bootstrap-positioning.mjs +6 -5
  48. package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -1
  49. package/positioning/index.d.ts +134 -1
  50. package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs +14 -14
  51. package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -1
  52. package/progressbar/index.d.ts +72 -1
  53. package/rating/fesm2022/ngx-bootstrap-rating.mjs +11 -11
  54. package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -1
  55. package/rating/index.d.ts +60 -1
  56. package/schematics/utils/current_dependency_versions.json +1 -1
  57. package/sortable/fesm2022/ngx-bootstrap-sortable.mjs +11 -11
  58. package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -1
  59. package/sortable/index.d.ts +92 -1
  60. package/tabs/fesm2022/ngx-bootstrap-tabs.mjs +55 -22
  61. package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -1
  62. package/tabs/index.d.ts +122 -1
  63. package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs +17 -17
  64. package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -1
  65. package/timepicker/index.d.ts +243 -1
  66. package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs +14 -14
  67. package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -1
  68. package/tooltip/index.d.ts +154 -1
  69. package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +15 -15
  70. package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
  71. package/typeahead/index.d.ts +341 -1
  72. package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -1
  73. package/utils/index.d.ts +116 -1
  74. package/accordion/accordion-group.component.d.ts +0 -36
  75. package/accordion/accordion.component.d.ts +0 -17
  76. package/accordion/accordion.config.d.ts +0 -12
  77. package/accordion/accordion.module.d.ts +0 -10
  78. package/accordion/public_api.d.ts +0 -4
  79. package/alert/alert.component.d.ts +0 -33
  80. package/alert/alert.config.d.ts +0 -11
  81. package/alert/alert.module.d.ts +0 -9
  82. package/alert/public_api.d.ts +0 -3
  83. package/buttons/button-checkbox.directive.d.ts +0 -31
  84. package/buttons/button-radio-group.directive.d.ts +0 -35
  85. package/buttons/button-radio.directive.d.ts +0 -51
  86. package/buttons/buttons.module.d.ts +0 -11
  87. package/buttons/public_api.d.ts +0 -4
  88. package/carousel/carousel.component.d.ts +0 -192
  89. package/carousel/carousel.config.d.ts +0 -13
  90. package/carousel/carousel.module.d.ts +0 -10
  91. package/carousel/models/index.d.ts +0 -9
  92. package/carousel/public_api.d.ts +0 -4
  93. package/carousel/slide.component.d.ts +0 -22
  94. package/carousel/utils.d.ts +0 -11
  95. package/chronos/create/check-overflow.d.ts +0 -2
  96. package/chronos/create/clone.d.ts +0 -1
  97. package/chronos/create/date-from-array.d.ts +0 -2
  98. package/chronos/create/from-anything.d.ts +0 -4
  99. package/chronos/create/from-array.d.ts +0 -2
  100. package/chronos/create/from-object.d.ts +0 -2
  101. package/chronos/create/from-string-and-array.d.ts +0 -2
  102. package/chronos/create/from-string-and-format.d.ts +0 -4
  103. package/chronos/create/from-string.d.ts +0 -4
  104. package/chronos/create/local.d.ts +0 -3
  105. package/chronos/create/parsing-flags.d.ts +0 -2
  106. package/chronos/create/parsing.types.d.ts +0 -64
  107. package/chronos/create/valid.d.ts +0 -6
  108. package/chronos/duration/bubble.d.ts +0 -4
  109. package/chronos/duration/constructor.d.ts +0 -21
  110. package/chronos/duration/create.d.ts +0 -8
  111. package/chronos/duration/humanize.d.ts +0 -5
  112. package/chronos/duration/valid.d.ts +0 -2
  113. package/chronos/format/format.d.ts +0 -11
  114. package/chronos/format.d.ts +0 -5
  115. package/chronos/i18n/ar.d.ts +0 -2
  116. package/chronos/i18n/bg.d.ts +0 -2
  117. package/chronos/i18n/ca.d.ts +0 -2
  118. package/chronos/i18n/cs.d.ts +0 -2
  119. package/chronos/i18n/da.d.ts +0 -2
  120. package/chronos/i18n/de.d.ts +0 -2
  121. package/chronos/i18n/en-gb.d.ts +0 -2
  122. package/chronos/i18n/es-do.d.ts +0 -2
  123. package/chronos/i18n/es-pr.d.ts +0 -2
  124. package/chronos/i18n/es-us.d.ts +0 -2
  125. package/chronos/i18n/es.d.ts +0 -2
  126. package/chronos/i18n/et.d.ts +0 -2
  127. package/chronos/i18n/fa.d.ts +0 -2
  128. package/chronos/i18n/fi.d.ts +0 -2
  129. package/chronos/i18n/fr-ca.d.ts +0 -2
  130. package/chronos/i18n/fr.d.ts +0 -2
  131. package/chronos/i18n/gl.d.ts +0 -2
  132. package/chronos/i18n/he.d.ts +0 -2
  133. package/chronos/i18n/hi.d.ts +0 -2
  134. package/chronos/i18n/hr.d.ts +0 -2
  135. package/chronos/i18n/hu.d.ts +0 -2
  136. package/chronos/i18n/id.d.ts +0 -2
  137. package/chronos/i18n/it.d.ts +0 -2
  138. package/chronos/i18n/ja.d.ts +0 -2
  139. package/chronos/i18n/ka.d.ts +0 -2
  140. package/chronos/i18n/kk.d.ts +0 -2
  141. package/chronos/i18n/ko.d.ts +0 -2
  142. package/chronos/i18n/lt.d.ts +0 -2
  143. package/chronos/i18n/lv.d.ts +0 -2
  144. package/chronos/i18n/mn.d.ts +0 -2
  145. package/chronos/i18n/nb.d.ts +0 -2
  146. package/chronos/i18n/nl-be.d.ts +0 -2
  147. package/chronos/i18n/nl.d.ts +0 -2
  148. package/chronos/i18n/pl.d.ts +0 -2
  149. package/chronos/i18n/pt-br.d.ts +0 -2
  150. package/chronos/i18n/ro.d.ts +0 -2
  151. package/chronos/i18n/ru.d.ts +0 -2
  152. package/chronos/i18n/sk.d.ts +0 -2
  153. package/chronos/i18n/sl.d.ts +0 -2
  154. package/chronos/i18n/sq.d.ts +0 -2
  155. package/chronos/i18n/sv.d.ts +0 -2
  156. package/chronos/i18n/th-be.d.ts +0 -2
  157. package/chronos/i18n/th.d.ts +0 -2
  158. package/chronos/i18n/tr.d.ts +0 -2
  159. package/chronos/i18n/uk.d.ts +0 -2
  160. package/chronos/i18n/vi.d.ts +0 -2
  161. package/chronos/i18n/zh-cn.d.ts +0 -2
  162. package/chronos/locale/calendar.d.ts +0 -8
  163. package/chronos/locale/locale.class.d.ts +0 -143
  164. package/chronos/locale/locale.defaults.d.ts +0 -11
  165. package/chronos/locale/locales.d.ts +0 -7
  166. package/chronos/moment/add-subtract.d.ts +0 -5
  167. package/chronos/moment/calendar.d.ts +0 -15
  168. package/chronos/moment/diff.d.ts +0 -3
  169. package/chronos/moment/min-max.d.ts +0 -2
  170. package/chronos/parse/regex.d.ts +0 -22
  171. package/chronos/parse/token.d.ts +0 -5
  172. package/chronos/public_api.d.ts +0 -60
  173. package/chronos/testing/chain.d.ts +0 -214
  174. package/chronos/types.d.ts +0 -36
  175. package/chronos/units/aliases.d.ts +0 -5
  176. package/chronos/units/constants.d.ts +0 -9
  177. package/chronos/units/day-of-month.d.ts +0 -1
  178. package/chronos/units/day-of-week.d.ts +0 -20
  179. package/chronos/units/day-of-year.d.ts +0 -3
  180. package/chronos/units/hour.d.ts +0 -1
  181. package/chronos/units/index.d.ts +0 -18
  182. package/chronos/units/millisecond.d.ts +0 -1
  183. package/chronos/units/minute.d.ts +0 -1
  184. package/chronos/units/month.d.ts +0 -2
  185. package/chronos/units/offset.d.ts +0 -10
  186. package/chronos/units/priorities.d.ts +0 -1
  187. package/chronos/units/quarter.d.ts +0 -3
  188. package/chronos/units/second.d.ts +0 -1
  189. package/chronos/units/timestamp.d.ts +0 -1
  190. package/chronos/units/timezone.d.ts +0 -3
  191. package/chronos/units/week-calendar-utils.d.ts +0 -9
  192. package/chronos/units/week-year.d.ts +0 -8
  193. package/chronos/units/week.d.ts +0 -6
  194. package/chronos/units/year.d.ts +0 -4
  195. package/chronos/utils/abs-ceil.d.ts +0 -1
  196. package/chronos/utils/abs-round.d.ts +0 -1
  197. package/chronos/utils/compare-arrays.d.ts +0 -1
  198. package/chronos/utils/date-compare.d.ts +0 -9
  199. package/chronos/utils/date-getters.d.ts +0 -18
  200. package/chronos/utils/date-setters.d.ts +0 -12
  201. package/chronos/utils/defaults.d.ts +0 -1
  202. package/chronos/utils/start-end-of.d.ts +0 -3
  203. package/chronos/utils/type-checks.d.ts +0 -12
  204. package/chronos/utils/zero-fill.d.ts +0 -1
  205. package/chronos/utils.d.ts +0 -2
  206. package/collapse/collapse-animations.d.ts +0 -4
  207. package/collapse/collapse.directive.d.ts +0 -45
  208. package/collapse/collapse.module.d.ts +0 -9
  209. package/collapse/public_api.d.ts +0 -2
  210. package/component-loader/bs-component-ref.class.d.ts +0 -5
  211. package/component-loader/component-loader.class.d.ts +0 -76
  212. package/component-loader/component-loader.factory.d.ts +0 -22
  213. package/component-loader/content-ref.class.d.ts +0 -11
  214. package/component-loader/listen-options.model.d.ts +0 -11
  215. package/component-loader/public_api.d.ts +0 -4
  216. package/datepicker/base/bs-datepicker-container.d.ts +0 -53
  217. package/datepicker/bs-datepicker-inline.component.d.ts +0 -66
  218. package/datepicker/bs-datepicker-inline.config.d.ts +0 -6
  219. package/datepicker/bs-datepicker-input.directive.d.ts +0 -32
  220. package/datepicker/bs-datepicker.component.d.ts +0 -135
  221. package/datepicker/bs-datepicker.config.d.ts +0 -166
  222. package/datepicker/bs-datepicker.module.d.ts +0 -30
  223. package/datepicker/bs-daterangepicker-inline.component.d.ts +0 -66
  224. package/datepicker/bs-daterangepicker-inline.config.d.ts +0 -9
  225. package/datepicker/bs-daterangepicker-input.directive.d.ts +0 -33
  226. package/datepicker/bs-daterangepicker.component.d.ts +0 -123
  227. package/datepicker/bs-daterangepicker.config.d.ts +0 -7
  228. package/datepicker/bs-locale.service.d.ts +0 -13
  229. package/datepicker/datepicker-animations.d.ts +0 -3
  230. package/datepicker/engine/calc-days-calendar.d.ts +0 -2
  231. package/datepicker/engine/flag-days-calendar.d.ts +0 -17
  232. package/datepicker/engine/flag-months-calendar.d.ts +0 -14
  233. package/datepicker/engine/flag-years-calendar.d.ts +0 -14
  234. package/datepicker/engine/format-days-calendar.d.ts +0 -4
  235. package/datepicker/engine/format-months-calendar.d.ts +0 -2
  236. package/datepicker/engine/format-years-calendar.d.ts +0 -4
  237. package/datepicker/engine/view-mode.d.ts +0 -2
  238. package/datepicker/models/index.d.ts +0 -102
  239. package/datepicker/public_api.d.ts +0 -17
  240. package/datepicker/reducer/_defaults.d.ts +0 -3
  241. package/datepicker/reducer/bs-datepicker.actions.d.ts +0 -48
  242. package/datepicker/reducer/bs-datepicker.effects.d.ts +0 -41
  243. package/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
  244. package/datepicker/reducer/bs-datepicker.state.d.ts +0 -45
  245. package/datepicker/reducer/bs-datepicker.store.d.ts +0 -8
  246. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -5
  247. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -6
  248. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -16
  249. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -41
  250. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -14
  251. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -15
  252. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -13
  253. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -46
  254. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -15
  255. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -27
  256. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -16
  257. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -8
  258. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -16
  259. package/datepicker/utils/bs-calendar-utils.d.ts +0 -15
  260. package/datepicker/utils/copy-time-utils.d.ts +0 -1
  261. package/datepicker/utils/matrix-utils.d.ts +0 -9
  262. package/dropdown/bs-dropdown-container.component.d.ts +0 -20
  263. package/dropdown/bs-dropdown-menu.directive.d.ts +0 -8
  264. package/dropdown/bs-dropdown-toggle.directive.d.ts +0 -21
  265. package/dropdown/bs-dropdown.config.d.ts +0 -14
  266. package/dropdown/bs-dropdown.directive.d.ts +0 -108
  267. package/dropdown/bs-dropdown.module.d.ts +0 -12
  268. package/dropdown/bs-dropdown.state.d.ts +0 -23
  269. package/dropdown/dropdown-animations.d.ts +0 -3
  270. package/dropdown/public_api.d.ts +0 -7
  271. package/focus-trap/boolean-property.d.ts +0 -14
  272. package/focus-trap/focus-trap-manager.d.ts +0 -26
  273. package/focus-trap/focus-trap.d.ts +0 -162
  274. package/focus-trap/focus-trap.module.d.ts +0 -10
  275. package/focus-trap/interactivity-checker.d.ts +0 -60
  276. package/focus-trap/platform.d.ts +0 -29
  277. package/focus-trap/public_api.d.ts +0 -3
  278. package/locale/public_api.d.ts +0 -46
  279. package/mini-ngrx/public_api.d.ts +0 -7
  280. package/mini-ngrx/state.class.d.ts +0 -8
  281. package/mini-ngrx/store.class.d.ts +0 -16
  282. package/modal/bs-modal-ref.service.d.ts +0 -30
  283. package/modal/bs-modal.service.d.ts +0 -50
  284. package/modal/modal-backdrop.component.d.ts +0 -17
  285. package/modal/modal-backdrop.options.d.ts +0 -4
  286. package/modal/modal-container.component.d.ts +0 -27
  287. package/modal/modal-options.class.d.ts +0 -63
  288. package/modal/modal.directive.d.ts +0 -90
  289. package/modal/modal.module.d.ts +0 -13
  290. package/modal/models/index.d.ts +0 -24
  291. package/modal/public_api.d.ts +0 -9
  292. package/pagination/models/index.d.ts +0 -53
  293. package/pagination/pager.component.d.ts +0 -78
  294. package/pagination/pagination.component.d.ts +0 -91
  295. package/pagination/pagination.config.d.ts +0 -9
  296. package/pagination/pagination.module.d.ts +0 -11
  297. package/pagination/public_api.d.ts +0 -5
  298. package/popover/popover-container.component.d.ts +0 -16
  299. package/popover/popover.config.d.ts +0 -30
  300. package/popover/popover.directive.d.ts +0 -98
  301. package/popover/popover.module.d.ts +0 -11
  302. package/popover/public_api.d.ts +0 -4
  303. package/positioning/models/index.d.ts +0 -96
  304. package/positioning/modifiers/arrow.d.ts +0 -2
  305. package/positioning/modifiers/flip.d.ts +0 -2
  306. package/positioning/modifiers/index.d.ts +0 -5
  307. package/positioning/modifiers/initData.d.ts +0 -2
  308. package/positioning/modifiers/preventOverflow.d.ts +0 -2
  309. package/positioning/modifiers/shift.d.ts +0 -2
  310. package/positioning/ng-positioning.d.ts +0 -12
  311. package/positioning/positioning.service.d.ts +0 -48
  312. package/positioning/public_api.d.ts +0 -4
  313. package/positioning/utils/checkMargin.d.ts +0 -3
  314. package/positioning/utils/computeAutoPlacement.d.ts +0 -2
  315. package/positioning/utils/findCommonOffsetParent.d.ts +0 -1
  316. package/positioning/utils/getBordersSize.d.ts +0 -4
  317. package/positioning/utils/getBoundaries.d.ts +0 -5
  318. package/positioning/utils/getBoundingClientRect.d.ts +0 -2
  319. package/positioning/utils/getClientRect.d.ts +0 -5
  320. package/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
  321. package/positioning/utils/getOffsetParent.d.ts +0 -1
  322. package/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
  323. package/positioning/utils/getOffsets.d.ts +0 -2
  324. package/positioning/utils/getOppositePlacement.d.ts +0 -4
  325. package/positioning/utils/getOppositeVariation.d.ts +0 -4
  326. package/positioning/utils/getOuterSizes.d.ts +0 -5
  327. package/positioning/utils/getParentNode.d.ts +0 -4
  328. package/positioning/utils/getReferenceOffsets.d.ts +0 -2
  329. package/positioning/utils/getRoot.d.ts +0 -4
  330. package/positioning/utils/getScroll.d.ts +0 -4
  331. package/positioning/utils/getScrollParent.d.ts +0 -1
  332. package/positioning/utils/getStyleComputedProperty.d.ts +0 -5
  333. package/positioning/utils/getTargetOffsets.d.ts +0 -2
  334. package/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
  335. package/positioning/utils/getWindowSizes.d.ts +0 -4
  336. package/positioning/utils/index.d.ts +0 -23
  337. package/positioning/utils/isFixed.d.ts +0 -1
  338. package/positioning/utils/isModifierEnabled.d.ts +0 -5
  339. package/positioning/utils/isNumeric.d.ts +0 -5
  340. package/positioning/utils/isOffsetContainer.d.ts +0 -1
  341. package/positioning/utils/setStyles.d.ts +0 -5
  342. package/positioning/utils/updateContainerClass.d.ts +0 -6
  343. package/progressbar/bar.component.d.ts +0 -24
  344. package/progressbar/progressbar-type.interface.d.ts +0 -7
  345. package/progressbar/progressbar.component.d.ts +0 -23
  346. package/progressbar/progressbar.config.d.ts +0 -9
  347. package/progressbar/progressbar.module.d.ts +0 -10
  348. package/progressbar/public_api.d.ts +0 -5
  349. package/rating/models/index.d.ts +0 -4
  350. package/rating/public_api.d.ts +0 -3
  351. package/rating/rating.component.d.ts +0 -40
  352. package/rating/rating.config.d.ts +0 -8
  353. package/rating/rating.module.d.ts +0 -9
  354. package/sortable/draggable-item.d.ts +0 -8
  355. package/sortable/draggable-item.service.d.ts +0 -13
  356. package/sortable/public_api.d.ts +0 -4
  357. package/sortable/sortable.component.d.ts +0 -62
  358. package/sortable/sortable.module.d.ts +0 -9
  359. package/tabs/ng-transclude.directive.d.ts +0 -11
  360. package/tabs/public_api.d.ts +0 -6
  361. package/tabs/tab-heading.directive.d.ts +0 -10
  362. package/tabs/tab.directive.d.ts +0 -39
  363. package/tabs/tabs.module.d.ts +0 -13
  364. package/tabs/tabset.component.d.ts +0 -44
  365. package/tabs/tabset.config.d.ts +0 -11
  366. package/timepicker/models/index.d.ts +0 -7
  367. package/timepicker/public_api.d.ts +0 -5
  368. package/timepicker/reducer/timepicker.actions.d.ts +0 -28
  369. package/timepicker/reducer/timepicker.reducer.d.ts +0 -9
  370. package/timepicker/reducer/timepicker.store.d.ts +0 -8
  371. package/timepicker/timepicker-controls.util.d.ts +0 -7
  372. package/timepicker/timepicker.component.d.ts +0 -116
  373. package/timepicker/timepicker.config.d.ts +0 -48
  374. package/timepicker/timepicker.models.d.ts +0 -35
  375. package/timepicker/timepicker.module.d.ts +0 -9
  376. package/timepicker/timepicker.utils.d.ts +0 -19
  377. package/tooltip/public_api.d.ts +0 -4
  378. package/tooltip/tooltip-container.component.d.ts +0 -18
  379. package/tooltip/tooltip.config.d.ts +0 -16
  380. package/tooltip/tooltip.directive.d.ts +0 -113
  381. package/tooltip/tooltip.module.d.ts +0 -11
  382. package/typeahead/latin-map.d.ts +0 -3
  383. package/typeahead/models/index.d.ts +0 -41
  384. package/typeahead/public_api.d.ts +0 -10
  385. package/typeahead/typeahead-animations.d.ts +0 -3
  386. package/typeahead/typeahead-container.component.d.ts +0 -66
  387. package/typeahead/typeahead-match.class.d.ts +0 -8
  388. package/typeahead/typeahead-options.class.d.ts +0 -7
  389. package/typeahead/typeahead-order.class.d.ts +0 -6
  390. package/typeahead/typeahead-utils.d.ts +0 -4
  391. package/typeahead/typeahead.config.d.ts +0 -26
  392. package/typeahead/typeahead.directive.d.ts +0 -176
  393. package/typeahead/typeahead.module.d.ts +0 -11
  394. package/utils/decorators.d.ts +0 -1
  395. package/utils/facade/browser.d.ts +0 -23
  396. package/utils/linked-list.class.d.ts +0 -35
  397. package/utils/public_api.d.ts +0 -9
  398. package/utils/theme-provider.d.ts +0 -18
  399. package/utils/trigger.class.d.ts +0 -10
  400. package/utils/triggers.d.ts +0 -22
  401. package/utils/utils.class.d.ts +0 -9
  402. package/utils/warn-once.d.ts +0 -1
@@ -1 +1,341 @@
1
- export * from './public_api';
1
+ import * as i0 from '@angular/core';
2
+ import { TemplateRef, OnDestroy, ElementRef, EventEmitter, Renderer2, ChangeDetectorRef, OnInit, ViewContainerRef, ModuleWithProviders } from '@angular/core';
3
+ import { NgControl } from '@angular/forms';
4
+ import { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';
5
+ import { Subscription, Observable } from 'rxjs';
6
+ import { PositioningService } from 'ngx-bootstrap/positioning';
7
+ import * as i1 from '@angular/common';
8
+
9
+ declare const latinMap: {
10
+ [key: string]: string;
11
+ };
12
+
13
+ declare class TypeaheadMatch<ItemType = any> {
14
+ readonly value: string;
15
+ readonly item: ItemType;
16
+ protected header: boolean;
17
+ constructor(item: ItemType, value?: string, header?: boolean);
18
+ isHeader(): boolean;
19
+ toString(): string;
20
+ }
21
+
22
+ /**
23
+ * A context for the `optionsListTemplate`
24
+ * input template in case you want to override default one
25
+ */
26
+ interface TypeaheadOptionListContext {
27
+ /** All matches */
28
+ matches: TypeaheadMatch[];
29
+ /** Item template */
30
+ itemTemplate: TemplateRef<TypeaheadOptionItemContext>;
31
+ /** Search query */
32
+ query: string[] | string;
33
+ /** Typeahead template methods */
34
+ $implicit: TypeaheadTemplateMethods;
35
+ }
36
+ /**
37
+ * A context for the `typeaheadItemTemplate`
38
+ * input template in case you want to override default one
39
+ */
40
+ interface TypeaheadOptionItemContext {
41
+ /** Item */
42
+ item: unknown;
43
+ /** Item index */
44
+ index: number;
45
+ /** Typeahead match */
46
+ match: TypeaheadMatch;
47
+ /** Search query */
48
+ query: string[] | string;
49
+ }
50
+ /**
51
+ * Methods for `optionsListTemplate` context
52
+ */
53
+ interface TypeaheadTemplateMethods {
54
+ /** Function to select an option by click event */
55
+ selectMatch(value: TypeaheadMatch, e?: Event): void;
56
+ /** Function to select an option by mouseenter event */
57
+ selectActive(value: TypeaheadMatch): void;
58
+ /** Function to check if an option is active */
59
+ isActive(value: TypeaheadMatch): boolean;
60
+ }
61
+
62
+ declare class TypeaheadContainerComponent implements OnDestroy {
63
+ private positionService;
64
+ private renderer;
65
+ element: ElementRef;
66
+ private changeDetectorRef;
67
+ activeChangeEvent: EventEmitter<any>;
68
+ parent?: TypeaheadDirective;
69
+ query?: string[] | string;
70
+ isFocused: boolean;
71
+ top?: string;
72
+ left?: string;
73
+ display?: string;
74
+ placemen?: string;
75
+ dropup?: boolean;
76
+ guiHeight?: string;
77
+ needScrollbar?: boolean;
78
+ animationState?: string;
79
+ positionServiceSubscription: Subscription;
80
+ height: number;
81
+ popupId: string;
82
+ get typeaheadTemplateMethods(): TypeaheadTemplateMethods;
83
+ protected _active?: TypeaheadMatch;
84
+ protected _matches: TypeaheadMatch[];
85
+ private ulElement?;
86
+ private liElements?;
87
+ constructor(positionService: PositioningService, renderer: Renderer2, element: ElementRef, changeDetectorRef: ChangeDetectorRef);
88
+ get active(): TypeaheadMatch | undefined;
89
+ set active(active: TypeaheadMatch | undefined);
90
+ get matches(): TypeaheadMatch[];
91
+ set matches(value: TypeaheadMatch[]);
92
+ get isTopPosition(): boolean;
93
+ get optionsListTemplate(): TemplateRef<TypeaheadOptionListContext> | undefined;
94
+ get isAnimated(): boolean;
95
+ get adaptivePosition(): boolean;
96
+ get typeaheadScrollable(): boolean;
97
+ get typeaheadOptionsInScrollableView(): number;
98
+ get typeaheadIsFirstItemActive(): boolean;
99
+ get itemTemplate(): TemplateRef<TypeaheadOptionItemContext> | undefined;
100
+ get canSelectItemsOnBlur(): boolean;
101
+ selectActiveMatch(isActiveItemChanged?: boolean): void;
102
+ activeChanged(): void;
103
+ prevActiveMatch(): void;
104
+ nextActiveMatch(): void;
105
+ selectActive(value: TypeaheadMatch): void;
106
+ highlight(match: TypeaheadMatch, query: string[] | string): string;
107
+ focusLost(): void;
108
+ isActive(value: TypeaheadMatch): boolean;
109
+ selectMatch(value?: TypeaheadMatch, event?: Event): boolean;
110
+ setScrollableMode(): void;
111
+ scrollPrevious(index: number): void;
112
+ scrollNext(index: number): void;
113
+ ngOnDestroy(): void;
114
+ protected setActive(value?: TypeaheadMatch): void;
115
+ private isScrolledIntoView;
116
+ private scrollToBottom;
117
+ private scrollToTop;
118
+ static ɵfac: i0.ɵɵFactoryDeclaration<TypeaheadContainerComponent, never>;
119
+ static ɵcmp: i0.ɵɵComponentDeclaration<TypeaheadContainerComponent, "typeahead-container", never, {}, { "activeChangeEvent": "activeChange"; }, never, never, true, never>;
120
+ }
121
+
122
+ interface TypeaheadOrder {
123
+ /** field for sorting */
124
+ field?: string;
125
+ /** ordering direction, could be 'asc' or 'desc' */
126
+ direction: 'asc' | 'desc';
127
+ }
128
+
129
+ /** Default values provider for typeahead */
130
+ declare class TypeaheadConfig {
131
+ /** sets use adaptive position */
132
+ adaptivePosition: boolean;
133
+ /** turn on/off animation */
134
+ isAnimated: boolean;
135
+ /** used to hide results on blur */
136
+ hideResultsOnBlur: boolean;
137
+ /** if true, typeahead will cancel async request on blur */
138
+ cancelRequestOnFocusLost: boolean;
139
+ /** used to choose the first item in typeahead container */
140
+ selectFirstItem: boolean;
141
+ /** used to active/inactive the first item in typeahead container */
142
+ isFirstItemActive: boolean;
143
+ /** used to choose set minimal no of characters that needs to
144
+ * be entered before typeahead kicks-in
145
+ */
146
+ minLength: number;
147
+ /**
148
+ * used to choose item on blur event
149
+ */
150
+ selectItemOnBlur: boolean;
151
+ static ɵfac: i0.ɵɵFactoryDeclaration<TypeaheadConfig, never>;
152
+ static ɵprov: i0.ɵɵInjectableDeclaration<TypeaheadConfig>;
153
+ }
154
+
155
+ type TypeaheadOption = string | Record<string | number, any>;
156
+ type TypeaheadOptionArr = TypeaheadOption[] | Observable<TypeaheadOption>;
157
+ declare class TypeaheadDirective implements OnInit, OnDestroy {
158
+ private changeDetection;
159
+ private element;
160
+ private ngControl;
161
+ private renderer;
162
+ /** options source, can be Array of strings, objects or
163
+ * an Observable for external matching process
164
+ */
165
+ typeahead?: TypeaheadOptionArr;
166
+ /** minimal no of characters that needs to be entered before
167
+ * typeahead kicks-in. When set to 0, typeahead shows on focus with full
168
+ * list of options (limited as normal by typeaheadOptionsLimit)
169
+ */
170
+ typeaheadMinLength: number;
171
+ /** sets use adaptive position */
172
+ adaptivePosition: boolean;
173
+ /** turn on/off animation */
174
+ isAnimated: boolean;
175
+ /** minimal wait time after last character typed before typeahead kicks-in */
176
+ typeaheadWaitMs: number;
177
+ /** maximum length of options items list. The default value is 20 */
178
+ typeaheadOptionsLimit?: number;
179
+ /** when options source is an array of objects, the name of field
180
+ * that contains the options value, we use array item as option in case
181
+ * of this field is missing. Supports nested properties and methods.
182
+ */
183
+ typeaheadOptionField?: string;
184
+ /** when options source is an array of objects, the name of field that
185
+ * contains the group value, matches are grouped by this field when set.
186
+ */
187
+ typeaheadGroupField?: string;
188
+ /** Used to specify a custom order of matches. When options source is an array of objects
189
+ * a field for sorting has to be set up. In case of options source is an array of string,
190
+ * a field for sorting is absent. The ordering direction could be changed to ascending or descending.
191
+ */
192
+ typeaheadOrderBy?: TypeaheadOrder;
193
+ /** should be used only in case of typeahead attribute is Observable of array.
194
+ * If true - loading of options will be async, otherwise - sync.
195
+ * true make sense if options array is large.
196
+ */
197
+ typeaheadAsync?: boolean;
198
+ /** match latin symbols.
199
+ * If true the word súper would match super and vice versa.
200
+ */
201
+ typeaheadLatinize: boolean;
202
+ /** Can be use to search words by inserting a single white space between each characters
203
+ * for example 'C a l i f o r n i a' will match 'California'.
204
+ */
205
+ typeaheadSingleWords: boolean;
206
+ /** should be used only in case typeaheadSingleWords attribute is true.
207
+ * Sets the word delimiter to break words. Defaults to space.
208
+ */
209
+ typeaheadWordDelimiters: string;
210
+ /** Can be used to conduct a search of multiple items and have suggestion not for the
211
+ * whole value of the input but for the value that comes after a delimiter provided via
212
+ * typeaheadMultipleSearchDelimiters attribute. This option can only be used together with
213
+ * typeaheadSingleWords option if typeaheadWordDelimiters and typeaheadPhraseDelimiters
214
+ * are different from typeaheadMultipleSearchDelimiters to avoid conflict in determining
215
+ * when to delimit multiple searches and when a single word.
216
+ */
217
+ typeaheadMultipleSearch?: boolean;
218
+ /** should be used only in case typeaheadMultipleSearch attribute is true.
219
+ * Sets the multiple search delimiter to know when to start a new search. Defaults to comma.
220
+ * If space needs to be used, then explicitly set typeaheadWordDelimiters to something else than space
221
+ * because space is used by default OR set typeaheadSingleWords attribute to false if you don't need
222
+ * to use it together with multiple search.
223
+ */
224
+ typeaheadMultipleSearchDelimiters: string;
225
+ /** should be used only in case typeaheadSingleWords attribute is true.
226
+ * Sets the word delimiter to match exact phrase.
227
+ * Defaults to simple and double quotes.
228
+ */
229
+ typeaheadPhraseDelimiters: string;
230
+ /** used to specify a custom item template.
231
+ * Template variables exposed are called item and index;
232
+ */
233
+ typeaheadItemTemplate?: TemplateRef<TypeaheadOptionItemContext>;
234
+ /** used to specify a custom options list template.
235
+ * Template variables: matches, itemTemplate, query
236
+ */
237
+ optionsListTemplate?: TemplateRef<TypeaheadOptionListContext>;
238
+ /** specifies if typeahead is scrollable */
239
+ typeaheadScrollable: boolean;
240
+ /** specifies number of options to show in scroll view */
241
+ typeaheadOptionsInScrollableView: number;
242
+ /** used to hide result on blur */
243
+ typeaheadHideResultsOnBlur?: boolean;
244
+ /** fired when an options list was opened and the user clicked Tab
245
+ * If a value equal true, it will be chosen first or active item in the list
246
+ * If value equal false, it will be chosen an active item in the list or nothing
247
+ */
248
+ typeaheadSelectFirstItem: boolean;
249
+ /** makes active first item in a list */
250
+ typeaheadIsFirstItemActive: boolean;
251
+ /** fired when 'busy' state of this component was changed,
252
+ * fired on async mode only, returns boolean
253
+ */
254
+ typeaheadLoading: EventEmitter<boolean>;
255
+ /** fired on every key event and returns true
256
+ * in case of matches are not detected
257
+ */
258
+ typeaheadNoResults: EventEmitter<boolean>;
259
+ /** fired when option was selected, return object with data of this option. */
260
+ typeaheadOnSelect: EventEmitter<TypeaheadMatch<any>>;
261
+ /** fired when option was previewed, return object with data of this option. */
262
+ typeaheadOnPreview: EventEmitter<TypeaheadMatch<any>>;
263
+ /** fired when blur event occurs. returns the active item */
264
+ typeaheadOnBlur: EventEmitter<TypeaheadMatch<any> | undefined>;
265
+ /**
266
+ * A selector specifying the element the typeahead should be appended to.
267
+ */
268
+ container?: string;
269
+ /** This attribute indicates that the dropdown should be opened upwards */
270
+ dropup: boolean;
271
+ /** if false restrict model values to the ones selected from the popup only will be provided */
272
+ /** if false the first match automatically will not be focused as you type */
273
+ /** format the ng-model result after selection */
274
+ /** if true automatically select an item when there is one option that exactly matches the user input */
275
+ /** if true select the currently highlighted match on blur */
276
+ /** if false don't focus the input element the typeahead directive is associated with on selection */
277
+ activeDescendant?: string;
278
+ isOpen: boolean;
279
+ list: string;
280
+ _container?: TypeaheadContainerComponent;
281
+ isActiveItemChanged: boolean;
282
+ isFocused: boolean;
283
+ cancelRequestOnFocusLost: boolean;
284
+ selectItemOnBlur: boolean;
285
+ protected keyUpEventEmitter: EventEmitter<string>;
286
+ protected placement: string;
287
+ protected _matches: TypeaheadMatch[];
288
+ private _typeahead;
289
+ private _subscriptions;
290
+ private _allEnteredValue?;
291
+ private _outsideClickListener;
292
+ constructor(cis: ComponentLoaderFactory, config: TypeaheadConfig, changeDetection: ChangeDetectorRef, element: ElementRef, ngControl: NgControl, renderer: Renderer2, viewContainerRef: ViewContainerRef);
293
+ get matches(): TypeaheadMatch[];
294
+ ngOnInit(): void;
295
+ onInput(e: any): void;
296
+ onChange(event: KeyboardEvent): void;
297
+ onFocus(): void;
298
+ onBlur(): void;
299
+ onKeydown(event: KeyboardEvent): void;
300
+ changeModel(match?: TypeaheadMatch): void;
301
+ show(): void;
302
+ hide(): void;
303
+ onOutsideClick(): void;
304
+ ngOnDestroy(): void;
305
+ protected asyncActions(): void;
306
+ protected syncActions(): void;
307
+ protected normalizeOption(option: TypeaheadOption): string;
308
+ protected tokenizeQuery(currentQuery: string | string[]): string | string[];
309
+ protected normalizeQuery(value: string): string | string[];
310
+ protected testMatch(match: string, test: string[] | string): boolean;
311
+ protected finalizeAsyncCall(matches?: TypeaheadOption | TypeaheadOption[]): void;
312
+ protected prepareMatches(options: TypeaheadOption | TypeaheadOption[]): void;
313
+ protected orderMatches(options: TypeaheadOption[]): TypeaheadOption[];
314
+ protected hasMatches(): boolean;
315
+ protected checkDelimitersConflict(): void;
316
+ protected haveCommonCharacters(str1: string, str2: string): boolean;
317
+ static ɵfac: i0.ɵɵFactoryDeclaration<TypeaheadDirective, never>;
318
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TypeaheadDirective, "[typeahead]", ["bs-typeahead"], { "typeahead": { "alias": "typeahead"; "required": false; }; "typeaheadMinLength": { "alias": "typeaheadMinLength"; "required": false; }; "adaptivePosition": { "alias": "adaptivePosition"; "required": false; }; "isAnimated": { "alias": "isAnimated"; "required": false; }; "typeaheadWaitMs": { "alias": "typeaheadWaitMs"; "required": false; }; "typeaheadOptionsLimit": { "alias": "typeaheadOptionsLimit"; "required": false; }; "typeaheadOptionField": { "alias": "typeaheadOptionField"; "required": false; }; "typeaheadGroupField": { "alias": "typeaheadGroupField"; "required": false; }; "typeaheadOrderBy": { "alias": "typeaheadOrderBy"; "required": false; }; "typeaheadAsync": { "alias": "typeaheadAsync"; "required": false; }; "typeaheadLatinize": { "alias": "typeaheadLatinize"; "required": false; }; "typeaheadSingleWords": { "alias": "typeaheadSingleWords"; "required": false; }; "typeaheadWordDelimiters": { "alias": "typeaheadWordDelimiters"; "required": false; }; "typeaheadMultipleSearch": { "alias": "typeaheadMultipleSearch"; "required": false; }; "typeaheadMultipleSearchDelimiters": { "alias": "typeaheadMultipleSearchDelimiters"; "required": false; }; "typeaheadPhraseDelimiters": { "alias": "typeaheadPhraseDelimiters"; "required": false; }; "typeaheadItemTemplate": { "alias": "typeaheadItemTemplate"; "required": false; }; "optionsListTemplate": { "alias": "optionsListTemplate"; "required": false; }; "typeaheadScrollable": { "alias": "typeaheadScrollable"; "required": false; }; "typeaheadOptionsInScrollableView": { "alias": "typeaheadOptionsInScrollableView"; "required": false; }; "typeaheadHideResultsOnBlur": { "alias": "typeaheadHideResultsOnBlur"; "required": false; }; "typeaheadSelectFirstItem": { "alias": "typeaheadSelectFirstItem"; "required": false; }; "typeaheadIsFirstItemActive": { "alias": "typeaheadIsFirstItemActive"; "required": false; }; "container": { "alias": "container"; "required": false; }; "dropup": { "alias": "dropup"; "required": false; }; }, { "typeaheadLoading": "typeaheadLoading"; "typeaheadNoResults": "typeaheadNoResults"; "typeaheadOnSelect": "typeaheadOnSelect"; "typeaheadOnPreview": "typeaheadOnPreview"; "typeaheadOnBlur": "typeaheadOnBlur"; }, never, never, true, never>;
319
+ }
320
+
321
+ declare class TypeaheadOptions {
322
+ placement: string;
323
+ animation: boolean;
324
+ typeaheadRef: TypeaheadDirective;
325
+ constructor(options: TypeaheadOptions);
326
+ }
327
+
328
+ declare function latinize(str: string): string;
329
+ declare function escapeRegexp(queryToEscape: string): string;
330
+ declare function tokenize(str: string, wordRegexDelimiters?: string, phraseRegexDelimiters?: string, delimitersForMultipleSearch?: string): Array<string>;
331
+ declare function getValueFromObject(object: string | Record<string | number, any>, option?: string): string;
332
+
333
+ declare class TypeaheadModule {
334
+ static forRoot(): ModuleWithProviders<TypeaheadModule>;
335
+ static ɵfac: i0.ɵɵFactoryDeclaration<TypeaheadModule, never>;
336
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TypeaheadModule, never, [typeof i1.CommonModule, typeof TypeaheadContainerComponent, typeof TypeaheadDirective], [typeof TypeaheadContainerComponent, typeof TypeaheadDirective]>;
337
+ static ɵinj: i0.ɵɵInjectorDeclaration<TypeaheadModule>;
338
+ }
339
+
340
+ export { TypeaheadConfig, TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch, TypeaheadModule, TypeaheadOptions, escapeRegexp, getValueFromObject, latinMap, latinize, tokenize };
341
+ export type { TypeaheadOptionItemContext, TypeaheadOptionListContext, TypeaheadOrder, TypeaheadTemplateMethods };
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-bootstrap-utils.mjs","sources":["../../../../src/utils/trigger.class.ts","../../../../src/utils/triggers.ts","../../../../src/utils/facade/browser.ts","../../../../src/utils/theme-provider.ts","../../../../src/utils/linked-list.class.ts","../../../../src/utils/decorators.ts","../../../../src/utils/utils.class.ts","../../../../src/utils/warn-once.ts","../../../../src/utils/ngx-bootstrap-utils.ts"],"sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nexport class Trigger {\n open: string;\n close?: string;\n\n constructor(open: string, close?: string) {\n this.open = open;\n this.close = close || open;\n }\n\n isManual(): boolean {\n return this.open === 'manual' || this.close === 'manual';\n }\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\nimport { Renderer2 } from '@angular/core';\nimport { Trigger } from './trigger.class';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type BsEventCallback = (event?: any) => boolean | void;\n\nexport interface ListenOptions {\n target?: HTMLElement;\n targets?: HTMLElement[];\n triggers?: string;\n outsideClick?: boolean;\n outsideEsc?: boolean;\n show?: BsEventCallback;\n hide?: BsEventCallback;\n toggle?: BsEventCallback;\n}\n\nconst DEFAULT_ALIASES = {\n hover: ['mouseover', 'mouseout'],\n focus: ['focusin', 'focusout']\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function parseTriggers(triggers?: string, aliases: any = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers\n .split(/\\s+/)\n .map((trigger: string) => trigger.split(':'))\n .map((triggerPair: string[]) => {\n const alias = aliases[triggerPair[0]] || triggerPair;\n\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers.filter((triggerPair: Trigger) =>\n triggerPair.isManual()\n );\n\n if (manualTriggers.length > 1) {\n throw new Error('Triggers parse error: only one manual trigger is allowed');\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw new Error('Triggers parse error: manual trigger can\\'t be mixed with other triggers');\n }\n\n return parsedTriggers;\n}\n\nexport function listenToTriggers(renderer: Renderer2,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n target: any,\n triggers: string,\n showFn: BsEventCallback,\n hideFn: BsEventCallback,\n toggleFn: BsEventCallback): () => void {\n const parsedTriggers = parseTriggers(triggers);\n const listeners: Array<() => void> = [];\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype as () => void;\n }\n\n parsedTriggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(target, trigger.open, toggleFn));\n\n return;\n }\n\n listeners.push(renderer.listen(target, trigger.open, showFn));\n if (trigger.close) {\n listeners.push(renderer.listen(target, trigger.close, hideFn));\n }\n });\n\n return () => {\n listeners.forEach((unsubscribeFn) => unsubscribeFn());\n };\n}\n\nexport function listenToTriggersV2(renderer: Renderer2,\n options: ListenOptions): () => void {\n const parsedTriggers = parseTriggers(options.triggers);\n const target = options.target;\n // do nothing\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype as () => void;\n }\n\n // all listeners\n const listeners: Array<() => void> = [];\n\n // lazy listeners registration\n const _registerHide: Array<() => () => void> = [];\n const registerHide = () => {\n // add hide listeners to unregister array\n _registerHide.forEach((fn) => listeners.push(fn()));\n // register hide events only once\n _registerHide.length = 0;\n };\n\n // register open\\close\\toggle listeners\n parsedTriggers.forEach((trigger: Trigger) => {\n const useToggle = trigger.open === trigger.close;\n const showFn = useToggle ? options.toggle : options.show;\n\n if (!useToggle && trigger.close && options.hide) {\n const triggerClose = trigger.close;\n const optionsHide = options.hide;\n const _hide = () => renderer.listen(target, triggerClose, optionsHide);\n _registerHide.push(_hide);\n }\n\n if (showFn) {\n listeners.push(renderer.listen(target, trigger.open, () => showFn(registerHide)));\n }\n });\n\n return () => {\n listeners.forEach((unsubscribeFn: () => void) => unsubscribeFn());\n };\n}\n\nexport function registerOutsideClick(renderer: Renderer2,\n options: ListenOptions) {\n if (!options.outsideClick) {\n return Function.prototype;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return renderer.listen('document', 'click', (event: any) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (\n options.targets &&\n options.targets.some(target => target.contains(event.target))\n ) {\n return;\n }\n\n if (options.hide) {\n options.hide();\n }\n });\n}\n\nexport function registerEscClick(renderer: Renderer2,\n options: ListenOptions) {\n if (!options.outsideEsc) {\n return Function.prototype;\n }\n\n return renderer.listen('document', 'keyup.esc', (event) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (\n options.targets &&\n options.targets.some(target => target.contains(event.target))\n ) {\n return;\n }\n\n if (options.hide) {\n options.hide();\n }\n });\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * JS version of browser APIs. This library can only run in the browser.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst win = (typeof window !== 'undefined' && window) || {} as any;\n\nexport { win as window };\nexport const document = win.document;\nexport const location = win.location;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const gc = win.gc ? () => win.gc() : (): any => null;\nexport const performance = win.performance ? win.performance : null;\nexport const Event = win.Event;\nexport const MouseEvent = win.MouseEvent;\nexport const KeyboardEvent = win.KeyboardEvent;\nexport const EventTarget = win.EventTarget;\nexport const History = win.History;\nexport const Location = win.Location;\nexport const EventListener = win.EventListener;\n","import { window } from './facade/browser';\n\nexport type AvailableBsVersions = 'bs4' | 'bs5';\n\ninterface IObjectKeys {\n [key: string]: boolean;\n}\n\nexport interface IBsVersion extends IObjectKeys{\n isBs4: boolean;\n isBs5: boolean;\n}\n\nexport enum BsVerions {\n isBs4 = 'bs4',\n isBs5 = 'bs5'\n}\n\nlet guessedVersion: AvailableBsVersions;\n\nfunction _guessBsVersion(): AvailableBsVersions {\n const spanEl = window.document.createElement('span');\n spanEl.innerText = 'testing bs version';\n spanEl.classList.add('d-none');\n spanEl.classList.add('pl-1');\n window.document.head.appendChild(spanEl);\n const checkPadding = window.getComputedStyle(spanEl).paddingLeft;\n\n if (checkPadding && parseFloat(checkPadding)) {\n window.document.head.removeChild(spanEl);\n return 'bs4';\n }\n\n window.document.head.removeChild(spanEl);\n return 'bs5';\n}\n\nexport function setTheme(theme: AvailableBsVersions): void {\n guessedVersion = theme;\n}\n\nexport function isBs4(): boolean {\n if (guessedVersion) return guessedVersion === 'bs4';\n\n guessedVersion = _guessBsVersion();\n return guessedVersion === 'bs4';\n}\n\nexport function isBs5(): boolean {\n if (guessedVersion) return guessedVersion === 'bs5';\n\n guessedVersion = _guessBsVersion();\n return guessedVersion === 'bs5';\n}\n\nexport function getBsVer(): IBsVersion {\n return {\n isBs4: isBs4(),\n isBs5: isBs5()\n };\n}\n\nexport function currentBsVersion(): AvailableBsVersions {\n const bsVer = getBsVer();\n const resVersion = Object.keys(bsVer).find(key => bsVer[key]);\n return BsVerions[resVersion as keyof typeof BsVerions];\n}\n\n\n","interface ListNode<T> {\n value: T,\n next?: ListNode<T>,\n previous?: ListNode<T>\n}\n\nexport class LinkedList<T> {\n length = 0;\n protected head?: ListNode<T>;\n protected tail?: ListNode<T>;\n protected current?: ListNode<T>;\n protected asArray: T[] = [];\n\n get(position: number): T | undefined {\n if (this.length === 0 || position < 0 || position >= this.length) {\n return void 0;\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current?.next;\n }\n\n return current?.value;\n }\n\n add(value: T, position: number = this.length): void {\n if (position < 0 || position > this.length) {\n throw new Error('Position is out of the list');\n }\n\n const node: ListNode<T> = {\n value,\n next: undefined,\n previous: undefined\n };\n\n if (this.length === 0) {\n this.head = node;\n this.tail = node;\n this.current = node;\n } else {\n if (position === 0 && this.head) {\n // first node\n node.next = this.head;\n this.head.previous = node;\n this.head = node;\n } else if (position === this.length && this.tail) {\n // last node\n this.tail.next = node;\n node.previous = this.tail;\n this.tail = node;\n } else {\n // node in middle\n const currentPreviousNode = this.getNode(position - 1);\n const currentNextNode = currentPreviousNode?.next;\n if (currentPreviousNode && currentNextNode) {\n currentPreviousNode.next = node;\n currentNextNode.previous = node;\n node.previous = currentPreviousNode;\n node.next = currentNextNode;\n }\n }\n }\n this.length++;\n this.createInternalArrayRepresentation();\n }\n\n remove(position = 0): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n if (position === 0 && this.head) {\n // first node\n this.head = this.head.next;\n\n if (this.head) {\n // there is no second node\n this.head.previous = undefined;\n } else {\n // there is no second node\n this.tail = undefined;\n }\n } else if (position === this.length - 1 && this.tail?.previous) {\n // last node\n this.tail = this.tail.previous;\n this.tail.next = undefined;\n } else {\n // middle node\n const removedNode = this.getNode(position);\n if (removedNode?.next && removedNode.previous) {\n removedNode.next.previous = removedNode.previous;\n removedNode.previous.next = removedNode.next;\n }\n }\n\n this.length--;\n this.createInternalArrayRepresentation();\n }\n\n set(position: number, value: T): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n const node = this.getNode(position);\n if (node) {\n node.value = value;\n this.createInternalArrayRepresentation();\n }\n }\n\n toArray(): T[] {\n return this.asArray;\n }\n\n findAll(fn: (value: T, index: number) => boolean): { index: number, value: T }[] {\n let current = this.head;\n const result: { index: number, value: T }[] = [];\n\n if (!current) {\n return result;\n }\n\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return result;\n }\n if (fn(current.value, index)) {\n result.push({ index, value: current.value });\n }\n current = current.next;\n\n }\n\n return result;\n }\n\n // Array methods overriding start\n push(...args: T[]): number {\n args.forEach((arg: T) => {\n this.add(arg);\n });\n\n return this.length;\n }\n\n pop(): T | undefined {\n if (this.length === 0) {\n return undefined;\n }\n const last = this.tail;\n this.remove(this.length - 1);\n\n return last?.value;\n }\n\n unshift(...args: T[]): number {\n args.reverse();\n args.forEach((arg: T) => {\n this.add(arg, 0);\n });\n\n return this.length;\n }\n\n shift(): T | undefined {\n if (this.length === 0) {\n return undefined;\n }\n const lastItem = this.head?.value;\n this.remove();\n\n return lastItem;\n }\n\n forEach(fn: (value: T, index: number) => void): void {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return;\n }\n fn(current.value, index);\n current = current.next;\n }\n }\n\n indexOf(value: T): number {\n let current = this.head;\n let position = -1;\n\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return position;\n }\n if (current.value === value) {\n position = index;\n break;\n }\n current = current.next;\n }\n\n return position;\n }\n\n some(fn: (value: T) => boolean): boolean {\n let current = this.head;\n let result = false;\n while (current && !result) {\n if (fn(current.value)) {\n result = true;\n break;\n }\n current = current.next;\n }\n\n return result;\n }\n\n every(fn: (value: T) => boolean): boolean {\n let current = this.head;\n let result = true;\n while (current && result) {\n if (!fn(current.value)) {\n result = false;\n }\n current = current.next;\n }\n\n return result;\n }\n\n toString(): string {\n return '[Linked List]';\n }\n\n find(fn: (value: T, index: number) => boolean): T | void {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return;\n }\n if (fn(current.value, index)) {\n return current.value;\n }\n current = current.next;\n }\n }\n\n findIndex(fn: (value: T, index: number) => boolean): number {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return -1;\n }\n\n if (fn(current.value, index)) {\n return index;\n }\n\n current = current.next;\n }\n\n return -1;\n }\n\n protected getNode(position: number): ListNode<T>|undefined {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current?.next;\n }\n\n return current;\n }\n\n protected createInternalArrayRepresentation(): void {\n const outArray: T[] = [];\n let current = this.head;\n\n while (current) {\n outArray.push(current.value);\n current = current.next;\n }\n this.asArray = outArray;\n }\n\n // Array methods overriding END\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function OnChange(): any {\n const sufix = 'Change';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function OnChangeHandler(target: any, propertyKey: string): void {\n const _key = ` __${propertyKey}Value`;\n Object.defineProperty(target, propertyKey, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get(): any {\n return this[_key];\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(value: any): void {\n const prevValue = this[_key];\n this[_key] = value;\n if (prevValue !== value && this[propertyKey + sufix]) {\n this[propertyKey + sufix].emit(value);\n }\n }\n });\n };\n}\n","import { window } from './facade/browser';\nimport { currentBsVersion } from './theme-provider';\n\nexport class Utils {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static reflow(element: any): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((bs: any): void => bs)(element.offsetHeight);\n }\n\n // source: https://github.com/jquery/jquery/blob/master/src/css/var/getStyles.js\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static getStyles(elem: any): any {\n // Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n // IE throws on elements created in popups\n // FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n let view = elem.ownerDocument.defaultView;\n\n if (!view || !view.opener) {\n view = window;\n }\n\n return view.getComputedStyle(elem);\n }\n\n static stackOverflowConfig(): { crossorigin?: string, integrity?: string, cdnLink: string } {\n const bsVer = currentBsVersion();\n return {\n crossorigin: \"anonymous\",\n integrity: bsVer === 'bs5' ? 'sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65' : 'sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2',\n cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css' : 'https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css',\n };\n }\n}\n","import { isDevMode } from '@angular/core';\nconst _messagesHash: { [key: string]: boolean } = {};\nconst _hideMsg = typeof console === 'undefined' || !('warn' in console);\n\nexport function warnOnce(msg: string): void {\n if (!isDevMode() || _hideMsg || msg in _messagesHash) {\n return;\n }\n\n _messagesHash[msg] = true;\n console.warn(msg);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["window"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-bootstrap-utils.mjs","sources":["../tmp-esm2022/trigger.class.js","../tmp-esm2022/triggers.js","../tmp-esm2022/facade/browser.js","../tmp-esm2022/theme-provider.js","../tmp-esm2022/linked-list.class.js","../tmp-esm2022/decorators.js","../tmp-esm2022/utils.class.js","../tmp-esm2022/warn-once.js","../tmp-esm2022/ngx-bootstrap-utils.js"],"sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\nexport class Trigger {\n constructor(open, close) {\n this.open = open;\n this.close = close || open;\n }\n isManual() {\n return this.open === 'manual' || this.close === 'manual';\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy90cmlnZ2VyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE1BQU0sT0FBTyxPQUFPO0lBSWxCLFlBQVksSUFBWSxFQUFFLEtBQWM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgVmFsb3IgU29mdHdhcmVcbiAqIEBjb3B5cmlnaHQgQW5ndWxhciBuZy1ib290c3RyYXAgdGVhbVxuICovXG5cbmV4cG9ydCBjbGFzcyBUcmlnZ2VyIHtcbiAgb3Blbjogc3RyaW5nO1xuICBjbG9zZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcGVuOiBzdHJpbmcsIGNsb3NlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB0aGlzLmNsb3NlID0gY2xvc2UgfHwgb3BlbjtcbiAgfVxuXG4gIGlzTWFudWFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZW4gPT09ICdtYW51YWwnIHx8IHRoaXMuY2xvc2UgPT09ICdtYW51YWwnO1xuICB9XG59XG4iXX0=","import { Trigger } from './trigger.class';\nconst DEFAULT_ALIASES = {\n hover: ['mouseover', 'mouseout'],\n focus: ['focusin', 'focusout']\n};\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function parseTriggers(triggers, aliases = DEFAULT_ALIASES) {\n const trimmedTriggers = (triggers || '').trim();\n if (trimmedTriggers.length === 0) {\n return [];\n }\n const parsedTriggers = trimmedTriggers\n .split(/\\s+/)\n .map((trigger) => trigger.split(':'))\n .map((triggerPair) => {\n const alias = aliases[triggerPair[0]] || triggerPair;\n return new Trigger(alias[0], alias[1]);\n });\n const manualTriggers = parsedTriggers.filter((triggerPair) => triggerPair.isManual());\n if (manualTriggers.length > 1) {\n throw new Error('Triggers parse error: only one manual trigger is allowed');\n }\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw new Error('Triggers parse error: manual trigger can\\'t be mixed with other triggers');\n }\n return parsedTriggers;\n}\nexport function listenToTriggers(renderer, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntarget, triggers, showFn, hideFn, toggleFn) {\n const parsedTriggers = parseTriggers(triggers);\n const listeners = [];\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype;\n }\n parsedTriggers.forEach((trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(target, trigger.open, toggleFn));\n return;\n }\n listeners.push(renderer.listen(target, trigger.open, showFn));\n if (trigger.close) {\n listeners.push(renderer.listen(target, trigger.close, hideFn));\n }\n });\n return () => {\n listeners.forEach((unsubscribeFn) => unsubscribeFn());\n };\n}\nexport function listenToTriggersV2(renderer, options) {\n const parsedTriggers = parseTriggers(options.triggers);\n const target = options.target;\n // do nothing\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype;\n }\n // all listeners\n const listeners = [];\n // lazy listeners registration\n const _registerHide = [];\n const registerHide = () => {\n // add hide listeners to unregister array\n _registerHide.forEach((fn) => listeners.push(fn()));\n // register hide events only once\n _registerHide.length = 0;\n };\n // register open\\close\\toggle listeners\n parsedTriggers.forEach((trigger) => {\n const useToggle = trigger.open === trigger.close;\n const showFn = useToggle ? options.toggle : options.show;\n if (!useToggle && trigger.close && options.hide) {\n const triggerClose = trigger.close;\n const optionsHide = options.hide;\n const _hide = () => renderer.listen(target, triggerClose, optionsHide);\n _registerHide.push(_hide);\n }\n if (showFn) {\n listeners.push(renderer.listen(target, trigger.open, () => showFn(registerHide)));\n }\n });\n return () => {\n listeners.forEach((unsubscribeFn) => unsubscribeFn());\n };\n}\nexport function registerOutsideClick(renderer, options) {\n if (!options.outsideClick) {\n return Function.prototype;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return renderer.listen('document', 'click', (event) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (options.targets &&\n options.targets.some(target => target.contains(event.target))) {\n return;\n }\n if (options.hide) {\n options.hide();\n }\n });\n}\nexport function registerEscClick(renderer, options) {\n if (!options.outsideEsc) {\n return Function.prototype;\n }\n return renderer.listen('document', 'keyup.esc', (event) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (options.targets &&\n options.targets.some(target => target.contains(event.target))) {\n return;\n }\n if (options.hide) {\n options.hide();\n }\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBZ0IxQyxNQUFNLGVBQWUsR0FBRztJQUN0QixLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0lBQ2hDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7Q0FDL0IsQ0FBQztBQUVGLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQWlCLEVBQUUsVUFBZSxlQUFlO0lBQzdFLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRWhELElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxlQUFlO1NBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDWixHQUFHLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUMsR0FBRyxDQUFDLENBQUMsV0FBcUIsRUFBRSxFQUFFO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUM7UUFFckQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFTCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBb0IsRUFBRSxFQUFFLENBQ3BFLFdBQVcsQ0FBQyxRQUFRLEVB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QUNULENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNvcHlyaWdodCBWYWxvciBTb2Z0d2FyZVxuICogQGNvcHlyaWdodCBBbmd1bGFyIG5nLWJvb3RzdHJhcCB0ZWFtXG4gKi9cbmltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJpZ2dlciB9IGZyb20gJy4vdHJpZ2dlci5jbGFzcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgdHlwZSBCc0V2ZW50Q2FsbGJhY2sgPSAoZXZlbnQ/OiBhbnkpID0+IGJvb2xlYW4gfCB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3Rlbk9wdGlvbnMge1xuICB0YXJnZXQ/OiBIVE1MRWxlbWVudDtcbiAgdGFyZ2V0cz86IEhUTUxFbGVtZW50W107XG4gIHRyaWdnZXJzPzogc3RyaW5nO1xuICBvdXRzaWRlQ2xpY2s/OiBib29sZWFuO1xuICBvdXRzaWRlRXNjPzogYm9vbGVhbjtcbiAgc2hvdz86IEJzRXZlbnRDYWxsYmFjaztcbiAgaGlkZT86IEJzRXZlbnRDYWxsYmFjaztcbiAgdG9nZ2xlPzogQnNFdmVudENhbGxiYWNrO1xufVxuXG5jb25zdCBERUZBVUxUX0FMSUFTRVMgPSB7XG4gIGhvdmVyOiBbJ21vdXNlb3ZlcicsICdtb3VzZW91dCddLFxuICBmb2N1czogWydmb2N1c2luJywgJ2ZvY3Vzb3V0J11cbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUcmlnZ2Vycyh0cmlnZ2Vycz86IHN0cmluZywgYWxpYXNlczogYW55ID0gREVGQVVMVF9BTElBU0VTKTogVHJpZ2dlcltdIHtcbiAgY29uc3QgdHJpbW1lZFRyaWdnZXJzID0gKHRyaWdnZXJzIHx8ICcnKS50cmltKCk7XG5cbiAgaWYgKHRyaW1tZWRUcmlnZ2Vycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwYXJzZWRUcmlnZ2VycyA9IHRyaW1tZWRUcmlnZ2Vyc1xuICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgLm1hcCgodHJpZ2dlcjogc3RyaW5nKSA9PiB0cmlnZ2VyLnNwbGl0KCc6JykpXG4gICAgLm1hcCgodHJpZ2dlclBhaXI6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCBhbGlhcyA9IGFsaWFzZXNbdHJpZ2dlclBhaXJbMF1dIHx8IHRyaWdnZXJQYWlyO1xuXG4gICAgICByZXR1cm4gbmV3IFRyaWdnZXIoYWxpYXNbMF0sIGFsaWFzWzFdKTtcbiAgICB9KTtcblxuICBjb25zdCBtYW51YWxUcmlnZ2VycyA9IHBhcnNlZFRyaWdnZXJzLmZpbHRlcigodHJpZ2dlclBhaXI6IFRyaWdnZXIpID0+XG4gICAgdHJpZ2dlclBhaXIuaXNNYW51YWwoKVxuICApO1xuXG4gIGlmIChtYW51YWxUcmlnZ2Vycy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmlnZ2VycyBwYXJzZSBlcnJvcjogb25seSBvbmUgbWFudWFsIHRyaWdnZXIgaXMgYWxsb3dlZCcpO1xuICB9XG5cbiAgaWYgKG1hbnVhbFRyaWdnZXJzLmxlbmd0aCA9PT0gMSAmJiBwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmlnZ2VycyBwYXJzZSBlcnJvcjogbWFudWFsIHRyaWdnZXIgY2FuXFwndCBiZSBtaXhlZCB3aXRoIG90aGVyIHRyaWdnZXJzJyk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkVHJpZ2dlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub1RyaWdnZXJzKHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2Vyczogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0ZuOiBCc0V2ZW50Q2FsbGJhY2ssXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlRm46IEJzRXZlbnRDYWxsYmFjayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUZuOiBCc0V2ZW50Q2FsbGJhY2spOiAoKSA9PiB2b2lkIHtcbiAgY29uc3QgcGFyc2VkVHJpZ2dlcnMgPSBwYXJzZVRyaWdnZXJzKHRyaWdnZXJzKTtcbiAgY29uc3QgbGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIGlmIChwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnNbMF0uaXNNYW51YWwoKSkge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGUgYXMgKCkgPT4gdm9pZDtcbiAgfVxuXG4gIHBhcnNlZFRyaWdnZXJzLmZvckVhY2goKHRyaWdnZXI6IFRyaWdnZXIpID0+IHtcbiAgICBpZiAodHJpZ2dlci5vcGVuID09PSB0cmlnZ2VyLmNsb3NlKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLm9wZW4sIHRvZ2dsZUZuKSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLm9wZW4sIHNob3dGbikpO1xuICAgIGlmICh0cmlnZ2VyLmNsb3NlKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLmNsb3NlLCBoaWRlRm4pKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgbGlzdGVuZXJzLmZvckVhY2goKHVuc3Vic2NyaWJlRm4pID0+IHVuc3Vic2NyaWJlRm4oKSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub1RyaWdnZXJzVjIocmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucyk6ICgpID0+IHZvaWQge1xuICBjb25zdCBwYXJzZWRUcmlnZ2VycyA9IHBhcnNlVHJpZ2dlcnMob3B0aW9ucy50cmlnZ2Vycyk7XG4gIGNvbnN0IHRhcmdldCA9IG9wdGlvbnMudGFyZ2V0O1xuICAvLyBkbyBub3RoaW5nXG4gIGlmIChwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnNbMF0uaXNNYW51YWwoKSkge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGUgYXMgKCkgPT4gdm9pZDtcbiAgfVxuXG4gIC8vIGFsbCBsaXN0ZW5lcnNcbiAgY29uc3QgbGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIC8vIGxhenkgbGlzdGVuZXJzIHJlZ2lzdHJhdGlvblxuICBjb25zdCBfcmVnaXN0ZXJIaWRlOiBBcnJheTwoKSA9PiAoKSA9PiB2b2lkPiA9IFtdO1xuICBjb25zdCByZWdpc3RlckhpZGUgPSAoKSA9PiB7XG4gICAgLy8gYWRkIGhpZGUgbGlzdGVuZXJzIHRvIHVucmVnaXN0ZXIgYXJyYXlcbiAgICBfcmVnaXN0ZXJIaWRlLmZvckVhY2goKGZuKSA9PiBsaXN0ZW5lcnMucHVzaChmbigpKSk7XG4gICAgLy8gcmVnaXN0ZXIgaGlkZSBldmVudHMgb25seSBvbmNlXG4gICAgX3JlZ2lzdGVySGlkZS5sZW5ndGggPSAwO1xuICB9O1xuXG4gIC8vIHJlZ2lzdGVyIG9wZW5cXGNsb3NlXFx0b2dnbGUgbGlzdGVuZXJzXG4gIHBhcnNlZFRyaWdnZXJzLmZvckVhY2goKHRyaWdnZXI6IFRyaWdnZXIpID0+IHtcbiAgICBjb25zdCB1c2VUb2dnbGUgPSB0cmlnZ2VyLm9wZW4gPT09IHRyaWdnZXIuY2xvc2U7XG4gICAgY29uc3Qgc2hvd0ZuID0gdXNlVG9nZ2xlID8gb3B0aW9ucy50b2dnbGUgOiBvcHRpb25zLnNob3c7XG5cbiAgICBpZiAoIXVzZVRvZ2dsZSAmJiB0cmlnZ2VyLmNsb3NlICYmIG9wdGlvbnMuaGlkZSkge1xuICAgICAgY29uc3QgdHJpZ2dlckNsb3NlID0gdHJpZ2dlci5jbG9zZTtcbiAgICAgIGNvbnN0IG9wdGlvbnNIaWRlID0gb3B0aW9ucy5oaWRlO1xuICAgICAgY29uc3QgX2hpZGUgPSAoKSA9PiByZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyQ2xvc2UsIG9wdGlvbnNIaWRlKTtcbiAgICAgIF9yZWdpc3RlckhpZGUucHVzaChfaGlkZSk7XG4gICAgfVxuXG4gICAgaWYgKHNob3dGbikge1xuICAgICAgbGlzdGVuZXJzLnB1c2gocmVuZGVyZXIubGlzdGVuKHRhcmdldCwgdHJpZ2dlci5vcGVuLCAoKSA9PiBzaG93Rm4ocmVnaXN0ZXJIaWRlKSkpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBsaXN0ZW5lcnMuZm9yRWFjaCgodW5zdWJzY3JpYmVGbjogKCkgPT4gdm9pZCkgPT4gdW5zdWJzY3JpYmVGbigpKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyT3V0c2lkZUNsaWNrKHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMub3V0c2lkZUNsaWNrKSB7XG4gICAgcmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJldHVybiByZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICBpZiAob3B0aW9ucy50YXJnZXQgJiYgb3B0aW9ucy50YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLnRhcmdldHMgJiZcbiAgICAgIG9wdGlvbnMudGFyZ2V0cy5zb21lKHRhcmdldCA9PiB0YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oaWRlKSB7XG4gICAgICBvcHRpb25zLmhpZGUoKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJFc2NDbGljayhyZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMub3V0c2lkZUVzYykge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIH1cblxuICByZXR1cm4gcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdrZXl1cC5lc2MnLCAoZXZlbnQpID0+IHtcbiAgICBpZiAob3B0aW9ucy50YXJnZXQgJiYgb3B0aW9ucy50YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLnRhcmdldHMgJiZcbiAgICAgIG9wdGlvbnMudGFyZ2V0cy5zb21lKHRhcmdldCA9PiB0YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oaWRlKSB7XG4gICAgICBvcHRpb25zLmhpZGUoKTtcbiAgICB9XG4gIH0pO1xufVxuIl19","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * JS version of browser APIs. This library can only run in the browser.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst win = (typeof window !== 'undefined' && window) || {};\nexport { win as window };\nexport const document = win.document;\nexport const location = win.location;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const gc = win.gc ? () => win.gc() : () => null;\nexport const performance = win.performance ? win.performance : null;\nexport const Event = win.Event;\nexport const MouseEvent = win.MouseEvent;\nexport const KeyboardEvent = win.KeyboardEvent;\nexport const EventTarget = win.EventTarget;\nexport const History = win.History;\nexport const Location = win.Location;\nexport const EventListener = win.EventListener;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91dGlscy9mYWNhZGUvYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7R0FFRztBQUNILDhEQUE4RDtBQUM5RCxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFTLENBQUM7QUFFbkUsT0FBTyxFQUFFLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNyQyw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBUSxFQUFFLENBQUMsSUFBSSxDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogSlMgdmVyc2lvbiBvZiBicm93c2VyIEFQSXMuIFRoaXMgbGlicmFyeSBjYW4gb25seSBydW4gaW4gdGhlIGJyb3dzZXIuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCB3aW4gPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93KSB8fCB7fSBhcyBhbnk7XG5cbmV4cG9ydCB7IHdpbiBhcyB3aW5kb3cgfTtcbmV4cG9ydCBjb25zdCBkb2N1bWVudCA9IHdpbi5kb2N1bWVudDtcbmV4cG9ydCBjb25zdCBsb2NhdGlvbiA9IHdpbi5sb2NhdGlvbjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY29uc3QgZ2MgPSB3aW4uZ2MgPyAoKSA9PiB3aW4uZ2MoKSA6ICgpOiBhbnkgPT4gbnVsbDtcbmV4cG9ydCBjb25zdCBwZXJmb3JtYW5jZSA9IHdpbi5wZXJmb3JtYW5jZSA/IHdpbi5wZXJmb3JtYW5jZSA6IG51bGw7XG5leHBvcnQgY29uc3QgRXZlbnQgPSB3aW4uRXZlbnQ7XG5leHBvcnQgY29uc3QgTW91c2VFdmVudCA9IHdpbi5Nb3VzZUV2ZW50O1xuZXhwb3J0IGNvbnN0IEtleWJvYXJkRXZlbnQgPSB3aW4uS2V5Ym9hcmRFdmVudDtcbmV4cG9ydCBjb25zdCBFdmVudFRhcmdldCA9IHdpbi5FdmVudFRhcmdldDtcbmV4cG9ydCBjb25zdCBIaXN0b3J5ID0gd2luLkhpc3Rvcnk7XG5leHBvcnQgY29uc3QgTG9jYXRpb24gPSB3aW4uTG9jYXRpb247XG5leHBvcnQgY29uc3QgRXZlbnRMaXN0ZW5lciA9IHdpbi5FdmVudExpc3RlbmVyO1xuIl19","import { window } from './facade/browser';\nexport var BsVerions;\n(function (BsVerions) {\n BsVerions[\"isBs4\"] = \"bs4\";\n BsVerions[\"isBs5\"] = \"bs5\";\n})(BsVerions || (BsVerions = {}));\nlet guessedVersion;\nfunction _guessBsVersion() {\n const spanEl = window.document.createElement('span');\n spanEl.innerText = 'testing bs version';\n spanEl.classList.add('d-none');\n spanEl.classList.add('pl-1');\n window.document.head.appendChild(spanEl);\n const checkPadding = window.getComputedStyle(spanEl).paddingLeft;\n if (checkPadding && parseFloat(checkPadding)) {\n window.document.head.removeChild(spanEl);\n return 'bs4';\n }\n window.document.head.removeChild(spanEl);\n return 'bs5';\n}\nexport function setTheme(theme) {\n guessedVersion = theme;\n}\nexport function isBs4() {\n if (guessedVersion)\n return guessedVersion === 'bs4';\n guessedVersion = _guessBsVersion();\n return guessedVersion === 'bs4';\n}\nexport function isBs5() {\n if (guessedVersion)\n return guessedVersion === 'bs5';\n guessedVersion = _guessBsVersion();\n return guessedVersion === 'bs5';\n}\nexport function getBsVer() {\n return {\n isBs4: isBs4(),\n isBs5: isBs5()\n };\n}\nexport function currentBsVersion() {\n const bsVer = getBsVer();\n const resVersion = Object.keys(bsVer).find(key => bsVer[key]);\n return BsVerions[resVersion];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGhlbWUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBYTFDLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUFFRCxJQUFJLGNBQW1DLENBQUM7QUFFeEMsU0FBUyxlQUFlO0lBQ3RCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELE1BQU0sQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7SUFDeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFFakUsSUFBSSxZQUFZLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQTBCO0lBQ2pELGNBQWMsR0FBRyxLQUFLLENBQUM7QUFDekIsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLO0lBQ25CLElBQUksY0FBYztRQUFFLE9BQU8sY0FBYyxLQUFLLEtBQUssQ0FBQztJQUVwRCxjQUFjLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFDbkMsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSztJQUNuQixJQUFJLGNBQWM7UUFBRSxPQUFPLGNBQWMsS0FBSyxLQUFLLENBQUM7SUFFcEQsY0FBYyxHQUFHLGVBQWUsRUFBRSxDQUFDO0lBQ25DLE9BQU8sY0FBYyxLQUFLLEtBQUssQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVE7SUFDdEIsT0FBTztRQUNMLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDZCxLQUFLLEVBQUUsS0FBSyxFQUFFO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE1BQU0sS0FBSyxHQUFHLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUQsT0FBTyxTQUFTLENBQUMsVUFBb0MsQ0FBQyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3aW5kb3cgfSBmcm9tICcuL2ZhY2FkZS9icm93c2VyJztcblxuZXhwb3J0IHR5cGUgQXZhaWxhYmxlQnNWZXJzaW9ucyA9ICdiczQnIHwgJ2JzNSc7XG5cbmludGVyZmFjZSBJT2JqZWN0S2V5cyB7XG4gIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJzVmVyc2lvbiBleHRlbmRzIElPYmplY3RLZXlze1xuICBpc0JzNDogYm9vbGVhbjtcbiAgaXNCczU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIEJzVmVyaW9ucyB7XG4gIGlzQnM0ID0gJ2JzNCcsXG4gIGlzQnM1ID0gJ2JzNSdcbn1cblxubGV0IGd1ZXNzZWRWZXJzaW9uOiBBdmFpbGFibGVCc1ZlcnNpb25zO1xuXG5mdW5jdGlvbiBfZ3Vlc3NCc1ZlcnNpb24oKTogQXZhaWxhYmxlQnNWZXJzaW9ucyB7XG4gIGNvbnN0IHNwYW5FbCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gIHNwYW5FbC5pbm5lclRleHQgPSAndGVzdGluZyBicyB2ZXJzaW9uJztcbiAgc3BhbkVsLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xuICBzcGFuRWwuY2xhc3NMaXN0LmFkZCgncGwtMScpO1xuICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzcGFuRWwpO1xuICBjb25zdCBjaGVja1BhZGRpbmcgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzcGFuRWwpLnBhZGRpbmdMZWZ0O1xuXG4gIGlmIChjaGVja1BhZGRpbmcgJiYgcGFyc2VGbG9hdChjaGVja1BhZGRpbmcpKSB7XG4gICAgd2luZG93LmRvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQoc3BhbkVsKTtcbiAgICByZXR1cm4gJ2JzNCc7XG4gIH1cblxuICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChzcGFuRWwpO1xuICByZXR1cm4gJ2JzNSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRUaGVtZSh0aGVtZTogQXZhaWxhYmxlQnNWZXJzaW9ucyk6IHZvaWQge1xuICBndWVzc2VkVmVyc2lvbiA9IHRoZW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCczQoKTogYm9vbGVhbiB7XG4gIGlmIChndWVzc2VkVmVyc2lvbikgcmV0dXJuIGd1ZXNzZWRWZXJzaW9uID09PSAnYnM0JztcblxuICBndWVzc2VkVmVyc2lvbiA9IF9ndWVzc0JzVmVyc2lvbigpO1xuICByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczQnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCczUoKTogYm9vbGVhbiB7XG4gIGlmIChndWVzc2VkVmVyc2lvbikgcmV0dXJuIGd1ZXNzZWRWZXJzaW9uID09PSAnYnM1JztcblxuICBndWVzc2VkVmVyc2lvbiA9IF9ndWVzc0JzVmVyc2lvbigpO1xuICByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczUnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnNWZXIoKTogSUJzVmVyc2lvbiB7XG4gIHJldHVybiB7XG4gICAgaXNCczQ6IGlzQnM0KCksXG4gICAgaXNCczU6IGlzQnM1KClcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGN1cnJlbnRCc1ZlcnNpb24oKTogQXZhaWxhYmxlQnNWZXJzaW9ucyB7XG4gIGNvbnN0IGJzVmVyID0gZ2V0QnNWZXIoKTtcbiAgY29uc3QgcmVzVmVyc2lvbiA9IE9iamVjdC5rZXlzKGJzVmVyKS5maW5kKGtleSA9PiBic1ZlcltrZXldKTtcbiAgcmV0dXJuIEJzVmVyaW9uc1tyZXNWZXJzaW9uIGFzIGtleW9mIHR5cGVvZiBCc1ZlcmlvbnNdO1xufVxuXG5cbiJdfQ==","export class LinkedList {\n constructor() {\n this.length = 0;\n this.asArray = [];\n // Array methods overriding END\n }\n get(position) {\n if (this.length === 0 || position < 0 || position >= this.length) {\n return void 0;\n }\n let current = this.head;\n for (let index = 0; index < position; index++) {\n current = current?.next;\n }\n return current?.value;\n }\n add(value, position = this.length) {\n if (position < 0 || position > this.length) {\n throw new Error('Position is out of the list');\n }\n const node = {\n value,\n next: undefined,\n previous: undefined\n };\n if (this.length === 0) {\n this.head = node;\n this.tail = node;\n this.current = node;\n }\n else {\n if (position === 0 && this.head) {\n // first node\n node.next = this.head;\n this.head.previous = node;\n this.head = node;\n }\n else if (position === this.length && this.tail) {\n // last node\n this.tail.next = node;\n node.previous = this.tail;\n this.tail = node;\n }\n else {\n // node in middle\n const currentPreviousNode = this.getNode(position - 1);\n const currentNextNode = currentPreviousNode?.next;\n if (currentPreviousNode && currentNextNode) {\n currentPreviousNode.next = node;\n currentNextNode.previous = node;\n node.previous = currentPreviousNode;\n node.next = currentNextNode;\n }\n }\n }\n this.length++;\n this.createInternalArrayRepresentation();\n }\n remove(position = 0) {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n if (position === 0 && this.head) {\n // first node\n this.head = this.head.next;\n if (this.head) {\n // there is no second node\n this.head.previous = undefined;\n }\n else {\n // there is no second node\n this.tail = undefined;\n }\n }\n else if (position === this.length - 1 && this.tail?.previous) {\n // last node\n this.tail = this.tail.previous;\n this.tail.next = undefined;\n }\n else {\n // middle node\n const removedNode = this.getNode(position);\n if (removedNode?.next && removedNode.previous) {\n removedNode.next.previous = removedNode.previous;\n removedNode.previous.next = removedNode.next;\n }\n }\n this.length--;\n this.createInternalArrayRepresentation();\n }\n set(position, value) {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n const node = this.getNode(position);\n if (node) {\n node.value = value;\n this.createInternalArrayRepresentation();\n }\n }\n toArray() {\n return this.asArray;\n }\n findAll(fn) {\n let current = this.head;\n const result = [];\n if (!current) {\n return result;\n }\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return result;\n }\n if (fn(current.value, index)) {\n result.push({ index, value: current.value });\n }\n current = current.next;\n }\n return result;\n }\n // Array methods overriding start\n push(...args) {\n args.forEach((arg) => {\n this.add(arg);\n });\n return this.length;\n }\n pop() {\n if (this.length === 0) {\n return undefined;\n }\n const last = this.tail;\n this.remove(this.length - 1);\n return last?.value;\n }\n unshift(...args) {\n args.reverse();\n args.forEach((arg) => {\n this.add(arg, 0);\n });\n return this.length;\n }\n shift() {\n if (this.length === 0) {\n return undefined;\n }\n const lastItem = this.head?.value;\n this.remove();\n return lastItem;\n }\n forEach(fn) {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return;\n }\n fn(current.value, index);\n current = current.next;\n }\n }\n indexOf(value) {\n let current = this.head;\n let position = -1;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return position;\n }\n if (current.value === value) {\n position = index;\n break;\n }\n current = current.next;\n }\n return position;\n }\n some(fn) {\n let current = this.head;\n let result = false;\n while (current && !result) {\n if (fn(current.value)) {\n result = true;\n break;\n }\n current = current.next;\n }\n return result;\n }\n every(fn) {\n let current = this.head;\n let result = true;\n while (current && result) {\n if (!fn(current.value)) {\n result = false;\n }\n current = current.next;\n }\n return result;\n }\n toString() {\n return '[Linked List]';\n }\n find(fn) {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return;\n }\n if (fn(current.value, index)) {\n return current.value;\n }\n current = current.next;\n }\n }\n findIndex(fn) {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return -1;\n }\n if (fn(current.value, index)) {\n return index;\n }\n current = current.next;\n }\n return -1;\n }\n getNode(position) {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n let current = this.head;\n for (let index = 0; index < position; index++) {\n current = current?.next;\n }\n return current;\n }\n createInternalArrayRepresentation() {\n const outArray = [];\n let current = this.head;\n while (current) {\n outArray.push(current.value);\n current = current.next;\n }\n this.asArray = outArray;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWxpc3QuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvbGlua2VkLWxpc3QuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDRSxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBSUQsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQTBSNUIsK0JBQStCO0lBQ2pDLENBQUM7SUF6UkMsR0FBRyxDQUFDLFFBQWdCO1FBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pFLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFeEIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzlDLE9BQU8sR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLE9BQU8sRUFBRSxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFRLEVBQUUsV0FBbUIsSUFBSSxDQUFDLE1BQU07UUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxNQUFNLElBQUksR0FBZ0I7WUFDeEIsS0FBSztZQUNMLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJ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QVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFeEIsT0FBTyxPQUFPLEVBQUUsQ0FBQztZQUNmLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztJQUMxQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgTGlzdE5vZGU8VD4ge1xuICB2YWx1ZTogVCxcbiAgbmV4dD86IExpc3ROb2RlPFQ+LFxuICBwcmV2aW91cz86IExpc3ROb2RlPFQ+XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRMaXN0PFQ+IHtcbiAgbGVuZ3RoID0gMDtcbiAgcHJvdGVjdGVkIGhlYWQ/OiBMaXN0Tm9kZTxUPjtcbiAgcHJvdGVjdGVkIHRhaWw/OiBMaXN0Tm9kZTxUPjtcbiAgcHJvdGVjdGVkIGN1cnJlbnQ/OiBMaXN0Tm9kZTxUPjtcbiAgcHJvdGVjdGVkIGFzQXJyYXk6IFRbXSA9IFtdO1xuXG4gIGdldChwb3NpdGlvbjogbnVtYmVyKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwIHx8IHBvc2l0aW9uIDwgMCB8fCBwb3NpdGlvbiA+PSB0aGlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG5cbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBwb3NpdGlvbjsgaW5kZXgrKykge1xuICAgICAgY3VycmVudCA9IGN1cnJlbnQ/Lm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnQ/LnZhbHVlO1xuICB9XG5cbiAgYWRkKHZhbHVlOiBULCBwb3NpdGlvbjogbnVtYmVyID0gdGhpcy5sZW5ndGgpOiB2b2lkIHtcbiAgICBpZiAocG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID4gdGhpcy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUG9zaXRpb24gaXMgb3V0IG9mIHRoZSBsaXN0Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZTogTGlzdE5vZGU8VD4gPSB7XG4gICAgICB2YWx1ZSxcbiAgICAgIG5leHQ6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZpb3VzOiB1bmRlZmluZWRcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmhlYWQgPSBub2RlO1xuICAgICAgdGhpcy50YWlsID0gbm9kZTtcbiAgICAgIHRoaXMuY3VycmVudCA9IG5vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwb3NpdGlvbiA9PT0gMCAmJiB0aGlzLmhlYWQpIHtcbiAgICAgICAgLy8gZmlyc3Qgbm9kZVxuICAgICAgICBub2RlLm5leHQgPSB0aGlzLmhlYWQ7XG4gICAgICAgIHRoaXMuaGVhZC5wcmV2aW91cyA9IG5vZGU7XG4gICAgICAgIHRoaXMuaGVhZCA9IG5vZGU7XG4gICAgICB9IGVsc2UgaWYgKHBvc2l0aW9uID09PSB0aGlzLmxlbmd0aCAmJiB0aGlzLnRhaWwpIHtcbiAgICAgICAgLy8gbGFzdCBub2RlXG4gICAgICAgIHRoaXMudGFpbC5uZXh0ID0gbm9kZTtcbiAgICAgICAgbm9kZS5wcmV2aW91cyA9IHRoaXMudGFpbDtcbiAgICAgICAgdGhpcy50YWlsID0gbm9kZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIG5vZGUgaW4gbWlkZGxlXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQcmV2aW91c05vZGUgPSB0aGlzLmdldE5vZGUocG9zaXRpb24gLSAxKTtcbiAgICAgICAgY29uc3QgY3VycmVudE5leHROb2RlID0gY3VycmVudFByZXZpb3VzTm9kZT8ubmV4dDtcbiAgICAgICAgaWYgKGN1cnJlbnRQcmV2aW91c05vZGUgJiYgY3VycmVudE5leHROb2RlKSB7XG4gICAgICAgICAgY3VycmVudFByZXZpb3VzTm9kZS5uZXh0ID0gbm9kZTtcbiAgICAgICAgICBjdXJyZW50TmV4dE5vZGUucHJldmlvdXMgPSBub2RlO1xuICAgICAgICAgIG5vZGUucHJldmlvdXMgPSBjdXJyZW50UHJldmlvdXNOb2RlO1xuICAgICAgICAgIG5vZGUubmV4dCA9IGN1cnJlbnROZXh0Tm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmxlbmd0aCsrO1xuICAgIHRoaXMuY3JlYXRlSW50ZXJuYWxBcnJheVJlcHJlc2VudGF0aW9uKCk7XG4gIH1cblxuICByZW1vdmUocG9zaXRpb24gPSAwKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwIHx8IHBvc2l0aW9uIDwgMCB8fCBwb3NpdGlvbiA+PSB0aGlzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQb3NpdGlvbiBpcyBvdXQgb2YgdGhlIGxpc3QnKTtcbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gPT09IDAgJiYgdGhpcy5oZWFkKSB7XG4gICAgICAvLyBmaXJzdCBub2RlXG4gICAgICB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcblxuICAgICAgaWYgKHRoaXMuaGVhZCkge1xuICAgICAgICAvLyB0aGVyZSBpcyBubyBzZWNvbmQgbm9kZVxuICAgICAgICB0aGlzLmhlYWQucHJldmlvdXMgPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGVyZSBpcyBubyBzZWNvbmQgbm9kZVxuICAgICAgICB0aGlzLnRhaWwgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gdGhpcy5sZW5ndGggLSAxICYmIHRoaXMudGFpbD8ucHJldmlvdXMpIHtcbiAgICAgIC8vIGxhc3Qgbm9kZVxuICAgICAgdGhpcy50YWlsID0gdGhpcy50YWlsLnByZXZpb3VzO1xuICAgICAgdGhpcy50YWlsLm5leHQgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1pZGRsZSBub2RlXG4gICAgICBjb25zdCByZW1vdmVkTm9kZSA9IHRoaXMuZ2V0Tm9kZShwb3NpdGlvbik7XG4gICAgICBpZiAocmVtb3ZlZE5vZGU/Lm5leHQgJiYgcmVtb3ZlZE5vZGUucHJldmlvdXMpIHtcbiAgICAgICAgcmVtb3ZlZE5vZGUubmV4dC5wcmV2aW91cyA9IHJlbW92ZWROb2RlLnByZXZpb3VzO1xuICAgICAgICByZW1vdmVkTm9kZS5wcmV2aW91cy5uZXh0ID0gcmVtb3ZlZE5vZGUubmV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aC0tO1xuICAgIHRoaXMuY3JlYXRlSW50ZXJuYWxBcnJheVJlcHJlc2VudGF0aW9uKCk7XG4gIH1cblxuICBzZXQocG9zaXRpb246IG51bWJlciwgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDAgfHwgcG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Bvc2l0aW9uIGlzIG91dCBvZiB0aGUgbGlzdCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUocG9zaXRpb24pO1xuICAgIGlmIChub2RlKSB7XG4gICAgICBub2RlLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmNyZWF0ZUludGVybmFsQXJyYXlSZXByZXNlbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHRvQXJyYXkoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5hc0FycmF5O1xuICB9XG5cbiAgZmluZEFsbChmbjogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBib29sZWFuKTogeyBpbmRleDogbnVtYmVyLCB2YWx1ZTogVCB9W10ge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuICAgIGNvbnN0IHJlc3VsdDogeyBpbmRleDogbnVtYmVyLCB2YWx1ZTogVCB9W10gPSBbXTtcblxuICAgIGlmICghY3VycmVudCkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmICghY3VycmVudCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgaWYgKGZuKGN1cnJlbnQudmFsdWUsIGluZGV4KSkge1xuICAgICAgICByZXN1bHQucHVzaCh7IGluZGV4LCB2YWx1ZTogY3VycmVudC52YWx1ZSB9KTtcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG5cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gQXJyYXkgbWV0aG9kcyBvdmVycmlkaW5nIHN0YXJ0XG4gIHB1c2goLi4uYXJnczogVFtdKTogbnVtYmVyIHtcbiAgICBhcmdzLmZvckVhY2goKGFyZzogVCkgPT4ge1xuICAgICAgdGhpcy5hZGQoYXJnKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmxlbmd0aDtcbiAgfVxuXG4gIHBvcCgpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGxhc3QgPSB0aGlzLnRhaWw7XG4gICAgdGhpcy5yZW1vdmUodGhpcy5sZW5ndGggLSAxKTtcblxuICAgIHJldHVybiBsYXN0Py52YWx1ZTtcbiAgfVxuXG4gIHVuc2hpZnQoLi4uYXJnczogVFtdKTogbnVtYmVyIHtcbiAgICBhcmdzLnJldmVyc2UoKTtcbiAgICBhcmdzLmZvckVhY2goKGFyZzogVCkgPT4ge1xuICAgICAgdGhpcy5hZGQoYXJnLCAwKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmxlbmd0aDtcbiAgfVxuXG4gIHNoaWZ0KCk6IFQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLmhlYWQ/LnZhbHVlO1xuICAgIHRoaXMucmVtb3ZlKCk7XG5cbiAgICByZXR1cm4gbGFzdEl0ZW07XG4gIH1cblxuICBmb3JFYWNoKGZuOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmICghY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmbihjdXJyZW50LnZhbHVlLCBpbmRleCk7XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH1cbiAgfVxuXG4gIGluZGV4T2YodmFsdWU6IFQpOiBudW1iZXIge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuICAgIGxldCBwb3NpdGlvbiA9IC0xO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xuICAgICAgfVxuICAgICAgaWYgKGN1cnJlbnQudmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICAgIHBvc2l0aW9uID0gaW5kZXg7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zaXRpb247XG4gIH1cblxuICBzb21lKGZuOiAodmFsdWU6IFQpID0+IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgd2hpbGUgKGN1cnJlbnQgJiYgIXJlc3VsdCkge1xuICAgICAgaWYgKGZuKGN1cnJlbnQudmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZXZlcnkoZm46ICh2YWx1ZTogVCkgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuICAgIGxldCByZXN1bHQgPSB0cnVlO1xuICAgIHdoaWxlIChjdXJyZW50ICYmIHJlc3VsdCkge1xuICAgICAgaWYgKCFmbihjdXJyZW50LnZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdbTGlua2VkIExpc3RdJztcbiAgfVxuXG4gIGZpbmQoZm46ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbik6IFQgfCB2b2lkIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmICghY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZm4oY3VycmVudC52YWx1ZSwgaW5kZXgpKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50LnZhbHVlO1xuICAgICAgfVxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG4gIH1cblxuICBmaW5kSW5kZXgoZm46ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbik6IG51bWJlciB7XG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLmhlYWQ7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuXG4gICAgICBpZiAoZm4oY3VycmVudC52YWx1ZSwgaW5kZXgpKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cblxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Tm9kZShwb3NpdGlvbjogbnVtYmVyKTogTGlzdE5vZGU8VD58dW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDAgfHwgcG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Bvc2l0aW9uIGlzIG91dCBvZiB0aGUgbGlzdCcpO1xuICAgIH1cblxuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHBvc2l0aW9uOyBpbmRleCsrKSB7XG4gICAgICBjdXJyZW50ID0gY3VycmVudD8ubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVJbnRlcm5hbEFycmF5UmVwcmVzZW50YXRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgb3V0QXJyYXk6IFRbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIG91dEFycmF5LnB1c2goY3VycmVudC52YWx1ZSk7XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH1cbiAgICB0aGlzLmFzQXJyYXkgPSBvdXRBcnJheTtcbiAgfVxuXG4gIC8vIEFycmF5IG1ldGhvZHMgb3ZlcnJpZGluZyBFTkRcbn1cbiJdfQ==","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function OnChange() {\n const sufix = 'Change';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function OnChangeHandler(target, propertyKey) {\n const _key = ` __${propertyKey}Value`;\n Object.defineProperty(target, propertyKey, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get() {\n return this[_key];\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(value) {\n const prevValue = this[_key];\n this[_key] = value;\n if (prevValue !== value && this[propertyKey + sufix]) {\n this[propertyKey + sufix].emit(value);\n }\n }\n });\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsUUFBUTtJQUN0QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUM7SUFFdkIsOERBQThEO0lBQzlELE9BQU8sU0FBUyxlQUFlLENBQUMsTUFBVyxFQUFFLFdBQW1CO1FBQzlELE1BQU0sSUFBSSxHQUFHLE1BQU0sV0FBVyxPQUFPLENBQUM7UUFDdEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO1lBQ3pDLDhEQUE4RDtZQUM5RCxHQUFHO2dCQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFDRCw4REFBOEQ7WUFDOUQsR0FBRyxDQUFDLEtBQVU7Z0JBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLFNBQVMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBPbkNoYW5nZSgpOiBhbnkge1xuICBjb25zdCBzdWZpeCA9ICdDaGFuZ2UnO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJldHVybiBmdW5jdGlvbiBPbkNoYW5nZUhhbmRsZXIodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBfa2V5ID0gYCBfXyR7cHJvcGVydHlLZXl9VmFsdWVgO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgZ2V0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzW19rZXldO1xuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICBzZXQodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2VmFsdWUgPSB0aGlzW19rZXldO1xuICAgICAgICB0aGlzW19rZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChwcmV2VmFsdWUgIT09IHZhbHVlICYmIHRoaXNbcHJvcGVydHlLZXkgKyBzdWZpeF0pIHtcbiAgICAgICAgICB0aGlzW3Byb3BlcnR5S2V5ICsgc3VmaXhdLmVtaXQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59XG4iXX0=","import { window } from './facade/browser';\nimport { currentBsVersion } from './theme-provider';\nexport class Utils {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static reflow(element) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((bs) => bs)(element.offsetHeight);\n }\n // source: https://github.com/jquery/jquery/blob/master/src/css/var/getStyles.js\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static getStyles(elem) {\n // Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n // IE throws on elements created in popups\n // FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n let view = elem.ownerDocument.defaultView;\n if (!view || !view.opener) {\n view = window;\n }\n return view.getComputedStyle(elem);\n }\n static stackOverflowConfig() {\n const bsVer = currentBsVersion();\n return {\n crossorigin: \"anonymous\",\n integrity: bsVer === 'bs5' ? 'sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65' : 'sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2',\n cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css' : 'https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css',\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdXRpbHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sT0FBTyxLQUFLO0lBQ2hCLDhEQUE4RDtJQUM5RCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQVk7UUFDeEIsOERBQThEO1FBQzlELENBQUMsQ0FBQyxFQUFPLEVBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLDhEQUE4RDtJQUM5RCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVM7UUFDeEIsdURBQXVEO1FBQ3ZELDBDQUEwQztRQUMxQywrRUFBK0U7UUFDL0UsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFFMUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQixJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUEsTUFBTSxDQUFDLG1CQUFtQjtRQUN6QixNQUFNLEtBQUssR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQy9CLE9BQU87WUFDUCxXQUFXLEVBQUUsV0FBVztZQUN4QixTQUFTLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMseUVBQXlFLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtZQUNsTCxPQUFPLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMseUVBQXlFLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtTQUNqTCxDQUFDO0lBQ0gsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd2luZG93IH0gZnJvbSAnLi9mYWNhZGUvYnJvd3Nlcic7XG5pbXBvcnQgeyBjdXJyZW50QnNWZXJzaW9uIH0gZnJvbSAnLi90aGVtZS1wcm92aWRlcic7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHN0YXRpYyByZWZsb3coZWxlbWVudDogYW55KTogdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAoKGJzOiBhbnkpOiB2b2lkID0+IGJzKShlbGVtZW50Lm9mZnNldEhlaWdodCk7XG4gIH1cblxuICAvLyBzb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9qcXVlcnkvanF1ZXJ5L2Jsb2IvbWFzdGVyL3NyYy9jc3MvdmFyL2dldFN0eWxlcy5qc1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBzdGF0aWMgZ2V0U3R5bGVzKGVsZW06IGFueSk6IGFueSB7XG4gICAgLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5LCBGaXJlZm94IDw9MzAgKCMxNTA5OCwgIzE0MTUwKVxuICAgIC8vIElFIHRocm93cyBvbiBlbGVtZW50cyBjcmVhdGVkIGluIHBvcHVwc1xuICAgIC8vIEZGIG1lYW53aGlsZSB0aHJvd3Mgb24gZnJhbWUgZWxlbWVudHMgdGhyb3VnaCBcImRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGVcIlxuICAgIGxldCB2aWV3ID0gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuXG4gICAgaWYgKCF2aWV3IHx8ICF2aWV3Lm9wZW5lcikge1xuICAgICAgdmlldyA9IHdpbmRvdztcbiAgICB9XG5cbiAgICByZXR1cm4gdmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW0pO1xuICB9XG5cbiAgIHN0YXRpYyBzdGFja092ZXJmbG93Q29uZmlnKCk6IHsgY3Jvc3NvcmlnaW4/OiBzdHJpbmcsIGludGVncml0eT86IHN0cmluZywgY2RuTGluazogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGJzVmVyID0gY3VycmVudEJzVmVyc2lvbigpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgIGNyb3Nzb3JpZ2luOiBcImFub255bW91c1wiLFxuICAgICAgaW50ZWdyaXR5OiBic1ZlciA9PT0gJ2JzNScgPyAnc2hhMzg0LXJic0EyVkJLUWhnZ3d6eEg3cFBDYUFxTzQ2TWduT004MHpXMVJXdUg2MURHTHdaSkVkSzJLYWRxMkY5Q1VHNjUnIDogJ3NoYTM4NC1UWDh0MjdFY1JFM2UvaWhVN3ptUXhWbmNEQXk1dUlLejRyRWtnSVhlTWVkNE0wamxmSURQdmc2dXFLSTJ4WHIyJyxcbiAgICAgIGNkbkxpbms6IGJzVmVyID09PSAnYnM1JyA/ICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA1LjIuMy9kaXN0L2Nzcy9ib290c3RyYXAubWluLmNzcycgOiAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9ib290c3RyYXBANC41LjMvZGlzdC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MnLFxuICAgIH07XG4gICB9XG59XG4iXX0=","import { isDevMode } from '@angular/core';\nconst _messagesHash = {};\nconst _hideMsg = typeof console === 'undefined' || !('warn' in console);\nexport function warnOnce(msg) {\n if (!isDevMode() || _hideMsg || msg in _messagesHash) {\n return;\n }\n _messagesHash[msg] = true;\n console.warn(msg);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Fybi1vbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3dhcm4tb25jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE1BQU0sYUFBYSxHQUErQixFQUFFLENBQUM7QUFDckQsTUFBTSxRQUFRLEdBQUcsT0FBTyxPQUFPLEtBQUssV0FBVyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUM7QUFFeEUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXO0lBQ2xDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxRQUFRLElBQUksR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3JELE9BQU87SUFDVCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmNvbnN0IF9tZXNzYWdlc0hhc2g6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5jb25zdCBfaGlkZU1zZyA9IHR5cGVvZiBjb25zb2xlID09PSAndW5kZWZpbmVkJyB8fCAhKCd3YXJuJyBpbiBjb25zb2xlKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdhcm5PbmNlKG1zZzogc3RyaW5nKTogdm9pZCB7XG4gIGlmICghaXNEZXZNb2RlKCkgfHwgX2hpZGVNc2cgfHwgbXNnIGluIF9tZXNzYWdlc0hhc2gpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBfbWVzc2FnZXNIYXNoW21zZ10gPSB0cnVlO1xuICAgIGNvbnNvbGUud2Fybihtc2cpO1xufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWJvb3RzdHJhcC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9uZ3gtYm9vdHN0cmFwLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["window"],"mappings":"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"}