@ng-nest/ui 18.0.13 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (897) 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.component.d.ts +3 -1
  5. package/anchor/anchor.property.d.ts +2 -2
  6. package/api/api.component.d.ts +1 -1
  7. package/auto-complete/auto-complete.component.d.ts +1 -3
  8. package/auto-complete/auto-complete.property.d.ts +17 -20
  9. package/avatar/avatar.property.d.ts +2 -2
  10. package/back-top/back-top.property.d.ts +1 -1
  11. package/badge/badge.property.d.ts +1 -1
  12. package/base-form/base-form.component.d.ts +1 -1
  13. package/base-form/base-form.property.d.ts +1 -105
  14. package/button/button.property.d.ts +2 -2
  15. package/calendar/calendar.property.d.ts +1 -1
  16. package/card/card.property.d.ts +1 -1
  17. package/carousel/carousel-panel.component.d.ts +1 -1
  18. package/carousel/carousel.property.d.ts +2 -2
  19. package/cascade/cascade.component.d.ts +1 -2
  20. package/cascade/cascade.property.d.ts +17 -28
  21. package/checkbox/checkbox.property.d.ts +22 -23
  22. package/collapse/collapse.component.d.ts +1 -3
  23. package/collapse/collapse.property.d.ts +2 -16
  24. package/color/color.property.d.ts +1 -1
  25. package/color-picker/color-picker-portal.component.d.ts +10 -10
  26. package/color-picker/color-picker.component.d.ts +0 -1
  27. package/color-picker/color-picker.property.d.ts +16 -16
  28. package/comment/comment.property.d.ts +2 -2
  29. package/container/container.property.d.ts +4 -4
  30. package/crumb/crumb.property.d.ts +1 -1
  31. package/date-picker/date-picker-portal.component.d.ts +1 -1
  32. package/date-picker/date-picker.component.d.ts +0 -1
  33. package/date-picker/date-picker.property.d.ts +36 -36
  34. package/date-picker/date-range-portal.component.d.ts +5 -5
  35. package/description/description.property.d.ts +2 -2
  36. package/dialog/dialog-portal.component.d.ts +5 -5
  37. package/dialog/dialog-portal.directives.d.ts +2 -3
  38. package/dialog/dialog-ref.d.ts +4 -2
  39. package/dialog/dialog.component.d.ts +0 -5
  40. package/dialog/dialog.property.d.ts +14 -10
  41. package/drag/drag.property.d.ts +1 -1
  42. package/drawer/drawer.property.d.ts +2 -2
  43. package/dropdown/dropdown.component.d.ts +0 -1
  44. package/dropdown/dropdown.property.d.ts +1 -1
  45. package/empty/empty.property.d.ts +1 -1
  46. package/fesm2022/ng-nest-ui-affix.mjs +14 -12
  47. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-alert.mjs +14 -12
  49. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-anchor.mjs +33 -26
  51. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-api.mjs +11 -11
  53. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-auto-complete.mjs +29 -38
  55. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
  57. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-back-top.mjs +14 -13
  59. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  61. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-base-form.mjs +30 -127
  63. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-button.mjs +18 -18
  65. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-calendar.mjs +15 -21
  67. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-card.mjs +11 -12
  69. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  70. package/fesm2022/ng-nest-ui-carousel.mjs +23 -30
  71. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-cascade.mjs +17 -23
  73. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-checkbox.mjs +12 -12
  75. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-collapse.mjs +22 -44
  77. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-color-picker.mjs +15 -18
  79. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  81. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-comment.mjs +18 -18
  83. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-container.mjs +36 -36
  85. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  87. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  89. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-date-picker.mjs +57 -60
  91. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-description.mjs +18 -18
  93. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-dialog.mjs +79 -147
  95. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  97. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-drag.mjs +11 -11
  99. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-drawer.mjs +38 -41
  101. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  102. package/fesm2022/ng-nest-ui-dropdown.mjs +15 -19
  103. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  105. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  107. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  109. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-form.mjs +21 -40
  111. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  113. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-i18n.mjs +15 -17
  115. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  117. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-image.mjs +24 -24
  119. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  121. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  123. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-input.mjs +19 -19
  125. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-keyword.mjs +12 -13
  127. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-layout.mjs +18 -18
  129. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  131. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-list.mjs +22 -23
  133. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-loading.mjs +12 -12
  135. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-menu.mjs +19 -20
  137. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-message-box.mjs +11 -13
  139. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-message.mjs +11 -11
  141. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-notification.mjs +11 -11
  143. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
  145. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  147. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  149. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  151. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  153. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-popover.mjs +15 -15
  155. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  157. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  159. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  161. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-rate.mjs +11 -12
  163. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-resizable.mjs +12 -12
  165. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  167. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  168. package/fesm2022/ng-nest-ui-ripple.mjs +11 -12
  169. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-select.mjs +19 -21
  171. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-skeleton.mjs +11 -11
  173. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -22
  175. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  177. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-statistic.mjs +18 -18
  179. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  181. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  183. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-table.mjs +43 -36
  185. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui-tabs.mjs +30 -32
  187. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  188. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  189. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  190. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  191. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  192. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  193. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  194. package/fesm2022/ng-nest-ui-theme.mjs +13 -14
  195. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  196. package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
  197. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  198. package/fesm2022/ng-nest-ui-time-picker.mjs +19 -22
  199. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  200. package/fesm2022/ng-nest-ui-time-range.mjs +8 -8
  201. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  202. package/fesm2022/ng-nest-ui-timeline.mjs +11 -21
  203. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  204. package/fesm2022/ng-nest-ui-tooltip.mjs +44 -33
  205. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  206. package/fesm2022/ng-nest-ui-transfer.mjs +19 -15
  207. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  208. package/fesm2022/ng-nest-ui-tree-file.mjs +12 -20
  209. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  210. package/fesm2022/ng-nest-ui-tree-select.mjs +104 -64
  211. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  212. package/fesm2022/ng-nest-ui-tree.mjs +27 -22
  213. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  214. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  215. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  216. package/fesm2022/ng-nest-ui-upload.mjs +17 -20
  217. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  218. package/find/find.property.d.ts +13 -19
  219. package/form/form.property.d.ts +11 -22
  220. package/highlight/highlight.property.d.ts +1 -1
  221. package/icon/icon.property.d.ts +1 -1
  222. package/image/image.property.d.ts +2 -2
  223. package/inner/inner.property.d.ts +1 -1
  224. package/input/input.property.d.ts +18 -21
  225. package/input-number/input-number.property.d.ts +14 -14
  226. package/layout/layout.property.d.ts +2 -2
  227. package/link/link.property.d.ts +1 -1
  228. package/list/list.property.d.ts +13 -13
  229. package/loading/loading.property.d.ts +1 -1
  230. package/menu/menu.property.d.ts +2 -2
  231. package/package.json +42 -216
  232. package/page-header/page-header.property.d.ts +1 -1
  233. package/pagination/pagination.property.d.ts +1 -1
  234. package/popconfirm/popconfirm.property.d.ts +1 -1
  235. package/popover/popover.property.d.ts +1 -1
  236. package/progress/progress.property.d.ts +1 -1
  237. package/radio/radio.property.d.ts +14 -17
  238. package/rate/rate.property.d.ts +15 -23
  239. package/result/result.property.d.ts +1 -1
  240. package/ripple/ripple.property.d.ts +1 -1
  241. package/select/select-portal.component.d.ts +1 -1
  242. package/select/select.component.d.ts +0 -1
  243. package/select/select.property.d.ts +16 -16
  244. package/skeleton/skeleton.property.d.ts +1 -1
  245. package/slider/slider.property.d.ts +1 -1
  246. package/slider-select/slider-select.property.d.ts +14 -18
  247. package/statistic/statistic.property.d.ts +2 -2
  248. package/steps/steps.property.d.ts +1 -1
  249. package/style/core/index.css +87 -174
  250. package/style/core/index.css.map +1 -1
  251. package/style/core/index.scss +32 -5
  252. package/style/directives/index.scss +3 -3
  253. package/style/directives/keyword/index.scss +3 -2
  254. package/style/directives/keyword/mixin.scss +9 -11
  255. package/style/directives/keyword/param.scss +2 -1
  256. package/style/directives/resizable/index.scss +3 -2
  257. package/style/directives/resizable/mixin.scss +122 -16
  258. package/style/directives/resizable/param.scss +2 -1
  259. package/style/directives/ripple/index.scss +3 -2
  260. package/style/directives/ripple/mixin.scss +12 -12
  261. package/style/directives/ripple/param.scss +2 -1
  262. package/style/mixins/compatibility.scss +7 -5
  263. package/style/mixins/form.scss +6 -4
  264. package/style/mixins/hidden.scss +5 -2
  265. package/style/params/index.scss +282 -3
  266. package/switch/switch.property.d.ts +15 -15
  267. package/table/table.component.d.ts +2 -2
  268. package/table/table.property.d.ts +5 -4
  269. package/tabs/tabs.property.d.ts +2 -2
  270. package/tag/tag.property.d.ts +1 -1
  271. package/text-retract/text-retract.property.d.ts +1 -1
  272. package/textarea/textarea.property.d.ts +15 -18
  273. package/theme/theme.property.d.ts +7 -11
  274. package/time-picker/time-picker.component.d.ts +0 -1
  275. package/time-picker/time-picker.property.d.ts +18 -24
  276. package/timeline/timeline.property.d.ts +1 -11
  277. package/tooltip/tooltip.directive.d.ts +5 -3
  278. package/tooltip/tooltip.property.d.ts +1 -1
  279. package/transfer/transfer.property.d.ts +10 -14
  280. package/tree/tree.property.d.ts +7 -2
  281. package/tree-file/tree-file.property.d.ts +1 -1
  282. package/tree-select/tree-select-portal.component.d.ts +2 -5
  283. package/tree-select/tree-select.component.d.ts +13 -6
  284. package/tree-select/tree-select.property.d.ts +16 -26
  285. package/typography/typography.property.d.ts +1 -1
  286. package/upload/upload.component.d.ts +0 -1
  287. package/upload/upload.property.d.ts +10 -10
  288. package/esm2022/affix/affix.component.mjs +0 -12
  289. package/esm2022/affix/affix.module.mjs +0 -16
  290. package/esm2022/affix/affix.property.mjs +0 -51
  291. package/esm2022/affix/ng-nest-ui-affix.mjs +0 -5
  292. package/esm2022/affix/public-api.mjs +0 -4
  293. package/esm2022/alert/alert.component.mjs +0 -73
  294. package/esm2022/alert/alert.module.mjs +0 -16
  295. package/esm2022/alert/alert.property.mjs +0 -313
  296. package/esm2022/alert/ng-nest-ui-alert.mjs +0 -5
  297. package/esm2022/alert/public-api.mjs +0 -4
  298. package/esm2022/anchor/anchor-inner.component.mjs +0 -18
  299. package/esm2022/anchor/anchor.component.mjs +0 -160
  300. package/esm2022/anchor/anchor.module.mjs +0 -17
  301. package/esm2022/anchor/anchor.property.mjs +0 -121
  302. package/esm2022/anchor/ng-nest-ui-anchor.mjs +0 -5
  303. package/esm2022/anchor/public-api.mjs +0 -5
  304. package/esm2022/api/api.component.mjs +0 -18
  305. package/esm2022/api/api.module.mjs +0 -16
  306. package/esm2022/api/api.property.mjs +0 -7
  307. package/esm2022/api/ng-nest-ui-api.mjs +0 -5
  308. package/esm2022/api/public-api.mjs +0 -4
  309. package/esm2022/auto-complete/auto-complete-portal.component.mjs +0 -80
  310. package/esm2022/auto-complete/auto-complete.component.mjs +0 -306
  311. package/esm2022/auto-complete/auto-complete.module.mjs +0 -16
  312. package/esm2022/auto-complete/auto-complete.property.mjs +0 -172
  313. package/esm2022/auto-complete/ng-nest-ui-auto-complete.mjs +0 -5
  314. package/esm2022/auto-complete/public-api.mjs +0 -5
  315. package/esm2022/avatar/avatar-group.component.mjs +0 -19
  316. package/esm2022/avatar/avatar.component.mjs +0 -109
  317. package/esm2022/avatar/avatar.module.mjs +0 -17
  318. package/esm2022/avatar/avatar.property.mjs +0 -143
  319. package/esm2022/avatar/ng-nest-ui-avatar.mjs +0 -5
  320. package/esm2022/avatar/public-api.mjs +0 -5
  321. package/esm2022/back-top/back-top.component.mjs +0 -104
  322. package/esm2022/back-top/back-top.module.mjs +0 -16
  323. package/esm2022/back-top/back-top.property.mjs +0 -50
  324. package/esm2022/back-top/ng-nest-ui-back-top.mjs +0 -5
  325. package/esm2022/back-top/public-api.mjs +0 -4
  326. package/esm2022/badge/badge.component.mjs +0 -63
  327. package/esm2022/badge/badge.module.mjs +0 -16
  328. package/esm2022/badge/badge.property.mjs +0 -133
  329. package/esm2022/badge/ng-nest-ui-badge.mjs +0 -5
  330. package/esm2022/badge/public-api.mjs +0 -4
  331. package/esm2022/base-form/base-form.component.mjs +0 -101
  332. package/esm2022/base-form/base-form.module.mjs +0 -15
  333. package/esm2022/base-form/base-form.property.mjs +0 -237
  334. package/esm2022/base-form/ng-nest-ui-base-form.mjs +0 -5
  335. package/esm2022/base-form/public-api.mjs +0 -4
  336. package/esm2022/button/button.component.mjs +0 -71
  337. package/esm2022/button/button.module.mjs +0 -17
  338. package/esm2022/button/button.property.mjs +0 -331
  339. package/esm2022/button/buttons.component.mjs +0 -55
  340. package/esm2022/button/ng-nest-ui-button.mjs +0 -5
  341. package/esm2022/button/public-api.mjs +0 -5
  342. package/esm2022/calendar/calendar.component.mjs +0 -117
  343. package/esm2022/calendar/calendar.module.mjs +0 -16
  344. package/esm2022/calendar/calendar.property.mjs +0 -110
  345. package/esm2022/calendar/ng-nest-ui-calendar.mjs +0 -5
  346. package/esm2022/calendar/public-api.mjs +0 -4
  347. package/esm2022/card/card.component.mjs +0 -22
  348. package/esm2022/card/card.module.mjs +0 -16
  349. package/esm2022/card/card.property.mjs +0 -77
  350. package/esm2022/card/ng-nest-ui-card.mjs +0 -5
  351. package/esm2022/card/public-api.mjs +0 -4
  352. package/esm2022/carousel/carousel-panel.component.mjs +0 -157
  353. package/esm2022/carousel/carousel.component.mjs +0 -95
  354. package/esm2022/carousel/carousel.module.mjs +0 -17
  355. package/esm2022/carousel/carousel.property.mjs +0 -256
  356. package/esm2022/carousel/ng-nest-ui-carousel.mjs +0 -5
  357. package/esm2022/carousel/public-api.mjs +0 -5
  358. package/esm2022/cascade/cascade-portal.component.mjs +0 -141
  359. package/esm2022/cascade/cascade.component.mjs +0 -238
  360. package/esm2022/cascade/cascade.module.mjs +0 -16
  361. package/esm2022/cascade/cascade.property.mjs +0 -167
  362. package/esm2022/cascade/ng-nest-ui-cascade.mjs +0 -5
  363. package/esm2022/cascade/public-api.mjs +0 -5
  364. package/esm2022/checkbox/checkbox.component.mjs +0 -102
  365. package/esm2022/checkbox/checkbox.module.mjs +0 -16
  366. package/esm2022/checkbox/checkbox.property.mjs +0 -136
  367. package/esm2022/checkbox/ng-nest-ui-checkbox.mjs +0 -5
  368. package/esm2022/checkbox/public-api.mjs +0 -4
  369. package/esm2022/collapse/collapse-panel.component.mjs +0 -55
  370. package/esm2022/collapse/collapse.component.mjs +0 -49
  371. package/esm2022/collapse/collapse.module.mjs +0 -17
  372. package/esm2022/collapse/collapse.property.mjs +0 -189
  373. package/esm2022/collapse/ng-nest-ui-collapse.mjs +0 -5
  374. package/esm2022/collapse/public-api.mjs +0 -5
  375. package/esm2022/color/color.component.mjs +0 -35
  376. package/esm2022/color/color.module.mjs +0 -16
  377. package/esm2022/color/color.property.mjs +0 -71
  378. package/esm2022/color/ng-nest-ui-color.mjs +0 -5
  379. package/esm2022/color/public-api.mjs +0 -4
  380. package/esm2022/color-picker/color-picker-portal.component.mjs +0 -396
  381. package/esm2022/color-picker/color-picker.component.mjs +0 -191
  382. package/esm2022/color-picker/color-picker.module.mjs +0 -16
  383. package/esm2022/color-picker/color-picker.property.mjs +0 -142
  384. package/esm2022/color-picker/ng-nest-ui-color-picker.mjs +0 -5
  385. package/esm2022/color-picker/public-api.mjs +0 -5
  386. package/esm2022/comment/comment-reply.component.mjs +0 -24
  387. package/esm2022/comment/comment.component.mjs +0 -55
  388. package/esm2022/comment/comment.module.mjs +0 -17
  389. package/esm2022/comment/comment.property.mjs +0 -90
  390. package/esm2022/comment/ng-nest-ui-comment.mjs +0 -5
  391. package/esm2022/comment/public-api.mjs +0 -5
  392. package/esm2022/container/aside.component.mjs +0 -25
  393. package/esm2022/container/container.component.mjs +0 -31
  394. package/esm2022/container/container.module.mjs +0 -20
  395. package/esm2022/container/container.property.mjs +0 -115
  396. package/esm2022/container/footer.component.mjs +0 -35
  397. package/esm2022/container/header.component.mjs +0 -35
  398. package/esm2022/container/main.component.mjs +0 -18
  399. package/esm2022/container/ng-nest-ui-container.mjs +0 -5
  400. package/esm2022/container/public-api.mjs +0 -8
  401. package/esm2022/core/animation/badge.mjs +0 -53
  402. package/esm2022/core/animation/connect.mjs +0 -31
  403. package/esm2022/core/animation/consts.mjs +0 -11
  404. package/esm2022/core/animation/drop.mjs +0 -13
  405. package/esm2022/core/animation/fade.mjs +0 -24
  406. package/esm2022/core/animation/move.mjs +0 -179
  407. package/esm2022/core/animation/opacity.mjs +0 -13
  408. package/esm2022/core/animation/public-api.mjs +0 -9
  409. package/esm2022/core/animation/slide.mjs +0 -17
  410. package/esm2022/core/config/config.mjs +0 -3
  411. package/esm2022/core/config/config.service.mjs +0 -54
  412. package/esm2022/core/config/index.mjs +0 -2
  413. package/esm2022/core/config/public-api.mjs +0 -3
  414. package/esm2022/core/functions/chunk.mjs +0 -25
  415. package/esm2022/core/functions/clone-deep.mjs +0 -28
  416. package/esm2022/core/functions/convert.mjs +0 -230
  417. package/esm2022/core/functions/csspx.mjs +0 -17
  418. package/esm2022/core/functions/date.mjs +0 -223
  419. package/esm2022/core/functions/drop.mjs +0 -20
  420. package/esm2022/core/functions/flex.mjs +0 -25
  421. package/esm2022/core/functions/group-by.mjs +0 -14
  422. package/esm2022/core/functions/guid.mjs +0 -11
  423. package/esm2022/core/functions/has-in.mjs +0 -8
  424. package/esm2022/core/functions/order-by.mjs +0 -56
  425. package/esm2022/core/functions/parent-path.mjs +0 -27
  426. package/esm2022/core/functions/property.mjs +0 -20
  427. package/esm2022/core/functions/public-api.mjs +0 -16
  428. package/esm2022/core/functions/remove.mjs +0 -19
  429. package/esm2022/core/functions/resize.mjs +0 -22
  430. package/esm2022/core/interfaces/data.type.mjs +0 -164
  431. package/esm2022/core/interfaces/identify.type.mjs +0 -7
  432. package/esm2022/core/interfaces/index.mjs +0 -2
  433. package/esm2022/core/interfaces/layout.type.mjs +0 -2
  434. package/esm2022/core/interfaces/public-api.mjs +0 -5
  435. package/esm2022/core/interfaces/result-list.type.mjs +0 -2
  436. package/esm2022/core/ng-nest-ui-core.mjs +0 -5
  437. package/esm2022/core/public-api.mjs +0 -8
  438. package/esm2022/core/services/http.service.mjs +0 -58
  439. package/esm2022/core/services/preloading-strategy.service.mjs +0 -24
  440. package/esm2022/core/services/public-api.mjs +0 -6
  441. package/esm2022/core/services/repository.service.mjs +0 -29
  442. package/esm2022/core/services/reuse-strategy.service.mjs +0 -47
  443. package/esm2022/core/services/storage.service.mjs +0 -75
  444. package/esm2022/core/theme/index.mjs +0 -2
  445. package/esm2022/core/theme/public-api.mjs +0 -3
  446. package/esm2022/core/theme/theme.mjs +0 -89
  447. package/esm2022/core/theme/theme.service.mjs +0 -270
  448. package/esm2022/core/util/animation.mjs +0 -26
  449. package/esm2022/core/util/camel-to-kebab.mjs +0 -16
  450. package/esm2022/core/util/check.mjs +0 -15
  451. package/esm2022/core/util/computed-style.mjs +0 -20
  452. package/esm2022/core/util/host.mjs +0 -14
  453. package/esm2022/core/util/html.mjs +0 -12
  454. package/esm2022/core/util/index.mjs +0 -2
  455. package/esm2022/core/util/kebab-to-camel.mjs +0 -16
  456. package/esm2022/core/util/log.mjs +0 -15
  457. package/esm2022/core/util/option.mjs +0 -14
  458. package/esm2022/core/util/public-api.mjs +0 -11
  459. package/esm2022/core/util/sleep.mjs +0 -8
  460. package/esm2022/crumb/crumb.component.mjs +0 -25
  461. package/esm2022/crumb/crumb.module.mjs +0 -16
  462. package/esm2022/crumb/crumb.property.mjs +0 -45
  463. package/esm2022/crumb/ng-nest-ui-crumb.mjs +0 -5
  464. package/esm2022/crumb/public-api.mjs +0 -4
  465. package/esm2022/date-picker/date-picker-portal.component.mjs +0 -196
  466. package/esm2022/date-picker/date-picker.component.mjs +0 -320
  467. package/esm2022/date-picker/date-picker.module.mjs +0 -17
  468. package/esm2022/date-picker/date-picker.property.mjs +0 -770
  469. package/esm2022/date-picker/date-quarter.pipe.mjs +0 -19
  470. package/esm2022/date-picker/date-range-portal.component.mjs +0 -349
  471. package/esm2022/date-picker/date-range.component.mjs +0 -432
  472. package/esm2022/date-picker/ng-nest-ui-date-picker.mjs +0 -5
  473. package/esm2022/date-picker/picker-date.component.mjs +0 -334
  474. package/esm2022/date-picker/picker-month.component.mjs +0 -232
  475. package/esm2022/date-picker/picker-quarter.component.mjs +0 -237
  476. package/esm2022/date-picker/picker-year.component.mjs +0 -233
  477. package/esm2022/date-picker/public-api.mjs +0 -12
  478. package/esm2022/description/description-item.component.mjs +0 -24
  479. package/esm2022/description/description.component.mjs +0 -48
  480. package/esm2022/description/description.module.mjs +0 -17
  481. package/esm2022/description/description.property.mjs +0 -219
  482. package/esm2022/description/ng-nest-ui-description.mjs +0 -5
  483. package/esm2022/description/public-api.mjs +0 -5
  484. package/esm2022/dialog/dialog-container.component.mjs +0 -29
  485. package/esm2022/dialog/dialog-portal.component.mjs +0 -97
  486. package/esm2022/dialog/dialog-portal.directives.mjs +0 -119
  487. package/esm2022/dialog/dialog-ref.mjs +0 -100
  488. package/esm2022/dialog/dialog.component.mjs +0 -282
  489. package/esm2022/dialog/dialog.module.mjs +0 -50
  490. package/esm2022/dialog/dialog.property.mjs +0 -207
  491. package/esm2022/dialog/dialog.service.mjs +0 -122
  492. package/esm2022/dialog/ng-nest-ui-dialog.mjs +0 -5
  493. package/esm2022/dialog/public-api.mjs +0 -9
  494. package/esm2022/doc/doc.component.mjs +0 -18
  495. package/esm2022/doc/doc.module.mjs +0 -16
  496. package/esm2022/doc/doc.property.mjs +0 -7
  497. package/esm2022/doc/ng-nest-ui-doc.mjs +0 -5
  498. package/esm2022/doc/public-api.mjs +0 -4
  499. package/esm2022/drag/drag.directive.mjs +0 -57
  500. package/esm2022/drag/drag.module.mjs +0 -16
  501. package/esm2022/drag/drag.property.mjs +0 -25
  502. package/esm2022/drag/ng-nest-ui-drag.mjs +0 -5
  503. package/esm2022/drag/public-api.mjs +0 -4
  504. package/esm2022/drawer/drawer-container.component.mjs +0 -29
  505. package/esm2022/drawer/drawer-portal.component.mjs +0 -50
  506. package/esm2022/drawer/drawer-portal.directives.mjs +0 -58
  507. package/esm2022/drawer/drawer-ref.mjs +0 -17
  508. package/esm2022/drawer/drawer.component.mjs +0 -95
  509. package/esm2022/drawer/drawer.module.mjs +0 -38
  510. package/esm2022/drawer/drawer.property.mjs +0 -84
  511. package/esm2022/drawer/drawer.service.mjs +0 -65
  512. package/esm2022/drawer/ng-nest-ui-drawer.mjs +0 -5
  513. package/esm2022/drawer/public-api.mjs +0 -10
  514. package/esm2022/dropdown/dropdown-portal.component.mjs +0 -204
  515. package/esm2022/dropdown/dropdown.component.mjs +0 -179
  516. package/esm2022/dropdown/dropdown.module.mjs +0 -16
  517. package/esm2022/dropdown/dropdown.property.mjs +0 -96
  518. package/esm2022/dropdown/ng-nest-ui-dropdown.mjs +0 -5
  519. package/esm2022/dropdown/public-api.mjs +0 -5
  520. package/esm2022/empty/empty.component.mjs +0 -15
  521. package/esm2022/empty/empty.module.mjs +0 -16
  522. package/esm2022/empty/empty.property.mjs +0 -54
  523. package/esm2022/empty/ng-nest-ui-empty.mjs +0 -5
  524. package/esm2022/empty/public-api.mjs +0 -4
  525. package/esm2022/examples/examples.component.mjs +0 -18
  526. package/esm2022/examples/examples.module.mjs +0 -16
  527. package/esm2022/examples/examples.property.mjs +0 -7
  528. package/esm2022/examples/ng-nest-ui-examples.mjs +0 -5
  529. package/esm2022/examples/public-api.mjs +0 -4
  530. package/esm2022/find/find.component.mjs +0 -331
  531. package/esm2022/find/find.module.mjs +0 -16
  532. package/esm2022/find/find.property.mjs +0 -260
  533. package/esm2022/find/ng-nest-ui-find.mjs +0 -5
  534. package/esm2022/find/public-api.mjs +0 -4
  535. package/esm2022/form/control.component.mjs +0 -249
  536. package/esm2022/form/form.component.mjs +0 -116
  537. package/esm2022/form/form.module.mjs +0 -17
  538. package/esm2022/form/form.property.mjs +0 -202
  539. package/esm2022/form/ng-nest-ui-form.mjs +0 -5
  540. package/esm2022/form/public-api.mjs +0 -5
  541. package/esm2022/highlight/highlight.component.mjs +0 -85
  542. package/esm2022/highlight/highlight.module.mjs +0 -16
  543. package/esm2022/highlight/highlight.property.mjs +0 -45
  544. package/esm2022/highlight/highlight.service.mjs +0 -17
  545. package/esm2022/highlight/ng-nest-ui-highlight.mjs +0 -5
  546. package/esm2022/highlight/public-api.mjs +0 -5
  547. package/esm2022/i18n/i18n.directive.mjs +0 -29
  548. package/esm2022/i18n/i18n.module.mjs +0 -17
  549. package/esm2022/i18n/i18n.pipe.mjs +0 -28
  550. package/esm2022/i18n/i18n.property.mjs +0 -9
  551. package/esm2022/i18n/i18n.service.mjs +0 -57
  552. package/esm2022/i18n/languages/ar_EG.mjs +0 -169
  553. package/esm2022/i18n/languages/bg_BG.mjs +0 -172
  554. package/esm2022/i18n/languages/ca_ES.mjs +0 -172
  555. package/esm2022/i18n/languages/cs_CZ.mjs +0 -172
  556. package/esm2022/i18n/languages/da_DK.mjs +0 -172
  557. package/esm2022/i18n/languages/de_DE.mjs +0 -172
  558. package/esm2022/i18n/languages/el_GR.mjs +0 -172
  559. package/esm2022/i18n/languages/en_GB.mjs +0 -181
  560. package/esm2022/i18n/languages/en_US.mjs +0 -181
  561. package/esm2022/i18n/languages/es_ES.mjs +0 -172
  562. package/esm2022/i18n/languages/et_EE.mjs +0 -172
  563. package/esm2022/i18n/languages/fa_IR.mjs +0 -172
  564. package/esm2022/i18n/languages/fi_FI.mjs +0 -172
  565. package/esm2022/i18n/languages/fr_BE.mjs +0 -172
  566. package/esm2022/i18n/languages/fr_FR.mjs +0 -172
  567. package/esm2022/i18n/languages/he_IL.mjs +0 -169
  568. package/esm2022/i18n/languages/hi_IN.mjs +0 -172
  569. package/esm2022/i18n/languages/hr_HR.mjs +0 -172
  570. package/esm2022/i18n/languages/hu_HU.mjs +0 -172
  571. package/esm2022/i18n/languages/hy_AM.mjs +0 -172
  572. package/esm2022/i18n/languages/id_ID.mjs +0 -172
  573. package/esm2022/i18n/languages/is_IS.mjs +0 -172
  574. package/esm2022/i18n/languages/it_IT.mjs +0 -172
  575. package/esm2022/i18n/languages/ja_JP.mjs +0 -172
  576. package/esm2022/i18n/languages/ka_GE.mjs +0 -172
  577. package/esm2022/i18n/languages/kn_IN.mjs +0 -172
  578. package/esm2022/i18n/languages/ko_KR.mjs +0 -180
  579. package/esm2022/i18n/languages/ku_IQ.mjs +0 -156
  580. package/esm2022/i18n/languages/lv_LV.mjs +0 -180
  581. package/esm2022/i18n/languages/mn_MN.mjs +0 -180
  582. package/esm2022/i18n/languages/ms_MY.mjs +0 -180
  583. package/esm2022/i18n/languages/nb_NO.mjs +0 -180
  584. package/esm2022/i18n/languages/ne_NP.mjs +0 -180
  585. package/esm2022/i18n/languages/nl_BE.mjs +0 -180
  586. package/esm2022/i18n/languages/nl_NL.mjs +0 -180
  587. package/esm2022/i18n/languages/pl_PL.mjs +0 -180
  588. package/esm2022/i18n/languages/pt_BR.mjs +0 -180
  589. package/esm2022/i18n/languages/pt_PT.mjs +0 -180
  590. package/esm2022/i18n/languages/ro_RO.mjs +0 -180
  591. package/esm2022/i18n/languages/ru_RU.mjs +0 -180
  592. package/esm2022/i18n/languages/sk_SK.mjs +0 -171
  593. package/esm2022/i18n/languages/sl_SI.mjs +0 -172
  594. package/esm2022/i18n/languages/sr_RS.mjs +0 -172
  595. package/esm2022/i18n/languages/sv_SE.mjs +0 -172
  596. package/esm2022/i18n/languages/ta_IN.mjs +0 -180
  597. package/esm2022/i18n/languages/th_TH.mjs +0 -180
  598. package/esm2022/i18n/languages/tr_TR.mjs +0 -180
  599. package/esm2022/i18n/languages/uk_UA.mjs +0 -180
  600. package/esm2022/i18n/languages/vi_VN.mjs +0 -180
  601. package/esm2022/i18n/languages/zh_CN.mjs +0 -180
  602. package/esm2022/i18n/languages/zh_TW.mjs +0 -180
  603. package/esm2022/i18n/ng-nest-ui-i18n.mjs +0 -5
  604. package/esm2022/i18n/public-api.mjs +0 -57
  605. package/esm2022/icon/icon.component.mjs +0 -158
  606. package/esm2022/icon/icon.module.mjs +0 -16
  607. package/esm2022/icon/icon.property.mjs +0 -65
  608. package/esm2022/icon/icon.service.mjs +0 -89
  609. package/esm2022/icon/ng-nest-ui-icon.mjs +0 -5
  610. package/esm2022/icon/public-api.mjs +0 -5
  611. package/esm2022/image/image-group.component.mjs +0 -27
  612. package/esm2022/image/image-preview.component.mjs +0 -135
  613. package/esm2022/image/image.component.mjs +0 -75
  614. package/esm2022/image/image.module.mjs +0 -18
  615. package/esm2022/image/image.property.mjs +0 -196
  616. package/esm2022/image/ng-nest-ui-image.mjs +0 -5
  617. package/esm2022/image/public-api.mjs +0 -6
  618. package/esm2022/index.mjs +0 -106
  619. package/esm2022/inner/inner.component.mjs +0 -25
  620. package/esm2022/inner/inner.module.mjs +0 -16
  621. package/esm2022/inner/inner.property.mjs +0 -30
  622. package/esm2022/inner/ng-nest-ui-inner.mjs +0 -5
  623. package/esm2022/inner/public-api.mjs +0 -4
  624. package/esm2022/input/input-group.component.mjs +0 -16
  625. package/esm2022/input/input.component.mjs +0 -224
  626. package/esm2022/input/input.module.mjs +0 -17
  627. package/esm2022/input/input.property.mjs +0 -281
  628. package/esm2022/input/ng-nest-ui-input.mjs +0 -5
  629. package/esm2022/input/public-api.mjs +0 -5
  630. package/esm2022/input-number/input-number.component.mjs +0 -131
  631. package/esm2022/input-number/input-number.module.mjs +0 -16
  632. package/esm2022/input-number/input-number.property.mjs +0 -146
  633. package/esm2022/input-number/ng-nest-ui-input-number.mjs +0 -5
  634. package/esm2022/input-number/public-api.mjs +0 -4
  635. package/esm2022/keyword/keyword.directive.mjs +0 -61
  636. package/esm2022/keyword/keyword.module.mjs +0 -16
  637. package/esm2022/keyword/keyword.property.mjs +0 -45
  638. package/esm2022/keyword/ng-nest-ui-keyword.mjs +0 -5
  639. package/esm2022/keyword/public-api.mjs +0 -4
  640. package/esm2022/layout/col.component.mjs +0 -68
  641. package/esm2022/layout/layout.module.mjs +0 -17
  642. package/esm2022/layout/layout.property.mjs +0 -150
  643. package/esm2022/layout/ng-nest-ui-layout.mjs +0 -5
  644. package/esm2022/layout/public-api.mjs +0 -5
  645. package/esm2022/layout/row.component.mjs +0 -54
  646. package/esm2022/link/link.component.mjs +0 -28
  647. package/esm2022/link/link.module.mjs +0 -16
  648. package/esm2022/link/link.property.mjs +0 -109
  649. package/esm2022/link/ng-nest-ui-link.mjs +0 -5
  650. package/esm2022/link/public-api.mjs +0 -4
  651. package/esm2022/list/list-drop-group.directive.mjs +0 -39
  652. package/esm2022/list/list-option.component.mjs +0 -37
  653. package/esm2022/list/list.component.mjs +0 -409
  654. package/esm2022/list/list.module.mjs +0 -18
  655. package/esm2022/list/list.property.mjs +0 -273
  656. package/esm2022/list/ng-nest-ui-list.mjs +0 -5
  657. package/esm2022/list/public-api.mjs +0 -6
  658. package/esm2022/loading/loading.component.mjs +0 -77
  659. package/esm2022/loading/loading.module.mjs +0 -16
  660. package/esm2022/loading/loading.property.mjs +0 -70
  661. package/esm2022/loading/ng-nest-ui-loading.mjs +0 -5
  662. package/esm2022/loading/public-api.mjs +0 -4
  663. package/esm2022/menu/menu-node.component.mjs +0 -36
  664. package/esm2022/menu/menu.component.mjs +0 -171
  665. package/esm2022/menu/menu.module.mjs +0 -17
  666. package/esm2022/menu/menu.property.mjs +0 -107
  667. package/esm2022/menu/ng-nest-ui-menu.mjs +0 -5
  668. package/esm2022/menu/public-api.mjs +0 -5
  669. package/esm2022/message/message-ref.mjs +0 -13
  670. package/esm2022/message/message.component.mjs +0 -40
  671. package/esm2022/message/message.module.mjs +0 -15
  672. package/esm2022/message/message.property.mjs +0 -9
  673. package/esm2022/message/message.service.mjs +0 -146
  674. package/esm2022/message/ng-nest-ui-message.mjs +0 -5
  675. package/esm2022/message/public-api.mjs +0 -6
  676. package/esm2022/message-box/message-box.component.mjs +0 -122
  677. package/esm2022/message-box/message-box.module.mjs +0 -15
  678. package/esm2022/message-box/message-box.property.mjs +0 -8
  679. package/esm2022/message-box/message-box.service.mjs +0 -97
  680. package/esm2022/message-box/ng-nest-ui-message-box.mjs +0 -5
  681. package/esm2022/message-box/public-api.mjs +0 -5
  682. package/esm2022/ng-nest-ui.mjs +0 -5
  683. package/esm2022/notification/ng-nest-ui-notification.mjs +0 -5
  684. package/esm2022/notification/notification.component.mjs +0 -42
  685. package/esm2022/notification/notification.module.mjs +0 -15
  686. package/esm2022/notification/notification.property.mjs +0 -8
  687. package/esm2022/notification/notification.service.mjs +0 -107
  688. package/esm2022/notification/public-api.mjs +0 -5
  689. package/esm2022/outlet/ng-nest-ui-outlet.mjs +0 -5
  690. package/esm2022/outlet/outlet.directive.mjs +0 -72
  691. package/esm2022/outlet/outlet.module.mjs +0 -16
  692. package/esm2022/outlet/outlet.property.mjs +0 -7
  693. package/esm2022/outlet/public-api.mjs +0 -4
  694. package/esm2022/page-header/ng-nest-ui-page-header.mjs +0 -5
  695. package/esm2022/page-header/page-header.component.mjs +0 -24
  696. package/esm2022/page-header/page-header.module.mjs +0 -16
  697. package/esm2022/page-header/page-header.property.mjs +0 -50
  698. package/esm2022/page-header/public-api.mjs +0 -4
  699. package/esm2022/pagination/ng-nest-ui-pagination.mjs +0 -5
  700. package/esm2022/pagination/pagination.component.mjs +0 -205
  701. package/esm2022/pagination/pagination.module.mjs +0 -16
  702. package/esm2022/pagination/pagination.property.mjs +0 -149
  703. package/esm2022/pagination/public-api.mjs +0 -4
  704. package/esm2022/pattern/ng-nest-ui-pattern.mjs +0 -5
  705. package/esm2022/pattern/pattern.component.mjs +0 -18
  706. package/esm2022/pattern/pattern.module.mjs +0 -16
  707. package/esm2022/pattern/pattern.property.mjs +0 -7
  708. package/esm2022/pattern/public-api.mjs +0 -4
  709. package/esm2022/popconfirm/ng-nest-ui-popconfirm.mjs +0 -5
  710. package/esm2022/popconfirm/popconfirm.component.mjs +0 -59
  711. package/esm2022/popconfirm/popconfirm.module.mjs +0 -16
  712. package/esm2022/popconfirm/popconfirm.property.mjs +0 -100
  713. package/esm2022/popconfirm/public-api.mjs +0 -4
  714. package/esm2022/popover/ng-nest-ui-popover.mjs +0 -5
  715. package/esm2022/popover/popover-portal.component.mjs +0 -52
  716. package/esm2022/popover/popover.directive.mjs +0 -186
  717. package/esm2022/popover/popover.module.mjs +0 -16
  718. package/esm2022/popover/popover.property.mjs +0 -101
  719. package/esm2022/popover/public-api.mjs +0 -5
  720. package/esm2022/portal/ng-nest-ui-portal.mjs +0 -5
  721. package/esm2022/portal/portal.module.mjs +0 -16
  722. package/esm2022/portal/portal.property.mjs +0 -24
  723. package/esm2022/portal/portal.service.mjs +0 -190
  724. package/esm2022/portal/public-api.mjs +0 -4
  725. package/esm2022/progress/ng-nest-ui-progress.mjs +0 -5
  726. package/esm2022/progress/progress.component.mjs +0 -224
  727. package/esm2022/progress/progress.module.mjs +0 -16
  728. package/esm2022/progress/progress.property.mjs +0 -110
  729. package/esm2022/progress/public-api.mjs +0 -4
  730. package/esm2022/radio/ng-nest-ui-radio.mjs +0 -5
  731. package/esm2022/radio/public-api.mjs +0 -4
  732. package/esm2022/radio/radio.component.mjs +0 -77
  733. package/esm2022/radio/radio.module.mjs +0 -16
  734. package/esm2022/radio/radio.property.mjs +0 -121
  735. package/esm2022/rate/ng-nest-ui-rate.mjs +0 -5
  736. package/esm2022/rate/public-api.mjs +0 -4
  737. package/esm2022/rate/rate.component.mjs +0 -99
  738. package/esm2022/rate/rate.module.mjs +0 -16
  739. package/esm2022/rate/rate.property.mjs +0 -86
  740. package/esm2022/resizable/ng-nest-ui-resizable.mjs +0 -5
  741. package/esm2022/resizable/public-api.mjs +0 -4
  742. package/esm2022/resizable/resizable.directive.mjs +0 -264
  743. package/esm2022/resizable/resizable.module.mjs +0 -16
  744. package/esm2022/resizable/resizable.property.mjs +0 -64
  745. package/esm2022/result/ng-nest-ui-result.mjs +0 -5
  746. package/esm2022/result/public-api.mjs +0 -4
  747. package/esm2022/result/result.component.mjs +0 -25
  748. package/esm2022/result/result.module.mjs +0 -16
  749. package/esm2022/result/result.property.mjs +0 -45
  750. package/esm2022/ripple/ng-nest-ui-ripple.mjs +0 -5
  751. package/esm2022/ripple/public-api.mjs +0 -4
  752. package/esm2022/ripple/ripple.directive.mjs +0 -94
  753. package/esm2022/ripple/ripple.module.mjs +0 -16
  754. package/esm2022/ripple/ripple.property.mjs +0 -40
  755. package/esm2022/select/ng-nest-ui-select.mjs +0 -5
  756. package/esm2022/select/public-api.mjs +0 -5
  757. package/esm2022/select/select-portal.component.mjs +0 -103
  758. package/esm2022/select/select.component.mjs +0 -687
  759. package/esm2022/select/select.module.mjs +0 -16
  760. package/esm2022/select/select.property.mjs +0 -238
  761. package/esm2022/skeleton/ng-nest-ui-skeleton.mjs +0 -5
  762. package/esm2022/skeleton/public-api.mjs +0 -4
  763. package/esm2022/skeleton/skeleton.component.mjs +0 -25
  764. package/esm2022/skeleton/skeleton.module.mjs +0 -16
  765. package/esm2022/skeleton/skeleton.property.mjs +0 -55
  766. package/esm2022/slider/ng-nest-ui-slider.mjs +0 -5
  767. package/esm2022/slider/public-api.mjs +0 -4
  768. package/esm2022/slider/slider.component.mjs +0 -222
  769. package/esm2022/slider/slider.module.mjs +0 -17
  770. package/esm2022/slider/slider.property.mjs +0 -102
  771. package/esm2022/slider-select/ng-nest-ui-slider-select.mjs +0 -5
  772. package/esm2022/slider-select/public-api.mjs +0 -4
  773. package/esm2022/slider-select/slider-select.component.mjs +0 -368
  774. package/esm2022/slider-select/slider-select.module.mjs +0 -16
  775. package/esm2022/slider-select/slider-select.property.mjs +0 -136
  776. package/esm2022/statistic/countdown.component.mjs +0 -70
  777. package/esm2022/statistic/ng-nest-ui-statistic.mjs +0 -5
  778. package/esm2022/statistic/public-api.mjs +0 -5
  779. package/esm2022/statistic/statistic.component.mjs +0 -34
  780. package/esm2022/statistic/statistic.module.mjs +0 -17
  781. package/esm2022/statistic/statistic.property.mjs +0 -106
  782. package/esm2022/steps/ng-nest-ui-steps.mjs +0 -5
  783. package/esm2022/steps/public-api.mjs +0 -4
  784. package/esm2022/steps/steps.component.mjs +0 -49
  785. package/esm2022/steps/steps.module.mjs +0 -16
  786. package/esm2022/steps/steps.property.mjs +0 -60
  787. package/esm2022/switch/ng-nest-ui-switch.mjs +0 -5
  788. package/esm2022/switch/public-api.mjs +0 -4
  789. package/esm2022/switch/switch.component.mjs +0 -37
  790. package/esm2022/switch/switch.module.mjs +0 -16
  791. package/esm2022/switch/switch.property.mjs +0 -91
  792. package/esm2022/table/ng-nest-ui-table.mjs +0 -5
  793. package/esm2022/table/public-api.mjs +0 -7
  794. package/esm2022/table/table-body.component.mjs +0 -241
  795. package/esm2022/table/table-foot.component.mjs +0 -29
  796. package/esm2022/table/table-head.component.mjs +0 -169
  797. package/esm2022/table/table.component.mjs +0 -372
  798. package/esm2022/table/table.module.mjs +0 -19
  799. package/esm2022/table/table.property.mjs +0 -629
  800. package/esm2022/tabs/ng-nest-ui-tabs.mjs +0 -5
  801. package/esm2022/tabs/public-api.mjs +0 -7
  802. package/esm2022/tabs/tab-content.component.mjs +0 -21
  803. package/esm2022/tabs/tab-link.directive.mjs +0 -46
  804. package/esm2022/tabs/tab.component.mjs +0 -19
  805. package/esm2022/tabs/tabs.component.mjs +0 -143
  806. package/esm2022/tabs/tabs.module.mjs +0 -18
  807. package/esm2022/tabs/tabs.property.mjs +0 -141
  808. package/esm2022/tag/ng-nest-ui-tag.mjs +0 -5
  809. package/esm2022/tag/public-api.mjs +0 -4
  810. package/esm2022/tag/tag.component.mjs +0 -51
  811. package/esm2022/tag/tag.module.mjs +0 -16
  812. package/esm2022/tag/tag.property.mjs +0 -80
  813. package/esm2022/text-retract/ng-nest-ui-text-retract.mjs +0 -5
  814. package/esm2022/text-retract/public-api.mjs +0 -4
  815. package/esm2022/text-retract/text-retract.component.mjs +0 -42
  816. package/esm2022/text-retract/text-retract.module.mjs +0 -16
  817. package/esm2022/text-retract/text-retract.property.mjs +0 -35
  818. package/esm2022/textarea/ng-nest-ui-textarea.mjs +0 -5
  819. package/esm2022/textarea/public-api.mjs +0 -4
  820. package/esm2022/textarea/textarea.component.mjs +0 -68
  821. package/esm2022/textarea/textarea.module.mjs +0 -16
  822. package/esm2022/textarea/textarea.property.mjs +0 -126
  823. package/esm2022/theme/ng-nest-ui-theme.mjs +0 -5
  824. package/esm2022/theme/public-api.mjs +0 -4
  825. package/esm2022/theme/theme.component.mjs +0 -179
  826. package/esm2022/theme/theme.module.mjs +0 -16
  827. package/esm2022/theme/theme.property.mjs +0 -63
  828. package/esm2022/time-ago/ng-nest-ui-time-ago.mjs +0 -5
  829. package/esm2022/time-ago/public-api.mjs +0 -4
  830. package/esm2022/time-ago/time-ago.module.mjs +0 -16
  831. package/esm2022/time-ago/time-ago.pipe.mjs +0 -70
  832. package/esm2022/time-ago/time-ago.property.mjs +0 -7
  833. package/esm2022/time-picker/ng-nest-ui-time-picker.mjs +0 -5
  834. package/esm2022/time-picker/public-api.mjs +0 -6
  835. package/esm2022/time-picker/time-picker-frame.component.mjs +0 -312
  836. package/esm2022/time-picker/time-picker-portal.component.mjs +0 -78
  837. package/esm2022/time-picker/time-picker.component.mjs +0 -266
  838. package/esm2022/time-picker/time-picker.module.mjs +0 -17
  839. package/esm2022/time-picker/time-picker.property.mjs +0 -198
  840. package/esm2022/time-range/ng-nest-ui-time-range.mjs +0 -5
  841. package/esm2022/time-range/public-api.mjs +0 -4
  842. package/esm2022/time-range/time-range.module.mjs +0 -16
  843. package/esm2022/time-range/time-range.pipe.mjs +0 -44
  844. package/esm2022/time-range/time-range.property.mjs +0 -7
  845. package/esm2022/timeline/ng-nest-ui-timeline.mjs +0 -5
  846. package/esm2022/timeline/public-api.mjs +0 -4
  847. package/esm2022/timeline/timeline.component.mjs +0 -45
  848. package/esm2022/timeline/timeline.module.mjs +0 -16
  849. package/esm2022/timeline/timeline.property.mjs +0 -50
  850. package/esm2022/tooltip/ng-nest-ui-tooltip.mjs +0 -5
  851. package/esm2022/tooltip/public-api.mjs +0 -5
  852. package/esm2022/tooltip/tooltip-portal.component.mjs +0 -103
  853. package/esm2022/tooltip/tooltip.directive.mjs +0 -143
  854. package/esm2022/tooltip/tooltip.module.mjs +0 -16
  855. package/esm2022/tooltip/tooltip.property.mjs +0 -86
  856. package/esm2022/transfer/ng-nest-ui-transfer.mjs +0 -5
  857. package/esm2022/transfer/public-api.mjs +0 -4
  858. package/esm2022/transfer/transfer.component.mjs +0 -659
  859. package/esm2022/transfer/transfer.module.mjs +0 -16
  860. package/esm2022/transfer/transfer.property.mjs +0 -112
  861. package/esm2022/tree/ng-nest-ui-tree.mjs +0 -5
  862. package/esm2022/tree/public-api.mjs +0 -5
  863. package/esm2022/tree/tree-node.component.mjs +0 -297
  864. package/esm2022/tree/tree.component.mjs +0 -579
  865. package/esm2022/tree/tree.module.mjs +0 -17
  866. package/esm2022/tree/tree.property.mjs +0 -337
  867. package/esm2022/tree/tree.service.mjs +0 -102
  868. package/esm2022/tree-file/ng-nest-ui-tree-file.mjs +0 -5
  869. package/esm2022/tree-file/public-api.mjs +0 -4
  870. package/esm2022/tree-file/tree-file.component.mjs +0 -118
  871. package/esm2022/tree-file/tree-file.module.mjs +0 -16
  872. package/esm2022/tree-file/tree-file.property.mjs +0 -90
  873. package/esm2022/tree-select/ng-nest-ui-tree-select.mjs +0 -5
  874. package/esm2022/tree-select/public-api.mjs +0 -5
  875. package/esm2022/tree-select/tree-select-portal.component.mjs +0 -86
  876. package/esm2022/tree-select/tree-select.component.mjs +0 -659
  877. package/esm2022/tree-select/tree-select.module.mjs +0 -17
  878. package/esm2022/tree-select/tree-select.property.mjs +0 -237
  879. package/esm2022/typography/ng-nest-ui-typography.mjs +0 -5
  880. package/esm2022/typography/public-api.mjs +0 -4
  881. package/esm2022/typography/typography.component.mjs +0 -27
  882. package/esm2022/typography/typography.module.mjs +0 -16
  883. package/esm2022/typography/typography.property.mjs +0 -34
  884. package/esm2022/upload/ng-nest-ui-upload.mjs +0 -5
  885. package/esm2022/upload/public-api.mjs +0 -5
  886. package/esm2022/upload/upload-portal.component.mjs +0 -196
  887. package/esm2022/upload/upload.component.mjs +0 -233
  888. package/esm2022/upload/upload.module.mjs +0 -16
  889. package/esm2022/upload/upload.property.mjs +0 -118
  890. package/style/core/base.scss +0 -20
  891. package/style/core/cdk.scss +0 -72
  892. package/style/core/portal.scss +0 -5
  893. package/style/core/var.scss +0 -4
  894. package/style/mixins/index.scss +0 -9
  895. package/style/params/layout.scss +0 -73
  896. package/style/params/primary.scss +0 -208
  897. package/style/themes/default.scss +0 -1
@@ -1,241 +0,0 @@
1
- import { Component, ViewEncapsulation, Renderer2, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy, inject, computed, viewChild, signal, effect } from '@angular/core';
2
- import { XTableBodyPrefix, XTableBodyProperty } from './table.property';
3
- import { XRemoveNgTag, XResize, XStripTags, XParentPath } from '@ng-nest/ui/core';
4
- import { Subject, fromEvent } from 'rxjs';
5
- import { DOCUMENT, NgClass, NgTemplateOutlet } from '@angular/common';
6
- import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
7
- import { debounceTime, takeUntil } from 'rxjs/operators';
8
- import { XEmptyComponent } from '@ng-nest/ui/empty';
9
- import { XOutletDirective } from '@ng-nest/ui/outlet';
10
- import { XCheckboxComponent } from '@ng-nest/ui/checkbox';
11
- import { FormsModule } from '@angular/forms';
12
- import { XButtonComponent } from '@ng-nest/ui/button';
13
- import { XTableComponent } from './table.component';
14
- import { DomSanitizer } from '@angular/platform-browser';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@angular/forms";
17
- import * as i2 from "@angular/cdk/scrolling";
18
- export class XTableBodyComponent extends XTableBodyProperty {
19
- constructor() {
20
- super();
21
- this.renderer = inject(Renderer2);
22
- this.elementRef = inject((ElementRef));
23
- this.cdr = inject(ChangeDetectorRef);
24
- this.tbody = viewChild.required('tbody');
25
- this.virtualBody = viewChild(CdkVirtualScrollViewport);
26
- this.table = inject(XTableComponent, { optional: true });
27
- this.doc = inject(DOCUMENT);
28
- this.unSubject = new Subject();
29
- this.domSanitizer = inject(DomSanitizer);
30
- this.tbodyStyle = signal({});
31
- this.isEmpty = computed(() => this.data().length === 0);
32
- this.getRowHeight = computed(() => (this.rowHeight() == 0 ? '' : this.rowHeight()));
33
- this.getItemSize = computed(() => this.rowHeight() !== 0 && this.itemSize() > this.rowHeight() ? this.rowHeight() : this.itemSize());
34
- this.docClientHeight = signal(this.doc.documentElement.clientHeight);
35
- this.headHeight = signal(0);
36
- this.captionHeight = signal(0);
37
- this.footHeight = signal(0);
38
- this.paginationHeight = signal(0);
39
- this.bodyHeightSignal = computed(() => {
40
- const adaptionHeight = this.adaptionHeight();
41
- if (adaptionHeight && adaptionHeight > 0) {
42
- let bodyHeight = this.docPercent() * this.docClientHeight() -
43
- this.captionHeight() -
44
- this.headHeight() -
45
- this.footHeight() -
46
- this.paginationHeight() -
47
- adaptionHeight;
48
- if (bodyHeight < 0)
49
- bodyHeight = 0;
50
- return bodyHeight;
51
- }
52
- if (this.scroll()?.y && !this.bodyHeight()) {
53
- return this.scroll().y;
54
- }
55
- return this.bodyHeight();
56
- });
57
- this.minBufferPxSignal = computed(() => {
58
- const adaptionHeight = this.adaptionHeight();
59
- if (adaptionHeight && adaptionHeight > 0) {
60
- return this.bodyHeightSignal();
61
- }
62
- return this.minBufferPx();
63
- });
64
- this.maxBufferPxSignal = computed(() => {
65
- const adaptionHeight = this.adaptionHeight();
66
- if (adaptionHeight && adaptionHeight > 0) {
67
- return this.bodyHeightSignal() * 1.2;
68
- }
69
- return this.maxBufferPx();
70
- });
71
- effect(() => {
72
- if (this.virtualBody()) {
73
- this.virtualBody()['_scrollStrategy']['_minBufferPx'] = this.minBufferPxSignal();
74
- }
75
- });
76
- effect(() => {
77
- if (this.virtualBody()) {
78
- this.virtualBody()['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPxSignal();
79
- }
80
- });
81
- }
82
- ngOnInit() {
83
- XRemoveNgTag(this.elementRef.nativeElement);
84
- if (this.level() > 0)
85
- XRemoveNgTag(this.tbody().nativeElement);
86
- fromEvent(this.doc.defaultView, 'resize')
87
- .pipe(debounceTime(30), takeUntil(this.unSubject))
88
- .subscribe(() => {
89
- this.docClientHeight.set(this.doc.documentElement.clientHeight);
90
- });
91
- }
92
- ngAfterViewInit() {
93
- this.table.virtualBody.set(this.virtualBody());
94
- this.docClientHeight.set(this.doc.documentElement.clientHeight);
95
- this.setSubject();
96
- this.setScroll();
97
- }
98
- ngAfterViewChecked() {
99
- let headHeight = 0;
100
- for (let thead of this.table.theads()) {
101
- headHeight += thead.nativeElement.clientHeight;
102
- }
103
- this.headHeight.set(headHeight);
104
- const captionHeight = this.table.caption()?.nativeElement.clientHeight || 0;
105
- this.captionHeight.set(captionHeight);
106
- const footHeight = this.table.tfoot()?.nativeElement.clientHeight || 0;
107
- this.footHeight.set(footHeight);
108
- const paginationHeight = this.table.pagination()?.elementRef.nativeElement.clientHeight || 0;
109
- this.paginationHeight.set(paginationHeight);
110
- }
111
- ngOnDestroy() {
112
- this.unSubject.next();
113
- this.unSubject.complete();
114
- this.resizeObserver?.disconnect();
115
- }
116
- setSubject() {
117
- if (this.virtualBody()) {
118
- this.table.scrollContentEle.set(this.virtualBody().elementRef.nativeElement.querySelector('.cdk-virtual-scroll-content-wrapper'));
119
- if (this.scroll()?.x) {
120
- this.renderer.setStyle(this.table.scrollContentEle(), 'width', `${this.scroll()?.x}px`);
121
- }
122
- XResize(this.table.table().nativeElement, this.table.scrollContentEle())
123
- .pipe(debounceTime(30), takeUntil(this.unSubject))
124
- .subscribe((x) => {
125
- this.resizeObserver = x.resizeObserver;
126
- this.setScroll();
127
- });
128
- }
129
- if (this.table.scrollContentEle()) {
130
- fromEvent(this.virtualBody().elementRef.nativeElement, 'scroll')
131
- .pipe(takeUntil(this.unSubject))
132
- .subscribe((x) => {
133
- const ele = x.srcElement;
134
- this.table.scrollTop.set(ele.scrollTop);
135
- this.table.scrollLeft.set(ele.scrollLeft);
136
- if (ele.scrollLeft >= 0 && this.table.theads().length > 0) {
137
- for (let thead of this.table.theads()) {
138
- thead.nativeElement.scrollLeft = this.table.scrollLeft();
139
- }
140
- }
141
- this.table.scrollLeftMax.set(ele.scrollLeft + ele.clientWidth === ele.scrollWidth);
142
- });
143
- }
144
- }
145
- setScroll() {
146
- if (!this.virtualBody())
147
- return;
148
- const ele = this.virtualBody().elementRef.nativeElement;
149
- const hasY = ele.scrollHeight > this.bodyHeightSignal();
150
- const hasX = this.table.scrollContentEle().clientWidth > ele.clientWidth;
151
- if (!this.table.hasScrollY() && hasY) {
152
- this.table.hasScrollY.set(true);
153
- this.table.scrollYWidth.set(ele.offsetWidth - ele.clientWidth);
154
- }
155
- else if (this.table.hasScrollY() && !hasY) {
156
- this.table.hasScrollY.set(false);
157
- this.table.scrollYWidth.set(0);
158
- }
159
- if (!this.table.hasScrollX() && hasX) {
160
- this.table.hasScrollX.set(true);
161
- this.table.scrollXHeight.set(ele.offsetHeight - ele.clientHeight);
162
- }
163
- else if (this.table.hasScrollX() && !hasX) {
164
- this.table.hasScrollX.set(false);
165
- this.table.scrollXHeight.set(0);
166
- this.table.scrollXWidth.set(null);
167
- }
168
- if (hasX) {
169
- this.table.scrollXWidth.set(ele.offsetWidth + ele.scrollWidth - ele.clientWidth);
170
- }
171
- this.virtualBody().checkViewportSize();
172
- // this.table.cdr.detectChanges();
173
- }
174
- setStyle() {
175
- let height = this.rowHeight() === 0 ? '' : this.rowHeight();
176
- if (this.cellConfig() && this.cellConfig().cells) {
177
- const spt = this.cellConfig().cells?.map((x) => {
178
- const gridAreaSpt = x.gridArea?.split('/');
179
- return gridAreaSpt && gridAreaSpt.length > 3 ? Number(gridAreaSpt[2]) : 2;
180
- });
181
- height = ((Math.max(...spt) - 1) * height);
182
- }
183
- this.tbodyStyle.set({
184
- height: `${height}px`
185
- });
186
- }
187
- setDomSanitizer(str) {
188
- return this.domSanitizer.bypassSecurityTrustHtml(str);
189
- }
190
- getIndex(index, item) {
191
- if (!isNaN(index))
192
- return index;
193
- return this.data().indexOf(item);
194
- }
195
- getFlex(column) {
196
- if (column.width)
197
- return 'none';
198
- if (!column.flex)
199
- return 1;
200
- return column.flex;
201
- }
202
- getTitle(row, column) {
203
- let it = row[column.id];
204
- return it ? XStripTags(it) : '';
205
- }
206
- onRowClick(event, row) {
207
- if (row.disabled)
208
- return;
209
- if (this.table.allowCheckRow() && this.table.rowChecked()) {
210
- if (!XParentPath(event.target).includes('x-checkbox')) {
211
- row[this.table.rowChecked().id] = !row[this.table.rowChecked().id];
212
- this.table.bodyChecked(row[this.table.rowChecked().id], this.table.rowChecked(), row);
213
- }
214
- }
215
- this.activatedRow.set(row);
216
- this.rowClick.emit(row);
217
- }
218
- onExpanded(_event, node) {
219
- node.expanded = !node.expanded;
220
- // this.cdr.detectChanges();
221
- }
222
- trackByItem(_index, item) {
223
- return item.id;
224
- }
225
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
226
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTableBodyComponent, isStandalone: true, selector: "x-table-body", viewQueries: [{ propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true, isSignal: true }, { propertyName: "virtualBody", first: true, predicate: CdkVirtualScrollViewport, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<tbody #tbody>\r\n @if (cellConfig()) {\r\n @for (row of data(); track row.id; let i = $index) {\r\n <tr [style.gridTemplateColumns]=\"cellConfig()!.gridTemplateColumns\">\r\n @for (column of cellConfig()!.cells; track column; let j = $index) {\r\n <td\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.grid-area]=\"column.gridArea\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-container>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n } @else {\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"getItemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n [style.height.px]=\"bodyHeightSignal()\"\r\n >\r\n <tr\r\n *cdkVirtualFor=\"let row of data(); let index = index; trackBy: trackByItem\"\r\n [class.x-table-activated]=\"allowSelectRow() && activatedRow()?.id === row.id\"\r\n [style.height.px]=\"getRowHeight()\"\r\n [style.min-height.px]=\"getRowHeight()\"\r\n (click)=\"onRowClick($event, row)\"\r\n >\r\n <!-- rowHeight \u4E3A 0 \u7684\u65F6\u5019\uFF0Cindex \u4E0B\u6807\u83B7\u53D6\u4E0D\u5230 -->\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: getIndex(index, row) }\"></ng-container>\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n @for (row of data(); track row.id; let i = $index) {\r\n <tr\r\n [class.x-table-activated]=\"allowSelectRow() && activatedRow()?.id === row.id\"\r\n [style.height.px]=\"getRowHeight()\"\r\n [style.min-height.px]=\"getRowHeight()\"\r\n (click)=\"onRowClick($event, row)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: i }\"></ng-container>\r\n </tr>\r\n @if (table.treeTable() && row.children && row.expanded) {\r\n <div class=\"x-table-children\" [class.x-table-expandTpl]=\"expandTpl()\">\r\n <x-table-body\r\n [data]=\"row.children\"\r\n [columns]=\"table.columns()\"\r\n [itemSize]=\"table.itemSize()\"\r\n [rowHeight]=\"table.rowHeight()\"\r\n [columnTpl]=\"table.bodyColumnTpl()\"\r\n [allowSelectRow]=\"table.allowSelectRow()\"\r\n [rowClass]=\"table.rowClass()\"\r\n [cellConfig]=\"table.cellConfig()?.tbody\"\r\n [(activatedRow)]=\"table.activatedRow\"\r\n [expandedAll]=\"expandedAll()\"\r\n [expandTpl]=\"expandTpl()\"\r\n [level]=\"row.level! + 1\"\r\n ></x-table-body>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n @if (table.showEmpty() && isEmpty() && level() === 0) {\r\n <x-empty [img]=\"table.emptyImg()!\" [content]=\"table.emptyContent()!\"></x-empty>\r\n }\r\n</tbody>\r\n\r\n<ng-template #rowTpl let-row=\"row\" let-i=\"i\">\r\n @if (level() > 0 && expandTpl()) {\r\n <ng-container *xOutlet=\"expandTpl(); context: { $row: row, $index: i, $level: level() }\"></ng-container>\r\n } @else if (level() === 0 || !expandTpl()) {\r\n <ng-container *xOutlet=\"rowDefault; context: { row: row, i: i, level: level() }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rowDefault let-row=\"row\" let-i=\"i\">\r\n @for (column of columns(); track column.id; let j = $index) {\r\n <td\r\n [style.width.px]=\"column.width\"\r\n [style.flex]=\"getFlex(column)\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-dragging]=\"column.dragging\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [ngClass]=\"!rowClass() ? {} : rowClass()!(row, i)\"\r\n >\r\n <ng-template *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-template>\r\n </td>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-column=\"column\" let-row=\"row\" let-i=\"i\">\r\n @switch (column.type) {\r\n @case ('checkbox') {\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: '' }]\"\r\n [(ngModel)]=\"row[column.id]\"\r\n [disabled]=\"row.disabled\"\r\n (ngModelChange)=\"table.bodyChecked($event, column, row)\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @case ('index') {\r\n <div>{{ table.getIndex(i) }}</div>\r\n }\r\n @default {\r\n @if (table.isExpandColumn(column)) {\r\n <x-button\r\n [class.is-leaf]=\"!row.leaf\"\r\n [class.is-expanded]=\"row.expanded\"\r\n (click)=\"onExpanded($event, row)\"\r\n icon=\"fto-chevron-right\"\r\n size=\"mini\"\r\n onlyIcon\r\n flat\r\n plain\r\n class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n }\r\n <ng-container\r\n *xOutlet=\"columnTpl()[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\"\r\n >\r\n <ng-container *xOutlet=\"table.bodyTdTpl(); context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n @if ((table.bodyInnerHTML() && column.innerHTML !== false) || column.innerHTML) {\r\n <div [innerHTML]=\"setDomSanitizer(row[column.id])\" [style.text-align]=\"column.textAlign\"></div>\r\n } @else {\r\n <div [style.text-align]=\"column.textAlign\">{{ row[column.id] }}</div>\r\n }\r\n {{ table.rowExpand() && table.rowExpand()!.id === column.id ? 'x-table-body-level-' + row.level : '' }}\r\n </ng-container>\r\n </ng-container>\r\n }\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: XTableBodyComponent, selector: "x-table-body" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XEmptyComponent, selector: "x-empty" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
227
- }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableBodyComponent, decorators: [{
229
- type: Component,
230
- args: [{ selector: `${XTableBodyPrefix}`, standalone: true, imports: [
231
- NgClass,
232
- NgTemplateOutlet,
233
- FormsModule,
234
- XEmptyComponent,
235
- ScrollingModule,
236
- XOutletDirective,
237
- XCheckboxComponent,
238
- XButtonComponent
239
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<tbody #tbody>\r\n @if (cellConfig()) {\r\n @for (row of data(); track row.id; let i = $index) {\r\n <tr [style.gridTemplateColumns]=\"cellConfig()!.gridTemplateColumns\">\r\n @for (column of cellConfig()!.cells; track column; let j = $index) {\r\n <td\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.grid-area]=\"column.gridArea\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-container>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n } @else {\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"getItemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n [style.height.px]=\"bodyHeightSignal()\"\r\n >\r\n <tr\r\n *cdkVirtualFor=\"let row of data(); let index = index; trackBy: trackByItem\"\r\n [class.x-table-activated]=\"allowSelectRow() && activatedRow()?.id === row.id\"\r\n [style.height.px]=\"getRowHeight()\"\r\n [style.min-height.px]=\"getRowHeight()\"\r\n (click)=\"onRowClick($event, row)\"\r\n >\r\n <!-- rowHeight \u4E3A 0 \u7684\u65F6\u5019\uFF0Cindex \u4E0B\u6807\u83B7\u53D6\u4E0D\u5230 -->\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: getIndex(index, row) }\"></ng-container>\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n @for (row of data(); track row.id; let i = $index) {\r\n <tr\r\n [class.x-table-activated]=\"allowSelectRow() && activatedRow()?.id === row.id\"\r\n [style.height.px]=\"getRowHeight()\"\r\n [style.min-height.px]=\"getRowHeight()\"\r\n (click)=\"onRowClick($event, row)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: i }\"></ng-container>\r\n </tr>\r\n @if (table.treeTable() && row.children && row.expanded) {\r\n <div class=\"x-table-children\" [class.x-table-expandTpl]=\"expandTpl()\">\r\n <x-table-body\r\n [data]=\"row.children\"\r\n [columns]=\"table.columns()\"\r\n [itemSize]=\"table.itemSize()\"\r\n [rowHeight]=\"table.rowHeight()\"\r\n [columnTpl]=\"table.bodyColumnTpl()\"\r\n [allowSelectRow]=\"table.allowSelectRow()\"\r\n [rowClass]=\"table.rowClass()\"\r\n [cellConfig]=\"table.cellConfig()?.tbody\"\r\n [(activatedRow)]=\"table.activatedRow\"\r\n [expandedAll]=\"expandedAll()\"\r\n [expandTpl]=\"expandTpl()\"\r\n [level]=\"row.level! + 1\"\r\n ></x-table-body>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n @if (table.showEmpty() && isEmpty() && level() === 0) {\r\n <x-empty [img]=\"table.emptyImg()!\" [content]=\"table.emptyContent()!\"></x-empty>\r\n }\r\n</tbody>\r\n\r\n<ng-template #rowTpl let-row=\"row\" let-i=\"i\">\r\n @if (level() > 0 && expandTpl()) {\r\n <ng-container *xOutlet=\"expandTpl(); context: { $row: row, $index: i, $level: level() }\"></ng-container>\r\n } @else if (level() === 0 || !expandTpl()) {\r\n <ng-container *xOutlet=\"rowDefault; context: { row: row, i: i, level: level() }\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rowDefault let-row=\"row\" let-i=\"i\">\r\n @for (column of columns(); track column.id; let j = $index) {\r\n <td\r\n [style.width.px]=\"column.width\"\r\n [style.flex]=\"getFlex(column)\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-dragging]=\"column.dragging\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [ngClass]=\"!rowClass() ? {} : rowClass()!(row, i)\"\r\n >\r\n <ng-template *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-template>\r\n </td>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-column=\"column\" let-row=\"row\" let-i=\"i\">\r\n @switch (column.type) {\r\n @case ('checkbox') {\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: '' }]\"\r\n [(ngModel)]=\"row[column.id]\"\r\n [disabled]=\"row.disabled\"\r\n (ngModelChange)=\"table.bodyChecked($event, column, row)\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @case ('index') {\r\n <div>{{ table.getIndex(i) }}</div>\r\n }\r\n @default {\r\n @if (table.isExpandColumn(column)) {\r\n <x-button\r\n [class.is-leaf]=\"!row.leaf\"\r\n [class.is-expanded]=\"row.expanded\"\r\n (click)=\"onExpanded($event, row)\"\r\n icon=\"fto-chevron-right\"\r\n size=\"mini\"\r\n onlyIcon\r\n flat\r\n plain\r\n class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n }\r\n <ng-container\r\n *xOutlet=\"columnTpl()[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\"\r\n >\r\n <ng-container *xOutlet=\"table.bodyTdTpl(); context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n @if ((table.bodyInnerHTML() && column.innerHTML !== false) || column.innerHTML) {\r\n <div [innerHTML]=\"setDomSanitizer(row[column.id])\" [style.text-align]=\"column.textAlign\"></div>\r\n } @else {\r\n <div [style.text-align]=\"column.textAlign\">{{ row[column.id] }}</div>\r\n }\r\n {{ table.rowExpand() && table.rowExpand()!.id === column.id ? 'x-table-body-level-' + row.level : '' }}\r\n </ng-container>\r\n </ng-container>\r\n }\r\n }\r\n</ng-template>\r\n" }]
240
- }], ctorParameters: () => [] });
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUF1QyxNQUFNLGtCQUFrQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFXLFVBQVUsRUFBRSxXQUFXLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDNUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixD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SUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFhLEVBQUUsSUFBZTtRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQiw0QkFBNEI7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBOEI7UUFDeEQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7aUlBbk9VLG1CQUFtQjtxSEFBbkIsbUJBQW1CLHNOQUtOLHdCQUF3Qix1RkNwRGxELDRuTkFzSkEsNENEdkdhLG1CQUFtQix5REFiNUIsT0FBTyxvRkFDUCxnQkFBZ0IsbUpBQ2hCLFdBQVcsK1ZBQ1gsZUFBZSxtREFDZixlQUFlLDRqQkFDZixnQkFBZ0IsNkZBQ2hCLGtCQUFrQix1REFDbEIsZ0JBQWdCOzsyRkFNUCxtQkFBbUI7a0JBakIvQixTQUFTOytCQUNFLEdBQUcsZ0JBQWdCLEVBQUUsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3FCQUNqQixpQkFFYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIGluamVjdCxcclxuICBjb21wdXRlZCxcclxuICB2aWV3Q2hpbGQsXHJcbiAgc2lnbmFsLFxyXG4gIGVmZmVjdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIEFmdGVyVmlld0NoZWNrZWRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlQm9keVByZWZpeCwgWFRhYmxlQm9keVByb3BlcnR5LCBYVGFibGVSb3csIFhUYWJsZUNvbHVtbiwgWFRhYmxlQ2VsbCB9IGZyb20gJy4vdGFibGUucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYUmVtb3ZlTmdUYWcsIFhSZXNpemUsIFhOdW1iZXIsIFhTdHJpcFRhZ3MsIFhQYXJlbnRQYXRoLCBYUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LCBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhFbXB0eUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2VtcHR5JztcclxuaW1wb3J0IHsgWE91dGxldERpcmVjdGl2ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBYVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUYWJsZUJvZHlQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBYRW1wdHlDb21wb25lbnQsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBYT3V0bGV0RGlyZWN0aXZlLFxyXG4gICAgWENoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgWEJ1dHRvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUJvZHlDb21wb25lbnQgZXh0ZW5kcyBYVGFibGVCb2R5UHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xyXG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XHJcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XHJcbiAgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICB0Ym9keSA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3Rib2R5Jyk7XHJcbiAgdmlydHVhbEJvZHkgPSB2aWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KTtcclxuICB0YWJsZSA9IGluamVjdChYVGFibGVDb21wb25lbnQsIHsgb3B0aW9uYWw6IHRydWUgfSkhO1xyXG4gIHByaXZhdGUgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBwcml2YXRlIHVuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlciE6IFhSZXNpemVPYnNlcnZlcjtcclxuICBwcml2YXRlIGRvbVNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xyXG4gIHRib2R5U3R5bGUgPSBzaWduYWw8eyBbcHJvcGVydHk6IHN0cmluZ106IGFueSB9Pih7fSk7XHJcblxyXG4gIGlzRW1wdHkgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRhdGEoKS5sZW5ndGggPT09IDApO1xyXG4gIGdldFJvd0hlaWdodCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnJvd0hlaWdodCgpID09IDAgPyAnJyA6IHRoaXMucm93SGVpZ2h0KCkpKTtcclxuICBnZXRJdGVtU2l6ZSA9IGNvbXB1dGVkKCgpID0+XHJcbiAgICB0aGlzLnJvd0hlaWdodCgpICE9PSAwICYmIHRoaXMuaXRlbVNpemUoKSA+IHRoaXMucm93SGVpZ2h0KCkgPyB0aGlzLnJvd0hlaWdodCgpIDogdGhpcy5pdGVtU2l6ZSgpXHJcbiAgKTtcclxuICBkb2NDbGllbnRIZWlnaHQgPSBzaWduYWwodGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XHJcbiAgaGVhZEhlaWdodCA9IHNpZ25hbCgwKTtcclxuICBjYXB0aW9uSGVpZ2h0ID0gc2lnbmFsKDApO1xyXG4gIGZvb3RIZWlnaHQgPSBzaWduYWwoMCk7XHJcbiAgcGFnaW5hdGlvbkhlaWdodCA9IHNpZ25hbCgwKTtcclxuXHJcbiAgYm9keUhlaWdodFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IGFkYXB0aW9uSGVpZ2h0ID0gdGhpcy5hZGFwdGlvbkhlaWdodCgpO1xyXG4gICAgaWYgKGFkYXB0aW9uSGVpZ2h0ICYmIGFkYXB0aW9uSGVpZ2h0ID4gMCkge1xyXG4gICAgICBsZXQgYm9keUhlaWdodCA9XHJcbiAgICAgICAgdGhpcy5kb2NQZXJjZW50KCkgKiB0aGlzLmRvY0NsaWVudEhlaWdodCgpIC1cclxuICAgICAgICB0aGlzLmNhcHRpb25IZWlnaHQoKSAtXHJcbiAgICAgICAgdGhpcy5oZWFkSGVpZ2h0KCkgLVxyXG4gICAgICAgIHRoaXMuZm9vdEhlaWdodCgpIC1cclxuICAgICAgICB0aGlzLnBhZ2luYXRpb25IZWlnaHQoKSAtXHJcbiAgICAgICAgYWRhcHRpb25IZWlnaHQ7XHJcbiAgICAgIGlmIChib2R5SGVpZ2h0IDwgMCkgYm9keUhlaWdodCA9IDA7XHJcbiAgICAgIHJldHVybiBib2R5SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2Nyb2xsKCk/LnkgJiYgIXRoaXMuYm9keUhlaWdodCgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNjcm9sbCgpIS55O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYm9keUhlaWdodCgpO1xyXG4gIH0pO1xyXG5cclxuICBtaW5CdWZmZXJQeFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IGFkYXB0aW9uSGVpZ2h0ID0gdGhpcy5hZGFwdGlvbkhlaWdodCgpO1xyXG4gICAgaWYgKGFkYXB0aW9uSGVpZ2h0ICYmIGFkYXB0aW9uSGVpZ2h0ID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ib2R5SGVpZ2h0U2lnbmFsKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5taW5CdWZmZXJQeCgpO1xyXG4gIH0pO1xyXG5cclxuICBtYXhCdWZmZXJQeFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IGFkYXB0aW9uSGVpZ2h0ID0gdGhpcy5hZGFwdGlvbkhlaWdodCgpO1xyXG4gICAgaWYgKGFkYXB0aW9uSGVpZ2h0ICYmIGFkYXB0aW9uSGVpZ2h0ID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ib2R5SGVpZ2h0U2lnbmFsKCkhICogMS4yO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubWF4QnVmZmVyUHgoKTtcclxuICB9KTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMudmlydHVhbEJvZHkoKSkge1xyXG4gICAgICAgIHRoaXMudmlydHVhbEJvZHkoKSFbJ19zY3JvbGxTdHJhdGVneSddWydfbWluQnVmZmVyUHgnXSA9IHRoaXMubWluQnVmZmVyUHhTaWduYWwoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy52aXJ0dWFsQm9keSgpKSB7XHJcbiAgICAgICAgdGhpcy52aXJ0dWFsQm9keSgpIVsnX3Njcm9sbFN0cmF0ZWd5J11bJ19tYXhCdWZmZXJQeCddID0gdGhpcy5tYXhCdWZmZXJQeFNpZ25hbCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgWFJlbW92ZU5nVGFnKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIGlmICh0aGlzLmxldmVsKCkgPiAwKSBYUmVtb3ZlTmdUYWcodGhpcy50Ym9keSgpLm5hdGl2ZUVsZW1lbnQpO1xyXG5cclxuICAgIGZyb21FdmVudCh0aGlzLmRvYy5kZWZhdWx0VmlldyEsICdyZXNpemUnKVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzApLCB0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRvY0NsaWVudEhlaWdodC5zZXQodGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50YWJsZS52aXJ0dWFsQm9keS5zZXQodGhpcy52aXJ0dWFsQm9keSgpISk7XHJcbiAgICB0aGlzLmRvY0NsaWVudEhlaWdodC5zZXQodGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBsZXQgaGVhZEhlaWdodCA9IDA7XHJcbiAgICBmb3IgKGxldCB0aGVhZCBvZiB0aGlzLnRhYmxlLnRoZWFkcygpKSB7XHJcbiAgICAgIGhlYWRIZWlnaHQgKz0gdGhlYWQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmhlYWRIZWlnaHQuc2V0KGhlYWRIZWlnaHQpO1xyXG4gICAgY29uc3QgY2FwdGlvbkhlaWdodCA9IHRoaXMudGFibGUuY2FwdGlvbigpPy5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCB8fCAwO1xyXG4gICAgdGhpcy5jYXB0aW9uSGVpZ2h0LnNldChjYXB0aW9uSGVpZ2h0KTtcclxuICAgIGNvbnN0IGZvb3RIZWlnaHQgPSB0aGlzLnRhYmxlLnRmb290KCk/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICB0aGlzLmZvb3RIZWlnaHQuc2V0KGZvb3RIZWlnaHQpO1xyXG4gICAgY29uc3QgcGFnaW5hdGlvbkhlaWdodCA9IHRoaXMudGFibGUucGFnaW5hdGlvbigpPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25IZWlnaHQuc2V0KHBhZ2luYXRpb25IZWlnaHQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLnVuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3ViamVjdCgpIHtcclxuICAgIGlmICh0aGlzLnZpcnR1YWxCb2R5KCkpIHtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlLnNldChcclxuICAgICAgICB0aGlzLnZpcnR1YWxCb2R5KCkhLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcicpIGFzIEhUTUxFbGVtZW50XHJcbiAgICAgICk7XHJcbiAgICAgIGlmICh0aGlzLnNjcm9sbCgpPy54KSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRhYmxlLnNjcm9sbENvbnRlbnRFbGUoKSEsICd3aWR0aCcsIGAke3RoaXMuc2Nyb2xsKCk/Lnh9cHhgKTtcclxuICAgICAgfVxyXG4gICAgICBYUmVzaXplKHRoaXMudGFibGUudGFibGUoKS5uYXRpdmVFbGVtZW50LCB0aGlzLnRhYmxlLnNjcm9sbENvbnRlbnRFbGUoKSEpXHJcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMudW5TdWJqZWN0KSlcclxuICAgICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlKCkpIHtcclxuICAgICAgZnJvbUV2ZW50KHRoaXMudmlydHVhbEJvZHkoKSEuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJylcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVsZSA9IHguc3JjRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsVG9wLnNldChlbGUuc2Nyb2xsVG9wKTtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsTGVmdC5zZXQoZWxlLnNjcm9sbExlZnQpO1xyXG4gICAgICAgICAgaWYgKGVsZS5zY3JvbGxMZWZ0ID49IDAgJiYgdGhpcy50YWJsZS50aGVhZHMoKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IHRoZWFkIG9mIHRoaXMudGFibGUudGhlYWRzKCkpIHtcclxuICAgICAgICAgICAgICB0aGVhZC5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnRhYmxlLnNjcm9sbExlZnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy50YWJsZS5zY3JvbGxMZWZ0TWF4LnNldChlbGUuc2Nyb2xsTGVmdCArIGVsZS5jbGllbnRXaWR0aCA9PT0gZWxlLnNjcm9sbFdpZHRoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFNjcm9sbCgpIHtcclxuICAgIGlmICghdGhpcy52aXJ0dWFsQm9keSgpKSByZXR1cm47XHJcbiAgICBjb25zdCBlbGUgPSB0aGlzLnZpcnR1YWxCb2R5KCkhLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGhhc1kgPSBlbGUuc2Nyb2xsSGVpZ2h0ID4gdGhpcy5ib2R5SGVpZ2h0U2lnbmFsKCkhO1xyXG4gICAgY29uc3QgaGFzWCA9IHRoaXMudGFibGUuc2Nyb2xsQ29udGVudEVsZSgpIS5jbGllbnRXaWR0aCA+IGVsZS5jbGllbnRXaWR0aDtcclxuXHJcbiAgICBpZiAoIXRoaXMudGFibGUuaGFzU2Nyb2xsWSgpICYmIGhhc1kpIHtcclxuICAgICAgdGhpcy50YWJsZS5oYXNTY3JvbGxZLnNldCh0cnVlKTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxZV2lkdGguc2V0KGVsZS5vZmZzZXRXaWR0aCAtIGVsZS5jbGllbnRXaWR0aCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGFibGUuaGFzU2Nyb2xsWSgpICYmICFoYXNZKSB7XHJcbiAgICAgIHRoaXMudGFibGUuaGFzU2Nyb2xsWS5zZXQoZmFsc2UpO1xyXG4gICAgICB0aGlzLnRhYmxlLnNjcm9sbFlXaWR0aC5zZXQoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnRhYmxlLmhhc1Njcm9sbFgoKSAmJiBoYXNYKSB7XHJcbiAgICAgIHRoaXMudGFibGUuaGFzU2Nyb2xsWC5zZXQodHJ1ZSk7XHJcbiAgICAgIHRoaXMudGFibGUuc2Nyb2xsWEhlaWdodC5zZXQoZWxlLm9mZnNldEhlaWdodCAtIGVsZS5jbGllbnRIZWlnaHQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnRhYmxlLmhhc1Njcm9sbFgoKSAmJiAhaGFzWCkge1xyXG4gICAgICB0aGlzLnRhYmxlLmhhc1Njcm9sbFguc2V0KGZhbHNlKTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYSGVpZ2h0LnNldCgwKTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYV2lkdGguc2V0KG51bGwpO1xyXG4gICAgfVxyXG4gICAgaWYgKGhhc1gpIHtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYV2lkdGguc2V0KGVsZS5vZmZzZXRXaWR0aCArIGVsZS5zY3JvbGxXaWR0aCAtIGVsZS5jbGllbnRXaWR0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aXJ0dWFsQm9keSgpIS5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xyXG5cclxuICAgIC8vIHRoaXMudGFibGUuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFN0eWxlKCkge1xyXG4gICAgbGV0IGhlaWdodCA9IHRoaXMucm93SGVpZ2h0KCkgPT09IDAgPyAnJyA6IHRoaXMucm93SGVpZ2h0KCk7XHJcbiAgICBpZiAodGhpcy5jZWxsQ29uZmlnKCkgJiYgdGhpcy5jZWxsQ29uZmlnKCkhLmNlbGxzKSB7XHJcbiAgICAgIGNvbnN0IHNwdCA9IHRoaXMuY2VsbENvbmZpZygpIS5jZWxscz8ubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3JpZEFyZWFTcHQgPSB4LmdyaWRBcmVhPy5zcGxpdCgnLycpO1xyXG4gICAgICAgIHJldHVybiBncmlkQXJlYVNwdCAmJiBncmlkQXJlYVNwdC5sZW5ndGggPiAzID8gTnVtYmVyKGdyaWRBcmVhU3B0WzJdKSA6IDI7XHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHQgPSAoKE1hdGgubWF4KC4uLnNwdCEpIC0gMSkgKiAoaGVpZ2h0IGFzIG51bWJlcikpIGFzIFhOdW1iZXI7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRib2R5U3R5bGUuc2V0KHtcclxuICAgICAgaGVpZ2h0OiBgJHtoZWlnaHR9cHhgXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldERvbVNhbml0aXplcihzdHI6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN0cik7XHJcbiAgfVxyXG5cclxuICBnZXRJbmRleChpbmRleDogbnVtYmVyLCBpdGVtOiBYVGFibGVSb3cpIHtcclxuICAgIGlmICghaXNOYU4oaW5kZXgpKSByZXR1cm4gaW5kZXg7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhKCkuaW5kZXhPZihpdGVtKTtcclxuICB9XHJcblxyXG4gIGdldEZsZXgoY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIGlmIChjb2x1bW4ud2lkdGgpIHJldHVybiAnbm9uZSc7XHJcbiAgICBpZiAoIWNvbHVtbi5mbGV4KSByZXR1cm4gMTtcclxuICAgIHJldHVybiBjb2x1bW4uZmxleDtcclxuICB9XHJcblxyXG4gIGdldFRpdGxlKHJvdzogWFRhYmxlUm93LCBjb2x1bW46IFhUYWJsZUNlbGwgfCBhbnkpIHtcclxuICAgIGxldCBpdCA9IHJvd1tjb2x1bW4uaWQgYXMgc3RyaW5nXTtcclxuICAgIHJldHVybiBpdCA/IFhTdHJpcFRhZ3MoaXQpIDogJyc7XHJcbiAgfVxyXG5cclxuICBvblJvd0NsaWNrKGV2ZW50OiBFdmVudCwgcm93OiBYVGFibGVSb3cpIHtcclxuICAgIGlmIChyb3cuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnRhYmxlLmFsbG93Q2hlY2tSb3coKSAmJiB0aGlzLnRhYmxlLnJvd0NoZWNrZWQoKSkge1xyXG4gICAgICBpZiAoIVhQYXJlbnRQYXRoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuaW5jbHVkZXMoJ3gtY2hlY2tib3gnKSkge1xyXG4gICAgICAgIHJvd1t0aGlzLnRhYmxlLnJvd0NoZWNrZWQoKSEuaWRdID0gIXJvd1t0aGlzLnRhYmxlLnJvd0NoZWNrZWQoKSEuaWRdO1xyXG4gICAgICAgIHRoaXMudGFibGUuYm9keUNoZWNrZWQocm93W3RoaXMudGFibGUucm93Q2hlY2tlZCgpIS5pZF0sIHRoaXMudGFibGUucm93Q2hlY2tlZCgpISwgcm93KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3cuc2V0KHJvdyk7XHJcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQocm93KTtcclxuICB9XHJcblxyXG4gIG9uRXhwYW5kZWQoX2V2ZW50OiBFdmVudCwgbm9kZTogWFRhYmxlUm93KSB7XHJcbiAgICBub2RlLmV4cGFuZGVkID0gIW5vZGUuZXhwYW5kZWQ7XHJcbiAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogWFRhYmxlUm93IHwgWFRhYmxlQ29sdW1uKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPHRib2R5ICN0Ym9keT5cclxuICBAaWYgKGNlbGxDb25maWcoKSkge1xyXG4gICAgQGZvciAocm93IG9mIGRhdGEoKTsgdHJhY2sgcm93LmlkOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICA8dHIgW3N0eWxlLmdyaWRUZW1wbGF0ZUNvbHVtbnNdPVwiY2VsbENvbmZpZygpIS5ncmlkVGVtcGxhdGVDb2x1bW5zXCI+XHJcbiAgICAgICAgQGZvciAoY29sdW1uIG9mIGNlbGxDb25maWcoKSEuY2VsbHM7IHRyYWNrIGNvbHVtbjsgbGV0IGogPSAkaW5kZXgpIHtcclxuICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICBbdGl0bGVdPVwiZ2V0VGl0bGUocm93LCBjb2x1bW4pXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKSB8fCB0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnRdPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LXJpZ2h0XT1cInRhYmxlLmdldFN0aWNreVJpZ2h0KGNvbHVtbilcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdC1sYXN0XT1cInRhYmxlLmdldFN0aWNreUxlZnRMYXN0KGNvbHVtbilcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHQtZmlyc3RdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW4pXCJcclxuICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiY29sdW1uLmxlZnRcIlxyXG4gICAgICAgICAgICBbc3R5bGUucmlnaHQucHhdPVwiY29sdW1uLnJpZ2h0XCJcclxuICAgICAgICAgICAgW3N0eWxlLmdyaWQtYXJlYV09XCJjb2x1bW4uZ3JpZEFyZWFcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2VsbFRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiwgcm93OiByb3csIGk6IGkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICB9XHJcbiAgICAgIDwvdHI+XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaWYgKHZpcnR1YWxTY3JvbGwoKSkge1xyXG4gICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XHJcbiAgICAgICAgI3ZpcnR1YWxCb2R5XHJcbiAgICAgICAgW2l0ZW1TaXplXT1cImdldEl0ZW1TaXplKClcIlxyXG4gICAgICAgIFttaW5CdWZmZXJQeF09XCJtaW5CdWZmZXJQeFNpZ25hbCgpXCJcclxuICAgICAgICBbbWF4QnVmZmVyUHhdPVwibWF4QnVmZmVyUHhTaWduYWwoKVwiXHJcbiAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJib2R5SGVpZ2h0U2lnbmFsKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHRyXHJcbiAgICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCByb3cgb2YgZGF0YSgpOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICAgICAgW2NsYXNzLngtdGFibGUtYWN0aXZhdGVkXT1cImFsbG93U2VsZWN0Um93KCkgJiYgYWN0aXZhdGVkUm93KCk/LmlkID09PSByb3cuaWRcIlxyXG4gICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRSb3dIZWlnaHQoKVwiXHJcbiAgICAgICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHQoKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQsIHJvdylcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDwhLS0gcm93SGVpZ2h0IOS4uiAwIOeahOaXtuWAme+8jGluZGV4IOS4i+agh+iOt+WPluS4jeWIsCAtLT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUcGw7IGNvbnRleHQ6IHsgcm93OiByb3csIGk6IGdldEluZGV4KGluZGV4LCByb3cpIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAZm9yIChyb3cgb2YgZGF0YSgpOyB0cmFjayByb3cuaWQ7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgPHRyXHJcbiAgICAgICAgICBbY2xhc3MueC10YWJsZS1hY3RpdmF0ZWRdPVwiYWxsb3dTZWxlY3RSb3coKSAmJiBhY3RpdmF0ZWRSb3coKT8uaWQgPT09IHJvdy5pZFwiXHJcbiAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodCgpXCJcclxuICAgICAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodCgpXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblJvd0NsaWNrKCRldmVudCwgcm93KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd1RwbDsgY29udGV4dDogeyByb3c6IHJvdywgaTogaSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgICBAaWYgKHRhYmxlLnRyZWVUYWJsZSgpICYmIHJvdy5jaGlsZHJlbiAmJiByb3cuZXhwYW5kZWQpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LXRhYmxlLWNoaWxkcmVuXCIgW2NsYXNzLngtdGFibGUtZXhwYW5kVHBsXT1cImV4cGFuZFRwbCgpXCI+XHJcbiAgICAgICAgICAgIDx4LXRhYmxlLWJvZHlcclxuICAgICAgICAgICAgICBbZGF0YV09XCJyb3cuY2hpbGRyZW5cIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5zXT1cInRhYmxlLmNvbHVtbnMoKVwiXHJcbiAgICAgICAgICAgICAgW2l0ZW1TaXplXT1cInRhYmxlLml0ZW1TaXplKClcIlxyXG4gICAgICAgICAgICAgIFtyb3dIZWlnaHRdPVwidGFibGUucm93SGVpZ2h0KClcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5UcGxdPVwidGFibGUuYm9keUNvbHVtblRwbCgpXCJcclxuICAgICAgICAgICAgICBbYWxsb3dTZWxlY3RSb3ddPVwidGFibGUuYWxsb3dTZWxlY3RSb3coKVwiXHJcbiAgICAgICAgICAgICAgW3Jvd0NsYXNzXT1cInRhYmxlLnJvd0NsYXNzKClcIlxyXG4gICAgICAgICAgICAgIFtjZWxsQ29uZmlnXT1cInRhYmxlLmNlbGxDb25maWcoKT8udGJvZHlcIlxyXG4gICAgICAgICAgICAgIFsoYWN0aXZhdGVkUm93KV09XCJ0YWJsZS5hY3RpdmF0ZWRSb3dcIlxyXG4gICAgICAgICAgICAgIFtleHBhbmRlZEFsbF09XCJleHBhbmRlZEFsbCgpXCJcclxuICAgICAgICAgICAgICBbZXhwYW5kVHBsXT1cImV4cGFuZFRwbCgpXCJcclxuICAgICAgICAgICAgICBbbGV2ZWxdPVwicm93LmxldmVsISArIDFcIlxyXG4gICAgICAgICAgICA+PC94LXRhYmxlLWJvZHk+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGlmICh0YWJsZS5zaG93RW1wdHkoKSAmJiBpc0VtcHR5KCkgJiYgbGV2ZWwoKSA9PT0gMCkge1xyXG4gICAgPHgtZW1wdHkgW2ltZ109XCJ0YWJsZS5lbXB0eUltZygpIVwiIFtjb250ZW50XT1cInRhYmxlLmVtcHR5Q29udGVudCgpIVwiPjwveC1lbXB0eT5cclxuICB9XHJcbjwvdGJvZHk+XHJcblxyXG48bmctdGVtcGxhdGUgI3Jvd1RwbCBsZXQtcm93PVwicm93XCIgbGV0LWk9XCJpXCI+XHJcbiAgQGlmIChsZXZlbCgpID4gMCAmJiBleHBhbmRUcGwoKSkge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImV4cGFuZFRwbCgpOyBjb250ZXh0OiB7ICRyb3c6IHJvdywgJGluZGV4OiBpLCAkbGV2ZWw6IGxldmVsKCkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIH0gQGVsc2UgaWYgKGxldmVsKCkgPT09IDAgfHwgIWV4cGFuZFRwbCgpKSB7XHJcbiAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwicm93RGVmYXVsdDsgY29udGV4dDogeyByb3c6IHJvdywgaTogaSwgbGV2ZWw6IGxldmVsKCkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm93RGVmYXVsdCBsZXQtcm93PVwicm93XCIgbGV0LWk9XCJpXCI+XHJcbiAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uLmlkOyBsZXQgaiA9ICRpbmRleCkge1xyXG4gICAgPHRkXHJcbiAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb2x1bW4ud2lkdGhcIlxyXG4gICAgICBbc3R5bGUuZmxleF09XCJnZXRGbGV4KGNvbHVtbilcIlxyXG4gICAgICBbdGl0bGVdPVwiZ2V0VGl0bGUocm93LCBjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtZHJhZ2dpbmddPVwiY29sdW1uLmRyYWdnaW5nXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKSB8fCB0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnRdPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LXJpZ2h0XT1cInRhYmxlLmdldFN0aWNreVJpZ2h0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdC1sYXN0XT1cInRhYmxlLmdldFN0aWNreUxlZnRMYXN0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHQtZmlyc3RdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW4pXCJcclxuICAgICAgW3N0eWxlLmxlZnQucHhdPVwiY29sdW1uLmxlZnRcIlxyXG4gICAgICBbc3R5bGUucmlnaHQucHhdPVwiY29sdW1uLnJpZ2h0XCJcclxuICAgICAgW25nQ2xhc3NdPVwiIXJvd0NsYXNzKCkgPyB7fSA6IHJvd0NsYXNzKCkhKHJvdywgaSlcIlxyXG4gICAgPlxyXG4gICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZWxsVHBsOyBjb250ZXh0OiB7IGNvbHVtbjogY29sdW1uLCByb3c6IHJvdywgaTogaSB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdGQ+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjZWxsVHBsIGxldC1jb2x1bW49XCJjb2x1bW5cIiBsZXQtcm93PVwicm93XCIgbGV0LWk9XCJpXCI+XHJcbiAgQHN3aXRjaCAoY29sdW1uLnR5cGUpIHtcclxuICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XHJcbiAgICAgIDx4LWNoZWNrYm94XHJcbiAgICAgICAgW2RhdGFdPVwiW3sgaWQ6IHRydWUsIGxhYmVsOiAnJyB9XVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJyb3dbY29sdW1uLmlkXVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJvdy5kaXNhYmxlZFwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGFibGUuYm9keUNoZWNrZWQoJGV2ZW50LCBjb2x1bW4sIHJvdylcIlxyXG4gICAgICAgIHNpbmdsZVxyXG4gICAgICA+PC94LWNoZWNrYm94PlxyXG4gICAgfVxyXG4gICAgQGNhc2UgKCdpbmRleCcpIHtcclxuICAgICAgPGRpdj57eyB0YWJsZS5nZXRJbmRleChpKSB9fTwvZGl2PlxyXG4gICAgfVxyXG4gICAgQGRlZmF1bHQge1xyXG4gICAgICBAaWYgKHRhYmxlLmlzRXhwYW5kQ29sdW1uKGNvbHVtbikpIHtcclxuICAgICAgICA8eC1idXR0b25cclxuICAgICAgICAgIFtjbGFzcy5pcy1sZWFmXT1cIiFyb3cubGVhZlwiXHJcbiAgICAgICAgICBbY2xhc3MuaXMtZXhwYW5kZWRdPVwicm93LmV4cGFuZGVkXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbkV4cGFuZGVkKCRldmVudCwgcm93KVwiXHJcbiAgICAgICAgICBpY29uPVwiZnRvLWNoZXZyb24tcmlnaHRcIlxyXG4gICAgICAgICAgc2l6ZT1cIm1pbmlcIlxyXG4gICAgICAgICAgb25seUljb25cclxuICAgICAgICAgIGZsYXRcclxuICAgICAgICAgIHBsYWluXHJcbiAgICAgICAgICBjbGFzcz1cIngtdGFibGUtZXhwYW5kXCJcclxuICAgICAgICAgIFtzdHlsZS5tYXJnaW4tbGVmdC5yZW1dPVwicm93LmxldmVsIC0gMC41XCJcclxuICAgICAgICA+PC94LWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKnhPdXRsZXQ9XCJjb2x1bW5UcGwoKVtjb2x1bW4uaWRdOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiwgJHJvdzogcm93LCAkaW5kZXg6IHRhYmxlLmdldEluZGV4KGkpIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cInRhYmxlLmJvZHlUZFRwbCgpOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiwgJHJvdzogcm93LCAkaW5kZXg6IHRhYmxlLmdldEluZGV4KGkpIH1cIj5cclxuICAgICAgICAgIEBpZiAoKHRhYmxlLmJvZHlJbm5lckhUTUwoKSAmJiBjb2x1bW4uaW5uZXJIVE1MICE9PSBmYWxzZSkgfHwgY29sdW1uLmlubmVySFRNTCkge1xyXG4gICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2V0RG9tU2FuaXRpemVyKHJvd1tjb2x1bW4uaWRdKVwiIFtzdHlsZS50ZXh0LWFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIj48L2Rpdj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8ZGl2IFtzdHlsZS50ZXh0LWFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIj57eyByb3dbY29sdW1uLmlkXSB9fTwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAge3sgdGFibGUucm93RXhwYW5kKCkgJiYgdGFibGUucm93RXhwYW5kKCkhLmlkID09PSBjb2x1bW4uaWQgPyAneC10YWJsZS1ib2R5LWxldmVsLScgKyByb3cubGV2ZWwgOiAnJyB9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIH1cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { Component, ViewEncapsulation, ElementRef, ChangeDetectionStrategy, inject, computed, viewChild, ChangeDetectorRef } from '@angular/core';
2
- import { XTableFootPrefix, XTableFootProperty } from './table.property';
3
- import { XRemoveNgTag } from '@ng-nest/ui/core';
4
- import { XOutletDirective } from '@ng-nest/ui/outlet';
5
- import { XTableComponent } from './table.component';
6
- import * as i0 from "@angular/core";
7
- export class XTableFootComponent extends XTableFootProperty {
8
- constructor() {
9
- super(...arguments);
10
- this.tfoot = viewChild.required('tfoot');
11
- this.table = inject(XTableComponent, { optional: true });
12
- this.cdr = inject(ChangeDetectorRef);
13
- this.getRowHeight = computed(() => (this.rowHeight() == 0 ? '' : this.rowHeight()));
14
- this.elementRef = inject(ElementRef);
15
- }
16
- ngOnInit() {
17
- XRemoveNgTag(this.elementRef.nativeElement);
18
- }
19
- ngAfterViewInit() {
20
- this.table.tfoot.set(this.tfoot());
21
- }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableFootComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.2", type: XTableFootComponent, isStandalone: true, selector: "x-table-foot", viewQueries: [{ propertyName: "tfoot", first: true, predicate: ["tfoot"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<tfoot #tfoot class=\"x-table-footer\" [style.height.px]=\"getRowHeight()!\" [style.min-height.px]=\"getRowHeight()\">\r\n <ng-container *xOutlet=\"footer()\">{{ footer() }}</ng-container>\r\n</tfoot>\r\n", dependencies: [{ kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTableFootComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: `${XTableFootPrefix}`, standalone: true, imports: [XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<tfoot #tfoot class=\"x-table-footer\" [style.height.px]=\"getRowHeight()!\" [style.min-height.px]=\"getRowHeight()\">\r\n <ng-container *xOutlet=\"footer()\">{{ footer() }}</ng-container>\r\n</tfoot>\r\n" }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1mb290LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWZvb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFVcEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQVIzRDs7UUFTRSxVQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBMEIsT0FBTyxDQUFDLENBQUM7UUFDN0QsVUFBSyxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUUsQ0FBQztRQUNyRCxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQVN6QztJQVBDLFFBQVE7UUFDTixZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO2lJQWJVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLCtNQ3hCaEMsK01BR0EsNENEZ0JZLGdCQUFnQjs7MkZBS2YsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLEdBQUcsZ0JBQWdCLEVBQUUsY0FDbkIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUMsaUJBRVosaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIGluamVjdCxcclxuICBjb21wdXRlZCxcclxuICB2aWV3Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlRm9vdFByZWZpeCwgWFRhYmxlRm9vdFByb3BlcnR5IH0gZnJvbSAnLi90YWJsZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhSZW1vdmVOZ1RhZyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgWFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUYWJsZUZvb3RQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtYT3V0bGV0RGlyZWN0aXZlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZm9vdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlRm9vdENvbXBvbmVudCBleHRlbmRzIFhUYWJsZUZvb3RQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdGZvb3QgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCd0Zm9vdCcpO1xyXG4gIHRhYmxlID0gaW5qZWN0KFhUYWJsZUNvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KSE7XHJcbiAgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBnZXRSb3dIZWlnaHQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5yb3dIZWlnaHQoKSA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodCgpKSk7XHJcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIFhSZW1vdmVOZ1RhZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnRhYmxlLnRmb290LnNldCh0aGlzLnRmb290KCkpO1xyXG4gIH1cclxufVxyXG4iLCI8dGZvb3QgI3Rmb290IGNsYXNzPVwieC10YWJsZS1mb290ZXJcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodCgpIVwiIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodCgpXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImZvb3RlcigpXCI+e3sgZm9vdGVyKCkgfX08L25nLWNvbnRhaW5lcj5cclxuPC90Zm9vdD5cclxuIl19