@ng-nest/ui 15.0.19 → 16.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 (2313) hide show
  1. package/README.md +1 -1
  2. package/affix/affix.component.d.ts +9 -9
  3. package/affix/affix.module.d.ts +9 -9
  4. package/affix/affix.property.d.ts +25 -25
  5. package/affix/index.d.ts +5 -5
  6. package/affix/public-api.d.ts +3 -3
  7. package/alert/alert.component.d.ts +21 -21
  8. package/alert/alert.module.d.ts +14 -14
  9. package/alert/alert.property.d.ts +224 -224
  10. package/alert/index.d.ts +5 -5
  11. package/alert/public-api.d.ts +3 -3
  12. package/anchor/anchor-inner.component.d.ts +6 -6
  13. package/anchor/anchor.component.d.ts +39 -39
  14. package/anchor/anchor.module.d.ts +12 -12
  15. package/anchor/anchor.property.d.ts +73 -73
  16. package/anchor/index.d.ts +5 -5
  17. package/anchor/public-api.d.ts +4 -4
  18. package/api/api.component.d.ts +11 -11
  19. package/api/api.module.d.ts +8 -8
  20. package/api/api.property.d.ts +6 -6
  21. package/api/index.d.ts +5 -5
  22. package/api/public-api.d.ts +3 -3
  23. package/auto-complete/auto-complete-portal.component.d.ts +45 -45
  24. package/auto-complete/auto-complete.component.d.ts +72 -72
  25. package/auto-complete/auto-complete.module.d.ts +15 -15
  26. package/auto-complete/auto-complete.property.d.ts +105 -105
  27. package/auto-complete/index.d.ts +5 -5
  28. package/auto-complete/public-api.d.ts +4 -4
  29. package/avatar/avatar-group.component.d.ts +8 -8
  30. package/avatar/avatar.component.d.ts +28 -28
  31. package/avatar/avatar.module.d.ts +12 -12
  32. package/avatar/avatar.property.d.ts +83 -83
  33. package/avatar/index.d.ts +5 -5
  34. package/avatar/public-api.d.ts +4 -4
  35. package/back-top/back-top.component.d.ts +35 -35
  36. package/back-top/back-top.module.d.ts +11 -11
  37. package/back-top/back-top.property.d.ts +41 -41
  38. package/back-top/index.d.ts +5 -5
  39. package/back-top/public-api.d.ts +3 -3
  40. package/badge/badge.component.d.ts +26 -25
  41. package/badge/badge.module.d.ts +9 -9
  42. package/badge/badge.property.d.ts +50 -50
  43. package/badge/index.d.ts +5 -5
  44. package/badge/public-api.d.ts +3 -3
  45. package/base-form/base-form.component.d.ts +33 -33
  46. package/base-form/base-form.module.d.ts +8 -8
  47. package/base-form/base-form.property.d.ts +160 -160
  48. package/base-form/index.d.ts +5 -5
  49. package/base-form/public-api.d.ts +3 -3
  50. package/border/border.component.d.ts +11 -11
  51. package/border/border.module.d.ts +7 -7
  52. package/border/border.property.d.ts +6 -6
  53. package/border/index.d.ts +5 -5
  54. package/border/public-api.d.ts +3 -3
  55. package/button/button.component.d.ts +22 -22
  56. package/button/button.module.d.ts +12 -12
  57. package/button/button.property.d.ts +194 -194
  58. package/button/buttons.component.d.ts +16 -16
  59. package/button/index.d.ts +5 -5
  60. package/button/public-api.d.ts +4 -4
  61. package/calendar/calendar.component.d.ts +45 -45
  62. package/calendar/calendar.module.d.ts +16 -16
  63. package/calendar/calendar.property.d.ts +73 -73
  64. package/calendar/index.d.ts +5 -5
  65. package/calendar/public-api.d.ts +3 -3
  66. package/card/card.component.d.ts +15 -15
  67. package/card/card.module.d.ts +11 -11
  68. package/card/card.property.d.ts +42 -42
  69. package/card/index.d.ts +5 -5
  70. package/card/public-api.d.ts +3 -3
  71. package/carousel/carousel-panel.component.d.ts +36 -36
  72. package/carousel/carousel.component.d.ts +32 -32
  73. package/carousel/carousel.module.d.ts +11 -11
  74. package/carousel/carousel.property.d.ts +99 -99
  75. package/carousel/index.d.ts +5 -5
  76. package/carousel/public-api.d.ts +4 -4
  77. package/cascade/cascade-portal.component.d.ts +44 -44
  78. package/cascade/cascade.component.d.ts +69 -69
  79. package/cascade/cascade.module.d.ts +15 -15
  80. package/cascade/cascade.property.d.ts +95 -95
  81. package/cascade/index.d.ts +5 -5
  82. package/cascade/public-api.d.ts +4 -4
  83. package/checkbox/checkbox.component.d.ts +32 -32
  84. package/checkbox/checkbox.module.d.ts +14 -14
  85. package/checkbox/checkbox.property.d.ts +159 -159
  86. package/checkbox/index.d.ts +5 -5
  87. package/checkbox/public-api.d.ts +3 -3
  88. package/collapse/collapse-panel.component.d.ts +16 -16
  89. package/collapse/collapse.component.d.ts +17 -17
  90. package/collapse/collapse.module.d.ts +12 -12
  91. package/collapse/collapse.property.d.ts +89 -89
  92. package/collapse/index.d.ts +5 -5
  93. package/collapse/public-api.d.ts +4 -4
  94. package/color/color.component.d.ts +17 -17
  95. package/color/color.module.d.ts +9 -9
  96. package/color/color.property.d.ts +36 -36
  97. package/color/index.d.ts +5 -5
  98. package/color/public-api.d.ts +3 -3
  99. package/color-picker/color-picker-portal.component.d.ts +134 -134
  100. package/color-picker/color-picker.component.d.ts +63 -63
  101. package/color-picker/color-picker.module.d.ts +17 -17
  102. package/color-picker/color-picker.property.d.ts +53 -53
  103. package/color-picker/index.d.ts +5 -5
  104. package/color-picker/public-api.d.ts +4 -4
  105. package/comment/comment-reply.component.d.ts +20 -20
  106. package/comment/comment.component.d.ts +28 -28
  107. package/comment/comment.module.d.ts +18 -18
  108. package/comment/comment.property.d.ts +125 -125
  109. package/comment/index.d.ts +5 -5
  110. package/comment/public-api.d.ts +4 -4
  111. package/container/aside.component.d.ts +13 -13
  112. package/container/container.component.d.ts +15 -15
  113. package/container/container.module.d.ts +13 -13
  114. package/container/container.property.d.ts +80 -80
  115. package/container/footer.component.d.ts +17 -17
  116. package/container/header.component.d.ts +17 -17
  117. package/container/index.d.ts +5 -5
  118. package/container/main.component.d.ts +11 -11
  119. package/container/public-api.d.ts +7 -7
  120. package/core/animation/badge.d.ts +3 -3
  121. package/core/animation/connect.d.ts +4 -4
  122. package/core/animation/consts.d.ts +5 -5
  123. package/core/animation/drop.d.ts +2 -2
  124. package/core/animation/fade.d.ts +2 -2
  125. package/core/animation/move.d.ts +3 -3
  126. package/core/animation/opacity.d.ts +2 -2
  127. package/core/animation/public-api.d.ts +8 -8
  128. package/core/animation/slide.d.ts +3 -3
  129. package/core/config/config.d.ts +543 -543
  130. package/core/config/config.service.d.ts +22 -22
  131. package/core/config/public-api.d.ts +2 -2
  132. package/core/functions/chunk.d.ts +1 -1
  133. package/core/functions/clone-deep.d.ts +1 -1
  134. package/core/functions/convert.d.ts +12 -12
  135. package/core/functions/date.d.ts +14 -14
  136. package/core/functions/drop.d.ts +1 -1
  137. package/core/functions/flex.d.ts +3 -3
  138. package/core/functions/group-by.d.ts +1 -1
  139. package/core/functions/guid.d.ts +4 -4
  140. package/core/functions/has-in.d.ts +1 -1
  141. package/core/functions/order-by.d.ts +1 -1
  142. package/core/functions/parent-path.d.ts +1 -1
  143. package/core/functions/property.d.ts +10 -10
  144. package/core/functions/public-api.d.ts +14 -14
  145. package/core/functions/remove.d.ts +1 -1
  146. package/core/functions/resize.d.ts +7 -7
  147. package/core/index.d.ts +5 -5
  148. package/core/interfaces/data.type.d.ts +25 -25
  149. package/core/interfaces/identify.type.d.ts +18 -18
  150. package/core/interfaces/index.d.ts +1 -1
  151. package/core/interfaces/layout.type.d.ts +118 -118
  152. package/core/interfaces/public-api.d.ts +4 -4
  153. package/core/interfaces/result-list.type.d.ts +28 -28
  154. package/core/public-api.d.ts +7 -7
  155. package/core/services/http.service.d.ts +50 -50
  156. package/core/services/preloading-strategy.service.d.ts +9 -9
  157. package/core/services/public-api.d.ts +5 -5
  158. package/core/services/repository.service.d.ts +28 -28
  159. package/core/services/reuse-strategy.service.d.ts +39 -39
  160. package/core/services/storage.service.d.ts +36 -36
  161. package/core/theme/index.d.ts +1 -1
  162. package/core/theme/public-api.d.ts +2 -2
  163. package/core/theme/theme.d.ts +29 -29
  164. package/core/theme/theme.service.d.ts +41 -41
  165. package/core/util/animation.d.ts +1 -1
  166. package/core/util/check.d.ts +2 -2
  167. package/core/util/computed-style.d.ts +2 -2
  168. package/core/util/host.d.ts +4 -4
  169. package/core/util/html.d.ts +4 -4
  170. package/core/util/index.d.ts +1 -1
  171. package/core/util/log.d.ts +2 -2
  172. package/core/util/option.d.ts +10 -10
  173. package/core/util/public-api.d.ts +7 -7
  174. package/crumb/crumb.component.d.ts +18 -18
  175. package/crumb/crumb.module.d.ts +11 -11
  176. package/crumb/crumb.property.d.ts +73 -73
  177. package/crumb/index.d.ts +5 -5
  178. package/crumb/public-api.d.ts +3 -3
  179. package/date-picker/date-picker-portal.component.d.ts +62 -62
  180. package/date-picker/date-picker.component.d.ts +71 -71
  181. package/date-picker/date-picker.module.d.ts +27 -27
  182. package/date-picker/date-picker.property.d.ts +896 -896
  183. package/date-picker/date-quarter.pipe.d.ts +9 -9
  184. package/date-picker/date-range-portal.component.d.ts +83 -83
  185. package/date-picker/date-range.component.d.ts +90 -90
  186. package/date-picker/index.d.ts +5 -5
  187. package/date-picker/picker-date.component.d.ts +55 -55
  188. package/date-picker/picker-month.component.d.ts +43 -43
  189. package/date-picker/picker-quarter.component.d.ts +45 -45
  190. package/date-picker/picker-year.component.d.ts +38 -38
  191. package/date-picker/public-api.d.ts +11 -11
  192. package/description/description-item.component.d.ts +9 -9
  193. package/description/description.component.d.ts +20 -20
  194. package/description/description.module.d.ts +11 -11
  195. package/description/description.property.d.ts +88 -88
  196. package/description/index.d.ts +5 -5
  197. package/description/public-api.d.ts +4 -4
  198. package/dialog/dialog-container.component.d.ts +8 -8
  199. package/dialog/dialog-portal.component.d.ts +46 -46
  200. package/dialog/dialog-portal.directives.d.ts +41 -41
  201. package/dialog/dialog-ref.d.ts +19 -19
  202. package/dialog/dialog.component.d.ts +71 -71
  203. package/dialog/dialog.module.d.ts +22 -22
  204. package/dialog/dialog.property.d.ts +391 -391
  205. package/dialog/dialog.service.d.ts +22 -22
  206. package/dialog/index.d.ts +5 -5
  207. package/dialog/public-api.d.ts +8 -8
  208. package/doc/doc.component.d.ts +9 -9
  209. package/doc/doc.module.d.ts +8 -8
  210. package/doc/doc.property.d.ts +6 -6
  211. package/doc/index.d.ts +5 -5
  212. package/doc/public-api.d.ts +3 -3
  213. package/drawer/drawer-container.component.d.ts +8 -8
  214. package/drawer/drawer-portal.component.d.ts +18 -18
  215. package/drawer/drawer-portal.directives.d.ts +19 -19
  216. package/drawer/drawer-ref.d.ts +9 -9
  217. package/drawer/drawer.component.d.ts +38 -38
  218. package/drawer/drawer.module.d.ts +15 -15
  219. package/drawer/drawer.property.d.ts +141 -141
  220. package/drawer/drawer.service.d.ts +19 -19
  221. package/drawer/index.d.ts +5 -5
  222. package/drawer/public-api.d.ts +9 -9
  223. package/dropdown/dropdown-portal.component.d.ts +64 -64
  224. package/dropdown/dropdown.component.d.ts +50 -50
  225. package/dropdown/dropdown.module.d.ts +13 -13
  226. package/dropdown/dropdown.property.d.ts +99 -99
  227. package/dropdown/index.d.ts +5 -5
  228. package/dropdown/public-api.d.ts +4 -4
  229. package/empty/empty.component.d.ts +16 -16
  230. package/empty/empty.module.d.ts +12 -12
  231. package/empty/empty.property.d.ts +25 -25
  232. package/empty/index.d.ts +5 -5
  233. package/empty/public-api.d.ts +3 -3
  234. package/esm2022/affix/affix.component.mjs +18 -0
  235. package/esm2022/affix/affix.module.mjs +20 -0
  236. package/esm2022/affix/affix.property.mjs +34 -0
  237. package/esm2022/affix/ng-nest-ui-affix.mjs +5 -0
  238. package/esm2022/affix/public-api.mjs +4 -0
  239. package/esm2022/alert/alert.component.mjs +76 -0
  240. package/esm2022/alert/alert.module.mjs +25 -0
  241. package/esm2022/alert/alert.property.mjs +148 -0
  242. package/esm2022/alert/ng-nest-ui-alert.mjs +5 -0
  243. package/esm2022/alert/public-api.mjs +4 -0
  244. package/esm2022/anchor/anchor-inner.component.mjs +18 -0
  245. package/esm2022/anchor/anchor.component.mjs +168 -0
  246. package/esm2022/anchor/anchor.module.mjs +23 -0
  247. package/esm2022/anchor/anchor.property.mjs +59 -0
  248. package/esm2022/anchor/ng-nest-ui-anchor.mjs +5 -0
  249. package/esm2022/anchor/public-api.mjs +5 -0
  250. package/esm2022/api/api.component.mjs +20 -0
  251. package/esm2022/api/api.module.mjs +19 -0
  252. package/esm2022/api/api.property.mjs +7 -0
  253. package/esm2022/api/ng-nest-ui-api.mjs +5 -0
  254. package/esm2022/api/public-api.mjs +4 -0
  255. package/esm2022/auto-complete/auto-complete-portal.component.mjs +86 -0
  256. package/esm2022/auto-complete/auto-complete.component.mjs +306 -0
  257. package/esm2022/auto-complete/auto-complete.module.mjs +26 -0
  258. package/esm2022/auto-complete/auto-complete.property.mjs +86 -0
  259. package/esm2022/auto-complete/ng-nest-ui-auto-complete.mjs +5 -0
  260. package/esm2022/auto-complete/public-api.mjs +5 -0
  261. package/esm2022/avatar/avatar-group.component.mjs +20 -0
  262. package/esm2022/avatar/avatar.component.mjs +116 -0
  263. package/esm2022/avatar/avatar.module.mjs +23 -0
  264. package/esm2022/avatar/avatar.property.mjs +74 -0
  265. package/esm2022/avatar/ng-nest-ui-avatar.mjs +5 -0
  266. package/esm2022/avatar/public-api.mjs +5 -0
  267. package/esm2022/back-top/back-top.component.mjs +122 -0
  268. package/esm2022/back-top/back-top.module.mjs +22 -0
  269. package/esm2022/back-top/back-top.property.mjs +43 -0
  270. package/esm2022/back-top/ng-nest-ui-back-top.mjs +5 -0
  271. package/esm2022/back-top/public-api.mjs +4 -0
  272. package/esm2022/badge/badge.component.mjs +77 -0
  273. package/esm2022/badge/badge.module.mjs +20 -0
  274. package/esm2022/badge/badge.property.mjs +61 -0
  275. package/esm2022/badge/ng-nest-ui-badge.mjs +5 -0
  276. package/esm2022/badge/public-api.mjs +4 -0
  277. package/esm2022/base-form/base-form.component.mjs +87 -0
  278. package/esm2022/base-form/base-form.module.mjs +18 -0
  279. package/esm2022/base-form/base-form.property.mjs +133 -0
  280. package/esm2022/base-form/ng-nest-ui-base-form.mjs +5 -0
  281. package/esm2022/base-form/public-api.mjs +4 -0
  282. package/esm2022/border/border.component.mjs +20 -0
  283. package/esm2022/border/border.module.mjs +17 -0
  284. package/esm2022/border/border.property.mjs +7 -0
  285. package/esm2022/border/ng-nest-ui-border.mjs +5 -0
  286. package/esm2022/border/public-api.mjs +4 -0
  287. package/esm2022/button/button.component.mjs +80 -0
  288. package/esm2022/button/button.module.mjs +23 -0
  289. package/esm2022/button/button.property.mjs +138 -0
  290. package/esm2022/button/buttons.component.mjs +42 -0
  291. package/esm2022/button/ng-nest-ui-button.mjs +5 -0
  292. package/esm2022/button/public-api.mjs +5 -0
  293. package/esm2022/calendar/calendar.component.mjs +135 -0
  294. package/esm2022/calendar/calendar.module.mjs +27 -0
  295. package/esm2022/calendar/calendar.property.mjs +57 -0
  296. package/esm2022/calendar/ng-nest-ui-calendar.mjs +5 -0
  297. package/esm2022/calendar/public-api.mjs +4 -0
  298. package/esm2022/card/card.component.mjs +30 -0
  299. package/esm2022/card/card.module.mjs +22 -0
  300. package/esm2022/card/card.property.mjs +43 -0
  301. package/esm2022/card/ng-nest-ui-card.mjs +5 -0
  302. package/esm2022/card/public-api.mjs +4 -0
  303. package/esm2022/carousel/carousel-panel.component.mjs +133 -0
  304. package/esm2022/carousel/carousel.component.mjs +90 -0
  305. package/esm2022/carousel/carousel.module.mjs +22 -0
  306. package/esm2022/carousel/carousel.property.mjs +114 -0
  307. package/esm2022/carousel/ng-nest-ui-carousel.mjs +5 -0
  308. package/esm2022/carousel/public-api.mjs +5 -0
  309. package/esm2022/cascade/cascade-portal.component.mjs +125 -0
  310. package/esm2022/cascade/cascade.component.mjs +239 -0
  311. package/esm2022/cascade/cascade.module.mjs +26 -0
  312. package/esm2022/cascade/cascade.property.mjs +79 -0
  313. package/esm2022/cascade/ng-nest-ui-cascade.mjs +5 -0
  314. package/esm2022/cascade/public-api.mjs +5 -0
  315. package/esm2022/checkbox/checkbox.component.mjs +122 -0
  316. package/esm2022/checkbox/checkbox.module.mjs +25 -0
  317. package/esm2022/checkbox/checkbox.property.mjs +88 -0
  318. package/esm2022/checkbox/ng-nest-ui-checkbox.mjs +5 -0
  319. package/esm2022/checkbox/public-api.mjs +4 -0
  320. package/esm2022/collapse/collapse-panel.component.mjs +49 -0
  321. package/esm2022/collapse/collapse.component.mjs +48 -0
  322. package/esm2022/collapse/collapse.module.mjs +23 -0
  323. package/esm2022/collapse/collapse.property.mjs +101 -0
  324. package/esm2022/collapse/ng-nest-ui-collapse.mjs +5 -0
  325. package/esm2022/collapse/public-api.mjs +5 -0
  326. package/esm2022/color/color.component.mjs +42 -0
  327. package/esm2022/color/color.module.mjs +20 -0
  328. package/esm2022/color/color.property.mjs +52 -0
  329. package/esm2022/color/ng-nest-ui-color.mjs +5 -0
  330. package/esm2022/color/public-api.mjs +4 -0
  331. package/esm2022/color-picker/color-picker-portal.component.mjs +390 -0
  332. package/esm2022/color-picker/color-picker.component.mjs +210 -0
  333. package/esm2022/color-picker/color-picker.module.mjs +54 -0
  334. package/esm2022/color-picker/color-picker.property.mjs +47 -0
  335. package/esm2022/color-picker/ng-nest-ui-color-picker.mjs +5 -0
  336. package/esm2022/color-picker/public-api.mjs +5 -0
  337. package/esm2022/comment/comment-reply.component.mjs +41 -0
  338. package/esm2022/comment/comment.component.mjs +80 -0
  339. package/esm2022/comment/comment.module.mjs +55 -0
  340. package/esm2022/comment/comment.property.mjs +115 -0
  341. package/esm2022/comment/ng-nest-ui-comment.mjs +5 -0
  342. package/esm2022/comment/public-api.mjs +5 -0
  343. package/esm2022/container/aside.component.mjs +27 -0
  344. package/esm2022/container/container.component.mjs +35 -0
  345. package/esm2022/container/container.module.mjs +51 -0
  346. package/esm2022/container/container.property.mjs +115 -0
  347. package/esm2022/container/footer.component.mjs +42 -0
  348. package/esm2022/container/header.component.mjs +42 -0
  349. package/esm2022/container/main.component.mjs +20 -0
  350. package/esm2022/container/ng-nest-ui-container.mjs +5 -0
  351. package/esm2022/container/public-api.mjs +8 -0
  352. package/esm2022/core/animation/badge.mjs +39 -0
  353. package/esm2022/core/animation/connect.mjs +113 -0
  354. package/esm2022/core/animation/consts.mjs +7 -0
  355. package/esm2022/core/animation/drop.mjs +9 -0
  356. package/esm2022/core/animation/fade.mjs +14 -0
  357. package/esm2022/core/animation/move.mjs +175 -0
  358. package/esm2022/core/animation/opacity.mjs +9 -0
  359. package/esm2022/core/animation/public-api.mjs +9 -0
  360. package/esm2022/core/animation/slide.mjs +35 -0
  361. package/esm2022/core/config/config.mjs +3 -0
  362. package/esm2022/core/config/config.service.mjs +98 -0
  363. package/esm2022/core/config/public-api.mjs +3 -0
  364. package/esm2022/core/functions/chunk.mjs +14 -0
  365. package/esm2022/core/functions/clone-deep.mjs +12 -0
  366. package/esm2022/core/functions/convert.mjs +118 -0
  367. package/esm2022/core/functions/date.mjs +147 -0
  368. package/esm2022/core/functions/drop.mjs +8 -0
  369. package/esm2022/core/functions/flex.mjs +21 -0
  370. package/esm2022/core/functions/group-by.mjs +10 -0
  371. package/esm2022/core/functions/guid.mjs +10 -0
  372. package/esm2022/core/functions/has-in.mjs +4 -0
  373. package/esm2022/core/functions/order-by.mjs +52 -0
  374. package/esm2022/core/functions/parent-path.mjs +10 -0
  375. package/esm2022/core/functions/property.mjs +12 -0
  376. package/esm2022/core/functions/public-api.mjs +15 -0
  377. package/esm2022/core/functions/remove.mjs +15 -0
  378. package/esm2022/core/functions/resize.mjs +20 -0
  379. package/esm2022/core/interfaces/data.type.mjs +34 -0
  380. package/esm2022/core/interfaces/identify.type.mjs +4 -0
  381. package/esm2022/core/interfaces/index.mjs +2 -0
  382. package/esm2022/core/interfaces/layout.type.mjs +2 -0
  383. package/esm2022/core/interfaces/public-api.mjs +5 -0
  384. package/esm2022/core/interfaces/result-list.type.mjs +2 -0
  385. package/esm2022/core/ng-nest-ui-core.mjs +5 -0
  386. package/esm2022/core/public-api.mjs +8 -0
  387. package/esm2022/core/services/http.service.mjs +88 -0
  388. package/esm2022/core/services/preloading-strategy.service.mjs +26 -0
  389. package/esm2022/core/services/public-api.mjs +6 -0
  390. package/esm2022/core/services/repository.service.mjs +29 -0
  391. package/esm2022/core/services/reuse-strategy.service.mjs +73 -0
  392. package/esm2022/core/services/storage.service.mjs +98 -0
  393. package/esm2022/core/theme/index.mjs +2 -0
  394. package/esm2022/core/theme/public-api.mjs +3 -0
  395. package/esm2022/core/theme/theme.mjs +45 -0
  396. package/esm2022/core/theme/theme.service.mjs +199 -0
  397. package/esm2022/core/util/animation.mjs +47 -0
  398. package/esm2022/core/util/check.mjs +7 -0
  399. package/esm2022/core/util/computed-style.mjs +12 -0
  400. package/esm2022/core/util/host.mjs +13 -0
  401. package/esm2022/core/util/html.mjs +11 -0
  402. package/esm2022/core/util/index.mjs +2 -0
  403. package/esm2022/core/util/log.mjs +7 -0
  404. package/esm2022/core/util/option.mjs +15 -0
  405. package/esm2022/core/util/public-api.mjs +8 -0
  406. package/esm2022/crumb/crumb.component.mjs +53 -0
  407. package/esm2022/crumb/crumb.module.mjs +22 -0
  408. package/esm2022/crumb/crumb.property.mjs +51 -0
  409. package/esm2022/crumb/ng-nest-ui-crumb.mjs +5 -0
  410. package/esm2022/crumb/public-api.mjs +4 -0
  411. package/esm2022/date-picker/date-picker-portal.component.mjs +193 -0
  412. package/esm2022/date-picker/date-picker.component.mjs +323 -0
  413. package/esm2022/date-picker/date-picker.module.mjs +119 -0
  414. package/esm2022/date-picker/date-picker.property.mjs +813 -0
  415. package/esm2022/date-picker/date-quarter.pipe.mjs +20 -0
  416. package/esm2022/date-picker/date-range-portal.component.mjs +341 -0
  417. package/esm2022/date-picker/date-range.component.mjs +451 -0
  418. package/esm2022/date-picker/ng-nest-ui-date-picker.mjs +5 -0
  419. package/esm2022/date-picker/picker-date.component.mjs +333 -0
  420. package/esm2022/date-picker/picker-month.component.mjs +235 -0
  421. package/esm2022/date-picker/picker-quarter.component.mjs +238 -0
  422. package/esm2022/date-picker/picker-year.component.mjs +220 -0
  423. package/esm2022/date-picker/public-api.mjs +12 -0
  424. package/esm2022/description/description-item.component.mjs +27 -0
  425. package/esm2022/description/description.component.mjs +65 -0
  426. package/esm2022/description/description.module.mjs +22 -0
  427. package/esm2022/description/description.property.mjs +98 -0
  428. package/esm2022/description/ng-nest-ui-description.mjs +5 -0
  429. package/esm2022/description/public-api.mjs +5 -0
  430. package/esm2022/dialog/dialog-container.component.mjs +30 -0
  431. package/esm2022/dialog/dialog-portal.component.mjs +95 -0
  432. package/esm2022/dialog/dialog-portal.directives.mjs +125 -0
  433. package/esm2022/dialog/dialog-ref.mjs +98 -0
  434. package/esm2022/dialog/dialog.component.mjs +302 -0
  435. package/esm2022/dialog/dialog.module.mjs +110 -0
  436. package/esm2022/dialog/dialog.property.mjs +199 -0
  437. package/esm2022/dialog/dialog.service.mjs +124 -0
  438. package/esm2022/dialog/ng-nest-ui-dialog.mjs +5 -0
  439. package/esm2022/dialog/public-api.mjs +9 -0
  440. package/esm2022/doc/doc.component.mjs +18 -0
  441. package/esm2022/doc/doc.module.mjs +19 -0
  442. package/esm2022/doc/doc.property.mjs +7 -0
  443. package/esm2022/doc/ng-nest-ui-doc.mjs +5 -0
  444. package/esm2022/doc/public-api.mjs +4 -0
  445. package/esm2022/drawer/drawer-container.component.mjs +30 -0
  446. package/esm2022/drawer/drawer-portal.component.mjs +53 -0
  447. package/esm2022/drawer/drawer-portal.directives.mjs +60 -0
  448. package/esm2022/drawer/drawer-ref.mjs +17 -0
  449. package/esm2022/drawer/drawer.component.mjs +125 -0
  450. package/esm2022/drawer/drawer.module.mjs +56 -0
  451. package/esm2022/drawer/drawer.property.mjs +93 -0
  452. package/esm2022/drawer/drawer.service.mjs +66 -0
  453. package/esm2022/drawer/ng-nest-ui-drawer.mjs +5 -0
  454. package/esm2022/drawer/public-api.mjs +10 -0
  455. package/esm2022/dropdown/dropdown-portal.component.mjs +183 -0
  456. package/esm2022/dropdown/dropdown.component.mjs +200 -0
  457. package/esm2022/dropdown/dropdown.module.mjs +24 -0
  458. package/esm2022/dropdown/dropdown.property.mjs +94 -0
  459. package/esm2022/dropdown/ng-nest-ui-dropdown.mjs +5 -0
  460. package/esm2022/dropdown/public-api.mjs +5 -0
  461. package/esm2022/empty/empty.component.mjs +34 -0
  462. package/esm2022/empty/empty.module.mjs +23 -0
  463. package/esm2022/empty/empty.property.mjs +34 -0
  464. package/esm2022/empty/ng-nest-ui-empty.mjs +5 -0
  465. package/esm2022/empty/public-api.mjs +4 -0
  466. package/esm2022/examples/examples.component.mjs +18 -0
  467. package/esm2022/examples/examples.module.mjs +19 -0
  468. package/esm2022/examples/examples.property.mjs +7 -0
  469. package/esm2022/examples/ng-nest-ui-examples.mjs +5 -0
  470. package/esm2022/examples/public-api.mjs +4 -0
  471. package/esm2022/find/find.component.mjs +360 -0
  472. package/esm2022/find/find.module.mjs +65 -0
  473. package/esm2022/find/find.property.mjs +270 -0
  474. package/esm2022/find/ng-nest-ui-find.mjs +5 -0
  475. package/esm2022/find/public-api.mjs +4 -0
  476. package/esm2022/form/control.component.mjs +198 -0
  477. package/esm2022/form/form.component.mjs +119 -0
  478. package/esm2022/form/form.module.mjs +83 -0
  479. package/esm2022/form/form.property.mjs +202 -0
  480. package/esm2022/form/ng-nest-ui-form.mjs +5 -0
  481. package/esm2022/form/public-api.mjs +5 -0
  482. package/esm2022/highlight/highlight.component.mjs +89 -0
  483. package/esm2022/highlight/highlight.module.mjs +21 -0
  484. package/esm2022/highlight/highlight.property.mjs +42 -0
  485. package/esm2022/highlight/ng-nest-ui-highlight.mjs +5 -0
  486. package/esm2022/highlight/public-api.mjs +4 -0
  487. package/esm2022/i18n/i18n.directive.mjs +41 -0
  488. package/esm2022/i18n/i18n.module.mjs +18 -0
  489. package/esm2022/i18n/i18n.pipe.mjs +28 -0
  490. package/esm2022/i18n/i18n.property.mjs +9 -0
  491. package/esm2022/i18n/i18n.service.mjs +62 -0
  492. package/esm2022/i18n/languages/ar_EG.mjs +118 -0
  493. package/esm2022/i18n/languages/bg_BG.mjs +118 -0
  494. package/esm2022/i18n/languages/ca_ES.mjs +118 -0
  495. package/esm2022/i18n/languages/cs_CZ.mjs +118 -0
  496. package/esm2022/i18n/languages/da_DK.mjs +118 -0
  497. package/esm2022/i18n/languages/de_DE.mjs +118 -0
  498. package/esm2022/i18n/languages/el_GR.mjs +118 -0
  499. package/esm2022/i18n/languages/en_GB.mjs +172 -0
  500. package/esm2022/i18n/languages/en_US.mjs +172 -0
  501. package/esm2022/i18n/languages/es_ES.mjs +118 -0
  502. package/esm2022/i18n/languages/et_EE.mjs +118 -0
  503. package/esm2022/i18n/languages/fa_IR.mjs +118 -0
  504. package/esm2022/i18n/languages/fi_FI.mjs +118 -0
  505. package/esm2022/i18n/languages/fr_BE.mjs +118 -0
  506. package/esm2022/i18n/languages/fr_FR.mjs +118 -0
  507. package/esm2022/i18n/languages/he_IL.mjs +118 -0
  508. package/esm2022/i18n/languages/hi_IN.mjs +118 -0
  509. package/esm2022/i18n/languages/hr_HR.mjs +118 -0
  510. package/esm2022/i18n/languages/hu_HU.mjs +118 -0
  511. package/esm2022/i18n/languages/hy_AM.mjs +118 -0
  512. package/esm2022/i18n/languages/id_ID.mjs +118 -0
  513. package/esm2022/i18n/languages/is_IS.mjs +118 -0
  514. package/esm2022/i18n/languages/it_IT.mjs +118 -0
  515. package/esm2022/i18n/languages/ja_JP.mjs +118 -0
  516. package/esm2022/i18n/languages/ka_GE.mjs +118 -0
  517. package/esm2022/i18n/languages/kn_IN.mjs +118 -0
  518. package/esm2022/i18n/languages/ko_KR.mjs +118 -0
  519. package/esm2022/i18n/languages/ku_IQ.mjs +118 -0
  520. package/esm2022/i18n/languages/lv_LV.mjs +118 -0
  521. package/esm2022/i18n/languages/mn_MN.mjs +118 -0
  522. package/esm2022/i18n/languages/ms_MY.mjs +118 -0
  523. package/esm2022/i18n/languages/nb_NO.mjs +118 -0
  524. package/esm2022/i18n/languages/ne_NP.mjs +118 -0
  525. package/esm2022/i18n/languages/nl_BE.mjs +118 -0
  526. package/esm2022/i18n/languages/nl_NL.mjs +118 -0
  527. package/esm2022/i18n/languages/pl_PL.mjs +118 -0
  528. package/esm2022/i18n/languages/pt_BR.mjs +118 -0
  529. package/esm2022/i18n/languages/pt_PT.mjs +118 -0
  530. package/esm2022/i18n/languages/ro_RO.mjs +118 -0
  531. package/esm2022/i18n/languages/ru_RU.mjs +118 -0
  532. package/esm2022/i18n/languages/sk_SK.mjs +118 -0
  533. package/esm2022/i18n/languages/sl_SI.mjs +118 -0
  534. package/esm2022/i18n/languages/sr_RS.mjs +118 -0
  535. package/esm2022/i18n/languages/sv_SE.mjs +118 -0
  536. package/esm2022/i18n/languages/ta_IN.mjs +118 -0
  537. package/esm2022/i18n/languages/th_TH.mjs +118 -0
  538. package/esm2022/i18n/languages/tr_TR.mjs +118 -0
  539. package/esm2022/i18n/languages/uk_UA.mjs +118 -0
  540. package/esm2022/i18n/languages/vi_VN.mjs +118 -0
  541. package/esm2022/i18n/languages/zh_CN.mjs +171 -0
  542. package/esm2022/i18n/languages/zh_TW.mjs +171 -0
  543. package/esm2022/i18n/ng-nest-ui-i18n.mjs +5 -0
  544. package/esm2022/i18n/public-api.mjs +57 -0
  545. package/esm2022/icon/icon.component.mjs +186 -0
  546. package/esm2022/icon/icon.module.mjs +22 -0
  547. package/esm2022/icon/icon.property.mjs +46 -0
  548. package/esm2022/icon/icon.service.mjs +88 -0
  549. package/esm2022/icon/ng-nest-ui-icon.mjs +5 -0
  550. package/esm2022/icon/public-api.mjs +5 -0
  551. package/esm2022/image/image-group.component.mjs +22 -0
  552. package/esm2022/image/image-preview.component.mjs +141 -0
  553. package/esm2022/image/image.component.mjs +95 -0
  554. package/esm2022/image/image.module.mjs +28 -0
  555. package/esm2022/image/image.property.mjs +84 -0
  556. package/esm2022/image/ng-nest-ui-image.mjs +5 -0
  557. package/esm2022/image/public-api.mjs +6 -0
  558. package/esm2022/index.mjs +107 -0
  559. package/esm2022/inner/inner.component.mjs +31 -0
  560. package/esm2022/inner/inner.module.mjs +20 -0
  561. package/esm2022/inner/inner.property.mjs +29 -0
  562. package/esm2022/inner/ng-nest-ui-inner.mjs +5 -0
  563. package/esm2022/inner/public-api.mjs +4 -0
  564. package/esm2022/input/input-group.component.mjs +21 -0
  565. package/esm2022/input/input.component.mjs +195 -0
  566. package/esm2022/input/input.module.mjs +25 -0
  567. package/esm2022/input/input.property.mjs +211 -0
  568. package/esm2022/input/ng-nest-ui-input.mjs +5 -0
  569. package/esm2022/input/public-api.mjs +5 -0
  570. package/esm2022/input-number/input-number.component.mjs +124 -0
  571. package/esm2022/input-number/input-number.module.mjs +24 -0
  572. package/esm2022/input-number/input-number.property.mjs +91 -0
  573. package/esm2022/input-number/ng-nest-ui-input-number.mjs +5 -0
  574. package/esm2022/input-number/public-api.mjs +4 -0
  575. package/esm2022/keyword/keyword.directive.mjs +67 -0
  576. package/esm2022/keyword/keyword.module.mjs +20 -0
  577. package/esm2022/keyword/keyword.property.mjs +42 -0
  578. package/esm2022/keyword/ng-nest-ui-keyword.mjs +5 -0
  579. package/esm2022/keyword/public-api.mjs +4 -0
  580. package/esm2022/layout/col.component.mjs +76 -0
  581. package/esm2022/layout/layout.module.mjs +21 -0
  582. package/esm2022/layout/layout.property.mjs +90 -0
  583. package/esm2022/layout/ng-nest-ui-layout.mjs +5 -0
  584. package/esm2022/layout/public-api.mjs +5 -0
  585. package/esm2022/layout/row.component.mjs +46 -0
  586. package/esm2022/link/link.component.mjs +58 -0
  587. package/esm2022/link/link.module.mjs +23 -0
  588. package/esm2022/link/link.property.mjs +55 -0
  589. package/esm2022/link/ng-nest-ui-link.mjs +5 -0
  590. package/esm2022/link/public-api.mjs +4 -0
  591. package/esm2022/list/list-drop-group.directive.mjs +48 -0
  592. package/esm2022/list/list-option.component.mjs +50 -0
  593. package/esm2022/list/list.component.mjs +396 -0
  594. package/esm2022/list/list.module.mjs +67 -0
  595. package/esm2022/list/list.property.mjs +261 -0
  596. package/esm2022/list/ng-nest-ui-list.mjs +5 -0
  597. package/esm2022/list/public-api.mjs +6 -0
  598. package/esm2022/loading/loading.component.mjs +82 -0
  599. package/esm2022/loading/loading.module.mjs +23 -0
  600. package/esm2022/loading/loading.property.mjs +73 -0
  601. package/esm2022/loading/ng-nest-ui-loading.mjs +5 -0
  602. package/esm2022/loading/public-api.mjs +4 -0
  603. package/esm2022/menu/menu-node.component.mjs +35 -0
  604. package/esm2022/menu/menu.component.mjs +197 -0
  605. package/esm2022/menu/menu.module.mjs +25 -0
  606. package/esm2022/menu/menu.property.mjs +126 -0
  607. package/esm2022/menu/ng-nest-ui-menu.mjs +5 -0
  608. package/esm2022/menu/public-api.mjs +5 -0
  609. package/esm2022/message/message-ref.mjs +13 -0
  610. package/esm2022/message/message.component.mjs +47 -0
  611. package/esm2022/message/message.module.mjs +23 -0
  612. package/esm2022/message/message.property.mjs +9 -0
  613. package/esm2022/message/message.service.mjs +148 -0
  614. package/esm2022/message/ng-nest-ui-message.mjs +5 -0
  615. package/esm2022/message/public-api.mjs +6 -0
  616. package/esm2022/message-box/message-box.component.mjs +89 -0
  617. package/esm2022/message-box/message-box.module.mjs +58 -0
  618. package/esm2022/message-box/message-box.property.mjs +8 -0
  619. package/esm2022/message-box/message-box.service.mjs +90 -0
  620. package/esm2022/message-box/ng-nest-ui-message-box.mjs +5 -0
  621. package/esm2022/message-box/public-api.mjs +5 -0
  622. package/esm2022/ng-nest-ui.mjs +5 -0
  623. package/esm2022/notification/ng-nest-ui-notification.mjs +5 -0
  624. package/esm2022/notification/notification.component.mjs +49 -0
  625. package/esm2022/notification/notification.module.mjs +23 -0
  626. package/esm2022/notification/notification.property.mjs +8 -0
  627. package/esm2022/notification/notification.service.mjs +104 -0
  628. package/esm2022/notification/public-api.mjs +5 -0
  629. package/esm2022/outlet/ng-nest-ui-outlet.mjs +5 -0
  630. package/esm2022/outlet/outlet.directive.mjs +75 -0
  631. package/esm2022/outlet/outlet.module.mjs +19 -0
  632. package/esm2022/outlet/outlet.property.mjs +7 -0
  633. package/esm2022/outlet/public-api.mjs +4 -0
  634. package/esm2022/page-header/ng-nest-ui-page-header.mjs +5 -0
  635. package/esm2022/page-header/page-header.component.mjs +42 -0
  636. package/esm2022/page-header/page-header.module.mjs +21 -0
  637. package/esm2022/page-header/page-header.property.mjs +47 -0
  638. package/esm2022/page-header/public-api.mjs +4 -0
  639. package/esm2022/pagination/ng-nest-ui-pagination.mjs +5 -0
  640. package/esm2022/pagination/pagination.component.mjs +162 -0
  641. package/esm2022/pagination/pagination.module.mjs +26 -0
  642. package/esm2022/pagination/pagination.property.mjs +172 -0
  643. package/esm2022/pagination/public-api.mjs +4 -0
  644. package/esm2022/pattern/ng-nest-ui-pattern.mjs +5 -0
  645. package/esm2022/pattern/pattern.component.mjs +18 -0
  646. package/esm2022/pattern/pattern.module.mjs +19 -0
  647. package/esm2022/pattern/pattern.property.mjs +7 -0
  648. package/esm2022/pattern/public-api.mjs +4 -0
  649. package/esm2022/popconfirm/ng-nest-ui-popconfirm.mjs +5 -0
  650. package/esm2022/popconfirm/popconfirm.component.mjs +75 -0
  651. package/esm2022/popconfirm/popconfirm.module.mjs +24 -0
  652. package/esm2022/popconfirm/popconfirm.property.mjs +87 -0
  653. package/esm2022/popconfirm/public-api.mjs +4 -0
  654. package/esm2022/popover/ng-nest-ui-popover.mjs +5 -0
  655. package/esm2022/popover/popover-portal.component.mjs +104 -0
  656. package/esm2022/popover/popover.directive.mjs +194 -0
  657. package/esm2022/popover/popover.module.mjs +23 -0
  658. package/esm2022/popover/popover.property.mjs +85 -0
  659. package/esm2022/popover/public-api.mjs +5 -0
  660. package/esm2022/portal/ng-nest-ui-portal.mjs +5 -0
  661. package/esm2022/portal/portal.module.mjs +20 -0
  662. package/esm2022/portal/portal.property.mjs +24 -0
  663. package/esm2022/portal/portal.service.mjs +190 -0
  664. package/esm2022/portal/public-api.mjs +4 -0
  665. package/esm2022/progress/ng-nest-ui-progress.mjs +5 -0
  666. package/esm2022/progress/progress.component.mjs +222 -0
  667. package/esm2022/progress/progress.module.mjs +22 -0
  668. package/esm2022/progress/progress.property.mjs +115 -0
  669. package/esm2022/progress/public-api.mjs +4 -0
  670. package/esm2022/radio/ng-nest-ui-radio.mjs +5 -0
  671. package/esm2022/radio/public-api.mjs +4 -0
  672. package/esm2022/radio/radio.component.mjs +104 -0
  673. package/esm2022/radio/radio.module.mjs +25 -0
  674. package/esm2022/radio/radio.property.mjs +89 -0
  675. package/esm2022/rate/ng-nest-ui-rate.mjs +5 -0
  676. package/esm2022/rate/public-api.mjs +4 -0
  677. package/esm2022/rate/rate.component.mjs +118 -0
  678. package/esm2022/rate/rate.module.mjs +24 -0
  679. package/esm2022/rate/rate.property.mjs +50 -0
  680. package/esm2022/resizable/ng-nest-ui-resizable.mjs +5 -0
  681. package/esm2022/resizable/public-api.mjs +4 -0
  682. package/esm2022/resizable/resizable.directive.mjs +268 -0
  683. package/esm2022/resizable/resizable.module.mjs +19 -0
  684. package/esm2022/resizable/resizable.property.mjs +95 -0
  685. package/esm2022/result/ng-nest-ui-result.mjs +5 -0
  686. package/esm2022/result/public-api.mjs +4 -0
  687. package/esm2022/result/result.component.mjs +34 -0
  688. package/esm2022/result/result.module.mjs +22 -0
  689. package/esm2022/result/result.property.mjs +38 -0
  690. package/esm2022/ripple/ng-nest-ui-ripple.mjs +5 -0
  691. package/esm2022/ripple/public-api.mjs +4 -0
  692. package/esm2022/ripple/ripple.directive.mjs +70 -0
  693. package/esm2022/ripple/ripple.module.mjs +20 -0
  694. package/esm2022/ripple/ripple.property.mjs +34 -0
  695. package/esm2022/select/ng-nest-ui-select.mjs +5 -0
  696. package/esm2022/select/public-api.mjs +5 -0
  697. package/esm2022/select/select-portal.component.mjs +110 -0
  698. package/esm2022/select/select.component.mjs +604 -0
  699. package/esm2022/select/select.module.mjs +58 -0
  700. package/esm2022/select/select.property.mjs +129 -0
  701. package/esm2022/skeleton/ng-nest-ui-skeleton.mjs +5 -0
  702. package/esm2022/skeleton/public-api.mjs +4 -0
  703. package/esm2022/skeleton/skeleton.component.mjs +38 -0
  704. package/esm2022/skeleton/skeleton.module.mjs +21 -0
  705. package/esm2022/skeleton/skeleton.property.mjs +53 -0
  706. package/esm2022/slider/ng-nest-ui-slider.mjs +5 -0
  707. package/esm2022/slider/public-api.mjs +4 -0
  708. package/esm2022/slider/slider.component.mjs +248 -0
  709. package/esm2022/slider/slider.module.mjs +24 -0
  710. package/esm2022/slider/slider.property.mjs +117 -0
  711. package/esm2022/slider-select/ng-nest-ui-slider-select.mjs +5 -0
  712. package/esm2022/slider-select/public-api.mjs +4 -0
  713. package/esm2022/slider-select/slider-select.component.mjs +172 -0
  714. package/esm2022/slider-select/slider-select.module.mjs +24 -0
  715. package/esm2022/slider-select/slider-select.property.mjs +98 -0
  716. package/esm2022/statistic/countdown.component.mjs +69 -0
  717. package/esm2022/statistic/ng-nest-ui-statistic.mjs +5 -0
  718. package/esm2022/statistic/public-api.mjs +5 -0
  719. package/esm2022/statistic/statistic.component.mjs +34 -0
  720. package/esm2022/statistic/statistic.module.mjs +23 -0
  721. package/esm2022/statistic/statistic.property.mjs +74 -0
  722. package/esm2022/steps/ng-nest-ui-steps.mjs +5 -0
  723. package/esm2022/steps/public-api.mjs +4 -0
  724. package/esm2022/steps/steps.component.mjs +85 -0
  725. package/esm2022/steps/steps.module.mjs +22 -0
  726. package/esm2022/steps/steps.property.mjs +72 -0
  727. package/esm2022/switch/ng-nest-ui-switch.mjs +5 -0
  728. package/esm2022/switch/public-api.mjs +4 -0
  729. package/esm2022/switch/switch.component.mjs +57 -0
  730. package/esm2022/switch/switch.module.mjs +24 -0
  731. package/esm2022/switch/switch.property.mjs +57 -0
  732. package/esm2022/table/drag.directive.mjs +78 -0
  733. package/esm2022/table/ng-nest-ui-table.mjs +5 -0
  734. package/esm2022/table/public-api.mjs +8 -0
  735. package/esm2022/table/table-body.component.mjs +216 -0
  736. package/esm2022/table/table-foot.component.mjs +37 -0
  737. package/esm2022/table/table-head.component.mjs +186 -0
  738. package/esm2022/table/table.component.mjs +364 -0
  739. package/esm2022/table/table.module.mjs +84 -0
  740. package/esm2022/table/table.property.mjs +546 -0
  741. package/esm2022/tabs/ng-nest-ui-tabs.mjs +5 -0
  742. package/esm2022/tabs/public-api.mjs +7 -0
  743. package/esm2022/tabs/tab-content.component.mjs +23 -0
  744. package/esm2022/tabs/tab-link.directive.mjs +46 -0
  745. package/esm2022/tabs/tab.component.mjs +28 -0
  746. package/esm2022/tabs/tabs.component.mjs +195 -0
  747. package/esm2022/tabs/tabs.module.mjs +40 -0
  748. package/esm2022/tabs/tabs.property.mjs +149 -0
  749. package/esm2022/tag/ng-nest-ui-tag.mjs +5 -0
  750. package/esm2022/tag/public-api.mjs +4 -0
  751. package/esm2022/tag/tag.component.mjs +70 -0
  752. package/esm2022/tag/tag.module.mjs +22 -0
  753. package/esm2022/tag/tag.property.mjs +105 -0
  754. package/esm2022/text-retract/ng-nest-ui-text-retract.mjs +5 -0
  755. package/esm2022/text-retract/public-api.mjs +4 -0
  756. package/esm2022/text-retract/text-retract.component.mjs +63 -0
  757. package/esm2022/text-retract/text-retract.module.mjs +23 -0
  758. package/esm2022/text-retract/text-retract.property.mjs +32 -0
  759. package/esm2022/textarea/ng-nest-ui-textarea.mjs +5 -0
  760. package/esm2022/textarea/public-api.mjs +4 -0
  761. package/esm2022/textarea/textarea.component.mjs +104 -0
  762. package/esm2022/textarea/textarea.module.mjs +23 -0
  763. package/esm2022/textarea/textarea.property.mjs +75 -0
  764. package/esm2022/theme/ng-nest-ui-theme.mjs +5 -0
  765. package/esm2022/theme/public-api.mjs +4 -0
  766. package/esm2022/theme/theme.component.mjs +164 -0
  767. package/esm2022/theme/theme.module.mjs +53 -0
  768. package/esm2022/theme/theme.property.mjs +75 -0
  769. package/esm2022/time-ago/ng-nest-ui-time-ago.mjs +5 -0
  770. package/esm2022/time-ago/public-api.mjs +4 -0
  771. package/esm2022/time-ago/time-ago.module.mjs +19 -0
  772. package/esm2022/time-ago/time-ago.pipe.mjs +70 -0
  773. package/esm2022/time-ago/time-ago.property.mjs +7 -0
  774. package/esm2022/time-picker/ng-nest-ui-time-picker.mjs +5 -0
  775. package/esm2022/time-picker/public-api.mjs +6 -0
  776. package/esm2022/time-picker/time-picker-frame.component.mjs +325 -0
  777. package/esm2022/time-picker/time-picker-portal.component.mjs +77 -0
  778. package/esm2022/time-picker/time-picker.component.mjs +273 -0
  779. package/esm2022/time-picker/time-picker.module.mjs +59 -0
  780. package/esm2022/time-picker/time-picker.property.mjs +111 -0
  781. package/esm2022/time-range/ng-nest-ui-time-range.mjs +5 -0
  782. package/esm2022/time-range/public-api.mjs +4 -0
  783. package/esm2022/time-range/time-range.module.mjs +17 -0
  784. package/esm2022/time-range/time-range.pipe.mjs +45 -0
  785. package/esm2022/time-range/time-range.property.mjs +7 -0
  786. package/esm2022/timeline/ng-nest-ui-timeline.mjs +5 -0
  787. package/esm2022/timeline/public-api.mjs +4 -0
  788. package/esm2022/timeline/timeline.component.mjs +73 -0
  789. package/esm2022/timeline/timeline.module.mjs +24 -0
  790. package/esm2022/timeline/timeline.property.mjs +51 -0
  791. package/esm2022/tooltip/ng-nest-ui-tooltip.mjs +5 -0
  792. package/esm2022/tooltip/public-api.mjs +5 -0
  793. package/esm2022/tooltip/tooltip-portal.component.mjs +106 -0
  794. package/esm2022/tooltip/tooltip.directive.mjs +131 -0
  795. package/esm2022/tooltip/tooltip.module.mjs +22 -0
  796. package/esm2022/tooltip/tooltip.property.mjs +77 -0
  797. package/esm2022/transfer/ng-nest-ui-transfer.mjs +5 -0
  798. package/esm2022/transfer/public-api.mjs +4 -0
  799. package/esm2022/transfer/transfer.component.mjs +604 -0
  800. package/esm2022/transfer/transfer.module.mjs +70 -0
  801. package/esm2022/transfer/transfer.property.mjs +105 -0
  802. package/esm2022/tree/ng-nest-ui-tree.mjs +5 -0
  803. package/esm2022/tree/public-api.mjs +5 -0
  804. package/esm2022/tree/tree-node.component.mjs +274 -0
  805. package/esm2022/tree/tree.component.mjs +555 -0
  806. package/esm2022/tree/tree.module.mjs +55 -0
  807. package/esm2022/tree/tree.property.mjs +337 -0
  808. package/esm2022/tree/tree.service.mjs +78 -0
  809. package/esm2022/tree-file/ng-nest-ui-tree-file.mjs +5 -0
  810. package/esm2022/tree-file/public-api.mjs +4 -0
  811. package/esm2022/tree-file/tree-file.component.mjs +125 -0
  812. package/esm2022/tree-file/tree-file.module.mjs +26 -0
  813. package/esm2022/tree-file/tree-file.property.mjs +102 -0
  814. package/esm2022/tree-select/ng-nest-ui-tree-select.mjs +5 -0
  815. package/esm2022/tree-select/public-api.mjs +5 -0
  816. package/esm2022/tree-select/tree-select-portal.component.mjs +111 -0
  817. package/esm2022/tree-select/tree-select.component.mjs +634 -0
  818. package/esm2022/tree-select/tree-select.module.mjs +66 -0
  819. package/esm2022/tree-select/tree-select.property.mjs +160 -0
  820. package/esm2022/typography/ng-nest-ui-typography.mjs +5 -0
  821. package/esm2022/typography/public-api.mjs +4 -0
  822. package/esm2022/typography/typography.component.mjs +25 -0
  823. package/esm2022/typography/typography.module.mjs +20 -0
  824. package/esm2022/typography/typography.property.mjs +34 -0
  825. package/esm2022/upload/ng-nest-ui-upload.mjs +5 -0
  826. package/esm2022/upload/public-api.mjs +5 -0
  827. package/esm2022/upload/upload-portal.component.mjs +201 -0
  828. package/esm2022/upload/upload.component.mjs +254 -0
  829. package/esm2022/upload/upload.module.mjs +66 -0
  830. package/esm2022/upload/upload.property.mjs +114 -0
  831. package/examples/examples.component.d.ts +9 -9
  832. package/examples/examples.module.d.ts +8 -8
  833. package/examples/examples.property.d.ts +6 -6
  834. package/examples/index.d.ts +5 -5
  835. package/examples/public-api.d.ts +3 -3
  836. package/fesm2022/ng-nest-ui-affix.mjs +69 -0
  837. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -0
  838. package/fesm2022/ng-nest-ui-alert.mjs +245 -0
  839. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -0
  840. package/fesm2022/ng-nest-ui-anchor.mjs +257 -0
  841. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -0
  842. package/fesm2022/ng-nest-ui-api.mjs +47 -0
  843. package/fesm2022/ng-nest-ui-api.mjs.map +1 -0
  844. package/fesm2022/ng-nest-ui-auto-complete.mjs +488 -0
  845. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -0
  846. package/fesm2022/ng-nest-ui-avatar.mjs +222 -0
  847. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -0
  848. package/fesm2022/ng-nest-ui-back-top.mjs +182 -0
  849. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -0
  850. package/fesm2022/ng-nest-ui-badge.mjs +154 -0
  851. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -0
  852. package/fesm2022/ng-nest-ui-base-form.mjs +234 -0
  853. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -0
  854. package/fesm2022/ng-nest-ui-border.mjs +45 -0
  855. package/fesm2022/ng-nest-ui-border.mjs.map +1 -0
  856. package/fesm2022/ng-nest-ui-button.mjs +271 -0
  857. package/fesm2022/ng-nest-ui-button.mjs.map +1 -0
  858. package/fesm2022/ng-nest-ui-calendar.mjs +214 -0
  859. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -0
  860. package/fesm2022/ng-nest-ui-card.mjs +91 -0
  861. package/fesm2022/ng-nest-ui-card.mjs.map +1 -0
  862. package/fesm2022/ng-nest-ui-carousel.mjs +344 -0
  863. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -0
  864. package/fesm2022/ng-nest-ui-cascade.mjs +453 -0
  865. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -0
  866. package/fesm2022/ng-nest-ui-checkbox.mjs +229 -0
  867. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -0
  868. package/fesm2022/ng-nest-ui-collapse.mjs +209 -0
  869. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -0
  870. package/fesm2022/ng-nest-ui-color-picker.mjs +682 -0
  871. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -0
  872. package/fesm2022/ng-nest-ui-color.mjs +109 -0
  873. package/fesm2022/ng-nest-ui-color.mjs.map +1 -0
  874. package/fesm2022/ng-nest-ui-comment.mjs +275 -0
  875. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -0
  876. package/fesm2022/ng-nest-ui-container.mjs +300 -0
  877. package/fesm2022/ng-nest-ui-container.mjs.map +1 -0
  878. package/fesm2022/ng-nest-ui-core.mjs +1627 -0
  879. package/fesm2022/ng-nest-ui-core.mjs.map +1 -0
  880. package/fesm2022/ng-nest-ui-crumb.mjs +122 -0
  881. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -0
  882. package/fesm2022/ng-nest-ui-date-picker.mjs +3162 -0
  883. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -0
  884. package/fesm2022/ng-nest-ui-description.mjs +201 -0
  885. package/fesm2022/ng-nest-ui-description.mjs.map +1 -0
  886. package/fesm2022/ng-nest-ui-dialog.mjs +1039 -0
  887. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -0
  888. package/fesm2022/ng-nest-ui-doc.mjs +45 -0
  889. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -0
  890. package/fesm2022/ng-nest-ui-drawer.mjs +465 -0
  891. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -0
  892. package/fesm2022/ng-nest-ui-dropdown.mjs +484 -0
  893. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -0
  894. package/fesm2022/ng-nest-ui-empty.mjs +88 -0
  895. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -0
  896. package/fesm2022/ng-nest-ui-examples.mjs +45 -0
  897. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -0
  898. package/fesm2022/ng-nest-ui-find.mjs +689 -0
  899. package/fesm2022/ng-nest-ui-find.mjs.map +1 -0
  900. package/fesm2022/ng-nest-ui-form.mjs +583 -0
  901. package/fesm2022/ng-nest-ui-form.mjs.map +1 -0
  902. package/fesm2022/ng-nest-ui-highlight.mjs +147 -0
  903. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -0
  904. package/fesm2022/ng-nest-ui-i18n.mjs +6379 -0
  905. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -0
  906. package/fesm2022/ng-nest-ui-icon.mjs +330 -0
  907. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -0
  908. package/fesm2022/ng-nest-ui-image.mjs +347 -0
  909. package/fesm2022/ng-nest-ui-image.mjs.map +1 -0
  910. package/fesm2022/ng-nest-ui-inner.mjs +77 -0
  911. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -0
  912. package/fesm2022/ng-nest-ui-input-number.mjs +233 -0
  913. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -0
  914. package/fesm2022/ng-nest-ui-input.mjs +438 -0
  915. package/fesm2022/ng-nest-ui-input.mjs.map +1 -0
  916. package/fesm2022/ng-nest-ui-keyword.mjs +125 -0
  917. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -0
  918. package/fesm2022/ng-nest-ui-layout.mjs +223 -0
  919. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -0
  920. package/fesm2022/ng-nest-ui-link.mjs +132 -0
  921. package/fesm2022/ng-nest-ui-link.mjs.map +1 -0
  922. package/fesm2022/ng-nest-ui-list.mjs +796 -0
  923. package/fesm2022/ng-nest-ui-list.mjs.map +1 -0
  924. package/fesm2022/ng-nest-ui-loading.mjs +174 -0
  925. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -0
  926. package/fesm2022/ng-nest-ui-menu.mjs +369 -0
  927. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -0
  928. package/fesm2022/ng-nest-ui-message-box.mjs +237 -0
  929. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -0
  930. package/fesm2022/ng-nest-ui-message.mjs +231 -0
  931. package/fesm2022/ng-nest-ui-message.mjs.map +1 -0
  932. package/fesm2022/ng-nest-ui-notification.mjs +176 -0
  933. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -0
  934. package/fesm2022/ng-nest-ui-outlet.mjs +103 -0
  935. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -0
  936. package/fesm2022/ng-nest-ui-page-header.mjs +107 -0
  937. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -0
  938. package/fesm2022/ng-nest-ui-pagination.mjs +356 -0
  939. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -0
  940. package/fesm2022/ng-nest-ui-pattern.mjs +45 -0
  941. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -0
  942. package/fesm2022/ng-nest-ui-popconfirm.mjs +183 -0
  943. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -0
  944. package/fesm2022/ng-nest-ui-popover.mjs +392 -0
  945. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -0
  946. package/fesm2022/ng-nest-ui-portal.mjs +233 -0
  947. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -0
  948. package/fesm2022/ng-nest-ui-progress.mjs +355 -0
  949. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -0
  950. package/fesm2022/ng-nest-ui-radio.mjs +212 -0
  951. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -0
  952. package/fesm2022/ng-nest-ui-rate.mjs +186 -0
  953. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -0
  954. package/fesm2022/ng-nest-ui-resizable.mjs +378 -0
  955. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -0
  956. package/fesm2022/ng-nest-ui-result.mjs +90 -0
  957. package/fesm2022/ng-nest-ui-result.mjs.map +1 -0
  958. package/fesm2022/ng-nest-ui-ripple.mjs +120 -0
  959. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -0
  960. package/fesm2022/ng-nest-ui-select.mjs +883 -0
  961. package/fesm2022/ng-nest-ui-select.mjs.map +1 -0
  962. package/fesm2022/ng-nest-ui-skeleton.mjs +108 -0
  963. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -0
  964. package/fesm2022/ng-nest-ui-slider-select.mjs +287 -0
  965. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -0
  966. package/fesm2022/ng-nest-ui-slider.mjs +385 -0
  967. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -0
  968. package/fesm2022/ng-nest-ui-statistic.mjs +188 -0
  969. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -0
  970. package/fesm2022/ng-nest-ui-steps.mjs +175 -0
  971. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -0
  972. package/fesm2022/ng-nest-ui-switch.mjs +132 -0
  973. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -0
  974. package/fesm2022/ng-nest-ui-table.mjs +1461 -0
  975. package/fesm2022/ng-nest-ui-table.mjs.map +1 -0
  976. package/fesm2022/ng-nest-ui-tabs.mjs +455 -0
  977. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -0
  978. package/fesm2022/ng-nest-ui-tag.mjs +193 -0
  979. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -0
  980. package/fesm2022/ng-nest-ui-text-retract.mjs +114 -0
  981. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -0
  982. package/fesm2022/ng-nest-ui-textarea.mjs +196 -0
  983. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -0
  984. package/fesm2022/ng-nest-ui-theme.mjs +285 -0
  985. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -0
  986. package/fesm2022/ng-nest-ui-time-ago.mjs +97 -0
  987. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -0
  988. package/fesm2022/ng-nest-ui-time-picker.mjs +814 -0
  989. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -0
  990. package/fesm2022/ng-nest-ui-time-range.mjs +70 -0
  991. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -0
  992. package/fesm2022/ng-nest-ui-timeline.mjs +144 -0
  993. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -0
  994. package/fesm2022/ng-nest-ui-tooltip.mjs +322 -0
  995. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -0
  996. package/fesm2022/ng-nest-ui-transfer.mjs +772 -0
  997. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -0
  998. package/fesm2022/ng-nest-ui-tree-file.mjs +248 -0
  999. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -0
  1000. package/fesm2022/ng-nest-ui-tree-select.mjs +953 -0
  1001. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -0
  1002. package/fesm2022/ng-nest-ui-tree.mjs +1275 -0
  1003. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -0
  1004. package/fesm2022/ng-nest-ui-typography.mjs +76 -0
  1005. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -0
  1006. package/fesm2022/ng-nest-ui-upload.mjs +618 -0
  1007. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -0
  1008. package/fesm2022/ng-nest-ui.mjs +94 -0
  1009. package/find/find.component.d.ts +63 -63
  1010. package/find/find.module.d.ts +19 -19
  1011. package/find/find.property.d.ts +432 -432
  1012. package/find/index.d.ts +5 -5
  1013. package/find/public-api.d.ts +3 -3
  1014. package/form/control.component.d.ts +33 -33
  1015. package/form/form.component.d.ts +30 -30
  1016. package/form/form.module.d.ts +31 -31
  1017. package/form/form.property.d.ts +403 -403
  1018. package/form/index.d.ts +5 -5
  1019. package/form/public-api.d.ts +4 -4
  1020. package/highlight/highlight.component.d.ts +24 -24
  1021. package/highlight/highlight.module.d.ts +10 -10
  1022. package/highlight/highlight.property.d.ts +43 -43
  1023. package/highlight/index.d.ts +5 -5
  1024. package/highlight/public-api.d.ts +3 -3
  1025. package/i18n/i18n.directive.d.ts +15 -15
  1026. package/i18n/i18n.module.d.ts +8 -8
  1027. package/i18n/i18n.pipe.d.ts +12 -12
  1028. package/i18n/i18n.property.d.ts +185 -185
  1029. package/i18n/i18n.service.d.ts +16 -16
  1030. package/i18n/index.d.ts +5 -5
  1031. package/i18n/languages/ar_EG.d.ts +118 -118
  1032. package/i18n/languages/bg_BG.d.ts +118 -118
  1033. package/i18n/languages/ca_ES.d.ts +118 -118
  1034. package/i18n/languages/cs_CZ.d.ts +118 -118
  1035. package/i18n/languages/da_DK.d.ts +118 -118
  1036. package/i18n/languages/de_DE.d.ts +118 -118
  1037. package/i18n/languages/el_GR.d.ts +118 -118
  1038. package/i18n/languages/en_GB.d.ts +172 -172
  1039. package/i18n/languages/en_US.d.ts +172 -172
  1040. package/i18n/languages/es_ES.d.ts +118 -118
  1041. package/i18n/languages/et_EE.d.ts +118 -118
  1042. package/i18n/languages/fa_IR.d.ts +118 -118
  1043. package/i18n/languages/fi_FI.d.ts +118 -118
  1044. package/i18n/languages/fr_BE.d.ts +118 -118
  1045. package/i18n/languages/fr_FR.d.ts +118 -118
  1046. package/i18n/languages/he_IL.d.ts +118 -118
  1047. package/i18n/languages/hi_IN.d.ts +118 -118
  1048. package/i18n/languages/hr_HR.d.ts +118 -118
  1049. package/i18n/languages/hu_HU.d.ts +118 -118
  1050. package/i18n/languages/hy_AM.d.ts +118 -118
  1051. package/i18n/languages/id_ID.d.ts +118 -118
  1052. package/i18n/languages/is_IS.d.ts +118 -118
  1053. package/i18n/languages/it_IT.d.ts +118 -118
  1054. package/i18n/languages/ja_JP.d.ts +118 -118
  1055. package/i18n/languages/ka_GE.d.ts +118 -118
  1056. package/i18n/languages/kn_IN.d.ts +118 -118
  1057. package/i18n/languages/ko_KR.d.ts +118 -118
  1058. package/i18n/languages/ku_IQ.d.ts +118 -118
  1059. package/i18n/languages/lv_LV.d.ts +118 -118
  1060. package/i18n/languages/mn_MN.d.ts +118 -118
  1061. package/i18n/languages/ms_MY.d.ts +118 -118
  1062. package/i18n/languages/nb_NO.d.ts +118 -118
  1063. package/i18n/languages/ne_NP.d.ts +118 -118
  1064. package/i18n/languages/nl_BE.d.ts +118 -118
  1065. package/i18n/languages/nl_NL.d.ts +118 -118
  1066. package/i18n/languages/pl_PL.d.ts +118 -118
  1067. package/i18n/languages/pt_BR.d.ts +118 -118
  1068. package/i18n/languages/pt_PT.d.ts +118 -118
  1069. package/i18n/languages/ro_RO.d.ts +118 -118
  1070. package/i18n/languages/ru_RU.d.ts +118 -118
  1071. package/i18n/languages/sk_SK.d.ts +118 -118
  1072. package/i18n/languages/sl_SI.d.ts +118 -118
  1073. package/i18n/languages/sr_RS.d.ts +118 -118
  1074. package/i18n/languages/sv_SE.d.ts +118 -118
  1075. package/i18n/languages/ta_IN.d.ts +118 -118
  1076. package/i18n/languages/th_TH.d.ts +118 -118
  1077. package/i18n/languages/tr_TR.d.ts +118 -118
  1078. package/i18n/languages/uk_UA.d.ts +118 -118
  1079. package/i18n/languages/vi_VN.d.ts +118 -118
  1080. package/i18n/languages/zh_CN.d.ts +171 -171
  1081. package/i18n/languages/zh_TW.d.ts +171 -171
  1082. package/i18n/public-api.d.ts +56 -56
  1083. package/icon/icon.component.d.ts +37 -37
  1084. package/icon/icon.module.d.ts +9 -9
  1085. package/icon/icon.property.d.ts +51 -51
  1086. package/icon/icon.service.d.ts +30 -30
  1087. package/icon/index.d.ts +5 -5
  1088. package/icon/public-api.d.ts +4 -4
  1089. package/image/image-group.component.d.ts +9 -9
  1090. package/image/image-preview.component.d.ts +40 -40
  1091. package/image/image.component.d.ts +30 -30
  1092. package/image/image.module.d.ts +17 -17
  1093. package/image/image.property.d.ts +112 -112
  1094. package/image/index.d.ts +5 -5
  1095. package/image/public-api.d.ts +5 -5
  1096. package/index.d.ts +106 -106
  1097. package/inner/index.d.ts +5 -5
  1098. package/inner/inner.component.d.ts +16 -16
  1099. package/inner/inner.module.d.ts +9 -9
  1100. package/inner/inner.property.d.ts +20 -20
  1101. package/inner/public-api.d.ts +3 -3
  1102. package/input/index.d.ts +5 -5
  1103. package/input/input-group.component.d.ts +13 -13
  1104. package/input/input.component.d.ts +46 -46
  1105. package/input/input.module.d.ts +14 -14
  1106. package/input/input.property.d.ts +263 -263
  1107. package/input/public-api.d.ts +4 -4
  1108. package/input-number/index.d.ts +5 -5
  1109. package/input-number/input-number.component.d.ts +33 -33
  1110. package/input-number/input-number.module.d.ts +13 -13
  1111. package/input-number/input-number.property.d.ts +93 -93
  1112. package/input-number/public-api.d.ts +3 -3
  1113. package/keyword/index.d.ts +5 -5
  1114. package/keyword/keyword.directive.d.ts +19 -19
  1115. package/keyword/keyword.module.d.ts +9 -9
  1116. package/keyword/keyword.property.d.ts +40 -40
  1117. package/keyword/public-api.d.ts +3 -3
  1118. package/layout/col.component.d.ts +19 -19
  1119. package/layout/index.d.ts +5 -5
  1120. package/layout/layout.module.d.ts +10 -10
  1121. package/layout/layout.property.d.ts +78 -78
  1122. package/layout/public-api.d.ts +4 -4
  1123. package/layout/row.component.d.ts +15 -15
  1124. package/link/index.d.ts +5 -5
  1125. package/link/link.component.d.ts +21 -21
  1126. package/link/link.module.d.ts +12 -12
  1127. package/link/link.property.d.ts +60 -60
  1128. package/link/public-api.d.ts +3 -3
  1129. package/list/index.d.ts +5 -5
  1130. package/list/list-drop-group.directive.d.ts +15 -15
  1131. package/list/list-option.component.d.ts +20 -20
  1132. package/list/list.component.d.ts +71 -71
  1133. package/list/list.module.d.ts +21 -21
  1134. package/list/list.property.d.ts +290 -290
  1135. package/list/public-api.d.ts +5 -5
  1136. package/loading/index.d.ts +5 -5
  1137. package/loading/loading.component.d.ts +26 -26
  1138. package/loading/loading.module.d.ts +12 -12
  1139. package/loading/loading.property.d.ts +55 -55
  1140. package/loading/public-api.d.ts +3 -3
  1141. package/menu/index.d.ts +5 -5
  1142. package/menu/menu-node.component.d.ts +14 -14
  1143. package/menu/menu.component.d.ts +40 -40
  1144. package/menu/menu.module.d.ts +14 -14
  1145. package/menu/menu.property.d.ts +155 -155
  1146. package/menu/public-api.d.ts +4 -4
  1147. package/message/index.d.ts +5 -5
  1148. package/message/message-ref.d.ts +9 -8
  1149. package/message/message.component.d.ts +19 -19
  1150. package/message/message.module.d.ts +10 -10
  1151. package/message/message.property.d.ts +138 -138
  1152. package/message/message.service.d.ts +28 -28
  1153. package/message/public-api.d.ts +5 -5
  1154. package/message-box/index.d.ts +5 -5
  1155. package/message-box/message-box.component.d.ts +30 -30
  1156. package/message-box/message-box.module.d.ts +16 -16
  1157. package/message-box/message-box.property.d.ts +154 -154
  1158. package/message-box/message-box.service.d.ts +20 -20
  1159. package/message-box/public-api.d.ts +4 -4
  1160. package/notification/index.d.ts +5 -5
  1161. package/notification/notification.component.d.ts +19 -19
  1162. package/notification/notification.module.d.ts +10 -10
  1163. package/notification/notification.property.d.ts +96 -96
  1164. package/notification/notification.service.d.ts +22 -22
  1165. package/notification/public-api.d.ts +4 -4
  1166. package/outlet/index.d.ts +5 -5
  1167. package/outlet/outlet.directive.d.ts +15 -15
  1168. package/outlet/outlet.module.d.ts +8 -8
  1169. package/outlet/outlet.property.d.ts +6 -6
  1170. package/outlet/public-api.d.ts +3 -3
  1171. package/package.json +283 -461
  1172. package/page-header/index.d.ts +5 -5
  1173. package/page-header/page-header.component.d.ts +18 -18
  1174. package/page-header/page-header.module.d.ts +10 -10
  1175. package/page-header/page-header.property.d.ts +40 -40
  1176. package/page-header/public-api.d.ts +3 -3
  1177. package/pagination/index.d.ts +5 -5
  1178. package/pagination/pagination.component.d.ts +38 -38
  1179. package/pagination/pagination.module.d.ts +15 -15
  1180. package/pagination/pagination.property.d.ts +157 -157
  1181. package/pagination/public-api.d.ts +3 -3
  1182. package/pattern/index.d.ts +5 -5
  1183. package/pattern/pattern.component.d.ts +9 -9
  1184. package/pattern/pattern.module.d.ts +8 -8
  1185. package/pattern/pattern.property.d.ts +6 -6
  1186. package/pattern/public-api.d.ts +3 -3
  1187. package/popconfirm/index.d.ts +5 -5
  1188. package/popconfirm/popconfirm.component.d.ts +27 -27
  1189. package/popconfirm/popconfirm.module.d.ts +13 -13
  1190. package/popconfirm/popconfirm.property.d.ts +83 -83
  1191. package/popconfirm/public-api.d.ts +3 -3
  1192. package/popover/index.d.ts +5 -5
  1193. package/popover/popover-portal.component.d.ts +41 -41
  1194. package/popover/popover.directive.d.ts +40 -40
  1195. package/popover/popover.module.d.ts +12 -12
  1196. package/popover/popover.property.d.ts +84 -84
  1197. package/popover/public-api.d.ts +4 -4
  1198. package/portal/index.d.ts +5 -5
  1199. package/portal/portal.module.d.ts +8 -8
  1200. package/portal/portal.property.d.ts +76 -76
  1201. package/portal/portal.service.d.ts +81 -81
  1202. package/portal/public-api.d.ts +3 -3
  1203. package/progress/index.d.ts +5 -5
  1204. package/progress/progress.component.d.ts +48 -48
  1205. package/progress/progress.module.d.ts +11 -11
  1206. package/progress/progress.property.d.ts +138 -138
  1207. package/progress/public-api.d.ts +3 -3
  1208. package/radio/index.d.ts +5 -5
  1209. package/radio/public-api.d.ts +3 -3
  1210. package/radio/radio.component.d.ts +29 -29
  1211. package/radio/radio.module.d.ts +14 -14
  1212. package/radio/radio.property.d.ts +149 -149
  1213. package/rate/index.d.ts +5 -5
  1214. package/rate/public-api.d.ts +3 -3
  1215. package/rate/rate.component.d.ts +31 -31
  1216. package/rate/rate.module.d.ts +13 -13
  1217. package/rate/rate.property.d.ts +65 -65
  1218. package/resizable/index.d.ts +5 -5
  1219. package/resizable/public-api.d.ts +3 -3
  1220. package/resizable/resizable.directive.d.ts +54 -54
  1221. package/resizable/resizable.module.d.ts +8 -8
  1222. package/resizable/resizable.property.d.ts +97 -97
  1223. package/result/index.d.ts +5 -5
  1224. package/result/public-api.d.ts +3 -3
  1225. package/result/result.component.d.ts +16 -16
  1226. package/result/result.module.d.ts +11 -11
  1227. package/result/result.property.d.ts +40 -40
  1228. package/ripple/index.d.ts +5 -5
  1229. package/ripple/public-api.d.ts +3 -3
  1230. package/ripple/ripple.directive.d.ts +17 -17
  1231. package/ripple/ripple.module.d.ts +9 -9
  1232. package/ripple/ripple.property.d.ts +30 -30
  1233. package/select/index.d.ts +5 -5
  1234. package/select/public-api.d.ts +4 -4
  1235. package/select/select-portal.component.d.ts +61 -61
  1236. package/select/select.component.d.ts +103 -103
  1237. package/select/select.module.d.ts +18 -18
  1238. package/select/select.property.d.ts +181 -181
  1239. package/skeleton/index.d.ts +5 -5
  1240. package/skeleton/public-api.d.ts +3 -3
  1241. package/skeleton/skeleton.component.d.ts +16 -16
  1242. package/skeleton/skeleton.module.d.ts +10 -10
  1243. package/skeleton/skeleton.property.d.ts +107 -107
  1244. package/slider/index.d.ts +5 -5
  1245. package/slider/public-api.d.ts +3 -3
  1246. package/slider/slider.component.d.ts +56 -56
  1247. package/slider/slider.module.d.ts +13 -13
  1248. package/slider/slider.property.d.ts +107 -107
  1249. package/slider-select/index.d.ts +5 -5
  1250. package/slider-select/public-api.d.ts +3 -3
  1251. package/slider-select/slider-select.component.d.ts +44 -44
  1252. package/slider-select/slider-select.module.d.ts +13 -13
  1253. package/slider-select/slider-select.property.d.ts +104 -104
  1254. package/statistic/countdown.component.d.ts +23 -23
  1255. package/statistic/index.d.ts +5 -5
  1256. package/statistic/public-api.d.ts +4 -4
  1257. package/statistic/statistic.component.d.ts +14 -14
  1258. package/statistic/statistic.module.d.ts +12 -12
  1259. package/statistic/statistic.property.d.ts +64 -64
  1260. package/steps/index.d.ts +5 -5
  1261. package/steps/public-api.d.ts +3 -3
  1262. package/steps/steps.component.d.ts +25 -25
  1263. package/steps/steps.module.d.ts +11 -11
  1264. package/steps/steps.property.d.ts +77 -77
  1265. package/switch/index.d.ts +5 -5
  1266. package/switch/public-api.d.ts +3 -3
  1267. package/switch/switch.component.d.ts +19 -19
  1268. package/switch/switch.module.d.ts +13 -13
  1269. package/switch/switch.property.d.ts +67 -67
  1270. package/table/drag.directive.d.ts +27 -27
  1271. package/table/index.d.ts +5 -5
  1272. package/table/public-api.d.ts +7 -7
  1273. package/table/table-body.component.d.ts +40 -40
  1274. package/table/table-foot.component.d.ts +16 -16
  1275. package/table/table-head.component.d.ts +52 -52
  1276. package/table/table.component.d.ts +90 -90
  1277. package/table/table.module.d.ts +23 -23
  1278. package/table/table.property.d.ts +825 -825
  1279. package/tabs/index.d.ts +5 -5
  1280. package/tabs/public-api.d.ts +6 -6
  1281. package/tabs/tab-content.component.d.ts +12 -12
  1282. package/tabs/tab-link.directive.d.ts +17 -17
  1283. package/tabs/tab.component.d.ts +14 -14
  1284. package/tabs/tabs.component.d.ts +44 -44
  1285. package/tabs/tabs.module.d.ts +15 -15
  1286. package/tabs/tabs.property.d.ts +153 -153
  1287. package/tag/index.d.ts +5 -5
  1288. package/tag/public-api.d.ts +3 -3
  1289. package/tag/tag.component.d.ts +22 -22
  1290. package/tag/tag.module.d.ts +11 -11
  1291. package/tag/tag.property.d.ts +78 -78
  1292. package/text-retract/index.d.ts +5 -5
  1293. package/text-retract/public-api.d.ts +3 -3
  1294. package/text-retract/text-retract.component.d.ts +24 -24
  1295. package/text-retract/text-retract.module.d.ts +12 -12
  1296. package/text-retract/text-retract.property.d.ts +25 -25
  1297. package/textarea/index.d.ts +5 -5
  1298. package/textarea/public-api.d.ts +3 -3
  1299. package/textarea/textarea.component.d.ts +33 -33
  1300. package/textarea/textarea.module.d.ts +12 -12
  1301. package/textarea/textarea.property.d.ts +105 -105
  1302. package/theme/index.d.ts +5 -5
  1303. package/theme/public-api.d.ts +3 -3
  1304. package/theme/theme.component.d.ts +37 -37
  1305. package/theme/theme.module.d.ts +16 -16
  1306. package/theme/theme.property.d.ts +53 -53
  1307. package/time-ago/index.d.ts +5 -5
  1308. package/time-ago/public-api.d.ts +3 -3
  1309. package/time-ago/time-ago.module.d.ts +7 -7
  1310. package/time-ago/time-ago.pipe.d.ts +16 -16
  1311. package/time-ago/time-ago.property.d.ts +6 -6
  1312. package/time-picker/index.d.ts +5 -5
  1313. package/time-picker/public-api.d.ts +5 -5
  1314. package/time-picker/time-picker-frame.component.d.ts +61 -61
  1315. package/time-picker/time-picker-portal.component.d.ts +42 -42
  1316. package/time-picker/time-picker.component.d.ts +66 -66
  1317. package/time-picker/time-picker.module.d.ts +19 -19
  1318. package/time-picker/time-picker.property.d.ts +157 -157
  1319. package/time-range/index.d.ts +5 -5
  1320. package/time-range/public-api.d.ts +3 -3
  1321. package/time-range/time-range.module.d.ts +7 -7
  1322. package/time-range/time-range.pipe.d.ts +10 -10
  1323. package/time-range/time-range.property.d.ts +6 -6
  1324. package/timeline/index.d.ts +5 -5
  1325. package/timeline/public-api.d.ts +3 -3
  1326. package/timeline/timeline.component.d.ts +22 -22
  1327. package/timeline/timeline.module.d.ts +13 -13
  1328. package/timeline/timeline.property.d.ts +96 -96
  1329. package/tooltip/index.d.ts +5 -5
  1330. package/tooltip/public-api.d.ts +4 -4
  1331. package/tooltip/tooltip-portal.component.d.ts +38 -38
  1332. package/tooltip/tooltip.directive.d.ts +33 -33
  1333. package/tooltip/tooltip.module.d.ts +11 -11
  1334. package/tooltip/tooltip.property.d.ts +66 -66
  1335. package/transfer/index.d.ts +5 -5
  1336. package/transfer/public-api.d.ts +3 -3
  1337. package/transfer/transfer.component.d.ts +72 -72
  1338. package/transfer/transfer.module.d.ts +21 -21
  1339. package/transfer/transfer.property.d.ts +211 -211
  1340. package/tree/index.d.ts +5 -5
  1341. package/tree/public-api.d.ts +4 -4
  1342. package/tree/tree-node.component.d.ts +61 -61
  1343. package/tree/tree.component.d.ts +75 -75
  1344. package/tree/tree.module.d.ts +18 -18
  1345. package/tree/tree.property.d.ts +378 -378
  1346. package/tree/tree.service.d.ts +10 -10
  1347. package/tree-file/index.d.ts +5 -5
  1348. package/tree-file/public-api.d.ts +3 -3
  1349. package/tree-file/tree-file.component.d.ts +31 -31
  1350. package/tree-file/tree-file.module.d.ts +15 -15
  1351. package/tree-file/tree-file.property.d.ts +114 -114
  1352. package/tree-select/index.d.ts +5 -5
  1353. package/tree-select/public-api.d.ts +4 -4
  1354. package/tree-select/tree-select-portal.component.d.ts +63 -63
  1355. package/tree-select/tree-select.component.d.ts +101 -101
  1356. package/tree-select/tree-select.module.d.ts +20 -20
  1357. package/tree-select/tree-select.property.d.ts +207 -207
  1358. package/typography/index.d.ts +5 -5
  1359. package/typography/public-api.d.ts +3 -3
  1360. package/typography/typography.component.d.ts +12 -12
  1361. package/typography/typography.module.d.ts +9 -9
  1362. package/typography/typography.property.d.ts +25 -25
  1363. package/upload/index.d.ts +5 -5
  1364. package/upload/public-api.d.ts +4 -4
  1365. package/upload/upload-portal.component.d.ts +50 -50
  1366. package/upload/upload.component.d.ts +48 -48
  1367. package/upload/upload.module.d.ts +20 -20
  1368. package/upload/upload.property.d.ts +159 -159
  1369. package/esm2020/affix/affix.component.mjs +0 -17
  1370. package/esm2020/affix/affix.module.mjs +0 -19
  1371. package/esm2020/affix/affix.property.mjs +0 -33
  1372. package/esm2020/affix/ng-nest-ui-affix.mjs +0 -5
  1373. package/esm2020/affix/public-api.mjs +0 -4
  1374. package/esm2020/alert/alert.component.mjs +0 -75
  1375. package/esm2020/alert/alert.module.mjs +0 -24
  1376. package/esm2020/alert/alert.property.mjs +0 -147
  1377. package/esm2020/alert/ng-nest-ui-alert.mjs +0 -5
  1378. package/esm2020/alert/public-api.mjs +0 -4
  1379. package/esm2020/anchor/anchor-inner.component.mjs +0 -17
  1380. package/esm2020/anchor/anchor.component.mjs +0 -167
  1381. package/esm2020/anchor/anchor.module.mjs +0 -22
  1382. package/esm2020/anchor/anchor.property.mjs +0 -57
  1383. package/esm2020/anchor/ng-nest-ui-anchor.mjs +0 -5
  1384. package/esm2020/anchor/public-api.mjs +0 -5
  1385. package/esm2020/api/api.component.mjs +0 -19
  1386. package/esm2020/api/api.module.mjs +0 -18
  1387. package/esm2020/api/api.property.mjs +0 -7
  1388. package/esm2020/api/ng-nest-ui-api.mjs +0 -5
  1389. package/esm2020/api/public-api.mjs +0 -4
  1390. package/esm2020/auto-complete/auto-complete-portal.component.mjs +0 -85
  1391. package/esm2020/auto-complete/auto-complete.component.mjs +0 -305
  1392. package/esm2020/auto-complete/auto-complete.module.mjs +0 -25
  1393. package/esm2020/auto-complete/auto-complete.property.mjs +0 -85
  1394. package/esm2020/auto-complete/ng-nest-ui-auto-complete.mjs +0 -5
  1395. package/esm2020/auto-complete/public-api.mjs +0 -5
  1396. package/esm2020/avatar/avatar-group.component.mjs +0 -19
  1397. package/esm2020/avatar/avatar.component.mjs +0 -115
  1398. package/esm2020/avatar/avatar.module.mjs +0 -22
  1399. package/esm2020/avatar/avatar.property.mjs +0 -72
  1400. package/esm2020/avatar/ng-nest-ui-avatar.mjs +0 -5
  1401. package/esm2020/avatar/public-api.mjs +0 -5
  1402. package/esm2020/back-top/back-top.component.mjs +0 -121
  1403. package/esm2020/back-top/back-top.module.mjs +0 -21
  1404. package/esm2020/back-top/back-top.property.mjs +0 -42
  1405. package/esm2020/back-top/ng-nest-ui-back-top.mjs +0 -5
  1406. package/esm2020/back-top/public-api.mjs +0 -4
  1407. package/esm2020/badge/badge.component.mjs +0 -73
  1408. package/esm2020/badge/badge.module.mjs +0 -19
  1409. package/esm2020/badge/badge.property.mjs +0 -60
  1410. package/esm2020/badge/ng-nest-ui-badge.mjs +0 -5
  1411. package/esm2020/badge/public-api.mjs +0 -4
  1412. package/esm2020/base-form/base-form.component.mjs +0 -86
  1413. package/esm2020/base-form/base-form.module.mjs +0 -17
  1414. package/esm2020/base-form/base-form.property.mjs +0 -132
  1415. package/esm2020/base-form/ng-nest-ui-base-form.mjs +0 -5
  1416. package/esm2020/base-form/public-api.mjs +0 -4
  1417. package/esm2020/border/border.component.mjs +0 -19
  1418. package/esm2020/border/border.module.mjs +0 -16
  1419. package/esm2020/border/border.property.mjs +0 -7
  1420. package/esm2020/border/ng-nest-ui-border.mjs +0 -5
  1421. package/esm2020/border/public-api.mjs +0 -4
  1422. package/esm2020/button/button.component.mjs +0 -79
  1423. package/esm2020/button/button.module.mjs +0 -22
  1424. package/esm2020/button/button.property.mjs +0 -136
  1425. package/esm2020/button/buttons.component.mjs +0 -41
  1426. package/esm2020/button/ng-nest-ui-button.mjs +0 -5
  1427. package/esm2020/button/public-api.mjs +0 -5
  1428. package/esm2020/calendar/calendar.component.mjs +0 -134
  1429. package/esm2020/calendar/calendar.module.mjs +0 -26
  1430. package/esm2020/calendar/calendar.property.mjs +0 -56
  1431. package/esm2020/calendar/ng-nest-ui-calendar.mjs +0 -5
  1432. package/esm2020/calendar/public-api.mjs +0 -4
  1433. package/esm2020/card/card.component.mjs +0 -29
  1434. package/esm2020/card/card.module.mjs +0 -21
  1435. package/esm2020/card/card.property.mjs +0 -42
  1436. package/esm2020/card/ng-nest-ui-card.mjs +0 -5
  1437. package/esm2020/card/public-api.mjs +0 -4
  1438. package/esm2020/carousel/carousel-panel.component.mjs +0 -132
  1439. package/esm2020/carousel/carousel.component.mjs +0 -89
  1440. package/esm2020/carousel/carousel.module.mjs +0 -21
  1441. package/esm2020/carousel/carousel.property.mjs +0 -112
  1442. package/esm2020/carousel/ng-nest-ui-carousel.mjs +0 -5
  1443. package/esm2020/carousel/public-api.mjs +0 -5
  1444. package/esm2020/cascade/cascade-portal.component.mjs +0 -124
  1445. package/esm2020/cascade/cascade.component.mjs +0 -238
  1446. package/esm2020/cascade/cascade.module.mjs +0 -25
  1447. package/esm2020/cascade/cascade.property.mjs +0 -78
  1448. package/esm2020/cascade/ng-nest-ui-cascade.mjs +0 -5
  1449. package/esm2020/cascade/public-api.mjs +0 -5
  1450. package/esm2020/checkbox/checkbox.component.mjs +0 -121
  1451. package/esm2020/checkbox/checkbox.module.mjs +0 -24
  1452. package/esm2020/checkbox/checkbox.property.mjs +0 -87
  1453. package/esm2020/checkbox/ng-nest-ui-checkbox.mjs +0 -5
  1454. package/esm2020/checkbox/public-api.mjs +0 -4
  1455. package/esm2020/collapse/collapse-panel.component.mjs +0 -48
  1456. package/esm2020/collapse/collapse.component.mjs +0 -47
  1457. package/esm2020/collapse/collapse.module.mjs +0 -22
  1458. package/esm2020/collapse/collapse.property.mjs +0 -99
  1459. package/esm2020/collapse/ng-nest-ui-collapse.mjs +0 -5
  1460. package/esm2020/collapse/public-api.mjs +0 -5
  1461. package/esm2020/color/color.component.mjs +0 -41
  1462. package/esm2020/color/color.module.mjs +0 -19
  1463. package/esm2020/color/color.property.mjs +0 -51
  1464. package/esm2020/color/ng-nest-ui-color.mjs +0 -5
  1465. package/esm2020/color/public-api.mjs +0 -4
  1466. package/esm2020/color-picker/color-picker-portal.component.mjs +0 -389
  1467. package/esm2020/color-picker/color-picker.component.mjs +0 -209
  1468. package/esm2020/color-picker/color-picker.module.mjs +0 -53
  1469. package/esm2020/color-picker/color-picker.property.mjs +0 -46
  1470. package/esm2020/color-picker/ng-nest-ui-color-picker.mjs +0 -5
  1471. package/esm2020/color-picker/public-api.mjs +0 -5
  1472. package/esm2020/comment/comment-reply.component.mjs +0 -40
  1473. package/esm2020/comment/comment.component.mjs +0 -79
  1474. package/esm2020/comment/comment.module.mjs +0 -54
  1475. package/esm2020/comment/comment.property.mjs +0 -113
  1476. package/esm2020/comment/ng-nest-ui-comment.mjs +0 -5
  1477. package/esm2020/comment/public-api.mjs +0 -5
  1478. package/esm2020/container/aside.component.mjs +0 -26
  1479. package/esm2020/container/container.component.mjs +0 -34
  1480. package/esm2020/container/container.module.mjs +0 -50
  1481. package/esm2020/container/container.property.mjs +0 -111
  1482. package/esm2020/container/footer.component.mjs +0 -41
  1483. package/esm2020/container/header.component.mjs +0 -41
  1484. package/esm2020/container/main.component.mjs +0 -19
  1485. package/esm2020/container/ng-nest-ui-container.mjs +0 -5
  1486. package/esm2020/container/public-api.mjs +0 -8
  1487. package/esm2020/core/animation/badge.mjs +0 -39
  1488. package/esm2020/core/animation/connect.mjs +0 -113
  1489. package/esm2020/core/animation/consts.mjs +0 -7
  1490. package/esm2020/core/animation/drop.mjs +0 -9
  1491. package/esm2020/core/animation/fade.mjs +0 -14
  1492. package/esm2020/core/animation/move.mjs +0 -175
  1493. package/esm2020/core/animation/opacity.mjs +0 -9
  1494. package/esm2020/core/animation/public-api.mjs +0 -9
  1495. package/esm2020/core/animation/slide.mjs +0 -35
  1496. package/esm2020/core/config/config.mjs +0 -3
  1497. package/esm2020/core/config/config.service.mjs +0 -97
  1498. package/esm2020/core/config/public-api.mjs +0 -3
  1499. package/esm2020/core/functions/chunk.mjs +0 -14
  1500. package/esm2020/core/functions/clone-deep.mjs +0 -12
  1501. package/esm2020/core/functions/convert.mjs +0 -118
  1502. package/esm2020/core/functions/date.mjs +0 -147
  1503. package/esm2020/core/functions/drop.mjs +0 -8
  1504. package/esm2020/core/functions/flex.mjs +0 -21
  1505. package/esm2020/core/functions/group-by.mjs +0 -10
  1506. package/esm2020/core/functions/guid.mjs +0 -10
  1507. package/esm2020/core/functions/has-in.mjs +0 -4
  1508. package/esm2020/core/functions/order-by.mjs +0 -52
  1509. package/esm2020/core/functions/parent-path.mjs +0 -10
  1510. package/esm2020/core/functions/property.mjs +0 -12
  1511. package/esm2020/core/functions/public-api.mjs +0 -15
  1512. package/esm2020/core/functions/remove.mjs +0 -15
  1513. package/esm2020/core/functions/resize.mjs +0 -20
  1514. package/esm2020/core/interfaces/data.type.mjs +0 -34
  1515. package/esm2020/core/interfaces/identify.type.mjs +0 -4
  1516. package/esm2020/core/interfaces/index.mjs +0 -2
  1517. package/esm2020/core/interfaces/layout.type.mjs +0 -2
  1518. package/esm2020/core/interfaces/public-api.mjs +0 -5
  1519. package/esm2020/core/interfaces/result-list.type.mjs +0 -2
  1520. package/esm2020/core/ng-nest-ui-core.mjs +0 -5
  1521. package/esm2020/core/public-api.mjs +0 -8
  1522. package/esm2020/core/services/http.service.mjs +0 -87
  1523. package/esm2020/core/services/preloading-strategy.service.mjs +0 -25
  1524. package/esm2020/core/services/public-api.mjs +0 -6
  1525. package/esm2020/core/services/repository.service.mjs +0 -29
  1526. package/esm2020/core/services/reuse-strategy.service.mjs +0 -72
  1527. package/esm2020/core/services/storage.service.mjs +0 -91
  1528. package/esm2020/core/theme/index.mjs +0 -2
  1529. package/esm2020/core/theme/public-api.mjs +0 -3
  1530. package/esm2020/core/theme/theme.mjs +0 -45
  1531. package/esm2020/core/theme/theme.service.mjs +0 -198
  1532. package/esm2020/core/util/animation.mjs +0 -47
  1533. package/esm2020/core/util/check.mjs +0 -7
  1534. package/esm2020/core/util/computed-style.mjs +0 -12
  1535. package/esm2020/core/util/host.mjs +0 -13
  1536. package/esm2020/core/util/html.mjs +0 -11
  1537. package/esm2020/core/util/index.mjs +0 -2
  1538. package/esm2020/core/util/log.mjs +0 -7
  1539. package/esm2020/core/util/option.mjs +0 -15
  1540. package/esm2020/core/util/public-api.mjs +0 -8
  1541. package/esm2020/crumb/crumb.component.mjs +0 -52
  1542. package/esm2020/crumb/crumb.module.mjs +0 -21
  1543. package/esm2020/crumb/crumb.property.mjs +0 -50
  1544. package/esm2020/crumb/ng-nest-ui-crumb.mjs +0 -5
  1545. package/esm2020/crumb/public-api.mjs +0 -4
  1546. package/esm2020/date-picker/date-picker-portal.component.mjs +0 -192
  1547. package/esm2020/date-picker/date-picker.component.mjs +0 -322
  1548. package/esm2020/date-picker/date-picker.module.mjs +0 -118
  1549. package/esm2020/date-picker/date-picker.property.mjs +0 -807
  1550. package/esm2020/date-picker/date-quarter.pipe.mjs +0 -19
  1551. package/esm2020/date-picker/date-range-portal.component.mjs +0 -340
  1552. package/esm2020/date-picker/date-range.component.mjs +0 -450
  1553. package/esm2020/date-picker/ng-nest-ui-date-picker.mjs +0 -5
  1554. package/esm2020/date-picker/picker-date.component.mjs +0 -332
  1555. package/esm2020/date-picker/picker-month.component.mjs +0 -234
  1556. package/esm2020/date-picker/picker-quarter.component.mjs +0 -237
  1557. package/esm2020/date-picker/picker-year.component.mjs +0 -219
  1558. package/esm2020/date-picker/public-api.mjs +0 -12
  1559. package/esm2020/description/description-item.component.mjs +0 -26
  1560. package/esm2020/description/description.component.mjs +0 -64
  1561. package/esm2020/description/description.module.mjs +0 -21
  1562. package/esm2020/description/description.property.mjs +0 -96
  1563. package/esm2020/description/ng-nest-ui-description.mjs +0 -5
  1564. package/esm2020/description/public-api.mjs +0 -5
  1565. package/esm2020/dialog/dialog-container.component.mjs +0 -29
  1566. package/esm2020/dialog/dialog-portal.component.mjs +0 -94
  1567. package/esm2020/dialog/dialog-portal.directives.mjs +0 -119
  1568. package/esm2020/dialog/dialog-ref.mjs +0 -98
  1569. package/esm2020/dialog/dialog.component.mjs +0 -301
  1570. package/esm2020/dialog/dialog.module.mjs +0 -109
  1571. package/esm2020/dialog/dialog.property.mjs +0 -197
  1572. package/esm2020/dialog/dialog.service.mjs +0 -123
  1573. package/esm2020/dialog/ng-nest-ui-dialog.mjs +0 -5
  1574. package/esm2020/dialog/public-api.mjs +0 -9
  1575. package/esm2020/doc/doc.component.mjs +0 -17
  1576. package/esm2020/doc/doc.module.mjs +0 -18
  1577. package/esm2020/doc/doc.property.mjs +0 -7
  1578. package/esm2020/doc/ng-nest-ui-doc.mjs +0 -5
  1579. package/esm2020/doc/public-api.mjs +0 -4
  1580. package/esm2020/drawer/drawer-container.component.mjs +0 -29
  1581. package/esm2020/drawer/drawer-portal.component.mjs +0 -52
  1582. package/esm2020/drawer/drawer-portal.directives.mjs +0 -57
  1583. package/esm2020/drawer/drawer-ref.mjs +0 -17
  1584. package/esm2020/drawer/drawer.component.mjs +0 -124
  1585. package/esm2020/drawer/drawer.module.mjs +0 -55
  1586. package/esm2020/drawer/drawer.property.mjs +0 -91
  1587. package/esm2020/drawer/drawer.service.mjs +0 -65
  1588. package/esm2020/drawer/ng-nest-ui-drawer.mjs +0 -5
  1589. package/esm2020/drawer/public-api.mjs +0 -10
  1590. package/esm2020/dropdown/dropdown-portal.component.mjs +0 -182
  1591. package/esm2020/dropdown/dropdown.component.mjs +0 -199
  1592. package/esm2020/dropdown/dropdown.module.mjs +0 -23
  1593. package/esm2020/dropdown/dropdown.property.mjs +0 -93
  1594. package/esm2020/dropdown/ng-nest-ui-dropdown.mjs +0 -5
  1595. package/esm2020/dropdown/public-api.mjs +0 -5
  1596. package/esm2020/empty/empty.component.mjs +0 -33
  1597. package/esm2020/empty/empty.module.mjs +0 -22
  1598. package/esm2020/empty/empty.property.mjs +0 -33
  1599. package/esm2020/empty/ng-nest-ui-empty.mjs +0 -5
  1600. package/esm2020/empty/public-api.mjs +0 -4
  1601. package/esm2020/examples/examples.component.mjs +0 -17
  1602. package/esm2020/examples/examples.module.mjs +0 -18
  1603. package/esm2020/examples/examples.property.mjs +0 -7
  1604. package/esm2020/examples/ng-nest-ui-examples.mjs +0 -5
  1605. package/esm2020/examples/public-api.mjs +0 -4
  1606. package/esm2020/find/find.component.mjs +0 -359
  1607. package/esm2020/find/find.module.mjs +0 -64
  1608. package/esm2020/find/find.property.mjs +0 -269
  1609. package/esm2020/find/ng-nest-ui-find.mjs +0 -5
  1610. package/esm2020/find/public-api.mjs +0 -4
  1611. package/esm2020/form/control.component.mjs +0 -197
  1612. package/esm2020/form/form.component.mjs +0 -118
  1613. package/esm2020/form/form.module.mjs +0 -82
  1614. package/esm2020/form/form.property.mjs +0 -200
  1615. package/esm2020/form/ng-nest-ui-form.mjs +0 -5
  1616. package/esm2020/form/public-api.mjs +0 -5
  1617. package/esm2020/highlight/highlight.component.mjs +0 -88
  1618. package/esm2020/highlight/highlight.module.mjs +0 -20
  1619. package/esm2020/highlight/highlight.property.mjs +0 -41
  1620. package/esm2020/highlight/ng-nest-ui-highlight.mjs +0 -5
  1621. package/esm2020/highlight/public-api.mjs +0 -4
  1622. package/esm2020/i18n/i18n.directive.mjs +0 -40
  1623. package/esm2020/i18n/i18n.module.mjs +0 -17
  1624. package/esm2020/i18n/i18n.pipe.mjs +0 -27
  1625. package/esm2020/i18n/i18n.property.mjs +0 -9
  1626. package/esm2020/i18n/i18n.service.mjs +0 -61
  1627. package/esm2020/i18n/languages/ar_EG.mjs +0 -118
  1628. package/esm2020/i18n/languages/bg_BG.mjs +0 -118
  1629. package/esm2020/i18n/languages/ca_ES.mjs +0 -118
  1630. package/esm2020/i18n/languages/cs_CZ.mjs +0 -118
  1631. package/esm2020/i18n/languages/da_DK.mjs +0 -118
  1632. package/esm2020/i18n/languages/de_DE.mjs +0 -118
  1633. package/esm2020/i18n/languages/el_GR.mjs +0 -118
  1634. package/esm2020/i18n/languages/en_GB.mjs +0 -172
  1635. package/esm2020/i18n/languages/en_US.mjs +0 -172
  1636. package/esm2020/i18n/languages/es_ES.mjs +0 -118
  1637. package/esm2020/i18n/languages/et_EE.mjs +0 -118
  1638. package/esm2020/i18n/languages/fa_IR.mjs +0 -118
  1639. package/esm2020/i18n/languages/fi_FI.mjs +0 -118
  1640. package/esm2020/i18n/languages/fr_BE.mjs +0 -118
  1641. package/esm2020/i18n/languages/fr_FR.mjs +0 -118
  1642. package/esm2020/i18n/languages/he_IL.mjs +0 -118
  1643. package/esm2020/i18n/languages/hi_IN.mjs +0 -118
  1644. package/esm2020/i18n/languages/hr_HR.mjs +0 -118
  1645. package/esm2020/i18n/languages/hu_HU.mjs +0 -118
  1646. package/esm2020/i18n/languages/hy_AM.mjs +0 -118
  1647. package/esm2020/i18n/languages/id_ID.mjs +0 -118
  1648. package/esm2020/i18n/languages/is_IS.mjs +0 -118
  1649. package/esm2020/i18n/languages/it_IT.mjs +0 -118
  1650. package/esm2020/i18n/languages/ja_JP.mjs +0 -118
  1651. package/esm2020/i18n/languages/ka_GE.mjs +0 -118
  1652. package/esm2020/i18n/languages/kn_IN.mjs +0 -118
  1653. package/esm2020/i18n/languages/ko_KR.mjs +0 -118
  1654. package/esm2020/i18n/languages/ku_IQ.mjs +0 -118
  1655. package/esm2020/i18n/languages/lv_LV.mjs +0 -118
  1656. package/esm2020/i18n/languages/mn_MN.mjs +0 -118
  1657. package/esm2020/i18n/languages/ms_MY.mjs +0 -118
  1658. package/esm2020/i18n/languages/nb_NO.mjs +0 -118
  1659. package/esm2020/i18n/languages/ne_NP.mjs +0 -118
  1660. package/esm2020/i18n/languages/nl_BE.mjs +0 -118
  1661. package/esm2020/i18n/languages/nl_NL.mjs +0 -118
  1662. package/esm2020/i18n/languages/pl_PL.mjs +0 -118
  1663. package/esm2020/i18n/languages/pt_BR.mjs +0 -118
  1664. package/esm2020/i18n/languages/pt_PT.mjs +0 -118
  1665. package/esm2020/i18n/languages/ro_RO.mjs +0 -118
  1666. package/esm2020/i18n/languages/ru_RU.mjs +0 -118
  1667. package/esm2020/i18n/languages/sk_SK.mjs +0 -118
  1668. package/esm2020/i18n/languages/sl_SI.mjs +0 -118
  1669. package/esm2020/i18n/languages/sr_RS.mjs +0 -118
  1670. package/esm2020/i18n/languages/sv_SE.mjs +0 -118
  1671. package/esm2020/i18n/languages/ta_IN.mjs +0 -118
  1672. package/esm2020/i18n/languages/th_TH.mjs +0 -118
  1673. package/esm2020/i18n/languages/tr_TR.mjs +0 -118
  1674. package/esm2020/i18n/languages/uk_UA.mjs +0 -118
  1675. package/esm2020/i18n/languages/vi_VN.mjs +0 -118
  1676. package/esm2020/i18n/languages/zh_CN.mjs +0 -171
  1677. package/esm2020/i18n/languages/zh_TW.mjs +0 -171
  1678. package/esm2020/i18n/ng-nest-ui-i18n.mjs +0 -5
  1679. package/esm2020/i18n/public-api.mjs +0 -57
  1680. package/esm2020/icon/icon.component.mjs +0 -185
  1681. package/esm2020/icon/icon.module.mjs +0 -21
  1682. package/esm2020/icon/icon.property.mjs +0 -45
  1683. package/esm2020/icon/icon.service.mjs +0 -87
  1684. package/esm2020/icon/ng-nest-ui-icon.mjs +0 -5
  1685. package/esm2020/icon/public-api.mjs +0 -5
  1686. package/esm2020/image/image-group.component.mjs +0 -21
  1687. package/esm2020/image/image-preview.component.mjs +0 -140
  1688. package/esm2020/image/image.component.mjs +0 -94
  1689. package/esm2020/image/image.module.mjs +0 -27
  1690. package/esm2020/image/image.property.mjs +0 -82
  1691. package/esm2020/image/ng-nest-ui-image.mjs +0 -5
  1692. package/esm2020/image/public-api.mjs +0 -6
  1693. package/esm2020/index.mjs +0 -107
  1694. package/esm2020/inner/inner.component.mjs +0 -30
  1695. package/esm2020/inner/inner.module.mjs +0 -19
  1696. package/esm2020/inner/inner.property.mjs +0 -28
  1697. package/esm2020/inner/ng-nest-ui-inner.mjs +0 -5
  1698. package/esm2020/inner/public-api.mjs +0 -4
  1699. package/esm2020/input/input-group.component.mjs +0 -20
  1700. package/esm2020/input/input.component.mjs +0 -194
  1701. package/esm2020/input/input.module.mjs +0 -24
  1702. package/esm2020/input/input.property.mjs +0 -209
  1703. package/esm2020/input/ng-nest-ui-input.mjs +0 -5
  1704. package/esm2020/input/public-api.mjs +0 -5
  1705. package/esm2020/input-number/input-number.component.mjs +0 -123
  1706. package/esm2020/input-number/input-number.module.mjs +0 -23
  1707. package/esm2020/input-number/input-number.property.mjs +0 -90
  1708. package/esm2020/input-number/ng-nest-ui-input-number.mjs +0 -5
  1709. package/esm2020/input-number/public-api.mjs +0 -4
  1710. package/esm2020/keyword/keyword.directive.mjs +0 -66
  1711. package/esm2020/keyword/keyword.module.mjs +0 -19
  1712. package/esm2020/keyword/keyword.property.mjs +0 -41
  1713. package/esm2020/keyword/ng-nest-ui-keyword.mjs +0 -5
  1714. package/esm2020/keyword/public-api.mjs +0 -4
  1715. package/esm2020/layout/col.component.mjs +0 -75
  1716. package/esm2020/layout/layout.module.mjs +0 -20
  1717. package/esm2020/layout/layout.property.mjs +0 -88
  1718. package/esm2020/layout/ng-nest-ui-layout.mjs +0 -5
  1719. package/esm2020/layout/public-api.mjs +0 -5
  1720. package/esm2020/layout/row.component.mjs +0 -45
  1721. package/esm2020/link/link.component.mjs +0 -57
  1722. package/esm2020/link/link.module.mjs +0 -22
  1723. package/esm2020/link/link.property.mjs +0 -54
  1724. package/esm2020/link/ng-nest-ui-link.mjs +0 -5
  1725. package/esm2020/link/public-api.mjs +0 -4
  1726. package/esm2020/list/list-drop-group.directive.mjs +0 -47
  1727. package/esm2020/list/list-option.component.mjs +0 -49
  1728. package/esm2020/list/list.component.mjs +0 -395
  1729. package/esm2020/list/list.module.mjs +0 -66
  1730. package/esm2020/list/list.property.mjs +0 -259
  1731. package/esm2020/list/ng-nest-ui-list.mjs +0 -5
  1732. package/esm2020/list/public-api.mjs +0 -6
  1733. package/esm2020/loading/loading.component.mjs +0 -81
  1734. package/esm2020/loading/loading.module.mjs +0 -22
  1735. package/esm2020/loading/loading.property.mjs +0 -72
  1736. package/esm2020/loading/ng-nest-ui-loading.mjs +0 -5
  1737. package/esm2020/loading/public-api.mjs +0 -4
  1738. package/esm2020/menu/menu-node.component.mjs +0 -34
  1739. package/esm2020/menu/menu.component.mjs +0 -196
  1740. package/esm2020/menu/menu.module.mjs +0 -24
  1741. package/esm2020/menu/menu.property.mjs +0 -124
  1742. package/esm2020/menu/ng-nest-ui-menu.mjs +0 -5
  1743. package/esm2020/menu/public-api.mjs +0 -5
  1744. package/esm2020/message/message-ref.mjs +0 -12
  1745. package/esm2020/message/message.component.mjs +0 -46
  1746. package/esm2020/message/message.module.mjs +0 -22
  1747. package/esm2020/message/message.property.mjs +0 -9
  1748. package/esm2020/message/message.service.mjs +0 -144
  1749. package/esm2020/message/ng-nest-ui-message.mjs +0 -5
  1750. package/esm2020/message/public-api.mjs +0 -6
  1751. package/esm2020/message-box/message-box.component.mjs +0 -88
  1752. package/esm2020/message-box/message-box.module.mjs +0 -57
  1753. package/esm2020/message-box/message-box.property.mjs +0 -8
  1754. package/esm2020/message-box/message-box.service.mjs +0 -89
  1755. package/esm2020/message-box/ng-nest-ui-message-box.mjs +0 -5
  1756. package/esm2020/message-box/public-api.mjs +0 -5
  1757. package/esm2020/ng-nest-ui.mjs +0 -5
  1758. package/esm2020/notification/ng-nest-ui-notification.mjs +0 -5
  1759. package/esm2020/notification/notification.component.mjs +0 -48
  1760. package/esm2020/notification/notification.module.mjs +0 -22
  1761. package/esm2020/notification/notification.property.mjs +0 -8
  1762. package/esm2020/notification/notification.service.mjs +0 -103
  1763. package/esm2020/notification/public-api.mjs +0 -5
  1764. package/esm2020/outlet/ng-nest-ui-outlet.mjs +0 -5
  1765. package/esm2020/outlet/outlet.directive.mjs +0 -74
  1766. package/esm2020/outlet/outlet.module.mjs +0 -18
  1767. package/esm2020/outlet/outlet.property.mjs +0 -7
  1768. package/esm2020/outlet/public-api.mjs +0 -4
  1769. package/esm2020/page-header/ng-nest-ui-page-header.mjs +0 -5
  1770. package/esm2020/page-header/page-header.component.mjs +0 -41
  1771. package/esm2020/page-header/page-header.module.mjs +0 -20
  1772. package/esm2020/page-header/page-header.property.mjs +0 -46
  1773. package/esm2020/page-header/public-api.mjs +0 -4
  1774. package/esm2020/pagination/ng-nest-ui-pagination.mjs +0 -5
  1775. package/esm2020/pagination/pagination.component.mjs +0 -161
  1776. package/esm2020/pagination/pagination.module.mjs +0 -25
  1777. package/esm2020/pagination/pagination.property.mjs +0 -171
  1778. package/esm2020/pagination/public-api.mjs +0 -4
  1779. package/esm2020/pattern/ng-nest-ui-pattern.mjs +0 -5
  1780. package/esm2020/pattern/pattern.component.mjs +0 -17
  1781. package/esm2020/pattern/pattern.module.mjs +0 -18
  1782. package/esm2020/pattern/pattern.property.mjs +0 -7
  1783. package/esm2020/pattern/public-api.mjs +0 -4
  1784. package/esm2020/popconfirm/ng-nest-ui-popconfirm.mjs +0 -5
  1785. package/esm2020/popconfirm/popconfirm.component.mjs +0 -74
  1786. package/esm2020/popconfirm/popconfirm.module.mjs +0 -23
  1787. package/esm2020/popconfirm/popconfirm.property.mjs +0 -86
  1788. package/esm2020/popconfirm/public-api.mjs +0 -4
  1789. package/esm2020/popover/ng-nest-ui-popover.mjs +0 -5
  1790. package/esm2020/popover/popover-portal.component.mjs +0 -103
  1791. package/esm2020/popover/popover.directive.mjs +0 -193
  1792. package/esm2020/popover/popover.module.mjs +0 -22
  1793. package/esm2020/popover/popover.property.mjs +0 -84
  1794. package/esm2020/popover/public-api.mjs +0 -5
  1795. package/esm2020/portal/ng-nest-ui-portal.mjs +0 -5
  1796. package/esm2020/portal/portal.module.mjs +0 -19
  1797. package/esm2020/portal/portal.property.mjs +0 -24
  1798. package/esm2020/portal/portal.service.mjs +0 -189
  1799. package/esm2020/portal/public-api.mjs +0 -4
  1800. package/esm2020/progress/ng-nest-ui-progress.mjs +0 -5
  1801. package/esm2020/progress/progress.component.mjs +0 -221
  1802. package/esm2020/progress/progress.module.mjs +0 -21
  1803. package/esm2020/progress/progress.property.mjs +0 -114
  1804. package/esm2020/progress/public-api.mjs +0 -4
  1805. package/esm2020/radio/ng-nest-ui-radio.mjs +0 -5
  1806. package/esm2020/radio/public-api.mjs +0 -4
  1807. package/esm2020/radio/radio.component.mjs +0 -103
  1808. package/esm2020/radio/radio.module.mjs +0 -24
  1809. package/esm2020/radio/radio.property.mjs +0 -88
  1810. package/esm2020/rate/ng-nest-ui-rate.mjs +0 -5
  1811. package/esm2020/rate/public-api.mjs +0 -4
  1812. package/esm2020/rate/rate.component.mjs +0 -117
  1813. package/esm2020/rate/rate.module.mjs +0 -23
  1814. package/esm2020/rate/rate.property.mjs +0 -49
  1815. package/esm2020/resizable/ng-nest-ui-resizable.mjs +0 -5
  1816. package/esm2020/resizable/public-api.mjs +0 -4
  1817. package/esm2020/resizable/resizable.directive.mjs +0 -267
  1818. package/esm2020/resizable/resizable.module.mjs +0 -18
  1819. package/esm2020/resizable/resizable.property.mjs +0 -94
  1820. package/esm2020/result/ng-nest-ui-result.mjs +0 -5
  1821. package/esm2020/result/public-api.mjs +0 -4
  1822. package/esm2020/result/result.component.mjs +0 -33
  1823. package/esm2020/result/result.module.mjs +0 -21
  1824. package/esm2020/result/result.property.mjs +0 -37
  1825. package/esm2020/ripple/ng-nest-ui-ripple.mjs +0 -5
  1826. package/esm2020/ripple/public-api.mjs +0 -4
  1827. package/esm2020/ripple/ripple.directive.mjs +0 -69
  1828. package/esm2020/ripple/ripple.module.mjs +0 -19
  1829. package/esm2020/ripple/ripple.property.mjs +0 -33
  1830. package/esm2020/select/ng-nest-ui-select.mjs +0 -5
  1831. package/esm2020/select/public-api.mjs +0 -5
  1832. package/esm2020/select/select-portal.component.mjs +0 -109
  1833. package/esm2020/select/select.component.mjs +0 -603
  1834. package/esm2020/select/select.module.mjs +0 -57
  1835. package/esm2020/select/select.property.mjs +0 -128
  1836. package/esm2020/skeleton/ng-nest-ui-skeleton.mjs +0 -5
  1837. package/esm2020/skeleton/public-api.mjs +0 -4
  1838. package/esm2020/skeleton/skeleton.component.mjs +0 -37
  1839. package/esm2020/skeleton/skeleton.module.mjs +0 -20
  1840. package/esm2020/skeleton/skeleton.property.mjs +0 -52
  1841. package/esm2020/slider/ng-nest-ui-slider.mjs +0 -5
  1842. package/esm2020/slider/public-api.mjs +0 -4
  1843. package/esm2020/slider/slider.component.mjs +0 -247
  1844. package/esm2020/slider/slider.module.mjs +0 -23
  1845. package/esm2020/slider/slider.property.mjs +0 -116
  1846. package/esm2020/slider-select/ng-nest-ui-slider-select.mjs +0 -5
  1847. package/esm2020/slider-select/public-api.mjs +0 -4
  1848. package/esm2020/slider-select/slider-select.component.mjs +0 -171
  1849. package/esm2020/slider-select/slider-select.module.mjs +0 -23
  1850. package/esm2020/slider-select/slider-select.property.mjs +0 -97
  1851. package/esm2020/statistic/countdown.component.mjs +0 -68
  1852. package/esm2020/statistic/ng-nest-ui-statistic.mjs +0 -5
  1853. package/esm2020/statistic/public-api.mjs +0 -5
  1854. package/esm2020/statistic/statistic.component.mjs +0 -33
  1855. package/esm2020/statistic/statistic.module.mjs +0 -22
  1856. package/esm2020/statistic/statistic.property.mjs +0 -72
  1857. package/esm2020/steps/ng-nest-ui-steps.mjs +0 -5
  1858. package/esm2020/steps/public-api.mjs +0 -4
  1859. package/esm2020/steps/steps.component.mjs +0 -84
  1860. package/esm2020/steps/steps.module.mjs +0 -21
  1861. package/esm2020/steps/steps.property.mjs +0 -71
  1862. package/esm2020/switch/ng-nest-ui-switch.mjs +0 -5
  1863. package/esm2020/switch/public-api.mjs +0 -4
  1864. package/esm2020/switch/switch.component.mjs +0 -56
  1865. package/esm2020/switch/switch.module.mjs +0 -23
  1866. package/esm2020/switch/switch.property.mjs +0 -56
  1867. package/esm2020/table/drag.directive.mjs +0 -77
  1868. package/esm2020/table/ng-nest-ui-table.mjs +0 -5
  1869. package/esm2020/table/public-api.mjs +0 -8
  1870. package/esm2020/table/table-body.component.mjs +0 -215
  1871. package/esm2020/table/table-foot.component.mjs +0 -36
  1872. package/esm2020/table/table-head.component.mjs +0 -185
  1873. package/esm2020/table/table.component.mjs +0 -363
  1874. package/esm2020/table/table.module.mjs +0 -83
  1875. package/esm2020/table/table.property.mjs +0 -542
  1876. package/esm2020/tabs/ng-nest-ui-tabs.mjs +0 -5
  1877. package/esm2020/tabs/public-api.mjs +0 -7
  1878. package/esm2020/tabs/tab-content.component.mjs +0 -22
  1879. package/esm2020/tabs/tab-link.directive.mjs +0 -44
  1880. package/esm2020/tabs/tab.component.mjs +0 -27
  1881. package/esm2020/tabs/tabs.component.mjs +0 -194
  1882. package/esm2020/tabs/tabs.module.mjs +0 -39
  1883. package/esm2020/tabs/tabs.property.mjs +0 -147
  1884. package/esm2020/tag/ng-nest-ui-tag.mjs +0 -5
  1885. package/esm2020/tag/public-api.mjs +0 -4
  1886. package/esm2020/tag/tag.component.mjs +0 -69
  1887. package/esm2020/tag/tag.module.mjs +0 -21
  1888. package/esm2020/tag/tag.property.mjs +0 -104
  1889. package/esm2020/text-retract/ng-nest-ui-text-retract.mjs +0 -5
  1890. package/esm2020/text-retract/public-api.mjs +0 -4
  1891. package/esm2020/text-retract/text-retract.component.mjs +0 -62
  1892. package/esm2020/text-retract/text-retract.module.mjs +0 -22
  1893. package/esm2020/text-retract/text-retract.property.mjs +0 -31
  1894. package/esm2020/textarea/ng-nest-ui-textarea.mjs +0 -5
  1895. package/esm2020/textarea/public-api.mjs +0 -4
  1896. package/esm2020/textarea/textarea.component.mjs +0 -103
  1897. package/esm2020/textarea/textarea.module.mjs +0 -22
  1898. package/esm2020/textarea/textarea.property.mjs +0 -74
  1899. package/esm2020/theme/ng-nest-ui-theme.mjs +0 -5
  1900. package/esm2020/theme/public-api.mjs +0 -4
  1901. package/esm2020/theme/theme.component.mjs +0 -163
  1902. package/esm2020/theme/theme.module.mjs +0 -52
  1903. package/esm2020/theme/theme.property.mjs +0 -74
  1904. package/esm2020/time-ago/ng-nest-ui-time-ago.mjs +0 -5
  1905. package/esm2020/time-ago/public-api.mjs +0 -4
  1906. package/esm2020/time-ago/time-ago.module.mjs +0 -18
  1907. package/esm2020/time-ago/time-ago.pipe.mjs +0 -69
  1908. package/esm2020/time-ago/time-ago.property.mjs +0 -7
  1909. package/esm2020/time-picker/ng-nest-ui-time-picker.mjs +0 -5
  1910. package/esm2020/time-picker/public-api.mjs +0 -6
  1911. package/esm2020/time-picker/time-picker-frame.component.mjs +0 -324
  1912. package/esm2020/time-picker/time-picker-portal.component.mjs +0 -76
  1913. package/esm2020/time-picker/time-picker.component.mjs +0 -272
  1914. package/esm2020/time-picker/time-picker.module.mjs +0 -58
  1915. package/esm2020/time-picker/time-picker.property.mjs +0 -110
  1916. package/esm2020/time-range/ng-nest-ui-time-range.mjs +0 -5
  1917. package/esm2020/time-range/public-api.mjs +0 -4
  1918. package/esm2020/time-range/time-range.module.mjs +0 -16
  1919. package/esm2020/time-range/time-range.pipe.mjs +0 -44
  1920. package/esm2020/time-range/time-range.property.mjs +0 -7
  1921. package/esm2020/timeline/ng-nest-ui-timeline.mjs +0 -5
  1922. package/esm2020/timeline/public-api.mjs +0 -4
  1923. package/esm2020/timeline/timeline.component.mjs +0 -72
  1924. package/esm2020/timeline/timeline.module.mjs +0 -23
  1925. package/esm2020/timeline/timeline.property.mjs +0 -50
  1926. package/esm2020/tooltip/ng-nest-ui-tooltip.mjs +0 -5
  1927. package/esm2020/tooltip/public-api.mjs +0 -5
  1928. package/esm2020/tooltip/tooltip-portal.component.mjs +0 -105
  1929. package/esm2020/tooltip/tooltip.directive.mjs +0 -130
  1930. package/esm2020/tooltip/tooltip.module.mjs +0 -21
  1931. package/esm2020/tooltip/tooltip.property.mjs +0 -76
  1932. package/esm2020/transfer/ng-nest-ui-transfer.mjs +0 -5
  1933. package/esm2020/transfer/public-api.mjs +0 -4
  1934. package/esm2020/transfer/transfer.component.mjs +0 -603
  1935. package/esm2020/transfer/transfer.module.mjs +0 -69
  1936. package/esm2020/transfer/transfer.property.mjs +0 -104
  1937. package/esm2020/tree/ng-nest-ui-tree.mjs +0 -5
  1938. package/esm2020/tree/public-api.mjs +0 -5
  1939. package/esm2020/tree/tree-node.component.mjs +0 -273
  1940. package/esm2020/tree/tree.component.mjs +0 -554
  1941. package/esm2020/tree/tree.module.mjs +0 -54
  1942. package/esm2020/tree/tree.property.mjs +0 -335
  1943. package/esm2020/tree/tree.service.mjs +0 -77
  1944. package/esm2020/tree-file/ng-nest-ui-tree-file.mjs +0 -5
  1945. package/esm2020/tree-file/public-api.mjs +0 -4
  1946. package/esm2020/tree-file/tree-file.component.mjs +0 -124
  1947. package/esm2020/tree-file/tree-file.module.mjs +0 -25
  1948. package/esm2020/tree-file/tree-file.property.mjs +0 -101
  1949. package/esm2020/tree-select/ng-nest-ui-tree-select.mjs +0 -5
  1950. package/esm2020/tree-select/public-api.mjs +0 -5
  1951. package/esm2020/tree-select/tree-select-portal.component.mjs +0 -110
  1952. package/esm2020/tree-select/tree-select.component.mjs +0 -633
  1953. package/esm2020/tree-select/tree-select.module.mjs +0 -65
  1954. package/esm2020/tree-select/tree-select.property.mjs +0 -159
  1955. package/esm2020/typography/ng-nest-ui-typography.mjs +0 -5
  1956. package/esm2020/typography/public-api.mjs +0 -4
  1957. package/esm2020/typography/typography.component.mjs +0 -24
  1958. package/esm2020/typography/typography.module.mjs +0 -19
  1959. package/esm2020/typography/typography.property.mjs +0 -33
  1960. package/esm2020/upload/ng-nest-ui-upload.mjs +0 -5
  1961. package/esm2020/upload/public-api.mjs +0 -5
  1962. package/esm2020/upload/upload-portal.component.mjs +0 -200
  1963. package/esm2020/upload/upload.component.mjs +0 -253
  1964. package/esm2020/upload/upload.module.mjs +0 -65
  1965. package/esm2020/upload/upload.property.mjs +0 -113
  1966. package/fesm2015/ng-nest-ui-affix.mjs +0 -69
  1967. package/fesm2015/ng-nest-ui-affix.mjs.map +0 -1
  1968. package/fesm2015/ng-nest-ui-alert.mjs +0 -247
  1969. package/fesm2015/ng-nest-ui-alert.mjs.map +0 -1
  1970. package/fesm2015/ng-nest-ui-anchor.mjs +0 -257
  1971. package/fesm2015/ng-nest-ui-anchor.mjs.map +0 -1
  1972. package/fesm2015/ng-nest-ui-api.mjs +0 -47
  1973. package/fesm2015/ng-nest-ui-api.mjs.map +0 -1
  1974. package/fesm2015/ng-nest-ui-auto-complete.mjs +0 -490
  1975. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +0 -1
  1976. package/fesm2015/ng-nest-ui-avatar.mjs +0 -223
  1977. package/fesm2015/ng-nest-ui-avatar.mjs.map +0 -1
  1978. package/fesm2015/ng-nest-ui-back-top.mjs +0 -183
  1979. package/fesm2015/ng-nest-ui-back-top.mjs.map +0 -1
  1980. package/fesm2015/ng-nest-ui-badge.mjs +0 -151
  1981. package/fesm2015/ng-nest-ui-badge.mjs.map +0 -1
  1982. package/fesm2015/ng-nest-ui-base-form.mjs +0 -234
  1983. package/fesm2015/ng-nest-ui-base-form.mjs.map +0 -1
  1984. package/fesm2015/ng-nest-ui-border.mjs +0 -45
  1985. package/fesm2015/ng-nest-ui-border.mjs.map +0 -1
  1986. package/fesm2015/ng-nest-ui-button.mjs +0 -275
  1987. package/fesm2015/ng-nest-ui-button.mjs.map +0 -1
  1988. package/fesm2015/ng-nest-ui-calendar.mjs +0 -215
  1989. package/fesm2015/ng-nest-ui-calendar.mjs.map +0 -1
  1990. package/fesm2015/ng-nest-ui-card.mjs +0 -91
  1991. package/fesm2015/ng-nest-ui-card.mjs.map +0 -1
  1992. package/fesm2015/ng-nest-ui-carousel.mjs +0 -347
  1993. package/fesm2015/ng-nest-ui-carousel.mjs.map +0 -1
  1994. package/fesm2015/ng-nest-ui-cascade.mjs +0 -455
  1995. package/fesm2015/ng-nest-ui-cascade.mjs.map +0 -1
  1996. package/fesm2015/ng-nest-ui-checkbox.mjs +0 -229
  1997. package/fesm2015/ng-nest-ui-checkbox.mjs.map +0 -1
  1998. package/fesm2015/ng-nest-ui-collapse.mjs +0 -211
  1999. package/fesm2015/ng-nest-ui-collapse.mjs.map +0 -1
  2000. package/fesm2015/ng-nest-ui-color-picker.mjs +0 -687
  2001. package/fesm2015/ng-nest-ui-color-picker.mjs.map +0 -1
  2002. package/fesm2015/ng-nest-ui-color.mjs +0 -109
  2003. package/fesm2015/ng-nest-ui-color.mjs.map +0 -1
  2004. package/fesm2015/ng-nest-ui-comment.mjs +0 -276
  2005. package/fesm2015/ng-nest-ui-comment.mjs.map +0 -1
  2006. package/fesm2015/ng-nest-ui-container.mjs +0 -304
  2007. package/fesm2015/ng-nest-ui-container.mjs.map +0 -1
  2008. package/fesm2015/ng-nest-ui-core.mjs +0 -1626
  2009. package/fesm2015/ng-nest-ui-core.mjs.map +0 -1
  2010. package/fesm2015/ng-nest-ui-crumb.mjs +0 -122
  2011. package/fesm2015/ng-nest-ui-crumb.mjs.map +0 -1
  2012. package/fesm2015/ng-nest-ui-date-picker.mjs +0 -3175
  2013. package/fesm2015/ng-nest-ui-date-picker.mjs.map +0 -1
  2014. package/fesm2015/ng-nest-ui-description.mjs +0 -201
  2015. package/fesm2015/ng-nest-ui-description.mjs.map +0 -1
  2016. package/fesm2015/ng-nest-ui-dialog.mjs +0 -1051
  2017. package/fesm2015/ng-nest-ui-dialog.mjs.map +0 -1
  2018. package/fesm2015/ng-nest-ui-doc.mjs +0 -45
  2019. package/fesm2015/ng-nest-ui-doc.mjs.map +0 -1
  2020. package/fesm2015/ng-nest-ui-drawer.mjs +0 -472
  2021. package/fesm2015/ng-nest-ui-drawer.mjs.map +0 -1
  2022. package/fesm2015/ng-nest-ui-dropdown.mjs +0 -495
  2023. package/fesm2015/ng-nest-ui-dropdown.mjs.map +0 -1
  2024. package/fesm2015/ng-nest-ui-empty.mjs +0 -88
  2025. package/fesm2015/ng-nest-ui-empty.mjs.map +0 -1
  2026. package/fesm2015/ng-nest-ui-examples.mjs +0 -45
  2027. package/fesm2015/ng-nest-ui-examples.mjs.map +0 -1
  2028. package/fesm2015/ng-nest-ui-find.mjs +0 -694
  2029. package/fesm2015/ng-nest-ui-find.mjs.map +0 -1
  2030. package/fesm2015/ng-nest-ui-form.mjs +0 -584
  2031. package/fesm2015/ng-nest-ui-form.mjs.map +0 -1
  2032. package/fesm2015/ng-nest-ui-highlight.mjs +0 -151
  2033. package/fesm2015/ng-nest-ui-highlight.mjs.map +0 -1
  2034. package/fesm2015/ng-nest-ui-i18n.mjs +0 -6381
  2035. package/fesm2015/ng-nest-ui-i18n.mjs.map +0 -1
  2036. package/fesm2015/ng-nest-ui-icon.mjs +0 -332
  2037. package/fesm2015/ng-nest-ui-icon.mjs.map +0 -1
  2038. package/fesm2015/ng-nest-ui-image.mjs +0 -352
  2039. package/fesm2015/ng-nest-ui-image.mjs.map +0 -1
  2040. package/fesm2015/ng-nest-ui-inner.mjs +0 -77
  2041. package/fesm2015/ng-nest-ui-inner.mjs.map +0 -1
  2042. package/fesm2015/ng-nest-ui-input-number.mjs +0 -233
  2043. package/fesm2015/ng-nest-ui-input-number.mjs.map +0 -1
  2044. package/fesm2015/ng-nest-ui-input.mjs +0 -440
  2045. package/fesm2015/ng-nest-ui-input.mjs.map +0 -1
  2046. package/fesm2015/ng-nest-ui-keyword.mjs +0 -125
  2047. package/fesm2015/ng-nest-ui-keyword.mjs.map +0 -1
  2048. package/fesm2015/ng-nest-ui-layout.mjs +0 -226
  2049. package/fesm2015/ng-nest-ui-layout.mjs.map +0 -1
  2050. package/fesm2015/ng-nest-ui-link.mjs +0 -133
  2051. package/fesm2015/ng-nest-ui-link.mjs.map +0 -1
  2052. package/fesm2015/ng-nest-ui-list.mjs +0 -799
  2053. package/fesm2015/ng-nest-ui-list.mjs.map +0 -1
  2054. package/fesm2015/ng-nest-ui-loading.mjs +0 -175
  2055. package/fesm2015/ng-nest-ui-loading.mjs.map +0 -1
  2056. package/fesm2015/ng-nest-ui-menu.mjs +0 -371
  2057. package/fesm2015/ng-nest-ui-menu.mjs.map +0 -1
  2058. package/fesm2015/ng-nest-ui-message-box.mjs +0 -240
  2059. package/fesm2015/ng-nest-ui-message-box.mjs.map +0 -1
  2060. package/fesm2015/ng-nest-ui-message.mjs +0 -234
  2061. package/fesm2015/ng-nest-ui-message.mjs.map +0 -1
  2062. package/fesm2015/ng-nest-ui-notification.mjs +0 -181
  2063. package/fesm2015/ng-nest-ui-notification.mjs.map +0 -1
  2064. package/fesm2015/ng-nest-ui-outlet.mjs +0 -103
  2065. package/fesm2015/ng-nest-ui-outlet.mjs.map +0 -1
  2066. package/fesm2015/ng-nest-ui-page-header.mjs +0 -107
  2067. package/fesm2015/ng-nest-ui-page-header.mjs.map +0 -1
  2068. package/fesm2015/ng-nest-ui-pagination.mjs +0 -356
  2069. package/fesm2015/ng-nest-ui-pagination.mjs.map +0 -1
  2070. package/fesm2015/ng-nest-ui-pattern.mjs +0 -45
  2071. package/fesm2015/ng-nest-ui-pattern.mjs.map +0 -1
  2072. package/fesm2015/ng-nest-ui-popconfirm.mjs +0 -183
  2073. package/fesm2015/ng-nest-ui-popconfirm.mjs.map +0 -1
  2074. package/fesm2015/ng-nest-ui-popover.mjs +0 -396
  2075. package/fesm2015/ng-nest-ui-popover.mjs.map +0 -1
  2076. package/fesm2015/ng-nest-ui-portal.mjs +0 -233
  2077. package/fesm2015/ng-nest-ui-portal.mjs.map +0 -1
  2078. package/fesm2015/ng-nest-ui-progress.mjs +0 -355
  2079. package/fesm2015/ng-nest-ui-progress.mjs.map +0 -1
  2080. package/fesm2015/ng-nest-ui-radio.mjs +0 -212
  2081. package/fesm2015/ng-nest-ui-radio.mjs.map +0 -1
  2082. package/fesm2015/ng-nest-ui-rate.mjs +0 -186
  2083. package/fesm2015/ng-nest-ui-rate.mjs.map +0 -1
  2084. package/fesm2015/ng-nest-ui-resizable.mjs +0 -374
  2085. package/fesm2015/ng-nest-ui-resizable.mjs.map +0 -1
  2086. package/fesm2015/ng-nest-ui-result.mjs +0 -90
  2087. package/fesm2015/ng-nest-ui-result.mjs.map +0 -1
  2088. package/fesm2015/ng-nest-ui-ripple.mjs +0 -120
  2089. package/fesm2015/ng-nest-ui-ripple.mjs.map +0 -1
  2090. package/fesm2015/ng-nest-ui-select.mjs +0 -888
  2091. package/fesm2015/ng-nest-ui-select.mjs.map +0 -1
  2092. package/fesm2015/ng-nest-ui-skeleton.mjs +0 -108
  2093. package/fesm2015/ng-nest-ui-skeleton.mjs.map +0 -1
  2094. package/fesm2015/ng-nest-ui-slider-select.mjs +0 -288
  2095. package/fesm2015/ng-nest-ui-slider-select.mjs.map +0 -1
  2096. package/fesm2015/ng-nest-ui-slider.mjs +0 -387
  2097. package/fesm2015/ng-nest-ui-slider.mjs.map +0 -1
  2098. package/fesm2015/ng-nest-ui-statistic.mjs +0 -188
  2099. package/fesm2015/ng-nest-ui-statistic.mjs.map +0 -1
  2100. package/fesm2015/ng-nest-ui-steps.mjs +0 -175
  2101. package/fesm2015/ng-nest-ui-steps.mjs.map +0 -1
  2102. package/fesm2015/ng-nest-ui-switch.mjs +0 -132
  2103. package/fesm2015/ng-nest-ui-switch.mjs.map +0 -1
  2104. package/fesm2015/ng-nest-ui-table.mjs +0 -1473
  2105. package/fesm2015/ng-nest-ui-table.mjs.map +0 -1
  2106. package/fesm2015/ng-nest-ui-tabs.mjs +0 -464
  2107. package/fesm2015/ng-nest-ui-tabs.mjs.map +0 -1
  2108. package/fesm2015/ng-nest-ui-tag.mjs +0 -193
  2109. package/fesm2015/ng-nest-ui-tag.mjs.map +0 -1
  2110. package/fesm2015/ng-nest-ui-text-retract.mjs +0 -114
  2111. package/fesm2015/ng-nest-ui-text-retract.mjs.map +0 -1
  2112. package/fesm2015/ng-nest-ui-textarea.mjs +0 -196
  2113. package/fesm2015/ng-nest-ui-textarea.mjs.map +0 -1
  2114. package/fesm2015/ng-nest-ui-theme.mjs +0 -285
  2115. package/fesm2015/ng-nest-ui-theme.mjs.map +0 -1
  2116. package/fesm2015/ng-nest-ui-time-ago.mjs +0 -97
  2117. package/fesm2015/ng-nest-ui-time-ago.mjs.map +0 -1
  2118. package/fesm2015/ng-nest-ui-time-picker.mjs +0 -818
  2119. package/fesm2015/ng-nest-ui-time-picker.mjs.map +0 -1
  2120. package/fesm2015/ng-nest-ui-time-range.mjs +0 -70
  2121. package/fesm2015/ng-nest-ui-time-range.mjs.map +0 -1
  2122. package/fesm2015/ng-nest-ui-timeline.mjs +0 -144
  2123. package/fesm2015/ng-nest-ui-timeline.mjs.map +0 -1
  2124. package/fesm2015/ng-nest-ui-tooltip.mjs +0 -327
  2125. package/fesm2015/ng-nest-ui-tooltip.mjs.map +0 -1
  2126. package/fesm2015/ng-nest-ui-transfer.mjs +0 -784
  2127. package/fesm2015/ng-nest-ui-transfer.mjs.map +0 -1
  2128. package/fesm2015/ng-nest-ui-tree-file.mjs +0 -253
  2129. package/fesm2015/ng-nest-ui-tree-file.mjs.map +0 -1
  2130. package/fesm2015/ng-nest-ui-tree-select.mjs +0 -958
  2131. package/fesm2015/ng-nest-ui-tree-select.mjs.map +0 -1
  2132. package/fesm2015/ng-nest-ui-tree.mjs +0 -1286
  2133. package/fesm2015/ng-nest-ui-tree.mjs.map +0 -1
  2134. package/fesm2015/ng-nest-ui-typography.mjs +0 -76
  2135. package/fesm2015/ng-nest-ui-typography.mjs.map +0 -1
  2136. package/fesm2015/ng-nest-ui-upload.mjs +0 -627
  2137. package/fesm2015/ng-nest-ui-upload.mjs.map +0 -1
  2138. package/fesm2015/ng-nest-ui.mjs +0 -94
  2139. package/fesm2020/ng-nest-ui-affix.mjs +0 -69
  2140. package/fesm2020/ng-nest-ui-affix.mjs.map +0 -1
  2141. package/fesm2020/ng-nest-ui-alert.mjs +0 -245
  2142. package/fesm2020/ng-nest-ui-alert.mjs.map +0 -1
  2143. package/fesm2020/ng-nest-ui-anchor.mjs +0 -257
  2144. package/fesm2020/ng-nest-ui-anchor.mjs.map +0 -1
  2145. package/fesm2020/ng-nest-ui-api.mjs +0 -47
  2146. package/fesm2020/ng-nest-ui-api.mjs.map +0 -1
  2147. package/fesm2020/ng-nest-ui-auto-complete.mjs +0 -488
  2148. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +0 -1
  2149. package/fesm2020/ng-nest-ui-avatar.mjs +0 -222
  2150. package/fesm2020/ng-nest-ui-avatar.mjs.map +0 -1
  2151. package/fesm2020/ng-nest-ui-back-top.mjs +0 -182
  2152. package/fesm2020/ng-nest-ui-back-top.mjs.map +0 -1
  2153. package/fesm2020/ng-nest-ui-badge.mjs +0 -151
  2154. package/fesm2020/ng-nest-ui-badge.mjs.map +0 -1
  2155. package/fesm2020/ng-nest-ui-base-form.mjs +0 -234
  2156. package/fesm2020/ng-nest-ui-base-form.mjs.map +0 -1
  2157. package/fesm2020/ng-nest-ui-border.mjs +0 -45
  2158. package/fesm2020/ng-nest-ui-border.mjs.map +0 -1
  2159. package/fesm2020/ng-nest-ui-button.mjs +0 -271
  2160. package/fesm2020/ng-nest-ui-button.mjs.map +0 -1
  2161. package/fesm2020/ng-nest-ui-calendar.mjs +0 -214
  2162. package/fesm2020/ng-nest-ui-calendar.mjs.map +0 -1
  2163. package/fesm2020/ng-nest-ui-card.mjs +0 -91
  2164. package/fesm2020/ng-nest-ui-card.mjs.map +0 -1
  2165. package/fesm2020/ng-nest-ui-carousel.mjs +0 -344
  2166. package/fesm2020/ng-nest-ui-carousel.mjs.map +0 -1
  2167. package/fesm2020/ng-nest-ui-cascade.mjs +0 -453
  2168. package/fesm2020/ng-nest-ui-cascade.mjs.map +0 -1
  2169. package/fesm2020/ng-nest-ui-checkbox.mjs +0 -229
  2170. package/fesm2020/ng-nest-ui-checkbox.mjs.map +0 -1
  2171. package/fesm2020/ng-nest-ui-collapse.mjs +0 -209
  2172. package/fesm2020/ng-nest-ui-collapse.mjs.map +0 -1
  2173. package/fesm2020/ng-nest-ui-color-picker.mjs +0 -682
  2174. package/fesm2020/ng-nest-ui-color-picker.mjs.map +0 -1
  2175. package/fesm2020/ng-nest-ui-color.mjs +0 -109
  2176. package/fesm2020/ng-nest-ui-color.mjs.map +0 -1
  2177. package/fesm2020/ng-nest-ui-comment.mjs +0 -275
  2178. package/fesm2020/ng-nest-ui-comment.mjs.map +0 -1
  2179. package/fesm2020/ng-nest-ui-container.mjs +0 -300
  2180. package/fesm2020/ng-nest-ui-container.mjs.map +0 -1
  2181. package/fesm2020/ng-nest-ui-core.mjs +0 -1622
  2182. package/fesm2020/ng-nest-ui-core.mjs.map +0 -1
  2183. package/fesm2020/ng-nest-ui-crumb.mjs +0 -122
  2184. package/fesm2020/ng-nest-ui-crumb.mjs.map +0 -1
  2185. package/fesm2020/ng-nest-ui-date-picker.mjs +0 -3162
  2186. package/fesm2020/ng-nest-ui-date-picker.mjs.map +0 -1
  2187. package/fesm2020/ng-nest-ui-description.mjs +0 -201
  2188. package/fesm2020/ng-nest-ui-description.mjs.map +0 -1
  2189. package/fesm2020/ng-nest-ui-dialog.mjs +0 -1039
  2190. package/fesm2020/ng-nest-ui-dialog.mjs.map +0 -1
  2191. package/fesm2020/ng-nest-ui-doc.mjs +0 -45
  2192. package/fesm2020/ng-nest-ui-doc.mjs.map +0 -1
  2193. package/fesm2020/ng-nest-ui-drawer.mjs +0 -465
  2194. package/fesm2020/ng-nest-ui-drawer.mjs.map +0 -1
  2195. package/fesm2020/ng-nest-ui-dropdown.mjs +0 -484
  2196. package/fesm2020/ng-nest-ui-dropdown.mjs.map +0 -1
  2197. package/fesm2020/ng-nest-ui-empty.mjs +0 -88
  2198. package/fesm2020/ng-nest-ui-empty.mjs.map +0 -1
  2199. package/fesm2020/ng-nest-ui-examples.mjs +0 -45
  2200. package/fesm2020/ng-nest-ui-examples.mjs.map +0 -1
  2201. package/fesm2020/ng-nest-ui-find.mjs +0 -689
  2202. package/fesm2020/ng-nest-ui-find.mjs.map +0 -1
  2203. package/fesm2020/ng-nest-ui-form.mjs +0 -583
  2204. package/fesm2020/ng-nest-ui-form.mjs.map +0 -1
  2205. package/fesm2020/ng-nest-ui-highlight.mjs +0 -147
  2206. package/fesm2020/ng-nest-ui-highlight.mjs.map +0 -1
  2207. package/fesm2020/ng-nest-ui-i18n.mjs +0 -6379
  2208. package/fesm2020/ng-nest-ui-i18n.mjs.map +0 -1
  2209. package/fesm2020/ng-nest-ui-icon.mjs +0 -330
  2210. package/fesm2020/ng-nest-ui-icon.mjs.map +0 -1
  2211. package/fesm2020/ng-nest-ui-image.mjs +0 -347
  2212. package/fesm2020/ng-nest-ui-image.mjs.map +0 -1
  2213. package/fesm2020/ng-nest-ui-inner.mjs +0 -77
  2214. package/fesm2020/ng-nest-ui-inner.mjs.map +0 -1
  2215. package/fesm2020/ng-nest-ui-input-number.mjs +0 -233
  2216. package/fesm2020/ng-nest-ui-input-number.mjs.map +0 -1
  2217. package/fesm2020/ng-nest-ui-input.mjs +0 -438
  2218. package/fesm2020/ng-nest-ui-input.mjs.map +0 -1
  2219. package/fesm2020/ng-nest-ui-keyword.mjs +0 -125
  2220. package/fesm2020/ng-nest-ui-keyword.mjs.map +0 -1
  2221. package/fesm2020/ng-nest-ui-layout.mjs +0 -223
  2222. package/fesm2020/ng-nest-ui-layout.mjs.map +0 -1
  2223. package/fesm2020/ng-nest-ui-link.mjs +0 -132
  2224. package/fesm2020/ng-nest-ui-link.mjs.map +0 -1
  2225. package/fesm2020/ng-nest-ui-list.mjs +0 -796
  2226. package/fesm2020/ng-nest-ui-list.mjs.map +0 -1
  2227. package/fesm2020/ng-nest-ui-loading.mjs +0 -174
  2228. package/fesm2020/ng-nest-ui-loading.mjs.map +0 -1
  2229. package/fesm2020/ng-nest-ui-menu.mjs +0 -369
  2230. package/fesm2020/ng-nest-ui-menu.mjs.map +0 -1
  2231. package/fesm2020/ng-nest-ui-message-box.mjs +0 -237
  2232. package/fesm2020/ng-nest-ui-message-box.mjs.map +0 -1
  2233. package/fesm2020/ng-nest-ui-message.mjs +0 -227
  2234. package/fesm2020/ng-nest-ui-message.mjs.map +0 -1
  2235. package/fesm2020/ng-nest-ui-notification.mjs +0 -176
  2236. package/fesm2020/ng-nest-ui-notification.mjs.map +0 -1
  2237. package/fesm2020/ng-nest-ui-outlet.mjs +0 -103
  2238. package/fesm2020/ng-nest-ui-outlet.mjs.map +0 -1
  2239. package/fesm2020/ng-nest-ui-page-header.mjs +0 -107
  2240. package/fesm2020/ng-nest-ui-page-header.mjs.map +0 -1
  2241. package/fesm2020/ng-nest-ui-pagination.mjs +0 -356
  2242. package/fesm2020/ng-nest-ui-pagination.mjs.map +0 -1
  2243. package/fesm2020/ng-nest-ui-pattern.mjs +0 -45
  2244. package/fesm2020/ng-nest-ui-pattern.mjs.map +0 -1
  2245. package/fesm2020/ng-nest-ui-popconfirm.mjs +0 -183
  2246. package/fesm2020/ng-nest-ui-popconfirm.mjs.map +0 -1
  2247. package/fesm2020/ng-nest-ui-popover.mjs +0 -392
  2248. package/fesm2020/ng-nest-ui-popover.mjs.map +0 -1
  2249. package/fesm2020/ng-nest-ui-portal.mjs +0 -233
  2250. package/fesm2020/ng-nest-ui-portal.mjs.map +0 -1
  2251. package/fesm2020/ng-nest-ui-progress.mjs +0 -355
  2252. package/fesm2020/ng-nest-ui-progress.mjs.map +0 -1
  2253. package/fesm2020/ng-nest-ui-radio.mjs +0 -212
  2254. package/fesm2020/ng-nest-ui-radio.mjs.map +0 -1
  2255. package/fesm2020/ng-nest-ui-rate.mjs +0 -186
  2256. package/fesm2020/ng-nest-ui-rate.mjs.map +0 -1
  2257. package/fesm2020/ng-nest-ui-resizable.mjs +0 -378
  2258. package/fesm2020/ng-nest-ui-resizable.mjs.map +0 -1
  2259. package/fesm2020/ng-nest-ui-result.mjs +0 -90
  2260. package/fesm2020/ng-nest-ui-result.mjs.map +0 -1
  2261. package/fesm2020/ng-nest-ui-ripple.mjs +0 -120
  2262. package/fesm2020/ng-nest-ui-ripple.mjs.map +0 -1
  2263. package/fesm2020/ng-nest-ui-select.mjs +0 -883
  2264. package/fesm2020/ng-nest-ui-select.mjs.map +0 -1
  2265. package/fesm2020/ng-nest-ui-skeleton.mjs +0 -108
  2266. package/fesm2020/ng-nest-ui-skeleton.mjs.map +0 -1
  2267. package/fesm2020/ng-nest-ui-slider-select.mjs +0 -287
  2268. package/fesm2020/ng-nest-ui-slider-select.mjs.map +0 -1
  2269. package/fesm2020/ng-nest-ui-slider.mjs +0 -385
  2270. package/fesm2020/ng-nest-ui-slider.mjs.map +0 -1
  2271. package/fesm2020/ng-nest-ui-statistic.mjs +0 -188
  2272. package/fesm2020/ng-nest-ui-statistic.mjs.map +0 -1
  2273. package/fesm2020/ng-nest-ui-steps.mjs +0 -175
  2274. package/fesm2020/ng-nest-ui-steps.mjs.map +0 -1
  2275. package/fesm2020/ng-nest-ui-switch.mjs +0 -132
  2276. package/fesm2020/ng-nest-ui-switch.mjs.map +0 -1
  2277. package/fesm2020/ng-nest-ui-table.mjs +0 -1461
  2278. package/fesm2020/ng-nest-ui-table.mjs.map +0 -1
  2279. package/fesm2020/ng-nest-ui-tabs.mjs +0 -455
  2280. package/fesm2020/ng-nest-ui-tabs.mjs.map +0 -1
  2281. package/fesm2020/ng-nest-ui-tag.mjs +0 -193
  2282. package/fesm2020/ng-nest-ui-tag.mjs.map +0 -1
  2283. package/fesm2020/ng-nest-ui-text-retract.mjs +0 -114
  2284. package/fesm2020/ng-nest-ui-text-retract.mjs.map +0 -1
  2285. package/fesm2020/ng-nest-ui-textarea.mjs +0 -196
  2286. package/fesm2020/ng-nest-ui-textarea.mjs.map +0 -1
  2287. package/fesm2020/ng-nest-ui-theme.mjs +0 -285
  2288. package/fesm2020/ng-nest-ui-theme.mjs.map +0 -1
  2289. package/fesm2020/ng-nest-ui-time-ago.mjs +0 -97
  2290. package/fesm2020/ng-nest-ui-time-ago.mjs.map +0 -1
  2291. package/fesm2020/ng-nest-ui-time-picker.mjs +0 -814
  2292. package/fesm2020/ng-nest-ui-time-picker.mjs.map +0 -1
  2293. package/fesm2020/ng-nest-ui-time-range.mjs +0 -70
  2294. package/fesm2020/ng-nest-ui-time-range.mjs.map +0 -1
  2295. package/fesm2020/ng-nest-ui-timeline.mjs +0 -144
  2296. package/fesm2020/ng-nest-ui-timeline.mjs.map +0 -1
  2297. package/fesm2020/ng-nest-ui-tooltip.mjs +0 -322
  2298. package/fesm2020/ng-nest-ui-tooltip.mjs.map +0 -1
  2299. package/fesm2020/ng-nest-ui-transfer.mjs +0 -772
  2300. package/fesm2020/ng-nest-ui-transfer.mjs.map +0 -1
  2301. package/fesm2020/ng-nest-ui-tree-file.mjs +0 -248
  2302. package/fesm2020/ng-nest-ui-tree-file.mjs.map +0 -1
  2303. package/fesm2020/ng-nest-ui-tree-select.mjs +0 -953
  2304. package/fesm2020/ng-nest-ui-tree-select.mjs.map +0 -1
  2305. package/fesm2020/ng-nest-ui-tree.mjs +0 -1275
  2306. package/fesm2020/ng-nest-ui-tree.mjs.map +0 -1
  2307. package/fesm2020/ng-nest-ui-typography.mjs +0 -76
  2308. package/fesm2020/ng-nest-ui-typography.mjs.map +0 -1
  2309. package/fesm2020/ng-nest-ui-upload.mjs +0 -618
  2310. package/fesm2020/ng-nest-ui-upload.mjs.map +0 -1
  2311. package/fesm2020/ng-nest-ui.mjs +0 -94
  2312. package/fesm2020/ng-nest-ui.mjs.map +0 -1
  2313. /package/{fesm2015 → fesm2022}/ng-nest-ui.mjs.map +0 -0
@@ -0,0 +1,604 @@
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild } from '@angular/core';
2
+ import { XTransferPrefix, XTransferProperty } from './transfer.property';
3
+ import { XIsChange, XIsEmpty, XSetData, XRemove, XIsArray, XIsObject, XIsObjectArray, XIsBoolean, XIsFunction, XIsUndefined } from '@ng-nest/ui/core';
4
+ import { Subject } from 'rxjs';
5
+ import { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';
6
+ import { transferArrayItem, moveItemInArray } from '@angular/cdk/drag-drop';
7
+ import { XValueAccessor } from '@ng-nest/ui/base-form';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ng-nest/ui/core";
10
+ import * as i2 from "@ng-nest/ui/i18n";
11
+ import * as i3 from "@angular/common";
12
+ import * as i4 from "@angular/forms";
13
+ import * as i5 from "@angular/cdk/drag-drop";
14
+ import * as i6 from "@ng-nest/ui/outlet";
15
+ import * as i7 from "@ng-nest/ui/checkbox";
16
+ import * as i8 from "@ng-nest/ui/button";
17
+ import * as i9 from "@ng-nest/ui/input";
18
+ import * as i10 from "@ng-nest/ui/tree";
19
+ import * as i11 from "@ng-nest/ui/table";
20
+ import * as i12 from "@ng-nest/ui/keyword";
21
+ import * as i13 from "@ng-nest/ui/link";
22
+ class XTransferComponent extends XTransferProperty {
23
+ get localTitle() {
24
+ if (this.type === 'tree') {
25
+ return this.locale.treeTitle;
26
+ }
27
+ else {
28
+ return this.locale.listTitle;
29
+ }
30
+ }
31
+ writeValue(value) {
32
+ this.value = value;
33
+ if (XIsArray(value)) {
34
+ this.treeActivatedId = [...value];
35
+ if (XIsObjectArray(value)) {
36
+ this.isObjectArray = true;
37
+ }
38
+ }
39
+ this.setList(this.nodes);
40
+ }
41
+ get values() {
42
+ if (this.isObjectArray) {
43
+ return this.value.map((x) => x.id);
44
+ }
45
+ else {
46
+ return this.value;
47
+ }
48
+ }
49
+ constructor(renderer, elementRef, cdr, configService, i18n) {
50
+ super();
51
+ this.renderer = renderer;
52
+ this.elementRef = elementRef;
53
+ this.cdr = cdr;
54
+ this.configService = configService;
55
+ this.i18n = i18n;
56
+ this.nodes = [];
57
+ this.left = {
58
+ list: [],
59
+ searchList: [],
60
+ checkedCount: 0,
61
+ direction: 'left',
62
+ disabledButton: true
63
+ };
64
+ this.right = {
65
+ list: [],
66
+ searchList: [],
67
+ checkedCount: 0,
68
+ direction: 'right',
69
+ disabledButton: true
70
+ };
71
+ this.searchInput = '';
72
+ this.searchInputLeftChange = new Subject();
73
+ this.searchInputRightChange = new Subject();
74
+ this.searchDebounceTime = 200;
75
+ this.locale = {};
76
+ this._unSubject = new Subject();
77
+ this.treeActivatedId = [];
78
+ this.tableData = [];
79
+ this.isObjectArray = false;
80
+ }
81
+ ngOnInit() {
82
+ this.setTitles();
83
+ this.setListStyle();
84
+ this.setHiddenCheckAll();
85
+ this.getTableCheckColumn();
86
+ this.setFooterTpl();
87
+ this.setTableHeadSearchTpl();
88
+ this.i18n.localeChange
89
+ .pipe(map((x) => x.transfer), takeUntil(this._unSubject))
90
+ .subscribe((x) => {
91
+ this.locale = x;
92
+ XIsEmpty(this.titles) && this.setTitles();
93
+ this.cdr.markForCheck();
94
+ });
95
+ this.searchInputLeftChange
96
+ .pipe(debounceTime(this.searchDebounceTime), distinctUntilChanged(), takeUntil(this._unSubject))
97
+ .subscribe(() => {
98
+ this.setSearchInputChange(this.left);
99
+ });
100
+ this.searchInputRightChange
101
+ .pipe(debounceTime(this.searchDebounceTime), distinctUntilChanged(), takeUntil(this._unSubject))
102
+ .subscribe(() => {
103
+ this.setSearchInputChange(this.right);
104
+ });
105
+ }
106
+ ngOnChanges(changes) {
107
+ const { data } = changes;
108
+ XIsChange(data) && this.setData();
109
+ }
110
+ ngOnDestroy() {
111
+ this._unSubject.next();
112
+ this._unSubject.unsubscribe();
113
+ }
114
+ onSearchInputChange(source) {
115
+ if (source.direction === 'left') {
116
+ this.searchInputLeftChange.next(source.searchInput);
117
+ }
118
+ else if (source.direction === 'right') {
119
+ this.searchInputRightChange.next(source.searchInput);
120
+ }
121
+ }
122
+ setSearchInputChange(source) {
123
+ if (XIsUndefined(source.searchInput))
124
+ return;
125
+ if (XIsEmpty(source.searchInput)) {
126
+ source.list = [...source.searchList];
127
+ }
128
+ else {
129
+ switch (this.type) {
130
+ case 'list':
131
+ source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);
132
+ break;
133
+ case 'tree':
134
+ if (source.direction === 'right') {
135
+ source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);
136
+ }
137
+ else if (source.direction === 'left') {
138
+ let searchList = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);
139
+ let parents = [];
140
+ const findParent = (item) => {
141
+ if (!item.pid)
142
+ return;
143
+ let parent = source.searchList?.find((x) => x.id === item.pid);
144
+ if (parent && !parents.some((x) => x.id === parent.id)) {
145
+ parents.push(parent);
146
+ findParent(parent);
147
+ }
148
+ };
149
+ for (let item of searchList) {
150
+ findParent(item);
151
+ }
152
+ source.list = [...searchList, ...parents];
153
+ }
154
+ break;
155
+ case 'table':
156
+ break;
157
+ }
158
+ }
159
+ this.setListCount(this.type, source);
160
+ this.cdr.detectChanges();
161
+ }
162
+ checkedAllChange($event, source) {
163
+ let list = (source.list?.filter((x) => !x.disabled)).map((x) => {
164
+ x.checked = $event;
165
+ return x;
166
+ });
167
+ if (this.type === 'tree' && source.direction === 'left') {
168
+ this.treeActivatedId = $event ? source.list.map((x) => x.id) : source.list.filter((x) => x.disabled).map((x) => x.id);
169
+ }
170
+ source.checkedCount = $event ? list.length : 0;
171
+ source.indeterminate = $event;
172
+ this.setButtonDisabled(source);
173
+ this.cdr.detectChanges();
174
+ }
175
+ checkedChange($event, source) {
176
+ if (!$event)
177
+ source.checkedCount--;
178
+ else
179
+ source.checkedCount++;
180
+ this.setCheckedAll(source);
181
+ this.setButtonDisabled(source);
182
+ this.cdr.detectChanges();
183
+ }
184
+ move(from, to) {
185
+ if (from.disabledButton)
186
+ return;
187
+ switch (this.type) {
188
+ case 'list':
189
+ this.moveList(from, to);
190
+ break;
191
+ case 'tree':
192
+ this.moveTree(from, to);
193
+ break;
194
+ case 'table':
195
+ this.moveTable(from, to);
196
+ }
197
+ }
198
+ moveList(from, to) {
199
+ let checkedItems = from.list?.filter((x) => !x.disabled && x.checked);
200
+ let j = 0;
201
+ checkedItems.forEach((x) => {
202
+ let index = from.list?.indexOf(x);
203
+ x.checked = false;
204
+ transferArrayItem(from.list, to.list, index, j);
205
+ if (this.search) {
206
+ index = from.searchList?.indexOf(x);
207
+ transferArrayItem(from.searchList, to.searchList, index, j);
208
+ }
209
+ j++;
210
+ });
211
+ from.list = [...from.list];
212
+ to.list = [...to.list];
213
+ this.setCheckedCount('list', from, to);
214
+ this.setListCount('list', from, to);
215
+ this.setCheckedAll(from, to);
216
+ this.setButtonDisabled(from, to);
217
+ this.setSearchList(from, to);
218
+ this.setValue();
219
+ this.cdr.detectChanges();
220
+ }
221
+ moveTree(from, to) {
222
+ let checkedItems = [];
223
+ if (to.direction === 'right') {
224
+ checkedItems = from.list?.filter((x) => !x.disabled && !XIsEmpty(this.treeActivatedId) && this.treeActivatedId.includes(x.id));
225
+ checkedItems.forEach((x) => {
226
+ x.disabled = true;
227
+ x.change && x.change();
228
+ });
229
+ to.list?.unshift(...checkedItems.map((x) => {
230
+ let res = { ...x };
231
+ res.checked = false;
232
+ res.disabled = false;
233
+ return res;
234
+ }));
235
+ this.setCheckedCount('tree', from);
236
+ this.setCheckedCount('list', to);
237
+ }
238
+ else {
239
+ checkedItems = XRemove(from.list, (x) => !x.disabled && x.checked);
240
+ if (this.search) {
241
+ XRemove(from.searchList, (x) => !x.disabled && x.checked);
242
+ }
243
+ for (let item of checkedItems) {
244
+ let node = to.list?.find((x) => x.id === item.id);
245
+ if (node) {
246
+ node.checked = false;
247
+ node.disabled = false;
248
+ const idx = this.treeActivatedId.findIndex((x) => x === node.id);
249
+ if (idx >= 0) {
250
+ this.treeActivatedId.splice(idx, 1);
251
+ }
252
+ node.change && node.change();
253
+ }
254
+ }
255
+ this.setCheckedCount('tree', to);
256
+ this.setCheckedCount('list', from);
257
+ }
258
+ this.setCheckedAll(from, to);
259
+ this.setListCount('list', from, to);
260
+ this.setButtonDisabled(from, to);
261
+ this.setSearchList(from, to);
262
+ this.setValue();
263
+ }
264
+ moveTable(from, to) {
265
+ let checkedItems = [];
266
+ if (to.direction === 'right') {
267
+ checkedItems = from.list?.filter((x) => !x.disabled && x.checked);
268
+ to.list = [
269
+ ...checkedItems.map((x) => {
270
+ const res = { ...x };
271
+ x.disabled = true;
272
+ x.checked = true;
273
+ res.disabled = false;
274
+ res.checked = false;
275
+ return res;
276
+ }),
277
+ ...to.list
278
+ ];
279
+ this.tableData = [...from.list];
280
+ this.setCheckedCount('table', from);
281
+ this.setCheckedCount('list', to);
282
+ }
283
+ else {
284
+ checkedItems = XRemove(from.list, (x) => !x.disabled && x.checked);
285
+ const ids = checkedItems.map((x) => x.id);
286
+ for (let item of to.list) {
287
+ if (ids.includes(item.id)) {
288
+ item.checked = false;
289
+ item.disabled = false;
290
+ }
291
+ }
292
+ from.list = [...from.list];
293
+ this.tableData = [...to.list];
294
+ this.setCheckedCount('table', to);
295
+ this.setCheckedCount('list', from);
296
+ }
297
+ this.setListCount('table', from, to);
298
+ this.setCheckedAll(from, to);
299
+ this.setButtonDisabled(from, to);
300
+ this.setSearchList(from, to);
301
+ this.setValue();
302
+ }
303
+ dropCdk(event) {
304
+ const ev = event;
305
+ if (ev.previousContainer === ev.container) {
306
+ moveItemInArray(ev.container.data, ev.previousIndex, ev.currentIndex);
307
+ }
308
+ else {
309
+ transferArrayItem(ev.previousContainer.data, ev.container.data, ev.previousIndex, ev.currentIndex);
310
+ this.setCheckedCount('list', this.left, this.right);
311
+ this.setCheckedAll(this.left, this.right);
312
+ this.setListCount('list', this.left, this.right);
313
+ this.setButtonDisabled(this.left, this.right);
314
+ }
315
+ this.setSearchList(this.left, this.right);
316
+ this.setValue();
317
+ this.cdr.detectChanges();
318
+ }
319
+ predicate(item) {
320
+ return !item.data.disabled;
321
+ }
322
+ trackByNode(_index, item) {
323
+ return item.id;
324
+ }
325
+ setListCount(type = 'list', ...sources) {
326
+ if (['list', 'tree'].includes(type)) {
327
+ for (let source of sources) {
328
+ source.count = source.list?.filter((x) => !x.disabled).length;
329
+ }
330
+ }
331
+ else if (type === 'table') {
332
+ for (let source of sources) {
333
+ if (source.direction === 'left') {
334
+ source.count = this.tableTotal - this.right.list.length || 0;
335
+ }
336
+ else {
337
+ source.count = source.list?.filter((x) => !x.disabled).length;
338
+ }
339
+ }
340
+ }
341
+ }
342
+ onTreeNodeClick(_node) {
343
+ this.setCheckedCount('tree', this.left);
344
+ this.setCheckedAll(this.left);
345
+ this.setButtonDisabled(this.left);
346
+ }
347
+ onTableCheckedRow(row, source) {
348
+ if (!this.tableCheckboxColumn)
349
+ return;
350
+ let checked = row[this.tableCheckboxColumn.id];
351
+ row.checked = checked;
352
+ this.setCheckedCount('table', source);
353
+ this.setCheckedAll(source);
354
+ this.setButtonDisabled(source);
355
+ }
356
+ onTableCheckedAll(row, source) {
357
+ if (!this.tableCheckboxColumn)
358
+ return;
359
+ let checked = row.checkbox[this.tableCheckboxColumn.id];
360
+ for (let item of source.list) {
361
+ if (!item.disabled) {
362
+ item.checked = checked;
363
+ }
364
+ }
365
+ this.setCheckedCount('table', source);
366
+ this.setButtonDisabled(source);
367
+ }
368
+ onInverse(source) {
369
+ for (let item of source.list) {
370
+ if (!item.disabled) {
371
+ item.checked = !item.checked;
372
+ }
373
+ }
374
+ let type = `${this.type}`;
375
+ if (type === 'tree' && source.direction === 'right') {
376
+ type = 'list';
377
+ }
378
+ this.setCheckedCount(type, source);
379
+ this.setCheckedAll(source);
380
+ this.setButtonDisabled(source);
381
+ this.cdr.detectChanges();
382
+ }
383
+ getTableCheckColumn() {
384
+ if (this.type !== 'table' || XIsEmpty(this.tableColumns))
385
+ return;
386
+ this.tableCheckboxColumn = this.tableColumns?.find((x) => x.rowChecked);
387
+ }
388
+ setCheckedAll(...sources) {
389
+ for (let source of sources) {
390
+ if (source.checkedCount > 0) {
391
+ if (source.checkedCount === source.list?.filter((x) => !x.disabled).length) {
392
+ source.checkedAll = true;
393
+ }
394
+ else {
395
+ source.checkedAll = false;
396
+ source.indeterminate = true;
397
+ }
398
+ }
399
+ else {
400
+ source.checkedAll = false;
401
+ source.indeterminate = false;
402
+ }
403
+ }
404
+ }
405
+ setCheckedCount(type = 'list', ...sources) {
406
+ for (let source of sources) {
407
+ if (['table', 'list'].includes(type)) {
408
+ source.checkedCount = source.list?.filter((x) => !x.disabled && x.checked).length;
409
+ }
410
+ else if (type === 'tree') {
411
+ source.checkedCount = source.list?.filter((x) => !x.disabled && !XIsEmpty(this.treeActivatedId) && this.treeActivatedId.includes(x.id)).length;
412
+ }
413
+ }
414
+ }
415
+ setButtonDisabled(...sources) {
416
+ for (let source of sources)
417
+ source.disabledButton = source.checkedCount === 0;
418
+ }
419
+ setValue() {
420
+ if (this.isObjectArray) {
421
+ this.value = this.right.list;
422
+ }
423
+ else {
424
+ this.value = this.right.list?.map((x) => x.id);
425
+ }
426
+ this.onChange(this.value);
427
+ }
428
+ setSearchList(...sources) {
429
+ if (this.search) {
430
+ for (let source of sources) {
431
+ if (XIsEmpty(source.searchInput)) {
432
+ source.searchList = [...source.list];
433
+ }
434
+ }
435
+ }
436
+ }
437
+ setData() {
438
+ if (this.type === 'table') {
439
+ this.getTableData();
440
+ return;
441
+ }
442
+ XSetData(this.data, this._unSubject).subscribe((x) => {
443
+ this.setList(x);
444
+ });
445
+ }
446
+ setList(data) {
447
+ if (XIsEmpty(data))
448
+ return;
449
+ switch (this.type) {
450
+ case 'list':
451
+ this.nodes = data;
452
+ if (!XIsEmpty(this.values)) {
453
+ this.left.list = this.nodes.filter((x) => this.values.indexOf(x.id) < 0);
454
+ this.right.list = this.nodes.filter((x) => this.values.indexOf(x.id) >= 0);
455
+ }
456
+ else {
457
+ this.left.list = [...this.nodes];
458
+ }
459
+ this.setSearchList(this.left, this.right);
460
+ this.setListCount(this.type, this.left, this.right);
461
+ break;
462
+ case 'tree':
463
+ this.nodes = data;
464
+ this.setTreeNodeDisabled();
465
+ this.left.list = [...this.nodes];
466
+ if (!XIsEmpty(this.values)) {
467
+ this.right.list = this.nodes
468
+ .filter((x) => this.values.indexOf(x.id) >= 0)
469
+ .map((x) => {
470
+ let res = { ...x };
471
+ res.checked = false;
472
+ res.disabled = false;
473
+ return res;
474
+ });
475
+ }
476
+ this.setSearchList(this.left, this.right);
477
+ this.setListCount(this.type, this.left, this.right);
478
+ break;
479
+ case 'table':
480
+ this.nodes = data;
481
+ this.setTableDataDisabled();
482
+ this.left.list = [...this.nodes];
483
+ if (!XIsEmpty(this.values)) {
484
+ if (this.isObjectArray) {
485
+ this.right.list = [
486
+ ...this.value.map((x) => {
487
+ let res = { ...x };
488
+ res.disabled = false;
489
+ res.checked = false;
490
+ return res;
491
+ })
492
+ ];
493
+ }
494
+ else {
495
+ this.right.list = [...this.value];
496
+ }
497
+ }
498
+ this.setSearchList(this.left, this.right);
499
+ this.setListCount(this.type, this.left, this.right);
500
+ break;
501
+ }
502
+ this.cdr.detectChanges();
503
+ }
504
+ getTableData() {
505
+ if (XIsFunction(this.data)) {
506
+ this.data(this.tableIndex, this.tableSize, this.tableQuery).subscribe((x) => {
507
+ this.tableTotal = x.total;
508
+ this.tableData = x.list;
509
+ this.setList(x.list);
510
+ });
511
+ }
512
+ }
513
+ setTitles() {
514
+ let titles = [];
515
+ if (XIsEmpty(this.titles)) {
516
+ titles = [this.localTitle, this.locale.selectedTitle];
517
+ }
518
+ else {
519
+ titles = this.titles;
520
+ }
521
+ if (titles.length > 0)
522
+ this.left.title = titles[0];
523
+ if (titles.length > 1)
524
+ this.right.title = titles[1];
525
+ this.cdr.detectChanges();
526
+ }
527
+ setListStyle() {
528
+ if (XIsEmpty(this.listStyle))
529
+ return;
530
+ let styles = [];
531
+ if (XIsObject(this.listStyle)) {
532
+ styles = [this.listStyle, this.listStyle];
533
+ }
534
+ else if (XIsObjectArray(this.listStyle)) {
535
+ styles = this.listStyle;
536
+ }
537
+ if (styles.length > 0)
538
+ this.left.listStyle = styles[0];
539
+ if (styles.length > 1)
540
+ this.right.listStyle = styles[1];
541
+ this.cdr.detectChanges();
542
+ }
543
+ setTreeNodeDisabled() {
544
+ if (!XIsEmpty(this.values) && this.nodes) {
545
+ for (let item of this.nodes) {
546
+ let hasIn = this.values.indexOf(item.id) >= 0;
547
+ item.disabled = hasIn;
548
+ item.checked = hasIn;
549
+ }
550
+ }
551
+ }
552
+ setTableDataDisabled() {
553
+ if (!XIsEmpty(this.values) && this.nodes) {
554
+ for (let item of this.nodes) {
555
+ let hasIn = this.values.indexOf(item.id) >= 0;
556
+ item.disabled = hasIn;
557
+ item.checked = hasIn;
558
+ }
559
+ }
560
+ }
561
+ setHiddenCheckAll() {
562
+ if (XIsEmpty(this.hiddenCheckAll))
563
+ return;
564
+ if (this.hiddenCheckAll.length > 0 && XIsBoolean(this.hiddenCheckAll[0]))
565
+ this.left.hiddenCheckAll = this.hiddenCheckAll[0];
566
+ if (this.hiddenCheckAll.length > 1 && XIsBoolean(this.hiddenCheckAll[1]))
567
+ this.right.hiddenCheckAll = this.hiddenCheckAll[1];
568
+ this.cdr.detectChanges();
569
+ }
570
+ setFooterTpl() {
571
+ if (XIsUndefined(this.footerTpl))
572
+ return;
573
+ if (this.footerTpl.length > 0) {
574
+ this.left.footerTpl = this.footerTpl[0];
575
+ }
576
+ if (this.footerTpl.length > 1) {
577
+ this.right.footerTpl = this.footerTpl[1];
578
+ }
579
+ }
580
+ setTableHeadSearchTpl() {
581
+ if (XIsUndefined(this.tableHeadSearchTpl))
582
+ return;
583
+ if (this.tableHeadSearchTpl.length > 0) {
584
+ this.left.tableHeadSearchTpl = this.tableHeadSearchTpl[0];
585
+ }
586
+ if (this.tableHeadSearchTpl.length > 1) {
587
+ this.right.tableHeadSearchTpl = this.tableHeadSearchTpl[1];
588
+ }
589
+ }
590
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: XTransferComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
591
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: XTransferComponent, selector: "x-transfer", providers: [XValueAccessor(XTransferComponent)], viewQueries: [{ propertyName: "leftTableCom", first: true, predicate: ["leftTableCom"], descendants: true }, { propertyName: "rightTableCom", first: true, predicate: ["rightTableCom"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <div [ngStyle]=\"left.listStyle!\" class=\"x-transfer-list\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <ul\r\n *ngSwitchCase=\"'list'\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag && type === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n <li class=\"x-transfer-item\" *ngFor=\"let node of left.list; trackBy: trackByNode\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left }\"></ng-container>\r\n </li>\r\n </ul>\r\n <x-tree\r\n *ngSwitchCase=\"'tree'\"\r\n [data]=\"left.list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n <x-table\r\n #leftTableCom\r\n *ngSwitchCase=\"'table'\"\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, left)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left.tableHeadSearchTpl\"\r\n ></x-table>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-transfer-footer\" *ngIf=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"left.footerTpl; context: { $source: left }\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button type=\"primary\" icon=\"fto-chevron-right\" [disabled]=\"left.disabledButton\" (click)=\"move(left, right)\"></x-button>\r\n <x-button type=\"primary\" icon=\"fto-chevron-left\" [disabled]=\"right.disabledButton\" (click)=\"move(right, left)\"></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n <div [ngSwitch]=\"type\" [ngStyle]=\"right.listStyle!\" class=\"x-transfer-list\">\r\n <x-table\r\n #rightTableCom\r\n *ngSwitchCase=\"'table'\"\r\n [data]=\"right.list!\"\r\n [columns]=\"tableColumns!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, right)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right.tableHeadSearchTpl\"\r\n ></x-table>\r\n <ul\r\n *ngSwitchDefault\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag || (drag && type !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n <li class=\"x-transfer-item\" *ngFor=\"let node of right.list; trackBy: trackByNode\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right }\"></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"x-transfer-footer\" *ngIf=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"right.footerTpl; context: { $source: right }\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n <x-checkbox\r\n *ngIf=\"source.title && !source.hiddenCheckAll\"\r\n [data]=\"[titleTpl ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n ></x-checkbox>\r\n <span *ngIf=\"source.title && source.hiddenCheckAll\">{{ source.title }}</span>\r\n <x-link *ngIf=\"inverse && type === 'list'\" class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n </div>\r\n <ng-container *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n <div class=\"x-transfer-search\" *ngIf=\"search && type !== 'table'\">\r\n <x-input icon=\"fto-search\" [(ngModel)]=\"source.searchInput\" (ngModelChange)=\"onSearchInputChange(source)\" clearable></x-input>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl ? nodeTpl : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top-left-radius:var(--x-border-radius);border-top-right-radius:var(--x-border-radius);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title-left{display:inline-flex;align-items:center}.x-transfer-inverse{margin:0 .5rem}.x-transfer-total{margin-left:.325rem}.x-transfer-box{min-width:12rem}.x-transfer-list{display:flex;flex-direction:column;height:18rem;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:none;border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius);overflow:auto}.x-transfer-item{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-droplist{height:100%;padding:.25rem}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:hover{background-color:transparent}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item.cdk-drag-placeholder{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-transfer-search x-input{width:100%}.x-transfer-tree-label{flex:1}.x-transfer-footer{padding:.25rem .5625rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-transfer-has-footer .x-transfer-list{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}body>li.x-transfer-item.cdk-drag-preview{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i7.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i8.XButtonComponent, selector: "x-button" }, { kind: "component", type: i9.XInputComponent, selector: "x-input" }, { kind: "component", type: i10.XTreeComponent, selector: "x-tree" }, { kind: "component", type: i11.XTableComponent, selector: "x-table" }, { kind: "directive", type: i12.XKeywordDirective, selector: "[x-keyword]" }, { kind: "component", type: i13.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i2.XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
592
+ }
593
+ export { XTransferComponent };
594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: XTransferComponent, decorators: [{
595
+ type: Component,
596
+ args: [{ selector: `${XTransferPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTransferComponent)], template: "<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <div [ngStyle]=\"left.listStyle!\" class=\"x-transfer-list\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <ul\r\n *ngSwitchCase=\"'list'\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag && type === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n <li class=\"x-transfer-item\" *ngFor=\"let node of left.list; trackBy: trackByNode\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left }\"></ng-container>\r\n </li>\r\n </ul>\r\n <x-tree\r\n *ngSwitchCase=\"'tree'\"\r\n [data]=\"left.list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n <x-table\r\n #leftTableCom\r\n *ngSwitchCase=\"'table'\"\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, left)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left.tableHeadSearchTpl\"\r\n ></x-table>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-transfer-footer\" *ngIf=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"left.footerTpl; context: { $source: left }\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button type=\"primary\" icon=\"fto-chevron-right\" [disabled]=\"left.disabledButton\" (click)=\"move(left, right)\"></x-button>\r\n <x-button type=\"primary\" icon=\"fto-chevron-left\" [disabled]=\"right.disabledButton\" (click)=\"move(right, left)\"></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n <div [ngSwitch]=\"type\" [ngStyle]=\"right.listStyle!\" class=\"x-transfer-list\">\r\n <x-table\r\n #rightTableCom\r\n *ngSwitchCase=\"'table'\"\r\n [data]=\"right.list!\"\r\n [columns]=\"tableColumns!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, right)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right.tableHeadSearchTpl\"\r\n ></x-table>\r\n <ul\r\n *ngSwitchDefault\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag || (drag && type !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n <li class=\"x-transfer-item\" *ngFor=\"let node of right.list; trackBy: trackByNode\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right }\"></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"x-transfer-footer\" *ngIf=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"right.footerTpl; context: { $source: right }\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n <x-checkbox\r\n *ngIf=\"source.title && !source.hiddenCheckAll\"\r\n [data]=\"[titleTpl ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n ></x-checkbox>\r\n <span *ngIf=\"source.title && source.hiddenCheckAll\">{{ source.title }}</span>\r\n <x-link *ngIf=\"inverse && type === 'list'\" class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n </div>\r\n <ng-container *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n <div class=\"x-transfer-search\" *ngIf=\"search && type !== 'table'\">\r\n <x-input icon=\"fto-search\" [(ngModel)]=\"source.searchInput\" (ngModelChange)=\"onSearchInputChange(source)\" clearable></x-input>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl ? nodeTpl : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top-left-radius:var(--x-border-radius);border-top-right-radius:var(--x-border-radius);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title-left{display:inline-flex;align-items:center}.x-transfer-inverse{margin:0 .5rem}.x-transfer-total{margin-left:.325rem}.x-transfer-box{min-width:12rem}.x-transfer-list{display:flex;flex-direction:column;height:18rem;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:none;border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius);overflow:auto}.x-transfer-item{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-droplist{height:100%;padding:.25rem}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:hover{background-color:transparent}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item.cdk-drag-placeholder{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-transfer-search x-input{width:100%}.x-transfer-tree-label{flex:1}.x-transfer-footer{padding:.25rem .5625rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-transfer-has-footer .x-transfer-list{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}body>li.x-transfer-item.cdk-drag-preview{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
597
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }, { type: i2.XI18nService }]; }, propDecorators: { leftTableCom: [{
598
+ type: ViewChild,
599
+ args: ['leftTableCom']
600
+ }], rightTableCom: [{
601
+ type: ViewChild,
602
+ args: ['rightTableCom']
603
+ }] } });
604
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJhbnNmZXIvdHJhbnNmZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJhbnNmZXIvdHJhbnNmZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBSXZCLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFrQyxpQkFBaUIsRUFBaUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN4SCxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixRQUFRLEVBRVIsT0FBTyxFQUNQLFFBQVEsRUFDUixTQUFTLEVBQ1QsY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBRVgsWUFBWSxFQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUF3QixNQUFNLHdCQUF3QixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBS3ZELE1BUWEsa0JBQW1CLFNBQVEsaUJBQWlCO0lBdUJ2RCxJQUFZLFVBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBQzlCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1NB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LEdBQUcsSUFBSSxDQUFDLFNBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQUUsT0FBTztRQUNsRCxJQUFJLElBQUksQ0FBQyxrQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVEO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7aUlBamtCVSxrQkFBa0I7cUhBQWxCLGtCQUFrQixxQ0FGbEIsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxxUkMxQ2pELDJ0TUFzSUE7O1NEMUZhLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLEdBQUcsZUFBZSxFQUFFLGlCQUdmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLG9CQUFvQixDQUFDO2lOQUdwQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0csYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRyYW5zZmVyUHJlZml4LCBYVHJhbnNmZXJOb2RlLCBYVHJhbnNmZXJTb3VyY2UsIFhUcmFuc2ZlclByb3BlcnR5LCBYVHJhbnNmZXJUeXBlIH0gZnJvbSAnLi90cmFuc2Zlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhJc0VtcHR5LFxyXG4gIFhTZXREYXRhLFxyXG4gIFhDb25maWdTZXJ2aWNlLFxyXG4gIFhSZW1vdmUsXHJcbiAgWElzQXJyYXksXHJcbiAgWElzT2JqZWN0LFxyXG4gIFhJc09iamVjdEFycmF5LFxyXG4gIFhJc0Jvb2xlYW4sXHJcbiAgWElzRnVuY3Rpb24sXHJcbiAgWFJlc3VsdExpc3QsXHJcbiAgWElzVW5kZWZpbmVkXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHRyYW5zZmVyQXJyYXlJdGVtLCBtb3ZlSXRlbUluQXJyYXksIENka0RyYWdEcm9wLCBDZGtEcmFnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEkxOG5TZXJ2aWNlLCBYSTE4blRyYW5zZmVyIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFhUcmVlTm9kZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3RyZWUnO1xyXG5pbXBvcnQgeyBYVGFibGVDb2x1bW4sIFhUYWJsZUNvbXBvbmVudCwgWFRhYmxlSGVhZENoZWNrYm94IH0gZnJvbSAnQG5nLW5lc3QvdWkvdGFibGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUcmFuc2ZlclByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmFuc2Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJhbnNmZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhUcmFuc2ZlckNvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVHJhbnNmZXJDb21wb25lbnQgZXh0ZW5kcyBYVHJhbnNmZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2xlZnRUYWJsZUNvbScpIGxlZnRUYWJsZUNvbT86IFhUYWJsZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdyaWdodFRhYmxlQ29tJykgcmlnaHRUYWJsZUNvbT86IFhUYWJsZUNvbXBvbmVudDtcclxuICBub2RlczogWFRyYW5zZmVyTm9kZVtdID0gW107XHJcbiAgbGVmdDogWFRyYW5zZmVyU291cmNlID0ge1xyXG4gICAgbGlzdDogW10sXHJcbiAgICBzZWFyY2hMaXN0OiBbXSxcclxuICAgIGNoZWNrZWRDb3VudDogMCxcclxuICAgIGRpcmVjdGlvbjogJ2xlZnQnLFxyXG4gICAgZGlzYWJsZWRCdXR0b246IHRydWVcclxuICB9O1xyXG4gIHJpZ2h0OiBYVHJhbnNmZXJTb3VyY2UgPSB7XHJcbiAgICBsaXN0OiBbXSxcclxuICAgIHNlYXJjaExpc3Q6IFtdLFxyXG4gICAgY2hlY2tlZENvdW50OiAwLFxyXG4gICAgZGlyZWN0aW9uOiAncmlnaHQnLFxyXG4gICAgZGlzYWJsZWRCdXR0b246IHRydWVcclxuICB9O1xyXG4gIHNlYXJjaElucHV0OiBzdHJpbmcgPSAnJztcclxuICBzZWFyY2hJbnB1dExlZnRDaGFuZ2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgc2VhcmNoSW5wdXRSaWdodENoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBzZWFyY2hEZWJvdW5jZVRpbWUgPSAyMDA7XHJcbiAgbG9jYWxlOiBYSTE4blRyYW5zZmVyID0ge307XHJcbiAgcHJpdmF0ZSBnZXQgbG9jYWxUaXRsZSgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICd0cmVlJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGUudHJlZVRpdGxlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxlLmxpc3RUaXRsZTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICB0cmVlQWN0aXZhdGVkSWQ6IGFueVtdID0gW107XHJcbiAgdGFibGVEYXRhOiBYVHJhbnNmZXJOb2RlW10gPSBbXTtcclxuICB0YWJsZUNoZWNrYm94Q29sdW1uPzogWFRhYmxlQ29sdW1uO1xyXG4gIGlzT2JqZWN0QXJyYXkgPSBmYWxzZTtcclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgaWYgKFhJc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICB0aGlzLnRyZWVBY3RpdmF0ZWRJZCA9IFsuLi52YWx1ZV07XHJcbiAgICAgIGlmIChYSXNPYmplY3RBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICB0aGlzLmlzT2JqZWN0QXJyYXkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldExpc3QodGhpcy5ub2Rlcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWVzKCkge1xyXG4gICAgaWYgKHRoaXMuaXNPYmplY3RBcnJheSkge1xyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZS5tYXAoKHgpID0+IHguaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldFRpdGxlcygpO1xyXG4gICAgdGhpcy5zZXRMaXN0U3R5bGUoKTtcclxuICAgIHRoaXMuc2V0SGlkZGVuQ2hlY2tBbGwoKTtcclxuICAgIHRoaXMuZ2V0VGFibGVDaGVja0NvbHVtbigpO1xyXG4gICAgdGhpcy5zZXRGb290ZXJUcGwoKTtcclxuICAgIHRoaXMuc2V0VGFibGVIZWFkU2VhcmNoVHBsKCk7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC50cmFuc2ZlciBhcyBYSTE4blRyYW5zZmVyKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgWElzRW1wdHkodGhpcy50aXRsZXMpICYmIHRoaXMuc2V0VGl0bGVzKCk7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5zZWFyY2hJbnB1dExlZnRDaGFuZ2VcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuc2VhcmNoRGVib3VuY2VUaW1lKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U2VhcmNoSW5wdXRDaGFuZ2UodGhpcy5sZWZ0KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnNlYXJjaElucHV0UmlnaHRDaGFuZ2VcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuc2VhcmNoRGVib3VuY2VUaW1lKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U2VhcmNoSW5wdXRDaGFuZ2UodGhpcy5yaWdodCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaElucHV0Q2hhbmdlKHNvdXJjZTogWFRyYW5zZmVyU291cmNlKSB7XHJcbiAgICBpZiAoc291cmNlLmRpcmVjdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXRMZWZ0Q2hhbmdlLm5leHQoc291cmNlLnNlYXJjaElucHV0ISk7XHJcbiAgICB9IGVsc2UgaWYgKHNvdXJjZS5kaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgdGhpcy5zZWFyY2hJbnB1dFJpZ2h0Q2hhbmdlLm5leHQoc291cmNlLnNlYXJjaElucHV0ISk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWFyY2hJbnB1dENoYW5nZShzb3VyY2U6IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZChzb3VyY2Uuc2VhcmNoSW5wdXQpKSByZXR1cm47XHJcbiAgICBpZiAoWElzRW1wdHkoc291cmNlLnNlYXJjaElucHV0KSkge1xyXG4gICAgICBzb3VyY2UubGlzdCA9IFsuLi5zb3VyY2Uuc2VhcmNoTGlzdCFdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdsaXN0JzpcclxuICAgICAgICAgIHNvdXJjZS5saXN0ID0gc291cmNlLnNlYXJjaExpc3Q/LmZpbHRlcigoeCkgPT4geC5sYWJlbC5pbmRleE9mKHNvdXJjZS5zZWFyY2hJbnB1dCkgPj0gMCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd0cmVlJzpcclxuICAgICAgICAgIGlmIChzb3VyY2UuZGlyZWN0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgIHNvdXJjZS5saXN0ID0gc291cmNlLnNlYXJjaExpc3Q/LmZpbHRlcigoeCkgPT4geC5sYWJlbC5pbmRleE9mKHNvdXJjZS5zZWFyY2hJbnB1dCkgPj0gMCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZS5kaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBsZXQgc2VhcmNoTGlzdCA9IHNvdXJjZS5zZWFyY2hMaXN0Py5maWx0ZXIoKHgpID0+IHgubGFiZWwuaW5kZXhPZihzb3VyY2Uuc2VhcmNoSW5wdXQpID49IDApITtcclxuICAgICAgICAgICAgbGV0IHBhcmVudHM6IFhUcmFuc2Zlck5vZGVbXSA9IFtdO1xyXG4gICAgICAgICAgICBjb25zdCBmaW5kUGFyZW50ID0gKGl0ZW06IFhUcmFuc2Zlck5vZGUpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIWl0ZW0ucGlkKSByZXR1cm47XHJcbiAgICAgICAgICAgICAgbGV0IHBhcmVudCA9IHNvdXJjZS5zZWFyY2hMaXN0Py5maW5kKCh4KSA9PiB4LmlkID09PSBpdGVtLnBpZCk7XHJcbiAgICAgICAgICAgICAgaWYgKHBhcmVudCAmJiAhcGFyZW50cy5zb21lKCh4KSA9PiB4LmlkID09PSBwYXJlbnQhLmlkKSkge1xyXG4gICAgICAgICAgICAgICAgcGFyZW50cy5wdXNoKHBhcmVudCk7XHJcbiAgICAgICAgICAgICAgICBmaW5kUGFyZW50KHBhcmVudCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHNlYXJjaExpc3QpIHtcclxuICAgICAgICAgICAgICBmaW5kUGFyZW50KGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNvdXJjZS5saXN0ID0gWy4uLnNlYXJjaExpc3QsIC4uLnBhcmVudHNdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndGFibGUnOlxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdENvdW50KHRoaXMudHlwZSwgc291cmNlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrZWRBbGxDaGFuZ2UoJGV2ZW50OiBib29sZWFuLCBzb3VyY2U6IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgbGV0IGxpc3Q6IFhUcmFuc2Zlck5vZGVbXSA9IChzb3VyY2UubGlzdD8uZmlsdGVyKCh4KSA9PiAheC5kaXNhYmxlZCkgYXMgWFRyYW5zZmVyTm9kZVtdKS5tYXAoKHgpID0+IHtcclxuICAgICAgeC5jaGVja2VkID0gJGV2ZW50O1xyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RyZWUnICYmIHNvdXJjZS5kaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICB0aGlzLnRyZWVBY3RpdmF0ZWRJZCA9ICRldmVudCA/IHNvdXJjZS5saXN0IS5tYXAoKHgpID0+IHguaWQpISA6IHNvdXJjZS5saXN0IS5maWx0ZXIoKHgpID0+IHguZGlzYWJsZWQpLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICB9XHJcbiAgICBzb3VyY2UuY2hlY2tlZENvdW50ID0gJGV2ZW50ID8gbGlzdC5sZW5ndGggOiAwO1xyXG4gICAgc291cmNlLmluZGV0ZXJtaW5hdGUgPSAkZXZlbnQ7XHJcbiAgICB0aGlzLnNldEJ1dHRvbkRpc2FibGVkKHNvdXJjZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja2VkQ2hhbmdlKCRldmVudDogYm9vbGVhbiwgc291cmNlOiBYVHJhbnNmZXJTb3VyY2UpIHtcclxuICAgIGlmICghJGV2ZW50KSAoc291cmNlLmNoZWNrZWRDb3VudCBhcyBudW1iZXIpLS07XHJcbiAgICBlbHNlIChzb3VyY2UuY2hlY2tlZENvdW50IGFzIG51bWJlcikrKztcclxuICAgIHRoaXMuc2V0Q2hlY2tlZEFsbChzb3VyY2UpO1xyXG4gICAgdGhpcy5zZXRCdXR0b25EaXNhYmxlZChzb3VyY2UpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbW92ZShmcm9tOiBYVHJhbnNmZXJTb3VyY2UsIHRvOiBYVHJhbnNmZXJTb3VyY2UpIHtcclxuICAgIGlmIChmcm9tLmRpc2FibGVkQnV0dG9uKSByZXR1cm47XHJcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xyXG4gICAgICBjYXNlICdsaXN0JzpcclxuICAgICAgICB0aGlzLm1vdmVMaXN0KGZyb20sIHRvKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndHJlZSc6XHJcbiAgICAgICAgdGhpcy5tb3ZlVHJlZShmcm9tLCB0byk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RhYmxlJzpcclxuICAgICAgICB0aGlzLm1vdmVUYWJsZShmcm9tLCB0byk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1vdmVMaXN0KGZyb206IFhUcmFuc2ZlclNvdXJjZSwgdG86IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgbGV0IGNoZWNrZWRJdGVtcyA9IGZyb20ubGlzdD8uZmlsdGVyKCh4KSA9PiAheC5kaXNhYmxlZCAmJiB4LmNoZWNrZWQpITtcclxuICAgIGxldCBqID0gMDtcclxuICAgIGNoZWNrZWRJdGVtcy5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGxldCBpbmRleCA9IGZyb20ubGlzdD8uaW5kZXhPZih4KSBhcyBudW1iZXI7XHJcbiAgICAgIHguY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICB0cmFuc2ZlckFycmF5SXRlbShmcm9tLmxpc3QhLCB0by5saXN0ISwgaW5kZXgsIGopO1xyXG4gICAgICBpZiAodGhpcy5zZWFyY2gpIHtcclxuICAgICAgICBpbmRleCA9IGZyb20uc2VhcmNoTGlzdD8uaW5kZXhPZih4KSBhcyBudW1iZXI7XHJcbiAgICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oZnJvbS5zZWFyY2hMaXN0ISwgdG8uc2VhcmNoTGlzdCEsIGluZGV4LCBqKTtcclxuICAgICAgfVxyXG4gICAgICBqKys7XHJcbiAgICB9KTtcclxuICAgIGZyb20ubGlzdCA9IFsuLi5mcm9tLmxpc3QhXTtcclxuICAgIHRvLmxpc3QgPSBbLi4udG8ubGlzdCFdO1xyXG4gICAgdGhpcy5zZXRDaGVja2VkQ291bnQoJ2xpc3QnLCBmcm9tLCB0byk7XHJcbiAgICB0aGlzLnNldExpc3RDb3VudCgnbGlzdCcsIGZyb20sIHRvKTtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZEFsbChmcm9tLCB0byk7XHJcbiAgICB0aGlzLnNldEJ1dHRvbkRpc2FibGVkKGZyb20sIHRvKTtcclxuICAgIHRoaXMuc2V0U2VhcmNoTGlzdChmcm9tLCB0byk7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1vdmVUcmVlKGZyb206IFhUcmFuc2ZlclNvdXJjZSwgdG86IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgbGV0IGNoZWNrZWRJdGVtczogWFRyYW5zZmVyTm9kZVtdID0gW107XHJcbiAgICBpZiAodG8uZGlyZWN0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgIGNoZWNrZWRJdGVtcyA9IGZyb20ubGlzdD8uZmlsdGVyKCh4KSA9PiAheC5kaXNhYmxlZCAmJiAhWElzRW1wdHkodGhpcy50cmVlQWN0aXZhdGVkSWQpICYmIHRoaXMudHJlZUFjdGl2YXRlZElkLmluY2x1ZGVzKHguaWQpKSE7XHJcbiAgICAgIGNoZWNrZWRJdGVtcy5mb3JFYWNoKCh4OiBYVHJlZU5vZGUpID0+IHtcclxuICAgICAgICB4LmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB4LmNoYW5nZSAmJiB4LmNoYW5nZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgdG8ubGlzdD8udW5zaGlmdChcclxuICAgICAgICAuLi5jaGVja2VkSXRlbXMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgICBsZXQgcmVzID0geyAuLi54IH07XHJcbiAgICAgICAgICByZXMuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgcmVzLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZENvdW50KCd0cmVlJywgZnJvbSk7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZENvdW50KCdsaXN0JywgdG8pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY2hlY2tlZEl0ZW1zID0gWFJlbW92ZShmcm9tLmxpc3QhLCAoeCkgPT4gIXguZGlzYWJsZWQgJiYgeC5jaGVja2VkISk7XHJcbiAgICAgIGlmICh0aGlzLnNlYXJjaCkge1xyXG4gICAgICAgIFhSZW1vdmUoZnJvbS5zZWFyY2hMaXN0ISwgKHgpID0+ICF4LmRpc2FibGVkICYmIHguY2hlY2tlZCEpO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2hlY2tlZEl0ZW1zKSB7XHJcbiAgICAgICAgbGV0IG5vZGU6IFhUcmVlTm9kZSA9IHRvLmxpc3Q/LmZpbmQoKHgpID0+IHguaWQgPT09IGl0ZW0uaWQpITtcclxuICAgICAgICBpZiAobm9kZSkge1xyXG4gICAgICAgICAgbm9kZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgICBub2RlLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICBjb25zdCBpZHggPSB0aGlzLnRyZWVBY3RpdmF0ZWRJZC5maW5kSW5kZXgoKHgpID0+IHggPT09IG5vZGUuaWQpO1xyXG4gICAgICAgICAgaWYgKGlkeCA+PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJlZUFjdGl2YXRlZElkLnNwbGljZShpZHgsIDEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgbm9kZS5jaGFuZ2UgJiYgbm9kZS5jaGFuZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXRDaGVja2VkQ291bnQoJ3RyZWUnLCB0byk7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZENvdW50KCdsaXN0JywgZnJvbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldENoZWNrZWRBbGwoZnJvbSwgdG8pO1xyXG4gICAgdGhpcy5zZXRMaXN0Q291bnQoJ2xpc3QnLCBmcm9tLCB0byk7XHJcbiAgICB0aGlzLnNldEJ1dHRvbkRpc2FibGVkKGZyb20sIHRvKTtcclxuICAgIHRoaXMuc2V0U2VhcmNoTGlzdChmcm9tLCB0byk7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1vdmVUYWJsZShmcm9tOiBYVHJhbnNmZXJTb3VyY2UsIHRvOiBYVHJhbnNmZXJTb3VyY2UpIHtcclxuICAgIGxldCBjaGVja2VkSXRlbXM6IFhUcmFuc2Zlck5vZGVbXSA9IFtdO1xyXG4gICAgaWYgKHRvLmRpcmVjdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICBjaGVja2VkSXRlbXMgPSBmcm9tLmxpc3Q/LmZpbHRlcigoeCkgPT4gIXguZGlzYWJsZWQgJiYgeC5jaGVja2VkKSE7XHJcbiAgICAgIHRvLmxpc3QgPSBbXHJcbiAgICAgICAgLi4uY2hlY2tlZEl0ZW1zLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcmVzID0geyAuLi54IH07XHJcbiAgICAgICAgICB4LmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIHguY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICByZXMuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHJlcy5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIC4uLnRvLmxpc3QhXHJcbiAgICAgIF07XHJcbiAgICAgIHRoaXMudGFibGVEYXRhID0gWy4uLmZyb20ubGlzdCFdO1xyXG4gICAgICB0aGlzLnNldENoZWNrZWRDb3VudCgndGFibGUnLCBmcm9tKTtcclxuICAgICAgdGhpcy5zZXRDaGVja2VkQ291bnQoJ2xpc3QnLCB0byk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjaGVja2VkSXRlbXMgPSBYUmVtb3ZlKGZyb20ubGlzdCEsICh4KSA9PiAheC5kaXNhYmxlZCAmJiB4LmNoZWNrZWQhKTtcclxuICAgICAgY29uc3QgaWRzID0gY2hlY2tlZEl0ZW1zLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgdG8ubGlzdCEpIHtcclxuICAgICAgICBpZiAoaWRzLmluY2x1ZGVzKGl0ZW0uaWQpKSB7XHJcbiAgICAgICAgICBpdGVtLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGl0ZW0uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZnJvbS5saXN0ID0gWy4uLmZyb20ubGlzdCFdO1xyXG4gICAgICB0aGlzLnRhYmxlRGF0YSA9IFsuLi50by5saXN0IV07XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZENvdW50KCd0YWJsZScsIHRvKTtcclxuICAgICAgdGhpcy5zZXRDaGVja2VkQ291bnQoJ2xpc3QnLCBmcm9tKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdENvdW50KCd0YWJsZScsIGZyb20sIHRvKTtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZEFsbChmcm9tLCB0byk7XHJcbiAgICB0aGlzLnNldEJ1dHRvbkRpc2FibGVkKGZyb20sIHRvKTtcclxuICAgIHRoaXMuc2V0U2VhcmNoTGlzdChmcm9tLCB0byk7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBkcm9wQ2RrKGV2ZW50OiBDZGtEcmFnRHJvcDxYVHJhbnNmZXJOb2RlW10gfCB1bmRlZmluZWQsIGFueT4pIHtcclxuICAgIGNvbnN0IGV2ID0gZXZlbnQgYXMgQ2RrRHJhZ0Ryb3A8WFRyYW5zZmVyTm9kZVtdPjtcclxuICAgIGlmIChldi5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXYuY29udGFpbmVyKSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheShldi5jb250YWluZXIuZGF0YSwgZXYucHJldmlvdXNJbmRleCwgZXYuY3VycmVudEluZGV4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2LmNvbnRhaW5lci5kYXRhLCBldi5wcmV2aW91c0luZGV4LCBldi5jdXJyZW50SW5kZXgpO1xyXG4gICAgICB0aGlzLnNldENoZWNrZWRDb3VudCgnbGlzdCcsIHRoaXMubGVmdCwgdGhpcy5yaWdodCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZEFsbCh0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgICB0aGlzLnNldExpc3RDb3VudCgnbGlzdCcsIHRoaXMubGVmdCwgdGhpcy5yaWdodCk7XHJcbiAgICAgIHRoaXMuc2V0QnV0dG9uRGlzYWJsZWQodGhpcy5sZWZ0LCB0aGlzLnJpZ2h0KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2VhcmNoTGlzdCh0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZSgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlZGljYXRlKGl0ZW06IENka0RyYWc8WFRyYW5zZmVyTm9kZT4pIHtcclxuICAgIHJldHVybiAhaXRlbS5kYXRhLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeU5vZGUoX2luZGV4OiBudW1iZXIsIGl0ZW06IFhUcmFuc2Zlck5vZGUpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgc2V0TGlzdENvdW50KHR5cGU6IFhUcmFuc2ZlclR5cGUgPSAnbGlzdCcsIC4uLnNvdXJjZXM6IFhUcmFuc2ZlclNvdXJjZVtdKSB7XHJcbiAgICBpZiAoWydsaXN0JywgJ3RyZWUnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBmb3IgKGxldCBzb3VyY2Ugb2Ygc291cmNlcykge1xyXG4gICAgICAgIHNvdXJjZS5jb3VudCA9IHNvdXJjZS5saXN0Py5maWx0ZXIoKHgpID0+ICF4LmRpc2FibGVkKS5sZW5ndGg7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RhYmxlJykge1xyXG4gICAgICBmb3IgKGxldCBzb3VyY2Ugb2Ygc291cmNlcykge1xyXG4gICAgICAgIGlmIChzb3VyY2UuZGlyZWN0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgIHNvdXJjZS5jb3VudCA9IHRoaXMudGFibGVUb3RhbCAtIHRoaXMucmlnaHQubGlzdCEubGVuZ3RoIHx8IDA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNvdXJjZS5jb3VudCA9IHNvdXJjZS5saXN0Py5maWx0ZXIoKHgpID0+ICF4LmRpc2FibGVkKS5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRyZWVOb2RlQ2xpY2soX25vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgdGhpcy5zZXRDaGVja2VkQ291bnQoJ3RyZWUnLCB0aGlzLmxlZnQpO1xyXG4gICAgdGhpcy5zZXRDaGVja2VkQWxsKHRoaXMubGVmdCk7XHJcbiAgICB0aGlzLnNldEJ1dHRvbkRpc2FibGVkKHRoaXMubGVmdCk7XHJcbiAgfVxyXG5cclxuICBvblRhYmxlQ2hlY2tlZFJvdyhyb3c6IFhUcmFuc2Zlck5vZGUsIHNvdXJjZTogWFRyYW5zZmVyU291cmNlKSB7XHJcbiAgICBpZiAoIXRoaXMudGFibGVDaGVja2JveENvbHVtbikgcmV0dXJuO1xyXG4gICAgbGV0IGNoZWNrZWQgPSByb3dbdGhpcy50YWJsZUNoZWNrYm94Q29sdW1uLmlkXTtcclxuICAgIHJvdy5jaGVja2VkID0gY2hlY2tlZDtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZENvdW50KCd0YWJsZScsIHNvdXJjZSk7XHJcbiAgICB0aGlzLnNldENoZWNrZWRBbGwoc291cmNlKTtcclxuICAgIHRoaXMuc2V0QnV0dG9uRGlzYWJsZWQoc291cmNlKTtcclxuICB9XHJcblxyXG4gIG9uVGFibGVDaGVja2VkQWxsKHJvdzogWFRhYmxlSGVhZENoZWNrYm94LCBzb3VyY2U6IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgaWYgKCF0aGlzLnRhYmxlQ2hlY2tib3hDb2x1bW4pIHJldHVybjtcclxuICAgIGxldCBjaGVja2VkID0gcm93LmNoZWNrYm94W3RoaXMudGFibGVDaGVja2JveENvbHVtbi5pZF07XHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHNvdXJjZS5saXN0ISkge1xyXG4gICAgICBpZiAoIWl0ZW0uZGlzYWJsZWQpIHtcclxuICAgICAgICBpdGVtLmNoZWNrZWQgPSBjaGVja2VkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldENoZWNrZWRDb3VudCgndGFibGUnLCBzb3VyY2UpO1xyXG4gICAgdGhpcy5zZXRCdXR0b25EaXNhYmxlZChzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgb25JbnZlcnNlKHNvdXJjZTogWFRyYW5zZmVyU291cmNlKSB7XHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHNvdXJjZS5saXN0ISkge1xyXG4gICAgICBpZiAoIWl0ZW0uZGlzYWJsZWQpIHtcclxuICAgICAgICBpdGVtLmNoZWNrZWQgPSAhaXRlbS5jaGVja2VkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgdHlwZSA9IGAke3RoaXMudHlwZX1gIGFzIFhUcmFuc2ZlclR5cGU7XHJcbiAgICBpZiAodHlwZSA9PT0gJ3RyZWUnICYmIHNvdXJjZS5kaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgdHlwZSA9ICdsaXN0JztcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Q2hlY2tlZENvdW50KHR5cGUsIHNvdXJjZSk7XHJcbiAgICB0aGlzLnNldENoZWNrZWRBbGwoc291cmNlKTtcclxuICAgIHRoaXMuc2V0QnV0dG9uRGlzYWJsZWQoc291cmNlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VGFibGVDaGVja0NvbHVtbigpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgIT09ICd0YWJsZScgfHwgWElzRW1wdHkodGhpcy50YWJsZUNvbHVtbnMpKSByZXR1cm47XHJcbiAgICB0aGlzLnRhYmxlQ2hlY2tib3hDb2x1bW4gPSB0aGlzLnRhYmxlQ29sdW1ucz8uZmluZCgoeCkgPT4geC5yb3dDaGVja2VkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q2hlY2tlZEFsbCguLi5zb3VyY2VzOiBYVHJhbnNmZXJTb3VyY2VbXSkge1xyXG4gICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHtcclxuICAgICAgaWYgKChzb3VyY2UuY2hlY2tlZENvdW50IGFzIG51bWJlcikgPiAwKSB7XHJcbiAgICAgICAgaWYgKHNvdXJjZS5jaGVja2VkQ291bnQgPT09IHNvdXJjZS5saXN0Py5maWx0ZXIoKHgpID0+ICF4LmRpc2FibGVkKS5sZW5ndGgpIHtcclxuICAgICAgICAgIHNvdXJjZS5jaGVja2VkQWxsID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc291cmNlLmNoZWNrZWRBbGwgPSBmYWxzZTtcclxuICAgICAgICAgIHNvdXJjZS5pbmRldGVybWluYXRlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc291cmNlLmNoZWNrZWRBbGwgPSBmYWxzZTtcclxuICAgICAgICBzb3VyY2UuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENoZWNrZWRDb3VudCh0eXBlOiBYVHJhbnNmZXJUeXBlID0gJ2xpc3QnLCAuLi5zb3VyY2VzOiBYVHJhbnNmZXJTb3VyY2VbXSkge1xyXG4gICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHtcclxuICAgICAgaWYgKFsndGFibGUnLCAnbGlzdCddLmluY2x1ZGVzKHR5cGUpKSB7XHJcbiAgICAgICAgc291cmNlLmNoZWNrZWRDb3VudCA9IHNvdXJjZS5saXN0Py5maWx0ZXIoKHgpID0+ICF4LmRpc2FibGVkICYmIHguY2hlY2tlZCkubGVuZ3RoO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0cmVlJykge1xyXG4gICAgICAgIHNvdXJjZS5jaGVja2VkQ291bnQgPSBzb3VyY2UubGlzdD8uZmlsdGVyKFxyXG4gICAgICAgICAgKHgpID0+ICF4LmRpc2FibGVkICYmICFYSXNFbXB0eSh0aGlzLnRyZWVBY3RpdmF0ZWRJZCkgJiYgdGhpcy50cmVlQWN0aXZhdGVkSWQuaW5jbHVkZXMoeC5pZClcclxuICAgICAgICApLmxlbmd0aDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRCdXR0b25EaXNhYmxlZCguLi5zb3VyY2VzOiBYVHJhbnNmZXJTb3VyY2VbXSkge1xyXG4gICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHNvdXJjZS5kaXNhYmxlZEJ1dHRvbiA9IHNvdXJjZS5jaGVja2VkQ291bnQgPT09IDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNPYmplY3RBcnJheSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5yaWdodC5saXN0ITtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnJpZ2h0Lmxpc3Q/Lm1hcCgoeCkgPT4geC5pZCkhO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2VhcmNoTGlzdCguLi5zb3VyY2VzOiBYVHJhbnNmZXJTb3VyY2VbXSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoKSB7XHJcbiAgICAgIGZvciAobGV0IHNvdXJjZSBvZiBzb3VyY2VzKSB7XHJcbiAgICAgICAgaWYgKFhJc0VtcHR5KHNvdXJjZS5zZWFyY2hJbnB1dCkpIHtcclxuICAgICAgICAgIHNvdXJjZS5zZWFyY2hMaXN0ID0gWy4uLihzb3VyY2UubGlzdCBhcyBYVHJhbnNmZXJOb2RlW10pXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YSgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICd0YWJsZScpIHtcclxuICAgICAgdGhpcy5nZXRUYWJsZURhdGEoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgWFNldERhdGE8WFRyYW5zZmVyTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnNldExpc3QoeCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TGlzdChkYXRhOiBYVHJhbnNmZXJOb2RlW10pIHtcclxuICAgIGlmIChYSXNFbXB0eShkYXRhKSkgcmV0dXJuO1xyXG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcclxuICAgICAgY2FzZSAnbGlzdCc6XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IGRhdGE7XHJcbiAgICAgICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlcykpIHtcclxuICAgICAgICAgIHRoaXMubGVmdC5saXN0ID0gdGhpcy5ub2Rlcy5maWx0ZXIoKHgpID0+IHRoaXMudmFsdWVzLmluZGV4T2YoeC5pZCkgPCAwKTtcclxuICAgICAgICAgIHRoaXMucmlnaHQubGlzdCA9IHRoaXMubm9kZXMuZmlsdGVyKCh4KSA9PiB0aGlzLnZhbHVlcy5pbmRleE9mKHguaWQpID49IDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxlZnQubGlzdCA9IFsuLi50aGlzLm5vZGVzXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRTZWFyY2hMaXN0KHRoaXMubGVmdCwgdGhpcy5yaWdodCk7XHJcbiAgICAgICAgdGhpcy5zZXRMaXN0Q291bnQodGhpcy50eXBlLCB0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0cmVlJzpcclxuICAgICAgICB0aGlzLm5vZGVzID0gZGF0YTtcclxuICAgICAgICB0aGlzLnNldFRyZWVOb2RlRGlzYWJsZWQoKTtcclxuICAgICAgICB0aGlzLmxlZnQubGlzdCA9IFsuLi50aGlzLm5vZGVzXTtcclxuICAgICAgICBpZiAoIVhJc0VtcHR5KHRoaXMudmFsdWVzKSkge1xyXG4gICAgICAgICAgdGhpcy5yaWdodC5saXN0ID0gdGhpcy5ub2Rlc1xyXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLnZhbHVlcy5pbmRleE9mKHguaWQpID49IDApXHJcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgcmVzID0geyAuLi54IH07XHJcbiAgICAgICAgICAgICAgcmVzLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICByZXMuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRTZWFyY2hMaXN0KHRoaXMubGVmdCwgdGhpcy5yaWdodCk7XHJcbiAgICAgICAgdGhpcy5zZXRMaXN0Q291bnQodGhpcy50eXBlLCB0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0YWJsZSc6XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZXRUYWJsZURhdGFEaXNhYmxlZCgpO1xyXG4gICAgICAgIHRoaXMubGVmdC5saXN0ID0gWy4uLnRoaXMubm9kZXNdO1xyXG4gICAgICAgIGlmICghWElzRW1wdHkodGhpcy52YWx1ZXMpKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc09iamVjdEFycmF5KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmlnaHQubGlzdCA9IFtcclxuICAgICAgICAgICAgICAuLi50aGlzLnZhbHVlLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHJlcyA9IHsgLi4ueCB9O1xyXG4gICAgICAgICAgICAgICAgcmVzLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICByZXMuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yaWdodC5saXN0ID0gWy4uLnRoaXMudmFsdWVdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFNlYXJjaExpc3QodGhpcy5sZWZ0LCB0aGlzLnJpZ2h0KTtcclxuICAgICAgICB0aGlzLnNldExpc3RDb3VudCh0aGlzLnR5cGUsIHRoaXMubGVmdCwgdGhpcy5yaWdodCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRUYWJsZURhdGEoKSB7XHJcbiAgICBpZiAoWElzRnVuY3Rpb24odGhpcy5kYXRhKSkge1xyXG4gICAgICAodGhpcy5kYXRhIGFzIEZ1bmN0aW9uKSh0aGlzLnRhYmxlSW5kZXgsIHRoaXMudGFibGVTaXplLCB0aGlzLnRhYmxlUXVlcnkpLnN1YnNjcmliZSgoeDogWFJlc3VsdExpc3Q8WFRyYW5zZmVyTm9kZT4pID0+IHtcclxuICAgICAgICB0aGlzLnRhYmxlVG90YWwgPSB4LnRvdGFsITtcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHgubGlzdCE7XHJcbiAgICAgICAgdGhpcy5zZXRMaXN0KHgubGlzdCEpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VGl0bGVzKCkge1xyXG4gICAgbGV0IHRpdGxlczogc3RyaW5nW10gPSBbXTtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnRpdGxlcykpIHtcclxuICAgICAgdGl0bGVzID0gW3RoaXMubG9jYWxUaXRsZSEsIHRoaXMubG9jYWxlLnNlbGVjdGVkVGl0bGUhXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRpdGxlcyA9IHRoaXMudGl0bGVzO1xyXG4gICAgfVxyXG4gICAgaWYgKHRpdGxlcy5sZW5ndGggPiAwKSB0aGlzLmxlZnQudGl0bGUgPSB0aXRsZXNbMF07XHJcbiAgICBpZiAodGl0bGVzLmxlbmd0aCA+IDEpIHRoaXMucmlnaHQudGl0bGUgPSB0aXRsZXNbMV07XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldExpc3RTdHlsZSgpIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLmxpc3RTdHlsZSkpIHJldHVybjtcclxuICAgIGxldCBzdHlsZXM6IG9iamVjdFtdID0gW107XHJcbiAgICBpZiAoWElzT2JqZWN0KHRoaXMubGlzdFN0eWxlKSkge1xyXG4gICAgICBzdHlsZXMgPSBbdGhpcy5saXN0U3R5bGUsIHRoaXMubGlzdFN0eWxlXTtcclxuICAgIH0gZWxzZSBpZiAoWElzT2JqZWN0QXJyYXkodGhpcy5saXN0U3R5bGUpKSB7XHJcbiAgICAgIHN0eWxlcyA9IHRoaXMubGlzdFN0eWxlIGFzIG9iamVjdFtdO1xyXG4gICAgfVxyXG4gICAgaWYgKHN0eWxlcy5sZW5ndGggPiAwKSB0aGlzLmxlZnQubGlzdFN0eWxlID0gc3R5bGVzWzBdO1xyXG4gICAgaWYgKHN0eWxlcy5sZW5ndGggPiAxKSB0aGlzLnJpZ2h0Lmxpc3RTdHlsZSA9IHN0eWxlc1sxXTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VHJlZU5vZGVEaXNhYmxlZCgpIHtcclxuICAgIGlmICghWElzRW1wdHkodGhpcy52YWx1ZXMpICYmIHRoaXMubm9kZXMpIHtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLm5vZGVzKSB7XHJcbiAgICAgICAgbGV0IGhhc0luID0gdGhpcy52YWx1ZXMuaW5kZXhPZihpdGVtLmlkKSA+PSAwO1xyXG4gICAgICAgIGl0ZW0uZGlzYWJsZWQgPSBoYXNJbjtcclxuICAgICAgICBpdGVtLmNoZWNrZWQgPSBoYXNJbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRUYWJsZURhdGFEaXNhYmxlZCgpIHtcclxuICAgIGlmICghWElzRW1wdHkodGhpcy52YWx1ZXMpICYmIHRoaXMubm9kZXMpIHtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLm5vZGVzKSB7XHJcbiAgICAgICAgbGV0IGhhc0luID0gdGhpcy52YWx1ZXMuaW5kZXhPZihpdGVtLmlkKSA+PSAwO1xyXG4gICAgICAgIGl0ZW0uZGlzYWJsZWQgPSBoYXNJbjtcclxuICAgICAgICBpdGVtLmNoZWNrZWQgPSBoYXNJbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRIaWRkZW5DaGVja0FsbCgpIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLmhpZGRlbkNoZWNrQWxsKSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuaGlkZGVuQ2hlY2tBbGwhLmxlbmd0aCA+IDAgJiYgWElzQm9vbGVhbih0aGlzLmhpZGRlbkNoZWNrQWxsIVswXSkpIHRoaXMubGVmdC5oaWRkZW5DaGVja0FsbCA9IHRoaXMuaGlkZGVuQ2hlY2tBbGwhWzBdO1xyXG4gICAgaWYgKHRoaXMuaGlkZGVuQ2hlY2tBbGwhLmxlbmd0aCA+IDEgJiYgWElzQm9vbGVhbih0aGlzLmhpZGRlbkNoZWNrQWxsIVsxXSkpIHRoaXMucmlnaHQuaGlkZGVuQ2hlY2tBbGwgPSB0aGlzLmhpZGRlbkNoZWNrQWxsIVsxXTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Rm9vdGVyVHBsKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmZvb3RlclRwbCkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLmZvb3RlclRwbCEubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmxlZnQuZm9vdGVyVHBsID0gdGhpcy5mb290ZXJUcGwhWzBdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZm9vdGVyVHBsIS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHRoaXMucmlnaHQuZm9vdGVyVHBsID0gdGhpcy5mb290ZXJUcGwhWzFdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRUYWJsZUhlYWRTZWFyY2hUcGwoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMudGFibGVIZWFkU2VhcmNoVHBsKSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudGFibGVIZWFkU2VhcmNoVHBsIS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubGVmdC50YWJsZUhlYWRTZWFyY2hUcGwgPSB0aGlzLnRhYmxlSGVhZFNlYXJjaFRwbCFbMF07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50YWJsZUhlYWRTZWFyY2hUcGwhLmxlbmd0aCA+IDEpIHtcclxuICAgICAgdGhpcy5yaWdodC50YWJsZUhlYWRTZWFyY2hUcGwgPSB0aGlzLnRhYmxlSGVhZFNlYXJjaFRwbCFbMV07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3RyYW5zZmVyIGNsYXNzPVwieC10cmFuc2ZlclwiIGNka0Ryb3BMaXN0R3JvdXAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIj5cclxuICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci1ib3hcIiBbY2xhc3MueC10cmFuc2Zlci1oYXMtZm9vdGVyXT1cImxlZnQuZm9vdGVyVHBsXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic291cmNlVGl0bGVUcGw7IGNvbnRleHQ6IHsgc291cmNlOiBsZWZ0IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgW25nU3R5bGVdPVwibGVmdC5saXN0U3R5bGUhXCIgY2xhc3M9XCJ4LXRyYW5zZmVyLWxpc3RcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiPlxyXG4gICAgICAgIDx1bFxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidsaXN0J1wiXHJcbiAgICAgICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wQ2RrKCRldmVudClcIlxyXG4gICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJsZWZ0Lmxpc3RcIlxyXG4gICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWcgJiYgdHlwZSA9PT0gJ2xpc3QnXCJcclxuICAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cInByZWRpY2F0ZVwiXHJcbiAgICAgICAgICBjbGFzcz1cIngtdHJhbnNmZXItZHJvcGxpc3RcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxsaSBjbGFzcz1cIngtdHJhbnNmZXItaXRlbVwiICpuZ0Zvcj1cImxldCBub2RlIG9mIGxlZnQubGlzdDsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIiBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJub2RlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3VyY2VOb2RlVHBsOyBjb250ZXh0OiB7IG5vZGU6IG5vZGUsIHNvdXJjZTogbGVmdCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgICAgPHgtdHJlZVxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid0cmVlJ1wiXHJcbiAgICAgICAgICBbZGF0YV09XCJsZWZ0Lmxpc3QhXCJcclxuICAgICAgICAgIG11bHRpcGxlXHJcbiAgICAgICAgICBhbGxvd01hbnlBY3RpdmF0ZWRcclxuICAgICAgICAgIFsoYWN0aXZhdGVkSWQpXT1cInRyZWVBY3RpdmF0ZWRJZFwiXHJcbiAgICAgICAgICAobm9kZUNsaWNrKT1cIm9uVHJlZU5vZGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgIFtsYWJlbFRwbF09XCJ0cmVlTGFiZWxUcGxcIlxyXG4gICAgICAgID48L3gtdHJlZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RyZWVMYWJlbFRwbCBsZXQtbm9kZT1cIiRub2RlXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIngtdHJhbnNmZXItdHJlZS1sYWJlbFwiIHgta2V5d29yZCBbdGV4dF09XCJsZWZ0LnNlYXJjaElucHV0IVwiPnt7IG5vZGUubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8eC10YWJsZVxyXG4gICAgICAgICAgI2xlZnRUYWJsZUNvbVxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid0YWJsZSdcIlxyXG4gICAgICAgICAgW2RhdGFdPVwidGFibGVEYXRhXCJcclxuICAgICAgICAgIFtjb2x1bW5zXT1cInRhYmxlQ29sdW1ucyFcIlxyXG4gICAgICAgICAgWyhzaXplKV09XCJ0YWJsZVNpemVcIlxyXG4gICAgICAgICAgWyhpbmRleCldPVwidGFibGVJbmRleFwiXHJcbiAgICAgICAgICAoaW5kZXhDaGFuZ2UpPVwiZ2V0VGFibGVEYXRhKClcIlxyXG4gICAgICAgICAgW3F1ZXJ5XT1cInRhYmxlUXVlcnlcIlxyXG4gICAgICAgICAgW3RvdGFsXT1cInRhYmxlVG90YWxcIlxyXG4gICAgICAgICAgKGFjdGl2YXRlZFJvd0NoYW5nZSk9XCJvblRhYmxlQ2hlY2tlZFJvdygkZXZlbnQsIGxlZnQpXCJcclxuICAgICAgICAgIChoZWFkQ2hlY2tib3hDaGFuZ2UpPVwib25UYWJsZUNoZWNrZWRBbGwoJGV2ZW50LCBsZWZ0KVwiXHJcbiAgICAgICAgICBoaWRkZW5XcmFwQm9yZGVyXHJcbiAgICAgICAgICBoaWRkZW5QYWdpbmF0aW9uQm9yZGVyXHJcbiAgICAgICAgICBzaG93RWxsaXBzaXM9XCJmYWxzZVwiXHJcbiAgICAgICAgICBzaG93VG90YWw9XCJmYWxzZVwiXHJcbiAgICAgICAgICBwYWdpbmF0aW9uUG9zaXRpb249XCJib3R0b20tY2VudGVyXCJcclxuICAgICAgICAgIGFsbG93U2VsZWN0Um93PVwiZmFsc2VcIlxyXG4gICAgICAgICAgW2hlYWRTZWFyY2hUcGxdPVwibGVmdC50YWJsZUhlYWRTZWFyY2hUcGxcIlxyXG4gICAgICAgID48L3gtdGFibGU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci1mb290ZXJcIiAqbmdJZj1cImxlZnQuZm9vdGVyVHBsXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsZWZ0LmZvb3RlclRwbDsgY29udGV4dDogeyAkc291cmNlOiBsZWZ0IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXRyYW5zZmVyLWJ1dHRvbnNcIj5cclxuICAgIDx4LWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiIFtkaXNhYmxlZF09XCJsZWZ0LmRpc2FibGVkQnV0dG9uXCIgKGNsaWNrKT1cIm1vdmUobGVmdCwgcmlnaHQpXCI+PC94LWJ1dHRvbj5cclxuICAgIDx4LWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCIgW2Rpc2FibGVkXT1cInJpZ2h0LmRpc2FibGVkQnV0dG9uXCIgKGNsaWNrKT1cIm1vdmUocmlnaHQsIGxlZnQpXCI+PC94LWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci1ib3hcIiBbY2xhc3MueC10cmFuc2Zlci1oYXMtZm9vdGVyXT1cInJpZ2h0LmZvb3RlclRwbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvdXJjZVRpdGxlVHBsOyBjb250ZXh0OiB7IHNvdXJjZTogcmlnaHQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBbbmdTd2l0Y2hdPVwidHlwZVwiIFtuZ1N0eWxlXT1cInJpZ2h0Lmxpc3RTdHlsZSFcIiBjbGFzcz1cIngtdHJhbnNmZXItbGlzdFwiPlxyXG4gICAgICA8eC10YWJsZVxyXG4gICAgICAgICNyaWdodFRhYmxlQ29tXHJcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid0YWJsZSdcIlxyXG4gICAgICAgIFtkYXRhXT1cInJpZ2h0Lmxpc3QhXCJcclxuICAgICAgICBbY29sdW1uc109XCJ0YWJsZUNvbHVtbnMhXCJcclxuICAgICAgICAoYWN0aXZhdGVkUm93Q2hhbmdlKT1cIm9uVGFibGVDaGVja2VkUm93KCRldmVudCwgcmlnaHQpXCJcclxuICAgICAgICAoaGVhZENoZWNrYm94Q2hhbmdlKT1cIm9uVGFibGVDaGVja2VkQWxsKCRldmVudCwgcmlnaHQpXCJcclxuICAgICAgICBoaWRkZW5XcmFwQm9yZGVyXHJcbiAgICAgICAgaGlkZGVuUGFnaW5hdGlvbkJvcmRlclxyXG4gICAgICAgIHNob3dQYWdpbmF0aW9uPVwiZmFsc2VcIlxyXG4gICAgICAgIHNob3dFbGxpcHNpcz1cImZhbHNlXCJcclxuICAgICAgICBzaG93VG90YWw9XCJmYWxzZVwiXHJcbiAgICAgICAgcGFnaW5hdGlvblBvc2l0aW9uPVwiYm90dG9tLWNlbnRlclwiXHJcbiAgICAgICAgYWxsb3dTZWxlY3RSb3c9XCJmYWxzZVwiXHJcbiAgICAgICAgW2hlYWRTZWFyY2hUcGxdPVwicmlnaHQudGFibGVIZWFkU2VhcmNoVHBsXCJcclxuICAgICAgPjwveC10YWJsZT5cclxuICAgICAgPHVsXHJcbiAgICAgICAgKm5nU3dpdGNoRGVmYXVsdFxyXG4gICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wQ2RrKCRldmVudClcIlxyXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwicmlnaHQubGlzdFwiXHJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWcgfHwgKGRyYWcgJiYgdHlwZSAhPT0gJ2xpc3QnKVwiXHJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwicHJlZGljYXRlXCJcclxuICAgICAgICBjbGFzcz1cIngtdHJhbnNmZXItZHJvcGxpc3RcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwieC10cmFuc2Zlci1pdGVtXCIgKm5nRm9yPVwibGV0IG5vZGUgb2YgcmlnaHQubGlzdDsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIiBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJub2RlXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic291cmNlTm9kZVRwbDsgY29udGV4dDogeyBub2RlOiBub2RlLCBzb3VyY2U6IHJpZ2h0IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci1mb290ZXJcIiAqbmdJZj1cInJpZ2h0LmZvb3RlclRwbFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmlnaHQuZm9vdGVyVHBsOyBjb250ZXh0OiB7ICRzb3VyY2U6IHJpZ2h0IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc291cmNlVGl0bGVUcGwgbGV0LXNvdXJjZT1cInNvdXJjZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXRyYW5zZmVyLXRpdGxlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci10aXRsZS1sZWZ0XCI+XHJcbiAgICAgIDx4LWNoZWNrYm94XHJcbiAgICAgICAgKm5nSWY9XCJzb3VyY2UudGl0bGUgJiYgIXNvdXJjZS5oaWRkZW5DaGVja0FsbFwiXHJcbiAgICAgICAgW2RhdGFdPVwiW3RpdGxlVHBsID8gJycgOiBzb3VyY2UudGl0bGVdXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInNvdXJjZS5jaGVja2VkQWxsXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja2VkQWxsQ2hhbmdlKCRldmVudCwgc291cmNlKVwiXHJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic291cmNlLmluZGV0ZXJtaW5hdGVcIlxyXG4gICAgICA+PC94LWNoZWNrYm94PlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInNvdXJjZS50aXRsZSAmJiBzb3VyY2UuaGlkZGVuQ2hlY2tBbGxcIj57eyBzb3VyY2UudGl0bGUgfX08L3NwYW4+XHJcbiAgICAgIDx4LWxpbmsgKm5nSWY9XCJpbnZlcnNlICYmIHR5cGUgPT09ICdsaXN0J1wiIGNsYXNzPVwieC10cmFuc2Zlci1pbnZlcnNlXCIgdHlwZT1cInByaW1hcnlcIiAoY2xpY2spPVwib25JbnZlcnNlKHNvdXJjZSlcIj57e1xyXG4gICAgICAgICd0cmFuc2Zlci5pbnZlcnNlJyB8IHhJMThuXHJcbiAgICAgIH19PC94LWxpbms+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJ0aXRsZVRwbDsgY29udGV4dDogeyAkdGl0bGU6IHNvdXJjZS50aXRsZSwgJGNoZWNrZWRDb3VudDogc291cmNlLmNoZWNrZWRDb3VudCwgJGNvdW50OiBzb3VyY2UuY291bnQgfVwiXHJcbiAgICAgID48c3BhbiBjbGFzcz1cIngtdHJhbnNmZXItdG90YWxcIj57eyBzb3VyY2UuY2hlY2tlZENvdW50IH19IC8ge3sgc291cmNlLmNvdW50IH19PC9zcGFuPjwvbmctY29udGFpbmVyXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdHJhbnNmZXItc2VhcmNoXCIgKm5nSWY9XCJzZWFyY2ggJiYgdHlwZSAhPT0gJ3RhYmxlJ1wiPlxyXG4gICAgPHgtaW5wdXQgaWNvbj1cImZ0by1zZWFyY2hcIiBbKG5nTW9kZWwpXT1cInNvdXJjZS5zZWFyY2hJbnB1dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VhcmNoSW5wdXRDaGFuZ2Uoc291cmNlKVwiIGNsZWFyYWJsZT48L3gtaW5wdXQ+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NvdXJjZU5vZGVUcGwgbGV0LW5vZGU9XCJub2RlXCIgbGV0LXNvdXJjZT1cInNvdXJjZVwiPlxyXG4gIDx4LWNoZWNrYm94XHJcbiAgICBbZGF0YV09XCJbeyBpZDogbm9kZS5pZCwgbGFiZWw6IG5vZGVUcGwgPyBub2RlVHBsIDogbGFiZWxUcGwsIG5vZGU6IG5vZGUgfV1cIlxyXG4gICAgW2Rpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJub2RlLmNoZWNrZWRcIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tlZENoYW5nZSgkZXZlbnQsIHNvdXJjZSlcIlxyXG4gID48L3gtY2hlY2tib3g+XHJcbiAgPG5nLXRlbXBsYXRlICNsYWJlbFRwbD5cclxuICAgIDxzcGFuIHgta2V5d29yZCBbdGV4dF09XCJzb3VyY2Uuc2VhcmNoSW5wdXQhXCI+e3sgbm9kZS5sYWJlbCB9fTwvc3Bhbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=