@ng-nest/ui 18.0.12 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (881) hide show
  1. package/README.md +1 -1
  2. package/affix/affix.property.d.ts +1 -1
  3. package/alert/alert.property.d.ts +1 -1
  4. package/anchor/anchor.property.d.ts +2 -2
  5. package/auto-complete/auto-complete.property.d.ts +16 -19
  6. package/avatar/avatar.property.d.ts +2 -2
  7. package/back-top/back-top.property.d.ts +1 -1
  8. package/badge/badge.property.d.ts +1 -1
  9. package/base-form/base-form.property.d.ts +2 -2
  10. package/button/button.property.d.ts +2 -2
  11. package/calendar/calendar.property.d.ts +1 -1
  12. package/card/card.property.d.ts +1 -1
  13. package/carousel/carousel.property.d.ts +2 -2
  14. package/cascade/cascade.property.d.ts +16 -27
  15. package/checkbox/checkbox.property.d.ts +16 -22
  16. package/collapse/collapse.property.d.ts +2 -2
  17. package/color/color.property.d.ts +1 -1
  18. package/color-picker/color-picker-portal.component.d.ts +10 -10
  19. package/color-picker/color-picker.property.d.ts +15 -15
  20. package/comment/comment.property.d.ts +2 -2
  21. package/container/container.property.d.ts +4 -4
  22. package/crumb/crumb.property.d.ts +1 -1
  23. package/date-picker/date-picker-portal.component.d.ts +1 -1
  24. package/date-picker/date-picker.property.d.ts +34 -34
  25. package/date-picker/date-range-portal.component.d.ts +5 -5
  26. package/description/description.property.d.ts +2 -2
  27. package/dialog/dialog-portal.component.d.ts +0 -2
  28. package/dialog/dialog-portal.directives.d.ts +2 -3
  29. package/dialog/dialog-ref.d.ts +4 -2
  30. package/dialog/dialog.component.d.ts +0 -5
  31. package/dialog/dialog.property.d.ts +14 -10
  32. package/drag/drag.property.d.ts +1 -1
  33. package/drawer/drawer.property.d.ts +2 -2
  34. package/dropdown/dropdown.property.d.ts +1 -1
  35. package/empty/empty.property.d.ts +1 -1
  36. package/fesm2022/ng-nest-ui-affix.mjs +14 -12
  37. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-alert.mjs +14 -12
  39. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-anchor.mjs +23 -20
  41. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  43. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-auto-complete.mjs +16 -16
  45. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
  47. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-back-top.mjs +13 -12
  49. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  51. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  53. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-button.mjs +18 -18
  55. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-calendar.mjs +14 -15
  57. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-card.mjs +11 -12
  59. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-carousel.mjs +20 -19
  61. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-cascade.mjs +16 -16
  63. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-checkbox.mjs +12 -12
  65. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
  67. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-color-picker.mjs +15 -15
  69. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  70. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  71. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-comment.mjs +18 -18
  73. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-container.mjs +36 -36
  75. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  77. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  79. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-date-picker.mjs +57 -57
  81. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-description.mjs +18 -18
  83. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-dialog.mjs +70 -144
  85. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  87. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-drag.mjs +11 -11
  89. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-drawer.mjs +38 -41
  91. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-dropdown.mjs +15 -16
  93. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  95. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  97. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  99. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-form.mjs +21 -40
  101. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  102. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  103. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-i18n.mjs +15 -17
  105. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  107. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-image.mjs +24 -24
  109. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  111. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  113. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-input.mjs +19 -19
  115. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-keyword.mjs +12 -13
  117. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-layout.mjs +18 -18
  119. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  121. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-list.mjs +22 -23
  123. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-loading.mjs +12 -12
  125. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-menu.mjs +19 -20
  127. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-message-box.mjs +11 -13
  129. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-message.mjs +11 -11
  131. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-notification.mjs +11 -11
  133. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
  135. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  137. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  139. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  141. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  143. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-popover.mjs +15 -15
  145. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  147. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  149. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  151. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-rate.mjs +11 -12
  153. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-resizable.mjs +12 -12
  155. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  157. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-ripple.mjs +11 -12
  159. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-select.mjs +15 -15
  161. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-skeleton.mjs +11 -11
  163. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -22
  165. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  167. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  168. package/fesm2022/ng-nest-ui-statistic.mjs +18 -18
  169. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  171. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  173. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-table.mjs +32 -32
  175. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tabs.mjs +30 -32
  177. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  179. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  181. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  183. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-theme.mjs +13 -14
  185. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
  187. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  188. package/fesm2022/ng-nest-ui-time-picker.mjs +19 -19
  189. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  190. package/fesm2022/ng-nest-ui-time-range.mjs +8 -8
  191. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  192. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  193. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  194. package/fesm2022/ng-nest-ui-tooltip.mjs +15 -15
  195. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  196. package/fesm2022/ng-nest-ui-transfer.mjs +12 -13
  197. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  198. package/fesm2022/ng-nest-ui-tree-file.mjs +12 -20
  199. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  200. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  201. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  202. package/fesm2022/ng-nest-ui-tree.mjs +21 -21
  203. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  204. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  205. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  206. package/fesm2022/ng-nest-ui-upload.mjs +15 -15
  207. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  208. package/find/find.property.d.ts +12 -18
  209. package/form/form.property.d.ts +10 -21
  210. package/highlight/highlight.property.d.ts +1 -1
  211. package/icon/icon.property.d.ts +1 -1
  212. package/image/image.property.d.ts +2 -2
  213. package/inner/inner.property.d.ts +1 -1
  214. package/input/input.property.d.ts +17 -20
  215. package/input-number/input-number.property.d.ts +13 -13
  216. package/layout/layout.property.d.ts +2 -2
  217. package/link/link.property.d.ts +1 -1
  218. package/list/list.property.d.ts +12 -12
  219. package/loading/loading.property.d.ts +1 -1
  220. package/menu/menu.property.d.ts +2 -2
  221. package/package.json +83 -257
  222. package/page-header/page-header.property.d.ts +1 -1
  223. package/pagination/pagination.property.d.ts +1 -1
  224. package/popconfirm/popconfirm.property.d.ts +1 -1
  225. package/popover/popover.property.d.ts +1 -1
  226. package/progress/progress.property.d.ts +1 -1
  227. package/radio/radio.property.d.ts +13 -16
  228. package/rate/rate.property.d.ts +14 -22
  229. package/result/result.property.d.ts +1 -1
  230. package/ripple/ripple.property.d.ts +1 -1
  231. package/select/select-portal.component.d.ts +1 -1
  232. package/select/select.property.d.ts +15 -15
  233. package/skeleton/skeleton.property.d.ts +1 -1
  234. package/slider/slider.property.d.ts +1 -1
  235. package/slider-select/slider-select.property.d.ts +13 -17
  236. package/statistic/statistic.property.d.ts +2 -2
  237. package/steps/steps.property.d.ts +1 -1
  238. package/style/core/index.css +87 -174
  239. package/style/core/index.css.map +1 -1
  240. package/style/core/index.scss +32 -5
  241. package/style/directives/index.scss +3 -3
  242. package/style/directives/keyword/index.scss +3 -2
  243. package/style/directives/keyword/mixin.scss +9 -11
  244. package/style/directives/keyword/param.scss +2 -1
  245. package/style/directives/resizable/index.scss +3 -2
  246. package/style/directives/resizable/mixin.scss +122 -16
  247. package/style/directives/resizable/param.scss +2 -1
  248. package/style/directives/ripple/index.scss +3 -2
  249. package/style/directives/ripple/mixin.scss +12 -12
  250. package/style/directives/ripple/param.scss +2 -1
  251. package/style/mixins/compatibility.scss +7 -5
  252. package/style/mixins/form.scss +6 -4
  253. package/style/mixins/hidden.scss +5 -2
  254. package/style/params/index.scss +282 -3
  255. package/switch/switch.property.d.ts +14 -14
  256. package/table/table.property.d.ts +4 -4
  257. package/tabs/tabs.property.d.ts +2 -2
  258. package/tag/tag.property.d.ts +1 -1
  259. package/text-retract/text-retract.property.d.ts +1 -1
  260. package/textarea/textarea.property.d.ts +14 -17
  261. package/theme/theme.property.d.ts +6 -10
  262. package/time-picker/time-picker.property.d.ts +17 -23
  263. package/timeline/timeline.property.d.ts +1 -1
  264. package/tooltip/tooltip.property.d.ts +1 -1
  265. package/transfer/transfer.property.d.ts +9 -13
  266. package/tree/tree.property.d.ts +2 -2
  267. package/tree-file/tree-file.property.d.ts +1 -1
  268. package/tree-select/tree-select-portal.component.d.ts +1 -1
  269. package/tree-select/tree-select.property.d.ts +15 -15
  270. package/typography/typography.property.d.ts +1 -1
  271. package/upload/upload.property.d.ts +9 -9
  272. package/esm2022/affix/affix.component.mjs +0 -12
  273. package/esm2022/affix/affix.module.mjs +0 -16
  274. package/esm2022/affix/affix.property.mjs +0 -51
  275. package/esm2022/affix/ng-nest-ui-affix.mjs +0 -5
  276. package/esm2022/affix/public-api.mjs +0 -4
  277. package/esm2022/alert/alert.component.mjs +0 -73
  278. package/esm2022/alert/alert.module.mjs +0 -16
  279. package/esm2022/alert/alert.property.mjs +0 -313
  280. package/esm2022/alert/ng-nest-ui-alert.mjs +0 -5
  281. package/esm2022/alert/public-api.mjs +0 -4
  282. package/esm2022/anchor/anchor-inner.component.mjs +0 -18
  283. package/esm2022/anchor/anchor.component.mjs +0 -160
  284. package/esm2022/anchor/anchor.module.mjs +0 -17
  285. package/esm2022/anchor/anchor.property.mjs +0 -121
  286. package/esm2022/anchor/ng-nest-ui-anchor.mjs +0 -5
  287. package/esm2022/anchor/public-api.mjs +0 -5
  288. package/esm2022/api/api.component.mjs +0 -18
  289. package/esm2022/api/api.module.mjs +0 -16
  290. package/esm2022/api/api.property.mjs +0 -7
  291. package/esm2022/api/ng-nest-ui-api.mjs +0 -5
  292. package/esm2022/api/public-api.mjs +0 -4
  293. package/esm2022/auto-complete/auto-complete-portal.component.mjs +0 -80
  294. package/esm2022/auto-complete/auto-complete.component.mjs +0 -306
  295. package/esm2022/auto-complete/auto-complete.module.mjs +0 -16
  296. package/esm2022/auto-complete/auto-complete.property.mjs +0 -172
  297. package/esm2022/auto-complete/ng-nest-ui-auto-complete.mjs +0 -5
  298. package/esm2022/auto-complete/public-api.mjs +0 -5
  299. package/esm2022/avatar/avatar-group.component.mjs +0 -19
  300. package/esm2022/avatar/avatar.component.mjs +0 -109
  301. package/esm2022/avatar/avatar.module.mjs +0 -17
  302. package/esm2022/avatar/avatar.property.mjs +0 -143
  303. package/esm2022/avatar/ng-nest-ui-avatar.mjs +0 -5
  304. package/esm2022/avatar/public-api.mjs +0 -5
  305. package/esm2022/back-top/back-top.component.mjs +0 -104
  306. package/esm2022/back-top/back-top.module.mjs +0 -16
  307. package/esm2022/back-top/back-top.property.mjs +0 -50
  308. package/esm2022/back-top/ng-nest-ui-back-top.mjs +0 -5
  309. package/esm2022/back-top/public-api.mjs +0 -4
  310. package/esm2022/badge/badge.component.mjs +0 -63
  311. package/esm2022/badge/badge.module.mjs +0 -16
  312. package/esm2022/badge/badge.property.mjs +0 -133
  313. package/esm2022/badge/ng-nest-ui-badge.mjs +0 -5
  314. package/esm2022/badge/public-api.mjs +0 -4
  315. package/esm2022/base-form/base-form.component.mjs +0 -101
  316. package/esm2022/base-form/base-form.module.mjs +0 -15
  317. package/esm2022/base-form/base-form.property.mjs +0 -237
  318. package/esm2022/base-form/ng-nest-ui-base-form.mjs +0 -5
  319. package/esm2022/base-form/public-api.mjs +0 -4
  320. package/esm2022/button/button.component.mjs +0 -71
  321. package/esm2022/button/button.module.mjs +0 -17
  322. package/esm2022/button/button.property.mjs +0 -331
  323. package/esm2022/button/buttons.component.mjs +0 -55
  324. package/esm2022/button/ng-nest-ui-button.mjs +0 -5
  325. package/esm2022/button/public-api.mjs +0 -5
  326. package/esm2022/calendar/calendar.component.mjs +0 -117
  327. package/esm2022/calendar/calendar.module.mjs +0 -16
  328. package/esm2022/calendar/calendar.property.mjs +0 -110
  329. package/esm2022/calendar/ng-nest-ui-calendar.mjs +0 -5
  330. package/esm2022/calendar/public-api.mjs +0 -4
  331. package/esm2022/card/card.component.mjs +0 -22
  332. package/esm2022/card/card.module.mjs +0 -16
  333. package/esm2022/card/card.property.mjs +0 -77
  334. package/esm2022/card/ng-nest-ui-card.mjs +0 -5
  335. package/esm2022/card/public-api.mjs +0 -4
  336. package/esm2022/carousel/carousel-panel.component.mjs +0 -157
  337. package/esm2022/carousel/carousel.component.mjs +0 -95
  338. package/esm2022/carousel/carousel.module.mjs +0 -17
  339. package/esm2022/carousel/carousel.property.mjs +0 -256
  340. package/esm2022/carousel/ng-nest-ui-carousel.mjs +0 -5
  341. package/esm2022/carousel/public-api.mjs +0 -5
  342. package/esm2022/cascade/cascade-portal.component.mjs +0 -141
  343. package/esm2022/cascade/cascade.component.mjs +0 -238
  344. package/esm2022/cascade/cascade.module.mjs +0 -16
  345. package/esm2022/cascade/cascade.property.mjs +0 -167
  346. package/esm2022/cascade/ng-nest-ui-cascade.mjs +0 -5
  347. package/esm2022/cascade/public-api.mjs +0 -5
  348. package/esm2022/checkbox/checkbox.component.mjs +0 -102
  349. package/esm2022/checkbox/checkbox.module.mjs +0 -16
  350. package/esm2022/checkbox/checkbox.property.mjs +0 -136
  351. package/esm2022/checkbox/ng-nest-ui-checkbox.mjs +0 -5
  352. package/esm2022/checkbox/public-api.mjs +0 -4
  353. package/esm2022/collapse/collapse-panel.component.mjs +0 -55
  354. package/esm2022/collapse/collapse.component.mjs +0 -49
  355. package/esm2022/collapse/collapse.module.mjs +0 -17
  356. package/esm2022/collapse/collapse.property.mjs +0 -189
  357. package/esm2022/collapse/ng-nest-ui-collapse.mjs +0 -5
  358. package/esm2022/collapse/public-api.mjs +0 -5
  359. package/esm2022/color/color.component.mjs +0 -35
  360. package/esm2022/color/color.module.mjs +0 -16
  361. package/esm2022/color/color.property.mjs +0 -71
  362. package/esm2022/color/ng-nest-ui-color.mjs +0 -5
  363. package/esm2022/color/public-api.mjs +0 -4
  364. package/esm2022/color-picker/color-picker-portal.component.mjs +0 -396
  365. package/esm2022/color-picker/color-picker.component.mjs +0 -191
  366. package/esm2022/color-picker/color-picker.module.mjs +0 -16
  367. package/esm2022/color-picker/color-picker.property.mjs +0 -142
  368. package/esm2022/color-picker/ng-nest-ui-color-picker.mjs +0 -5
  369. package/esm2022/color-picker/public-api.mjs +0 -5
  370. package/esm2022/comment/comment-reply.component.mjs +0 -24
  371. package/esm2022/comment/comment.component.mjs +0 -55
  372. package/esm2022/comment/comment.module.mjs +0 -17
  373. package/esm2022/comment/comment.property.mjs +0 -90
  374. package/esm2022/comment/ng-nest-ui-comment.mjs +0 -5
  375. package/esm2022/comment/public-api.mjs +0 -5
  376. package/esm2022/container/aside.component.mjs +0 -25
  377. package/esm2022/container/container.component.mjs +0 -31
  378. package/esm2022/container/container.module.mjs +0 -20
  379. package/esm2022/container/container.property.mjs +0 -115
  380. package/esm2022/container/footer.component.mjs +0 -35
  381. package/esm2022/container/header.component.mjs +0 -35
  382. package/esm2022/container/main.component.mjs +0 -18
  383. package/esm2022/container/ng-nest-ui-container.mjs +0 -5
  384. package/esm2022/container/public-api.mjs +0 -8
  385. package/esm2022/core/animation/badge.mjs +0 -53
  386. package/esm2022/core/animation/connect.mjs +0 -31
  387. package/esm2022/core/animation/consts.mjs +0 -11
  388. package/esm2022/core/animation/drop.mjs +0 -13
  389. package/esm2022/core/animation/fade.mjs +0 -24
  390. package/esm2022/core/animation/move.mjs +0 -179
  391. package/esm2022/core/animation/opacity.mjs +0 -13
  392. package/esm2022/core/animation/public-api.mjs +0 -9
  393. package/esm2022/core/animation/slide.mjs +0 -17
  394. package/esm2022/core/config/config.mjs +0 -3
  395. package/esm2022/core/config/config.service.mjs +0 -54
  396. package/esm2022/core/config/index.mjs +0 -2
  397. package/esm2022/core/config/public-api.mjs +0 -3
  398. package/esm2022/core/functions/chunk.mjs +0 -25
  399. package/esm2022/core/functions/clone-deep.mjs +0 -28
  400. package/esm2022/core/functions/convert.mjs +0 -230
  401. package/esm2022/core/functions/csspx.mjs +0 -17
  402. package/esm2022/core/functions/date.mjs +0 -223
  403. package/esm2022/core/functions/drop.mjs +0 -20
  404. package/esm2022/core/functions/flex.mjs +0 -25
  405. package/esm2022/core/functions/group-by.mjs +0 -14
  406. package/esm2022/core/functions/guid.mjs +0 -11
  407. package/esm2022/core/functions/has-in.mjs +0 -8
  408. package/esm2022/core/functions/order-by.mjs +0 -56
  409. package/esm2022/core/functions/parent-path.mjs +0 -27
  410. package/esm2022/core/functions/property.mjs +0 -20
  411. package/esm2022/core/functions/public-api.mjs +0 -16
  412. package/esm2022/core/functions/remove.mjs +0 -19
  413. package/esm2022/core/functions/resize.mjs +0 -22
  414. package/esm2022/core/interfaces/data.type.mjs +0 -164
  415. package/esm2022/core/interfaces/identify.type.mjs +0 -7
  416. package/esm2022/core/interfaces/index.mjs +0 -2
  417. package/esm2022/core/interfaces/layout.type.mjs +0 -2
  418. package/esm2022/core/interfaces/public-api.mjs +0 -5
  419. package/esm2022/core/interfaces/result-list.type.mjs +0 -2
  420. package/esm2022/core/ng-nest-ui-core.mjs +0 -5
  421. package/esm2022/core/public-api.mjs +0 -8
  422. package/esm2022/core/services/http.service.mjs +0 -58
  423. package/esm2022/core/services/preloading-strategy.service.mjs +0 -24
  424. package/esm2022/core/services/public-api.mjs +0 -6
  425. package/esm2022/core/services/repository.service.mjs +0 -29
  426. package/esm2022/core/services/reuse-strategy.service.mjs +0 -47
  427. package/esm2022/core/services/storage.service.mjs +0 -75
  428. package/esm2022/core/theme/index.mjs +0 -2
  429. package/esm2022/core/theme/public-api.mjs +0 -3
  430. package/esm2022/core/theme/theme.mjs +0 -89
  431. package/esm2022/core/theme/theme.service.mjs +0 -270
  432. package/esm2022/core/util/animation.mjs +0 -26
  433. package/esm2022/core/util/camel-to-kebab.mjs +0 -16
  434. package/esm2022/core/util/check.mjs +0 -15
  435. package/esm2022/core/util/computed-style.mjs +0 -20
  436. package/esm2022/core/util/host.mjs +0 -14
  437. package/esm2022/core/util/html.mjs +0 -12
  438. package/esm2022/core/util/index.mjs +0 -2
  439. package/esm2022/core/util/kebab-to-camel.mjs +0 -16
  440. package/esm2022/core/util/log.mjs +0 -15
  441. package/esm2022/core/util/option.mjs +0 -14
  442. package/esm2022/core/util/public-api.mjs +0 -11
  443. package/esm2022/core/util/sleep.mjs +0 -8
  444. package/esm2022/crumb/crumb.component.mjs +0 -25
  445. package/esm2022/crumb/crumb.module.mjs +0 -16
  446. package/esm2022/crumb/crumb.property.mjs +0 -45
  447. package/esm2022/crumb/ng-nest-ui-crumb.mjs +0 -5
  448. package/esm2022/crumb/public-api.mjs +0 -4
  449. package/esm2022/date-picker/date-picker-portal.component.mjs +0 -196
  450. package/esm2022/date-picker/date-picker.component.mjs +0 -320
  451. package/esm2022/date-picker/date-picker.module.mjs +0 -17
  452. package/esm2022/date-picker/date-picker.property.mjs +0 -770
  453. package/esm2022/date-picker/date-quarter.pipe.mjs +0 -19
  454. package/esm2022/date-picker/date-range-portal.component.mjs +0 -349
  455. package/esm2022/date-picker/date-range.component.mjs +0 -432
  456. package/esm2022/date-picker/ng-nest-ui-date-picker.mjs +0 -5
  457. package/esm2022/date-picker/picker-date.component.mjs +0 -334
  458. package/esm2022/date-picker/picker-month.component.mjs +0 -232
  459. package/esm2022/date-picker/picker-quarter.component.mjs +0 -237
  460. package/esm2022/date-picker/picker-year.component.mjs +0 -233
  461. package/esm2022/date-picker/public-api.mjs +0 -12
  462. package/esm2022/description/description-item.component.mjs +0 -24
  463. package/esm2022/description/description.component.mjs +0 -48
  464. package/esm2022/description/description.module.mjs +0 -17
  465. package/esm2022/description/description.property.mjs +0 -219
  466. package/esm2022/description/ng-nest-ui-description.mjs +0 -5
  467. package/esm2022/description/public-api.mjs +0 -5
  468. package/esm2022/dialog/dialog-container.component.mjs +0 -29
  469. package/esm2022/dialog/dialog-portal.component.mjs +0 -97
  470. package/esm2022/dialog/dialog-portal.directives.mjs +0 -119
  471. package/esm2022/dialog/dialog-ref.mjs +0 -100
  472. package/esm2022/dialog/dialog.component.mjs +0 -282
  473. package/esm2022/dialog/dialog.module.mjs +0 -50
  474. package/esm2022/dialog/dialog.property.mjs +0 -207
  475. package/esm2022/dialog/dialog.service.mjs +0 -122
  476. package/esm2022/dialog/ng-nest-ui-dialog.mjs +0 -5
  477. package/esm2022/dialog/public-api.mjs +0 -9
  478. package/esm2022/doc/doc.component.mjs +0 -18
  479. package/esm2022/doc/doc.module.mjs +0 -16
  480. package/esm2022/doc/doc.property.mjs +0 -7
  481. package/esm2022/doc/ng-nest-ui-doc.mjs +0 -5
  482. package/esm2022/doc/public-api.mjs +0 -4
  483. package/esm2022/drag/drag.directive.mjs +0 -57
  484. package/esm2022/drag/drag.module.mjs +0 -16
  485. package/esm2022/drag/drag.property.mjs +0 -25
  486. package/esm2022/drag/ng-nest-ui-drag.mjs +0 -5
  487. package/esm2022/drag/public-api.mjs +0 -4
  488. package/esm2022/drawer/drawer-container.component.mjs +0 -29
  489. package/esm2022/drawer/drawer-portal.component.mjs +0 -50
  490. package/esm2022/drawer/drawer-portal.directives.mjs +0 -58
  491. package/esm2022/drawer/drawer-ref.mjs +0 -17
  492. package/esm2022/drawer/drawer.component.mjs +0 -95
  493. package/esm2022/drawer/drawer.module.mjs +0 -38
  494. package/esm2022/drawer/drawer.property.mjs +0 -84
  495. package/esm2022/drawer/drawer.service.mjs +0 -65
  496. package/esm2022/drawer/ng-nest-ui-drawer.mjs +0 -5
  497. package/esm2022/drawer/public-api.mjs +0 -10
  498. package/esm2022/dropdown/dropdown-portal.component.mjs +0 -204
  499. package/esm2022/dropdown/dropdown.component.mjs +0 -179
  500. package/esm2022/dropdown/dropdown.module.mjs +0 -16
  501. package/esm2022/dropdown/dropdown.property.mjs +0 -96
  502. package/esm2022/dropdown/ng-nest-ui-dropdown.mjs +0 -5
  503. package/esm2022/dropdown/public-api.mjs +0 -5
  504. package/esm2022/empty/empty.component.mjs +0 -15
  505. package/esm2022/empty/empty.module.mjs +0 -16
  506. package/esm2022/empty/empty.property.mjs +0 -54
  507. package/esm2022/empty/ng-nest-ui-empty.mjs +0 -5
  508. package/esm2022/empty/public-api.mjs +0 -4
  509. package/esm2022/examples/examples.component.mjs +0 -18
  510. package/esm2022/examples/examples.module.mjs +0 -16
  511. package/esm2022/examples/examples.property.mjs +0 -7
  512. package/esm2022/examples/ng-nest-ui-examples.mjs +0 -5
  513. package/esm2022/examples/public-api.mjs +0 -4
  514. package/esm2022/find/find.component.mjs +0 -331
  515. package/esm2022/find/find.module.mjs +0 -16
  516. package/esm2022/find/find.property.mjs +0 -260
  517. package/esm2022/find/ng-nest-ui-find.mjs +0 -5
  518. package/esm2022/find/public-api.mjs +0 -4
  519. package/esm2022/form/control.component.mjs +0 -249
  520. package/esm2022/form/form.component.mjs +0 -116
  521. package/esm2022/form/form.module.mjs +0 -17
  522. package/esm2022/form/form.property.mjs +0 -202
  523. package/esm2022/form/ng-nest-ui-form.mjs +0 -5
  524. package/esm2022/form/public-api.mjs +0 -5
  525. package/esm2022/highlight/highlight.component.mjs +0 -85
  526. package/esm2022/highlight/highlight.module.mjs +0 -16
  527. package/esm2022/highlight/highlight.property.mjs +0 -45
  528. package/esm2022/highlight/highlight.service.mjs +0 -17
  529. package/esm2022/highlight/ng-nest-ui-highlight.mjs +0 -5
  530. package/esm2022/highlight/public-api.mjs +0 -5
  531. package/esm2022/i18n/i18n.directive.mjs +0 -29
  532. package/esm2022/i18n/i18n.module.mjs +0 -17
  533. package/esm2022/i18n/i18n.pipe.mjs +0 -28
  534. package/esm2022/i18n/i18n.property.mjs +0 -9
  535. package/esm2022/i18n/i18n.service.mjs +0 -57
  536. package/esm2022/i18n/languages/ar_EG.mjs +0 -169
  537. package/esm2022/i18n/languages/bg_BG.mjs +0 -172
  538. package/esm2022/i18n/languages/ca_ES.mjs +0 -172
  539. package/esm2022/i18n/languages/cs_CZ.mjs +0 -172
  540. package/esm2022/i18n/languages/da_DK.mjs +0 -172
  541. package/esm2022/i18n/languages/de_DE.mjs +0 -172
  542. package/esm2022/i18n/languages/el_GR.mjs +0 -172
  543. package/esm2022/i18n/languages/en_GB.mjs +0 -181
  544. package/esm2022/i18n/languages/en_US.mjs +0 -181
  545. package/esm2022/i18n/languages/es_ES.mjs +0 -172
  546. package/esm2022/i18n/languages/et_EE.mjs +0 -172
  547. package/esm2022/i18n/languages/fa_IR.mjs +0 -172
  548. package/esm2022/i18n/languages/fi_FI.mjs +0 -172
  549. package/esm2022/i18n/languages/fr_BE.mjs +0 -172
  550. package/esm2022/i18n/languages/fr_FR.mjs +0 -172
  551. package/esm2022/i18n/languages/he_IL.mjs +0 -169
  552. package/esm2022/i18n/languages/hi_IN.mjs +0 -172
  553. package/esm2022/i18n/languages/hr_HR.mjs +0 -172
  554. package/esm2022/i18n/languages/hu_HU.mjs +0 -172
  555. package/esm2022/i18n/languages/hy_AM.mjs +0 -172
  556. package/esm2022/i18n/languages/id_ID.mjs +0 -172
  557. package/esm2022/i18n/languages/is_IS.mjs +0 -172
  558. package/esm2022/i18n/languages/it_IT.mjs +0 -172
  559. package/esm2022/i18n/languages/ja_JP.mjs +0 -172
  560. package/esm2022/i18n/languages/ka_GE.mjs +0 -172
  561. package/esm2022/i18n/languages/kn_IN.mjs +0 -172
  562. package/esm2022/i18n/languages/ko_KR.mjs +0 -180
  563. package/esm2022/i18n/languages/ku_IQ.mjs +0 -156
  564. package/esm2022/i18n/languages/lv_LV.mjs +0 -180
  565. package/esm2022/i18n/languages/mn_MN.mjs +0 -180
  566. package/esm2022/i18n/languages/ms_MY.mjs +0 -180
  567. package/esm2022/i18n/languages/nb_NO.mjs +0 -180
  568. package/esm2022/i18n/languages/ne_NP.mjs +0 -180
  569. package/esm2022/i18n/languages/nl_BE.mjs +0 -180
  570. package/esm2022/i18n/languages/nl_NL.mjs +0 -180
  571. package/esm2022/i18n/languages/pl_PL.mjs +0 -180
  572. package/esm2022/i18n/languages/pt_BR.mjs +0 -180
  573. package/esm2022/i18n/languages/pt_PT.mjs +0 -180
  574. package/esm2022/i18n/languages/ro_RO.mjs +0 -180
  575. package/esm2022/i18n/languages/ru_RU.mjs +0 -180
  576. package/esm2022/i18n/languages/sk_SK.mjs +0 -171
  577. package/esm2022/i18n/languages/sl_SI.mjs +0 -172
  578. package/esm2022/i18n/languages/sr_RS.mjs +0 -172
  579. package/esm2022/i18n/languages/sv_SE.mjs +0 -172
  580. package/esm2022/i18n/languages/ta_IN.mjs +0 -180
  581. package/esm2022/i18n/languages/th_TH.mjs +0 -180
  582. package/esm2022/i18n/languages/tr_TR.mjs +0 -180
  583. package/esm2022/i18n/languages/uk_UA.mjs +0 -180
  584. package/esm2022/i18n/languages/vi_VN.mjs +0 -180
  585. package/esm2022/i18n/languages/zh_CN.mjs +0 -180
  586. package/esm2022/i18n/languages/zh_TW.mjs +0 -180
  587. package/esm2022/i18n/ng-nest-ui-i18n.mjs +0 -5
  588. package/esm2022/i18n/public-api.mjs +0 -57
  589. package/esm2022/icon/icon.component.mjs +0 -158
  590. package/esm2022/icon/icon.module.mjs +0 -16
  591. package/esm2022/icon/icon.property.mjs +0 -65
  592. package/esm2022/icon/icon.service.mjs +0 -89
  593. package/esm2022/icon/ng-nest-ui-icon.mjs +0 -5
  594. package/esm2022/icon/public-api.mjs +0 -5
  595. package/esm2022/image/image-group.component.mjs +0 -27
  596. package/esm2022/image/image-preview.component.mjs +0 -135
  597. package/esm2022/image/image.component.mjs +0 -75
  598. package/esm2022/image/image.module.mjs +0 -18
  599. package/esm2022/image/image.property.mjs +0 -196
  600. package/esm2022/image/ng-nest-ui-image.mjs +0 -5
  601. package/esm2022/image/public-api.mjs +0 -6
  602. package/esm2022/index.mjs +0 -106
  603. package/esm2022/inner/inner.component.mjs +0 -25
  604. package/esm2022/inner/inner.module.mjs +0 -16
  605. package/esm2022/inner/inner.property.mjs +0 -30
  606. package/esm2022/inner/ng-nest-ui-inner.mjs +0 -5
  607. package/esm2022/inner/public-api.mjs +0 -4
  608. package/esm2022/input/input-group.component.mjs +0 -16
  609. package/esm2022/input/input.component.mjs +0 -224
  610. package/esm2022/input/input.module.mjs +0 -17
  611. package/esm2022/input/input.property.mjs +0 -281
  612. package/esm2022/input/ng-nest-ui-input.mjs +0 -5
  613. package/esm2022/input/public-api.mjs +0 -5
  614. package/esm2022/input-number/input-number.component.mjs +0 -131
  615. package/esm2022/input-number/input-number.module.mjs +0 -16
  616. package/esm2022/input-number/input-number.property.mjs +0 -146
  617. package/esm2022/input-number/ng-nest-ui-input-number.mjs +0 -5
  618. package/esm2022/input-number/public-api.mjs +0 -4
  619. package/esm2022/keyword/keyword.directive.mjs +0 -61
  620. package/esm2022/keyword/keyword.module.mjs +0 -16
  621. package/esm2022/keyword/keyword.property.mjs +0 -45
  622. package/esm2022/keyword/ng-nest-ui-keyword.mjs +0 -5
  623. package/esm2022/keyword/public-api.mjs +0 -4
  624. package/esm2022/layout/col.component.mjs +0 -68
  625. package/esm2022/layout/layout.module.mjs +0 -17
  626. package/esm2022/layout/layout.property.mjs +0 -150
  627. package/esm2022/layout/ng-nest-ui-layout.mjs +0 -5
  628. package/esm2022/layout/public-api.mjs +0 -5
  629. package/esm2022/layout/row.component.mjs +0 -54
  630. package/esm2022/link/link.component.mjs +0 -28
  631. package/esm2022/link/link.module.mjs +0 -16
  632. package/esm2022/link/link.property.mjs +0 -109
  633. package/esm2022/link/ng-nest-ui-link.mjs +0 -5
  634. package/esm2022/link/public-api.mjs +0 -4
  635. package/esm2022/list/list-drop-group.directive.mjs +0 -39
  636. package/esm2022/list/list-option.component.mjs +0 -37
  637. package/esm2022/list/list.component.mjs +0 -409
  638. package/esm2022/list/list.module.mjs +0 -18
  639. package/esm2022/list/list.property.mjs +0 -273
  640. package/esm2022/list/ng-nest-ui-list.mjs +0 -5
  641. package/esm2022/list/public-api.mjs +0 -6
  642. package/esm2022/loading/loading.component.mjs +0 -77
  643. package/esm2022/loading/loading.module.mjs +0 -16
  644. package/esm2022/loading/loading.property.mjs +0 -70
  645. package/esm2022/loading/ng-nest-ui-loading.mjs +0 -5
  646. package/esm2022/loading/public-api.mjs +0 -4
  647. package/esm2022/menu/menu-node.component.mjs +0 -36
  648. package/esm2022/menu/menu.component.mjs +0 -171
  649. package/esm2022/menu/menu.module.mjs +0 -17
  650. package/esm2022/menu/menu.property.mjs +0 -107
  651. package/esm2022/menu/ng-nest-ui-menu.mjs +0 -5
  652. package/esm2022/menu/public-api.mjs +0 -5
  653. package/esm2022/message/message-ref.mjs +0 -13
  654. package/esm2022/message/message.component.mjs +0 -40
  655. package/esm2022/message/message.module.mjs +0 -15
  656. package/esm2022/message/message.property.mjs +0 -9
  657. package/esm2022/message/message.service.mjs +0 -146
  658. package/esm2022/message/ng-nest-ui-message.mjs +0 -5
  659. package/esm2022/message/public-api.mjs +0 -6
  660. package/esm2022/message-box/message-box.component.mjs +0 -122
  661. package/esm2022/message-box/message-box.module.mjs +0 -15
  662. package/esm2022/message-box/message-box.property.mjs +0 -8
  663. package/esm2022/message-box/message-box.service.mjs +0 -97
  664. package/esm2022/message-box/ng-nest-ui-message-box.mjs +0 -5
  665. package/esm2022/message-box/public-api.mjs +0 -5
  666. package/esm2022/ng-nest-ui.mjs +0 -5
  667. package/esm2022/notification/ng-nest-ui-notification.mjs +0 -5
  668. package/esm2022/notification/notification.component.mjs +0 -42
  669. package/esm2022/notification/notification.module.mjs +0 -15
  670. package/esm2022/notification/notification.property.mjs +0 -8
  671. package/esm2022/notification/notification.service.mjs +0 -107
  672. package/esm2022/notification/public-api.mjs +0 -5
  673. package/esm2022/outlet/ng-nest-ui-outlet.mjs +0 -5
  674. package/esm2022/outlet/outlet.directive.mjs +0 -72
  675. package/esm2022/outlet/outlet.module.mjs +0 -16
  676. package/esm2022/outlet/outlet.property.mjs +0 -7
  677. package/esm2022/outlet/public-api.mjs +0 -4
  678. package/esm2022/page-header/ng-nest-ui-page-header.mjs +0 -5
  679. package/esm2022/page-header/page-header.component.mjs +0 -24
  680. package/esm2022/page-header/page-header.module.mjs +0 -16
  681. package/esm2022/page-header/page-header.property.mjs +0 -50
  682. package/esm2022/page-header/public-api.mjs +0 -4
  683. package/esm2022/pagination/ng-nest-ui-pagination.mjs +0 -5
  684. package/esm2022/pagination/pagination.component.mjs +0 -205
  685. package/esm2022/pagination/pagination.module.mjs +0 -16
  686. package/esm2022/pagination/pagination.property.mjs +0 -149
  687. package/esm2022/pagination/public-api.mjs +0 -4
  688. package/esm2022/pattern/ng-nest-ui-pattern.mjs +0 -5
  689. package/esm2022/pattern/pattern.component.mjs +0 -18
  690. package/esm2022/pattern/pattern.module.mjs +0 -16
  691. package/esm2022/pattern/pattern.property.mjs +0 -7
  692. package/esm2022/pattern/public-api.mjs +0 -4
  693. package/esm2022/popconfirm/ng-nest-ui-popconfirm.mjs +0 -5
  694. package/esm2022/popconfirm/popconfirm.component.mjs +0 -59
  695. package/esm2022/popconfirm/popconfirm.module.mjs +0 -16
  696. package/esm2022/popconfirm/popconfirm.property.mjs +0 -100
  697. package/esm2022/popconfirm/public-api.mjs +0 -4
  698. package/esm2022/popover/ng-nest-ui-popover.mjs +0 -5
  699. package/esm2022/popover/popover-portal.component.mjs +0 -52
  700. package/esm2022/popover/popover.directive.mjs +0 -186
  701. package/esm2022/popover/popover.module.mjs +0 -16
  702. package/esm2022/popover/popover.property.mjs +0 -101
  703. package/esm2022/popover/public-api.mjs +0 -5
  704. package/esm2022/portal/ng-nest-ui-portal.mjs +0 -5
  705. package/esm2022/portal/portal.module.mjs +0 -16
  706. package/esm2022/portal/portal.property.mjs +0 -24
  707. package/esm2022/portal/portal.service.mjs +0 -190
  708. package/esm2022/portal/public-api.mjs +0 -4
  709. package/esm2022/progress/ng-nest-ui-progress.mjs +0 -5
  710. package/esm2022/progress/progress.component.mjs +0 -224
  711. package/esm2022/progress/progress.module.mjs +0 -16
  712. package/esm2022/progress/progress.property.mjs +0 -110
  713. package/esm2022/progress/public-api.mjs +0 -4
  714. package/esm2022/radio/ng-nest-ui-radio.mjs +0 -5
  715. package/esm2022/radio/public-api.mjs +0 -4
  716. package/esm2022/radio/radio.component.mjs +0 -77
  717. package/esm2022/radio/radio.module.mjs +0 -16
  718. package/esm2022/radio/radio.property.mjs +0 -121
  719. package/esm2022/rate/ng-nest-ui-rate.mjs +0 -5
  720. package/esm2022/rate/public-api.mjs +0 -4
  721. package/esm2022/rate/rate.component.mjs +0 -99
  722. package/esm2022/rate/rate.module.mjs +0 -16
  723. package/esm2022/rate/rate.property.mjs +0 -86
  724. package/esm2022/resizable/ng-nest-ui-resizable.mjs +0 -5
  725. package/esm2022/resizable/public-api.mjs +0 -4
  726. package/esm2022/resizable/resizable.directive.mjs +0 -264
  727. package/esm2022/resizable/resizable.module.mjs +0 -16
  728. package/esm2022/resizable/resizable.property.mjs +0 -64
  729. package/esm2022/result/ng-nest-ui-result.mjs +0 -5
  730. package/esm2022/result/public-api.mjs +0 -4
  731. package/esm2022/result/result.component.mjs +0 -25
  732. package/esm2022/result/result.module.mjs +0 -16
  733. package/esm2022/result/result.property.mjs +0 -45
  734. package/esm2022/ripple/ng-nest-ui-ripple.mjs +0 -5
  735. package/esm2022/ripple/public-api.mjs +0 -4
  736. package/esm2022/ripple/ripple.directive.mjs +0 -94
  737. package/esm2022/ripple/ripple.module.mjs +0 -16
  738. package/esm2022/ripple/ripple.property.mjs +0 -40
  739. package/esm2022/select/ng-nest-ui-select.mjs +0 -5
  740. package/esm2022/select/public-api.mjs +0 -5
  741. package/esm2022/select/select-portal.component.mjs +0 -103
  742. package/esm2022/select/select.component.mjs +0 -687
  743. package/esm2022/select/select.module.mjs +0 -16
  744. package/esm2022/select/select.property.mjs +0 -238
  745. package/esm2022/skeleton/ng-nest-ui-skeleton.mjs +0 -5
  746. package/esm2022/skeleton/public-api.mjs +0 -4
  747. package/esm2022/skeleton/skeleton.component.mjs +0 -25
  748. package/esm2022/skeleton/skeleton.module.mjs +0 -16
  749. package/esm2022/skeleton/skeleton.property.mjs +0 -55
  750. package/esm2022/slider/ng-nest-ui-slider.mjs +0 -5
  751. package/esm2022/slider/public-api.mjs +0 -4
  752. package/esm2022/slider/slider.component.mjs +0 -222
  753. package/esm2022/slider/slider.module.mjs +0 -17
  754. package/esm2022/slider/slider.property.mjs +0 -102
  755. package/esm2022/slider-select/ng-nest-ui-slider-select.mjs +0 -5
  756. package/esm2022/slider-select/public-api.mjs +0 -4
  757. package/esm2022/slider-select/slider-select.component.mjs +0 -368
  758. package/esm2022/slider-select/slider-select.module.mjs +0 -16
  759. package/esm2022/slider-select/slider-select.property.mjs +0 -136
  760. package/esm2022/statistic/countdown.component.mjs +0 -70
  761. package/esm2022/statistic/ng-nest-ui-statistic.mjs +0 -5
  762. package/esm2022/statistic/public-api.mjs +0 -5
  763. package/esm2022/statistic/statistic.component.mjs +0 -34
  764. package/esm2022/statistic/statistic.module.mjs +0 -17
  765. package/esm2022/statistic/statistic.property.mjs +0 -106
  766. package/esm2022/steps/ng-nest-ui-steps.mjs +0 -5
  767. package/esm2022/steps/public-api.mjs +0 -4
  768. package/esm2022/steps/steps.component.mjs +0 -49
  769. package/esm2022/steps/steps.module.mjs +0 -16
  770. package/esm2022/steps/steps.property.mjs +0 -60
  771. package/esm2022/switch/ng-nest-ui-switch.mjs +0 -5
  772. package/esm2022/switch/public-api.mjs +0 -4
  773. package/esm2022/switch/switch.component.mjs +0 -37
  774. package/esm2022/switch/switch.module.mjs +0 -16
  775. package/esm2022/switch/switch.property.mjs +0 -91
  776. package/esm2022/table/ng-nest-ui-table.mjs +0 -5
  777. package/esm2022/table/public-api.mjs +0 -7
  778. package/esm2022/table/table-body.component.mjs +0 -236
  779. package/esm2022/table/table-foot.component.mjs +0 -29
  780. package/esm2022/table/table-head.component.mjs +0 -169
  781. package/esm2022/table/table.component.mjs +0 -372
  782. package/esm2022/table/table.module.mjs +0 -19
  783. package/esm2022/table/table.property.mjs +0 -624
  784. package/esm2022/tabs/ng-nest-ui-tabs.mjs +0 -5
  785. package/esm2022/tabs/public-api.mjs +0 -7
  786. package/esm2022/tabs/tab-content.component.mjs +0 -21
  787. package/esm2022/tabs/tab-link.directive.mjs +0 -46
  788. package/esm2022/tabs/tab.component.mjs +0 -19
  789. package/esm2022/tabs/tabs.component.mjs +0 -143
  790. package/esm2022/tabs/tabs.module.mjs +0 -18
  791. package/esm2022/tabs/tabs.property.mjs +0 -141
  792. package/esm2022/tag/ng-nest-ui-tag.mjs +0 -5
  793. package/esm2022/tag/public-api.mjs +0 -4
  794. package/esm2022/tag/tag.component.mjs +0 -51
  795. package/esm2022/tag/tag.module.mjs +0 -16
  796. package/esm2022/tag/tag.property.mjs +0 -80
  797. package/esm2022/text-retract/ng-nest-ui-text-retract.mjs +0 -5
  798. package/esm2022/text-retract/public-api.mjs +0 -4
  799. package/esm2022/text-retract/text-retract.component.mjs +0 -42
  800. package/esm2022/text-retract/text-retract.module.mjs +0 -16
  801. package/esm2022/text-retract/text-retract.property.mjs +0 -35
  802. package/esm2022/textarea/ng-nest-ui-textarea.mjs +0 -5
  803. package/esm2022/textarea/public-api.mjs +0 -4
  804. package/esm2022/textarea/textarea.component.mjs +0 -68
  805. package/esm2022/textarea/textarea.module.mjs +0 -16
  806. package/esm2022/textarea/textarea.property.mjs +0 -126
  807. package/esm2022/theme/ng-nest-ui-theme.mjs +0 -5
  808. package/esm2022/theme/public-api.mjs +0 -4
  809. package/esm2022/theme/theme.component.mjs +0 -179
  810. package/esm2022/theme/theme.module.mjs +0 -16
  811. package/esm2022/theme/theme.property.mjs +0 -63
  812. package/esm2022/time-ago/ng-nest-ui-time-ago.mjs +0 -5
  813. package/esm2022/time-ago/public-api.mjs +0 -4
  814. package/esm2022/time-ago/time-ago.module.mjs +0 -16
  815. package/esm2022/time-ago/time-ago.pipe.mjs +0 -70
  816. package/esm2022/time-ago/time-ago.property.mjs +0 -7
  817. package/esm2022/time-picker/ng-nest-ui-time-picker.mjs +0 -5
  818. package/esm2022/time-picker/public-api.mjs +0 -6
  819. package/esm2022/time-picker/time-picker-frame.component.mjs +0 -312
  820. package/esm2022/time-picker/time-picker-portal.component.mjs +0 -78
  821. package/esm2022/time-picker/time-picker.component.mjs +0 -266
  822. package/esm2022/time-picker/time-picker.module.mjs +0 -17
  823. package/esm2022/time-picker/time-picker.property.mjs +0 -198
  824. package/esm2022/time-range/ng-nest-ui-time-range.mjs +0 -5
  825. package/esm2022/time-range/public-api.mjs +0 -4
  826. package/esm2022/time-range/time-range.module.mjs +0 -16
  827. package/esm2022/time-range/time-range.pipe.mjs +0 -44
  828. package/esm2022/time-range/time-range.property.mjs +0 -7
  829. package/esm2022/timeline/ng-nest-ui-timeline.mjs +0 -5
  830. package/esm2022/timeline/public-api.mjs +0 -4
  831. package/esm2022/timeline/timeline.component.mjs +0 -45
  832. package/esm2022/timeline/timeline.module.mjs +0 -16
  833. package/esm2022/timeline/timeline.property.mjs +0 -50
  834. package/esm2022/tooltip/ng-nest-ui-tooltip.mjs +0 -5
  835. package/esm2022/tooltip/public-api.mjs +0 -5
  836. package/esm2022/tooltip/tooltip-portal.component.mjs +0 -103
  837. package/esm2022/tooltip/tooltip.directive.mjs +0 -143
  838. package/esm2022/tooltip/tooltip.module.mjs +0 -16
  839. package/esm2022/tooltip/tooltip.property.mjs +0 -86
  840. package/esm2022/transfer/ng-nest-ui-transfer.mjs +0 -5
  841. package/esm2022/transfer/public-api.mjs +0 -4
  842. package/esm2022/transfer/transfer.component.mjs +0 -659
  843. package/esm2022/transfer/transfer.module.mjs +0 -16
  844. package/esm2022/transfer/transfer.property.mjs +0 -112
  845. package/esm2022/tree/ng-nest-ui-tree.mjs +0 -5
  846. package/esm2022/tree/public-api.mjs +0 -5
  847. package/esm2022/tree/tree-node.component.mjs +0 -297
  848. package/esm2022/tree/tree.component.mjs +0 -579
  849. package/esm2022/tree/tree.module.mjs +0 -17
  850. package/esm2022/tree/tree.property.mjs +0 -337
  851. package/esm2022/tree/tree.service.mjs +0 -102
  852. package/esm2022/tree-file/ng-nest-ui-tree-file.mjs +0 -5
  853. package/esm2022/tree-file/public-api.mjs +0 -4
  854. package/esm2022/tree-file/tree-file.component.mjs +0 -118
  855. package/esm2022/tree-file/tree-file.module.mjs +0 -16
  856. package/esm2022/tree-file/tree-file.property.mjs +0 -90
  857. package/esm2022/tree-select/ng-nest-ui-tree-select.mjs +0 -5
  858. package/esm2022/tree-select/public-api.mjs +0 -5
  859. package/esm2022/tree-select/tree-select-portal.component.mjs +0 -86
  860. package/esm2022/tree-select/tree-select.component.mjs +0 -659
  861. package/esm2022/tree-select/tree-select.module.mjs +0 -17
  862. package/esm2022/tree-select/tree-select.property.mjs +0 -237
  863. package/esm2022/typography/ng-nest-ui-typography.mjs +0 -5
  864. package/esm2022/typography/public-api.mjs +0 -4
  865. package/esm2022/typography/typography.component.mjs +0 -27
  866. package/esm2022/typography/typography.module.mjs +0 -16
  867. package/esm2022/typography/typography.property.mjs +0 -34
  868. package/esm2022/upload/ng-nest-ui-upload.mjs +0 -5
  869. package/esm2022/upload/public-api.mjs +0 -5
  870. package/esm2022/upload/upload-portal.component.mjs +0 -196
  871. package/esm2022/upload/upload.component.mjs +0 -233
  872. package/esm2022/upload/upload.module.mjs +0 -16
  873. package/esm2022/upload/upload.property.mjs +0 -118
  874. package/style/core/base.scss +0 -20
  875. package/style/core/cdk.scss +0 -72
  876. package/style/core/portal.scss +0 -5
  877. package/style/core/var.scss +0 -4
  878. package/style/mixins/index.scss +0 -9
  879. package/style/params/layout.scss +0 -73
  880. package/style/params/primary.scss +0 -208
  881. package/style/themes/default.scss +0 -1
@@ -1,409 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener, ViewChildren, inject, afterRender, viewChild, signal, computed } from '@angular/core';
3
- import { XListPrefix, XListProperty } from './list.property';
4
- import { XIsChange, XSetData, XIsEmpty, XIsUndefined, XIsNull, XResize } from '@ng-nest/ui/core';
5
- import { CdkDrag, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';
6
- import { XListOptionComponent } from './list-option.component';
7
- import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
8
- import { ENTER } from '@angular/cdk/keycodes';
9
- import { map, takeUntil, debounceTime } from 'rxjs/operators';
10
- import { XValueAccessor } from '@ng-nest/ui/base-form';
11
- import { XI18nService, zh_CN } from '@ng-nest/ui/i18n';
12
- import { ScrollingModule } from '@angular/cdk/scrolling';
13
- import { X_LIST_DROP_GROUP } from './list-drop-group.directive';
14
- import { XOutletDirective } from '@ng-nest/ui/outlet';
15
- import { XIconComponent } from '@ng-nest/ui/icon';
16
- import { XEmptyComponent } from '@ng-nest/ui/empty';
17
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
18
- import { toSignal } from '@angular/core/rxjs-interop';
19
- import { NgClass } from '@angular/common';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@angular/cdk/scrolling";
22
- export class XListComponent extends XListProperty {
23
- keydown($event) {
24
- this.keyManager.onKeydown($event);
25
- const activeIndex = this.keyManager.activeItemIndex;
26
- if ($event.keyCode === ENTER && !XIsUndefined(activeIndex)) {
27
- this.setUnActive(activeIndex);
28
- this.onNodeClick($event, this.nodes()[activeIndex]);
29
- }
30
- }
31
- getVirtualScrollHeight() {
32
- let headerH = 0, footerH = 0, selectAllH = 0, loadMoreH = 0;
33
- if (this.headerRef())
34
- headerH = this.headerRef().nativeElement.clientHeight;
35
- if (this.footerRef())
36
- footerH = this.footerRef().nativeElement.clientHeight;
37
- if (this.selectAllRef())
38
- selectAllH = this.selectAllRef().nativeElement.clientHeight;
39
- if (this.loadMoreRef())
40
- loadMoreH = this.loadMoreRef().nativeElement.clientHeight;
41
- return this.scrollHeightSignal() - headerH - footerH - selectAllH - loadMoreH;
42
- }
43
- writeValue(value) {
44
- this.value.set(value);
45
- this.setSelected();
46
- this.setKeyManager();
47
- }
48
- constructor() {
49
- super();
50
- this.unSubject = new Subject();
51
- this.i18n = inject(XI18nService);
52
- this.group = inject(X_LIST_DROP_GROUP, { optional: true, skipSelf: true });
53
- this.nodes = signal([]);
54
- this.selectedNodes = signal([]);
55
- this.headerRef = viewChild('headerRef');
56
- this.footerRef = viewChild('footerRef');
57
- this.selectAllRef = viewChild('selectAllRef');
58
- this.loadMoreRef = viewChild('loadMoreRef');
59
- this.virtualBody = viewChild('virtualBody');
60
- this.dropList = viewChild(CdkDropList);
61
- this.isSelectAll = signal(false);
62
- this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.list)), { initialValue: zh_CN.list });
63
- this.loadMoreIndex = signal(0);
64
- this.icon = signal('');
65
- this.iconSpin = signal(false);
66
- this.scrollHeightSignal = signal(0);
67
- this.classMap = computed(() => ({
68
- [`${XListPrefix}-${this.size()}`]: this.size() ? true : false
69
- }));
70
- this.sizeChange = null;
71
- this.role = 'listbox';
72
- this.tabindex = -1;
73
- this.itemSizeMap = {
74
- mini: 22,
75
- small: 24,
76
- medium: 28,
77
- large: 32,
78
- big: 36
79
- };
80
- this.itemSize = computed(() => this.itemSizeMap[this.size()]);
81
- this.isEmpty = computed(() => XIsEmpty(this.nodes()));
82
- this.getSelectAllText = computed(() => this.selectAllText() || this.locale().selectAllText);
83
- this.getLoadMoreText = computed(() => this.loadMoreText() || this.locale().loadMoreText);
84
- this.getLoadingMoreText = computed(() => this.loadingMoreText() || this.locale().loadingMoreText);
85
- this.minBufferPxSignal = computed(() => {
86
- if (this.virtualScroll() && this.heightAdaption()) {
87
- return this.getVirtualScrollHeight();
88
- }
89
- else {
90
- return this.minBufferPx();
91
- }
92
- });
93
- this.maxBufferPxSignal = computed(() => {
94
- if (this.virtualScroll() && this.heightAdaption()) {
95
- return this.getVirtualScrollHeight() * 1.2;
96
- }
97
- else {
98
- return this.maxBufferPx();
99
- }
100
- });
101
- afterRender({
102
- mixedReadWrite: () => {
103
- if (this.virtualScroll() && this.scrollHeight()) {
104
- this.virtualBody()?.checkViewportSize();
105
- }
106
- }
107
- });
108
- }
109
- ngOnChanges(changes) {
110
- const { data, scrollHeight, heightAdaption } = changes;
111
- XIsChange(data) && this.setData();
112
- XIsChange(scrollHeight) &&
113
- this.virtualScroll() &&
114
- !this.heightAdaption() &&
115
- this.scrollHeightSignal.set(this.scrollHeight());
116
- XIsChange(heightAdaption) && this.virtualScroll() && this.setHeightAdaption();
117
- }
118
- ngAfterViewInit() {
119
- this.initKeyManager();
120
- if (this.virtualScroll() && this.heightAdaption()) {
121
- this.setHeightAdaption();
122
- }
123
- else {
124
- this.scrollHeightSignal.set(this.scrollHeight());
125
- }
126
- if (this.group && this.dropList()) {
127
- this.group.dropLists.add(this.dropList());
128
- this.group.setConnectedTo();
129
- }
130
- }
131
- setHeightAdaption() {
132
- this.setVirtualScrollHeight();
133
- if (this.sizeChange)
134
- this.sizeChange.unsubscribe();
135
- this.sizeChange = XResize(this.heightAdaption())
136
- .pipe(debounceTime(30), takeUntil(this.unSubject))
137
- .subscribe((x) => {
138
- this.resizeObserver = x.resizeObserver;
139
- this.setVirtualScrollHeight();
140
- });
141
- }
142
- ngOnDestroy() {
143
- this.unSubject.next();
144
- this.unSubject.complete();
145
- this.resizeObserver?.disconnect();
146
- this.group?.dropLists.delete(this.dropList());
147
- }
148
- setVirtualScrollHeight() {
149
- this.scrollHeightSignal.set(this.heightAdaption().clientHeight);
150
- if (!this.virtualBody())
151
- return;
152
- this.virtualBody()['_scrollStrategy']['_minBufferPx'] = this.minBufferPxSignal();
153
- this.virtualBody()['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPxSignal();
154
- }
155
- setData() {
156
- if (this.loadMore()) {
157
- this.icon.set('fto-loader');
158
- this.iconSpin.set(true);
159
- }
160
- XSetData(this.data(), this.unSubject, true, this.loadMoreIndex()).subscribe((x) => {
161
- if (this.loadMore()) {
162
- this.nodes.update((y) => [...y, ...x]);
163
- this.icon.set('');
164
- this.iconSpin.set(false);
165
- }
166
- else {
167
- this.nodes.set(x);
168
- }
169
- this.setSelected();
170
- this.setKeyManager();
171
- });
172
- }
173
- initKeyManager() {
174
- this.keyManager = new ActiveDescendantKeyManager(this.options).withWrap();
175
- this.keyManager.tabOut.pipe(takeUntil(this.unSubject)).subscribe(() => {
176
- this.setUnActive(this.keyManager.activeItemIndex);
177
- this.keyManagerTabOut.emit();
178
- });
179
- this.keyManager.change.pipe(takeUntil(this.unSubject)).subscribe((num) => {
180
- this.setScorllTop(num);
181
- this.keyManagerChange.emit(num);
182
- });
183
- }
184
- setScorllTop(_num) {
185
- let list = this.scrollElement();
186
- if (!list || !this.keyManager.activeItem)
187
- return;
188
- let ele = this.keyManager.activeItem.elementRef.nativeElement;
189
- let min = list.scrollTop;
190
- let max = list.scrollTop + list.clientHeight;
191
- if (ele.offsetTop + ele.clientHeight > max) {
192
- let scrollTop = ele.offsetTop + ele.clientHeight - list.clientHeight;
193
- list.scrollTop = scrollTop;
194
- }
195
- if (ele.offsetTop < min) {
196
- list.scrollTop = ele.offsetTop;
197
- }
198
- }
199
- setSelected() {
200
- const nodes = this.nodes();
201
- const value = this.value();
202
- const objectArray = this.objectArray();
203
- if (nodes.length > 0) {
204
- nodes
205
- .filter((x) => x.selected)
206
- .map((x) => {
207
- x.selected = false;
208
- });
209
- let valArry = [];
210
- if (value instanceof Array) {
211
- valArry = value;
212
- if (valArry.length === nodes.length) {
213
- this.isSelectAll.set(true);
214
- }
215
- }
216
- else {
217
- valArry = [value];
218
- }
219
- let ids = [];
220
- let selectedNodes = [];
221
- if (objectArray) {
222
- ids = valArry.filter((x) => !XIsUndefined(x) && !XIsNull(x)).map((x) => x.id);
223
- }
224
- else {
225
- ids = valArry;
226
- }
227
- for (let id of ids) {
228
- let node = nodes.find((x) => x.id === id);
229
- if (node) {
230
- node.selected = true;
231
- selectedNodes.push(node);
232
- }
233
- }
234
- this.selectedNodes.set(selectedNodes);
235
- }
236
- }
237
- setKeyManager() {
238
- if (XIsUndefined(this.keyManager) || XIsEmpty(this.nodes()))
239
- return;
240
- let activeIndex = 0;
241
- let value = this.value();
242
- let objectArray = this.objectArray();
243
- if (XIsEmpty(value)) {
244
- this.keyManager.updateActiveItem(activeIndex);
245
- return;
246
- }
247
- let valArry = [];
248
- if (value instanceof Array) {
249
- valArry = value;
250
- }
251
- else {
252
- valArry = [value];
253
- }
254
- const first = valArry[0];
255
- if (objectArray) {
256
- activeIndex = this.nodes().findIndex((x) => x.id === first.id);
257
- }
258
- else {
259
- activeIndex = this.nodes().findIndex((x) => x.id === first);
260
- }
261
- this.keyManager.updateActiveItem(activeIndex);
262
- this.setScorllTop(activeIndex);
263
- }
264
- onNodeClick(event, node) {
265
- if (XIsUndefined(node) || node.disabled) {
266
- event.stopPropagation();
267
- return;
268
- }
269
- if (node.disabled)
270
- return;
271
- if (node.selected && this.multiple() === 1) {
272
- node.event = event;
273
- this.nodeClick.emit(node);
274
- return;
275
- }
276
- const selected = !node.selected;
277
- if (selected) {
278
- if (this.selectedNodes().length < this.multiple() || this.multiple() === 0 || isNaN(this.multiple())) {
279
- node.selected = selected;
280
- this.selectedNodes.update((x) => [...x, node]);
281
- if (this.selectedNodes().length === this.nodes().length) {
282
- this.isSelectAll.set(true);
283
- }
284
- }
285
- else if (this.multiple() === 1 && this.selectedNodes().length === 1) {
286
- node.selected = selected;
287
- this.selectedNodes.update((x) => {
288
- x[0].selected = false;
289
- x[0] = node;
290
- return [...x];
291
- });
292
- }
293
- else {
294
- return;
295
- }
296
- }
297
- else {
298
- node.selected = selected;
299
- this.selectedNodes.update((x) => {
300
- x.splice(x.findIndex((x) => x.id == node.id), 1);
301
- return [...x];
302
- });
303
- this.isSelectAll.set(false);
304
- }
305
- if (this.multiple() === 1 && this.selectedNodes().length === 1) {
306
- this.value.set(this.objectArray() ? this.selectedNodes()[0] : this.selectedNodes()[0].id);
307
- }
308
- else {
309
- this.value.set(this.objectArray() ? this.selectedNodes() : this.selectedNodes().map((x) => x.id));
310
- }
311
- if (this.onChange)
312
- this.onChange(this.value());
313
- node.event = event;
314
- this.nodeClick.emit(node);
315
- }
316
- onMouseenter(event, node) {
317
- if (node.disabled) {
318
- event.stopPropagation();
319
- return;
320
- }
321
- node.event = event;
322
- this.nodeMouseenter.emit(node);
323
- }
324
- onMouseleave(event, node) {
325
- if (node.disabled) {
326
- event.stopPropagation();
327
- return;
328
- }
329
- node.event = event;
330
- this.nodeMouseleave.emit(node);
331
- }
332
- dropCdk(event) {
333
- this.nodes.update((x) => {
334
- moveItemInArray(x, event.previousIndex, event.currentIndex);
335
- return [...x];
336
- });
337
- this.dropListDropped.emit({
338
- data: this.nodes(),
339
- current: this.nodes()[event.currentIndex],
340
- currentIndex: event.currentIndex,
341
- event: event
342
- });
343
- }
344
- predicate(_drag, _drop) {
345
- return true;
346
- }
347
- onSelectAllNodes() {
348
- this.isSelectAll.update((x) => !x);
349
- if (this.isSelectAll()) {
350
- this.nodes.update((x) => {
351
- x.forEach((y) => (y.selected = true));
352
- return [...x];
353
- });
354
- this.selectedNodes.set(this.nodes());
355
- }
356
- else {
357
- this.nodes.update((x) => {
358
- x.forEach((y) => (y.selected = false));
359
- return [...x];
360
- });
361
- this.selectedNodes.set([]);
362
- }
363
- this.value.set(this.objectArray() ? this.selectedNodes() : this.selectedNodes().map((x) => x.id));
364
- if (this.onChange)
365
- this.onChange(this.value());
366
- this.onSelectAll.emit(this.isSelectAll());
367
- }
368
- onLoadMore() {
369
- this.loadMoreIndex.update((x) => x + 1);
370
- this.setData();
371
- }
372
- trackByNode(_index, item) {
373
- return item.id;
374
- }
375
- setUnActive(num) {
376
- if (num > -1)
377
- this.nodes()[num].active = false;
378
- }
379
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
380
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XListComponent, isStandalone: true, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "headerRef", first: true, predicate: ["headerRef"], descendants: true, isSignal: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true, isSignal: true }, { propertyName: "selectAllRef", first: true, predicate: ["selectAllRef"], descendants: true, isSignal: true }, { propertyName: "loadMoreRef", first: true, predicate: ["loadMoreRef"], descendants: true, isSignal: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true, isSignal: true }, { propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true, isSignal: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\" [class.x-list-portal]=\"inPortal()\" [ngClass]=\"classMap()\">\r\n @if (header()) {\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header()\">{{ header() }}</div>\r\n }\r\n @if (selectAll() && multiple() === 0) {\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size()\"\r\n [label]=\"getSelectAllText()\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll()\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n }\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"itemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight()\"\r\n [hidden]=\"isEmpty()\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes(); trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes(); track node.id) {\r\n <x-list-option\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n }\r\n </div>\r\n }\r\n @if (loadMore() && !isEmpty()) {\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size()\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n @if (icon() && iconSpin()) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\"></x-icon>\r\n }\r\n {{ icon() && iconSpin() ? getLoadingMoreText() : getLoadMoreText() }}</ng-template\r\n >\r\n }\r\n @if (isEmpty()) {\r\n <x-empty></x-empty>\r\n }\r\n @if (footer()) {\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer()\">{{ footer() }}</div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0}.x-list{width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{font-weight:700}.x-list-portal{padding:.125rem .25rem}.x-list-portal x-list-option .x-list-option{padding:0 calc(var(--x-padding-medium) - .5rem);margin:.125rem 0;border-radius:var(--x-border-small-radius)}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}.x-list-big .x-list-header,.x-list-big .x-list-footer{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-large .x-list-header,.x-list-large .x-list-footer{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-medium .x-list-header,.x-list-medium .x-list-footer{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-small .x-list-header,.x-list-small .x-list-footer{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-mini .x-list-header,.x-list-mini .x-list-footer{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XListOptionComponent, selector: "x-list-option" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
381
- }
382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XListComponent, decorators: [{
383
- type: Component,
384
- args: [{ selector: `${XListPrefix}`, standalone: true, imports: [
385
- NgClass,
386
- FormsModule,
387
- ReactiveFormsModule,
388
- CdkDropList,
389
- CdkDrag,
390
- ScrollingModule,
391
- XIconComponent,
392
- XEmptyComponent,
393
- XListOptionComponent,
394
- XOutletDirective
395
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XListComponent)], template: "<div class=\"x-list\" [class.x-list-portal]=\"inPortal()\" [ngClass]=\"classMap()\">\r\n @if (header()) {\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header()\">{{ header() }}</div>\r\n }\r\n @if (selectAll() && multiple() === 0) {\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size()\"\r\n [label]=\"getSelectAllText()\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll()\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n }\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"itemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight()\"\r\n [hidden]=\"isEmpty()\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes(); trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes(); track node.id) {\r\n <x-list-option\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n }\r\n </div>\r\n }\r\n @if (loadMore() && !isEmpty()) {\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size()\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n @if (icon() && iconSpin()) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\"></x-icon>\r\n }\r\n {{ icon() && iconSpin() ? getLoadingMoreText() : getLoadMoreText() }}</ng-template\r\n >\r\n }\r\n @if (isEmpty()) {\r\n <x-empty></x-empty>\r\n }\r\n @if (footer()) {\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer()\">{{ footer() }}</div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0}.x-list{width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{font-weight:700}.x-list-portal{padding:.125rem .25rem}.x-list-portal x-list-option .x-list-option{padding:0 calc(var(--x-padding-medium) - .5rem);margin:.125rem 0;border-radius:var(--x-border-small-radius)}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}.x-list-big .x-list-header,.x-list-big .x-list-footer{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-large .x-list-header,.x-list-large .x-list-footer{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-medium .x-list-header,.x-list-medium .x-list-footer{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-small .x-list-header,.x-list-small .x-list-footer{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-mini .x-list-header,.x-list-mini .x-list-footer{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"] }]
396
- }], ctorParameters: () => [], propDecorators: { options: [{
397
- type: ViewChildren,
398
- args: [XListOptionComponent]
399
- }], role: [{
400
- type: HostBinding,
401
- args: ['attr.role']
402
- }], tabindex: [{
403
- type: HostBinding,
404
- args: ['attr.tabindex']
405
- }], keydown: [{
406
- type: HostListener,
407
- args: ['keydown', ['$event']]
408
- }] } });
409
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUt2QixXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQWUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFhLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxP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LENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNqRCxDQUFDO2lJQW5YVSxjQUFjO3FIQUFkLGNBQWMsd0xBRmQsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsK2xCQWFULFdBQVcsNkVBQy9CLG9CQUFvQiw0RkNyRXBDLDJrSEFtR0Esb3lERDNESSxPQUFPLG1GQUNQLFdBQVcsOEJBQ1gsbUJBQW1CLCtCQUNuQixXQUFXLDhmQUNYLE9BQU8sdWNBQ1AsZUFBZSw0akJBQ2YsY0FBYyxtREFDZCxlQUFlLG9EQUNmLG9CQUFvQiwwREFDcEIsZ0JBQWdCOzsyRkFRUCxjQUFjO2tCQXJCMUIsU0FBUzsrQkFDRSxHQUFHLFdBQVcsRUFBRSxjQUNkLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixnQkFBZ0I7cUJBQ2pCLGlCQUdjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGdCQUFnQixDQUFDO3dEQWUzQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsb0JBQW9CO2dCQWVSLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVztnQkFDTSxRQUFRO3NCQUFyQyxXQUFXO3VCQUFDLGVBQWU7Z0JBRVMsT0FBTztzQkFBM0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBpbmplY3QsXHJcbiAgYWZ0ZXJSZW5kZXIsXHJcbiAgdmlld0NoaWxkLFxyXG4gIHNpZ25hbCxcclxuICBjb21wdXRlZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdFByZWZpeCwgWExpc3ROb2RlLCBYTGlzdFByb3BlcnR5IH0gZnJvbSAnLi9saXN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYU2V0RGF0YSwgWElzRW1wdHksIFhJc1VuZGVmaW5lZCwgWElzTnVsbCwgWFJlc2l6ZSwgWFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhJMThuTGlzdCwgWEkxOG5TZXJ2aWNlLCB6aF9DTiB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsIFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBYTGlzdERyb3BHcm91cCwgWF9MSVNUX0RST1BfR1JPVVAgfSBmcm9tICcuL2xpc3QtZHJvcC1ncm91cC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgWEljb25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pY29uJztcclxuaW1wb3J0IHsgWEVtcHR5Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvZW1wdHknO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0UHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ2RrRHJvcExpc3QsXHJcbiAgICBDZGtEcmFnLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgWEljb25Db21wb25lbnQsXHJcbiAgICBYRW1wdHlDb21wb25lbnQsXHJcbiAgICBYTGlzdE9wdGlvbkNvbXBvbmVudCxcclxuICAgIFhPdXRsZXREaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYTGlzdENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdENvbXBvbmVudCBleHRlbmRzIFhMaXN0UHJvcGVydHkgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoWEkxOG5TZXJ2aWNlKTtcclxuICBwcml2YXRlIGdyb3VwID0gaW5qZWN0PFhMaXN0RHJvcEdyb3VwPihYX0xJU1RfRFJPUF9HUk9VUCwgeyBvcHRpb25hbDogdHJ1ZSwgc2tpcFNlbGY6IHRydWUgfSk7XHJcbiAgbm9kZXMgPSBzaWduYWw8WExpc3ROb2RlW10+KFtdKTtcclxuICBzZWxlY3RlZE5vZGVzID0gc2lnbmFsPFhMaXN0Tm9kZVtdPihbXSk7XHJcbiAgaGVhZGVyUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignaGVhZGVyUmVmJyk7XHJcbiAgZm9vdGVyUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZm9vdGVyUmVmJyk7XHJcbiAgc2VsZWN0QWxsUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pignc2VsZWN0QWxsUmVmJyk7XHJcbiAgbG9hZE1vcmVSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdsb2FkTW9yZVJlZicpO1xyXG4gIHZpcnR1YWxCb2R5ID0gdmlld0NoaWxkPENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydD4oJ3ZpcnR1YWxCb2R5Jyk7XHJcbiAgZHJvcExpc3QgPSB2aWV3Q2hpbGQ8Q2RrRHJvcExpc3Q+KENka0Ryb3BMaXN0KTtcclxuICBAVmlld0NoaWxkcmVuKFhMaXN0T3B0aW9uQ29tcG9uZW50KVxyXG4gIG9wdGlvbnMhOiBRdWVyeUxpc3Q8WExpc3RPcHRpb25Db21wb25lbnQ+O1xyXG4gIGtleU1hbmFnZXIhOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxYTGlzdE9wdGlvbkNvbXBvbmVudD47XHJcbiAgaXNTZWxlY3RBbGwgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGxvY2FsZSA9IHRvU2lnbmFsKHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2UucGlwZShtYXAoKHgpID0+IHgubGlzdCBhcyBYSTE4bkxpc3QpKSwgeyBpbml0aWFsVmFsdWU6IHpoX0NOLmxpc3QgfSk7XHJcbiAgbG9hZE1vcmVJbmRleCA9IHNpZ25hbCgwKTtcclxuICBpY29uID0gc2lnbmFsKCcnKTtcclxuICBpY29uU3BpbiA9IHNpZ25hbChmYWxzZSk7XHJcbiAgc2Nyb2xsSGVpZ2h0U2lnbmFsID0gc2lnbmFsKDApO1xyXG4gIGNsYXNzTWFwID0gY29tcHV0ZWQoKCkgPT4gKHtcclxuICAgIFtgJHtYTGlzdFByZWZpeH0tJHt0aGlzLnNpemUoKX1gXTogdGhpcy5zaXplKCkgPyB0cnVlIDogZmFsc2VcclxuICB9KSk7XHJcbiAgc2l6ZUNoYW5nZTogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlciE6IFhSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2xpc3Rib3gnO1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4ID0gLTE7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBrZXlkb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bigkZXZlbnQpO1xyXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IGFzIG51bWJlcjtcclxuICAgIGlmICgkZXZlbnQua2V5Q29kZSA9PT0gRU5URVIgJiYgIVhJc1VuZGVmaW5lZChhY3RpdmVJbmRleCkpIHtcclxuICAgICAgdGhpcy5zZXRVbkFjdGl2ZShhY3RpdmVJbmRleCk7XHJcbiAgICAgIHRoaXMub25Ob2RlQ2xpY2soJGV2ZW50LCB0aGlzLm5vZGVzKClbYWN0aXZlSW5kZXhdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGl0ZW1TaXplTWFwOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xyXG4gICAgbWluaTogMjIsXHJcbiAgICBzbWFsbDogMjQsXHJcbiAgICBtZWRpdW06IDI4LFxyXG4gICAgbGFyZ2U6IDMyLFxyXG4gICAgYmlnOiAzNlxyXG4gIH07XHJcblxyXG4gIGl0ZW1TaXplID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pdGVtU2l6ZU1hcFt0aGlzLnNpemUoKV0pO1xyXG4gIGlzRW1wdHkgPSBjb21wdXRlZCgoKSA9PiBYSXNFbXB0eSh0aGlzLm5vZGVzKCkpKTtcclxuICBnZXRTZWxlY3RBbGxUZXh0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWxlY3RBbGxUZXh0KCkgfHwgdGhpcy5sb2NhbGUoKS5zZWxlY3RBbGxUZXh0KTtcclxuICBnZXRMb2FkTW9yZVRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvYWRNb3JlVGV4dCgpIHx8IHRoaXMubG9jYWxlKCkubG9hZE1vcmVUZXh0KTtcclxuICBnZXRMb2FkaW5nTW9yZVRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvYWRpbmdNb3JlVGV4dCgpIHx8IHRoaXMubG9jYWxlKCkubG9hZGluZ01vcmVUZXh0KTtcclxuXHJcbiAgZ2V0VmlydHVhbFNjcm9sbEhlaWdodCgpIHtcclxuICAgIGxldCBoZWFkZXJIID0gMCxcclxuICAgICAgZm9vdGVySCA9IDAsXHJcbiAgICAgIHNlbGVjdEFsbEggPSAwLFxyXG4gICAgICBsb2FkTW9yZUggPSAwO1xyXG4gICAgaWYgKHRoaXMuaGVhZGVyUmVmKCkpIGhlYWRlckggPSB0aGlzLmhlYWRlclJlZigpIS5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgIGlmICh0aGlzLmZvb3RlclJlZigpKSBmb290ZXJIID0gdGhpcy5mb290ZXJSZWYoKSEubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RBbGxSZWYoKSkgc2VsZWN0QWxsSCA9IHRoaXMuc2VsZWN0QWxsUmVmKCkhLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgaWYgKHRoaXMubG9hZE1vcmVSZWYoKSkgbG9hZE1vcmVIID0gdGhpcy5sb2FkTW9yZVJlZigpIS5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5zY3JvbGxIZWlnaHRTaWduYWwoKSAtIGhlYWRlckggLSBmb290ZXJIIC0gc2VsZWN0QWxsSCAtIGxvYWRNb3JlSDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgdGhpcy5zZXRLZXlNYW5hZ2VyKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBhZnRlclJlbmRlcih7XHJcbiAgICAgIG1peGVkUmVhZFdyaXRlOiAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbCgpICYmIHRoaXMuc2Nyb2xsSGVpZ2h0KCkpIHtcclxuICAgICAgICAgIHRoaXMudmlydHVhbEJvZHkoKT8uY2hlY2tWaWV3cG9ydFNpemUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBkYXRhLCBzY3JvbGxIZWlnaHQsIGhlaWdodEFkYXB0aW9uIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgWElzQ2hhbmdlKHNjcm9sbEhlaWdodCkgJiZcclxuICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsKCkgJiZcclxuICAgICAgIXRoaXMuaGVpZ2h0QWRhcHRpb24oKSAmJlxyXG4gICAgICB0aGlzLnNjcm9sbEhlaWdodFNpZ25hbC5zZXQodGhpcy5zY3JvbGxIZWlnaHQoKSk7XHJcbiAgICBYSXNDaGFuZ2UoaGVpZ2h0QWRhcHRpb24pICYmIHRoaXMudmlydHVhbFNjcm9sbCgpICYmIHRoaXMuc2V0SGVpZ2h0QWRhcHRpb24oKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEtleU1hbmFnZXIoKTtcclxuICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGwoKSAmJiB0aGlzLmhlaWdodEFkYXB0aW9uKCkpIHtcclxuICAgICAgdGhpcy5zZXRIZWlnaHRBZGFwdGlvbigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zY3JvbGxIZWlnaHRTaWduYWwuc2V0KHRoaXMuc2Nyb2xsSGVpZ2h0KCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JvdXAgJiYgdGhpcy5kcm9wTGlzdCgpKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuZHJvcExpc3RzLmFkZCh0aGlzLmRyb3BMaXN0KCkhKTtcclxuICAgICAgdGhpcy5ncm91cC5zZXRDb25uZWN0ZWRUbygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0SGVpZ2h0QWRhcHRpb24oKSB7XHJcbiAgICB0aGlzLnNldFZpcnR1YWxTY3JvbGxIZWlnaHQoKTtcclxuICAgIGlmICh0aGlzLnNpemVDaGFuZ2UpIHRoaXMuc2l6ZUNoYW5nZS51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zaXplQ2hhbmdlID0gWFJlc2l6ZSh0aGlzLmhlaWdodEFkYXB0aW9uKCkgYXMgSFRNTEVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNldFZpcnR1YWxTY3JvbGxIZWlnaHQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBtaW5CdWZmZXJQeFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGwoKSAmJiB0aGlzLmhlaWdodEFkYXB0aW9uKCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmlydHVhbFNjcm9sbEhlaWdodCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWluQnVmZmVyUHgoKTtcclxuICAgIH1cclxuICB9KTtcclxuICBtYXhCdWZmZXJQeFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGwoKSAmJiB0aGlzLmhlaWdodEFkYXB0aW9uKCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmlydHVhbFNjcm9sbEhlaWdodCgpICogMS4yO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWF4QnVmZmVyUHgoKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLnVuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xyXG4gICAgdGhpcy5ncm91cD8uZHJvcExpc3RzLmRlbGV0ZSh0aGlzLmRyb3BMaXN0KCkhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmlydHVhbFNjcm9sbEhlaWdodCgpIHtcclxuICAgIHRoaXMuc2Nyb2xsSGVpZ2h0U2lnbmFsLnNldCgodGhpcy5oZWlnaHRBZGFwdGlvbigpIGFzIEhUTUxFbGVtZW50KS5jbGllbnRIZWlnaHQpO1xyXG4gICAgaWYgKCF0aGlzLnZpcnR1YWxCb2R5KCkpIHJldHVybjtcclxuICAgIHRoaXMudmlydHVhbEJvZHkoKSFbJ19zY3JvbGxTdHJhdGVneSddWydfbWluQnVmZmVyUHgnXSA9IHRoaXMubWluQnVmZmVyUHhTaWduYWwoKTtcclxuICAgIHRoaXMudmlydHVhbEJvZHkoKSFbJ19zY3JvbGxTdHJhdGVneSddWydfbWF4QnVmZmVyUHgnXSA9IHRoaXMubWF4QnVmZmVyUHhTaWduYWwoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmxvYWRNb3JlKCkpIHtcclxuICAgICAgdGhpcy5pY29uLnNldCgnZnRvLWxvYWRlcicpO1xyXG4gICAgICB0aGlzLmljb25TcGluLnNldCh0cnVlKTtcclxuICAgIH1cclxuICAgIFhTZXREYXRhPFhMaXN0Tm9kZT4odGhpcy5kYXRhKCksIHRoaXMudW5TdWJqZWN0LCB0cnVlLCB0aGlzLmxvYWRNb3JlSW5kZXgoKSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxvYWRNb3JlKCkpIHtcclxuICAgICAgICB0aGlzLm5vZGVzLnVwZGF0ZSgoeSkgPT4gWy4uLnksIC4uLnhdKTtcclxuICAgICAgICB0aGlzLmljb24uc2V0KCcnKTtcclxuICAgICAgICB0aGlzLmljb25TcGluLnNldChmYWxzZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ub2Rlcy5zZXQoeCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgICB0aGlzLnNldEtleU1hbmFnZXIoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0S2V5TWFuYWdlcigpIHtcclxuICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxYTGlzdE9wdGlvbkNvbXBvbmVudD4odGhpcy5vcHRpb25zKS53aXRoV3JhcCgpO1xyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLnRhYk91dC5waXBlKHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXIpO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJUYWJPdXQuZW1pdCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmtleU1hbmFnZXIuY2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMudW5TdWJqZWN0KSkuc3Vic2NyaWJlKChudW06IG51bWJlcikgPT4ge1xyXG4gICAgICB0aGlzLnNldFNjb3JsbFRvcChudW0pO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTY29ybGxUb3AoX251bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgbGlzdCA9IHRoaXMuc2Nyb2xsRWxlbWVudCgpO1xyXG4gICAgaWYgKCFsaXN0IHx8ICF0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSkgcmV0dXJuO1xyXG4gICAgbGV0IGVsZSA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGxldCBtaW4gPSBsaXN0LnNjcm9sbFRvcDtcclxuICAgIGxldCBtYXggPSBsaXN0LnNjcm9sbFRvcCArIGxpc3QuY2xpZW50SGVpZ2h0O1xyXG4gICAgaWYgKGVsZS5vZmZzZXRUb3AgKyBlbGUuY2xpZW50SGVpZ2h0ID4gbWF4KSB7XHJcbiAgICAgIGxldCBzY3JvbGxUb3AgPSBlbGUub2Zmc2V0VG9wICsgZWxlLmNsaWVudEhlaWdodCAtIGxpc3QuY2xpZW50SGVpZ2h0O1xyXG4gICAgICBsaXN0LnNjcm9sbFRvcCA9IHNjcm9sbFRvcDtcclxuICAgIH1cclxuICAgIGlmIChlbGUub2Zmc2V0VG9wIDwgbWluKSB7XHJcbiAgICAgIGxpc3Quc2Nyb2xsVG9wID0gZWxlLm9mZnNldFRvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLm5vZGVzKCk7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUoKTtcclxuICAgIGNvbnN0IG9iamVjdEFycmF5ID0gdGhpcy5vYmplY3RBcnJheSgpO1xyXG4gICAgaWYgKG5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbm9kZXNcclxuICAgICAgICAuZmlsdGVyKCh4KSA9PiB4LnNlbGVjdGVkKVxyXG4gICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgIHguc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgbGV0IHZhbEFycnk6IGFueVtdID0gW107XHJcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgdmFsQXJyeSA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh2YWxBcnJ5Lmxlbmd0aCA9PT0gbm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsLnNldCh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFsQXJyeSA9IFt2YWx1ZV07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBpZHMgPSBbXTtcclxuICAgICAgbGV0IHNlbGVjdGVkTm9kZXMgPSBbXTtcclxuICAgICAgaWYgKG9iamVjdEFycmF5KSB7XHJcbiAgICAgICAgaWRzID0gdmFsQXJyeS5maWx0ZXIoKHgpID0+ICFYSXNVbmRlZmluZWQoeCkgJiYgIVhJc051bGwoeCkpLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWRzID0gdmFsQXJyeTtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGxldCBpZCBvZiBpZHMpIHtcclxuICAgICAgICBsZXQgbm9kZSA9IG5vZGVzLmZpbmQoKHgpID0+IHguaWQgPT09IGlkKTtcclxuICAgICAgICBpZiAobm9kZSkge1xyXG4gICAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICBzZWxlY3RlZE5vZGVzLnB1c2gobm9kZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5zZXQoc2VsZWN0ZWROb2Rlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRLZXlNYW5hZ2VyKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmtleU1hbmFnZXIpIHx8IFhJc0VtcHR5KHRoaXMubm9kZXMoKSkpIHJldHVybjtcclxuICAgIGxldCBhY3RpdmVJbmRleCA9IDA7XHJcbiAgICBsZXQgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XHJcbiAgICBsZXQgb2JqZWN0QXJyYXkgPSB0aGlzLm9iamVjdEFycmF5KCk7XHJcbiAgICBpZiAoWElzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGFjdGl2ZUluZGV4KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IHZhbEFycnk6IGFueVtdID0gW107XHJcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICB2YWxBcnJ5ID0gdmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWxBcnJ5ID0gW3ZhbHVlXTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0ID0gdmFsQXJyeVswXTtcclxuICAgIGlmIChvYmplY3RBcnJheSkge1xyXG4gICAgICBhY3RpdmVJbmRleCA9IHRoaXMubm9kZXMoKS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGZpcnN0LmlkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2RlcygpLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xyXG4gICAgdGhpcy5zZXRTY29ybGxUb3AoYWN0aXZlSW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgb25Ob2RlQ2xpY2soZXZlbnQ6IEV2ZW50LCBub2RlOiBYTGlzdE5vZGUpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQobm9kZSkgfHwgbm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGlmIChub2RlLnNlbGVjdGVkICYmIHRoaXMubXVsdGlwbGUoKSA9PT0gMSkge1xyXG4gICAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICAgIHRoaXMubm9kZUNsaWNrLmVtaXQobm9kZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHNlbGVjdGVkID0gIW5vZGUuc2VsZWN0ZWQ7XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROb2RlcygpLmxlbmd0aCA8IHRoaXMubXVsdGlwbGUoKSB8fCB0aGlzLm11bHRpcGxlKCkgPT09IDAgfHwgaXNOYU4odGhpcy5tdWx0aXBsZSgpKSkge1xyXG4gICAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMudXBkYXRlKCh4KSA9PiBbLi4ueCwgbm9kZV0pO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZXMoKS5sZW5ndGggPT09IHRoaXMubm9kZXMoKS5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGwuc2V0KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlKCkgPT09IDEgJiYgdGhpcy5zZWxlY3RlZE5vZGVzKCkubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgIHhbMF0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHhbMF0gPSBub2RlO1xyXG4gICAgICAgICAgcmV0dXJuIFsuLi54XTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgIHguc3BsaWNlKFxyXG4gICAgICAgICAgeC5maW5kSW5kZXgoKHgpID0+IHguaWQgPT0gbm9kZS5pZCksXHJcbiAgICAgICAgICAxXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gWy4uLnhdO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5pc1NlbGVjdEFsbC5zZXQoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm11bHRpcGxlKCkgPT09IDEgJiYgdGhpcy5zZWxlY3RlZE5vZGVzKCkubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMudmFsdWUuc2V0KHRoaXMub2JqZWN0QXJyYXkoKSA/IHRoaXMuc2VsZWN0ZWROb2RlcygpWzBdIDogdGhpcy5zZWxlY3RlZE5vZGVzKClbMF0uaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZS5zZXQodGhpcy5vYmplY3RBcnJheSgpID8gdGhpcy5zZWxlY3RlZE5vZGVzKCkgOiB0aGlzLnNlbGVjdGVkTm9kZXMoKS5tYXAoKHgpID0+IHguaWQpKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XHJcbiAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICB0aGlzLm5vZGVDbGljay5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZWVudGVyKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlTW91c2VlbnRlci5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZWxlYXZlKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlTW91c2VsZWF2ZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcENkayhldmVudDogQ2RrRHJhZ0Ryb3A8WExpc3ROb2RlW10+KSB7XHJcbiAgICB0aGlzLm5vZGVzLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkoeCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgcmV0dXJuIFsuLi54XTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kcm9wTGlzdERyb3BwZWQuZW1pdCh7XHJcbiAgICAgIGRhdGE6IHRoaXMubm9kZXMoKSxcclxuICAgICAgY3VycmVudDogdGhpcy5ub2RlcygpW2V2ZW50LmN1cnJlbnRJbmRleF0sXHJcbiAgICAgIGN1cnJlbnRJbmRleDogZXZlbnQuY3VycmVudEluZGV4LFxyXG4gICAgICBldmVudDogZXZlbnRcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJlZGljYXRlKF9kcmFnOiBDZGtEcmFnPFhMaXN0Tm9kZT4sIF9kcm9wOiBDZGtEcm9wTGlzdDxYTGlzdE5vZGU+KSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWxsTm9kZXMoKSB7XHJcbiAgICB0aGlzLmlzU2VsZWN0QWxsLnVwZGF0ZSgoeCkgPT4gIXgpO1xyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RBbGwoKSkge1xyXG4gICAgICB0aGlzLm5vZGVzLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgIHguZm9yRWFjaCgoeSkgPT4gKHkuc2VsZWN0ZWQgPSB0cnVlKSk7XHJcbiAgICAgICAgcmV0dXJuIFsuLi54XTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5zZXQodGhpcy5ub2RlcygpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm9kZXMudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgeC5mb3JFYWNoKCh5KSA9PiAoeS5zZWxlY3RlZCA9IGZhbHNlKSk7XHJcbiAgICAgICAgcmV0dXJuIFsuLi54XTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5zZXQoW10pO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZS5zZXQodGhpcy5vYmplY3RBcnJheSgpID8gdGhpcy5zZWxlY3RlZE5vZGVzKCkgOiB0aGlzLnNlbGVjdGVkTm9kZXMoKS5tYXAoKHgpID0+IHguaWQpKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XHJcbiAgICB0aGlzLm9uU2VsZWN0QWxsLmVtaXQodGhpcy5pc1NlbGVjdEFsbCgpKTtcclxuICB9XHJcblxyXG4gIG9uTG9hZE1vcmUoKSB7XHJcbiAgICB0aGlzLmxvYWRNb3JlSW5kZXgudXBkYXRlKCh4KSA9PiB4ICsgMSk7XHJcbiAgICB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlOb2RlKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYTGlzdE5vZGUpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgc2V0VW5BY3RpdmUobnVtOiBudW1iZXIpIHtcclxuICAgIGlmIChudW0gPiAtMSkgdGhpcy5ub2RlcygpW251bV0uYWN0aXZlID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWxpc3RcIiBbY2xhc3MueC1saXN0LXBvcnRhbF09XCJpblBvcnRhbCgpXCIgW25nQ2xhc3NdPVwiY2xhc3NNYXAoKVwiPlxyXG4gIEBpZiAoaGVhZGVyKCkpIHtcclxuICAgIDxkaXYgI2hlYWRlclJlZiBjbGFzcz1cIngtbGlzdC1oZWFkZXJcIiAqeE91dGxldD1cImhlYWRlcigpXCI+e3sgaGVhZGVyKCkgfX08L2Rpdj5cclxuICB9XHJcbiAgQGlmIChzZWxlY3RBbGwoKSAmJiBtdWx0aXBsZSgpID09PSAwKSB7XHJcbiAgICA8ZGl2ICNzZWxlY3RBbGxSZWYgY2xhc3M9XCJ4LWxpc3Qtc2VsZWN0LWFsbFwiPlxyXG4gICAgICA8eC1saXN0LW9wdGlvblxyXG4gICAgICAgIFtzaXplXT1cInNpemUoKVwiXHJcbiAgICAgICAgW2xhYmVsXT1cImdldFNlbGVjdEFsbFRleHQoKVwiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0QWxsKClcIlxyXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdEFsbE5vZGVzKClcIlxyXG4gICAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAodmlydHVhbFNjcm9sbCgpKSB7XHJcbiAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XHJcbiAgICAgICN2aXJ0dWFsQm9keVxyXG4gICAgICBbaXRlbVNpemVdPVwiaXRlbVNpemUoKVwiXHJcbiAgICAgIFttaW5CdWZmZXJQeF09XCJtaW5CdWZmZXJQeFNpZ25hbCgpXCJcclxuICAgICAgW21heEJ1ZmZlclB4XT1cIm1heEJ1ZmZlclB4U2lnbmFsKClcIlxyXG4gICAgICBjbGFzcz1cIngtbGlzdC1jb250ZW50XCJcclxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0KClcIlxyXG4gICAgICBbaGlkZGVuXT1cImlzRW1wdHkoKVwiXHJcbiAgICA+XHJcbiAgICAgIDx4LWxpc3Qtb3B0aW9uXHJcbiAgICAgICAgKmNka1ZpcnR1YWxGb3I9XCJsZXQgbm9kZSBvZiBub2RlcygpOyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiXHJcbiAgICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZCgpXCJcclxuICAgICAgICBbbm9kZVRwbF09XCJub2RlVHBsKClcIlxyXG4gICAgICAgIFtzZWxlY3RlZF09XCJub2RlLnNlbGVjdGVkIVwiXHJcbiAgICAgICAgW2ZvcmJpZGRlbl09XCJub2RlLmRpc2FibGVkIVwiXHJcbiAgICAgICAgW2FjdGl2ZV09XCJub2RlLmFjdGl2ZSFcIlxyXG4gICAgICAgIChhY3RpdmVDaGFuZ2UpPVwibm9kZS5hY3RpdmUgPSAkZXZlbnRcIlxyXG4gICAgICAgIFtvcGVuUG9ydGFsXT1cIm5vZGUub3BlblBvcnRhbCFcIlxyXG4gICAgICAgIFtpY29uXT1cIm5vZGUuaWNvblwiXHJcbiAgICAgICAgW2xhYmVsXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICAgIFtsZWFmXT1cIm5vZGUubGVhZiFcIlxyXG4gICAgICAgIFtzaXplXT1cInNpemUoKVwiXHJcbiAgICAgICAgW2tleXdvcmRUZXh0XT1cImtleXdvcmRUZXh0KClcIlxyXG4gICAgICAgIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmUoKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uTm9kZUNsaWNrKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VlbnRlcigkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlbGVhdmUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgID48L3gtbGlzdC1vcHRpb24+XHJcbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuICB9IEBlbHNlIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJ4LWxpc3QtY29udGVudFwiXHJcbiAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcENkaygkZXZlbnQpXCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWcoKVwiXHJcbiAgICAgIFtoaWRkZW5dPVwiaXNFbXB0eSgpXCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJub2RlcygpXCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwicHJlZGljYXRlXCJcclxuICAgID5cclxuICAgICAgQGZvciAobm9kZSBvZiBub2RlcygpOyB0cmFjayBub2RlLmlkKSB7XHJcbiAgICAgICAgPHgtbGlzdC1vcHRpb25cclxuICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWQoKVwiXHJcbiAgICAgICAgICBbbm9kZVRwbF09XCJub2RlVHBsKClcIlxyXG4gICAgICAgICAgW3NlbGVjdGVkXT1cIm5vZGUuc2VsZWN0ZWQhXCJcclxuICAgICAgICAgIFtmb3JiaWRkZW5dPVwibm9kZS5kaXNhYmxlZCFcIlxyXG4gICAgICAgICAgW2FjdGl2ZV09XCJub2RlLmFjdGl2ZSFcIlxyXG4gICAgICAgICAgKGFjdGl2ZUNoYW5nZSk9XCJub2RlLmFjdGl2ZSA9ICRldmVudFwiXHJcbiAgICAgICAgICBbb3BlblBvcnRhbF09XCJub2RlLm9wZW5Qb3J0YWwhXCJcclxuICAgICAgICAgIFtpY29uXT1cIm5vZGUuaWNvblwiXHJcbiAgICAgICAgICBbbGFiZWxdPVwibm9kZS5sYWJlbFwiXHJcbiAgICAgICAgICBbbGVhZl09XCJub2RlLmxlYWYhXCJcclxuICAgICAgICAgIFtzaXplXT1cInNpemUoKVwiXHJcbiAgICAgICAgICBba2V5d29yZFRleHRdPVwia2V5d29yZFRleHQoKVwiXHJcbiAgICAgICAgICBbY2FzZVNlbnNpdGl2ZV09XCJjYXNlU2Vuc2l0aXZlKClcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uTm9kZUNsaWNrKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZWVudGVyKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZWxlYXZlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAgID48L3gtbGlzdC1vcHRpb24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKGxvYWRNb3JlKCkgJiYgIWlzRW1wdHkoKSkge1xyXG4gICAgPGRpdiAjbG9hZE1vcmVSZWYgY2xhc3M9XCJ4LWxpc3QtbG9hZC1tb3JlXCI+XHJcbiAgICAgIDx4LWxpc3Qtb3B0aW9uIFtzaXplXT1cInNpemUoKVwiIFtub2RlVHBsXT1cImxvYWRNb3JlVHBsXCIgKGNsaWNrKT1cIm9uTG9hZE1vcmUoKVwiPjwveC1saXN0LW9wdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNsb2FkTW9yZVRwbD5cclxuICAgICAgQGlmIChpY29uKCkgJiYgaWNvblNwaW4oKSkge1xyXG4gICAgICAgIDx4LWljb24gW3R5cGVdPVwiaWNvbigpXCIgW3NwaW5dPVwiaWNvblNwaW4oKVwiPjwveC1pY29uPlxyXG4gICAgICB9XHJcbiAgICAgIHt7IGljb24oKSAmJiBpY29uU3BpbigpID8gZ2V0TG9hZGluZ01vcmVUZXh0KCkgOiBnZXRMb2FkTW9yZVRleHQoKSB9fTwvbmctdGVtcGxhdGVcclxuICAgID5cclxuICB9XHJcbiAgQGlmIChpc0VtcHR5KCkpIHtcclxuICAgIDx4LWVtcHR5PjwveC1lbXB0eT5cclxuICB9XHJcbiAgQGlmIChmb290ZXIoKSkge1xyXG4gICAgPGRpdiAjZm9vdGVyUmVmIGNsYXNzPVwieC1saXN0LWZvb3RlclwiICp4T3V0bGV0PVwiZm9vdGVyKClcIj57eyBmb290ZXIoKSB9fTwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { XListComponent } from './list.component';
3
- import { XListOptionComponent } from './list-option.component';
4
- import { XListDropGroup } from './list-drop-group.directive';
5
- import * as i0 from "@angular/core";
6
- export class XListModule {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XListModule, imports: [XListComponent, XListDropGroup, XListOptionComponent], exports: [XListComponent, XListDropGroup, XListOptionComponent] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XListModule, imports: [XListComponent, XListOptionComponent] }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XListModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- exports: [XListComponent, XListDropGroup, XListOptionComponent],
15
- imports: [XListComponent, XListDropGroup, XListOptionComponent]
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLFdBQVc7aUlBQVgsV0FBVztrSUFBWCxXQUFXLFlBRlosY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsYUFEcEQsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0I7a0lBR25ELFdBQVcsWUFGWixjQUFjLEVBQWtCLG9CQUFvQjs7MkZBRW5ELFdBQVc7a0JBSnZCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQztvQkFDL0QsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQztpQkFDaEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYTGlzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgWExpc3REcm9wR3JvdXAgfSBmcm9tICcuL2xpc3QtZHJvcC1ncm91cC5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbWExpc3RDb21wb25lbnQsIFhMaXN0RHJvcEdyb3VwLCBYTGlzdE9wdGlvbkNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1hMaXN0Q29tcG9uZW50LCBYTGlzdERyb3BHcm91cCwgWExpc3RPcHRpb25Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdE1vZHVsZSB7fVxyXG4iXX0=