@ng-nest/ui 13.1.9 → 14.0.2

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 (995) hide show
  1. package/README.md +1 -1
  2. package/affix/affix.component.d.ts +1 -1
  3. package/affix/affix.property.d.ts +1 -1
  4. package/affix/{ng-nest-ui-affix.d.ts → index.d.ts} +0 -0
  5. package/alert/alert.component.d.ts +1 -1
  6. package/alert/alert.property.d.ts +1 -1
  7. package/alert/{ng-nest-ui-alert.d.ts → index.d.ts} +0 -0
  8. package/anchor/anchor.component.d.ts +1 -1
  9. package/anchor/anchor.property.d.ts +1 -1
  10. package/anchor/{ng-nest-ui-anchor.d.ts → index.d.ts} +0 -0
  11. package/api/api.component.d.ts +1 -1
  12. package/api/{ng-nest-ui-api.d.ts → index.d.ts} +0 -0
  13. package/auto-complete/auto-complete-portal.component.d.ts +1 -1
  14. package/auto-complete/auto-complete.component.d.ts +2 -2
  15. package/auto-complete/auto-complete.property.d.ts +1 -1
  16. package/auto-complete/{ng-nest-ui-auto-complete.d.ts → index.d.ts} +0 -0
  17. package/avatar/avatar.component.d.ts +1 -1
  18. package/avatar/avatar.property.d.ts +1 -1
  19. package/avatar/{ng-nest-ui-avatar.d.ts → index.d.ts} +0 -0
  20. package/back-top/back-top.component.d.ts +1 -1
  21. package/back-top/back-top.property.d.ts +1 -1
  22. package/back-top/{ng-nest-ui-back-top.d.ts → index.d.ts} +0 -0
  23. package/badge/badge.component.d.ts +1 -1
  24. package/badge/badge.property.d.ts +1 -1
  25. package/badge/{ng-nest-ui-badge.d.ts → index.d.ts} +0 -0
  26. package/base-form/base-form.component.d.ts +1 -1
  27. package/base-form/base-form.property.d.ts +1 -1
  28. package/base-form/{ng-nest-ui-base-form.d.ts → index.d.ts} +0 -0
  29. package/border/border.component.d.ts +1 -1
  30. package/border/{ng-nest-ui-border.d.ts → index.d.ts} +0 -0
  31. package/button/button.component.d.ts +1 -1
  32. package/button/button.property.d.ts +2 -2
  33. package/button/buttons.component.d.ts +1 -1
  34. package/button/{ng-nest-ui-button.d.ts → index.d.ts} +0 -0
  35. package/calendar/calendar.component.d.ts +1 -1
  36. package/calendar/calendar.property.d.ts +1 -1
  37. package/calendar/{ng-nest-ui-calendar.d.ts → index.d.ts} +0 -0
  38. package/card/card.component.d.ts +1 -1
  39. package/card/card.property.d.ts +1 -1
  40. package/card/{ng-nest-ui-card.d.ts → index.d.ts} +0 -0
  41. package/carousel/carousel-panel.component.d.ts +1 -1
  42. package/carousel/carousel.component.d.ts +1 -1
  43. package/carousel/carousel.property.d.ts +2 -2
  44. package/carousel/{ng-nest-ui-carousel.d.ts → index.d.ts} +0 -0
  45. package/cascade/cascade-portal.component.d.ts +1 -1
  46. package/cascade/cascade.component.d.ts +2 -3
  47. package/cascade/cascade.property.d.ts +1 -1
  48. package/cascade/{ng-nest-ui-cascade.d.ts → index.d.ts} +0 -0
  49. package/checkbox/checkbox.component.d.ts +1 -1
  50. package/checkbox/checkbox.property.d.ts +1 -1
  51. package/checkbox/{ng-nest-ui-checkbox.d.ts → index.d.ts} +0 -0
  52. package/collapse/collapse-panel.component.d.ts +1 -1
  53. package/collapse/collapse.component.d.ts +1 -1
  54. package/collapse/collapse.property.d.ts +2 -2
  55. package/collapse/{ng-nest-ui-collapse.d.ts → index.d.ts} +0 -0
  56. package/color/color.component.d.ts +1 -1
  57. package/color/color.property.d.ts +1 -1
  58. package/color/{ng-nest-ui-color.d.ts → index.d.ts} +0 -0
  59. package/color-picker/color-picker-portal.component.d.ts +1 -1
  60. package/color-picker/color-picker.component.d.ts +1 -1
  61. package/color-picker/color-picker.property.d.ts +1 -1
  62. package/color-picker/{ng-nest-ui-color-picker.d.ts → index.d.ts} +0 -0
  63. package/comment/comment-reply.component.d.ts +1 -1
  64. package/comment/comment.component.d.ts +1 -1
  65. package/comment/comment.property.d.ts +2 -2
  66. package/comment/{ng-nest-ui-comment.d.ts → index.d.ts} +0 -0
  67. package/container/aside.component.d.ts +1 -1
  68. package/container/container.component.d.ts +1 -1
  69. package/container/container.property.d.ts +4 -4
  70. package/container/footer.component.d.ts +1 -1
  71. package/container/header.component.d.ts +1 -1
  72. package/container/{ng-nest-ui-container.d.ts → index.d.ts} +0 -0
  73. package/container/main.component.d.ts +1 -1
  74. package/core/config/config.d.ts +3 -0
  75. package/core/config/config.service.d.ts +1 -1
  76. package/core/{ng-nest-ui-core.d.ts → index.d.ts} +0 -0
  77. package/crumb/crumb.component.d.ts +1 -1
  78. package/crumb/crumb.property.d.ts +1 -1
  79. package/crumb/{ng-nest-ui-crumb.d.ts → index.d.ts} +0 -0
  80. package/date-picker/date-picker-portal.component.d.ts +1 -1
  81. package/date-picker/date-picker.component.d.ts +1 -1
  82. package/date-picker/date-picker.property.d.ts +5 -5
  83. package/date-picker/date-range-portal.component.d.ts +1 -1
  84. package/date-picker/date-range.component.d.ts +1 -1
  85. package/date-picker/{ng-nest-ui-date-picker.d.ts → index.d.ts} +0 -0
  86. package/date-picker/picker-date.component.d.ts +1 -1
  87. package/date-picker/picker-month.component.d.ts +1 -1
  88. package/date-picker/picker-year.component.d.ts +1 -1
  89. package/description/description-item.component.d.ts +1 -1
  90. package/description/description.component.d.ts +1 -1
  91. package/description/description.property.d.ts +2 -2
  92. package/description/{ng-nest-ui-description.d.ts → index.d.ts} +0 -0
  93. package/dialog/dialog-container.component.d.ts +1 -1
  94. package/dialog/dialog-portal.component.d.ts +1 -1
  95. package/dialog/dialog-portal.directives.d.ts +6 -6
  96. package/dialog/dialog.component.d.ts +1 -1
  97. package/dialog/dialog.property.d.ts +2 -2
  98. package/dialog/{ng-nest-ui-dialog.d.ts → index.d.ts} +0 -0
  99. package/doc/doc.component.d.ts +1 -1
  100. package/doc/{ng-nest-ui-doc.d.ts → index.d.ts} +0 -0
  101. package/drawer/drawer-container.component.d.ts +1 -1
  102. package/drawer/drawer-portal.component.d.ts +1 -1
  103. package/drawer/drawer-portal.directives.d.ts +3 -3
  104. package/drawer/drawer.component.d.ts +1 -1
  105. package/drawer/drawer.property.d.ts +2 -2
  106. package/drawer/{ng-nest-ui-drawer.d.ts → index.d.ts} +0 -0
  107. package/dropdown/dropdown-portal.component.d.ts +1 -1
  108. package/dropdown/dropdown.component.d.ts +1 -1
  109. package/dropdown/dropdown.property.d.ts +1 -1
  110. package/dropdown/{ng-nest-ui-dropdown.d.ts → index.d.ts} +0 -0
  111. package/empty/empty.component.d.ts +1 -1
  112. package/empty/empty.property.d.ts +1 -1
  113. package/empty/{ng-nest-ui-empty.d.ts → index.d.ts} +0 -0
  114. package/esm2020/affix/affix.component.mjs +4 -4
  115. package/esm2020/affix/affix.module.mjs +5 -5
  116. package/esm2020/affix/affix.property.mjs +4 -4
  117. package/esm2020/alert/alert.component.mjs +10 -10
  118. package/esm2020/alert/alert.module.mjs +5 -5
  119. package/esm2020/alert/alert.property.mjs +4 -4
  120. package/esm2020/anchor/anchor.component.mjs +7 -7
  121. package/esm2020/anchor/anchor.module.mjs +5 -5
  122. package/esm2020/anchor/anchor.property.mjs +4 -4
  123. package/esm2020/api/api.component.mjs +4 -4
  124. package/esm2020/api/api.module.mjs +5 -5
  125. package/esm2020/auto-complete/auto-complete-portal.component.mjs +4 -4
  126. package/esm2020/auto-complete/auto-complete.component.mjs +11 -9
  127. package/esm2020/auto-complete/auto-complete.module.mjs +5 -5
  128. package/esm2020/auto-complete/auto-complete.property.mjs +4 -4
  129. package/esm2020/avatar/avatar.component.mjs +7 -7
  130. package/esm2020/avatar/avatar.module.mjs +5 -5
  131. package/esm2020/avatar/avatar.property.mjs +4 -4
  132. package/esm2020/back-top/back-top.component.mjs +6 -6
  133. package/esm2020/back-top/back-top.module.mjs +5 -5
  134. package/esm2020/back-top/back-top.property.mjs +4 -4
  135. package/esm2020/badge/badge.component.mjs +4 -4
  136. package/esm2020/badge/badge.module.mjs +5 -5
  137. package/esm2020/badge/badge.property.mjs +4 -4
  138. package/esm2020/base-form/base-form.component.mjs +4 -4
  139. package/esm2020/base-form/base-form.module.mjs +5 -5
  140. package/esm2020/base-form/base-form.property.mjs +4 -4
  141. package/esm2020/border/border.component.mjs +4 -4
  142. package/esm2020/border/border.module.mjs +5 -5
  143. package/esm2020/button/button.component.mjs +7 -7
  144. package/esm2020/button/button.module.mjs +5 -5
  145. package/esm2020/button/button.property.mjs +7 -7
  146. package/esm2020/button/buttons.component.mjs +4 -4
  147. package/esm2020/calendar/calendar.component.mjs +10 -10
  148. package/esm2020/calendar/calendar.module.mjs +5 -5
  149. package/esm2020/calendar/calendar.property.mjs +4 -4
  150. package/esm2020/card/card.component.mjs +4 -4
  151. package/esm2020/card/card.module.mjs +5 -5
  152. package/esm2020/card/card.property.mjs +4 -4
  153. package/esm2020/carousel/carousel-panel.component.mjs +4 -4
  154. package/esm2020/carousel/carousel.component.mjs +7 -7
  155. package/esm2020/carousel/carousel.module.mjs +5 -5
  156. package/esm2020/carousel/carousel.property.mjs +7 -7
  157. package/esm2020/cascade/cascade-portal.component.mjs +7 -7
  158. package/esm2020/cascade/cascade.component.mjs +10 -12
  159. package/esm2020/cascade/cascade.module.mjs +5 -5
  160. package/esm2020/cascade/cascade.property.mjs +4 -4
  161. package/esm2020/checkbox/checkbox.component.mjs +6 -6
  162. package/esm2020/checkbox/checkbox.module.mjs +5 -5
  163. package/esm2020/checkbox/checkbox.property.mjs +4 -4
  164. package/esm2020/collapse/collapse-panel.component.mjs +7 -7
  165. package/esm2020/collapse/collapse.component.mjs +4 -4
  166. package/esm2020/collapse/collapse.module.mjs +5 -5
  167. package/esm2020/collapse/collapse.property.mjs +7 -7
  168. package/esm2020/color/color.component.mjs +4 -4
  169. package/esm2020/color/color.module.mjs +5 -5
  170. package/esm2020/color/color.property.mjs +4 -4
  171. package/esm2020/color-picker/color-picker-portal.component.mjs +9 -9
  172. package/esm2020/color-picker/color-picker.component.mjs +7 -7
  173. package/esm2020/color-picker/color-picker.module.mjs +13 -15
  174. package/esm2020/color-picker/color-picker.property.mjs +4 -4
  175. package/esm2020/comment/comment-reply.component.mjs +7 -7
  176. package/esm2020/comment/comment.component.mjs +8 -8
  177. package/esm2020/comment/comment.module.mjs +13 -15
  178. package/esm2020/comment/comment.property.mjs +7 -7
  179. package/esm2020/container/aside.component.mjs +4 -4
  180. package/esm2020/container/container.component.mjs +4 -4
  181. package/esm2020/container/container.module.mjs +5 -5
  182. package/esm2020/container/container.property.mjs +13 -13
  183. package/esm2020/container/footer.component.mjs +4 -4
  184. package/esm2020/container/header.component.mjs +4 -4
  185. package/esm2020/container/main.component.mjs +4 -4
  186. package/esm2020/core/config/config.mjs +1 -1
  187. package/esm2020/core/config/config.service.mjs +4 -4
  188. package/esm2020/core/services/http.service.mjs +4 -4
  189. package/esm2020/core/services/preloading-strategy.service.mjs +4 -4
  190. package/esm2020/core/services/storage.service.mjs +4 -4
  191. package/esm2020/core/theme/theme.service.mjs +4 -4
  192. package/esm2020/crumb/crumb.component.mjs +6 -6
  193. package/esm2020/crumb/crumb.module.mjs +5 -5
  194. package/esm2020/crumb/crumb.property.mjs +4 -4
  195. package/esm2020/date-picker/date-picker-portal.component.mjs +8 -8
  196. package/esm2020/date-picker/date-picker.component.mjs +7 -7
  197. package/esm2020/date-picker/date-picker.module.mjs +14 -16
  198. package/esm2020/date-picker/date-picker.property.mjs +16 -16
  199. package/esm2020/date-picker/date-range-portal.component.mjs +6 -6
  200. package/esm2020/date-picker/date-range.component.mjs +7 -7
  201. package/esm2020/date-picker/picker-date.component.mjs +4 -4
  202. package/esm2020/date-picker/picker-month.component.mjs +4 -4
  203. package/esm2020/date-picker/picker-year.component.mjs +4 -4
  204. package/esm2020/description/description-item.component.mjs +4 -4
  205. package/esm2020/description/description.component.mjs +4 -4
  206. package/esm2020/description/description.module.mjs +5 -5
  207. package/esm2020/description/description.property.mjs +7 -7
  208. package/esm2020/dialog/dialog-container.component.mjs +4 -4
  209. package/esm2020/dialog/dialog-portal.component.mjs +6 -6
  210. package/esm2020/dialog/dialog-portal.directives.mjs +19 -19
  211. package/esm2020/dialog/dialog.component.mjs +6 -6
  212. package/esm2020/dialog/dialog.module.mjs +15 -17
  213. package/esm2020/dialog/dialog.property.mjs +7 -7
  214. package/esm2020/dialog/dialog.service.mjs +4 -4
  215. package/esm2020/doc/doc.component.mjs +4 -4
  216. package/esm2020/doc/doc.module.mjs +5 -5
  217. package/esm2020/drawer/drawer-container.component.mjs +6 -6
  218. package/esm2020/drawer/drawer-portal.component.mjs +4 -4
  219. package/esm2020/drawer/drawer-portal.directives.mjs +10 -10
  220. package/esm2020/drawer/drawer.component.mjs +7 -7
  221. package/esm2020/drawer/drawer.module.mjs +5 -5
  222. package/esm2020/drawer/drawer.property.mjs +7 -7
  223. package/esm2020/drawer/drawer.service.mjs +4 -4
  224. package/esm2020/dropdown/dropdown-portal.component.mjs +4 -4
  225. package/esm2020/dropdown/dropdown.component.mjs +4 -4
  226. package/esm2020/dropdown/dropdown.module.mjs +5 -5
  227. package/esm2020/dropdown/dropdown.property.mjs +4 -4
  228. package/esm2020/empty/empty.component.mjs +7 -7
  229. package/esm2020/empty/empty.module.mjs +5 -5
  230. package/esm2020/empty/empty.property.mjs +4 -4
  231. package/esm2020/examples/examples.component.mjs +4 -4
  232. package/esm2020/examples/examples.module.mjs +5 -5
  233. package/esm2020/find/find.component.mjs +12 -12
  234. package/esm2020/find/find.module.mjs +16 -18
  235. package/esm2020/find/find.property.mjs +4 -4
  236. package/esm2020/form/control.component.mjs +25 -24
  237. package/esm2020/form/form.component.mjs +11 -10
  238. package/esm2020/form/form.module.mjs +5 -5
  239. package/esm2020/form/form.property.mjs +10 -10
  240. package/esm2020/highlight/highlight.component.mjs +4 -4
  241. package/esm2020/highlight/highlight.module.mjs +5 -5
  242. package/esm2020/highlight/highlight.property.mjs +4 -4
  243. package/esm2020/i18n/i18n.directive.mjs +4 -4
  244. package/esm2020/i18n/i18n.module.mjs +5 -5
  245. package/esm2020/i18n/i18n.pipe.mjs +4 -4
  246. package/esm2020/i18n/i18n.service.mjs +4 -4
  247. package/esm2020/icon/icon.component.mjs +9 -5
  248. package/esm2020/icon/icon.module.mjs +5 -5
  249. package/esm2020/icon/icon.property.mjs +4 -4
  250. package/esm2020/icon/icon.service.mjs +4 -4
  251. package/esm2020/inner/inner.component.mjs +4 -4
  252. package/esm2020/inner/inner.module.mjs +5 -5
  253. package/esm2020/inner/inner.property.mjs +4 -4
  254. package/esm2020/input/input-group.component.mjs +4 -4
  255. package/esm2020/input/input.component.mjs +11 -10
  256. package/esm2020/input/input.module.mjs +5 -5
  257. package/esm2020/input/input.property.mjs +14 -7
  258. package/esm2020/input-number/input-number.component.mjs +9 -9
  259. package/esm2020/input-number/input-number.module.mjs +5 -5
  260. package/esm2020/input-number/input-number.property.mjs +4 -4
  261. package/esm2020/layout/col.component.mjs +4 -4
  262. package/esm2020/layout/layout.module.mjs +5 -5
  263. package/esm2020/layout/layout.property.mjs +7 -7
  264. package/esm2020/layout/row.component.mjs +4 -4
  265. package/esm2020/link/link.component.mjs +6 -6
  266. package/esm2020/link/link.module.mjs +5 -5
  267. package/esm2020/link/link.property.mjs +4 -4
  268. package/esm2020/list/list-option.component.mjs +6 -6
  269. package/esm2020/list/list.component.mjs +11 -11
  270. package/esm2020/list/list.module.mjs +14 -16
  271. package/esm2020/list/list.property.mjs +7 -7
  272. package/esm2020/loading/loading.component.mjs +6 -6
  273. package/esm2020/loading/loading.module.mjs +5 -5
  274. package/esm2020/loading/loading.property.mjs +4 -4
  275. package/esm2020/menu/menu-node.component.mjs +7 -7
  276. package/esm2020/menu/menu.component.mjs +7 -7
  277. package/esm2020/menu/menu.module.mjs +5 -5
  278. package/esm2020/menu/menu.property.mjs +7 -7
  279. package/esm2020/message/message.component.mjs +6 -6
  280. package/esm2020/message/message.module.mjs +5 -5
  281. package/esm2020/message/message.service.mjs +4 -4
  282. package/esm2020/message-box/message-box.component.mjs +13 -13
  283. package/esm2020/message-box/message-box.module.mjs +13 -15
  284. package/esm2020/message-box/message-box.service.mjs +4 -4
  285. package/esm2020/notification/notification.component.mjs +6 -6
  286. package/esm2020/notification/notification.module.mjs +5 -5
  287. package/esm2020/notification/notification.service.mjs +4 -4
  288. package/esm2020/outlet/outlet.directive.mjs +4 -4
  289. package/esm2020/outlet/outlet.module.mjs +5 -5
  290. package/esm2020/page-header/page-header.component.mjs +6 -6
  291. package/esm2020/page-header/page-header.module.mjs +5 -5
  292. package/esm2020/page-header/page-header.property.mjs +4 -4
  293. package/esm2020/pagination/pagination.component.mjs +10 -10
  294. package/esm2020/pagination/pagination.module.mjs +5 -5
  295. package/esm2020/pagination/pagination.property.mjs +4 -4
  296. package/esm2020/pattern/pattern.component.mjs +4 -4
  297. package/esm2020/pattern/pattern.module.mjs +5 -5
  298. package/esm2020/popconfirm/popconfirm.component.mjs +9 -9
  299. package/esm2020/popconfirm/popconfirm.module.mjs +5 -5
  300. package/esm2020/popconfirm/popconfirm.property.mjs +4 -4
  301. package/esm2020/popover/popover-portal.component.mjs +4 -4
  302. package/esm2020/popover/popover.directive.mjs +4 -4
  303. package/esm2020/popover/popover.module.mjs +5 -5
  304. package/esm2020/popover/popover.property.mjs +4 -4
  305. package/esm2020/portal/portal.module.mjs +5 -5
  306. package/esm2020/portal/portal.service.mjs +4 -4
  307. package/esm2020/progress/progress.component.mjs +6 -6
  308. package/esm2020/progress/progress.module.mjs +5 -5
  309. package/esm2020/progress/progress.property.mjs +4 -4
  310. package/esm2020/radio/radio.component.mjs +6 -6
  311. package/esm2020/radio/radio.module.mjs +5 -5
  312. package/esm2020/radio/radio.property.mjs +4 -4
  313. package/esm2020/rate/rate.component.mjs +6 -6
  314. package/esm2020/rate/rate.module.mjs +5 -5
  315. package/esm2020/rate/rate.property.mjs +4 -4
  316. package/esm2020/resizable/resizable.directive.mjs +4 -4
  317. package/esm2020/resizable/resizable.module.mjs +5 -5
  318. package/esm2020/resizable/resizable.property.mjs +4 -4
  319. package/esm2020/result/result.component.mjs +6 -6
  320. package/esm2020/result/result.module.mjs +5 -5
  321. package/esm2020/result/result.property.mjs +4 -4
  322. package/esm2020/ripple/ripple.directive.mjs +4 -4
  323. package/esm2020/ripple/ripple.module.mjs +5 -5
  324. package/esm2020/ripple/ripple.property.mjs +4 -4
  325. package/esm2020/select/select-portal.component.mjs +14 -7
  326. package/esm2020/select/select.component.mjs +85 -24
  327. package/esm2020/select/select.module.mjs +5 -5
  328. package/esm2020/select/select.property.mjs +21 -4
  329. package/esm2020/skeleton/skeleton.component.mjs +6 -6
  330. package/esm2020/skeleton/skeleton.module.mjs +5 -5
  331. package/esm2020/skeleton/skeleton.property.mjs +4 -4
  332. package/esm2020/slider/slider.component.mjs +6 -6
  333. package/esm2020/slider/slider.module.mjs +5 -5
  334. package/esm2020/slider/slider.property.mjs +4 -4
  335. package/esm2020/slider-select/slider-select.component.mjs +5 -5
  336. package/esm2020/slider-select/slider-select.module.mjs +5 -5
  337. package/esm2020/slider-select/slider-select.property.mjs +4 -4
  338. package/esm2020/statistic/countdown.component.mjs +5 -5
  339. package/esm2020/statistic/statistic.component.mjs +6 -6
  340. package/esm2020/statistic/statistic.module.mjs +5 -5
  341. package/esm2020/statistic/statistic.property.mjs +7 -7
  342. package/esm2020/steps/steps.component.mjs +6 -6
  343. package/esm2020/steps/steps.module.mjs +5 -5
  344. package/esm2020/steps/steps.property.mjs +4 -4
  345. package/esm2020/switch/switch.component.mjs +4 -4
  346. package/esm2020/switch/switch.module.mjs +5 -5
  347. package/esm2020/switch/switch.property.mjs +4 -4
  348. package/esm2020/table/drag.directive.mjs +4 -4
  349. package/esm2020/table/table-body.component.mjs +16 -12
  350. package/esm2020/table/table-foot.component.mjs +9 -5
  351. package/esm2020/table/table-head.component.mjs +30 -14
  352. package/esm2020/table/table.component.mjs +41 -12
  353. package/esm2020/table/table.module.mjs +14 -16
  354. package/esm2020/table/table.property.mjs +22 -14
  355. package/esm2020/tabs/tab-content.component.mjs +4 -4
  356. package/esm2020/tabs/tab.component.mjs +4 -4
  357. package/esm2020/tabs/tabs.component.mjs +7 -7
  358. package/esm2020/tabs/tabs.module.mjs +5 -5
  359. package/esm2020/tabs/tabs.property.mjs +7 -7
  360. package/esm2020/tag/tag.component.mjs +6 -6
  361. package/esm2020/tag/tag.module.mjs +5 -5
  362. package/esm2020/tag/tag.property.mjs +4 -4
  363. package/esm2020/text-retract/text-retract.component.mjs +6 -6
  364. package/esm2020/text-retract/text-retract.module.mjs +5 -5
  365. package/esm2020/text-retract/text-retract.property.mjs +4 -4
  366. package/esm2020/textarea/textarea.component.mjs +8 -8
  367. package/esm2020/textarea/textarea.module.mjs +5 -5
  368. package/esm2020/textarea/textarea.property.mjs +4 -4
  369. package/esm2020/theme/theme.component.mjs +12 -12
  370. package/esm2020/theme/theme.module.mjs +13 -15
  371. package/esm2020/theme/theme.property.mjs +4 -4
  372. package/esm2020/time-ago/time-ago.module.mjs +5 -5
  373. package/esm2020/time-ago/time-ago.pipe.mjs +4 -4
  374. package/esm2020/time-picker/time-picker-frame.component.mjs +6 -6
  375. package/esm2020/time-picker/time-picker-portal.component.mjs +4 -4
  376. package/esm2020/time-picker/time-picker.component.mjs +7 -7
  377. package/esm2020/time-picker/time-picker.module.mjs +13 -15
  378. package/esm2020/time-picker/time-picker.property.mjs +4 -4
  379. package/esm2020/time-range/time-range.module.mjs +5 -5
  380. package/esm2020/time-range/time-range.pipe.mjs +4 -4
  381. package/esm2020/timeline/timeline.component.mjs +7 -7
  382. package/esm2020/timeline/timeline.module.mjs +5 -5
  383. package/esm2020/timeline/timeline.property.mjs +4 -4
  384. package/esm2020/tooltip/tooltip-portal.component.mjs +4 -4
  385. package/esm2020/tooltip/tooltip.directive.mjs +4 -4
  386. package/esm2020/tooltip/tooltip.module.mjs +5 -5
  387. package/esm2020/tooltip/tooltip.property.mjs +4 -4
  388. package/esm2020/transfer/transfer.component.mjs +9 -9
  389. package/esm2020/transfer/transfer.module.mjs +5 -5
  390. package/esm2020/transfer/transfer.property.mjs +4 -4
  391. package/esm2020/tree/tree-node.component.mjs +12 -78
  392. package/esm2020/tree/tree.component.mjs +130 -30
  393. package/esm2020/tree/tree.module.mjs +5 -5
  394. package/esm2020/tree/tree.property.mjs +7 -7
  395. package/esm2020/tree-file/tree-file.component.mjs +8 -8
  396. package/esm2020/tree-file/tree-file.module.mjs +5 -5
  397. package/esm2020/tree-file/tree-file.property.mjs +4 -4
  398. package/esm2020/typography/typography.component.mjs +4 -4
  399. package/esm2020/typography/typography.module.mjs +5 -5
  400. package/esm2020/typography/typography.property.mjs +4 -4
  401. package/esm2020/upload/upload-portal.component.mjs +5 -5
  402. package/esm2020/upload/upload.component.mjs +8 -8
  403. package/esm2020/upload/upload.module.mjs +14 -16
  404. package/esm2020/upload/upload.property.mjs +4 -4
  405. package/examples/examples.component.d.ts +1 -1
  406. package/examples/{ng-nest-ui-examples.d.ts → index.d.ts} +0 -0
  407. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  408. package/fesm2015/ng-nest-ui-affix.mjs.map +1 -1
  409. package/fesm2015/ng-nest-ui-alert.mjs +19 -19
  410. package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
  411. package/fesm2015/ng-nest-ui-anchor.mjs +13 -13
  412. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  413. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  414. package/fesm2015/ng-nest-ui-api.mjs.map +1 -1
  415. package/fesm2015/ng-nest-ui-auto-complete.mjs +21 -19
  416. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  417. package/fesm2015/ng-nest-ui-avatar.mjs +14 -14
  418. package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
  419. package/fesm2015/ng-nest-ui-back-top.mjs +12 -12
  420. package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
  421. package/fesm2015/ng-nest-ui-badge.mjs +10 -10
  422. package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
  423. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  424. package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
  425. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  426. package/fesm2015/ng-nest-ui-border.mjs.map +1 -1
  427. package/fesm2015/ng-nest-ui-button.mjs +20 -20
  428. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  429. package/fesm2015/ng-nest-ui-calendar.mjs +20 -20
  430. package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
  431. package/fesm2015/ng-nest-ui-card.mjs +10 -10
  432. package/fesm2015/ng-nest-ui-card.mjs.map +1 -1
  433. package/fesm2015/ng-nest-ui-carousel.mjs +20 -20
  434. package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
  435. package/fesm2015/ng-nest-ui-cascade.mjs +22 -24
  436. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  437. package/fesm2015/ng-nest-ui-checkbox.mjs +13 -13
  438. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  439. package/fesm2015/ng-nest-ui-collapse.mjs +20 -20
  440. package/fesm2015/ng-nest-ui-collapse.mjs.map +1 -1
  441. package/fesm2015/ng-nest-ui-color-picker.mjs +31 -33
  442. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  443. package/fesm2015/ng-nest-ui-color.mjs +10 -10
  444. package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
  445. package/fesm2015/ng-nest-ui-comment.mjs +34 -36
  446. package/fesm2015/ng-nest-ui-comment.mjs.map +1 -1
  447. package/fesm2015/ng-nest-ui-container.mjs +31 -31
  448. package/fesm2015/ng-nest-ui-container.mjs.map +1 -1
  449. package/fesm2015/ng-nest-ui-core.mjs +15 -15
  450. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  451. package/fesm2015/ng-nest-ui-crumb.mjs +13 -13
  452. package/fesm2015/ng-nest-ui-crumb.mjs.map +1 -1
  453. package/fesm2015/ng-nest-ui-date-picker.mjs +56 -58
  454. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  455. package/fesm2015/ng-nest-ui-description.mjs +16 -16
  456. package/fesm2015/ng-nest-ui-description.mjs.map +1 -1
  457. package/fesm2015/ng-nest-ui-dialog.mjs +55 -57
  458. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  459. package/fesm2015/ng-nest-ui-doc.mjs +7 -7
  460. package/fesm2015/ng-nest-ui-doc.mjs.map +1 -1
  461. package/fesm2015/ng-nest-ui-drawer.mjs +37 -37
  462. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  463. package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
  464. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  465. package/fesm2015/ng-nest-ui-empty.mjs +14 -14
  466. package/fesm2015/ng-nest-ui-empty.mjs.map +1 -1
  467. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  468. package/fesm2015/ng-nest-ui-examples.mjs.map +1 -1
  469. package/fesm2015/ng-nest-ui-find.mjs +35 -37
  470. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  471. package/fesm2015/ng-nest-ui-form.mjs +47 -45
  472. package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
  473. package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
  474. package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
  475. package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
  476. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  477. package/fesm2015/ng-nest-ui-icon.mjs +18 -14
  478. package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
  479. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  480. package/fesm2015/ng-nest-ui-inner.mjs.map +1 -1
  481. package/fesm2015/ng-nest-ui-input-number.mjs +18 -18
  482. package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
  483. package/fesm2015/ng-nest-ui-input.mjs +32 -24
  484. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  485. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  486. package/fesm2015/ng-nest-ui-layout.mjs.map +1 -1
  487. package/fesm2015/ng-nest-ui-link.mjs +13 -13
  488. package/fesm2015/ng-nest-ui-link.mjs.map +1 -1
  489. package/fesm2015/ng-nest-ui-list.mjs +33 -35
  490. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  491. package/fesm2015/ng-nest-ui-loading.mjs +13 -13
  492. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  493. package/fesm2015/ng-nest-ui-menu.mjs +23 -23
  494. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  495. package/fesm2015/ng-nest-ui-message-box.mjs +29 -31
  496. package/fesm2015/ng-nest-ui-message-box.mjs.map +1 -1
  497. package/fesm2015/ng-nest-ui-message.mjs +13 -13
  498. package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
  499. package/fesm2015/ng-nest-ui-notification.mjs +13 -13
  500. package/fesm2015/ng-nest-ui-notification.mjs.map +1 -1
  501. package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
  502. package/fesm2015/ng-nest-ui-outlet.mjs.map +1 -1
  503. package/fesm2015/ng-nest-ui-page-header.mjs +13 -13
  504. package/fesm2015/ng-nest-ui-page-header.mjs.map +1 -1
  505. package/fesm2015/ng-nest-ui-pagination.mjs +19 -19
  506. package/fesm2015/ng-nest-ui-pagination.mjs.map +1 -1
  507. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  508. package/fesm2015/ng-nest-ui-pattern.mjs.map +1 -1
  509. package/fesm2015/ng-nest-ui-popconfirm.mjs +18 -18
  510. package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
  511. package/fesm2015/ng-nest-ui-popover.mjs +13 -13
  512. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  513. package/fesm2015/ng-nest-ui-portal.mjs +7 -7
  514. package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
  515. package/fesm2015/ng-nest-ui-progress.mjs +13 -13
  516. package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
  517. package/fesm2015/ng-nest-ui-radio.mjs +13 -13
  518. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  519. package/fesm2015/ng-nest-ui-rate.mjs +13 -13
  520. package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
  521. package/fesm2015/ng-nest-ui-resizable.mjs +10 -10
  522. package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
  523. package/fesm2015/ng-nest-ui-result.mjs +13 -13
  524. package/fesm2015/ng-nest-ui-result.mjs.map +1 -1
  525. package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
  526. package/fesm2015/ng-nest-ui-ripple.mjs.map +1 -1
  527. package/fesm2015/ng-nest-ui-select.mjs +123 -38
  528. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  529. package/fesm2015/ng-nest-ui-skeleton.mjs +13 -13
  530. package/fesm2015/ng-nest-ui-skeleton.mjs.map +1 -1
  531. package/fesm2015/ng-nest-ui-slider-select.mjs +11 -11
  532. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  533. package/fesm2015/ng-nest-ui-slider.mjs +13 -13
  534. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  535. package/fesm2015/ng-nest-ui-statistic.mjs +20 -20
  536. package/fesm2015/ng-nest-ui-statistic.mjs.map +1 -1
  537. package/fesm2015/ng-nest-ui-steps.mjs +13 -13
  538. package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
  539. package/fesm2015/ng-nest-ui-switch.mjs +10 -10
  540. package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
  541. package/fesm2015/ng-nest-ui-table.mjs +127 -70
  542. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  543. package/fesm2015/ng-nest-ui-tabs.mjs +21 -21
  544. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  545. package/fesm2015/ng-nest-ui-tag.mjs +13 -13
  546. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  547. package/fesm2015/ng-nest-ui-text-retract.mjs +13 -13
  548. package/fesm2015/ng-nest-ui-text-retract.mjs.map +1 -1
  549. package/fesm2015/ng-nest-ui-textarea.mjs +15 -15
  550. package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
  551. package/fesm2015/ng-nest-ui-theme.mjs +28 -30
  552. package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
  553. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  554. package/fesm2015/ng-nest-ui-time-ago.mjs.map +1 -1
  555. package/fesm2015/ng-nest-ui-time-picker.mjs +32 -34
  556. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  557. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  558. package/fesm2015/ng-nest-ui-time-range.mjs.map +1 -1
  559. package/fesm2015/ng-nest-ui-timeline.mjs +14 -14
  560. package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
  561. package/fesm2015/ng-nest-ui-tooltip.mjs +13 -13
  562. package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
  563. package/fesm2015/ng-nest-ui-transfer.mjs +17 -17
  564. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  565. package/fesm2015/ng-nest-ui-tree-file.mjs +16 -16
  566. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  567. package/fesm2015/ng-nest-ui-tree.mjs +151 -117
  568. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  569. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  570. package/fesm2015/ng-nest-ui-typography.mjs.map +1 -1
  571. package/fesm2015/ng-nest-ui-upload.mjs +27 -29
  572. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  573. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  574. package/fesm2020/ng-nest-ui-affix.mjs.map +1 -1
  575. package/fesm2020/ng-nest-ui-alert.mjs +19 -19
  576. package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
  577. package/fesm2020/ng-nest-ui-anchor.mjs +13 -13
  578. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  579. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  580. package/fesm2020/ng-nest-ui-api.mjs.map +1 -1
  581. package/fesm2020/ng-nest-ui-auto-complete.mjs +21 -19
  582. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  583. package/fesm2020/ng-nest-ui-avatar.mjs +14 -14
  584. package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
  585. package/fesm2020/ng-nest-ui-back-top.mjs +12 -12
  586. package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
  587. package/fesm2020/ng-nest-ui-badge.mjs +10 -10
  588. package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
  589. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  590. package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
  591. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  592. package/fesm2020/ng-nest-ui-border.mjs.map +1 -1
  593. package/fesm2020/ng-nest-ui-button.mjs +20 -20
  594. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  595. package/fesm2020/ng-nest-ui-calendar.mjs +20 -20
  596. package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
  597. package/fesm2020/ng-nest-ui-card.mjs +10 -10
  598. package/fesm2020/ng-nest-ui-card.mjs.map +1 -1
  599. package/fesm2020/ng-nest-ui-carousel.mjs +20 -20
  600. package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
  601. package/fesm2020/ng-nest-ui-cascade.mjs +22 -24
  602. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  603. package/fesm2020/ng-nest-ui-checkbox.mjs +13 -13
  604. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  605. package/fesm2020/ng-nest-ui-collapse.mjs +20 -20
  606. package/fesm2020/ng-nest-ui-collapse.mjs.map +1 -1
  607. package/fesm2020/ng-nest-ui-color-picker.mjs +31 -33
  608. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  609. package/fesm2020/ng-nest-ui-color.mjs +10 -10
  610. package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
  611. package/fesm2020/ng-nest-ui-comment.mjs +34 -36
  612. package/fesm2020/ng-nest-ui-comment.mjs.map +1 -1
  613. package/fesm2020/ng-nest-ui-container.mjs +31 -31
  614. package/fesm2020/ng-nest-ui-container.mjs.map +1 -1
  615. package/fesm2020/ng-nest-ui-core.mjs +15 -15
  616. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  617. package/fesm2020/ng-nest-ui-crumb.mjs +13 -13
  618. package/fesm2020/ng-nest-ui-crumb.mjs.map +1 -1
  619. package/fesm2020/ng-nest-ui-date-picker.mjs +56 -58
  620. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  621. package/fesm2020/ng-nest-ui-description.mjs +16 -16
  622. package/fesm2020/ng-nest-ui-description.mjs.map +1 -1
  623. package/fesm2020/ng-nest-ui-dialog.mjs +55 -57
  624. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  625. package/fesm2020/ng-nest-ui-doc.mjs +7 -7
  626. package/fesm2020/ng-nest-ui-doc.mjs.map +1 -1
  627. package/fesm2020/ng-nest-ui-drawer.mjs +37 -37
  628. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  629. package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
  630. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  631. package/fesm2020/ng-nest-ui-empty.mjs +14 -14
  632. package/fesm2020/ng-nest-ui-empty.mjs.map +1 -1
  633. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  634. package/fesm2020/ng-nest-ui-examples.mjs.map +1 -1
  635. package/fesm2020/ng-nest-ui-find.mjs +35 -37
  636. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  637. package/fesm2020/ng-nest-ui-form.mjs +47 -45
  638. package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
  639. package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
  640. package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
  641. package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
  642. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  643. package/fesm2020/ng-nest-ui-icon.mjs +18 -14
  644. package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
  645. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  646. package/fesm2020/ng-nest-ui-inner.mjs.map +1 -1
  647. package/fesm2020/ng-nest-ui-input-number.mjs +18 -18
  648. package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
  649. package/fesm2020/ng-nest-ui-input.mjs +32 -24
  650. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  651. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  652. package/fesm2020/ng-nest-ui-layout.mjs.map +1 -1
  653. package/fesm2020/ng-nest-ui-link.mjs +13 -13
  654. package/fesm2020/ng-nest-ui-link.mjs.map +1 -1
  655. package/fesm2020/ng-nest-ui-list.mjs +33 -35
  656. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  657. package/fesm2020/ng-nest-ui-loading.mjs +13 -13
  658. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  659. package/fesm2020/ng-nest-ui-menu.mjs +23 -23
  660. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  661. package/fesm2020/ng-nest-ui-message-box.mjs +29 -31
  662. package/fesm2020/ng-nest-ui-message-box.mjs.map +1 -1
  663. package/fesm2020/ng-nest-ui-message.mjs +13 -13
  664. package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
  665. package/fesm2020/ng-nest-ui-notification.mjs +13 -13
  666. package/fesm2020/ng-nest-ui-notification.mjs.map +1 -1
  667. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  668. package/fesm2020/ng-nest-ui-outlet.mjs.map +1 -1
  669. package/fesm2020/ng-nest-ui-page-header.mjs +13 -13
  670. package/fesm2020/ng-nest-ui-page-header.mjs.map +1 -1
  671. package/fesm2020/ng-nest-ui-pagination.mjs +19 -19
  672. package/fesm2020/ng-nest-ui-pagination.mjs.map +1 -1
  673. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  674. package/fesm2020/ng-nest-ui-pattern.mjs.map +1 -1
  675. package/fesm2020/ng-nest-ui-popconfirm.mjs +18 -18
  676. package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
  677. package/fesm2020/ng-nest-ui-popover.mjs +13 -13
  678. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  679. package/fesm2020/ng-nest-ui-portal.mjs +7 -7
  680. package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
  681. package/fesm2020/ng-nest-ui-progress.mjs +13 -13
  682. package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
  683. package/fesm2020/ng-nest-ui-radio.mjs +13 -13
  684. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  685. package/fesm2020/ng-nest-ui-rate.mjs +13 -13
  686. package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
  687. package/fesm2020/ng-nest-ui-resizable.mjs +10 -10
  688. package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
  689. package/fesm2020/ng-nest-ui-result.mjs +13 -13
  690. package/fesm2020/ng-nest-ui-result.mjs.map +1 -1
  691. package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
  692. package/fesm2020/ng-nest-ui-ripple.mjs.map +1 -1
  693. package/fesm2020/ng-nest-ui-select.mjs +123 -38
  694. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  695. package/fesm2020/ng-nest-ui-skeleton.mjs +13 -13
  696. package/fesm2020/ng-nest-ui-skeleton.mjs.map +1 -1
  697. package/fesm2020/ng-nest-ui-slider-select.mjs +11 -11
  698. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  699. package/fesm2020/ng-nest-ui-slider.mjs +13 -13
  700. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  701. package/fesm2020/ng-nest-ui-statistic.mjs +20 -20
  702. package/fesm2020/ng-nest-ui-statistic.mjs.map +1 -1
  703. package/fesm2020/ng-nest-ui-steps.mjs +13 -13
  704. package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
  705. package/fesm2020/ng-nest-ui-switch.mjs +10 -10
  706. package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
  707. package/fesm2020/ng-nest-ui-table.mjs +123 -66
  708. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  709. package/fesm2020/ng-nest-ui-tabs.mjs +21 -21
  710. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  711. package/fesm2020/ng-nest-ui-tag.mjs +13 -13
  712. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  713. package/fesm2020/ng-nest-ui-text-retract.mjs +13 -13
  714. package/fesm2020/ng-nest-ui-text-retract.mjs.map +1 -1
  715. package/fesm2020/ng-nest-ui-textarea.mjs +15 -15
  716. package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
  717. package/fesm2020/ng-nest-ui-theme.mjs +28 -30
  718. package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
  719. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  720. package/fesm2020/ng-nest-ui-time-ago.mjs.map +1 -1
  721. package/fesm2020/ng-nest-ui-time-picker.mjs +32 -34
  722. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  723. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  724. package/fesm2020/ng-nest-ui-time-range.mjs.map +1 -1
  725. package/fesm2020/ng-nest-ui-timeline.mjs +14 -14
  726. package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
  727. package/fesm2020/ng-nest-ui-tooltip.mjs +13 -13
  728. package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
  729. package/fesm2020/ng-nest-ui-transfer.mjs +17 -17
  730. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  731. package/fesm2020/ng-nest-ui-tree-file.mjs +16 -16
  732. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  733. package/fesm2020/ng-nest-ui-tree.mjs +151 -117
  734. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  735. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  736. package/fesm2020/ng-nest-ui-typography.mjs.map +1 -1
  737. package/fesm2020/ng-nest-ui-upload.mjs +27 -29
  738. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  739. package/find/find.component.d.ts +1 -1
  740. package/find/find.property.d.ts +1 -1
  741. package/find/{ng-nest-ui-find.d.ts → index.d.ts} +0 -0
  742. package/form/control.component.d.ts +1 -1
  743. package/form/form.component.d.ts +2 -1
  744. package/form/form.property.d.ts +5 -5
  745. package/form/{ng-nest-ui-form.d.ts → index.d.ts} +0 -0
  746. package/highlight/highlight.component.d.ts +1 -1
  747. package/highlight/highlight.property.d.ts +1 -1
  748. package/highlight/{ng-nest-ui-highlight.d.ts → index.d.ts} +0 -0
  749. package/i18n/i18n.directive.d.ts +1 -1
  750. package/i18n/i18n.pipe.d.ts +1 -1
  751. package/i18n/{ng-nest-ui-i18n.d.ts → index.d.ts} +0 -0
  752. package/icon/icon.component.d.ts +1 -1
  753. package/icon/icon.property.d.ts +1 -1
  754. package/icon/{ng-nest-ui-icon.d.ts → index.d.ts} +0 -0
  755. package/inner/{ng-nest-ui-inner.d.ts → index.d.ts} +0 -0
  756. package/inner/inner.component.d.ts +1 -1
  757. package/inner/inner.property.d.ts +1 -1
  758. package/input/{ng-nest-ui-input.d.ts → index.d.ts} +0 -0
  759. package/input/input-group.component.d.ts +1 -1
  760. package/input/input.component.d.ts +1 -1
  761. package/input/input.property.d.ts +7 -2
  762. package/input-number/{ng-nest-ui-input-number.d.ts → index.d.ts} +0 -0
  763. package/input-number/input-number.component.d.ts +1 -1
  764. package/input-number/input-number.property.d.ts +1 -1
  765. package/layout/col.component.d.ts +1 -1
  766. package/layout/{ng-nest-ui-layout.d.ts → index.d.ts} +0 -0
  767. package/layout/layout.property.d.ts +2 -2
  768. package/layout/row.component.d.ts +1 -1
  769. package/link/{ng-nest-ui-link.d.ts → index.d.ts} +0 -0
  770. package/link/link.component.d.ts +1 -1
  771. package/link/link.property.d.ts +1 -1
  772. package/list/{ng-nest-ui-list.d.ts → index.d.ts} +0 -0
  773. package/list/list-option.component.d.ts +1 -1
  774. package/list/list.component.d.ts +1 -1
  775. package/list/list.property.d.ts +2 -2
  776. package/loading/{ng-nest-ui-loading.d.ts → index.d.ts} +0 -0
  777. package/loading/loading.component.d.ts +1 -1
  778. package/loading/loading.property.d.ts +1 -1
  779. package/menu/{ng-nest-ui-menu.d.ts → index.d.ts} +0 -0
  780. package/menu/menu-node.component.d.ts +1 -1
  781. package/menu/menu.component.d.ts +1 -1
  782. package/menu/menu.property.d.ts +2 -2
  783. package/message/{ng-nest-ui-message.d.ts → index.d.ts} +0 -0
  784. package/message/message.component.d.ts +1 -1
  785. package/message-box/{ng-nest-ui-message-box.d.ts → index.d.ts} +0 -0
  786. package/message-box/message-box.component.d.ts +3 -3
  787. package/notification/{ng-nest-ui-notification.d.ts → index.d.ts} +0 -0
  788. package/notification/notification.component.d.ts +1 -1
  789. package/outlet/{ng-nest-ui-outlet.d.ts → index.d.ts} +0 -0
  790. package/outlet/outlet.directive.d.ts +1 -1
  791. package/package.json +91 -91
  792. package/page-header/{ng-nest-ui-page-header.d.ts → index.d.ts} +0 -0
  793. package/page-header/page-header.component.d.ts +1 -1
  794. package/page-header/page-header.property.d.ts +1 -1
  795. package/pagination/{ng-nest-ui-pagination.d.ts → index.d.ts} +0 -0
  796. package/pagination/pagination.component.d.ts +1 -1
  797. package/pagination/pagination.property.d.ts +1 -1
  798. package/pattern/{ng-nest-ui-pattern.d.ts → index.d.ts} +0 -0
  799. package/pattern/pattern.component.d.ts +1 -1
  800. package/popconfirm/{ng-nest-ui-popconfirm.d.ts → index.d.ts} +0 -0
  801. package/popconfirm/popconfirm.component.d.ts +1 -1
  802. package/popconfirm/popconfirm.property.d.ts +1 -1
  803. package/popover/{ng-nest-ui-popover.d.ts → index.d.ts} +0 -0
  804. package/popover/popover-portal.component.d.ts +1 -1
  805. package/popover/popover.directive.d.ts +1 -1
  806. package/popover/popover.property.d.ts +1 -1
  807. package/portal/{ng-nest-ui-portal.d.ts → index.d.ts} +0 -0
  808. package/progress/{ng-nest-ui-progress.d.ts → index.d.ts} +0 -0
  809. package/progress/progress.component.d.ts +1 -1
  810. package/progress/progress.property.d.ts +1 -1
  811. package/radio/{ng-nest-ui-radio.d.ts → index.d.ts} +0 -0
  812. package/radio/radio.component.d.ts +1 -1
  813. package/radio/radio.property.d.ts +1 -1
  814. package/rate/{ng-nest-ui-rate.d.ts → index.d.ts} +0 -0
  815. package/rate/rate.component.d.ts +1 -1
  816. package/rate/rate.property.d.ts +1 -1
  817. package/resizable/{ng-nest-ui-resizable.d.ts → index.d.ts} +0 -0
  818. package/resizable/resizable.directive.d.ts +1 -1
  819. package/resizable/resizable.property.d.ts +1 -1
  820. package/result/{ng-nest-ui-result.d.ts → index.d.ts} +0 -0
  821. package/result/result.component.d.ts +1 -1
  822. package/result/result.property.d.ts +1 -1
  823. package/ripple/{ng-nest-ui-ripple.d.ts → index.d.ts} +0 -0
  824. package/ripple/ripple.directive.d.ts +1 -1
  825. package/ripple/ripple.property.d.ts +1 -1
  826. package/select/examples/en_US/default/search/README.md +6 -0
  827. package/select/examples/zh_CN/default/search/README.md +6 -0
  828. package/select/{ng-nest-ui-select.d.ts → index.d.ts} +0 -0
  829. package/select/select-portal.component.d.ts +7 -2
  830. package/select/select.component.d.ts +9 -2
  831. package/select/select.property.d.ts +51 -1
  832. package/skeleton/{ng-nest-ui-skeleton.d.ts → index.d.ts} +0 -0
  833. package/skeleton/skeleton.component.d.ts +1 -1
  834. package/skeleton/skeleton.property.d.ts +1 -1
  835. package/slider/{ng-nest-ui-slider.d.ts → index.d.ts} +0 -0
  836. package/slider/slider.component.d.ts +1 -1
  837. package/slider/slider.property.d.ts +1 -1
  838. package/slider-select/{ng-nest-ui-slider-select.d.ts → index.d.ts} +0 -0
  839. package/slider-select/slider-select.component.d.ts +1 -1
  840. package/slider-select/slider-select.property.d.ts +1 -1
  841. package/statistic/countdown.component.d.ts +1 -1
  842. package/statistic/{ng-nest-ui-statistic.d.ts → index.d.ts} +0 -0
  843. package/statistic/statistic.component.d.ts +1 -1
  844. package/statistic/statistic.property.d.ts +2 -2
  845. package/steps/{ng-nest-ui-steps.d.ts → index.d.ts} +0 -0
  846. package/steps/steps.component.d.ts +1 -1
  847. package/steps/steps.property.d.ts +1 -1
  848. package/switch/{ng-nest-ui-switch.d.ts → index.d.ts} +0 -0
  849. package/switch/switch.component.d.ts +1 -1
  850. package/switch/switch.property.d.ts +1 -1
  851. package/table/drag.directive.d.ts +1 -1
  852. package/table/examples/en_US/default/fix/README.md +6 -0
  853. package/table/examples/en_US/default/header/README.md +6 -0
  854. package/table/examples/zh_CN/default/fix/README.md +6 -0
  855. package/table/examples/zh_CN/default/header/README.md +6 -0
  856. package/table/{ng-nest-ui-table.d.ts → index.d.ts} +0 -0
  857. package/table/table-body.component.d.ts +1 -1
  858. package/table/table-foot.component.d.ts +2 -1
  859. package/table/table-head.component.d.ts +3 -2
  860. package/table/table.component.d.ts +11 -2
  861. package/table/table.property.d.ts +34 -4
  862. package/tabs/{ng-nest-ui-tabs.d.ts → index.d.ts} +0 -0
  863. package/tabs/tab-content.component.d.ts +1 -1
  864. package/tabs/tab.component.d.ts +1 -1
  865. package/tabs/tabs.component.d.ts +1 -1
  866. package/tabs/tabs.property.d.ts +2 -2
  867. package/tag/{ng-nest-ui-tag.d.ts → index.d.ts} +0 -0
  868. package/tag/tag.component.d.ts +1 -1
  869. package/tag/tag.property.d.ts +1 -1
  870. package/text-retract/{ng-nest-ui-text-retract.d.ts → index.d.ts} +0 -0
  871. package/text-retract/text-retract.component.d.ts +1 -1
  872. package/text-retract/text-retract.property.d.ts +1 -1
  873. package/textarea/{ng-nest-ui-textarea.d.ts → index.d.ts} +0 -0
  874. package/textarea/textarea.component.d.ts +1 -1
  875. package/textarea/textarea.property.d.ts +1 -1
  876. package/theme/{ng-nest-ui-theme.d.ts → index.d.ts} +0 -0
  877. package/theme/theme.component.d.ts +3 -3
  878. package/theme/theme.property.d.ts +1 -1
  879. package/time-ago/{ng-nest-ui-time-ago.d.ts → index.d.ts} +0 -0
  880. package/time-ago/time-ago.pipe.d.ts +1 -1
  881. package/time-picker/{ng-nest-ui-time-picker.d.ts → index.d.ts} +0 -0
  882. package/time-picker/time-picker-frame.component.d.ts +1 -1
  883. package/time-picker/time-picker-portal.component.d.ts +1 -1
  884. package/time-picker/time-picker.component.d.ts +1 -1
  885. package/time-picker/time-picker.property.d.ts +1 -1
  886. package/time-range/{ng-nest-ui-time-range.d.ts → index.d.ts} +0 -0
  887. package/time-range/time-range.pipe.d.ts +1 -1
  888. package/timeline/{ng-nest-ui-timeline.d.ts → index.d.ts} +0 -0
  889. package/timeline/timeline.component.d.ts +1 -1
  890. package/timeline/timeline.property.d.ts +1 -1
  891. package/tooltip/{ng-nest-ui-tooltip.d.ts → index.d.ts} +0 -0
  892. package/tooltip/tooltip-portal.component.d.ts +1 -1
  893. package/tooltip/tooltip.directive.d.ts +1 -1
  894. package/tooltip/tooltip.property.d.ts +1 -1
  895. package/transfer/{ng-nest-ui-transfer.d.ts → index.d.ts} +0 -0
  896. package/transfer/transfer.component.d.ts +1 -1
  897. package/transfer/transfer.property.d.ts +1 -1
  898. package/tree/{ng-nest-ui-tree.d.ts → index.d.ts} +0 -0
  899. package/tree/tree-node.component.d.ts +1 -4
  900. package/tree/tree.component.d.ts +4 -1
  901. package/tree/tree.property.d.ts +7 -2
  902. package/tree-file/{ng-nest-ui-tree-file.d.ts → index.d.ts} +0 -0
  903. package/tree-file/tree-file.component.d.ts +1 -1
  904. package/tree-file/tree-file.property.d.ts +1 -1
  905. package/typography/{ng-nest-ui-typography.d.ts → index.d.ts} +0 -0
  906. package/typography/typography.component.d.ts +1 -1
  907. package/typography/typography.property.d.ts +1 -1
  908. package/upload/{ng-nest-ui-upload.d.ts → index.d.ts} +0 -0
  909. package/upload/upload-portal.component.d.ts +1 -1
  910. package/upload/upload.component.d.ts +1 -1
  911. package/upload/upload.property.d.ts +1 -1
  912. package/affix/package.json +0 -10
  913. package/alert/package.json +0 -10
  914. package/anchor/package.json +0 -10
  915. package/api/package.json +0 -10
  916. package/auto-complete/package.json +0 -10
  917. package/avatar/package.json +0 -10
  918. package/back-top/package.json +0 -10
  919. package/badge/package.json +0 -10
  920. package/base-form/package.json +0 -10
  921. package/border/package.json +0 -10
  922. package/button/package.json +0 -10
  923. package/calendar/package.json +0 -10
  924. package/card/package.json +0 -10
  925. package/carousel/package.json +0 -10
  926. package/cascade/package.json +0 -10
  927. package/checkbox/package.json +0 -10
  928. package/collapse/package.json +0 -10
  929. package/color/package.json +0 -10
  930. package/color-picker/package.json +0 -10
  931. package/comment/package.json +0 -10
  932. package/container/package.json +0 -10
  933. package/core/package.json +0 -10
  934. package/crumb/package.json +0 -10
  935. package/date-picker/package.json +0 -10
  936. package/description/package.json +0 -10
  937. package/dialog/package.json +0 -10
  938. package/doc/package.json +0 -10
  939. package/drawer/package.json +0 -10
  940. package/dropdown/package.json +0 -10
  941. package/empty/package.json +0 -10
  942. package/examples/package.json +0 -10
  943. package/find/package.json +0 -10
  944. package/form/package.json +0 -10
  945. package/highlight/package.json +0 -10
  946. package/i18n/package.json +0 -10
  947. package/icon/package.json +0 -10
  948. package/inner/package.json +0 -10
  949. package/input/package.json +0 -10
  950. package/input-number/package.json +0 -10
  951. package/layout/package.json +0 -10
  952. package/link/package.json +0 -10
  953. package/list/package.json +0 -10
  954. package/loading/package.json +0 -10
  955. package/menu/package.json +0 -10
  956. package/message/package.json +0 -10
  957. package/message-box/package.json +0 -10
  958. package/ng-nest-ui.d.ts +0 -5
  959. package/notification/package.json +0 -10
  960. package/outlet/package.json +0 -10
  961. package/page-header/package.json +0 -10
  962. package/pagination/package.json +0 -10
  963. package/pattern/package.json +0 -10
  964. package/popconfirm/package.json +0 -10
  965. package/popover/package.json +0 -10
  966. package/portal/package.json +0 -10
  967. package/progress/package.json +0 -10
  968. package/radio/package.json +0 -10
  969. package/rate/package.json +0 -10
  970. package/resizable/package.json +0 -10
  971. package/result/package.json +0 -10
  972. package/ripple/package.json +0 -10
  973. package/select/package.json +0 -10
  974. package/skeleton/package.json +0 -10
  975. package/slider/package.json +0 -10
  976. package/slider-select/package.json +0 -10
  977. package/statistic/package.json +0 -10
  978. package/steps/package.json +0 -10
  979. package/switch/package.json +0 -10
  980. package/table/package.json +0 -10
  981. package/tabs/package.json +0 -10
  982. package/tag/package.json +0 -10
  983. package/text-retract/package.json +0 -10
  984. package/textarea/package.json +0 -10
  985. package/theme/package.json +0 -10
  986. package/time-ago/package.json +0 -10
  987. package/time-picker/package.json +0 -10
  988. package/time-range/package.json +0 -10
  989. package/timeline/package.json +0 -10
  990. package/tooltip/package.json +0 -10
  991. package/transfer/package.json +0 -10
  992. package/tree/package.json +0 -10
  993. package/tree-file/package.json +0 -10
  994. package/typography/package.json +0 -10
  995. package/upload/package.json +0 -10
@@ -1,18 +1,18 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild } from '@angular/core';
3
3
  import { XSelectProperty, XSelectPrefix } from './select.property';
4
- import { XIsEmpty, XIsObservable, XIsChange, XSetData, XClearClass, XIsArray, XIsObjectArray } from '@ng-nest/ui/core';
4
+ import { XIsEmpty, XIsObservable, XIsChange, XSetData, XClearClass, XIsArray, XIsObjectArray, XIsFunction } from '@ng-nest/ui/core';
5
5
  import { XPortalConnectedPosition } from '@ng-nest/ui/portal';
6
6
  import { XSelectPortalComponent } from './select-portal.component';
7
- import { takeUntil, throttleTime } from 'rxjs/operators';
8
- import { DOWN_ARROW, UP_ARROW, ENTER, MAC_ENTER, TAB, ESCAPE, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
7
+ import { takeUntil, throttleTime, debounceTime, distinctUntilChanged } from 'rxjs/operators';
8
+ import { DOWN_ARROW, UP_ARROW, ENTER, MAC_ENTER, ESCAPE, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';
9
9
  import { XValueAccessor } from '@ng-nest/ui/base-form';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@ng-nest/ui/portal";
12
12
  import * as i2 from "@angular/cdk/overlay";
13
13
  import * as i3 from "@ng-nest/ui/core";
14
- import * as i4 from "@ng-nest/ui/input";
15
- import * as i5 from "@angular/forms";
14
+ import * as i4 from "@angular/forms";
15
+ import * as i5 from "@ng-nest/ui/input";
16
16
  export class XSelectComponent extends XSelectProperty {
17
17
  constructor(renderer, cdr, portalService, viewContainerRef, overlay, configService) {
18
18
  super();
@@ -27,6 +27,7 @@ export class XSelectComponent extends XSelectProperty {
27
27
  this.showClearable = false;
28
28
  this.displayValue = '';
29
29
  this.nodes = [];
30
+ this.searchNodes = [];
30
31
  this.icon = 'fto-chevron-down';
31
32
  this.iconSpin = false;
32
33
  this.maxNodes = 6;
@@ -38,9 +39,14 @@ export class XSelectComponent extends XSelectProperty {
38
39
  this.valueChange = new Subject();
39
40
  this.positionChange = new Subject();
40
41
  this.closeSubject = new Subject();
42
+ this.dataChange = new Subject();
41
43
  this.keydownSubject = new Subject();
44
+ this.inputChange = new Subject();
42
45
  this._unSubject = new Subject();
43
46
  }
47
+ get getReadonly() {
48
+ return this.readonly && !this.search;
49
+ }
44
50
  writeValue(value) {
45
51
  if (this.multiple && XIsEmpty(value)) {
46
52
  value = [];
@@ -84,10 +90,13 @@ export class XSelectComponent extends XSelectProperty {
84
90
  this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
85
91
  this.closePortal();
86
92
  });
93
+ this.inputChange.pipe(debounceTime(this.debounceTime), distinctUntilChanged(), takeUntil(this._unSubject)).subscribe((x) => {
94
+ this.modelChange(x);
95
+ });
87
96
  this.keydownSubject.pipe(throttleTime(10), takeUntil(this._unSubject)).subscribe((x) => {
88
97
  const keyCode = x.keyCode;
89
98
  if (!this.portalAttached() && [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, MAC_ENTER].includes(keyCode)) {
90
- this.showPortal();
99
+ this.inputChange.next(this.displayValue);
91
100
  }
92
101
  if (this.portalAttached() && [ESCAPE].includes(keyCode)) {
93
102
  this.closeSubject.next();
@@ -95,7 +104,7 @@ export class XSelectComponent extends XSelectProperty {
95
104
  });
96
105
  }
97
106
  menter() {
98
- if (this.disabled || !this.clearable)
107
+ if (this.disabled || !this.clearable || this.iconSpin)
99
108
  return;
100
109
  this.enter = true;
101
110
  if (!XIsEmpty(this.displayValue)) {
@@ -105,7 +114,7 @@ export class XSelectComponent extends XSelectProperty {
105
114
  }
106
115
  }
107
116
  mleave() {
108
- if (this.disabled || !this.clearable)
117
+ if (this.disabled || !this.clearable || this.iconSpin)
109
118
  return;
110
119
  this.enter = false;
111
120
  if (this.clearable) {
@@ -114,12 +123,55 @@ export class XSelectComponent extends XSelectProperty {
114
123
  this.cdr.detectChanges();
115
124
  }
116
125
  }
126
+ modelChange(value) {
127
+ if (XIsFunction(this.data)) {
128
+ if (!this.portalAttached()) {
129
+ this.showPortal();
130
+ }
131
+ else {
132
+ this.icon = 'fto-loader';
133
+ this.iconSpin = true;
134
+ this.cdr.detectChanges();
135
+ XSetData(this.data, this._unSubject, true, value).subscribe((x) => {
136
+ this.icon = '';
137
+ this.iconSpin = false;
138
+ this.nodes = x;
139
+ this.dataChange.next(this.nodes);
140
+ this.cdr.detectChanges();
141
+ });
142
+ }
143
+ return;
144
+ }
145
+ if (this.nodes) {
146
+ if (!this.portalAttached()) {
147
+ this.showPortal();
148
+ }
149
+ else {
150
+ if (XIsEmpty(value)) {
151
+ this.searchNodes = [...this.nodes];
152
+ }
153
+ else {
154
+ this.setSearchNodes(value);
155
+ }
156
+ this.dataChange.next(this.searchNodes);
157
+ }
158
+ }
159
+ }
160
+ setSearchNodes(value) {
161
+ if (this.caseSensitive) {
162
+ this.searchNodes = this.nodes.filter((x) => x.label.indexOf(value) >= 0);
163
+ }
164
+ else {
165
+ this.searchNodes = this.nodes.filter((x) => x.label.toLowerCase().indexOf(value.toLowerCase()) >= 0);
166
+ }
167
+ }
117
168
  clearEmit() {
118
169
  this.value = '';
119
170
  this.displayValue = '';
120
171
  this.valueTplContext.$node = null;
121
172
  this.mleave();
122
173
  this.valueChange.next(this.value);
174
+ this.inputChange.next('');
123
175
  if (this.onChange)
124
176
  this.onChange(this.value);
125
177
  }
@@ -173,22 +225,22 @@ export class XSelectComponent extends XSelectProperty {
173
225
  destroyPortal() {
174
226
  this.portal?.overlayRef?.dispose();
175
227
  }
176
- showPortal() {
177
- if (this.disabled || this.iconSpin)
178
- return;
179
- if (this.animating)
228
+ showPortal(click = false) {
229
+ if (this.disabled || this.iconSpin || this.animating)
180
230
  return;
181
231
  this.active = true;
182
- if (this.async && XIsObservable(this.data) && this.nodes.length === 0) {
232
+ if ((this.async && XIsObservable(this.data) && this.nodes.length === 0) || XIsFunction(this.data)) {
183
233
  this.icon = 'fto-loader';
184
234
  this.iconSpin = true;
185
- this.cdr.detectChanges();
186
- XSetData(this.data, this._unSubject).subscribe((x) => {
187
- this.nodes = x;
188
- this.setDisplayValue();
189
- this.createPortal();
235
+ this.inputCom.cdr.detectChanges();
236
+ XSetData(this.data, this._unSubject, true, click ? '' : this.displayValue).subscribe((x) => {
190
237
  this.icon = 'fto-chevron-down';
191
238
  this.iconSpin = false;
239
+ this.inputCom.cdr.detectChanges();
240
+ this.nodes = x;
241
+ if (!this.search)
242
+ this.setDisplayValue();
243
+ this.createPortal();
192
244
  this.cdr.detectChanges();
193
245
  });
194
246
  }
@@ -243,10 +295,13 @@ export class XSelectComponent extends XSelectProperty {
243
295
  positionChange: this.positionChange,
244
296
  closeSubject: this.closeSubject,
245
297
  keydownSubject: this.keydownSubject,
298
+ dataChange: this.dataChange,
246
299
  inputCom: this.inputCom,
247
300
  portalMaxHeight: this.portalMaxHeight,
248
301
  objectArray: this.objectArray,
249
302
  selectAllText: this.selectAllText,
303
+ caseSensitive: this.caseSensitive,
304
+ search: this.search,
250
305
  destroyPortal: () => this.destroyPortal(),
251
306
  nodeEmit: (node) => this.nodeClick(node),
252
307
  animating: (ing) => (this.animating = ing)
@@ -288,18 +343,24 @@ export class XSelectComponent extends XSelectProperty {
288
343
  }
289
344
  onKeydown($event) {
290
345
  this.keydownSubject.next($event);
291
- if ($event.keyCode !== TAB)
346
+ if ($event.keyCode !== TAB && !this.search) {
292
347
  $event.preventDefault();
348
+ }
293
349
  }
294
350
  onFocus(_event) {
295
351
  this.inputCom.inputFocus();
296
352
  }
353
+ onInput(_event) {
354
+ setTimeout(() => {
355
+ this.inputChange.next(this.displayValue);
356
+ });
357
+ }
297
358
  }
298
- /** @nocollapse */ /** @nocollapse */ XSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.Overlay }, { token: i3.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
299
- /** @nocollapse */ /** @nocollapse */ XSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XSelectComponent, selector: "x-select", providers: [XValueAccessor(XSelectComponent)], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #select class=\"x-select\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"showClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl ? valueTpl : nodeTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-select{display:inline-block}.x-select{margin:0;padding:0;width:100%}.x-select x-input{width:100%}.x-select-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);width:100%;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);position:relative;display:flex;background-color:var(--x-background);overflow:hidden auto;max-height:calc((calc(var(--x-font-size) + .875rem) * 6) + (var(--x-border-width) * 7))}\n"], components: [{ type: i4.XInputComponent, selector: "x-input" }], directives: [{ type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSelectComponent, decorators: [{
359
+ /** @nocollapse */ XSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.Overlay }, { token: i3.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
360
+ /** @nocollapse */ XSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSelectComponent, selector: "x-select", providers: [XValueAccessor(XSelectComponent)], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #select class=\"x-select\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"getReadonly\"\r\n [clearable]=\"showClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl ? valueTpl : nodeTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-select{display:inline-block;width:12rem}.x-select{margin:0;padding:0;width:100%}.x-select x-input{width:100%}.x-select-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);width:100%;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);position:relative;display:flex;background-color:var(--x-background);overflow:hidden auto;max-height:calc((calc(var(--x-font-size) + .875rem) * 6) + (var(--x-border-width) * 7))}\n"], dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectComponent, decorators: [{
301
362
  type: Component,
302
- args: [{ selector: `${XSelectPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSelectComponent)], template: "<div #select class=\"x-select\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"showClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl ? valueTpl : nodeTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-select{display:inline-block}.x-select{margin:0;padding:0;width:100%}.x-select x-input{width:100%}.x-select-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);width:100%;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);position:relative;display:flex;background-color:var(--x-background);overflow:hidden auto;max-height:calc((calc(var(--x-font-size) + .875rem) * 6) + (var(--x-border-width) * 7))}\n"] }]
363
+ args: [{ selector: `${XSelectPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSelectComponent)], template: "<div #select class=\"x-select\">\r\n <div class=\"x-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"getReadonly\"\r\n [clearable]=\"showClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl ? valueTpl : nodeTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-select{display:inline-block;width:12rem}.x-select{margin:0;padding:0;width:100%}.x-select x-input{width:100%}.x-select-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);width:100%;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);position:relative;display:flex;background-color:var(--x-background);overflow:hidden auto;max-height:calc((calc(var(--x-font-size) + .875rem) * 6) + (var(--x-border-width) * 7))}\n"] }]
303
364
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.XPortalService }, { type: i0.ViewContainerRef }, { type: i2.Overlay }, { type: i3.XConfigService }]; }, propDecorators: { inputCom: [{
304
365
  type: ViewChild,
305
366
  args: ['inputCom', { static: true }]
@@ -307,4 +368,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
307
368
  type: ViewChild,
308
369
  args: ['select', { static: true }]
309
370
  }] } });
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQU92QixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFFWCxRQUFRLEVBRVIsY0FBYyxFQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFVdkQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFxQ25ELFlBQ1MsUUFBbUIsRUFDbEIsR0FBc0IsRUFDdEIsYUFBNkIsRUFDN0IsZ0JBQWtDLEVBQ2xDLE9BQWdCLEVBQ2pCLGFB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cnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFNlbGVjdE5vZGUsIFhTZWxlY3RQcm9wZXJ0eSwgWFNlbGVjdFByZWZpeCB9IGZyb20gJy4vc2VsZWN0LnByb3BlcnR5JztcclxuaW1wb3J0IHtcclxuICBYSXNFbXB0eSxcclxuICBYSXNPYnNlcnZhYmxlLFxyXG4gIFhJc0NoYW5nZSxcclxuICBYU2V0RGF0YSxcclxuICBYQ2xlYXJDbGFzcyxcclxuICBYQ29uZmlnU2VydmljZSxcclxuICBYSXNBcnJheSxcclxuICBYUG9zaXRpb25Ub3BCb3R0b20sXHJcbiAgWElzT2JqZWN0QXJyYXlcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYSW5wdXRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhTZWxlY3RQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIE92ZXJsYXlDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBET1dOX0FSUk9XLCBVUF9BUlJPVywgRU5URVIsIE1BQ19FTlRFUiwgVEFCLCBFU0NBUEUsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTZWxlY3RQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhTZWxlY3RDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNlbGVjdENvbXBvbmVudCBleHRlbmRzIFhTZWxlY3RQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdpbnB1dENvbScsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0Q29tITogWElucHV0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdCcsIHsgc3RhdGljOiB0cnVlIH0pIHNlbGVjdCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgWElzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgIHZhbHVlID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgPSB0cnVlO1xyXG4gIGVudGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0NsZWFyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlWYWx1ZTogYW55ID0gJyc7XHJcbiAgbm9kZXM6IFhTZWxlY3ROb2RlW10gPSBbXTtcclxuICBjbG9uZU5vZGVzITogWFNlbGVjdE5vZGVbXTtcclxuICBwb3J0YWwhOiBYUG9ydGFsT3ZlcmxheVJlZjxYU2VsZWN0UG9ydGFsQ29tcG9uZW50PjtcclxuICBpY29uOiBzdHJpbmcgPSAnZnRvLWNoZXZyb24tZG93bic7XHJcbiAgaWNvblNwaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBib3ghOiBET01SZWN0O1xyXG4gIHByb3RhbEhlaWdodCE6IG51bWJlcjtcclxuICBtYXhOb2RlczogbnVtYmVyID0gNjtcclxuICBwcm90YWxUb2JvdHRvbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgYXN5bmNMb2FkaW5nID0gZmFsc2U7XHJcbiAgYW5pbWF0aW5nID0gZmFsc2U7XHJcbiAgb2JqZWN0QXJyYXkgPSBmYWxzZTtcclxuICBvdmVycmlkZSB2YWx1ZVRwbENvbnRleHQ6IHsgJG5vZGU6IGFueTsgJGlzVmFsdWU6IGJvb2xlYW4gfSA9IHsgJG5vZGU6IG51bGwsICRpc1ZhbHVlOiB0cnVlIH07XHJcbiAgdmFsdWVDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcG9zaXRpb25DaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY2xvc2VTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBrZXlkb3duU3ViamVjdDogU3ViamVjdDxLZXlib2FyZEV2ZW50PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcG9ydGFsU2VydmljZTogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLnNlbGVjdC5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIHRoaXMuc2V0U3ViamVjdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXRQb3J0YWwoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNldERhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5hc3luYykgcmV0dXJuO1xyXG4gICAgWFNldERhdGE8WFNlbGVjdE5vZGU+KHRoaXMuZGF0YSwgdGhpcy5fdW5TdWJqZWN0KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKCk7XHJcbiAgICAgIHRoaXMuc2V0UG9ydGFsKCk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U3ViamVjdCgpIHtcclxuICAgIHRoaXMuY2xvc2VTdWJqZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VQb3J0YWwoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5rZXlkb3duU3ViamVjdC5waXBlKHRocm90dGxlVGltZSgxMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgY29uc3Qga2V5Q29kZSA9IHgua2V5Q29kZTtcclxuICAgICAgaWYgKCF0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgW0RPV05fQVJST1csIFVQX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgRU5URVIsIE1BQ19FTlRFUl0uaW5jbHVkZXMoa2V5Q29kZSkpIHtcclxuICAgICAgICB0aGlzLnNob3dQb3J0YWwoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpICYmIFtFU0NBUEVdLmluY2x1ZGVzKGtleUNvZGUpKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG1lbnRlcigpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmNsZWFyYWJsZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5lbnRlciA9IHRydWU7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMuZGlzcGxheVZhbHVlKSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnJztcclxuICAgICAgdGhpcy5zaG93Q2xlYXJhYmxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuY2xlYXJhYmxlKSByZXR1cm47XHJcbiAgICB0aGlzLmVudGVyID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5jbGVhcmFibGUpIHtcclxuICAgICAgdGhpcy5pY29uID0gJ2Z0by1jaGV2cm9uLWRvd24nO1xyXG4gICAgICB0aGlzLnNob3dDbGVhcmFibGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJFbWl0KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSAnJztcclxuICAgIHRoaXMudmFsdWVUcGxDb250ZXh0LiRub2RlID0gbnVsbDtcclxuICAgIHRoaXMubWxlYXZlKCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXlWYWx1ZSgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICBpZiAoWElzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gJyc7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlVHBsQ29udGV4dC4kbm9kZSA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxldCBub2RlczogWFNlbGVjdE5vZGVbXSA9IFtdO1xyXG4gICAgICAgICAgaWYgKFhJc09iamVjdEFycmF5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMub2JqZWN0QXJyYXkgPSB0cnVlO1xyXG4gICAgICAgICAgICBub2RlcyA9IHRoaXMubm9kZXMuZmlsdGVyKCh4KSA9PiAhWElzRW1wdHkodGhpcy52YWx1ZS5maW5kKCh5OiBYU2VsZWN0Tm9kZSkgPT4geS5pZCA9PT0geC5pZCkpKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub2JqZWN0QXJyYXkgPSBmYWxzZTtcclxuICAgICAgICAgICAgbm9kZXMgPSB0aGlzLm5vZGVzLmZpbHRlcigoeCkgPT4gIVhJc0VtcHR5KHRoaXMudmFsdWUuZmluZCgoeTogc3RyaW5nIHwgbnVtYmVyKSA9PiB5ID09PSB4LmlkKSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBub2Rlcy5tYXAoKHgpID0+IHgubGFiZWwpLmpvaW4oJywnKTtcclxuICAgICAgICAgIHRoaXMudmFsdWVUcGxDb250ZXh0LiRub2RlID0gWy4uLm5vZGVzXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLm5vZGVzLmZpbmQoKHgpID0+IHguaWQgPT09IHRoaXMudmFsdWUpO1xyXG4gICAgICAgIGlmIChub2RlKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IG5vZGUubGFiZWw7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlVHBsQ29udGV4dC4kbm9kZSA9IG5vZGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gJyc7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlVHBsQ29udGV4dC4kbm9kZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3lQb3J0YWwoKSB7XHJcbiAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd1BvcnRhbCgpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuaWNvblNwaW4pIHJldHVybjtcclxuICAgIGlmICh0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuYXN5bmMgJiYgWElzT2JzZXJ2YWJsZSh0aGlzLmRhdGEpICYmIHRoaXMubm9kZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdmdG8tbG9hZGVyJztcclxuICAgICAgdGhpcy5pY29uU3BpbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgWFNldERhdGE8WFNlbGVjdE5vZGU+KHRoaXMuZGF0YSwgdGhpcy5fdW5TdWJqZWN0KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2Z0by1jaGV2cm9uLWRvd24nO1xyXG4gICAgICAgIHRoaXMuaWNvblNwaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jcmVhdGVQb3J0YWwoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRDb20uaW5wdXRGb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlUG9ydGFsKCkge1xyXG4gICAgdGhpcy5ub2Rlcy5maWx0ZXIoKHgpID0+IHguc2VsZWN0ZWQpLm1hcCgoeCkgPT4gKHguc2VsZWN0ZWQgPSBmYWxzZSkpO1xyXG4gICAgdGhpcy5ib3ggPSB0aGlzLmlucHV0Q29tLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjb25maWc6IE92ZXJsYXlDb25maWcgPSB7XHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICcnLFxyXG4gICAgICB3aWR0aDogdGhpcy5ib3gud2lkdGgsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UGxhY2VtZW50KCksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcclxuICAgIH07XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uKGNvbmZpZyk7XHJcbiAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiBYU2VsZWN0UG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgID8ub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5zZXRJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9zaXRpb24oY29uZmlnOiBPdmVybGF5Q29uZmlnKSB7XHJcbiAgICBsZXQgcG9zaXRpb24gPSBjb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICBwb3NpdGlvbi5wb3NpdGlvbkNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKChwb3M6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSkgPT4ge1xyXG4gICAgICBjb25zdCBwbGFjZSA9IFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbi5nZXQocG9zLmNvbm5lY3Rpb25QYWlyKSBhcyBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgICAgIHBsYWNlICE9PSB0aGlzLnBsYWNlbWVudCAmJiB0aGlzLnBvc2l0aW9uQ2hhbmdlLm5leHQocGxhY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbnN0YW5jZSgpIHtcclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbC5jb21wb25lbnRSZWY7XHJcbiAgICBpZiAoIWNvbXBvbmVudFJlZikgcmV0dXJuO1xyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgZGF0YTogdGhpcy5ub2RlcyxcclxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXHJcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXHJcbiAgICAgIG11bHRpcGxlOiB0aGlzLm11bHRpcGxlID09PSB0cnVlID8gMCA6IDEsXHJcbiAgICAgIHNlbGVjdEFsbDogdGhpcy5zZWxlY3RBbGwsXHJcbiAgICAgIG5vZGVUcGw6IHRoaXMubm9kZVRwbCxcclxuICAgICAgdmFsdWVDaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UsXHJcbiAgICAgIHBvc2l0aW9uQ2hhbmdlOiB0aGlzLnBvc2l0aW9uQ2hhbmdlLFxyXG4gICAgICBjbG9zZVN1YmplY3Q6IHRoaXMuY2xvc2VTdWJqZWN0LFxyXG4gICAgICBrZXlkb3duU3ViamVjdDogdGhpcy5rZXlkb3duU3ViamVjdCxcclxuICAgICAgaW5wdXRDb206IHRoaXMuaW5wdXRDb20sXHJcbiAgICAgIHBvcnRhbE1heEhlaWdodDogdGhpcy5wb3J0YWxNYXhIZWlnaHQsXHJcbiAgICAgIG9iamVjdEFycmF5OiB0aGlzLm9iamVjdEFycmF5LFxyXG4gICAgICBzZWxlY3RBbGxUZXh0OiB0aGlzLnNlbGVjdEFsbFRleHQsXHJcbiAgICAgIGRlc3Ryb3lQb3J0YWw6ICgpID0+IHRoaXMuZGVzdHJveVBvcnRhbCgpLFxyXG4gICAgICBub2RlRW1pdDogKG5vZGU6IFhTZWxlY3ROb2RlKSA9PiB0aGlzLm5vZGVDbGljayhub2RlKSxcclxuICAgICAgYW5pbWF0aW5nOiAoaW5nOiBib29sZWFuKSA9PiAodGhpcy5hbmltYXRpbmcgPSBpbmcpXHJcbiAgICB9KTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBub2RlQ2xpY2sobm9kZTogWFNlbGVjdE5vZGUgfCBYU2VsZWN0Tm9kZVtdKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiBYSXNBcnJheShub2RlKSkge1xyXG4gICAgICBub2RlID0gbm9kZSBhcyBYU2VsZWN0Tm9kZVtdO1xyXG4gICAgICB0aGlzLnZhbHVlID0gbm9kZTtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5vZGUgPSBub2RlIGFzIFhTZWxlY3ROb2RlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IG5vZGUubGFiZWw7XHJcbiAgICAgIHRoaXMudmFsdWVUcGxDb250ZXh0LiRub2RlID0gbm9kZTtcclxuICAgICAgdGhpcy52YWx1ZSA9IG5vZGUuaWQ7XHJcbiAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRDb20uaW5wdXRGb2N1cygpO1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlbWVudCh7XHJcbiAgICAgIGVsZW1lbnRSZWY6IHRoaXMuaW5wdXRDb20uaW5wdXRSZWYsXHJcbiAgICAgIHBsYWNlbWVudDogW3RoaXMucGxhY2VtZW50IGFzIFhQb3NpdGlvblRvcEJvdHRvbSwgJ2JvdHRvbScsICd0b3AnXSxcclxuICAgICAgdHJhbnNmb3JtT3JpZ2luT246ICd4LXNlbGVjdC1wb3J0YWwnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsQXR0YWNoZWQoKSAmJiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLnNldFBsYWNlbWVudCgpKTtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25LZXlkb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgdGhpcy5rZXlkb3duU3ViamVjdC5uZXh0KCRldmVudCk7XHJcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgIT09IFRBQikgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKF9ldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMuaW5wdXRDb20uaW5wdXRGb2N1cygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNzZWxlY3QgY2xhc3M9XCJ4LXNlbGVjdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXNlbGVjdC1yb3dcIj5cclxuICAgIDx4LWlucHV0XHJcbiAgICAgICNpbnB1dENvbVxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtsYWJlbFdpZHRoXT1cImxhYmVsV2lkdGhcIlxyXG4gICAgICBbbGFiZWxBbGlnbl09XCJsYWJlbEFsaWduXCJcclxuICAgICAgW2p1c3RpZnldPVwianVzdGlmeVwiXHJcbiAgICAgIFthbGlnbl09XCJhbGlnblwiXHJcbiAgICAgIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgW2ljb25dPVwiaWNvblwiXHJcbiAgICAgIFtpY29uU3Bpbl09XCJpY29uU3BpblwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIFtjbGVhcmFibGVdPVwic2hvd0NsZWFyYWJsZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwiZGlzcGxheVZhbHVlXCJcclxuICAgICAgW3ZhbHVlVHBsXT1cInZhbHVlVHBsID8gdmFsdWVUcGwgOiBub2RlVHBsXCJcclxuICAgICAgW3ZhbHVlVHBsQ29udGV4dF09XCJ2YWx1ZVRwbENvbnRleHRcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgW2JvcmRlcmVkXT1cImJvcmRlcmVkXCJcclxuICAgICAgW2JlZm9yZV09XCJiZWZvcmVcIlxyXG4gICAgICBbYWZ0ZXJdPVwiYWZ0ZXJcIlxyXG4gICAgICBbcGF0dGVybl09XCJwYXR0ZXJuXCJcclxuICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiXHJcbiAgICAgIFtwb2ludGVyXT1cInRydWVcIlxyXG4gICAgICBbKGFjdGl2ZSldPVwiYWN0aXZlXCJcclxuICAgICAgKGNsZWFyRW1pdCk9XCJjbGVhckVtaXQoKVwiXHJcbiAgICAgICh4S2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICh4Rm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgKHhDbGljayk9XCJzaG93UG9ydGFsKClcIlxyXG4gICAgICAoeE1vdXNlZW50ZXIpPVwibWVudGVyKClcIlxyXG4gICAgICAoeE1vdXNlbGVhdmUpPVwibWxlYXZlKClcIlxyXG4gICAgPjwveC1pbnB1dD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQU92QixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFFWCxRQUFRLEVBRVIsY0FBYyxFQUNkLFdBQVcsRUFDWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBcUMsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVV2RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQTRDbkQsWUFDUyxRQUFtQixFQUNsQixHQUFzQixFQUN0QixhQUE2QixF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U0FDekI7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWE7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWtCO1FBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnSUF6V1UsZ0JBQWdCO29IQUFoQixnQkFBZ0IsbUNBRmhCLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsMlJDekMvQywwckNBc0NBOzJGREthLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxHQUFHLGFBQWEsRUFBRSxpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsY0FBYyxrQkFBa0IsQ0FBQzsrT0FHSixRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0EsTUFBTTtzQkFBNUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFNlbGVjdE5vZGUsIFhTZWxlY3RQcm9wZXJ0eSwgWFNlbGVjdFByZWZpeCB9IGZyb20gJy4vc2VsZWN0LnByb3BlcnR5JztcclxuaW1wb3J0IHtcclxuICBYSXNFbXB0eSxcclxuICBYSXNPYnNlcnZhYmxlLFxyXG4gIFhJc0NoYW5nZSxcclxuICBYU2V0RGF0YSxcclxuICBYQ2xlYXJDbGFzcyxcclxuICBYQ29uZmlnU2VydmljZSxcclxuICBYSXNBcnJheSxcclxuICBYUG9zaXRpb25Ub3BCb3R0b20sXHJcbiAgWElzT2JqZWN0QXJyYXksXHJcbiAgWElzRnVuY3Rpb25cclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYSW5wdXRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhTZWxlY3RQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIE92ZXJsYXlDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBET1dOX0FSUk9XLCBVUF9BUlJPVywgRU5URVIsIE1BQ19FTlRFUiwgRVNDQVBFLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgVEFCIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTZWxlY3RQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhTZWxlY3RDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNlbGVjdENvbXBvbmVudCBleHRlbmRzIFhTZWxlY3RQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdpbnB1dENvbScsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0Q29tITogWElucHV0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdCcsIHsgc3RhdGljOiB0cnVlIH0pIHNlbGVjdCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGdldCBnZXRSZWFkb25seSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5ICYmICF0aGlzLnNlYXJjaDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgWElzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgIHZhbHVlID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgPSB0cnVlO1xyXG4gIGVudGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0NsZWFyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlWYWx1ZTogYW55ID0gJyc7XHJcbiAgbm9kZXM6IFhTZWxlY3ROb2RlW10gPSBbXTtcclxuICBzZWFyY2hOb2RlczogWFNlbGVjdE5vZGVbXSA9IFtdO1xyXG4gIGNsb25lTm9kZXMhOiBYU2VsZWN0Tm9kZVtdO1xyXG4gIHBvcnRhbCE6IFhQb3J0YWxPdmVybGF5UmVmPFhTZWxlY3RQb3J0YWxDb21wb25lbnQ+O1xyXG4gIGljb246IHN0cmluZyA9ICdmdG8tY2hldnJvbi1kb3duJztcclxuICBpY29uU3BpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGJveCE6IERPTVJlY3Q7XHJcbiAgcHJvdGFsSGVpZ2h0ITogbnVtYmVyO1xyXG4gIG1heE5vZGVzOiBudW1iZXIgPSA2O1xyXG4gIHByb3RhbFRvYm90dG9tOiBib29sZWFuID0gdHJ1ZTtcclxuICBhc3luY0xvYWRpbmcgPSBmYWxzZTtcclxuICBhbmltYXRpbmcgPSBmYWxzZTtcclxuICBvYmplY3RBcnJheSA9IGZhbHNlO1xyXG4gIG92ZXJyaWRlIHZhbHVlVHBsQ29udGV4dDogeyAkbm9kZTogYW55OyAkaXNWYWx1ZTogYm9vbGVhbiB9ID0geyAkbm9kZTogbnVsbCwgJGlzVmFsdWU6IHRydWUgfTtcclxuICB2YWx1ZUNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwb3NpdGlvbkNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjbG9zZVN1YmplY3Q6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGRhdGFDaGFuZ2U6IFN1YmplY3Q8WFNlbGVjdE5vZGVbXT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGtleWRvd25TdWJqZWN0OiBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBpbnB1dENoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBwb3J0YWxTZXJ2aWNlOiBYUG9ydGFsU2VydmljZSxcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRGbGV4KHRoaXMuc2VsZWN0Lm5hdGl2ZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIsIHRoaXMuanVzdGlmeSwgdGhpcy5hbGlnbiwgdGhpcy5kaXJlY3Rpb24pO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gICAgdGhpcy5zZXRTdWJqZWN0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGRhdGEgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldFBvcnRhbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMubGFiZWxNYXApO1xyXG4gICAgdGhpcy5sYWJlbE1hcFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWdufWBdID0gdGhpcy5sYWJlbEFsaWduID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmFzeW5jKSByZXR1cm47XHJcbiAgICBYU2V0RGF0YTxYU2VsZWN0Tm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgICAgdGhpcy5zZXRQb3J0YWwoKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJqZWN0KCkge1xyXG4gICAgdGhpcy5jbG9zZVN1YmplY3QucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlucHV0Q2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lIGFzIG51bWJlciksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZSh4KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5rZXlkb3duU3ViamVjdC5waXBlKHRocm90dGxlVGltZSgxMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgY29uc3Qga2V5Q29kZSA9IHgua2V5Q29kZTtcclxuICAgICAgaWYgKCF0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgW0RPV05fQVJST1csIFVQX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgRU5URVIsIE1BQ19FTlRFUl0uaW5jbHVkZXMoa2V5Q29kZSkpIHtcclxuICAgICAgICB0aGlzLmlucHV0Q2hhbmdlLm5leHQodGhpcy5kaXNwbGF5VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgW0VTQ0FQRV0uaW5jbHVkZXMoa2V5Q29kZSkpIHtcclxuICAgICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbWVudGVyKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuY2xlYXJhYmxlIHx8IHRoaXMuaWNvblNwaW4pIHJldHVybjtcclxuICAgIHRoaXMuZW50ZXIgPSB0cnVlO1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLmRpc3BsYXlWYWx1ZSkpIHtcclxuICAgICAgdGhpcy5pY29uID0gJyc7XHJcbiAgICAgIHRoaXMuc2hvd0NsZWFyYWJsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1sZWF2ZSgpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmNsZWFyYWJsZSB8fCB0aGlzLmljb25TcGluKSByZXR1cm47XHJcbiAgICB0aGlzLmVudGVyID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5jbGVhcmFibGUpIHtcclxuICAgICAgdGhpcy5pY29uID0gJ2Z0by1jaGV2cm9uLWRvd24nO1xyXG4gICAgICB0aGlzLnNob3dDbGVhcmFibGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgaWYgKFhJc0Z1bmN0aW9uKHRoaXMuZGF0YSkpIHtcclxuICAgICAgaWYgKCF0aGlzLnBvcnRhbEF0dGFjaGVkKCkpIHtcclxuICAgICAgICB0aGlzLnNob3dQb3J0YWwoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmljb24gPSAnZnRvLWxvYWRlcic7XHJcbiAgICAgICAgdGhpcy5pY29uU3BpbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIFhTZXREYXRhPFhTZWxlY3ROb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCwgdHJ1ZSwgdmFsdWUgYXMgYW55KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICAgICAgdGhpcy5pY29uU3BpbiA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgICAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dCh0aGlzLm5vZGVzKTtcclxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ub2Rlcykge1xyXG4gICAgICBpZiAoIXRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICAgIHRoaXMuc2hvd1BvcnRhbCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChYSXNFbXB0eSh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoTm9kZXMgPSBbLi4udGhpcy5ub2Rlc107XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U2VhcmNoTm9kZXModmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dCh0aGlzLnNlYXJjaE5vZGVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U2VhcmNoTm9kZXModmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuY2FzZVNlbnNpdGl2ZSkge1xyXG4gICAgICB0aGlzLnNlYXJjaE5vZGVzID0gdGhpcy5ub2Rlcy5maWx0ZXIoKHgpID0+IHgubGFiZWwuaW5kZXhPZih2YWx1ZSkgPj0gMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlYXJjaE5vZGVzID0gdGhpcy5ub2Rlcy5maWx0ZXIoKHgpID0+ICh4LmxhYmVsIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKS5pbmRleE9mKCh2YWx1ZSBhcyBzdHJpbmcpLnRvTG93ZXJDYXNlKCkpID49IDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJFbWl0KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSAnJztcclxuICAgIHRoaXMudmFsdWVUcGxDb250ZXh0LiRub2RlID0gbnVsbDtcclxuICAgIHRoaXMubWxlYXZlKCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmlucHV0Q2hhbmdlLm5leHQoJycpO1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5VmFsdWUoKSB7XHJcbiAgICBpZiAodGhpcy5ub2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgaWYgKFhJc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9ICcnO1xyXG4gICAgICAgICAgdGhpcy52YWx1ZVRwbENvbnRleHQuJG5vZGUgPSBudWxsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgbm9kZXM6IFhTZWxlY3ROb2RlW10gPSBbXTtcclxuICAgICAgICAgIGlmIChYSXNPYmplY3RBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgICB0aGlzLm9iamVjdEFycmF5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgbm9kZXMgPSB0aGlzLm5vZGVzLmZpbHRlcigoeCkgPT4gIVhJc0VtcHR5KHRoaXMudmFsdWUuZmluZCgoeTogWFNlbGVjdE5vZGUpID0+IHkuaWQgPT09IHguaWQpKSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm9iamVjdEFycmF5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIG5vZGVzID0gdGhpcy5ub2Rlcy5maWx0ZXIoKHgpID0+ICFYSXNFbXB0eSh0aGlzLnZhbHVlLmZpbmQoKHk6IHN0cmluZyB8IG51bWJlcikgPT4geSA9PT0geC5pZCkpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gbm9kZXMubWFwKCh4KSA9PiB4LmxhYmVsKS5qb2luKCcsJyk7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlVHBsQ29udGV4dC4kbm9kZSA9IFsuLi5ub2Rlc107XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5ub2Rlcy5maW5kKCh4KSA9PiB4LmlkID09PSB0aGlzLnZhbHVlKTtcclxuICAgICAgICBpZiAobm9kZSkge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBub2RlLmxhYmVsO1xyXG4gICAgICAgICAgdGhpcy52YWx1ZVRwbENvbnRleHQuJG5vZGUgPSBub2RlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9ICcnO1xyXG4gICAgICAgICAgdGhpcy52YWx1ZVRwbENvbnRleHQuJG5vZGUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3J0YWxBdHRhY2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUG9ydGFsKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICB9XHJcblxyXG4gIHNob3dQb3J0YWwoY2xpY2sgPSBmYWxzZSkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5pY29uU3BpbiB8fCB0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgaWYgKCh0aGlzLmFzeW5jICYmIFhJc09ic2VydmFibGUodGhpcy5kYXRhKSAmJiB0aGlzLm5vZGVzLmxlbmd0aCA9PT0gMCkgfHwgWElzRnVuY3Rpb24odGhpcy5kYXRhKSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnZnRvLWxvYWRlcic7XHJcbiAgICAgIHRoaXMuaWNvblNwaW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmlucHV0Q29tLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIFhTZXREYXRhPFhTZWxlY3ROb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCwgdHJ1ZSwgY2xpY2sgPyAnJyA6IHRoaXMuZGlzcGxheVZhbHVlKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmljb24gPSAnZnRvLWNoZXZyb24tZG93bic7XHJcbiAgICAgICAgdGhpcy5pY29uU3BpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaW5wdXRDb20uY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoKSB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0Q29tLmlucHV0Rm9jdXMoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVBvcnRhbCgpIHtcclxuICAgIHRoaXMubm9kZXMuZmlsdGVyKCh4KSA9PiB4LnNlbGVjdGVkKS5tYXAoKHgpID0+ICh4LnNlbGVjdGVkID0gZmFsc2UpKTtcclxuICAgIHRoaXMuYm94ID0gdGhpcy5pbnB1dENvbS5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnJyxcclxuICAgICAgd2lkdGg6IHRoaXMuYm94LndpZHRoLFxyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnNldFBsYWNlbWVudCgpLFxyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXRQb3NpdGlvbihjb25maWcpO1xyXG4gICAgdGhpcy5wb3J0YWwgPSB0aGlzLnBvcnRhbFNlcnZpY2UuYXR0YWNoKHtcclxuICAgICAgY29udGVudDogWFNlbGVjdFBvcnRhbENvbXBvbmVudCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiBjb25maWdcclxuICAgIH0pO1xyXG4gICAgdGhpcy5wb3J0YWwub3ZlcmxheVJlZlxyXG4gICAgICA/Lm91dHNpZGVQb2ludGVyRXZlbnRzKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gICAgICBwbGFjZSAhPT0gdGhpcy5wbGFjZW1lbnQgJiYgdGhpcy5wb3NpdGlvbkNoYW5nZS5uZXh0KHBsYWNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWwuY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHJldHVybjtcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGRhdGE6IHRoaXMubm9kZXMsXHJcbiAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxyXG4gICAgICBtdWx0aXBsZTogdGhpcy5tdWx0aXBsZSA9PT0gdHJ1ZSA/IDAgOiAxLFxyXG4gICAgICBzZWxlY3RBbGw6IHRoaXMuc2VsZWN0QWxsLFxyXG4gICAgICBub2RlVHBsOiB0aGlzLm5vZGVUcGwsXHJcbiAgICAgIHZhbHVlQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLFxyXG4gICAgICBwb3NpdGlvbkNoYW5nZTogdGhpcy5wb3NpdGlvbkNoYW5nZSxcclxuICAgICAgY2xvc2VTdWJqZWN0OiB0aGlzLmNsb3NlU3ViamVjdCxcclxuICAgICAga2V5ZG93blN1YmplY3Q6IHRoaXMua2V5ZG93blN1YmplY3QsXHJcbiAgICAgIGRhdGFDaGFuZ2U6IHRoaXMuZGF0YUNoYW5nZSxcclxuICAgICAgaW5wdXRDb206IHRoaXMuaW5wdXRDb20sXHJcbiAgICAgIHBvcnRhbE1heEhlaWdodDogdGhpcy5wb3J0YWxNYXhIZWlnaHQsXHJcbiAgICAgIG9iamVjdEFycmF5OiB0aGlzLm9iamVjdEFycmF5LFxyXG4gICAgICBzZWxlY3RBbGxUZXh0OiB0aGlzLnNlbGVjdEFsbFRleHQsXHJcbiAgICAgIGNhc2VTZW5zaXRpdmU6IHRoaXMuY2FzZVNlbnNpdGl2ZSxcclxuICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaCxcclxuICAgICAgZGVzdHJveVBvcnRhbDogKCkgPT4gdGhpcy5kZXN0cm95UG9ydGFsKCksXHJcbiAgICAgIG5vZGVFbWl0OiAobm9kZTogWFNlbGVjdE5vZGUpID0+IHRoaXMubm9kZUNsaWNrKG5vZGUpLFxyXG4gICAgICBhbmltYXRpbmc6IChpbmc6IGJvb2xlYW4pID0+ICh0aGlzLmFuaW1hdGluZyA9IGluZylcclxuICAgIH0pO1xyXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5vZGVDbGljayhub2RlOiBYU2VsZWN0Tm9kZSB8IFhTZWxlY3ROb2RlW10pIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlICYmIFhJc0FycmF5KG5vZGUpKSB7XHJcbiAgICAgIG5vZGUgPSBub2RlIGFzIFhTZWxlY3ROb2RlW107XHJcbiAgICAgIHRoaXMudmFsdWUgPSBub2RlO1xyXG4gICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbm9kZSA9IG5vZGUgYXMgWFNlbGVjdE5vZGU7XHJcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gbm9kZS5sYWJlbDtcclxuICAgICAgdGhpcy52YWx1ZVRwbENvbnRleHQuJG5vZGUgPSBub2RlO1xyXG4gICAgICB0aGlzLnZhbHVlID0gbm9kZS5pZDtcclxuICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dENvbS5pbnB1dEZvY3VzKCk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UGxhY2VtZW50KHtcclxuICAgICAgZWxlbWVudFJlZjogdGhpcy5pbnB1dENvbS5pbnB1dFJlZixcclxuICAgICAgcGxhY2VtZW50OiBbdGhpcy5wbGFjZW1lbnQgYXMgWFBvc2l0aW9uVG9wQm90dG9tLCAnYm90dG9tJywgJ3RvcCddLFxyXG4gICAgICB0cmFuc2Zvcm1PcmlnaW5PbjogJ3gtc2VsZWN0LXBvcnRhbCdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWxBdHRhY2hlZCgpICYmIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMuc2V0UGxhY2VtZW50KCkpO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbktleWRvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLmtleWRvd25TdWJqZWN0Lm5leHQoJGV2ZW50KTtcclxuICAgIGlmICgkZXZlbnQua2V5Q29kZSAhPT0gVEFCICYmICF0aGlzLnNlYXJjaCkge1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRm9jdXMoX2V2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5pbnB1dENvbS5pbnB1dEZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBvbklucHV0KF9ldmVudDogSW5wdXRFdmVudCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2UubmV4dCh0aGlzLmRpc3BsYXlWYWx1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjc2VsZWN0IGNsYXNzPVwieC1zZWxlY3RcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1zZWxlY3Qtcm93XCI+XHJcbiAgICA8eC1pbnB1dFxyXG4gICAgICAjaW5wdXRDb21cclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbbGFiZWxXaWR0aF09XCJsYWJlbFdpZHRoXCJcclxuICAgICAgW2xhYmVsQWxpZ25dPVwibGFiZWxBbGlnblwiXHJcbiAgICAgIFtqdXN0aWZ5XT1cImp1c3RpZnlcIlxyXG4gICAgICBbYWxpZ25dPVwiYWxpZ25cIlxyXG4gICAgICBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgIFtpY29uXT1cImljb25cIlxyXG4gICAgICBbaWNvblNwaW5dPVwiaWNvblNwaW5cIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbcmVhZG9ubHldPVwiZ2V0UmVhZG9ubHlcIlxyXG4gICAgICBbY2xlYXJhYmxlXT1cInNob3dDbGVhcmFibGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImRpc3BsYXlWYWx1ZVwiXHJcbiAgICAgIFt2YWx1ZVRwbF09XCJ2YWx1ZVRwbCA/IHZhbHVlVHBsIDogbm9kZVRwbFwiXHJcbiAgICAgIFt2YWx1ZVRwbENvbnRleHRdPVwidmFsdWVUcGxDb250ZXh0XCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIFtib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgICAgIFtiZWZvcmVdPVwiYmVmb3JlXCJcclxuICAgICAgW2FmdGVyXT1cImFmdGVyXCJcclxuICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICBbcG9pbnRlcl09XCJ0cnVlXCJcclxuICAgICAgWyhhY3RpdmUpXT1cImFjdGl2ZVwiXHJcbiAgICAgIChjbGVhckVtaXQpPVwiY2xlYXJFbWl0KClcIlxyXG4gICAgICAoeEtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxyXG4gICAgICAoeElucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICh4Rm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgKHhDbGljayk9XCJzaG93UG9ydGFsKHRydWUpXCJcclxuICAgICAgKHhNb3VzZWVudGVyKT1cIm1lbnRlcigpXCJcclxuICAgICAgKHhNb3VzZWxlYXZlKT1cIm1sZWF2ZSgpXCJcclxuICAgID48L3gtaW5wdXQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -12,10 +12,10 @@ import { XI18nModule } from '@ng-nest/ui/i18n';
12
12
  import * as i0 from "@angular/core";
13
13
  export class XSelectModule {
14
14
  }
15
- /** @nocollapse */ /** @nocollapse */ XSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- /** @nocollapse */ /** @nocollapse */ XSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSelectModule, declarations: [XSelectComponent, XSelectPortalComponent, XSelectProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule, XI18nModule], exports: [XSelectComponent, XSelectPortalComponent] });
17
- /** @nocollapse */ /** @nocollapse */ XSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSelectModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule, XI18nModule]] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSelectModule, decorators: [{
15
+ /** @nocollapse */ XSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ /** @nocollapse */ XSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, declarations: [XSelectComponent, XSelectPortalComponent, XSelectProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule, XI18nModule], exports: [XSelectComponent, XSelectPortalComponent] });
17
+ /** @nocollapse */ XSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule, XI18nModule] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, decorators: [{
19
19
  type: NgModule,
20
20
  args: [{
21
21
  declarations: [XSelectComponent, XSelectPortalComponent, XSelectProperty],
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
23
23
  imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule, XI18nModule]
24
24
  }]
25
25
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NlbGVjdC9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLGFBQWE7O2lKQUFiLGFBQWE7a0pBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLGFBRTlELFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsYUFEdEgsZ0JBQWdCLEVBQUUsc0JBQXNCO2tKQUd2QyxhQUFhLFlBRmYsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7NEZBRXRILGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxDQUFDO29CQUN6RSxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDO2lCQUNsSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWElucHV0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBYUG9ydGFsTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWExpc3RNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9saXN0JztcclxuaW1wb3J0IHsgWFNlbGVjdFBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LXBvcnRhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYU2VsZWN0UHJvcGVydHkgfSBmcm9tICcuL3NlbGVjdC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhCYXNlRm9ybU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhJMThuTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hTZWxlY3RDb21wb25lbnQsIFhTZWxlY3RQb3J0YWxDb21wb25lbnQsIFhTZWxlY3RQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hTZWxlY3RDb21wb25lbnQsIFhTZWxlY3RQb3J0YWxDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBYUG9ydGFsTW9kdWxlLCBYSW5wdXRNb2R1bGUsIFhMaXN0TW9kdWxlLCBYQmFzZUZvcm1Nb2R1bGUsIFhJMThuTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNlbGVjdE1vZHVsZSB7fVxyXG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NlbGVjdC9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLGFBQWE7OzZIQUFiLGFBQWE7OEhBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLGFBRTlELFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsYUFEdEgsZ0JBQWdCLEVBQUUsc0JBQXNCOzhIQUd2QyxhQUFhLFlBRmQsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsV0FBVzsyRkFFckgsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLENBQUM7b0JBQ3pFLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDO29CQUNuRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7aUJBQ2xJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYSW5wdXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhQb3J0YWxNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYTGlzdE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2xpc3QnO1xyXG5pbXBvcnQgeyBYU2VsZWN0UG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhTZWxlY3RQcm9wZXJ0eSB9IGZyb20gJy4vc2VsZWN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWEJhc2VGb3JtTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEkxOG5Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbWFNlbGVjdENvbXBvbmVudCwgWFNlbGVjdFBvcnRhbENvbXBvbmVudCwgWFNlbGVjdFByb3BlcnR5XSxcclxuICBleHBvcnRzOiBbWFNlbGVjdENvbXBvbmVudCwgWFNlbGVjdFBvcnRhbENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFhQb3J0YWxNb2R1bGUsIFhJbnB1dE1vZHVsZSwgWExpc3RNb2R1bGUsIFhCYXNlRm9ybU1vZHVsZSwgWEkxOG5Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2VsZWN0TW9kdWxlIHt9XHJcbiJdfQ==
@@ -23,8 +23,8 @@ export class XSelectProperty extends XControlValueAccessor {
23
23
  this.data = [];
24
24
  }
25
25
  }
26
- /** @nocollapse */ /** @nocollapse */ XSelectProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
- /** @nocollapse */ /** @nocollapse */ XSelectProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XSelectProperty, selector: "ng-component", inputs: { data: "data", clearable: "clearable", async: "async", placement: "placement", multiple: "multiple", selectAll: "selectAll", selectAllText: "selectAllText", nodeTpl: "nodeTpl", size: "size", bordered: "bordered", portalMaxHeight: "portalMaxHeight" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
26
+ /** @nocollapse */ XSelectProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
+ /** @nocollapse */ XSelectProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSelectProperty, selector: "ng-component", inputs: { data: "data", clearable: "clearable", async: "async", placement: "placement", multiple: "multiple", selectAll: "selectAll", selectAllText: "selectAllText", nodeTpl: "nodeTpl", size: "size", bordered: "bordered", portalMaxHeight: "portalMaxHeight", search: "search", caseSensitive: "caseSensitive", debounceTime: "debounceTime" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
28
28
  __decorate([
29
29
  XDataConvert()
30
30
  ], XSelectProperty.prototype, "data", void 0);
@@ -57,7 +57,18 @@ __decorate([
57
57
  __decorate([
58
58
  XWithConfig(X_CONFIG_NAME, '12rem')
59
59
  ], XSelectProperty.prototype, "portalMaxHeight", void 0);
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSelectProperty, decorators: [{
60
+ __decorate([
61
+ XInputBoolean(),
62
+ XWithConfig(X_CONFIG_NAME, false)
63
+ ], XSelectProperty.prototype, "search", void 0);
64
+ __decorate([
65
+ XInputBoolean(),
66
+ XWithConfig(X_CONFIG_NAME, true)
67
+ ], XSelectProperty.prototype, "caseSensitive", void 0);
68
+ __decorate([
69
+ XWithConfig(X_CONFIG_NAME, 200)
70
+ ], XSelectProperty.prototype, "debounceTime", void 0);
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectProperty, decorators: [{
61
72
  type: Component,
62
73
  args: [{ template: '' }]
63
74
  }], propDecorators: { data: [{
@@ -82,6 +93,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
82
93
  type: Input
83
94
  }], portalMaxHeight: [{
84
95
  type: Input
96
+ }], search: [{
97
+ type: Input
98
+ }], caseSensitive: [{
99
+ type: Input
100
+ }], debounceTime: [{
101
+ type: Input
85
102
  }] } });
86
103
  /**
87
104
  * Select Portal
@@ -89,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
89
106
  * @decorator component
90
107
  */
91
108
  export const XSelectPortalPrefix = 'x-select-portal';
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixhQUFhLEVBR2IsV0FBVyxFQUdaLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQUUvQjs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUEwQjtJQUQvRDs7UUFFRTs7O1dBR0c7UUFDc0IsU0FBSSxHQUF1QixFQUFFLENBQUM7S0FtRHhEOzttSkF4RFksZUFBZTt1SUFBZixlQUFlLCtVQURMLEVBQUU7QUFNRTtJQUFmLFlBQVksRUFBRTs2Q0FBK0I7QUFLZTtJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtrREFBc0I7QUFLakU7SUFBaEIsYUFBYSxFQUFFOzhDQUFrQjtBQUt3QjtJQUF6RCxXQUFXLENBQXFCLGFBQWEsRUFBRSxRQUFRLENBQUM7a0RBQWdDO0FBS3hFO0lBQWhCLGFBQWEsRUFBRTtpREFBcUI7QUFLcEI7SUFBaEIsYUFBYSxFQUFFO2tEQUFzQjtBQUtGO0lBQW5DLFdBQVcsQ0FBUyxhQUFhLENBQUM7c0RBQXdCO0FBVWQ7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7NkNBQXVCO0FBS047SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7aURBQXFCO0FBS3BDO0lBQTVDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsT0FBTyxDQUFDO3dEQUEwQjs0RkF2RHBFLGVBQWU7a0JBRDNCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1BLElBQUk7c0JBQTVCLEtBQUs7Z0JBS2dFLFNBQVM7c0JBQTlFLEtBQUs7Z0JBS29CLEtBQUs7c0JBQTlCLEtBQUs7Z0JBSzZELFNBQVM7c0JBQTNFLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS29CLFNBQVM7c0JBQWxDLEtBQUs7Z0JBS3VDLGFBQWE7c0JBQXpELEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUt5RCxJQUFJO3NCQUFsRSxLQUFLO2dCQUtnRSxRQUFRO3NCQUE3RSxLQUFLO2dCQUtnRCxlQUFlO3NCQUFwRSxLQUFLOztBQW9DUjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhEYXRhQ29udmVydCxcclxuICBYSW5wdXRCb29sZWFuLFxyXG4gIFhEYXRhLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhXaXRoQ29uZmlnLFxyXG4gIFhQb3NpdGlvblRvcEJvdHRvbSxcclxuICBYU2l6ZVxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ29udHJvbFZhbHVlQWNjZXNzb3IsIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBTZWxlY3RcclxuICogQHNlbGVjdG9yIHgtc2VsZWN0XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFByZWZpeCA9ICd4LXNlbGVjdCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnc2VsZWN0JztcclxuXHJcbi8qKlxyXG4gKiBTZWxlY3QgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhTZWxlY3RQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3Nvcjxhbnk+IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBkYXRhOiBYRGF0YTxYU2VsZWN0Tm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riF6Zmk5oyJ6ZKuXHJcbiAgICogQGVuX1VTIENsZWFyIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byC5q2l5Yqg6L29XHJcbiAgICogQGVuX1VTIEFzeW5jaHJvbm91cyBsb2FkaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBhc3luYz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYUG9zaXRpb25Ub3BCb3R0b20+KFhfQ09ORklHX05BTUUsICdib3R0b20nKSBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAiea3u+WKoOWFqOmAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aSBjaG9pY2UgdG8gYWRkIGZ1bGwgc2VsZWN0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBzZWxlY3RBbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWo6YCJ55qE5paH5a2XXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGFsbCB0ZXh0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSkgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSBvdmVycmlkZSBzaXplITogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBib3JkZXJlZCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvmi4nmoYbnmoTmnIDlpKfpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGJpZ2dlc3QgaGVpZ2h0IG9mIHRoZSBkcm9wLWRvd24gYm94XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJzEycmVtJykgcG9ydGFsTWF4SGVpZ2h0ITogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0IE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3RPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBkYXRhPzogWERhdGE8WFNlbGVjdE5vZGU+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvILmraXliqDovb1cclxuICAgKiBAZW5fVVMgQXN5bmNocm9ub3VzIGxvYWRpbmdcclxuICAgKi9cclxuICBhc3luYz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gU2VsZWN0IOaVsOaNruWvueixoVxyXG4gKiBAZW5fVVMgU2VsZWN0IGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3ROb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFNlbGVjdE5vZGU+IHt9XHJcblxyXG4vKipcclxuICogU2VsZWN0IFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC1zZWxlY3QtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFBvcnRhbFByZWZpeCA9ICd4LXNlbGVjdC1wb3J0YWwnO1xyXG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixhQUFhLEVBR2IsV0FBVyxFQUdaLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQUUvQjs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUEwQjtJQUQvRDs7UUFFRTs7O1dBR0c7UUFDc0IsU0FBSSxHQUF1QixFQUFFLENBQUM7S0FrRXhEOzsrSEF2RVksZUFBZTttSEFBZixlQUFlLCtaQURMLEVBQUU7QUFNRTtJQUFmLFlBQVksRUFBRTs2Q0FBK0I7QUFLZTtJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtrREFBc0I7QUFLakU7SUFBaEIsYUFBYSxFQUFFOzhDQUFrQjtBQUt3QjtJQUF6RCxXQUFXLENBQXFCLGFBQWEsRUFBRSxRQUFRLENBQUM7a0RBQWdDO0FBS3hFO0lBQWhCLGFBQWEsRUFBRTtpREFBcUI7QUFLcEI7SUFBaEIsYUFBYSxFQUFFO2tEQUFzQjtBQUtGO0lBQW5DLFdBQVcsQ0FBUyxhQUFhLENBQUM7c0RBQXdCO0FBVWQ7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7NkNBQXVCO0FBS047SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7aURBQXFCO0FBS3BDO0lBQTVDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsT0FBTyxDQUFDO3dEQUEwQjtBQUtSO0lBQTdELGFBQWEsRUFBRTtJQUFFLFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDOytDQUFtQjtBQUtuQjtJQUE1RCxhQUFhLEVBQUU7SUFBRSxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztzREFBMEI7QUFLN0M7SUFBeEMsV0FBVyxDQUFTLGFBQWEsRUFBRSxHQUFHLENBQUM7cURBQXVCOzJGQXRFN0QsZUFBZTtrQkFEM0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTUEsSUFBSTtzQkFBNUIsS0FBSztnQkFLZ0UsU0FBUztzQkFBOUUsS0FBSztnQkFLb0IsS0FBSztzQkFBOUIsS0FBSztnQkFLNkQsU0FBUztzQkFBM0UsS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLb0IsU0FBUztzQkFBbEMsS0FBSztnQkFLdUMsYUFBYTtzQkFBekQsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS3lELElBQUk7c0JBQWxFLEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBS2dELGVBQWU7c0JBQXBFLEtBQUs7Z0JBS2lFLE1BQU07c0JBQTVFLEtBQUs7Z0JBS2dFLGFBQWE7c0JBQWxGLEtBQUs7Z0JBSzRDLFlBQVk7c0JBQTdELEtBQUs7O0FBdUVSOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFBhcmVudElkZW50aXR5UHJvcGVydHksXHJcbiAgWERhdGFDb252ZXJ0LFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWERhdGEsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTaXplXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb21wb25lbnQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDb250cm9sVmFsdWVBY2Nlc3NvciwgWEZvcm1PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuLyoqXHJcbiAqIFNlbGVjdFxyXG4gKiBAc2VsZWN0b3IgeC1zZWxlY3RcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYU2VsZWN0UHJlZml4ID0gJ3gtc2VsZWN0JztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdzZWxlY3QnO1xyXG5cclxuLyoqXHJcbiAqIFNlbGVjdCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFNlbGVjdFByb3BlcnR5IGV4dGVuZHMgWENvbnRyb2xWYWx1ZUFjY2Vzc29yPGFueT4ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIGRhdGE6IFhEYXRhPFhTZWxlY3ROb2RlPiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvILmraXliqDovb1cclxuICAgKiBAZW5fVVMgQXN5bmNocm9ub3VzIGxvYWRpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGFzeW5jPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleekuuaWueS9jVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhQb3NpdGlvblRvcEJvdHRvbT4oWF9DT05GSUdfTkFNRSwgJ2JvdHRvbScpIHBsYWNlbWVudD86IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbXVsdGlwbGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5re75Yqg5YWo6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpIGNob2ljZSB0byBhZGQgZnVsbCBzZWxlY3Rpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHNlbGVjdEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhajpgInnmoTmloflrZdcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgYWxsIHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FKSBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmqKHmnb9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGVUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIG92ZXJyaWRlIHNpemUhOiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4i+aLieahhueahOacgOWkp+mrmOW6plxyXG4gICAqIEBlbl9VUyBUaGUgYmlnZ2VzdCBoZWlnaHQgb2YgdGhlIGRyb3AtZG93biBib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAnMTJyZW0nKSBwb3J0YWxNYXhIZWlnaHQhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaQnOe0olxyXG4gICAqIEBlbl9VUyBJbnB1dCBzZWFyY2hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIHNlYXJjaCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3ljLrliIblpKflsI/lhplcclxuICAgKiBAZW5fVVMgQ2FzZS1zZW5zaXRpdmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgY2FzZVNlbnNpdGl2ZSE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXlu7bov5/miafooYzml7bpl7TvvIxtc1xyXG4gICAqIEBlbl9VUyBFbnRlciBhIGRlbGF5IGV4ZWN1dGlvbiB0aW1lLCBtc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDIwMCkgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0IE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3RPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBkYXRhPzogWERhdGE8WFNlbGVjdE5vZGU+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvILmraXliqDovb1cclxuICAgKiBAZW5fVVMgQXN5bmNocm9ub3VzIGxvYWRpbmdcclxuICAgKi9cclxuICBhc3luYz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAiea3u+WKoOWFqOmAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aSBjaG9pY2UgdG8gYWRkIGZ1bGwgc2VsZWN0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgc2VsZWN0QWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFqOmAieeahOaWh+Wtl1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBhbGwgdGV4dFxyXG4gICAqL1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgbm9kZVRwbD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovrnmoYZcclxuICAgKiBAZW5fVVMgRGlzcGxheSBCb3JkZXJcclxuICAgKi9cclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvmi4nmoYbnmoTmnIDlpKfpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGJpZ2dlc3QgaGVpZ2h0IG9mIHRoZSBkcm9wLWRvd24gYm94XHJcbiAgICovXHJcbiAgcG9ydGFsTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmkJzntKJcclxuICAgKiBAZW5fVVMgSW5wdXQgc2VhcmNoXHJcbiAgICovXHJcbiAgc2VhcmNoPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gU2VsZWN0IOaVsOaNruWvueixoVxyXG4gKiBAZW5fVVMgU2VsZWN0IGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3ROb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFNlbGVjdE5vZGU+IHt9XHJcblxyXG4vKipcclxuICogU2VsZWN0IFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC1zZWxlY3QtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFBvcnRhbFByZWZpeCA9ICd4LXNlbGVjdC1wb3J0YWwnO1xyXG4iXX0=
@@ -3,8 +3,8 @@ import { XSkeletonPrefix, XSkeletonProperty } from './skeleton.property';
3
3
  import { XIsChange } from '@ng-nest/ui/core';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@ng-nest/ui/core";
6
- import * as i2 from "@ng-nest/ui/layout";
7
- import * as i3 from "@angular/common";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@ng-nest/ui/layout";
8
8
  export class XSkeletonComponent extends XSkeletonProperty {
9
9
  constructor(renderer, elementRef, cdr, configService) {
10
10
  super();
@@ -28,10 +28,10 @@ export class XSkeletonComponent extends XSkeletonProperty {
28
28
  this.cdr.markForCheck();
29
29
  }
30
30
  }
31
- /** @nocollapse */ /** @nocollapse */ XSkeletonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSkeletonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
32
- /** @nocollapse */ /** @nocollapse */ XSkeletonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XSkeletonComponent, selector: "x-skeleton", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!loading\">\r\n <ng-content></ng-content>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loading\">\r\n <div #skeleton class=\"x-skeleton\" [ngClass]=\"classMap\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: data }\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #rowsTpl let-rows=\"rows\">\r\n <x-row *ngFor=\"let row of rows\" [space]=\"row.space\" [justify]=\"row.flex ? 'start' : undefined\" [ngStyle]=\"row.style\">\r\n <x-col\r\n *ngFor=\"let col of row.cols\"\r\n [span]=\"col.span\"\r\n [inherit]=\"col.width || col.height ? true : false\"\r\n [ngStyle]=\"col.style\"\r\n [style.padding-top.rem]=\"border && row.space / 2\"\r\n [style.padding-bottom.rem]=\"border && row.space / 2\"\r\n [ngClass]=\"{\r\n title: col.type === 'title',\r\n img: col.type === 'img',\r\n avatar: col.type === 'avatar',\r\n transparent: col.type === 'transparent',\r\n 'has-child': col.rows\r\n }\"\r\n >\r\n <div [style.width]=\"col.width\" [style.height]=\"col.height\">\r\n <ng-container *ngIf=\"col.rows\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: col.rows }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n", styles: ["@keyframes skeleton-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}.x-skeleton{margin:0;padding:0}.x-skeleton x-row,.x-skeleton x-col{min-height:1rem}.x-skeleton x-row{background-color:var(--x-background)}.x-skeleton x-row:not(:first-child){margin-top:1rem}.x-skeleton x-col>div{width:100%;height:1rem;background-color:var(--x-info-800);border-radius:var(--x-border-radius);position:relative}.x-skeleton x-col.has-child>div{background-color:transparent}.x-skeleton x-col.has-size{width:inherit}.x-skeleton x-col.avatar>div{border-radius:50%}.x-skeleton x-col.title>div,.x-skeleton x-col.avatar>div,.x-skeleton x-col.img>div{background-color:var(--x-info-700)}.x-skeleton x-col.transparent{padding:0!important}.x-skeleton x-col.transparent>div{background-color:transparent}.x-skeleton-border x-row{margin:0!important}.x-skeleton-border x-row x-col{border-left:.0625rem solid var(--x-border);border-bottom:.0625rem solid var(--x-border)}.x-skeleton-border x-row x-col:last-child{border-right:.0625rem solid var(--x-border)}.x-skeleton-border x-row:first-child x-col{border-top:.0625rem solid var(--x-border)}.x-skeleton-active x-col:not(.has-child):not(.transparent)>div:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:skeleton-active 1.4s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}\n"], components: [{ type: i2.XRowComponent, selector: "x-row" }, { type: i2.XColComponent, selector: "x-col" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XSkeletonComponent, decorators: [{
31
+ /** @nocollapse */ XSkeletonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSkeletonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
32
+ /** @nocollapse */ XSkeletonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSkeletonComponent, selector: "x-skeleton", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!loading\">\r\n <ng-content></ng-content>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loading\">\r\n <div #skeleton class=\"x-skeleton\" [ngClass]=\"classMap\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: data }\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #rowsTpl let-rows=\"rows\">\r\n <x-row *ngFor=\"let row of rows\" [space]=\"row.space\" [justify]=\"row.flex ? 'start' : undefined\" [ngStyle]=\"row.style\">\r\n <x-col\r\n *ngFor=\"let col of row.cols\"\r\n [span]=\"col.span\"\r\n [inherit]=\"col.width || col.height ? true : false\"\r\n [ngStyle]=\"col.style\"\r\n [style.padding-top.rem]=\"border && row.space / 2\"\r\n [style.padding-bottom.rem]=\"border && row.space / 2\"\r\n [ngClass]=\"{\r\n title: col.type === 'title',\r\n img: col.type === 'img',\r\n avatar: col.type === 'avatar',\r\n transparent: col.type === 'transparent',\r\n 'has-child': col.rows\r\n }\"\r\n >\r\n <div [style.width]=\"col.width\" [style.height]=\"col.height\">\r\n <ng-container *ngIf=\"col.rows\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: col.rows }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n", styles: ["@keyframes skeleton-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}.x-skeleton{margin:0;padding:0}.x-skeleton x-row,.x-skeleton x-col{min-height:1rem}.x-skeleton x-row{background-color:var(--x-background)}.x-skeleton x-row:not(:first-child){margin-top:1rem}.x-skeleton x-col>div{width:100%;height:1rem;background-color:var(--x-info-800);border-radius:var(--x-border-radius);position:relative}.x-skeleton x-col.has-child>div{background-color:transparent}.x-skeleton x-col.has-size{width:inherit}.x-skeleton x-col.avatar>div{border-radius:50%}.x-skeleton x-col.title>div,.x-skeleton x-col.avatar>div,.x-skeleton x-col.img>div{background-color:var(--x-info-700)}.x-skeleton x-col.transparent{padding:0!important}.x-skeleton x-col.transparent>div{background-color:transparent}.x-skeleton-border x-row{margin:0!important}.x-skeleton-border x-row x-col{border-left:.0625rem solid var(--x-border);border-bottom:.0625rem solid var(--x-border)}.x-skeleton-border x-row x-col:last-child{border-right:.0625rem solid var(--x-border)}.x-skeleton-border x-row:first-child x-col{border-top:.0625rem solid var(--x-border)}.x-skeleton-active x-col:not(.has-child):not(.transparent)>div:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:skeleton-active 1.4s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.XRowComponent, selector: "x-row" }, { kind: "component", type: i3.XColComponent, selector: "x-col" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSkeletonComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: `${XSkeletonPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!loading\">\r\n <ng-content></ng-content>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loading\">\r\n <div #skeleton class=\"x-skeleton\" [ngClass]=\"classMap\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: data }\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #rowsTpl let-rows=\"rows\">\r\n <x-row *ngFor=\"let row of rows\" [space]=\"row.space\" [justify]=\"row.flex ? 'start' : undefined\" [ngStyle]=\"row.style\">\r\n <x-col\r\n *ngFor=\"let col of row.cols\"\r\n [span]=\"col.span\"\r\n [inherit]=\"col.width || col.height ? true : false\"\r\n [ngStyle]=\"col.style\"\r\n [style.padding-top.rem]=\"border && row.space / 2\"\r\n [style.padding-bottom.rem]=\"border && row.space / 2\"\r\n [ngClass]=\"{\r\n title: col.type === 'title',\r\n img: col.type === 'img',\r\n avatar: col.type === 'avatar',\r\n transparent: col.type === 'transparent',\r\n 'has-child': col.rows\r\n }\"\r\n >\r\n <div [style.width]=\"col.width\" [style.height]=\"col.height\">\r\n <ng-container *ngIf=\"col.rows\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: col.rows }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n", styles: ["@keyframes skeleton-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}.x-skeleton{margin:0;padding:0}.x-skeleton x-row,.x-skeleton x-col{min-height:1rem}.x-skeleton x-row{background-color:var(--x-background)}.x-skeleton x-row:not(:first-child){margin-top:1rem}.x-skeleton x-col>div{width:100%;height:1rem;background-color:var(--x-info-800);border-radius:var(--x-border-radius);position:relative}.x-skeleton x-col.has-child>div{background-color:transparent}.x-skeleton x-col.has-size{width:inherit}.x-skeleton x-col.avatar>div{border-radius:50%}.x-skeleton x-col.title>div,.x-skeleton x-col.avatar>div,.x-skeleton x-col.img>div{background-color:var(--x-info-700)}.x-skeleton x-col.transparent{padding:0!important}.x-skeleton x-col.transparent>div{background-color:transparent}.x-skeleton-border x-row{margin:0!important}.x-skeleton-border x-row x-col{border-left:.0625rem solid var(--x-border);border-bottom:.0625rem solid var(--x-border)}.x-skeleton-border x-row x-col:last-child{border-right:.0625rem solid var(--x-border)}.x-skeleton-border x-row:first-child x-col{border-top:.0625rem solid var(--x-border)}.x-skeleton-active x-col:not(.has-child):not(.transparent)>div:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:skeleton-active 1.4s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}\n"] }]
36
36
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDOzs7OztBQVM3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBQ3ZELFlBQ1MsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO0lBR3RDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM1QixTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxDQUFDLEdBQUcsZUFBZSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNuRCxDQUFDLEdBQUcsZUFBZSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNwRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOztzSkF6QlUsa0JBQWtCOzBJQUFsQixrQkFBa0IsOEZDckIvQiw4MENBbUNBOzRGRGRhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxHQUFHLGVBQWUsRUFBRSxpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTa2VsZXRvblByZWZpeCwgWFNrZWxldG9uUHJvcGVydHkgfSBmcm9tICcuL3NrZWxldG9uLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTa2VsZXRvblByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9za2VsZXRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2tlbGV0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2tlbGV0b25Db21wb25lbnQgZXh0ZW5kcyBYU2tlbGV0b25Qcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBsb2FkaW5nIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGxvYWRpbmcpICYmIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwID0ge1xyXG4gICAgICBbYCR7WFNrZWxldG9uUHJlZml4fS1hY3RpdmVgXTogQm9vbGVhbih0aGlzLmFjdGl2ZSksXHJcbiAgICAgIFtgJHtYU2tlbGV0b25QcmVmaXh9LWJvcmRlcmBdOiBCb29sZWFuKHRoaXMuYm9yZGVyKVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICA8ZGl2ICNza2VsZXRvbiBjbGFzcz1cIngtc2tlbGV0b25cIiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd3NUcGw7IGNvbnRleHQ6IHsgcm93czogZGF0YSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3dzVHBsIGxldC1yb3dzPVwicm93c1wiPlxyXG4gIDx4LXJvdyAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3NcIiBbc3BhY2VdPVwicm93LnNwYWNlXCIgW2p1c3RpZnldPVwicm93LmZsZXggPyAnc3RhcnQnIDogdW5kZWZpbmVkXCIgW25nU3R5bGVdPVwicm93LnN0eWxlXCI+XHJcbiAgICA8eC1jb2xcclxuICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiByb3cuY29sc1wiXHJcbiAgICAgIFtzcGFuXT1cImNvbC5zcGFuXCJcclxuICAgICAgW2luaGVyaXRdPVwiY29sLndpZHRoIHx8IGNvbC5oZWlnaHQgPyB0cnVlIDogZmFsc2VcIlxyXG4gICAgICBbbmdTdHlsZV09XCJjb2wuc3R5bGVcIlxyXG4gICAgICBbc3R5bGUucGFkZGluZy10b3AucmVtXT1cImJvcmRlciAmJiByb3cuc3BhY2UgLyAyXCJcclxuICAgICAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnJlbV09XCJib3JkZXIgJiYgcm93LnNwYWNlIC8gMlwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICB0aXRsZTogY29sLnR5cGUgPT09ICd0aXRsZScsXHJcbiAgICAgICAgaW1nOiBjb2wudHlwZSA9PT0gJ2ltZycsXHJcbiAgICAgICAgYXZhdGFyOiBjb2wudHlwZSA9PT0gJ2F2YXRhcicsXHJcbiAgICAgICAgdHJhbnNwYXJlbnQ6IGNvbC50eXBlID09PSAndHJhbnNwYXJlbnQnLFxyXG4gICAgICAgICdoYXMtY2hpbGQnOiBjb2wucm93c1xyXG4gICAgICB9XCJcclxuICAgID5cclxuICAgICAgPGRpdiBbc3R5bGUud2lkdGhdPVwiY29sLndpZHRoXCIgW3N0eWxlLmhlaWdodF09XCJjb2wuaGVpZ2h0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC5yb3dzXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93c1RwbDsgY29udGV4dDogeyByb3dzOiBjb2wucm93cyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC94LWNvbD5cclxuICA8L3gtcm93PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDOzs7OztBQVM3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBQ3ZELFlBQ1MsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO0lBR3RDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM1QixTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxDQUFDLEdBQUcsZUFBZSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNuRCxDQUFDLEdBQUcsZUFBZSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNwRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOztrSUF6QlUsa0JBQWtCO3NIQUFsQixrQkFBa0IsOEZDckIvQiw4MENBbUNBOzJGRGRhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxHQUFHLGVBQWUsRUFBRSxpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTa2VsZXRvblByZWZpeCwgWFNrZWxldG9uUHJvcGVydHkgfSBmcm9tICcuL3NrZWxldG9uLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTa2VsZXRvblByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9za2VsZXRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2tlbGV0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2tlbGV0b25Db21wb25lbnQgZXh0ZW5kcyBYU2tlbGV0b25Qcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBsb2FkaW5nIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGxvYWRpbmcpICYmIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwID0ge1xyXG4gICAgICBbYCR7WFNrZWxldG9uUHJlZml4fS1hY3RpdmVgXTogQm9vbGVhbih0aGlzLmFjdGl2ZSksXHJcbiAgICAgIFtgJHtYU2tlbGV0b25QcmVmaXh9LWJvcmRlcmBdOiBCb29sZWFuKHRoaXMuYm9yZGVyKVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICA8ZGl2ICNza2VsZXRvbiBjbGFzcz1cIngtc2tlbGV0b25cIiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd3NUcGw7IGNvbnRleHQ6IHsgcm93czogZGF0YSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3dzVHBsIGxldC1yb3dzPVwicm93c1wiPlxyXG4gIDx4LXJvdyAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3NcIiBbc3BhY2VdPVwicm93LnNwYWNlXCIgW2p1c3RpZnldPVwicm93LmZsZXggPyAnc3RhcnQnIDogdW5kZWZpbmVkXCIgW25nU3R5bGVdPVwicm93LnN0eWxlXCI+XHJcbiAgICA8eC1jb2xcclxuICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiByb3cuY29sc1wiXHJcbiAgICAgIFtzcGFuXT1cImNvbC5zcGFuXCJcclxuICAgICAgW2luaGVyaXRdPVwiY29sLndpZHRoIHx8IGNvbC5oZWlnaHQgPyB0cnVlIDogZmFsc2VcIlxyXG4gICAgICBbbmdTdHlsZV09XCJjb2wuc3R5bGVcIlxyXG4gICAgICBbc3R5bGUucGFkZGluZy10b3AucmVtXT1cImJvcmRlciAmJiByb3cuc3BhY2UgLyAyXCJcclxuICAgICAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnJlbV09XCJib3JkZXIgJiYgcm93LnNwYWNlIC8gMlwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICB0aXRsZTogY29sLnR5cGUgPT09ICd0aXRsZScsXHJcbiAgICAgICAgaW1nOiBjb2wudHlwZSA9PT0gJ2ltZycsXHJcbiAgICAgICAgYXZhdGFyOiBjb2wudHlwZSA9PT0gJ2F2YXRhcicsXHJcbiAgICAgICAgdHJhbnNwYXJlbnQ6IGNvbC50eXBlID09PSAndHJhbnNwYXJlbnQnLFxyXG4gICAgICAgICdoYXMtY2hpbGQnOiBjb2wucm93c1xyXG4gICAgICB9XCJcclxuICAgID5cclxuICAgICAgPGRpdiBbc3R5bGUud2lkdGhdPVwiY29sLndpZHRoXCIgW3N0eWxlLmhlaWdodF09XCJjb2wuaGVpZ2h0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC5yb3dzXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93c1RwbDsgY29udGV4dDogeyByb3dzOiBjb2wucm93cyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC94LWNvbD5cclxuICA8L3gtcm93PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=