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
package/rating/index.d.ts CHANGED
@@ -1 +1,60 @@
1
- export * from './public_api';
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, TemplateRef, EventEmitter, ChangeDetectorRef, ModuleWithProviders } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+
5
+ /** Default values provider for rating */
6
+ declare class RatingConfig {
7
+ /** aria label for rating */
8
+ ariaLabel: string;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<RatingConfig, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<RatingConfig>;
11
+ }
12
+
13
+ interface RatingResults {
14
+ index: number;
15
+ title: string | number;
16
+ }
17
+
18
+ declare class RatingComponent implements ControlValueAccessor, OnInit {
19
+ private changeDetection;
20
+ /** number of icons */
21
+ max: number;
22
+ /** if true will not react on any user events */
23
+ readonly: boolean;
24
+ /** array of icons titles, default: (["one", "two", "three", "four", "five"]) */
25
+ titles: string[];
26
+ /** custom template for icons */
27
+ customTemplate?: TemplateRef<any>;
28
+ /** fired when icon selected, $event:number equals to selected rating */
29
+ onHover: EventEmitter<number>;
30
+ /** fired when icon selected, $event:number equals to previous rating value */
31
+ onLeave: EventEmitter<number>;
32
+ onChange: Function;
33
+ onTouched: Function;
34
+ /** aria label for rating */
35
+ ariaLabel: string;
36
+ range: RatingResults[];
37
+ value: number;
38
+ protected preValue?: number;
39
+ constructor(changeDetection: ChangeDetectorRef, config: RatingConfig);
40
+ onKeydown(event: KeyboardEvent): void;
41
+ ngOnInit(): void;
42
+ writeValue(value: number): void;
43
+ enter(value: number): void;
44
+ reset(): void;
45
+ registerOnChange(fn: (_: number) => void): void;
46
+ registerOnTouched(fn: () => void): void;
47
+ rate(value: number): void;
48
+ protected buildTemplateObjects(max: number): RatingResults[];
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<RatingComponent, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<RatingComponent, "rating", never, { "max": { "alias": "max"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "titles": { "alias": "titles"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; }, { "onHover": "onHover"; "onLeave": "onLeave"; }, never, never, true, never>;
51
+ }
52
+
53
+ declare class RatingModule {
54
+ static forRoot(): ModuleWithProviders<RatingModule>;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<RatingModule, never>;
56
+ static ɵmod: i0.ɵɵNgModuleDeclaration<RatingModule, never, [typeof RatingComponent], [typeof RatingComponent]>;
57
+ static ɵinj: i0.ɵɵInjectorDeclaration<RatingModule>;
58
+ }
59
+
60
+ export { RatingComponent, RatingConfig, RatingModule };
@@ -1,4 +1,4 @@
1
1
  {
2
- "NGX_BOOTSTRAP_VERSION": "19.0.2",
2
+ "NGX_BOOTSTRAP_VERSION": "20.0.0",
3
3
  "BOOTSTRAP_VERSION": "^5.2.3"
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, forwardRef, Component, Input, Output, NgModule } from '@angular/core';
2
+ import { Injectable, EventEmitter, forwardRef, Output, Input, Component, NgModule } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { Subject } from 'rxjs';
5
5
  import { NgClass, NgStyle, NgIf, NgFor, NgTemplateOutlet } from '@angular/common';
@@ -29,10 +29,10 @@ class DraggableItemService {
29
29
  onCaptureItem() {
30
30
  return this.onCapture;
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DraggableItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DraggableItemService, providedIn: 'platform' }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DraggableItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DraggableItemService, providedIn: 'platform' }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DraggableItemService, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DraggableItemService, decorators: [{
36
36
  type: Injectable,
37
37
  args: [{ providedIn: 'platform' }]
38
38
  }] });
@@ -186,8 +186,8 @@ class SortableComponent {
186
186
  // with IE
187
187
  event.dataTransfer?.setData('Text', 'placeholder');
188
188
  }
189
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: SortableComponent, deps: [{ token: DraggableItemService }], target: i0.ɵɵFactoryTarget.Component }); }
190
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.1", type: SortableComponent, isStandalone: true, selector: "bs-sortable", inputs: { fieldName: "fieldName", wrapperClass: "wrapperClass", wrapperStyle: "wrapperStyle", itemClass: "itemClass", itemStyle: "itemStyle", itemActiveClass: "itemActiveClass", itemActiveStyle: "itemActiveStyle", placeholderClass: "placeholderClass", placeholderStyle: "placeholderStyle", placeholderItem: "placeholderItem", itemTemplate: "itemTemplate" }, outputs: { onChange: "onChange" }, providers: [
189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SortableComponent, deps: [{ token: DraggableItemService }], target: i0.ɵɵFactoryTarget.Component }); }
190
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: SortableComponent, isStandalone: true, selector: "bs-sortable", inputs: { fieldName: "fieldName", wrapperClass: "wrapperClass", wrapperStyle: "wrapperStyle", itemClass: "itemClass", itemStyle: "itemStyle", itemActiveClass: "itemActiveClass", itemActiveStyle: "itemActiveStyle", placeholderClass: "placeholderClass", placeholderStyle: "placeholderStyle", placeholderItem: "placeholderItem", itemTemplate: "itemTemplate" }, outputs: { onChange: "onChange" }, providers: [
191
191
  {
192
192
  provide: NG_VALUE_ACCESSOR,
193
193
  useExisting: forwardRef(() => SortableComponent),
@@ -226,7 +226,7 @@ class SortableComponent {
226
226
  <ng-template #defItemTemplate let-item="item">{{item.value}}</ng-template>
227
227
  `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
228
228
  }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: SortableComponent, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SortableComponent, decorators: [{
230
230
  type: Component,
231
231
  args: [{
232
232
  selector: 'bs-sortable',
@@ -307,11 +307,11 @@ class SortableModule {
307
307
  providers: []
308
308
  };
309
309
  }
310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: SortableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
311
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: SortableModule, imports: [SortableComponent], exports: [SortableComponent] }); }
312
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: SortableModule }); }
310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SortableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
311
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: SortableModule, imports: [SortableComponent], exports: [SortableComponent] }); }
312
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SortableModule }); }
313
313
  }
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: SortableModule, decorators: [{
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SortableModule, decorators: [{
315
315
  type: NgModule,
316
316
  args: [{
317
317
  imports: [SortableComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-bootstrap-sortable.mjs","sources":["../../../../src/sortable/draggable-item.service.ts","../../../../src/sortable/sortable.component.ts","../../../../src/sortable/sortable.module.ts","../../../../src/sortable/ngx-bootstrap-sortable.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { DraggableItem } from './draggable-item';\n\n@Injectable({providedIn: 'platform'})\nexport class DraggableItemService {\n private draggableItem?: DraggableItem;\n\n private onCapture: Subject<DraggableItem> = new Subject<DraggableItem>();\n\n dragStart(item: DraggableItem): void {\n this.draggableItem = item;\n }\n\n getItem(): DraggableItem | undefined {\n return this.draggableItem;\n }\n\n captureItem(overZoneIndex: number, newIndex: number): DraggableItem | undefined {\n if (this.draggableItem && this.draggableItem.overZoneIndex !== overZoneIndex) {\n this.draggableItem.lastZoneIndex = this.draggableItem.overZoneIndex;\n this.draggableItem.overZoneIndex = overZoneIndex;\n this.onCapture.next(this.draggableItem);\n this.draggableItem = Object.assign({}, this.draggableItem, {\n overZoneIndex,\n i: newIndex\n });\n }\n\n return this.draggableItem;\n }\n\n onCaptureItem(): Subject<DraggableItem> {\n return this.onCapture;\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n forwardRef,\n TemplateRef\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { DraggableItem } from './draggable-item';\nimport { DraggableItemService } from './draggable-item.service';\nimport { NgClass, NgStyle, NgIf, NgFor, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'bs-sortable',\n exportAs: 'bs-sortable',\n template: `\n<div\n [ngClass]=\"wrapperClass\"\n [ngStyle]=\"wrapperStyle\"\n (dragover)=\"cancelEvent($event)\"\n (dragenter)=\"cancelEvent($event)\"\n (drop)=\"resetActiveItem($event)\"\n (mouseleave)=\"resetActiveItem($event)\">\n <div\n *ngIf=\"showPlaceholder\"\n [ngClass]=\"placeholderClass\"\n [ngStyle]=\"placeholderStyle\"\n (dragover)=\"onItemDragover($event, 0)\"\n (dragenter)=\"cancelEvent($event)\"\n >{{placeholderItem}}</div>\n <div\n *ngFor=\"let item of items; let i=index;\"\n [ngClass]=\"[ itemClass, i === activeItem ? itemActiveClass : '' ]\"\n [ngStyle]=\"getItemStyle(i === activeItem)\"\n draggable=\"true\"\n (dragstart)=\"onItemDragstart($event, item, i)\"\n (dragend)=\"resetActiveItem($event)\"\n (dragover)=\"onItemDragover($event, i)\"\n (dragenter)=\"cancelEvent($event)\"\n aria-dropeffect=\"move\"\n [attr.aria-grabbed]=\"i === activeItem\"\n ><ng-template [ngTemplateOutlet]=\"itemTemplate || defItemTemplate\"\n [ngTemplateOutletContext]=\"{item:item, index: i}\"></ng-template></div>\n</div>\n\n<ng-template #defItemTemplate let-item=\"item\">{{item.value}}</ng-template>\n`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SortableComponent),\n multi: true\n }\n ],\n standalone: true,\n imports: [NgClass, NgStyle, NgIf, NgFor, NgTemplateOutlet]\n})\nexport class SortableComponent implements ControlValueAccessor {\n private static globalZoneIndex = 0;\n /** field name if input array consists of objects */\n @Input() fieldName?: string;\n\n /** class name for items wrapper */\n @Input() wrapperClass = '';\n\n /** style object for items wrapper */\n @Input() wrapperStyle: Record<string, string> = {};\n\n /** class name for item */\n @Input() itemClass = '';\n\n /** style object for item */\n @Input() itemStyle: Record<string, string> = {};\n\n /** class name for active item */\n @Input() itemActiveClass = '';\n\n /** style object for active item */\n @Input() itemActiveStyle: Record<string, string> = {};\n\n /** class name for placeholder */\n @Input() placeholderClass = '';\n\n /** style object for placeholder */\n @Input() placeholderStyle: Record<string, string> = {};\n\n /** placeholder item which will be shown if collection is empty */\n @Input() placeholderItem = '';\n\n /** used to specify a custom item template. Template variables: item and index; */\n @Input() itemTemplate?: TemplateRef<unknown>;\n\n /** fired on array change (reordering, insert, remove), same as <code>ngModelChange</code>.\n * Returns new items collection as a payload.\n */\n @Output() onChange: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\n\n showPlaceholder = false;\n activeItem = -1;\n\n get items(): SortableItem[] {\n return this._items;\n }\n\n set items(value: SortableItem[]) {\n this._items = value;\n const out = this.items.map((x: SortableItem) => x.initData);\n this.onChanged(out);\n this.onChange.emit(out);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onTouched: any = Function.prototype;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChanged: any = Function.prototype;\n\n private transfer: DraggableItemService;\n private currentZoneIndex: number;\n private _items: SortableItem[] = [];\n\n constructor(transfer: DraggableItemService) {\n this.transfer = transfer;\n this.currentZoneIndex = SortableComponent.globalZoneIndex++;\n this.transfer\n .onCaptureItem()\n .subscribe((item: DraggableItem) => this.onDrop(item));\n }\n\n onItemDragstart(\n event: DragEvent,\n item: SortableItem,\n i: number\n ): void {\n this.initDragstartEvent(event);\n this.onTouched();\n this.transfer.dragStart({\n event,\n item,\n i,\n initialIndex: i,\n lastZoneIndex: this.currentZoneIndex,\n overZoneIndex: this.currentZoneIndex\n });\n }\n\n onItemDragover(event: DragEvent, i: number): void {\n if (!this.transfer.getItem()) {\n return;\n }\n event.preventDefault();\n const dragItem = this.transfer.captureItem(\n this.currentZoneIndex,\n this.items.length\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let newArray: any[] = [];\n\n if (!dragItem) {\n return;\n }\n\n if (!this.items.length) {\n newArray = [dragItem.item];\n } else if (dragItem.i > i) {\n newArray = [\n ...this.items.slice(0, i),\n dragItem.item,\n ...this.items.slice(i, dragItem.i),\n ...this.items.slice(dragItem.i + 1)\n ];\n } else {\n // this.draggedItem.i < i\n newArray = [\n ...this.items.slice(0, dragItem.i),\n ...this.items.slice(dragItem.i + 1, i + 1),\n dragItem.item,\n ...this.items.slice(i + 1)\n ];\n }\n this.items = newArray;\n dragItem.i = i;\n this.activeItem = i;\n this.updatePlaceholderState();\n }\n\n cancelEvent(event?: DragEvent|MouseEvent): void {\n if (!this.transfer.getItem() || !event) {\n return;\n }\n event.preventDefault();\n }\n\n onDrop(item: DraggableItem): void {\n if (\n item &&\n item.overZoneIndex !== this.currentZoneIndex &&\n item.lastZoneIndex === this.currentZoneIndex\n ) {\n this.items = this.items.filter(\n (x: SortableItem, i: number) => i !== item.i\n );\n this.updatePlaceholderState();\n }\n this.resetActiveItem();\n }\n\n resetActiveItem(event?: DragEvent|MouseEvent): void {\n this.cancelEvent(event);\n this.activeItem = -1;\n }\n\n registerOnChange(callback: () => void): void {\n this.onChanged = callback;\n }\n\n registerOnTouched(callback: () => void): void {\n this.onTouched = callback;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any[]): void {\n if (value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.items = value.map((x: any, i: number) => ({\n id: i,\n initData: x,\n value: this.fieldName ? x[this.fieldName] : x\n }));\n } else {\n this.items = [];\n }\n this.updatePlaceholderState();\n }\n\n updatePlaceholderState(): void {\n this.showPlaceholder = !this._items.length;\n }\n\n getItemStyle(isActive: boolean) {\n return isActive\n ? Object.assign({}, this.itemStyle, this.itemActiveStyle)\n : this.itemStyle;\n }\n\n private initDragstartEvent(event: DragEvent): void {\n // it is necessary for mozilla\n // data type should be 'Text' instead of 'text/plain' to keep compatibility\n // with IE\n event.dataTransfer?.setData('Text', 'placeholder');\n }\n}\n\nexport declare interface SortableItem {\n id: number;\n value: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n initData: any;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SortableComponent } from './sortable.component';\n\n@NgModule({\n imports: [SortableComponent],\n exports: [SortableComponent]\n})\nexport class SortableModule {\n // @deprecated method not required anymore, will be deleted in v19.0.0\n static forRoot(): ModuleWithProviders<SortableModule> {\n return {\n ngModule: SortableModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DraggableItemService"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-bootstrap-sortable.mjs","sources":["../tmp-esm2022/draggable-item.service.js","../tmp-esm2022/sortable.component.js","../tmp-esm2022/sortable.module.js","../tmp-esm2022/ngx-bootstrap-sortable.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class DraggableItemService {\n constructor() {\n this.onCapture = new Subject();\n }\n dragStart(item) {\n this.draggableItem = item;\n }\n getItem() {\n return this.draggableItem;\n }\n captureItem(overZoneIndex, newIndex) {\n if (this.draggableItem && this.draggableItem.overZoneIndex !== overZoneIndex) {\n this.draggableItem.lastZoneIndex = this.draggableItem.overZoneIndex;\n this.draggableItem.overZoneIndex = overZoneIndex;\n this.onCapture.next(this.draggableItem);\n this.draggableItem = Object.assign({}, this.draggableItem, {\n overZoneIndex,\n i: newIndex\n });\n }\n return this.draggableItem;\n }\n onCaptureItem() {\n return this.onCapture;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.2\", ngImport: i0, type: DraggableItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.2\", ngImport: i0, type: DraggableItemService, providedIn: 'platform' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.2\", ngImport: i0, type: DraggableItemService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'platform' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zb3J0YWJsZS9kcmFnZ2FibGUtaXRlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJL0IsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUlVLGNBQVMsR0FBMkIsSUFBSSxPQUFPLEVBQWlCLENBQUM7S0EyQjFFO0lBekJDLFNBQVMsQ0FBQyxJQUFtQjtRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQXFCLEVBQUUsUUFBZ0I7UUFDakQsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxLQUFLLGFBQWEsRUFBRSxDQUFDO1lBQzdFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN6RCxhQUFhO2dCQUNiLENBQUMsRUFBRSxRQUFRO2FBQ1osQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDOzhHQTdCVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQURSLFVBQVU7OzJGQUN0QixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4vZHJhZ2dhYmxlLWl0ZW0nO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3BsYXRmb3JtJ30pXG5leHBvcnQgY2xhc3MgRHJhZ2dhYmxlSXRlbVNlcnZpY2Uge1xuICBwcml2YXRlIGRyYWdnYWJsZUl0ZW0/OiBEcmFnZ2FibGVJdGVtO1xuXG4gIHByaXZhdGUgb25DYXB0dXJlOiBTdWJqZWN0PERyYWdnYWJsZUl0ZW0+ID0gbmV3IFN1YmplY3Q8RHJhZ2dhYmxlSXRlbT4oKTtcblxuICBkcmFnU3RhcnQoaXRlbTogRHJhZ2dhYmxlSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuZHJhZ2dhYmxlSXRlbSA9IGl0ZW07XG4gIH1cblxuICBnZXRJdGVtKCk6IERyYWdnYWJsZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmRyYWdnYWJsZUl0ZW07XG4gIH1cblxuICBjYXB0dXJlSXRlbShvdmVyWm9uZUluZGV4OiBudW1iZXIsIG5ld0luZGV4OiBudW1iZXIpOiBEcmFnZ2FibGVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5kcmFnZ2FibGVJdGVtICYmIHRoaXMuZHJhZ2dhYmxlSXRlbS5vdmVyWm9uZUluZGV4ICE9PSBvdmVyWm9uZUluZGV4KSB7XG4gICAgICB0aGlzLmRyYWdnYWJsZUl0ZW0ubGFzdFpvbmVJbmRleCA9IHRoaXMuZHJhZ2dhYmxlSXRlbS5vdmVyWm9uZUluZGV4O1xuICAgICAgdGhpcy5kcmFnZ2FibGVJdGVtLm92ZXJab25lSW5kZXggPSBvdmVyWm9uZUluZGV4O1xuICAgICAgdGhpcy5vbkNhcHR1cmUubmV4dCh0aGlzLmRyYWdnYWJsZUl0ZW0pO1xuICAgICAgdGhpcy5kcmFnZ2FibGVJdGVtID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kcmFnZ2FibGVJdGVtLCB7XG4gICAgICAgIG92ZXJab25lSW5kZXgsXG4gICAgICAgIGk6IG5ld0luZGV4XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kcmFnZ2FibGVJdGVtO1xuICB9XG5cbiAgb25DYXB0dXJlSXRlbSgpOiBTdWJqZWN0PERyYWdnYWJsZUl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5vbkNhcHR1cmU7XG4gIH1cbn1cbiJdfQ==","import { Component, Input, Output, EventEmitter, forwardRef, TemplateRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DraggableItemService } from './draggable-item.service';\nimport { NgClass, NgStyle, NgIf, NgFor, NgTemplateOutlet } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./draggable-item.service\";\nexport class SortableComponent {\n static { this.globalZoneIndex = 0; }\n get items() {\n return this._items;\n }\n set items(value) {\n this._items = value;\n const out = this.items.map((x) => x.initData);\n this.onChanged(out);\n this.onChange.emit(out);\n }\n constructor(transfer) {\n /** class name for items wrapper */\n this.wrapperClass = '';\n /** style object for items wrapper */\n this.wrapperStyle = {};\n /** class name for item */\n this.itemClass = '';\n /** style object for item */\n this.itemStyle = {};\n /** class name for active item */\n this.itemActiveClass = '';\n /** style object for active item */\n this.itemActiveStyle = {};\n /** class name for placeholder */\n this.placeholderClass = '';\n /** style object for placeholder */\n this.placeholderStyle = {};\n /** placeholder item which will be shown if collection is empty */\n this.placeholderItem = '';\n /** fired on array change (reordering, insert, remove), same as <code>ngModelChange</code>.\n * Returns new items collection as a payload.\n */\n this.onChange = new EventEmitter();\n this.showPlaceholder = false;\n this.activeItem = -1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.onTouched = Function.prototype;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.onChanged = Function.prototype;\n this._items = [];\n this.transfer = transfer;\n this.currentZoneIndex = SortableComponent.globalZoneIndex++;\n this.transfer\n .onCaptureItem()\n .subscribe((item) => this.onDrop(item));\n }\n onItemDragstart(event, item, i) {\n this.initDragstartEvent(event);\n this.onTouched();\n this.transfer.dragStart({\n event,\n item,\n i,\n initialIndex: i,\n lastZoneIndex: this.currentZoneIndex,\n overZoneIndex: this.currentZoneIndex\n });\n }\n onItemDragover(event, i) {\n if (!this.transfer.getItem()) {\n return;\n }\n event.preventDefault();\n const dragItem = this.transfer.captureItem(this.currentZoneIndex, this.items.length);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let newArray = [];\n if (!dragItem) {\n return;\n }\n if (!this.items.length) {\n newArray = [dragItem.item];\n }\n else if (dragItem.i > i) {\n newArray = [\n ...this.items.slice(0, i),\n dragItem.item,\n ...this.items.slice(i, dragItem.i),\n ...this.items.slice(dragItem.i + 1)\n ];\n }\n else {\n // this.draggedItem.i < i\n newArray = [\n ...this.items.slice(0, dragItem.i),\n ...this.items.slice(dragItem.i + 1, i + 1),\n dragItem.item,\n ...this.items.slice(i + 1)\n ];\n }\n this.items = newArray;\n dragItem.i = i;\n this.activeItem = i;\n this.updatePlaceholderState();\n }\n cancelEvent(event) {\n if (!this.transfer.getItem() || !event) {\n return;\n }\n event.preventDefault();\n }\n onDrop(item) {\n if (item &&\n item.overZoneIndex !== this.currentZoneIndex &&\n item.lastZoneIndex === this.currentZoneIndex) {\n this.items = this.items.filter((x, i) => i !== item.i);\n this.updatePlaceholderState();\n }\n this.resetActiveItem();\n }\n resetActiveItem(event) {\n this.cancelEvent(event);\n this.activeItem = -1;\n }\n registerOnChange(callback) {\n this.onChanged = callback;\n }\n registerOnTouched(callback) {\n this.onTouched = callback;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value) {\n if (value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.items = value.map((x, i) => ({\n id: i,\n initData: x,\n value: this.fieldName ? x[this.fieldName] : x\n }));\n }\n else {\n this.items = [];\n }\n this.updatePlaceholderState();\n }\n updatePlaceholderState() {\n this.showPlaceholder = !this._items.length;\n }\n getItemStyle(isActive) {\n return isActive\n ? Object.assign({}, this.itemStyle, this.itemActiveStyle)\n : this.itemStyle;\n }\n initDragstartEvent(event) {\n // it is necessary for mozilla\n // data type should be 'Text' instead of 'text/plain' to keep compatibility\n // with IE\n event.dataTransfer?.setData('Text', 'placeholder');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.2\", ngImport: i0, type: SortableComponent, deps: [{ token: i1.DraggableItemService }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.2\", type: SortableComponent, isStandalone: true, selector: \"bs-sortable\", inputs: { fieldName: \"fieldName\", wrapperClass: \"wrapperClass\", wrapperStyle: \"wrapperStyle\", itemClass: \"itemClass\", itemStyle: \"itemStyle\", itemActiveClass: \"itemActiveClass\", itemActiveStyle: \"itemActiveStyle\", placeholderClass: \"placeholderClass\", placeholderStyle: \"placeholderStyle\", placeholderItem: \"placeholderItem\", itemTemplate: \"itemTemplate\" }, outputs: { onChange: \"onChange\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SortableComponent),\n multi: true\n }\n ], exportAs: [\"bs-sortable\"], ngImport: i0, template: `\n<div\n [ngClass]=\"wrapperClass\"\n [ngStyle]=\"wrapperStyle\"\n (dragover)=\"cancelEvent($event)\"\n (dragenter)=\"cancelEvent($event)\"\n (drop)=\"resetActiveItem($event)\"\n (mouseleave)=\"resetActiveItem($event)\">\n <div\n *ngIf=\"showPlaceholder\"\n [ngClass]=\"placeholderClass\"\n [ngStyle]=\"placeholderStyle\"\n (dragover)=\"onItemDragover($event, 0)\"\n (dragenter)=\"cancelEvent($event)\"\n >{{placeholderItem}}</div>\n <div\n *ngFor=\"let item of items; let i=index;\"\n [ngClass]=\"[ itemClass, i === activeItem ? itemActiveClass : '' ]\"\n [ngStyle]=\"getItemStyle(i === activeItem)\"\n draggable=\"true\"\n (dragstart)=\"onItemDragstart($event, item, i)\"\n (dragend)=\"resetActiveItem($event)\"\n (dragover)=\"onItemDragover($event, i)\"\n (dragenter)=\"cancelEvent($event)\"\n aria-dropeffect=\"move\"\n [attr.aria-grabbed]=\"i === activeItem\"\n ><ng-template [ngTemplateOutlet]=\"itemTemplate || defItemTemplate\"\n [ngTemplateOutletContext]=\"{item:item, index: i}\"></ng-template></div>\n</div>\n\n<ng-template #defItemTemplate let-item=\"item\">{{item.value}}</ng-template>\n`, isInline: true, dependencies: [{ kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"directive\", type: NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: NgFor, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.2\", ngImport: i0, type: SortableComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'bs-sortable',\n exportAs: 'bs-sortable',\n template: `\n<div\n [ngClass]=\"wrapperClass\"\n [ngStyle]=\"wrapperStyle\"\n (dragover)=\"cancelEvent($event)\"\n (dragenter)=\"cancelEvent($event)\"\n (drop)=\"resetActiveItem($event)\"\n (mouseleave)=\"resetActiveItem($event)\">\n <div\n *ngIf=\"showPlaceholder\"\n [ngClass]=\"placeholderClass\"\n [ngStyle]=\"placeholderStyle\"\n (dragover)=\"onItemDragover($event, 0)\"\n (dragenter)=\"cancelEvent($event)\"\n >{{placeholderItem}}</div>\n <div\n *ngFor=\"let item of items; let i=index;\"\n [ngClass]=\"[ itemClass, i === activeItem ? itemActiveClass : '' ]\"\n [ngStyle]=\"getItemStyle(i === activeItem)\"\n draggable=\"true\"\n (dragstart)=\"onItemDragstart($event, item, i)\"\n (dragend)=\"resetActiveItem($event)\"\n (dragover)=\"onItemDragover($event, i)\"\n (dragenter)=\"cancelEvent($event)\"\n aria-dropeffect=\"move\"\n [attr.aria-grabbed]=\"i === activeItem\"\n ><ng-template [ngTemplateOutlet]=\"itemTemplate || defItemTemplate\"\n [ngTemplateOutletContext]=\"{item:item, index: i}\"></ng-template></div>\n</div>\n\n<ng-template #defItemTemplate let-item=\"item\">{{item.value}}</ng-template>\n`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SortableComponent),\n multi: true\n }\n ],\n standalone: true,\n imports: [NgClass, NgStyle, NgIf, NgFor, NgTemplateOutlet]\n }]\n }], ctorParameters: () => [{ type: i1.DraggableItemService }], propDecorators: { fieldName: [{\n type: Input\n }], wrapperClass: [{\n type: Input\n }], wrapperStyle: [{\n type: Input\n }], itemClass: [{\n type: Input\n }], itemStyle: [{\n type: Input\n }], itemActiveClass: [{\n type: Input\n }], itemActiveStyle: [{\n type: Input\n }], placeholderClass: [{\n type: Input\n }], placeholderStyle: [{\n type: Input\n }], placeholderItem: [{\n type: Input\n }], itemTemplate: [{\n type: Input\n }], onChange: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NvcnRhYmxlL3NvcnRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBK0NsRixNQUFNLE9BQU8saUJBQWlCO2FBQ2Isb0JBQWUsR0FBRyxDQUFDLEFBQUosQ0FBSztJQTBDbkMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFxQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQVdELFlBQVksUUFBOEI7UUExRDFDLG1DQUFtQztRQUMxQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUUzQixxQ0FBcUM7UUFDNUIsaUJBQVksR0FBMkIsRUFBRSxDQUFDO1FBRW5ELDBCQUEw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QVM7c0JBQWpCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi9kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBEcmFnZ2FibGVJdGVtU2VydmljZSB9IGZyb20gJy4vZHJhZ2dhYmxlLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ0lmLCBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnMtc29ydGFibGUnLFxuICAgIGV4cG9ydEFzOiAnYnMtc29ydGFibGUnLFxuICAgIHRlbXBsYXRlOiBgXG48ZGl2XG4gICAgW25nQ2xhc3NdPVwid3JhcHBlckNsYXNzXCJcbiAgICBbbmdTdHlsZV09XCJ3cmFwcGVyU3R5bGVcIlxuICAgIChkcmFnb3Zlcik9XCJjYW5jZWxFdmVudCgkZXZlbnQpXCJcbiAgICAoZHJhZ2VudGVyKT1cImNhbmNlbEV2ZW50KCRldmVudClcIlxuICAgIChkcm9wKT1cInJlc2V0QWN0aXZlSXRlbSgkZXZlbnQpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJyZXNldEFjdGl2ZUl0ZW0oJGV2ZW50KVwiPlxuICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2hvd1BsYWNlaG9sZGVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwicGxhY2Vob2xkZXJDbGFzc1wiXG4gICAgICAgIFtuZ1N0eWxlXT1cInBsYWNlaG9sZGVyU3R5bGVcIlxuICAgICAgICAoZHJhZ292ZXIpPVwib25JdGVtRHJhZ292ZXIoJGV2ZW50LCAwKVwiXG4gICAgICAgIChkcmFnZW50ZXIpPVwiY2FuY2VsRXZlbnQoJGV2ZW50KVwiXG4gICAgPnt7cGxhY2Vob2xkZXJJdGVtfX08L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaT1pbmRleDtcIlxuICAgICAgICBbbmdDbGFzc109XCJbIGl0ZW1DbGFzcywgaSA9PT0gYWN0aXZlSXRlbSA/IGl0ZW1BY3RpdmVDbGFzcyA6ICcnIF1cIlxuICAgICAgICBbbmdTdHlsZV09XCJnZXRJdGVtU3R5bGUoaSA9PT0gYWN0aXZlSXRlbSlcIlxuICAgICAgICBkcmFnZ2FibGU9XCJ0cnVlXCJcbiAgICAgICAgKGRyYWdzdGFydCk9XCJvbkl0ZW1EcmFnc3RhcnQoJGV2ZW50LCBpdGVtLCBpKVwiXG4gICAgICAgIChkcmFnZW5kKT1cInJlc2V0QWN0aXZlSXRlbSgkZXZlbnQpXCJcbiAgICAgICAgKGRyYWdvdmVyKT1cIm9uSXRlbURyYWdvdmVyKCRldmVudCwgaSlcIlxuICAgICAgICAoZHJhZ2VudGVyKT1cImNhbmNlbEV2ZW50KCRldmVudClcIlxuICAgICAgICBhcmlhLWRyb3BlZmZlY3Q9XCJtb3ZlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1ncmFiYmVkXT1cImkgPT09IGFjdGl2ZUl0ZW1cIlxuICAgID48bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlIHx8IGRlZkl0ZW1UZW1wbGF0ZVwiXG4gIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTppdGVtLCBpbmRleDogaX1cIj48L25nLXRlbXBsYXRlPjwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmSXRlbVRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPnt7aXRlbS52YWx1ZX19PC9uZy10ZW1wbGF0ZT5cbmAsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU29ydGFibGVDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgTmdTdHlsZSwgTmdJZiwgTmdGb3IsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHN0YXRpYyBnbG9iYWxab25lSW5kZXggPSAwO1xuICAvKiogZmllbGQgbmFtZSBpZiBpbnB1dCBhcnJheSBjb25zaXN0cyBvZiBvYmplY3RzICovXG4gIEBJbnB1dCgpIGZpZWxkTmFtZT86IHN0cmluZztcblxuICAvKiogY2xhc3MgbmFtZSBmb3IgaXRlbXMgd3JhcHBlciAqL1xuICBASW5wdXQoKSB3cmFwcGVyQ2xhc3MgPSAnJztcblxuICAvKiogc3R5bGUgb2JqZWN0IGZvciBpdGVtcyB3cmFwcGVyICovXG4gIEBJbnB1dCgpIHdyYXBwZXJTdHlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gIC8qKiBjbGFzcyBuYW1lIGZvciBpdGVtICovXG4gIEBJbnB1dCgpIGl0ZW1DbGFzcyA9ICcnO1xuXG4gIC8qKiBzdHlsZSBvYmplY3QgZm9yIGl0ZW0gKi9cbiAgQElucHV0KCkgaXRlbVN0eWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgLyoqIGNsYXNzIG5hbWUgZm9yIGFjdGl2ZSBpdGVtICovXG4gIEBJbnB1dCgpIGl0ZW1BY3RpdmVDbGFzcyA9ICcnO1xuXG4gIC8qKiBzdHlsZSBvYmplY3QgZm9yIGFjdGl2ZSBpdGVtICovXG4gIEBJbnB1dCgpIGl0ZW1BY3RpdmVTdHlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gIC8qKiBjbGFzcyBuYW1lIGZvciBwbGFjZWhvbGRlciAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlckNsYXNzID0gJyc7XG5cbiAgLyoqIHN0eWxlIG9iamVjdCBmb3IgcGxhY2Vob2xkZXIgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXJTdHlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gIC8qKiBwbGFjZWhvbGRlciBpdGVtIHdoaWNoIHdpbGwgYmUgc2hvd24gaWYgY29sbGVjdGlvbiBpcyBlbXB0eSAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlckl0ZW0gPSAnJztcblxuICAvKiogdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIGl0ZW0gdGVtcGxhdGUuIFRlbXBsYXRlIHZhcmlhYmxlczogaXRlbSBhbmQgaW5kZXg7ICovXG4gIEBJbnB1dCgpIGl0ZW1UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIC8qKiBmaXJlZCBvbiBhcnJheSBjaGFuZ2UgKHJlb3JkZXJpbmcsIGluc2VydCwgcmVtb3ZlKSwgc2FtZSBhcyA8Y29kZT5uZ01vZGVsQ2hhbmdlPC9jb2RlPi5cbiAgICogIFJldHVybnMgbmV3IGl0ZW1zIGNvbGxlY3Rpb24gYXMgYSBwYXlsb2FkLlxuICAgKi9cbiAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8dW5rbm93bltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpO1xuXG4gIHNob3dQbGFjZWhvbGRlciA9IGZhbHNlO1xuICBhY3RpdmVJdGVtID0gLTE7XG5cbiAgZ2V0IGl0ZW1zKCk6IFNvcnRhYmxlSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gIH1cblxuICBzZXQgaXRlbXModmFsdWU6IFNvcnRhYmxlSXRlbVtdKSB7XG4gICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcbiAgICBjb25zdCBvdXQgPSB0aGlzLml0ZW1zLm1hcCgoeDogU29ydGFibGVJdGVtKSA9PiB4LmluaXREYXRhKTtcbiAgICB0aGlzLm9uQ2hhbmdlZChvdXQpO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdChvdXQpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgb25Ub3VjaGVkOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIG9uQ2hhbmdlZDogYW55ID0gRnVuY3Rpb24ucHJvdG90eXBlO1xuXG4gIHByaXZhdGUgdHJhbnNmZXI6IERyYWdnYWJsZUl0ZW1TZXJ2aWNlO1xuICBwcml2YXRlIGN1cnJlbnRab25lSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfaXRlbXM6IFNvcnRhYmxlSXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IodHJhbnNmZXI6IERyYWdnYWJsZUl0ZW1TZXJ2aWNlKSB7XG4gICAgdGhpcy50cmFuc2ZlciA9IHRyYW5zZmVyO1xuICAgIHRoaXMuY3VycmVudFpvbmVJbmRleCA9IFNvcnRhYmxlQ29tcG9uZW50Lmdsb2JhbFpvbmVJbmRleCsrO1xuICAgIHRoaXMudHJhbnNmZXJcbiAgICAgIC5vbkNhcHR1cmVJdGVtKClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IERyYWdnYWJsZUl0ZW0pID0+IHRoaXMub25Ecm9wKGl0ZW0pKTtcbiAgfVxuXG4gIG9uSXRlbURyYWdzdGFydChcbiAgICBldmVudDogRHJhZ0V2ZW50LFxuICAgIGl0ZW06IFNvcnRhYmxlSXRlbSxcbiAgICBpOiBudW1iZXJcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5pbml0RHJhZ3N0YXJ0RXZlbnQoZXZlbnQpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy50cmFuc2Zlci5kcmFnU3RhcnQoe1xuICAgICAgZXZlbnQsXG4gICAgICBpdGVtLFxuICAgICAgaSxcbiAgICAgIGluaXRpYWxJbmRleDogaSxcbiAgICAgIGxhc3Rab25lSW5kZXg6IHRoaXMuY3VycmVudFpvbmVJbmRleCxcbiAgICAgIG92ZXJab25lSW5kZXg6IHRoaXMuY3VycmVudFpvbmVJbmRleFxuICAgIH0pO1xuICB9XG5cbiAgb25JdGVtRHJhZ292ZXIoZXZlbnQ6IERyYWdFdmVudCwgaTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyYW5zZmVyLmdldEl0ZW0oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGRyYWdJdGVtID0gdGhpcy50cmFuc2Zlci5jYXB0dXJlSXRlbShcbiAgICAgIHRoaXMuY3VycmVudFpvbmVJbmRleCxcbiAgICAgIHRoaXMuaXRlbXMubGVuZ3RoXG4gICAgKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgbGV0IG5ld0FycmF5OiBhbnlbXSA9IFtdO1xuXG4gICAgaWYgKCFkcmFnSXRlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgIG5ld0FycmF5ID0gW2RyYWdJdGVtLml0ZW1dO1xuICAgIH0gZWxzZSBpZiAoZHJhZ0l0ZW0uaSA+IGkpIHtcbiAgICAgIG5ld0FycmF5ID0gW1xuICAgICAgICAuLi50aGlzLml0ZW1zLnNsaWNlKDAsIGkpLFxuICAgICAgICBkcmFnSXRlbS5pdGVtLFxuICAgICAgICAuLi50aGlzLml0ZW1zLnNsaWNlKGksIGRyYWdJdGVtLmkpLFxuICAgICAgICAuLi50aGlzLml0ZW1zLnNsaWNlKGRyYWdJdGVtLmkgKyAxKVxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcy5kcmFnZ2VkSXRlbS5pIDwgaVxuICAgICAgbmV3QXJyYXkgPSBbXG4gICAgICAgIC4uLnRoaXMuaXRlbXMuc2xpY2UoMCwgZHJhZ0l0ZW0uaSksXG4gICAgICAgIC4uLnRoaXMuaXRlbXMuc2xpY2UoZHJhZ0l0ZW0uaSArIDEsIGkgKyAxKSxcbiAgICAgICAgZHJhZ0l0ZW0uaXRlbSxcbiAgICAgICAgLi4udGhpcy5pdGVtcy5zbGljZShpICsgMSlcbiAgICAgIF07XG4gICAgfVxuICAgIHRoaXMuaXRlbXMgPSBuZXdBcnJheTtcbiAgICBkcmFnSXRlbS5pID0gaTtcbiAgICB0aGlzLmFjdGl2ZUl0ZW0gPSBpO1xuICAgIHRoaXMudXBkYXRlUGxhY2Vob2xkZXJTdGF0ZSgpO1xuICB9XG5cbiAgY2FuY2VsRXZlbnQoZXZlbnQ/OiBEcmFnRXZlbnR8TW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50cmFuc2Zlci5nZXRJdGVtKCkgfHwgIWV2ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBvbkRyb3AoaXRlbTogRHJhZ2dhYmxlSXRlbSk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGl0ZW0gJiZcbiAgICAgIGl0ZW0ub3ZlclpvbmVJbmRleCAhPT0gdGhpcy5jdXJyZW50Wm9uZUluZGV4ICYmXG4gICAgICBpdGVtLmxhc3Rab25lSW5kZXggPT09IHRoaXMuY3VycmVudFpvbmVJbmRleFxuICAgICkge1xuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKFxuICAgICAgICAoeDogU29ydGFibGVJdGVtLCBpOiBudW1iZXIpID0+IGkgIT09IGl0ZW0uaVxuICAgICAgKTtcbiAgICAgIHRoaXMudXBkYXRlUGxhY2Vob2xkZXJTdGF0ZSgpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0QWN0aXZlSXRlbSgpO1xuICB9XG5cbiAgcmVzZXRBY3RpdmVJdGVtKGV2ZW50PzogRHJhZ0V2ZW50fE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNhbmNlbEV2ZW50KGV2ZW50KTtcbiAgICB0aGlzLmFjdGl2ZUl0ZW0gPSAtMTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlZCA9IGNhbGxiYWNrO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGNhbGxiYWNrO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55W10pOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICB0aGlzLml0ZW1zID0gdmFsdWUubWFwKCh4OiBhbnksIGk6IG51bWJlcikgPT4gKHtcbiAgICAgICAgaWQ6IGksXG4gICAgICAgIGluaXREYXRhOiB4LFxuICAgICAgICB2YWx1ZTogdGhpcy5maWVsZE5hbWUgPyB4W3RoaXMuZmllbGROYW1lXSA6IHhcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pdGVtcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVBsYWNlaG9sZGVyU3RhdGUoKTtcbiAgfVxuXG4gIHVwZGF0ZVBsYWNlaG9sZGVyU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UGxhY2Vob2xkZXIgPSAhdGhpcy5faXRlbXMubGVuZ3RoO1xuICB9XG5cbiAgZ2V0SXRlbVN0eWxlKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIGlzQWN0aXZlXG4gICAgICA/IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuaXRlbVN0eWxlLCB0aGlzLml0ZW1BY3RpdmVTdHlsZSlcbiAgICAgIDogdGhpcy5pdGVtU3R5bGU7XG4gIH1cblxuICBwcml2YXRlIGluaXREcmFnc3RhcnRFdmVudChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgLy8gaXQgaXMgbmVjZXNzYXJ5IGZvciBtb3ppbGxhXG4gICAgLy8gZGF0YSB0eXBlIHNob3VsZCBiZSAnVGV4dCcgaW5zdGVhZCBvZiAndGV4dC9wbGFpbicgdG8ga2VlcCBjb21wYXRpYmlsaXR5XG4gICAgLy8gd2l0aCBJRVxuICAgIGV2ZW50LmRhdGFUcmFuc2Zlcj8uc2V0RGF0YSgnVGV4dCcsICdwbGFjZWhvbGRlcicpO1xuICB9XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTb3J0YWJsZUl0ZW0ge1xuICBpZDogbnVtYmVyO1xuICB2YWx1ZTogc3RyaW5nO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBpbml0RGF0YTogYW55O1xufVxuIl19","import { NgModule } from '@angular/core';\nimport { SortableComponent } from './sortable.component';\nimport * as i0 from \"@angular/core\";\nexport class SortableModule {\n // @deprecated method not required anymore, will be deleted in v19.0.0\n static forRoot() {\n return {\n ngModule: SortableModule,\n providers: []\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.2\", ngImport: i0, type: SortableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.2\", ngImport: i0, type: SortableModule, imports: [SortableComponent], exports: [SortableComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.2\", ngImport: i0, type: SortableModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.2\", ngImport: i0, type: SortableModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [SortableComponent],\n exports: [SortableComponent]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NvcnRhYmxlL3NvcnRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLGNBQWM7SUFDekIsc0VBQXNFO0lBQ3RFLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7OEdBUFUsY0FBYzsrR0FBZCxjQUFjLFlBSGIsaUJBQWlCLGFBQ2pCLGlCQUFpQjsrR0FFbEIsY0FBYzs7MkZBQWQsY0FBYztrQkFKMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU29ydGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NvcnRhYmxlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1NvcnRhYmxlQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbU29ydGFibGVDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRhYmxlTW9kdWxlIHtcbiAgLy8gQGRlcHJlY2F0ZWQgbWV0aG9kIG5vdCByZXF1aXJlZCBhbnltb3JlLCB3aWxsIGJlIGRlbGV0ZWQgaW4gdjE5LjAuMFxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNvcnRhYmxlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTb3J0YWJsZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWJvb3RzdHJhcC1zb3J0YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zb3J0YWJsZS9uZ3gtYm9vdHN0cmFwLXNvcnRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.DraggableItemService"],"mappings":";;;;;;AAGO,MAAM,oBAAoB,CAAC;AAClC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,EAAE;AACtC;AACA,IAAI,SAAS,CAAC,IAAI,EAAE;AACpB,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,IAAI,CAAC,aAAa;AACjC;AACA,IAAI,WAAW,CAAC,aAAa,EAAE,QAAQ,EAAE;AACzC,QAAQ,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,aAAa,EAAE;AACtF,YAAY,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa;AAC/E,YAAY,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,aAAa;AAC5D,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACnD,YAAY,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE;AACvE,gBAAgB,aAAa;AAC7B,gBAAgB,CAAC,EAAE;AACnB,aAAa,CAAC;AACd;AACA,QAAQ,OAAO,IAAI,CAAC,aAAa;AACjC;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,OAAO,IAAI,CAAC,SAAS;AAC7B;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACvL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;AAClK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;AAC7C,SAAS,CAAC,EAAE,CAAC;;AC5BN,MAAM,iBAAiB,CAAC;AAC/B,IAAI,SAAS,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;AACtC,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,MAAM;AAC1B;AACA,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;AACrB,QAAQ,IAAI,CAAC,MAAM,GAAG,KAAK;AAC3B,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AACrD,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;AAC3B,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/B;AACA,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,EAAE;AAC9B;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,EAAE;AAC9B;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,EAAE;AAC3B;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,EAAE;AAC3B;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,EAAE;AACjC;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,EAAE;AACjC;AACA,QAAQ,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAClC;AACA,QAAQ,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAClC;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,EAAE;AACjC;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAK;AACpC,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AAC5B;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;AAC3C;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;AAC3C,QAAQ,IAAI,CAAC,MAAM,GAAG,EAAE;AACxB,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,eAAe,EAAE;AACnE,QAAQ,IAAI,CAAC;AACb,aAAa,aAAa;AAC1B,aAAa,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnD;AACA,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;AACpC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;AACtC,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAChC,YAAY,KAAK;AACjB,YAAY,IAAI;AAChB,YAAY,CAAC;AACb,YAAY,YAAY,EAAE,CAAC;AAC3B,YAAY,aAAa,EAAE,IAAI,CAAC,gBAAgB;AAChD,YAAY,aAAa,EAAE,IAAI,CAAC;AAChC,SAAS,CAAC;AACV;AACA,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE;AAC7B,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;AACtC,YAAY;AACZ;AACA,QAAQ,KAAK,CAAC,cAAc,EAAE;AAC9B,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC5F;AACA,QAAQ,IAAI,QAAQ,GAAG,EAAE;AACzB,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACvB,YAAY;AACZ;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AAChC,YAAY,QAAQ,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;AACtC;AACA,aAAa,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE;AACjC,YAAY,QAAQ,GAAG;AACvB,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,gBAAgB,QAAQ,CAAC,IAAI;AAC7B,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClD,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;AAClD,aAAa;AACb;AACA,aAAa;AACb;AACA,YAAY,QAAQ,GAAG;AACvB,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClD,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAC1D,gBAAgB,QAAQ,CAAC,IAAI;AAC7B,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AACzC,aAAa;AACb;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,QAAQ;AAC7B,QAAQ,QAAQ,CAAC,CAAC,GAAG,CAAC;AACtB,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC;AAC3B,QAAQ,IAAI,CAAC,sBAAsB,EAAE;AACrC;AACA,IAAI,WAAW,CAAC,KAAK,EAAE;AACvB,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;AAChD,YAAY;AACZ;AACA,QAAQ,KAAK,CAAC,cAAc,EAAE;AAC9B;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,QAAQ,IAAI,IAAI;AAChB,YAAY,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,gBAAgB;AACxD,YAAY,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,gBAAgB,EAAE;AAC1D,YAAY,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAClE,YAAY,IAAI,CAAC,sBAAsB,EAAE;AACzC;AACA,QAAQ,IAAI,CAAC,eAAe,EAAE;AAC9B;AACA,IAAI,eAAe,CAAC,KAAK,EAAE;AAC3B,QAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/B,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AAC5B;AACA,IAAI,gBAAgB,CAAC,QAAQ,EAAE;AAC/B,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ;AACjC;AACA,IAAI,iBAAiB,CAAC,QAAQ,EAAE;AAChC,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ;AACjC;AACA;AACA,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,QAAQ,IAAI,KAAK,EAAE;AACnB;AACA,YAAY,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM;AAC9C,gBAAgB,EAAE,EAAE,CAAC;AACrB,gBAAgB,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;AAC5D,aAAa,CAAC,CAAC;AACf;AACA,aAAa;AACb,YAAY,IAAI,CAAC,KAAK,GAAG,EAAE;AAC3B;AACA,QAAQ,IAAI,CAAC,sBAAsB,EAAE;AACrC;AACA,IAAI,sBAAsB,GAAG;AAC7B,QAAQ,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;AAClD;AACA,IAAI,YAAY,CAAC,QAAQ,EAAE;AAC3B,QAAQ,OAAO;AACf,cAAc,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe;AACpE,cAAc,IAAI,CAAC,SAAS;AAC5B;AACA,IAAI,kBAAkB,CAAC,KAAK,EAAE;AAC9B;AACA;AACA;AACA,QAAQ,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AAC1D;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAEA,oBAAuB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACrN,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE;AACtjB,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChE,gBAAgB,KAAK,EAAE;AACvB;AACA,SAAS,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/kB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,aAAa;AAC3C,oBAAoB,QAAQ,EAAE,aAAa;AAC3C,oBAAoB,QAAQ,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAC5E,4BAA4B,KAAK,EAAE;AACnC;AACA,qBAAqB;AACrB,oBAAoB,UAAU,EAAE,IAAI;AACpC,oBAAoB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB;AAC7E,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAEA,oBAAuB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC;AACrG,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;AAClC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;AAClC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;AACnC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;AACnC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;AAClC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;;ACvQZ,MAAM,cAAc,CAAC;AAC5B;AACA,IAAI,OAAO,OAAO,GAAG;AACrB,QAAQ,OAAO;AACf,YAAY,QAAQ,EAAE,cAAc;AACpC,YAAY,SAAS,EAAE;AACvB,SAAS;AACT;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC/K,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC7L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AACjI;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAChD,oBAAoB,OAAO,EAAE,CAAC,iBAAiB;AAC/C,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACrBb;AACA;AACA;;;;"}
@@ -1 +1,92 @@
1
- export * from './public_api';
1
+ import * as i0 from '@angular/core';
2
+ import { TemplateRef, EventEmitter, ModuleWithProviders } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+ import { Subject } from 'rxjs';
5
+
6
+ interface DraggableItem {
7
+ event: DragEvent;
8
+ item: any;
9
+ i: number;
10
+ initialIndex: number;
11
+ lastZoneIndex: number;
12
+ overZoneIndex: number;
13
+ }
14
+
15
+ declare class DraggableItemService {
16
+ private draggableItem?;
17
+ private onCapture;
18
+ dragStart(item: DraggableItem): void;
19
+ getItem(): DraggableItem | undefined;
20
+ captureItem(overZoneIndex: number, newIndex: number): DraggableItem | undefined;
21
+ onCaptureItem(): Subject<DraggableItem>;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<DraggableItemService, never>;
23
+ static ɵprov: i0.ɵɵInjectableDeclaration<DraggableItemService>;
24
+ }
25
+
26
+ declare class SortableComponent implements ControlValueAccessor {
27
+ private static globalZoneIndex;
28
+ /** field name if input array consists of objects */
29
+ fieldName?: string;
30
+ /** class name for items wrapper */
31
+ wrapperClass: string;
32
+ /** style object for items wrapper */
33
+ wrapperStyle: Record<string, string>;
34
+ /** class name for item */
35
+ itemClass: string;
36
+ /** style object for item */
37
+ itemStyle: Record<string, string>;
38
+ /** class name for active item */
39
+ itemActiveClass: string;
40
+ /** style object for active item */
41
+ itemActiveStyle: Record<string, string>;
42
+ /** class name for placeholder */
43
+ placeholderClass: string;
44
+ /** style object for placeholder */
45
+ placeholderStyle: Record<string, string>;
46
+ /** placeholder item which will be shown if collection is empty */
47
+ placeholderItem: string;
48
+ /** used to specify a custom item template. Template variables: item and index; */
49
+ itemTemplate?: TemplateRef<unknown>;
50
+ /** fired on array change (reordering, insert, remove), same as <code>ngModelChange</code>.
51
+ * Returns new items collection as a payload.
52
+ */
53
+ onChange: EventEmitter<unknown[]>;
54
+ showPlaceholder: boolean;
55
+ activeItem: number;
56
+ get items(): SortableItem[];
57
+ set items(value: SortableItem[]);
58
+ onTouched: any;
59
+ onChanged: any;
60
+ private transfer;
61
+ private currentZoneIndex;
62
+ private _items;
63
+ constructor(transfer: DraggableItemService);
64
+ onItemDragstart(event: DragEvent, item: SortableItem, i: number): void;
65
+ onItemDragover(event: DragEvent, i: number): void;
66
+ cancelEvent(event?: DragEvent | MouseEvent): void;
67
+ onDrop(item: DraggableItem): void;
68
+ resetActiveItem(event?: DragEvent | MouseEvent): void;
69
+ registerOnChange(callback: () => void): void;
70
+ registerOnTouched(callback: () => void): void;
71
+ writeValue(value: any[]): void;
72
+ updatePlaceholderState(): void;
73
+ getItemStyle(isActive: boolean): Record<string, string>;
74
+ private initDragstartEvent;
75
+ static ɵfac: i0.ɵɵFactoryDeclaration<SortableComponent, never>;
76
+ static ɵcmp: i0.ɵɵComponentDeclaration<SortableComponent, "bs-sortable", ["bs-sortable"], { "fieldName": { "alias": "fieldName"; "required": false; }; "wrapperClass": { "alias": "wrapperClass"; "required": false; }; "wrapperStyle": { "alias": "wrapperStyle"; "required": false; }; "itemClass": { "alias": "itemClass"; "required": false; }; "itemStyle": { "alias": "itemStyle"; "required": false; }; "itemActiveClass": { "alias": "itemActiveClass"; "required": false; }; "itemActiveStyle": { "alias": "itemActiveStyle"; "required": false; }; "placeholderClass": { "alias": "placeholderClass"; "required": false; }; "placeholderStyle": { "alias": "placeholderStyle"; "required": false; }; "placeholderItem": { "alias": "placeholderItem"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; }, { "onChange": "onChange"; }, never, never, true, never>;
77
+ }
78
+ declare interface SortableItem {
79
+ id: number;
80
+ value: string;
81
+ initData: any;
82
+ }
83
+
84
+ declare class SortableModule {
85
+ static forRoot(): ModuleWithProviders<SortableModule>;
86
+ static ɵfac: i0.ɵɵFactoryDeclaration<SortableModule, never>;
87
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SortableModule, never, [typeof SortableComponent], [typeof SortableComponent]>;
88
+ static ɵinj: i0.ɵɵInjectorDeclaration<SortableModule>;
89
+ }
90
+
91
+ export { DraggableItemService, SortableComponent, SortableModule };
92
+ export type { DraggableItem, SortableItem };
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, Injectable, Component, HostBinding, EventEmitter, Output, NgModule } from '@angular/core';
2
+ import { Input, Directive, Injectable, HostBinding, Component, EventEmitter, Output, NgModule } from '@angular/core';
3
3
  import { NgClass, NgFor, NgIf, CommonModule } from '@angular/common';
4
4
 
5
5
  class NgTranscludeDirective {
@@ -16,10 +16,10 @@ class NgTranscludeDirective {
16
16
  constructor(viewRef) {
17
17
  this.viewRef = viewRef;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: NgTranscludeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.1", type: NgTranscludeDirective, isStandalone: true, selector: "[ngTransclude]", inputs: { ngTransclude: "ngTransclude" }, ngImport: i0 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NgTranscludeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: NgTranscludeDirective, isStandalone: true, selector: "[ngTransclude]", inputs: { ngTransclude: "ngTransclude" }, ngImport: i0 }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: NgTranscludeDirective, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NgTranscludeDirective, decorators: [{
23
23
  type: Directive,
24
24
  args: [{
25
25
  selector: '[ngTransclude]',
@@ -38,10 +38,10 @@ class TabsetConfig {
38
38
  /** aria label for tab list */
39
39
  this.ariaLabel = 'Tabs';
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabsetConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabsetConfig, providedIn: 'root' }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabsetConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabsetConfig, providedIn: 'root' }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabsetConfig, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabsetConfig, decorators: [{
45
45
  type: Injectable,
46
46
  args: [{
47
47
  providedIn: 'root'
@@ -100,9 +100,39 @@ class TabsetComponent {
100
100
  this.isDestroyed = true;
101
101
  }
102
102
  addTab(tab) {
103
- this.tabs.push(tab);
103
+ // If tab has a tabOrder, insert it in the correct position
104
+ if (tab.tabOrder !== undefined) {
105
+ this.insertTabByOrder(tab);
106
+ }
107
+ else {
108
+ // Default behavior - add to end
109
+ this.tabs.push(tab);
110
+ }
111
+ // Set active if it's the first tab and not already active
104
112
  tab.active = this.tabs.length === 1 && !tab.active;
105
113
  }
114
+ insertTabByOrder(tab) {
115
+ let insertIndex = this.tabs.length; // Default to end
116
+ // Find the correct position to insert the ordered tab
117
+ for (let i = 0; i < this.tabs.length; i++) {
118
+ const existingTab = this.tabs[i];
119
+ // If the existing tab has an order and the new tab's order is less than it
120
+ if (existingTab.tabOrder !== undefined &&
121
+ tab.tabOrder !== undefined &&
122
+ tab.tabOrder < existingTab.tabOrder) {
123
+ insertIndex = i;
124
+ break;
125
+ }
126
+ // If we reach an unordered tab, we want to insert before it
127
+ // (ordered tabs should come before unordered tabs)
128
+ if (existingTab.tabOrder === undefined) {
129
+ insertIndex = i;
130
+ break;
131
+ }
132
+ }
133
+ // Insert at the found position
134
+ this.tabs.splice(insertIndex, 0, tab);
135
+ }
106
136
  removeTab(tab, options = { reselect: true, emit: true }) {
107
137
  const index = this.tabs.indexOf(tab);
108
138
  if (index === -1 || this.isDestroyed) {
@@ -241,10 +271,10 @@ class TabsetComponent {
241
271
  [`nav-${this.type}`]: true
242
272
  };
243
273
  }
244
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabsetComponent, deps: [{ token: TabsetConfig }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
245
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.1", type: TabsetComponent, isStandalone: true, selector: "tabset", inputs: { vertical: "vertical", justified: "justified", type: "type" }, host: { properties: { "class.tab-container": "this.clazz" } }, ngImport: i0, template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> &#10060;</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTranscludeDirective, selector: "[ngTransclude]", inputs: ["ngTransclude"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabsetComponent, deps: [{ token: TabsetConfig }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
275
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: TabsetComponent, isStandalone: true, selector: "tabset", inputs: { vertical: "vertical", justified: "justified", type: "type" }, host: { properties: { "class.tab-container": "this.clazz" } }, ngImport: i0, template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> &#10060;</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTranscludeDirective, selector: "[ngTransclude]", inputs: ["ngTransclude"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
246
276
  }
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabsetComponent, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabsetComponent, decorators: [{
248
278
  type: Component,
249
279
  args: [{ selector: 'tabset', standalone: true, imports: [NgClass, NgFor, NgTranscludeDirective, NgIf], template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> &#10060;</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}\n"] }]
250
280
  }], ctorParameters: () => [{ type: TabsetConfig }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { vertical: [{
@@ -320,18 +350,19 @@ class TabDirective {
320
350
  this._active = false;
321
351
  this._customClass = '';
322
352
  this.tabset = tabset;
323
- this.tabset.addTab(this);
324
353
  }
325
354
  ngOnInit() {
326
355
  this.removable = !!this.removable;
356
+ // Add tab to tabset after input properties are set
357
+ this.tabset.addTab(this);
327
358
  }
328
359
  ngOnDestroy() {
329
360
  this.tabset.removeTab(this, { reselect: false, emit: false });
330
361
  }
331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabDirective, deps: [{ token: TabsetComponent }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
332
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.1", type: TabDirective, isStandalone: true, selector: "tab, [tab]", inputs: { heading: "heading", id: "id", disabled: "disabled", removable: "removable", customClass: "customClass", active: "active" }, outputs: { selectTab: "selectTab", deselect: "deselect", removed: "removed" }, host: { properties: { "attr.id": "this.id", "class.active": "this.active", "class.tab-pane": "this.addClass", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledby" } }, exportAs: ["tab"], ngImport: i0 }); }
362
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabDirective, deps: [{ token: TabsetComponent }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
363
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: TabDirective, isStandalone: true, selector: "tab, [tab]", inputs: { heading: "heading", id: "id", disabled: "disabled", removable: "removable", tabOrder: "tabOrder", customClass: "customClass", active: "active" }, outputs: { selectTab: "selectTab", deselect: "deselect", removed: "removed" }, host: { properties: { "attr.id": "this.id", "class.active": "this.active", "class.tab-pane": "this.addClass", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledby" } }, exportAs: ["tab"], ngImport: i0 }); }
333
364
  }
334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabDirective, decorators: [{
365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabDirective, decorators: [{
335
366
  type: Directive,
336
367
  args: [{
337
368
  selector: 'tab, [tab]', exportAs: 'tab',
@@ -348,6 +379,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
348
379
  type: Input
349
380
  }], removable: [{
350
381
  type: Input
382
+ }], tabOrder: [{
383
+ type: Input
351
384
  }], customClass: [{
352
385
  type: Input
353
386
  }], active: [{
@@ -378,10 +411,10 @@ class TabHeadingDirective {
378
411
  constructor(templateRef, tab) {
379
412
  tab.headingRef = templateRef;
380
413
  }
381
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabHeadingDirective, deps: [{ token: i0.TemplateRef }, { token: TabDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
382
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.1", type: TabHeadingDirective, isStandalone: true, selector: "[tabHeading]", ngImport: i0 }); }
414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabHeadingDirective, deps: [{ token: i0.TemplateRef }, { token: TabDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
415
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: TabHeadingDirective, isStandalone: true, selector: "[tabHeading]", ngImport: i0 }); }
383
416
  }
384
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabHeadingDirective, decorators: [{
417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabHeadingDirective, decorators: [{
385
418
  type: Directive,
386
419
  args: [{
387
420
  selector: '[tabHeading]',
@@ -397,17 +430,17 @@ class TabsModule {
397
430
  providers: []
398
431
  };
399
432
  }
400
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
401
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: TabsModule, imports: [CommonModule, NgTranscludeDirective,
433
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
434
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: TabsModule, imports: [CommonModule, NgTranscludeDirective,
402
435
  TabDirective,
403
436
  TabsetComponent,
404
437
  TabHeadingDirective], exports: [TabDirective,
405
438
  TabsetComponent,
406
439
  TabHeadingDirective,
407
440
  NgTranscludeDirective] }); }
408
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabsModule, imports: [CommonModule] }); }
441
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabsModule, imports: [CommonModule] }); }
409
442
  }
410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: TabsModule, decorators: [{
443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TabsModule, decorators: [{
411
444
  type: NgModule,
412
445
  args: [{
413
446
  imports: [CommonModule, NgTranscludeDirective,