ngx-bootstrap 18.1.3 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/accordion/fesm2022/ngx-bootstrap-accordion.mjs +13 -14
  2. package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -1
  3. package/alert/fesm2022/ngx-bootstrap-alert.mjs +10 -10
  4. package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -1
  5. package/buttons/fesm2022/ngx-bootstrap-buttons.mjs +13 -13
  6. package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -1
  7. package/carousel/fesm2022/ngx-bootstrap-carousel.mjs +13 -13
  8. package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -1
  9. package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -1
  10. package/collapse/fesm2022/ngx-bootstrap-collapse.mjs +7 -8
  11. package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
  12. package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs +3 -3
  13. package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -1
  14. package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +85 -86
  15. package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
  16. package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +22 -25
  17. package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
  18. package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs +19 -19
  19. package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -1
  20. package/mini-ngrx/fesm2022/ngx-bootstrap-mini-ngrx.mjs.map +1 -1
  21. package/modal/fesm2022/ngx-bootstrap-modal.mjs +22 -24
  22. package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -1
  23. package/package.json +5 -7
  24. package/pagination/fesm2022/ngx-bootstrap-pagination.mjs +13 -13
  25. package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -1
  26. package/popover/fesm2022/ngx-bootstrap-popover.mjs +13 -13
  27. package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -1
  28. package/positioning/fesm2022/ngx-bootstrap-positioning.mjs +3 -3
  29. package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -1
  30. package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs +13 -13
  31. package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -1
  32. package/rating/fesm2022/ngx-bootstrap-rating.mjs +10 -10
  33. package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -1
  34. package/schematics/ng-add/index.js +2 -3
  35. package/schematics/ng-add/index.js.map +1 -1
  36. package/schematics/utils/addStyles.js +1 -2
  37. package/schematics/utils/addStyles.js.map +1 -1
  38. package/schematics/utils/current_dependency_versions.json +1 -1
  39. package/schematics/utils/getVersions.js +2 -3
  40. package/schematics/utils/getVersions.js.map +1 -1
  41. package/schematics/utils/index.js +6 -7
  42. package/schematics/utils/index.js.map +1 -1
  43. package/schematics/utils/ng-module-imports.js +1 -2
  44. package/schematics/utils/ng-module-imports.js.map +1 -1
  45. package/schematics/utils/project-main-file.js +1 -2
  46. package/schematics/utils/project-main-file.js.map +1 -1
  47. package/schematics/utils/project-targets.js +1 -2
  48. package/schematics/utils/project-targets.js.map +1 -1
  49. package/sortable/fesm2022/ngx-bootstrap-sortable.mjs +12 -14
  50. package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -1
  51. package/tabs/fesm2022/ngx-bootstrap-tabs.mjs +19 -19
  52. package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -1
  53. package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs +16 -16
  54. package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -1
  55. package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs +13 -13
  56. package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -1
  57. package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +13 -14
  58. package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
  59. package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -1
  60. package/accordion/esm2022/accordion-group.component.mjs +0 -85
  61. package/accordion/esm2022/accordion.component.mjs +0 -57
  62. package/accordion/esm2022/accordion.config.mjs +0 -22
  63. package/accordion/esm2022/accordion.module.mjs +0 -24
  64. package/accordion/esm2022/index.mjs +0 -2
  65. package/accordion/esm2022/ngx-bootstrap-accordion.mjs +0 -5
  66. package/accordion/esm2022/public_api.mjs +0 -5
  67. package/alert/esm2022/alert.component.mjs +0 -77
  68. package/alert/esm2022/alert.config.mjs +0 -21
  69. package/alert/esm2022/alert.module.mjs +0 -23
  70. package/alert/esm2022/index.mjs +0 -2
  71. package/alert/esm2022/ngx-bootstrap-alert.mjs +0 -5
  72. package/alert/esm2022/public_api.mjs +0 -4
  73. package/buttons/esm2022/button-checkbox.directive.mjs +0 -88
  74. package/buttons/esm2022/button-radio-group.directive.mjs +0 -158
  75. package/buttons/esm2022/button-radio.directive.mjs +0 -189
  76. package/buttons/esm2022/buttons.module.mjs +0 -25
  77. package/buttons/esm2022/index.mjs +0 -2
  78. package/buttons/esm2022/ngx-bootstrap-buttons.mjs +0 -5
  79. package/buttons/esm2022/public_api.mjs +0 -5
  80. package/carousel/esm2022/carousel.component.mjs +0 -712
  81. package/carousel/esm2022/carousel.config.mjs +0 -32
  82. package/carousel/esm2022/carousel.module.mjs +0 -24
  83. package/carousel/esm2022/index.mjs +0 -2
  84. package/carousel/esm2022/models/index.mjs +0 -2
  85. package/carousel/esm2022/ngx-bootstrap-carousel.mjs +0 -5
  86. package/carousel/esm2022/public_api.mjs +0 -5
  87. package/carousel/esm2022/slide.component.mjs +0 -65
  88. package/carousel/esm2022/utils.mjs +0 -32
  89. package/chronos/esm2022/create/check-overflow.mjs +0 -30
  90. package/chronos/esm2022/create/clone.mjs +0 -6
  91. package/chronos/esm2022/create/date-from-array.mjs +0 -19
  92. package/chronos/esm2022/create/from-anything.mjs +0 -106
  93. package/chronos/esm2022/create/from-array.mjs +0 -135
  94. package/chronos/esm2022/create/from-object.mjs +0 -17
  95. package/chronos/esm2022/create/from-string-and-array.mjs +0 -38
  96. package/chronos/esm2022/create/from-string-and-format.mjs +0 -106
  97. package/chronos/esm2022/create/from-string.mjs +0 -222
  98. package/chronos/esm2022/create/local.mjs +0 -16
  99. package/chronos/esm2022/create/parsing-flags.mjs +0 -26
  100. package/chronos/esm2022/create/parsing.types.mjs +0 -2
  101. package/chronos/esm2022/create/valid.mjs +0 -42
  102. package/chronos/esm2022/duration/bubble.mjs +0 -47
  103. package/chronos/esm2022/duration/constructor.mjs +0 -130
  104. package/chronos/esm2022/duration/create.mjs +0 -112
  105. package/chronos/esm2022/duration/humanize.mjs +0 -79
  106. package/chronos/esm2022/duration/valid.mjs +0 -43
  107. package/chronos/esm2022/format/format.mjs +0 -50
  108. package/chronos/esm2022/format.mjs +0 -46
  109. package/chronos/esm2022/i18n/ar.mjs +0 -132
  110. package/chronos/esm2022/i18n/bg.mjs +0 -90
  111. package/chronos/esm2022/i18n/ca.mjs +0 -87
  112. package/chronos/esm2022/i18n/cs.mjs +0 -175
  113. package/chronos/esm2022/i18n/da.mjs +0 -49
  114. package/chronos/esm2022/i18n/de.mjs +0 -67
  115. package/chronos/esm2022/i18n/en-gb.mjs +0 -57
  116. package/chronos/esm2022/i18n/es-do.mjs +0 -81
  117. package/chronos/esm2022/i18n/es-pr.mjs +0 -74
  118. package/chronos/esm2022/i18n/es-us.mjs +0 -75
  119. package/chronos/esm2022/i18n/es.mjs +0 -80
  120. package/chronos/esm2022/i18n/et.mjs +0 -69
  121. package/chronos/esm2022/i18n/fa.mjs +0 -130
  122. package/chronos/esm2022/i18n/fi.mjs +0 -96
  123. package/chronos/esm2022/i18n/fr-ca.mjs +0 -69
  124. package/chronos/esm2022/i18n/fr.mjs +0 -72
  125. package/chronos/esm2022/i18n/gl.mjs +0 -80
  126. package/chronos/esm2022/i18n/he.mjs +0 -94
  127. package/chronos/esm2022/i18n/hi.mjs +0 -119
  128. package/chronos/esm2022/i18n/hr.mjs +0 -58
  129. package/chronos/esm2022/i18n/hu.mjs +0 -100
  130. package/chronos/esm2022/i18n/id.mjs +0 -78
  131. package/chronos/esm2022/i18n/it.mjs +0 -61
  132. package/chronos/esm2022/i18n/ja.mjs +0 -71
  133. package/chronos/esm2022/i18n/ka.mjs +0 -83
  134. package/chronos/esm2022/i18n/kk.mjs +0 -76
  135. package/chronos/esm2022/i18n/ko.mjs +0 -72
  136. package/chronos/esm2022/i18n/lt.mjs +0 -112
  137. package/chronos/esm2022/i18n/lv.mjs +0 -52
  138. package/chronos/esm2022/i18n/mn.mjs +0 -94
  139. package/chronos/esm2022/i18n/nb.mjs +0 -53
  140. package/chronos/esm2022/i18n/nl-be.mjs +0 -77
  141. package/chronos/esm2022/i18n/nl.mjs +0 -76
  142. package/chronos/esm2022/i18n/pl.mjs +0 -122
  143. package/chronos/esm2022/i18n/pt-br.mjs +0 -52
  144. package/chronos/esm2022/i18n/ro.mjs +0 -66
  145. package/chronos/esm2022/i18n/ru.mjs +0 -177
  146. package/chronos/esm2022/i18n/sk.mjs +0 -153
  147. package/chronos/esm2022/i18n/sl.mjs +0 -179
  148. package/chronos/esm2022/i18n/sq.mjs +0 -50
  149. package/chronos/esm2022/i18n/sv.mjs +0 -59
  150. package/chronos/esm2022/i18n/th-be.mjs +0 -73
  151. package/chronos/esm2022/i18n/th.mjs +0 -58
  152. package/chronos/esm2022/i18n/tr.mjs +0 -78
  153. package/chronos/esm2022/i18n/uk.mjs +0 -143
  154. package/chronos/esm2022/i18n/vi.mjs +0 -70
  155. package/chronos/esm2022/i18n/zh-cn.mjs +0 -109
  156. package/chronos/esm2022/index.mjs +0 -2
  157. package/chronos/esm2022/locale/calendar.mjs +0 -9
  158. package/chronos/esm2022/locale/locale.class.mjs +0 -532
  159. package/chronos/esm2022/locale/locale.defaults.mjs +0 -40
  160. package/chronos/esm2022/locale/locales.mjs +0 -228
  161. package/chronos/esm2022/moment/add-subtract.mjs +0 -35
  162. package/chronos/esm2022/moment/calendar.mjs +0 -41
  163. package/chronos/esm2022/moment/diff.mjs +0 -70
  164. package/chronos/esm2022/moment/min-max.mjs +0 -38
  165. package/chronos/esm2022/ngx-bootstrap-chronos.mjs +0 -5
  166. package/chronos/esm2022/parse/regex.mjs +0 -47
  167. package/chronos/esm2022/parse/token.mjs +0 -31
  168. package/chronos/esm2022/public_api.mjs +0 -59
  169. package/chronos/esm2022/testing/chain.mjs +0 -708
  170. package/chronos/esm2022/types.mjs +0 -2
  171. package/chronos/esm2022/units/aliases.mjs +0 -35
  172. package/chronos/esm2022/units/constants.mjs +0 -11
  173. package/chronos/esm2022/units/day-of-month.mjs +0 -31
  174. package/chronos/esm2022/units/day-of-week.mjs +0 -129
  175. package/chronos/esm2022/units/day-of-year.mjs +0 -37
  176. package/chronos/esm2022/units/hour.mjs +0 -127
  177. package/chronos/esm2022/units/index.mjs +0 -19
  178. package/chronos/esm2022/units/millisecond.mjs +0 -59
  179. package/chronos/esm2022/units/minute.mjs +0 -23
  180. package/chronos/esm2022/units/month.mjs +0 -63
  181. package/chronos/esm2022/units/offset.mjs +0 -209
  182. package/chronos/esm2022/units/priorities.mjs +0 -21
  183. package/chronos/esm2022/units/quarter.mjs +0 -39
  184. package/chronos/esm2022/units/second.mjs +0 -23
  185. package/chronos/esm2022/units/timestamp.mjs +0 -28
  186. package/chronos/esm2022/units/timezone.mjs +0 -19
  187. package/chronos/esm2022/units/week-calendar-utils.mjs +0 -70
  188. package/chronos/esm2022/units/week-year.mjs +0 -101
  189. package/chronos/esm2022/units/week.mjs +0 -58
  190. package/chronos/esm2022/units/year.mjs +0 -60
  191. package/chronos/esm2022/utils/abs-ceil.mjs +0 -4
  192. package/chronos/esm2022/utils/abs-round.mjs +0 -4
  193. package/chronos/esm2022/utils/compare-arrays.mjs +0 -16
  194. package/chronos/esm2022/utils/date-compare.mjs +0 -55
  195. package/chronos/esm2022/utils/date-getters.mjs +0 -67
  196. package/chronos/esm2022/utils/date-setters.mjs +0 -75
  197. package/chronos/esm2022/utils/defaults.mjs +0 -11
  198. package/chronos/esm2022/utils/start-end-of.mjs +0 -57
  199. package/chronos/esm2022/utils/type-checks.mjs +0 -58
  200. package/chronos/esm2022/utils/zero-fill.mjs +0 -10
  201. package/chronos/esm2022/utils.mjs +0 -7
  202. package/collapse/esm2022/collapse-animations.mjs +0 -11
  203. package/collapse/esm2022/collapse.directive.mjs +0 -169
  204. package/collapse/esm2022/collapse.module.mjs +0 -23
  205. package/collapse/esm2022/index.mjs +0 -2
  206. package/collapse/esm2022/ngx-bootstrap-collapse.mjs +0 -5
  207. package/collapse/esm2022/public_api.mjs +0 -3
  208. package/component-loader/esm2022/bs-component-ref.class.mjs +0 -3
  209. package/component-loader/esm2022/component-loader.class.mjs +0 -292
  210. package/component-loader/esm2022/component-loader.factory.mjs +0 -35
  211. package/component-loader/esm2022/content-ref.class.mjs +0 -16
  212. package/component-loader/esm2022/index.mjs +0 -2
  213. package/component-loader/esm2022/listen-options.model.mjs +0 -2
  214. package/component-loader/esm2022/ngx-bootstrap-component-loader.mjs +0 -5
  215. package/component-loader/esm2022/public_api.mjs +0 -5
  216. package/datepicker/esm2022/base/bs-datepicker-container.mjs +0 -76
  217. package/datepicker/esm2022/bs-datepicker-inline.component.mjs +0 -163
  218. package/datepicker/esm2022/bs-datepicker-inline.config.mjs +0 -14
  219. package/datepicker/esm2022/bs-datepicker-input.directive.mjs +0 -172
  220. package/datepicker/esm2022/bs-datepicker.component.mjs +0 -307
  221. package/datepicker/esm2022/bs-datepicker.config.mjs +0 -101
  222. package/datepicker/esm2022/bs-datepicker.module.mjs +0 -105
  223. package/datepicker/esm2022/bs-daterangepicker-inline.component.mjs +0 -169
  224. package/datepicker/esm2022/bs-daterangepicker-inline.config.mjs +0 -21
  225. package/datepicker/esm2022/bs-daterangepicker-input.directive.mjs +0 -215
  226. package/datepicker/esm2022/bs-daterangepicker.component.mjs +0 -302
  227. package/datepicker/esm2022/bs-daterangepicker.config.mjs +0 -19
  228. package/datepicker/esm2022/bs-locale.service.mjs +0 -32
  229. package/datepicker/esm2022/datepicker-animations.mjs +0 -16
  230. package/datepicker/esm2022/engine/calc-days-calendar.mjs +0 -21
  231. package/datepicker/esm2022/engine/flag-days-calendar.mjs +0 -93
  232. package/datepicker/esm2022/engine/flag-months-calendar.mjs +0 -45
  233. package/datepicker/esm2022/engine/flag-years-calendar.mjs +0 -42
  234. package/datepicker/esm2022/engine/format-days-calendar.mjs +0 -33
  235. package/datepicker/esm2022/engine/format-months-calendar.mjs +0 -23
  236. package/datepicker/esm2022/engine/format-years-calendar.mjs +0 -39
  237. package/datepicker/esm2022/engine/view-mode.mjs +0 -4
  238. package/datepicker/esm2022/index.mjs +0 -2
  239. package/datepicker/esm2022/models/index.mjs +0 -9
  240. package/datepicker/esm2022/ngx-bootstrap-datepicker.mjs +0 -5
  241. package/datepicker/esm2022/public_api.mjs +0 -17
  242. package/datepicker/esm2022/reducer/_defaults.mjs +0 -6
  243. package/datepicker/esm2022/reducer/bs-datepicker.actions.mjs +0 -143
  244. package/datepicker/esm2022/reducer/bs-datepicker.effects.mjs +0 -182
  245. package/datepicker/esm2022/reducer/bs-datepicker.reducer.mjs +0 -378
  246. package/datepicker/esm2022/reducer/bs-datepicker.state.mjs +0 -18
  247. package/datepicker/esm2022/reducer/bs-datepicker.store.mjs +0 -22
  248. package/datepicker/esm2022/themes/bs/bs-calendar-layout.component.mjs +0 -49
  249. package/datepicker/esm2022/themes/bs/bs-current-date-view.component.mjs +0 -17
  250. package/datepicker/esm2022/themes/bs/bs-custom-dates-view.component.mjs +0 -55
  251. package/datepicker/esm2022/themes/bs/bs-datepicker-container.component.mjs +0 -199
  252. package/datepicker/esm2022/themes/bs/bs-datepicker-day-decorator.directive.mjs +0 -48
  253. package/datepicker/esm2022/themes/bs/bs-datepicker-inline-container.component.mjs +0 -49
  254. package/datepicker/esm2022/themes/bs/bs-datepicker-navigation-view.component.mjs +0 -125
  255. package/datepicker/esm2022/themes/bs/bs-daterangepicker-container.component.mjs +0 -275
  256. package/datepicker/esm2022/themes/bs/bs-daterangepicker-inline-container.component.mjs +0 -49
  257. package/datepicker/esm2022/themes/bs/bs-days-calendar-view.component.mjs +0 -233
  258. package/datepicker/esm2022/themes/bs/bs-months-calendar-view.component.mjs +0 -95
  259. package/datepicker/esm2022/themes/bs/bs-timepicker-view.component.mjs +0 -56
  260. package/datepicker/esm2022/themes/bs/bs-years-calendar-view.component.mjs +0 -96
  261. package/datepicker/esm2022/utils/bs-calendar-utils.mjs +0 -117
  262. package/datepicker/esm2022/utils/copy-time-utils.mjs +0 -10
  263. package/datepicker/esm2022/utils/matrix-utils.mjs +0 -14
  264. package/dropdown/esm2022/bs-dropdown-container.component.mjs +0 -81
  265. package/dropdown/esm2022/bs-dropdown-menu.directive.mjs +0 -23
  266. package/dropdown/esm2022/bs-dropdown-toggle.directive.mjs +0 -88
  267. package/dropdown/esm2022/bs-dropdown.config.mjs +0 -24
  268. package/dropdown/esm2022/bs-dropdown.directive.mjs +0 -343
  269. package/dropdown/esm2022/bs-dropdown.module.mjs +0 -40
  270. package/dropdown/esm2022/bs-dropdown.state.mjs +0 -25
  271. package/dropdown/esm2022/dropdown-animations.mjs +0 -7
  272. package/dropdown/esm2022/index.mjs +0 -2
  273. package/dropdown/esm2022/ngx-bootstrap-dropdown.mjs +0 -5
  274. package/dropdown/esm2022/public_api.mjs +0 -8
  275. package/esm2022/index.mjs +0 -2
  276. package/esm2022/ngx-bootstrap.mjs +0 -5
  277. package/focus-trap/esm2022/boolean-property.mjs +0 -12
  278. package/focus-trap/esm2022/focus-trap-manager.mjs +0 -54
  279. package/focus-trap/esm2022/focus-trap.mjs +0 -411
  280. package/focus-trap/esm2022/focus-trap.module.mjs +0 -24
  281. package/focus-trap/esm2022/index.mjs +0 -2
  282. package/focus-trap/esm2022/interactivity-checker.mjs +0 -241
  283. package/focus-trap/esm2022/ngx-bootstrap-focus-trap.mjs +0 -5
  284. package/focus-trap/esm2022/platform.mjs +0 -80
  285. package/focus-trap/esm2022/public_api.mjs +0 -4
  286. package/locale/esm2022/index.mjs +0 -2
  287. package/locale/esm2022/ngx-bootstrap-locale.mjs +0 -5
  288. package/locale/esm2022/public_api.mjs +0 -47
  289. package/mini-ngrx/esm2022/index.mjs +0 -2
  290. package/mini-ngrx/esm2022/ngx-bootstrap-mini-ngrx.mjs +0 -5
  291. package/mini-ngrx/esm2022/public_api.mjs +0 -3
  292. package/mini-ngrx/esm2022/state.class.mjs +0 -16
  293. package/mini-ngrx/esm2022/store.class.mjs +0 -42
  294. package/modal/esm2022/bs-modal-ref.service.mjs +0 -22
  295. package/modal/esm2022/bs-modal.service.mjs +0 -231
  296. package/modal/esm2022/index.mjs +0 -2
  297. package/modal/esm2022/modal-backdrop.component.mjs +0 -51
  298. package/modal/esm2022/modal-backdrop.options.mjs +0 -7
  299. package/modal/esm2022/modal-container.component.mjs +0 -156
  300. package/modal/esm2022/modal-options.class.mjs +0 -46
  301. package/modal/esm2022/modal.directive.mjs +0 -365
  302. package/modal/esm2022/modal.module.mjs +0 -44
  303. package/modal/esm2022/models/index.mjs +0 -2
  304. package/modal/esm2022/ngx-bootstrap-modal.mjs +0 -5
  305. package/modal/esm2022/public_api.mjs +0 -9
  306. package/pagination/esm2022/index.mjs +0 -2
  307. package/pagination/esm2022/models/index.mjs +0 -2
  308. package/pagination/esm2022/ngx-bootstrap-pagination.mjs +0 -5
  309. package/pagination/esm2022/pager.component.mjs +0 -256
  310. package/pagination/esm2022/pagination.component.mjs +0 -257
  311. package/pagination/esm2022/pagination.config.mjs +0 -35
  312. package/pagination/esm2022/pagination.module.mjs +0 -25
  313. package/pagination/esm2022/public_api.mjs +0 -5
  314. package/popover/esm2022/index.mjs +0 -2
  315. package/popover/esm2022/ngx-bootstrap-popover.mjs +0 -5
  316. package/popover/esm2022/popover-container.component.mjs +0 -45
  317. package/popover/esm2022/popover.config.mjs +0 -35
  318. package/popover/esm2022/popover.directive.mjs +0 -241
  319. package/popover/esm2022/popover.module.mjs +0 -25
  320. package/popover/esm2022/public_api.mjs +0 -5
  321. package/positioning/esm2022/index.mjs +0 -2
  322. package/positioning/esm2022/models/index.mjs +0 -53
  323. package/positioning/esm2022/modifiers/arrow.mjs +0 -56
  324. package/positioning/esm2022/modifiers/flip.mjs +0 -65
  325. package/positioning/esm2022/modifiers/index.mjs +0 -6
  326. package/positioning/esm2022/modifiers/initData.mjs +0 -44
  327. package/positioning/esm2022/modifiers/preventOverflow.mjs +0 -54
  328. package/positioning/esm2022/modifiers/shift.mjs +0 -24
  329. package/positioning/esm2022/ng-positioning.mjs +0 -39
  330. package/positioning/esm2022/ngx-bootstrap-positioning.mjs +0 -5
  331. package/positioning/esm2022/positioning.service.mjs +0 -71
  332. package/positioning/esm2022/public_api.mjs +0 -5
  333. package/positioning/esm2022/utils/checkMargin.mjs +0 -32
  334. package/positioning/esm2022/utils/computeAutoPlacement.mjs +0 -55
  335. package/positioning/esm2022/utils/findCommonOffsetParent.mjs +0 -40
  336. package/positioning/esm2022/utils/getBordersSize.mjs +0 -10
  337. package/positioning/esm2022/utils/getBoundaries.mjs +0 -70
  338. package/positioning/esm2022/utils/getBoundingClientRect.mjs +0 -56
  339. package/positioning/esm2022/utils/getClientRect.mjs +0 -8
  340. package/positioning/esm2022/utils/getFixedPositionOffsetParent.mjs +0 -16
  341. package/positioning/esm2022/utils/getOffsetParent.mjs +0 -33
  342. package/positioning/esm2022/utils/getOffsetRectRelativeToArbitraryNode.mjs +0 -50
  343. package/positioning/esm2022/utils/getOffsets.mjs +0 -11
  344. package/positioning/esm2022/utils/getOppositePlacement.mjs +0 -8
  345. package/positioning/esm2022/utils/getOppositeVariation.mjs +0 -13
  346. package/positioning/esm2022/utils/getOuterSizes.mjs +0 -12
  347. package/positioning/esm2022/utils/getParentNode.mjs +0 -12
  348. package/positioning/esm2022/utils/getReferenceOffsets.mjs +0 -13
  349. package/positioning/esm2022/utils/getRoot.mjs +0 -10
  350. package/positioning/esm2022/utils/getScroll.mjs +0 -14
  351. package/positioning/esm2022/utils/getScrollParent.mjs +0 -28
  352. package/positioning/esm2022/utils/getStyleComputedProperty.mjs +0 -12
  353. package/positioning/esm2022/utils/getTargetOffsets.mjs +0 -30
  354. package/positioning/esm2022/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +0 -19
  355. package/positioning/esm2022/utils/getWindowSizes.mjs +0 -14
  356. package/positioning/esm2022/utils/index.mjs +0 -24
  357. package/positioning/esm2022/utils/isFixed.mjs +0 -16
  358. package/positioning/esm2022/utils/isModifierEnabled.mjs +0 -4
  359. package/positioning/esm2022/utils/isNumeric.mjs +0 -10
  360. package/positioning/esm2022/utils/isOffsetContainer.mjs +0 -11
  361. package/positioning/esm2022/utils/setStyles.mjs +0 -21
  362. package/positioning/esm2022/utils/updateContainerClass.mjs +0 -32
  363. package/progressbar/esm2022/bar.component.mjs +0 -72
  364. package/progressbar/esm2022/index.mjs +0 -2
  365. package/progressbar/esm2022/ngx-bootstrap-progressbar.mjs +0 -5
  366. package/progressbar/esm2022/progressbar-type.interface.mjs +0 -2
  367. package/progressbar/esm2022/progressbar.component.mjs +0 -53
  368. package/progressbar/esm2022/progressbar.config.mjs +0 -19
  369. package/progressbar/esm2022/progressbar.module.mjs +0 -24
  370. package/progressbar/esm2022/public_api.mjs +0 -5
  371. package/rating/esm2022/index.mjs +0 -2
  372. package/rating/esm2022/models/index.mjs +0 -2
  373. package/rating/esm2022/ngx-bootstrap-rating.mjs +0 -5
  374. package/rating/esm2022/public_api.mjs +0 -4
  375. package/rating/esm2022/rating.component.mjs +0 -121
  376. package/rating/esm2022/rating.config.mjs +0 -18
  377. package/rating/esm2022/rating.module.mjs +0 -23
  378. package/sortable/esm2022/draggable-item.mjs +0 -2
  379. package/sortable/esm2022/draggable-item.service.mjs +0 -36
  380. package/sortable/esm2022/index.mjs +0 -2
  381. package/sortable/esm2022/ngx-bootstrap-sortable.mjs +0 -5
  382. package/sortable/esm2022/public_api.mjs +0 -4
  383. package/sortable/esm2022/sortable.component.mjs +0 -270
  384. package/sortable/esm2022/sortable.module.mjs +0 -23
  385. package/tabs/esm2022/index.mjs +0 -2
  386. package/tabs/esm2022/ng-transclude.directive.mjs +0 -29
  387. package/tabs/esm2022/ngx-bootstrap-tabs.mjs +0 -5
  388. package/tabs/esm2022/public_api.mjs +0 -7
  389. package/tabs/esm2022/tab-heading.directive.mjs +0 -21
  390. package/tabs/esm2022/tab.directive.mjs +0 -118
  391. package/tabs/esm2022/tabs.module.mjs +0 -41
  392. package/tabs/esm2022/tabset.component.mjs +0 -216
  393. package/tabs/esm2022/tabset.config.mjs +0 -21
  394. package/timepicker/esm2022/index.mjs +0 -2
  395. package/timepicker/esm2022/models/index.mjs +0 -2
  396. package/timepicker/esm2022/ngx-bootstrap-timepicker.mjs +0 -5
  397. package/timepicker/esm2022/public_api.mjs +0 -6
  398. package/timepicker/esm2022/reducer/timepicker.actions.mjs +0 -53
  399. package/timepicker/esm2022/reducer/timepicker.reducer.mjs +0 -83
  400. package/timepicker/esm2022/reducer/timepicker.store.mjs +0 -21
  401. package/timepicker/esm2022/timepicker-controls.util.mjs +0 -123
  402. package/timepicker/esm2022/timepicker.component.mjs +0 -334
  403. package/timepicker/esm2022/timepicker.config.mjs +0 -54
  404. package/timepicker/esm2022/timepicker.models.mjs +0 -2
  405. package/timepicker/esm2022/timepicker.module.mjs +0 -23
  406. package/timepicker/esm2022/timepicker.utils.mjs +0 -152
  407. package/tooltip/esm2022/index.mjs +0 -2
  408. package/tooltip/esm2022/ngx-bootstrap-tooltip.mjs +0 -5
  409. package/tooltip/esm2022/public_api.mjs +0 -5
  410. package/tooltip/esm2022/tooltip-container.component.mjs +0 -48
  411. package/tooltip/esm2022/tooltip.config.mjs +0 -22
  412. package/tooltip/esm2022/tooltip.directive.mjs +0 -344
  413. package/tooltip/esm2022/tooltip.module.mjs +0 -25
  414. package/typeahead/esm2022/index.mjs +0 -2
  415. package/typeahead/esm2022/latin-map.mjs +0 -827
  416. package/typeahead/esm2022/models/index.mjs +0 -2
  417. package/typeahead/esm2022/ngx-bootstrap-typeahead.mjs +0 -5
  418. package/typeahead/esm2022/public_api.mjs +0 -9
  419. package/typeahead/esm2022/typeahead-animations.mjs +0 -16
  420. package/typeahead/esm2022/typeahead-container.component.mjs +0 -310
  421. package/typeahead/esm2022/typeahead-match.class.mjs +0 -15
  422. package/typeahead/esm2022/typeahead-options.class.mjs +0 -8
  423. package/typeahead/esm2022/typeahead-order.class.mjs +0 -2
  424. package/typeahead/esm2022/typeahead-utils.mjs +0 -77
  425. package/typeahead/esm2022/typeahead.config.mjs +0 -34
  426. package/typeahead/esm2022/typeahead.directive.mjs +0 -573
  427. package/typeahead/esm2022/typeahead.module.mjs +0 -25
  428. package/utils/esm2022/decorators.mjs +0 -23
  429. package/utils/esm2022/facade/browser.mjs +0 -26
  430. package/utils/esm2022/index.mjs +0 -2
  431. package/utils/esm2022/linked-list.class.mjs +0 -247
  432. package/utils/esm2022/ngx-bootstrap-utils.mjs +0 -5
  433. package/utils/esm2022/public_api.mjs +0 -10
  434. package/utils/esm2022/theme-provider.mjs +0 -48
  435. package/utils/esm2022/trigger.class.mjs +0 -14
  436. package/utils/esm2022/triggers.mjs +0 -120
  437. package/utils/esm2022/utils.class.mjs +0 -30
  438. package/utils/esm2022/warn-once.mjs +0 -11
@@ -1,25 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { TypeaheadContainerComponent } from './typeahead-container.component';
4
- import { TypeaheadDirective } from './typeahead.directive';
5
- import * as i0 from "@angular/core";
6
- export class TypeaheadModule {
7
- // @deprecated method not required anymore, will be deleted in v19.0.0
8
- static forRoot() {
9
- return {
10
- ngModule: TypeaheadModule,
11
- providers: []
12
- };
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TypeaheadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: TypeaheadModule, imports: [CommonModule, TypeaheadContainerComponent, TypeaheadDirective], exports: [TypeaheadContainerComponent, TypeaheadDirective] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TypeaheadModule, imports: [CommonModule] }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TypeaheadModule, decorators: [{
19
- type: NgModule,
20
- args: [{
21
- imports: [CommonModule, TypeaheadContainerComponent, TypeaheadDirective],
22
- exports: [TypeaheadContainerComponent, TypeaheadDirective]
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90eXBlYWhlYWQvdHlwZWFoZWFkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTTNELE1BQU0sT0FBTyxlQUFlO0lBQzFCLHNFQUFzRTtJQUN0RSxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDOzhHQVBVLGVBQWU7K0dBQWYsZUFBZSxZQUhkLFlBQVksRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsYUFDN0QsMkJBQTJCLEVBQUUsa0JBQWtCOytHQUVoRCxlQUFlLFlBSGQsWUFBWTs7MkZBR2IsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsa0JBQWtCLENBQUM7b0JBQ3hFLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLGtCQUFrQixDQUFDO2lCQUM3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUeXBlYWhlYWRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3R5cGVhaGVhZC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFR5cGVhaGVhZERpcmVjdGl2ZSB9IGZyb20gJy4vdHlwZWFoZWFkLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHlwZWFoZWFkQ29udGFpbmVyQ29tcG9uZW50LCBUeXBlYWhlYWREaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUeXBlYWhlYWRDb250YWluZXJDb21wb25lbnQsIFR5cGVhaGVhZERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVHlwZWFoZWFkTW9kdWxlIHtcbiAgLy8gQGRlcHJlY2F0ZWQgbWV0aG9kIG5vdCByZXF1aXJlZCBhbnltb3JlLCB3aWxsIGJlIGRlbGV0ZWQgaW4gdjE5LjAuMFxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFR5cGVhaGVhZE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVHlwZWFoZWFkTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
- export function OnChange() {
3
- const sufix = 'Change';
4
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
- return function OnChangeHandler(target, propertyKey) {
6
- const _key = ` __${propertyKey}Value`;
7
- Object.defineProperty(target, propertyKey, {
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
- get() {
10
- return this[_key];
11
- },
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
- set(value) {
14
- const prevValue = this[_key];
15
- this[_key] = value;
16
- if (prevValue !== value && this[propertyKey + sufix]) {
17
- this[propertyKey + sufix].emit(value);
18
- }
19
- }
20
- });
21
- };
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsUUFBUTtJQUN0QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUM7SUFFdkIsOERBQThEO0lBQzlELE9BQU8sU0FBUyxlQUFlLENBQUMsTUFBVyxFQUFFLFdBQW1CO1FBQzlELE1BQU0sSUFBSSxHQUFHLE1BQU0sV0FBVyxPQUFPLENBQUM7UUFDdEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO1lBQ3pDLDhEQUE4RDtZQUM5RCxHQUFHO2dCQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFDRCw4REFBOEQ7WUFDOUQsR0FBRyxDQUFDLEtBQVU7Z0JBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLFNBQVMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBPbkNoYW5nZSgpOiBhbnkge1xuICBjb25zdCBzdWZpeCA9ICdDaGFuZ2UnO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJldHVybiBmdW5jdGlvbiBPbkNoYW5nZUhhbmRsZXIodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBfa2V5ID0gYCBfXyR7cHJvcGVydHlLZXl9VmFsdWVgO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgZ2V0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzW19rZXldO1xuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICBzZXQodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2VmFsdWUgPSB0aGlzW19rZXldO1xuICAgICAgICB0aGlzW19rZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChwcmV2VmFsdWUgIT09IHZhbHVlICYmIHRoaXNbcHJvcGVydHlLZXkgKyBzdWZpeF0pIHtcbiAgICAgICAgICB0aGlzW3Byb3BlcnR5S2V5ICsgc3VmaXhdLmVtaXQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
@@ -1,26 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google Inc. All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /**
9
- * JS version of browser APIs. This library can only run in the browser.
10
- */
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- const win = (typeof window !== 'undefined' && window) || {};
13
- export { win as window };
14
- export const document = win.document;
15
- export const location = win.location;
16
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
- export const gc = win.gc ? () => win.gc() : () => null;
18
- export const performance = win.performance ? win.performance : null;
19
- export const Event = win.Event;
20
- export const MouseEvent = win.MouseEvent;
21
- export const KeyboardEvent = win.KeyboardEvent;
22
- export const EventTarget = win.EventTarget;
23
- export const History = win.History;
24
- export const Location = win.Location;
25
- export const EventListener = win.EventListener;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91dGlscy9mYWNhZGUvYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7R0FFRztBQUNILDhEQUE4RDtBQUM5RCxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFTLENBQUM7QUFFbkUsT0FBTyxFQUFFLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNyQyw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBUSxFQUFFLENBQUMsSUFBSSxDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogSlMgdmVyc2lvbiBvZiBicm93c2VyIEFQSXMuIFRoaXMgbGlicmFyeSBjYW4gb25seSBydW4gaW4gdGhlIGJyb3dzZXIuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCB3aW4gPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93KSB8fCB7fSBhcyBhbnk7XG5cbmV4cG9ydCB7IHdpbiBhcyB3aW5kb3cgfTtcbmV4cG9ydCBjb25zdCBkb2N1bWVudCA9IHdpbi5kb2N1bWVudDtcbmV4cG9ydCBjb25zdCBsb2NhdGlvbiA9IHdpbi5sb2NhdGlvbjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY29uc3QgZ2MgPSB3aW4uZ2MgPyAoKSA9PiB3aW4uZ2MoKSA6ICgpOiBhbnkgPT4gbnVsbDtcbmV4cG9ydCBjb25zdCBwZXJmb3JtYW5jZSA9IHdpbi5wZXJmb3JtYW5jZSA/IHdpbi5wZXJmb3JtYW5jZSA6IG51bGw7XG5leHBvcnQgY29uc3QgRXZlbnQgPSB3aW4uRXZlbnQ7XG5leHBvcnQgY29uc3QgTW91c2VFdmVudCA9IHdpbi5Nb3VzZUV2ZW50O1xuZXhwb3J0IGNvbnN0IEtleWJvYXJkRXZlbnQgPSB3aW4uS2V5Ym9hcmRFdmVudDtcbmV4cG9ydCBjb25zdCBFdmVudFRhcmdldCA9IHdpbi5FdmVudFRhcmdldDtcbmV4cG9ydCBjb25zdCBIaXN0b3J5ID0gd2luLkhpc3Rvcnk7XG5leHBvcnQgY29uc3QgTG9jYXRpb24gPSB3aW4uTG9jYXRpb247XG5leHBvcnQgY29uc3QgRXZlbnRMaXN0ZW5lciA9IHdpbi5FdmVudExpc3RlbmVyO1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './public_api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,247 +0,0 @@
1
- export class LinkedList {
2
- constructor() {
3
- this.length = 0;
4
- this.asArray = [];
5
- // Array methods overriding END
6
- }
7
- get(position) {
8
- if (this.length === 0 || position < 0 || position >= this.length) {
9
- return void 0;
10
- }
11
- let current = this.head;
12
- for (let index = 0; index < position; index++) {
13
- current = current?.next;
14
- }
15
- return current?.value;
16
- }
17
- add(value, position = this.length) {
18
- if (position < 0 || position > this.length) {
19
- throw new Error('Position is out of the list');
20
- }
21
- const node = {
22
- value,
23
- next: undefined,
24
- previous: undefined
25
- };
26
- if (this.length === 0) {
27
- this.head = node;
28
- this.tail = node;
29
- this.current = node;
30
- }
31
- else {
32
- if (position === 0 && this.head) {
33
- // first node
34
- node.next = this.head;
35
- this.head.previous = node;
36
- this.head = node;
37
- }
38
- else if (position === this.length && this.tail) {
39
- // last node
40
- this.tail.next = node;
41
- node.previous = this.tail;
42
- this.tail = node;
43
- }
44
- else {
45
- // node in middle
46
- const currentPreviousNode = this.getNode(position - 1);
47
- const currentNextNode = currentPreviousNode?.next;
48
- if (currentPreviousNode && currentNextNode) {
49
- currentPreviousNode.next = node;
50
- currentNextNode.previous = node;
51
- node.previous = currentPreviousNode;
52
- node.next = currentNextNode;
53
- }
54
- }
55
- }
56
- this.length++;
57
- this.createInternalArrayRepresentation();
58
- }
59
- remove(position = 0) {
60
- if (this.length === 0 || position < 0 || position >= this.length) {
61
- throw new Error('Position is out of the list');
62
- }
63
- if (position === 0 && this.head) {
64
- // first node
65
- this.head = this.head.next;
66
- if (this.head) {
67
- // there is no second node
68
- this.head.previous = undefined;
69
- }
70
- else {
71
- // there is no second node
72
- this.tail = undefined;
73
- }
74
- }
75
- else if (position === this.length - 1 && this.tail?.previous) {
76
- // last node
77
- this.tail = this.tail.previous;
78
- this.tail.next = undefined;
79
- }
80
- else {
81
- // middle node
82
- const removedNode = this.getNode(position);
83
- if (removedNode?.next && removedNode.previous) {
84
- removedNode.next.previous = removedNode.previous;
85
- removedNode.previous.next = removedNode.next;
86
- }
87
- }
88
- this.length--;
89
- this.createInternalArrayRepresentation();
90
- }
91
- set(position, value) {
92
- if (this.length === 0 || position < 0 || position >= this.length) {
93
- throw new Error('Position is out of the list');
94
- }
95
- const node = this.getNode(position);
96
- if (node) {
97
- node.value = value;
98
- this.createInternalArrayRepresentation();
99
- }
100
- }
101
- toArray() {
102
- return this.asArray;
103
- }
104
- findAll(fn) {
105
- let current = this.head;
106
- const result = [];
107
- if (!current) {
108
- return result;
109
- }
110
- for (let index = 0; index < this.length; index++) {
111
- if (!current) {
112
- return result;
113
- }
114
- if (fn(current.value, index)) {
115
- result.push({ index, value: current.value });
116
- }
117
- current = current.next;
118
- }
119
- return result;
120
- }
121
- // Array methods overriding start
122
- push(...args) {
123
- args.forEach((arg) => {
124
- this.add(arg);
125
- });
126
- return this.length;
127
- }
128
- pop() {
129
- if (this.length === 0) {
130
- return undefined;
131
- }
132
- const last = this.tail;
133
- this.remove(this.length - 1);
134
- return last?.value;
135
- }
136
- unshift(...args) {
137
- args.reverse();
138
- args.forEach((arg) => {
139
- this.add(arg, 0);
140
- });
141
- return this.length;
142
- }
143
- shift() {
144
- if (this.length === 0) {
145
- return undefined;
146
- }
147
- const lastItem = this.head?.value;
148
- this.remove();
149
- return lastItem;
150
- }
151
- forEach(fn) {
152
- let current = this.head;
153
- for (let index = 0; index < this.length; index++) {
154
- if (!current) {
155
- return;
156
- }
157
- fn(current.value, index);
158
- current = current.next;
159
- }
160
- }
161
- indexOf(value) {
162
- let current = this.head;
163
- let position = -1;
164
- for (let index = 0; index < this.length; index++) {
165
- if (!current) {
166
- return position;
167
- }
168
- if (current.value === value) {
169
- position = index;
170
- break;
171
- }
172
- current = current.next;
173
- }
174
- return position;
175
- }
176
- some(fn) {
177
- let current = this.head;
178
- let result = false;
179
- while (current && !result) {
180
- if (fn(current.value)) {
181
- result = true;
182
- break;
183
- }
184
- current = current.next;
185
- }
186
- return result;
187
- }
188
- every(fn) {
189
- let current = this.head;
190
- let result = true;
191
- while (current && result) {
192
- if (!fn(current.value)) {
193
- result = false;
194
- }
195
- current = current.next;
196
- }
197
- return result;
198
- }
199
- toString() {
200
- return '[Linked List]';
201
- }
202
- find(fn) {
203
- let current = this.head;
204
- for (let index = 0; index < this.length; index++) {
205
- if (!current) {
206
- return;
207
- }
208
- if (fn(current.value, index)) {
209
- return current.value;
210
- }
211
- current = current.next;
212
- }
213
- }
214
- findIndex(fn) {
215
- let current = this.head;
216
- for (let index = 0; index < this.length; index++) {
217
- if (!current) {
218
- return -1;
219
- }
220
- if (fn(current.value, index)) {
221
- return index;
222
- }
223
- current = current.next;
224
- }
225
- return -1;
226
- }
227
- getNode(position) {
228
- if (this.length === 0 || position < 0 || position >= this.length) {
229
- throw new Error('Position is out of the list');
230
- }
231
- let current = this.head;
232
- for (let index = 0; index < position; index++) {
233
- current = current?.next;
234
- }
235
- return current;
236
- }
237
- createInternalArrayRepresentation() {
238
- const outArray = [];
239
- let current = this.head;
240
- while (current) {
241
- outArray.push(current.value);
242
- current = current.next;
243
- }
244
- this.asArray = outArray;
245
- }
246
- }
247
- //# 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==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWJvb3RzdHJhcC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9uZ3gtYm9vdHN0cmFwLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,10 +0,0 @@
1
- export * from './triggers';
2
- export { setTheme, getBsVer, currentBsVersion, BsVerions } from './theme-provider';
3
- export { LinkedList } from './linked-list.class';
4
- export { listenToTriggersV2, registerOutsideClick, registerEscClick } from './triggers';
5
- export { OnChange } from './decorators';
6
- export { Trigger } from './trigger.class';
7
- export { Utils } from './utils.class';
8
- export { window, document } from './facade/browser';
9
- export { warnOnce } from './warn-once';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLE9BQU8sRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUNSLGdCQUFnQixFQUVoQixTQUFTLEVBRVYsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2pCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQUssYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmlnZ2Vycyc7XG5leHBvcnQge1xuICBzZXRUaGVtZSxcbiAgZ2V0QnNWZXIsXG4gIGN1cnJlbnRCc1ZlcnNpb24sXG4gIElCc1ZlcnNpb24sXG4gIEJzVmVyaW9ucyxcbiAgQXZhaWxhYmxlQnNWZXJzaW9uc1xufSBmcm9tICcuL3RoZW1lLXByb3ZpZGVyJztcbmV4cG9ydCB7IExpbmtlZExpc3QgfSBmcm9tICcuL2xpbmtlZC1saXN0LmNsYXNzJztcblxuZXhwb3J0IHtcbiAgbGlzdGVuVG9UcmlnZ2Vyc1YyLFxuICByZWdpc3Rlck91dHNpZGVDbGljayxcbiAgcmVnaXN0ZXJFc2NDbGlja1xufSBmcm9tICcuL3RyaWdnZXJzJztcblxuZXhwb3J0IHsgT25DaGFuZ2UgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuZXhwb3J0IHsgVHJpZ2dlciB9IGZyb20gJy4vdHJpZ2dlci5jbGFzcyc7XG5leHBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMuY2xhc3MnO1xuZXhwb3J0IHsgd2luZG93LCBkb2N1bWVudCB9IGZyb20gJy4vZmFjYWRlL2Jyb3dzZXInO1xuZXhwb3J0IHsgd2Fybk9uY2UgfWZyb20gJy4vd2Fybi1vbmNlJztcbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { window } from './facade/browser';
2
- export var BsVerions;
3
- (function (BsVerions) {
4
- BsVerions["isBs4"] = "bs4";
5
- BsVerions["isBs5"] = "bs5";
6
- })(BsVerions || (BsVerions = {}));
7
- let guessedVersion;
8
- function _guessBsVersion() {
9
- const spanEl = window.document.createElement('span');
10
- spanEl.innerText = 'testing bs version';
11
- spanEl.classList.add('d-none');
12
- spanEl.classList.add('pl-1');
13
- window.document.head.appendChild(spanEl);
14
- const checkPadding = window.getComputedStyle(spanEl).paddingLeft;
15
- if (checkPadding && parseFloat(checkPadding)) {
16
- window.document.head.removeChild(spanEl);
17
- return 'bs4';
18
- }
19
- window.document.head.removeChild(spanEl);
20
- return 'bs5';
21
- }
22
- export function setTheme(theme) {
23
- guessedVersion = theme;
24
- }
25
- export function isBs4() {
26
- if (guessedVersion)
27
- return guessedVersion === 'bs4';
28
- guessedVersion = _guessBsVersion();
29
- return guessedVersion === 'bs4';
30
- }
31
- export function isBs5() {
32
- if (guessedVersion)
33
- return guessedVersion === 'bs5';
34
- guessedVersion = _guessBsVersion();
35
- return guessedVersion === 'bs5';
36
- }
37
- export function getBsVer() {
38
- return {
39
- isBs4: isBs4(),
40
- isBs5: isBs5()
41
- };
42
- }
43
- export function currentBsVersion() {
44
- const bsVer = getBsVer();
45
- const resVersion = Object.keys(bsVer).find(key => bsVer[key]);
46
- return BsVerions[resVersion];
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGhlbWUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBYTFDLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUFFRCxJQUFJLGNBQW1DLENBQUM7QUFFeEMsU0FBUyxlQUFlO0lBQ3RCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELE1BQU0sQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7SUFDeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFFakUsSUFBSSxZQUFZLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQTBCO0lBQ2pELGNBQWMsR0FBRyxLQUFLLENBQUM7QUFDekIsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLO0lBQ25CLElBQUksY0FBYztRQUFFLE9BQU8sY0FBYyxLQUFLLEtBQUssQ0FBQztJQUVwRCxjQUFjLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFDbkMsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSztJQUNuQixJQUFJLGNBQWM7UUFBRSxPQUFPLGNBQWMsS0FBSyxLQUFLLENBQUM7SUFFcEQsY0FBYyxHQUFHLGVBQWUsRUFBRSxDQUFDO0lBQ25DLE9BQU8sY0FBYyxLQUFLLEtBQUssQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVE7SUFDdEIsT0FBTztRQUNMLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDZCxLQUFLLEVBQUUsS0FBSyxFQUFFO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE1BQU0sS0FBSyxHQUFHLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUQsT0FBTyxTQUFTLENBQUMsVUFBb0MsQ0FBQyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3aW5kb3cgfSBmcm9tICcuL2ZhY2FkZS9icm93c2VyJztcblxuZXhwb3J0IHR5cGUgQXZhaWxhYmxlQnNWZXJzaW9ucyA9ICdiczQnIHwgJ2JzNSc7XG5cbmludGVyZmFjZSBJT2JqZWN0S2V5cyB7XG4gIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJzVmVyc2lvbiBleHRlbmRzIElPYmplY3RLZXlze1xuICBpc0JzNDogYm9vbGVhbjtcbiAgaXNCczU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIEJzVmVyaW9ucyB7XG4gIGlzQnM0ID0gJ2JzNCcsXG4gIGlzQnM1ID0gJ2JzNSdcbn1cblxubGV0IGd1ZXNzZWRWZXJzaW9uOiBBdmFpbGFibGVCc1ZlcnNpb25zO1xuXG5mdW5jdGlvbiBfZ3Vlc3NCc1ZlcnNpb24oKTogQXZhaWxhYmxlQnNWZXJzaW9ucyB7XG4gIGNvbnN0IHNwYW5FbCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gIHNwYW5FbC5pbm5lclRleHQgPSAndGVzdGluZyBicyB2ZXJzaW9uJztcbiAgc3BhbkVsLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xuICBzcGFuRWwuY2xhc3NMaXN0LmFkZCgncGwtMScpO1xuICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzcGFuRWwpO1xuICBjb25zdCBjaGVja1BhZGRpbmcgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzcGFuRWwpLnBhZGRpbmdMZWZ0O1xuXG4gIGlmIChjaGVja1BhZGRpbmcgJiYgcGFyc2VGbG9hdChjaGVja1BhZGRpbmcpKSB7XG4gICAgd2luZG93LmRvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQoc3BhbkVsKTtcbiAgICByZXR1cm4gJ2JzNCc7XG4gIH1cblxuICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChzcGFuRWwpO1xuICByZXR1cm4gJ2JzNSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRUaGVtZSh0aGVtZTogQXZhaWxhYmxlQnNWZXJzaW9ucyk6IHZvaWQge1xuICBndWVzc2VkVmVyc2lvbiA9IHRoZW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCczQoKTogYm9vbGVhbiB7XG4gIGlmIChndWVzc2VkVmVyc2lvbikgcmV0dXJuIGd1ZXNzZWRWZXJzaW9uID09PSAnYnM0JztcblxuICBndWVzc2VkVmVyc2lvbiA9IF9ndWVzc0JzVmVyc2lvbigpO1xuICByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczQnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCczUoKTogYm9vbGVhbiB7XG4gIGlmIChndWVzc2VkVmVyc2lvbikgcmV0dXJuIGd1ZXNzZWRWZXJzaW9uID09PSAnYnM1JztcblxuICBndWVzc2VkVmVyc2lvbiA9IF9ndWVzc0JzVmVyc2lvbigpO1xuICByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczUnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnNWZXIoKTogSUJzVmVyc2lvbiB7XG4gIHJldHVybiB7XG4gICAgaXNCczQ6IGlzQnM0KCksXG4gICAgaXNCczU6IGlzQnM1KClcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGN1cnJlbnRCc1ZlcnNpb24oKTogQXZhaWxhYmxlQnNWZXJzaW9ucyB7XG4gIGNvbnN0IGJzVmVyID0gZ2V0QnNWZXIoKTtcbiAgY29uc3QgcmVzVmVyc2lvbiA9IE9iamVjdC5rZXlzKGJzVmVyKS5maW5kKGtleSA9PiBic1ZlcltrZXldKTtcbiAgcmV0dXJuIEJzVmVyaW9uc1tyZXNWZXJzaW9uIGFzIGtleW9mIHR5cGVvZiBCc1ZlcmlvbnNdO1xufVxuXG5cbiJdfQ==
@@ -1,14 +0,0 @@
1
- /**
2
- * @copyright Valor Software
3
- * @copyright Angular ng-bootstrap team
4
- */
5
- export class Trigger {
6
- constructor(open, close) {
7
- this.open = open;
8
- this.close = close || open;
9
- }
10
- isManual() {
11
- return this.open === 'manual' || this.close === 'manual';
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy90cmlnZ2VyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE1BQU0sT0FBTyxPQUFPO0lBSWxCLFlBQVksSUFBWSxFQUFFLEtBQWM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgVmFsb3IgU29mdHdhcmVcbiAqIEBjb3B5cmlnaHQgQW5ndWxhciBuZy1ib290c3RyYXAgdGVhbVxuICovXG5cbmV4cG9ydCBjbGFzcyBUcmlnZ2VyIHtcbiAgb3Blbjogc3RyaW5nO1xuICBjbG9zZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcGVuOiBzdHJpbmcsIGNsb3NlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB0aGlzLmNsb3NlID0gY2xvc2UgfHwgb3BlbjtcbiAgfVxuXG4gIGlzTWFudWFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZW4gPT09ICdtYW51YWwnIHx8IHRoaXMuY2xvc2UgPT09ICdtYW51YWwnO1xuICB9XG59XG4iXX0=
@@ -1,120 +0,0 @@
1
- import { Trigger } from './trigger.class';
2
- const DEFAULT_ALIASES = {
3
- hover: ['mouseover', 'mouseout'],
4
- focus: ['focusin', 'focusout']
5
- };
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- export function parseTriggers(triggers, aliases = DEFAULT_ALIASES) {
8
- const trimmedTriggers = (triggers || '').trim();
9
- if (trimmedTriggers.length === 0) {
10
- return [];
11
- }
12
- const parsedTriggers = trimmedTriggers
13
- .split(/\s+/)
14
- .map((trigger) => trigger.split(':'))
15
- .map((triggerPair) => {
16
- const alias = aliases[triggerPair[0]] || triggerPair;
17
- return new Trigger(alias[0], alias[1]);
18
- });
19
- const manualTriggers = parsedTriggers.filter((triggerPair) => triggerPair.isManual());
20
- if (manualTriggers.length > 1) {
21
- throw new Error('Triggers parse error: only one manual trigger is allowed');
22
- }
23
- if (manualTriggers.length === 1 && parsedTriggers.length > 1) {
24
- throw new Error('Triggers parse error: manual trigger can\'t be mixed with other triggers');
25
- }
26
- return parsedTriggers;
27
- }
28
- export function listenToTriggers(renderer,
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- target, triggers, showFn, hideFn, toggleFn) {
31
- const parsedTriggers = parseTriggers(triggers);
32
- const listeners = [];
33
- if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {
34
- return Function.prototype;
35
- }
36
- parsedTriggers.forEach((trigger) => {
37
- if (trigger.open === trigger.close) {
38
- listeners.push(renderer.listen(target, trigger.open, toggleFn));
39
- return;
40
- }
41
- listeners.push(renderer.listen(target, trigger.open, showFn));
42
- if (trigger.close) {
43
- listeners.push(renderer.listen(target, trigger.close, hideFn));
44
- }
45
- });
46
- return () => {
47
- listeners.forEach((unsubscribeFn) => unsubscribeFn());
48
- };
49
- }
50
- export function listenToTriggersV2(renderer, options) {
51
- const parsedTriggers = parseTriggers(options.triggers);
52
- const target = options.target;
53
- // do nothing
54
- if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {
55
- return Function.prototype;
56
- }
57
- // all listeners
58
- const listeners = [];
59
- // lazy listeners registration
60
- const _registerHide = [];
61
- const registerHide = () => {
62
- // add hide listeners to unregister array
63
- _registerHide.forEach((fn) => listeners.push(fn()));
64
- // register hide events only once
65
- _registerHide.length = 0;
66
- };
67
- // register open\close\toggle listeners
68
- parsedTriggers.forEach((trigger) => {
69
- const useToggle = trigger.open === trigger.close;
70
- const showFn = useToggle ? options.toggle : options.show;
71
- if (!useToggle && trigger.close && options.hide) {
72
- const triggerClose = trigger.close;
73
- const optionsHide = options.hide;
74
- const _hide = () => renderer.listen(target, triggerClose, optionsHide);
75
- _registerHide.push(_hide);
76
- }
77
- if (showFn) {
78
- listeners.push(renderer.listen(target, trigger.open, () => showFn(registerHide)));
79
- }
80
- });
81
- return () => {
82
- listeners.forEach((unsubscribeFn) => unsubscribeFn());
83
- };
84
- }
85
- export function registerOutsideClick(renderer, options) {
86
- if (!options.outsideClick) {
87
- return Function.prototype;
88
- }
89
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
- return renderer.listen('document', 'click', (event) => {
91
- if (options.target && options.target.contains(event.target)) {
92
- return;
93
- }
94
- if (options.targets &&
95
- options.targets.some(target => target.contains(event.target))) {
96
- return;
97
- }
98
- if (options.hide) {
99
- options.hide();
100
- }
101
- });
102
- }
103
- export function registerEscClick(renderer, options) {
104
- if (!options.outsideEsc) {
105
- return Function.prototype;
106
- }
107
- return renderer.listen('document', 'keyup.esc', (event) => {
108
- if (options.target && options.target.contains(event.target)) {
109
- return;
110
- }
111
- if (options.targets &&
112
- options.targets.some(target => target.contains(event.target))) {
113
- return;
114
- }
115
- if (options.hide) {
116
- options.hide();
117
- }
118
- });
119
- }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBZ0IxQyxNQUFNLGVBQWUsR0FBRztJQUN0QixLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0lBQ2hDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7Q0FDL0IsQ0FBQztBQUVGLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQWlCLEVBQUUsVUFBZSxlQUFlO0lBQzdFLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRWhELElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxlQUFlO1NBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDWixHQUFHLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUMsR0FBRyxDQUFDLENBQUMsV0FBcUIsRUFBRSxFQUFFO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUM7UUFFckQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFTCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBb0IsRUFBRSxFQUFFLENBQ3BFLFdBQVcsQ0FBQyxRQUFRLEVB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QUNULENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNvcHlyaWdodCBWYWxvciBTb2Z0d2FyZVxuICogQGNvcHlyaWdodCBBbmd1bGFyIG5nLWJvb3RzdHJhcCB0ZWFtXG4gKi9cbmltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJpZ2dlciB9IGZyb20gJy4vdHJpZ2dlci5jbGFzcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgdHlwZSBCc0V2ZW50Q2FsbGJhY2sgPSAoZXZlbnQ/OiBhbnkpID0+IGJvb2xlYW4gfCB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3Rlbk9wdGlvbnMge1xuICB0YXJnZXQ/OiBIVE1MRWxlbWVudDtcbiAgdGFyZ2V0cz86IEhUTUxFbGVtZW50W107XG4gIHRyaWdnZXJzPzogc3RyaW5nO1xuICBvdXRzaWRlQ2xpY2s/OiBib29sZWFuO1xuICBvdXRzaWRlRXNjPzogYm9vbGVhbjtcbiAgc2hvdz86IEJzRXZlbnRDYWxsYmFjaztcbiAgaGlkZT86IEJzRXZlbnRDYWxsYmFjaztcbiAgdG9nZ2xlPzogQnNFdmVudENhbGxiYWNrO1xufVxuXG5jb25zdCBERUZBVUxUX0FMSUFTRVMgPSB7XG4gIGhvdmVyOiBbJ21vdXNlb3ZlcicsICdtb3VzZW91dCddLFxuICBmb2N1czogWydmb2N1c2luJywgJ2ZvY3Vzb3V0J11cbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUcmlnZ2Vycyh0cmlnZ2Vycz86IHN0cmluZywgYWxpYXNlczogYW55ID0gREVGQVVMVF9BTElBU0VTKTogVHJpZ2dlcltdIHtcbiAgY29uc3QgdHJpbW1lZFRyaWdnZXJzID0gKHRyaWdnZXJzIHx8ICcnKS50cmltKCk7XG5cbiAgaWYgKHRyaW1tZWRUcmlnZ2Vycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwYXJzZWRUcmlnZ2VycyA9IHRyaW1tZWRUcmlnZ2Vyc1xuICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgLm1hcCgodHJpZ2dlcjogc3RyaW5nKSA9PiB0cmlnZ2VyLnNwbGl0KCc6JykpXG4gICAgLm1hcCgodHJpZ2dlclBhaXI6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCBhbGlhcyA9IGFsaWFzZXNbdHJpZ2dlclBhaXJbMF1dIHx8IHRyaWdnZXJQYWlyO1xuXG4gICAgICByZXR1cm4gbmV3IFRyaWdnZXIoYWxpYXNbMF0sIGFsaWFzWzFdKTtcbiAgICB9KTtcblxuICBjb25zdCBtYW51YWxUcmlnZ2VycyA9IHBhcnNlZFRyaWdnZXJzLmZpbHRlcigodHJpZ2dlclBhaXI6IFRyaWdnZXIpID0+XG4gICAgdHJpZ2dlclBhaXIuaXNNYW51YWwoKVxuICApO1xuXG4gIGlmIChtYW51YWxUcmlnZ2Vycy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmlnZ2VycyBwYXJzZSBlcnJvcjogb25seSBvbmUgbWFudWFsIHRyaWdnZXIgaXMgYWxsb3dlZCcpO1xuICB9XG5cbiAgaWYgKG1hbnVhbFRyaWdnZXJzLmxlbmd0aCA9PT0gMSAmJiBwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmlnZ2VycyBwYXJzZSBlcnJvcjogbWFudWFsIHRyaWdnZXIgY2FuXFwndCBiZSBtaXhlZCB3aXRoIG90aGVyIHRyaWdnZXJzJyk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkVHJpZ2dlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub1RyaWdnZXJzKHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2Vyczogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0ZuOiBCc0V2ZW50Q2FsbGJhY2ssXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlRm46IEJzRXZlbnRDYWxsYmFjayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUZuOiBCc0V2ZW50Q2FsbGJhY2spOiAoKSA9PiB2b2lkIHtcbiAgY29uc3QgcGFyc2VkVHJpZ2dlcnMgPSBwYXJzZVRyaWdnZXJzKHRyaWdnZXJzKTtcbiAgY29uc3QgbGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIGlmIChwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnNbMF0uaXNNYW51YWwoKSkge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGUgYXMgKCkgPT4gdm9pZDtcbiAgfVxuXG4gIHBhcnNlZFRyaWdnZXJzLmZvckVhY2goKHRyaWdnZXI6IFRyaWdnZXIpID0+IHtcbiAgICBpZiAodHJpZ2dlci5vcGVuID09PSB0cmlnZ2VyLmNsb3NlKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLm9wZW4sIHRvZ2dsZUZuKSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLm9wZW4sIHNob3dGbikpO1xuICAgIGlmICh0cmlnZ2VyLmNsb3NlKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLmNsb3NlLCBoaWRlRm4pKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgbGlzdGVuZXJzLmZvckVhY2goKHVuc3Vic2NyaWJlRm4pID0+IHVuc3Vic2NyaWJlRm4oKSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub1RyaWdnZXJzVjIocmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucyk6ICgpID0+IHZvaWQge1xuICBjb25zdCBwYXJzZWRUcmlnZ2VycyA9IHBhcnNlVHJpZ2dlcnMob3B0aW9ucy50cmlnZ2Vycyk7XG4gIGNvbnN0IHRhcmdldCA9IG9wdGlvbnMudGFyZ2V0O1xuICAvLyBkbyBub3RoaW5nXG4gIGlmIChwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnNbMF0uaXNNYW51YWwoKSkge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGUgYXMgKCkgPT4gdm9pZDtcbiAgfVxuXG4gIC8vIGFsbCBsaXN0ZW5lcnNcbiAgY29uc3QgbGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIC8vIGxhenkgbGlzdGVuZXJzIHJlZ2lzdHJhdGlvblxuICBjb25zdCBfcmVnaXN0ZXJIaWRlOiBBcnJheTwoKSA9PiAoKSA9PiB2b2lkPiA9IFtdO1xuICBjb25zdCByZWdpc3RlckhpZGUgPSAoKSA9PiB7XG4gICAgLy8gYWRkIGhpZGUgbGlzdGVuZXJzIHRvIHVucmVnaXN0ZXIgYXJyYXlcbiAgICBfcmVnaXN0ZXJIaWRlLmZvckVhY2goKGZuKSA9PiBsaXN0ZW5lcnMucHVzaChmbigpKSk7XG4gICAgLy8gcmVnaXN0ZXIgaGlkZSBldmVudHMgb25seSBvbmNlXG4gICAgX3JlZ2lzdGVySGlkZS5sZW5ndGggPSAwO1xuICB9O1xuXG4gIC8vIHJlZ2lzdGVyIG9wZW5cXGNsb3NlXFx0b2dnbGUgbGlzdGVuZXJzXG4gIHBhcnNlZFRyaWdnZXJzLmZvckVhY2goKHRyaWdnZXI6IFRyaWdnZXIpID0+IHtcbiAgICBjb25zdCB1c2VUb2dnbGUgPSB0cmlnZ2VyLm9wZW4gPT09IHRyaWdnZXIuY2xvc2U7XG4gICAgY29uc3Qgc2hvd0ZuID0gdXNlVG9nZ2xlID8gb3B0aW9ucy50b2dnbGUgOiBvcHRpb25zLnNob3c7XG5cbiAgICBpZiAoIXVzZVRvZ2dsZSAmJiB0cmlnZ2VyLmNsb3NlICYmIG9wdGlvbnMuaGlkZSkge1xuICAgICAgY29uc3QgdHJpZ2dlckNsb3NlID0gdHJpZ2dlci5jbG9zZTtcbiAgICAgIGNvbnN0IG9wdGlvbnNIaWRlID0gb3B0aW9ucy5oaWRlO1xuICAgICAgY29uc3QgX2hpZGUgPSAoKSA9PiByZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyQ2xvc2UsIG9wdGlvbnNIaWRlKTtcbiAgICAgIF9yZWdpc3RlckhpZGUucHVzaChfaGlkZSk7XG4gICAgfVxuXG4gICAgaWYgKHNob3dGbikge1xuICAgICAgbGlzdGVuZXJzLnB1c2gocmVuZGVyZXIubGlzdGVuKHRhcmdldCwgdHJpZ2dlci5vcGVuLCAoKSA9PiBzaG93Rm4ocmVnaXN0ZXJIaWRlKSkpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBsaXN0ZW5lcnMuZm9yRWFjaCgodW5zdWJzY3JpYmVGbjogKCkgPT4gdm9pZCkgPT4gdW5zdWJzY3JpYmVGbigpKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyT3V0c2lkZUNsaWNrKHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMub3V0c2lkZUNsaWNrKSB7XG4gICAgcmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJldHVybiByZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICBpZiAob3B0aW9ucy50YXJnZXQgJiYgb3B0aW9ucy50YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLnRhcmdldHMgJiZcbiAgICAgIG9wdGlvbnMudGFyZ2V0cy5zb21lKHRhcmdldCA9PiB0YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oaWRlKSB7XG4gICAgICBvcHRpb25zLmhpZGUoKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJFc2NDbGljayhyZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMub3V0c2lkZUVzYykge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIH1cblxuICByZXR1cm4gcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdrZXl1cC5lc2MnLCAoZXZlbnQpID0+IHtcbiAgICBpZiAob3B0aW9ucy50YXJnZXQgJiYgb3B0aW9ucy50YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLnRhcmdldHMgJiZcbiAgICAgIG9wdGlvbnMudGFyZ2V0cy5zb21lKHRhcmdldCA9PiB0YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oaWRlKSB7XG4gICAgICBvcHRpb25zLmhpZGUoKTtcbiAgICB9XG4gIH0pO1xufVxuIl19