@ng-nest/ui 17.0.4 → 17.0.5

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 (419) hide show
  1. package/esm2022/affix/affix.component.mjs +3 -3
  2. package/esm2022/affix/affix.module.mjs +4 -4
  3. package/esm2022/affix/affix.property.mjs +3 -3
  4. package/esm2022/alert/alert.component.mjs +5 -5
  5. package/esm2022/alert/alert.module.mjs +4 -4
  6. package/esm2022/alert/alert.property.mjs +3 -3
  7. package/esm2022/anchor/anchor-inner.component.mjs +3 -3
  8. package/esm2022/anchor/anchor.component.mjs +3 -3
  9. package/esm2022/anchor/anchor.module.mjs +4 -4
  10. package/esm2022/anchor/anchor.property.mjs +6 -6
  11. package/esm2022/api/api.component.mjs +3 -3
  12. package/esm2022/api/api.module.mjs +4 -4
  13. package/esm2022/auto-complete/auto-complete-portal.component.mjs +3 -3
  14. package/esm2022/auto-complete/auto-complete.component.mjs +3 -3
  15. package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
  16. package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
  17. package/esm2022/avatar/avatar-group.component.mjs +3 -3
  18. package/esm2022/avatar/avatar.component.mjs +3 -3
  19. package/esm2022/avatar/avatar.module.mjs +4 -4
  20. package/esm2022/avatar/avatar.property.mjs +6 -6
  21. package/esm2022/back-top/back-top.component.mjs +3 -3
  22. package/esm2022/back-top/back-top.module.mjs +4 -4
  23. package/esm2022/back-top/back-top.property.mjs +3 -3
  24. package/esm2022/badge/badge.component.mjs +3 -3
  25. package/esm2022/badge/badge.module.mjs +4 -4
  26. package/esm2022/badge/badge.property.mjs +3 -3
  27. package/esm2022/base-form/base-form.component.mjs +3 -3
  28. package/esm2022/base-form/base-form.module.mjs +4 -4
  29. package/esm2022/base-form/base-form.property.mjs +3 -3
  30. package/esm2022/border/border.component.mjs +3 -3
  31. package/esm2022/border/border.module.mjs +4 -4
  32. package/esm2022/button/button.component.mjs +5 -4
  33. package/esm2022/button/button.module.mjs +4 -4
  34. package/esm2022/button/button.property.mjs +6 -6
  35. package/esm2022/button/buttons.component.mjs +3 -3
  36. package/esm2022/calendar/calendar.component.mjs +3 -3
  37. package/esm2022/calendar/calendar.module.mjs +4 -4
  38. package/esm2022/calendar/calendar.property.mjs +3 -3
  39. package/esm2022/card/card.component.mjs +3 -3
  40. package/esm2022/card/card.module.mjs +4 -4
  41. package/esm2022/card/card.property.mjs +3 -3
  42. package/esm2022/carousel/carousel-panel.component.mjs +3 -3
  43. package/esm2022/carousel/carousel.component.mjs +3 -3
  44. package/esm2022/carousel/carousel.module.mjs +4 -4
  45. package/esm2022/carousel/carousel.property.mjs +6 -6
  46. package/esm2022/cascade/cascade-portal.component.mjs +3 -3
  47. package/esm2022/cascade/cascade.component.mjs +3 -3
  48. package/esm2022/cascade/cascade.module.mjs +4 -4
  49. package/esm2022/cascade/cascade.property.mjs +3 -3
  50. package/esm2022/checkbox/checkbox.component.mjs +3 -3
  51. package/esm2022/checkbox/checkbox.module.mjs +4 -4
  52. package/esm2022/checkbox/checkbox.property.mjs +3 -3
  53. package/esm2022/collapse/collapse-panel.component.mjs +3 -3
  54. package/esm2022/collapse/collapse.component.mjs +3 -3
  55. package/esm2022/collapse/collapse.module.mjs +4 -4
  56. package/esm2022/collapse/collapse.property.mjs +6 -6
  57. package/esm2022/color/color.component.mjs +3 -3
  58. package/esm2022/color/color.module.mjs +4 -4
  59. package/esm2022/color/color.property.mjs +3 -3
  60. package/esm2022/color-picker/color-picker-portal.component.mjs +5 -5
  61. package/esm2022/color-picker/color-picker.component.mjs +3 -3
  62. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  63. package/esm2022/color-picker/color-picker.property.mjs +3 -3
  64. package/esm2022/comment/comment-reply.component.mjs +3 -3
  65. package/esm2022/comment/comment.component.mjs +3 -3
  66. package/esm2022/comment/comment.module.mjs +4 -4
  67. package/esm2022/comment/comment.property.mjs +6 -6
  68. package/esm2022/container/aside.component.mjs +3 -3
  69. package/esm2022/container/container.component.mjs +3 -3
  70. package/esm2022/container/container.module.mjs +4 -4
  71. package/esm2022/container/container.property.mjs +12 -12
  72. package/esm2022/container/footer.component.mjs +3 -3
  73. package/esm2022/container/header.component.mjs +3 -3
  74. package/esm2022/container/main.component.mjs +3 -3
  75. package/esm2022/core/config/config.service.mjs +3 -3
  76. package/esm2022/core/services/http.service.mjs +3 -3
  77. package/esm2022/core/services/preloading-strategy.service.mjs +3 -3
  78. package/esm2022/core/services/storage.service.mjs +3 -3
  79. package/esm2022/core/theme/theme.service.mjs +3 -3
  80. package/esm2022/crumb/crumb.component.mjs +3 -3
  81. package/esm2022/crumb/crumb.module.mjs +4 -4
  82. package/esm2022/crumb/crumb.property.mjs +3 -3
  83. package/esm2022/date-picker/date-picker-portal.component.mjs +3 -3
  84. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  85. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  86. package/esm2022/date-picker/date-picker.property.mjs +18 -18
  87. package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
  88. package/esm2022/date-picker/date-range-portal.component.mjs +3 -3
  89. package/esm2022/date-picker/date-range.component.mjs +3 -3
  90. package/esm2022/date-picker/picker-date.component.mjs +3 -3
  91. package/esm2022/date-picker/picker-month.component.mjs +3 -3
  92. package/esm2022/date-picker/picker-quarter.component.mjs +3 -3
  93. package/esm2022/date-picker/picker-year.component.mjs +3 -3
  94. package/esm2022/description/description-item.component.mjs +3 -3
  95. package/esm2022/description/description.component.mjs +3 -3
  96. package/esm2022/description/description.module.mjs +4 -4
  97. package/esm2022/description/description.property.mjs +6 -6
  98. package/esm2022/dialog/dialog-container.component.mjs +5 -5
  99. package/esm2022/dialog/dialog-portal.component.mjs +3 -3
  100. package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
  101. package/esm2022/dialog/dialog.component.mjs +5 -5
  102. package/esm2022/dialog/dialog.module.mjs +4 -4
  103. package/esm2022/dialog/dialog.property.mjs +6 -6
  104. package/esm2022/dialog/dialog.service.mjs +3 -3
  105. package/esm2022/doc/doc.component.mjs +3 -3
  106. package/esm2022/doc/doc.module.mjs +4 -4
  107. package/esm2022/drag/drag.directive.mjs +3 -3
  108. package/esm2022/drag/drag.module.mjs +4 -4
  109. package/esm2022/drag/drag.property.mjs +3 -3
  110. package/esm2022/drawer/drawer-container.component.mjs +5 -5
  111. package/esm2022/drawer/drawer-portal.component.mjs +3 -3
  112. package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
  113. package/esm2022/drawer/drawer.component.mjs +3 -3
  114. package/esm2022/drawer/drawer.module.mjs +4 -4
  115. package/esm2022/drawer/drawer.property.mjs +6 -6
  116. package/esm2022/drawer/drawer.service.mjs +3 -3
  117. package/esm2022/dropdown/dropdown-portal.component.mjs +3 -3
  118. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  119. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  120. package/esm2022/dropdown/dropdown.property.mjs +3 -3
  121. package/esm2022/empty/empty.component.mjs +3 -3
  122. package/esm2022/empty/empty.module.mjs +4 -4
  123. package/esm2022/empty/empty.property.mjs +3 -3
  124. package/esm2022/examples/examples.component.mjs +4 -4
  125. package/esm2022/examples/examples.module.mjs +4 -4
  126. package/esm2022/find/find.component.mjs +5 -5
  127. package/esm2022/find/find.module.mjs +4 -4
  128. package/esm2022/find/find.property.mjs +3 -3
  129. package/esm2022/form/control.component.mjs +3 -3
  130. package/esm2022/form/form.component.mjs +3 -3
  131. package/esm2022/form/form.module.mjs +4 -4
  132. package/esm2022/form/form.property.mjs +6 -6
  133. package/esm2022/highlight/highlight.component.mjs +3 -3
  134. package/esm2022/highlight/highlight.module.mjs +4 -4
  135. package/esm2022/highlight/highlight.property.mjs +3 -3
  136. package/esm2022/i18n/i18n.directive.mjs +3 -3
  137. package/esm2022/i18n/i18n.module.mjs +4 -4
  138. package/esm2022/i18n/i18n.pipe.mjs +3 -3
  139. package/esm2022/i18n/i18n.service.mjs +3 -3
  140. package/esm2022/icon/icon.component.mjs +3 -3
  141. package/esm2022/icon/icon.module.mjs +4 -4
  142. package/esm2022/icon/icon.property.mjs +3 -3
  143. package/esm2022/icon/icon.service.mjs +3 -3
  144. package/esm2022/image/image-group.component.mjs +3 -3
  145. package/esm2022/image/image-preview.component.mjs +3 -3
  146. package/esm2022/image/image.component.mjs +5 -5
  147. package/esm2022/image/image.module.mjs +4 -4
  148. package/esm2022/image/image.property.mjs +6 -6
  149. package/esm2022/inner/inner.component.mjs +3 -3
  150. package/esm2022/inner/inner.module.mjs +4 -4
  151. package/esm2022/inner/inner.property.mjs +3 -3
  152. package/esm2022/input/input-group.component.mjs +3 -3
  153. package/esm2022/input/input.component.mjs +5 -5
  154. package/esm2022/input/input.module.mjs +4 -4
  155. package/esm2022/input/input.property.mjs +6 -6
  156. package/esm2022/input-number/input-number.component.mjs +16 -11
  157. package/esm2022/input-number/input-number.module.mjs +4 -4
  158. package/esm2022/input-number/input-number.property.mjs +3 -3
  159. package/esm2022/keyword/keyword.directive.mjs +3 -3
  160. package/esm2022/keyword/keyword.module.mjs +4 -4
  161. package/esm2022/keyword/keyword.property.mjs +3 -3
  162. package/esm2022/layout/col.component.mjs +3 -3
  163. package/esm2022/layout/layout.module.mjs +4 -4
  164. package/esm2022/layout/layout.property.mjs +6 -6
  165. package/esm2022/layout/row.component.mjs +3 -3
  166. package/esm2022/link/link.component.mjs +3 -3
  167. package/esm2022/link/link.module.mjs +4 -4
  168. package/esm2022/link/link.property.mjs +3 -3
  169. package/esm2022/list/list-drop-group.directive.mjs +3 -3
  170. package/esm2022/list/list-option.component.mjs +3 -3
  171. package/esm2022/list/list.component.mjs +3 -3
  172. package/esm2022/list/list.module.mjs +4 -4
  173. package/esm2022/list/list.property.mjs +6 -6
  174. package/esm2022/loading/loading.component.mjs +3 -3
  175. package/esm2022/loading/loading.module.mjs +4 -4
  176. package/esm2022/loading/loading.property.mjs +3 -3
  177. package/esm2022/menu/menu-node.component.mjs +3 -3
  178. package/esm2022/menu/menu.component.mjs +5 -5
  179. package/esm2022/menu/menu.module.mjs +4 -4
  180. package/esm2022/menu/menu.property.mjs +6 -6
  181. package/esm2022/message/message.component.mjs +3 -3
  182. package/esm2022/message/message.module.mjs +4 -4
  183. package/esm2022/message/message.property.mjs +1 -1
  184. package/esm2022/message/message.service.mjs +4 -5
  185. package/esm2022/message-box/message-box.component.mjs +7 -5
  186. package/esm2022/message-box/message-box.module.mjs +4 -4
  187. package/esm2022/message-box/message-box.service.mjs +3 -3
  188. package/esm2022/notification/notification.component.mjs +3 -3
  189. package/esm2022/notification/notification.module.mjs +4 -4
  190. package/esm2022/notification/notification.service.mjs +3 -3
  191. package/esm2022/outlet/outlet.directive.mjs +3 -3
  192. package/esm2022/outlet/outlet.module.mjs +4 -4
  193. package/esm2022/page-header/page-header.component.mjs +3 -3
  194. package/esm2022/page-header/page-header.module.mjs +4 -4
  195. package/esm2022/page-header/page-header.property.mjs +3 -3
  196. package/esm2022/pagination/pagination.component.mjs +3 -3
  197. package/esm2022/pagination/pagination.module.mjs +4 -4
  198. package/esm2022/pagination/pagination.property.mjs +3 -3
  199. package/esm2022/pattern/pattern.component.mjs +3 -3
  200. package/esm2022/pattern/pattern.module.mjs +4 -4
  201. package/esm2022/popconfirm/popconfirm.component.mjs +3 -3
  202. package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
  203. package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
  204. package/esm2022/popover/popover-portal.component.mjs +3 -3
  205. package/esm2022/popover/popover.directive.mjs +3 -3
  206. package/esm2022/popover/popover.module.mjs +4 -4
  207. package/esm2022/popover/popover.property.mjs +3 -3
  208. package/esm2022/portal/portal.module.mjs +4 -4
  209. package/esm2022/portal/portal.service.mjs +3 -3
  210. package/esm2022/progress/progress.component.mjs +3 -3
  211. package/esm2022/progress/progress.module.mjs +4 -4
  212. package/esm2022/progress/progress.property.mjs +3 -3
  213. package/esm2022/radio/radio.component.mjs +3 -3
  214. package/esm2022/radio/radio.module.mjs +4 -4
  215. package/esm2022/radio/radio.property.mjs +3 -3
  216. package/esm2022/rate/rate.component.mjs +3 -3
  217. package/esm2022/rate/rate.module.mjs +4 -4
  218. package/esm2022/rate/rate.property.mjs +3 -3
  219. package/esm2022/resizable/resizable.directive.mjs +3 -3
  220. package/esm2022/resizable/resizable.module.mjs +4 -4
  221. package/esm2022/resizable/resizable.property.mjs +3 -3
  222. package/esm2022/result/result.component.mjs +3 -3
  223. package/esm2022/result/result.module.mjs +4 -4
  224. package/esm2022/result/result.property.mjs +3 -3
  225. package/esm2022/ripple/ripple.directive.mjs +3 -3
  226. package/esm2022/ripple/ripple.module.mjs +4 -4
  227. package/esm2022/ripple/ripple.property.mjs +3 -3
  228. package/esm2022/select/select-portal.component.mjs +3 -3
  229. package/esm2022/select/select.component.mjs +3 -3
  230. package/esm2022/select/select.module.mjs +4 -4
  231. package/esm2022/select/select.property.mjs +3 -3
  232. package/esm2022/skeleton/skeleton.component.mjs +3 -3
  233. package/esm2022/skeleton/skeleton.module.mjs +4 -4
  234. package/esm2022/skeleton/skeleton.property.mjs +3 -3
  235. package/esm2022/slider/slider.component.mjs +3 -3
  236. package/esm2022/slider/slider.module.mjs +4 -4
  237. package/esm2022/slider/slider.property.mjs +3 -3
  238. package/esm2022/slider-select/slider-select.component.mjs +3 -3
  239. package/esm2022/slider-select/slider-select.module.mjs +4 -4
  240. package/esm2022/slider-select/slider-select.property.mjs +3 -3
  241. package/esm2022/statistic/countdown.component.mjs +3 -3
  242. package/esm2022/statistic/statistic.component.mjs +3 -3
  243. package/esm2022/statistic/statistic.module.mjs +4 -4
  244. package/esm2022/statistic/statistic.property.mjs +6 -6
  245. package/esm2022/steps/steps.component.mjs +3 -3
  246. package/esm2022/steps/steps.module.mjs +4 -4
  247. package/esm2022/steps/steps.property.mjs +3 -3
  248. package/esm2022/switch/switch.component.mjs +3 -3
  249. package/esm2022/switch/switch.module.mjs +4 -4
  250. package/esm2022/switch/switch.property.mjs +3 -3
  251. package/esm2022/table/table-body.component.mjs +8 -6
  252. package/esm2022/table/table-foot.component.mjs +3 -3
  253. package/esm2022/table/table-head.component.mjs +3 -3
  254. package/esm2022/table/table.component.mjs +16 -6
  255. package/esm2022/table/table.module.mjs +4 -4
  256. package/esm2022/table/table.property.mjs +12 -12
  257. package/esm2022/tabs/tab-content.component.mjs +3 -3
  258. package/esm2022/tabs/tab-link.directive.mjs +6 -6
  259. package/esm2022/tabs/tab.component.mjs +3 -3
  260. package/esm2022/tabs/tabs.component.mjs +5 -5
  261. package/esm2022/tabs/tabs.module.mjs +4 -4
  262. package/esm2022/tabs/tabs.property.mjs +6 -6
  263. package/esm2022/tag/tag.component.mjs +3 -3
  264. package/esm2022/tag/tag.module.mjs +4 -4
  265. package/esm2022/tag/tag.property.mjs +3 -3
  266. package/esm2022/text-retract/text-retract.component.mjs +3 -3
  267. package/esm2022/text-retract/text-retract.module.mjs +4 -4
  268. package/esm2022/text-retract/text-retract.property.mjs +3 -3
  269. package/esm2022/textarea/textarea.component.mjs +3 -3
  270. package/esm2022/textarea/textarea.module.mjs +4 -4
  271. package/esm2022/textarea/textarea.property.mjs +3 -3
  272. package/esm2022/theme/theme.component.mjs +3 -3
  273. package/esm2022/theme/theme.module.mjs +4 -4
  274. package/esm2022/theme/theme.property.mjs +3 -3
  275. package/esm2022/time-ago/time-ago.module.mjs +4 -4
  276. package/esm2022/time-ago/time-ago.pipe.mjs +3 -3
  277. package/esm2022/time-picker/time-picker-frame.component.mjs +3 -3
  278. package/esm2022/time-picker/time-picker-portal.component.mjs +3 -3
  279. package/esm2022/time-picker/time-picker.component.mjs +3 -3
  280. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  281. package/esm2022/time-picker/time-picker.property.mjs +3 -3
  282. package/esm2022/time-range/time-range.module.mjs +4 -4
  283. package/esm2022/time-range/time-range.pipe.mjs +3 -3
  284. package/esm2022/timeline/timeline.component.mjs +3 -3
  285. package/esm2022/timeline/timeline.module.mjs +4 -4
  286. package/esm2022/timeline/timeline.property.mjs +3 -3
  287. package/esm2022/tooltip/tooltip-portal.component.mjs +3 -3
  288. package/esm2022/tooltip/tooltip.directive.mjs +3 -3
  289. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  290. package/esm2022/tooltip/tooltip.property.mjs +3 -3
  291. package/esm2022/transfer/transfer.component.mjs +3 -3
  292. package/esm2022/transfer/transfer.module.mjs +4 -4
  293. package/esm2022/transfer/transfer.property.mjs +3 -3
  294. package/esm2022/tree/tree-node.component.mjs +3 -3
  295. package/esm2022/tree/tree.component.mjs +3 -3
  296. package/esm2022/tree/tree.module.mjs +4 -4
  297. package/esm2022/tree/tree.property.mjs +6 -6
  298. package/esm2022/tree/tree.service.mjs +3 -3
  299. package/esm2022/tree-file/tree-file.component.mjs +3 -3
  300. package/esm2022/tree-file/tree-file.module.mjs +4 -4
  301. package/esm2022/tree-file/tree-file.property.mjs +3 -3
  302. package/esm2022/tree-select/tree-select-portal.component.mjs +3 -3
  303. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  304. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  305. package/esm2022/tree-select/tree-select.property.mjs +3 -3
  306. package/esm2022/typography/typography.component.mjs +3 -3
  307. package/esm2022/typography/typography.module.mjs +4 -4
  308. package/esm2022/typography/typography.property.mjs +3 -3
  309. package/esm2022/upload/upload-portal.component.mjs +5 -5
  310. package/esm2022/upload/upload.component.mjs +3 -3
  311. package/esm2022/upload/upload.module.mjs +4 -4
  312. package/esm2022/upload/upload.property.mjs +3 -3
  313. package/fesm2022/ng-nest-ui-affix.mjs +10 -10
  314. package/fesm2022/ng-nest-ui-alert.mjs +12 -12
  315. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  316. package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
  317. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  318. package/fesm2022/ng-nest-ui-auto-complete.mjs +14 -14
  319. package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
  320. package/fesm2022/ng-nest-ui-back-top.mjs +11 -11
  321. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  322. package/fesm2022/ng-nest-ui-base-form.mjs +11 -11
  323. package/fesm2022/ng-nest-ui-border.mjs +8 -8
  324. package/fesm2022/ng-nest-ui-button.mjs +19 -18
  325. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  326. package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
  327. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  328. package/fesm2022/ng-nest-ui-carousel.mjs +17 -17
  329. package/fesm2022/ng-nest-ui-cascade.mjs +15 -15
  330. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  331. package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
  332. package/fesm2022/ng-nest-ui-color-picker.mjs +14 -14
  333. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  334. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  335. package/fesm2022/ng-nest-ui-comment.mjs +18 -18
  336. package/fesm2022/ng-nest-ui-container.mjs +32 -32
  337. package/fesm2022/ng-nest-ui-core.mjs +16 -16
  338. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  339. package/fesm2022/ng-nest-ui-date-picker.mjs +50 -50
  340. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  341. package/fesm2022/ng-nest-ui-dialog.mjs +44 -44
  342. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  344. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  345. package/fesm2022/ng-nest-ui-drawer.mjs +33 -33
  346. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-dropdown.mjs +15 -15
  348. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  349. package/fesm2022/ng-nest-ui-examples.mjs +9 -9
  350. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-find.mjs +12 -12
  352. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-form.mjs +17 -17
  354. package/fesm2022/ng-nest-ui-highlight.mjs +12 -12
  355. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  356. package/fesm2022/ng-nest-ui-icon.mjs +13 -13
  357. package/fesm2022/ng-nest-ui-image.mjs +20 -20
  358. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  360. package/fesm2022/ng-nest-ui-input-number.mjs +22 -17
  361. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  362. package/fesm2022/ng-nest-ui-input.mjs +17 -17
  363. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  364. package/fesm2022/ng-nest-ui-keyword.mjs +11 -11
  365. package/fesm2022/ng-nest-ui-layout.mjs +17 -17
  366. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  367. package/fesm2022/ng-nest-ui-list.mjs +20 -20
  368. package/fesm2022/ng-nest-ui-loading.mjs +11 -11
  369. package/fesm2022/ng-nest-ui-menu.mjs +18 -18
  370. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-message-box.mjs +14 -12
  372. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-message.mjs +11 -12
  374. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-notification.mjs +11 -11
  376. package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
  377. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  378. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  379. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  380. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  381. package/fesm2022/ng-nest-ui-popover.mjs +14 -14
  382. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  383. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  384. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  385. package/fesm2022/ng-nest-ui-rate.mjs +11 -11
  386. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  387. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  388. package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
  389. package/fesm2022/ng-nest-ui-select.mjs +13 -13
  390. package/fesm2022/ng-nest-ui-skeleton.mjs +11 -11
  391. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -11
  392. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  393. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  394. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  395. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  396. package/fesm2022/ng-nest-ui-table.mjs +45 -33
  397. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  398. package/fesm2022/ng-nest-ui-tabs.mjs +26 -26
  399. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  400. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  401. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  402. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  403. package/fesm2022/ng-nest-ui-theme.mjs +11 -11
  404. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  405. package/fesm2022/ng-nest-ui-time-picker.mjs +18 -18
  406. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  407. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  408. package/fesm2022/ng-nest-ui-tooltip.mjs +14 -14
  409. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  410. package/fesm2022/ng-nest-ui-tree-file.mjs +11 -11
  411. package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
  412. package/fesm2022/ng-nest-ui-tree.mjs +20 -20
  413. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  414. package/fesm2022/ng-nest-ui-upload.mjs +15 -15
  415. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  416. package/input-number/input-number.component.d.ts +1 -1
  417. package/message/message.property.d.ts +0 -1
  418. package/package.json +40 -40
  419. package/table/table.component.d.ts +1 -0
@@ -3,11 +3,11 @@ import { XStatisticComponent } from './statistic.component';
3
3
  import { XCountdownComponent } from './countdown.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class XStatisticModule {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStatisticModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: XStatisticModule, imports: [XStatisticComponent, XCountdownComponent], exports: [XStatisticComponent, XCountdownComponent] }); }
8
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStatisticModule }); }
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStatisticModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: XStatisticModule, imports: [XStatisticComponent, XCountdownComponent], exports: [XStatisticComponent, XCountdownComponent] }); }
8
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStatisticModule }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStatisticModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStatisticModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  exports: [XStatisticComponent, XCountdownComponent],
@@ -19,10 +19,10 @@ export class XStatisticProperty {
19
19
  */
20
20
  this.valueStyle = {};
21
21
  }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStatisticProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: XStatisticProperty, selector: "x-statistic-property", inputs: { value: "value", label: "label", prefix: "prefix", suffix: "suffix", valueStyle: "valueStyle" }, ngImport: i0, template: '', isInline: true }); }
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStatisticProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: XStatisticProperty, selector: "x-statistic-property", inputs: { value: "value", label: "label", prefix: "prefix", suffix: "suffix", valueStyle: "valueStyle" }, ngImport: i0, template: '', isInline: true }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStatisticProperty, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStatisticProperty, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: `${XStatisticPrefix}-property`, template: '' }]
28
28
  }], propDecorators: { value: [{
@@ -55,13 +55,13 @@ export class XCountdownProperty extends XStatisticProperty {
55
55
  */
56
56
  this.finish = new EventEmitter();
57
57
  }
58
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XCountdownProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
59
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: XCountdownProperty, selector: "x-countdown-property", inputs: { format: "format" }, outputs: { finish: "finish" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
58
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XCountdownProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
59
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: XCountdownProperty, selector: "x-countdown-property", inputs: { format: "format" }, outputs: { finish: "finish" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
60
60
  }
61
61
  __decorate([
62
62
  XWithConfig(X_CONFIG_NAME, 'HH:mm:ss')
63
63
  ], XCountdownProperty.prototype, "format", void 0);
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XCountdownProperty, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XCountdownProperty, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: `${XCountdownPrefix}-property`, template: '' }]
67
67
  }], propDecorators: { format: [{
@@ -69,10 +69,10 @@ export class XStepsComponent extends XStepsProperty {
69
69
  this.nodes = this.setStatus(this.nodes);
70
70
  this.cdr.detectChanges();
71
71
  }
72
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStepsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
73
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: XStepsComponent, isStandalone: true, selector: "x-steps", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #steps class=\"x-steps\" [ngClass]=\"classMap\">\r\n @for (node of nodes; track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl; context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">{{ node.label }}</span>\r\n @if (layout === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">{{ node.description }}</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-steps{margin:0;padding:0;display:flex}.x-steps-node{position:relative;flex:1;display:flex}.x-steps-node:last-child{flex:inherit}.x-steps-node:last-child .x-steps-line{display:none}.x-steps-content{padding:0 .5rem;position:relative;flex:1;display:flex;flex-direction:column}.x-steps-header{display:flex;flex-direction:column;align-items:center}.x-steps-title{display:flex;align-items:center;line-height:2rem;transition:var(--x-animation-duration-base)}.x-steps-label{padding-right:.5rem;white-space:nowrap;transition:var(--x-animation-duration-base)}.x-steps-line{flex:1;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:var(--x-animation-duration-base)}.x-steps-icon{height:2rem;width:2rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-steps-icon>.x-icon{font-size:1rem}.x-steps-icon.x-steps-only-icon{border:none}.x-steps-icon.x-steps-only-icon .x-icon{font-size:1.5rem}.x-steps-description{font-size:var(--x-font-size-small);color:var(--x-text-400);max-width:8rem}.x-steps-row{flex-direction:row}.x-steps-column{flex-direction:column}.x-steps-column .x-steps-header{min-height:5rem}.x-steps-column .x-steps-line{border-bottom:none;border-right:var(--x-border-width) var(--x-border-style) var(--x-border);margin:.5rem 0}.x-steps-column .x-steps-content{padding:0 0 .5rem .5rem}.x-steps-column .x-steps-description{max-width:inherit}.x-steps-wait .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-wait .x-steps-icon{color:var(--x-text-400);background-color:\"\";border-color:\"\"}.x-steps-wait .x-steps-line{border-color:\"\"}.x-steps-process .x-steps-label{color:var(--x-text-300);font-weight:700}.x-steps-process .x-steps-icon{color:var(--x-white);background-color:var(--x-primary);border-color:var(--x-primary)}.x-steps-process .x-steps-icon.x-steps-only-icon{color:var(--x-primary);background-color:inherit}.x-steps-process .x-steps-line{border-color:\"\"}.x-steps-finish .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-finish .x-steps-icon{color:var(--x-primary);background-color:\"\";border-color:\"\"}.x-steps-finish .x-steps-line{border-color:var(--x-primary)}.x-steps-error .x-steps-label{color:var(--x-danger);font-weight:\"\"}.x-steps-error .x-steps-icon{color:var(--x-danger);background-color:\"\";border-color:var(--x-danger)}.x-steps-error .x-steps-line{border-color:\"\"}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
72
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStepsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
73
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: XStepsComponent, isStandalone: true, selector: "x-steps", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #steps class=\"x-steps\" [ngClass]=\"classMap\">\r\n @for (node of nodes; track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl; context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">{{ node.label }}</span>\r\n @if (layout === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">{{ node.description }}</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-steps{margin:0;padding:0;display:flex}.x-steps-node{position:relative;flex:1;display:flex}.x-steps-node:last-child{flex:inherit}.x-steps-node:last-child .x-steps-line{display:none}.x-steps-content{padding:0 .5rem;position:relative;flex:1;display:flex;flex-direction:column}.x-steps-header{display:flex;flex-direction:column;align-items:center}.x-steps-title{display:flex;align-items:center;line-height:2rem;transition:var(--x-animation-duration-base)}.x-steps-label{padding-right:.5rem;white-space:nowrap;transition:var(--x-animation-duration-base)}.x-steps-line{flex:1;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:var(--x-animation-duration-base)}.x-steps-icon{height:2rem;width:2rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-steps-icon>.x-icon{font-size:1rem}.x-steps-icon.x-steps-only-icon{border:none}.x-steps-icon.x-steps-only-icon .x-icon{font-size:1.5rem}.x-steps-description{font-size:var(--x-font-size-small);color:var(--x-text-400);max-width:8rem}.x-steps-row{flex-direction:row}.x-steps-column{flex-direction:column}.x-steps-column .x-steps-header{min-height:5rem}.x-steps-column .x-steps-line{border-bottom:none;border-right:var(--x-border-width) var(--x-border-style) var(--x-border);margin:.5rem 0}.x-steps-column .x-steps-content{padding:0 0 .5rem .5rem}.x-steps-column .x-steps-description{max-width:inherit}.x-steps-wait .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-wait .x-steps-icon{color:var(--x-text-400);background-color:\"\";border-color:\"\"}.x-steps-wait .x-steps-line{border-color:\"\"}.x-steps-process .x-steps-label{color:var(--x-text-300);font-weight:700}.x-steps-process .x-steps-icon{color:var(--x-white);background-color:var(--x-primary);border-color:var(--x-primary)}.x-steps-process .x-steps-icon.x-steps-only-icon{color:var(--x-primary);background-color:inherit}.x-steps-process .x-steps-line{border-color:\"\"}.x-steps-finish .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-finish .x-steps-icon{color:var(--x-primary);background-color:\"\";border-color:\"\"}.x-steps-finish .x-steps-line{border-color:var(--x-primary)}.x-steps-error .x-steps-label{color:var(--x-danger);font-weight:\"\"}.x-steps-error .x-steps-icon{color:var(--x-danger);background-color:\"\";border-color:var(--x-danger)}.x-steps-error .x-steps-line{border-color:\"\"}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStepsComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStepsComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{ selector: `${XStepsPrefix}`, standalone: true, imports: [NgClass, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #steps class=\"x-steps\" [ngClass]=\"classMap\">\r\n @for (node of nodes; track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl; context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">{{ node.label }}</span>\r\n @if (layout === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">{{ node.description }}</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-steps{margin:0;padding:0;display:flex}.x-steps-node{position:relative;flex:1;display:flex}.x-steps-node:last-child{flex:inherit}.x-steps-node:last-child .x-steps-line{display:none}.x-steps-content{padding:0 .5rem;position:relative;flex:1;display:flex;flex-direction:column}.x-steps-header{display:flex;flex-direction:column;align-items:center}.x-steps-title{display:flex;align-items:center;line-height:2rem;transition:var(--x-animation-duration-base)}.x-steps-label{padding-right:.5rem;white-space:nowrap;transition:var(--x-animation-duration-base)}.x-steps-line{flex:1;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:var(--x-animation-duration-base)}.x-steps-icon{height:2rem;width:2rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-steps-icon>.x-icon{font-size:1rem}.x-steps-icon.x-steps-only-icon{border:none}.x-steps-icon.x-steps-only-icon .x-icon{font-size:1.5rem}.x-steps-description{font-size:var(--x-font-size-small);color:var(--x-text-400);max-width:8rem}.x-steps-row{flex-direction:row}.x-steps-column{flex-direction:column}.x-steps-column .x-steps-header{min-height:5rem}.x-steps-column .x-steps-line{border-bottom:none;border-right:var(--x-border-width) var(--x-border-style) var(--x-border);margin:.5rem 0}.x-steps-column .x-steps-content{padding:0 0 .5rem .5rem}.x-steps-column .x-steps-description{max-width:inherit}.x-steps-wait .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-wait .x-steps-icon{color:var(--x-text-400);background-color:\"\";border-color:\"\"}.x-steps-wait .x-steps-line{border-color:\"\"}.x-steps-process .x-steps-label{color:var(--x-text-300);font-weight:700}.x-steps-process .x-steps-icon{color:var(--x-white);background-color:var(--x-primary);border-color:var(--x-primary)}.x-steps-process .x-steps-icon.x-steps-only-icon{color:var(--x-primary);background-color:inherit}.x-steps-process .x-steps-line{border-color:\"\"}.x-steps-finish .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-finish .x-steps-icon{color:var(--x-primary);background-color:\"\";border-color:\"\"}.x-steps-finish .x-steps-line{border-color:var(--x-primary)}.x-steps-error .x-steps-label{color:var(--x-danger);font-weight:\"\"}.x-steps-error .x-steps-icon{color:var(--x-danger);background-color:\"\";border-color:var(--x-danger)}.x-steps-error .x-steps-line{border-color:\"\"}\n"] }]
78
78
  }] });
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { XStepsComponent } from './steps.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class XStepsModule {
5
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStepsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: XStepsModule, imports: [XStepsComponent], exports: [XStepsComponent] }); }
7
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStepsModule, imports: [XStepsComponent] }); }
5
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStepsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: XStepsModule, imports: [XStepsComponent], exports: [XStepsComponent] }); }
7
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStepsModule, imports: [XStepsComponent] }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStepsModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStepsModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  exports: [XStepsComponent],
@@ -35,8 +35,8 @@ export class XStepsProperty extends XProperty {
35
35
  */
36
36
  this.startIndex = 0;
37
37
  }
38
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStepsProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
39
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: XStepsProperty, selector: "x-steps-property", inputs: { data: "data", layout: "layout", activatedIndex: "activatedIndex", startIndex: "startIndex", status: "status", customTpl: "customTpl", nodeStatus: "nodeStatus" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
38
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStepsProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
39
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: XStepsProperty, selector: "x-steps-property", inputs: { data: "data", layout: "layout", activatedIndex: "activatedIndex", startIndex: "startIndex", status: "status", customTpl: "customTpl", nodeStatus: "nodeStatus" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
40
40
  }
41
41
  __decorate([
42
42
  XDataConvert()
@@ -50,7 +50,7 @@ __decorate([
50
50
  __decorate([
51
51
  XInputBoolean()
52
52
  ], XStepsProperty.prototype, "nodeStatus", void 0);
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XStepsProperty, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XStepsProperty, decorators: [{
54
54
  type: Component,
55
55
  args: [{ selector: `${XStepsPrefix}-property`, template: '' }]
56
56
  }], propDecorators: { data: [{
@@ -43,10 +43,10 @@ export class XSwitchComponent extends XSwitchProperty {
43
43
  this.ngOnInit();
44
44
  this.cdr.detectChanges();
45
45
  }
46
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
47
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: XSwitchComponent, isStandalone: true, selector: "x-switch", providers: [XValueAccessor(XSwitchComponent)], viewQueries: [{ propertyName: "switch", first: true, predicate: ["switch"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #switch\r\n class=\"x-switch\"\r\n [ngClass]=\"classMap\"\r\n [class.x-switch-loading]=\"loading\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n>\r\n @if (label) {\r\n <label [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n }\r\n <div class=\"x-switch-row\">\r\n <div class=\"x-switch-slider\" (click)=\"switchClick()\">\r\n <div class=\"x-switch-handle\">\r\n <div class=\"x-switch-spinner\" [x-loading]=\"loading\" [size]=\"size\"></div>\r\n </div>\r\n <div class=\"x-switch-text\">\r\n @if (value) {\r\n <ng-container *xOutlet=\"checkedText\">{{ checkedText }}</ng-container>\r\n } @else {\r\n <ng-container *xOutlet=\"unCheckedText\">{{ unCheckedText }}</ng-container>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-switch{margin:0;padding:0;width:100%}.x-switch.x-flex{display:flex}.x-switch.x-justify-start{justify-content:flex-start}.x-switch.x-justify-center{justify-content:center}.x-switch.x-justify-end{justify-content:flex-end}.x-switch.x-justify-space-between{justify-content:space-between}.x-switch.x-justify-space-around{justify-content:space-around}.x-switch.x-align-start{align-items:flex-start}.x-switch.x-align-center{align-items:center}.x-switch.x-align-end{align-items:flex-end}.x-switch.x-direction-column{flex-direction:column}.x-switch.x-direction-column-reverse{flex-direction:column-reverse}.x-switch.x-direction-row{flex-direction:row}.x-switch.x-direction-row-reverse{flex-direction:row-reverse}.x-switch>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-switch>label.x-text-align-start{text-align:start}.x-switch>label.x-text-align-center{text-align:center}.x-switch>label.x-text-align-end{text-align:end}.x-switch-row{flex:1;display:flex;align-items:center;position:relative;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem)}.x-switch-slider{display:inline-flex;align-items:center;position:relative;border:var(--x-border-width) solid var(--x-info);background-color:var(--x-info);cursor:pointer;transition:var(--x-animation-duration-slow)}.x-switch-handle{position:absolute;transition:var(--x-animation-duration-slow);left:0;display:block}.x-switch-handle:before{position:absolute;inset:0;box-shadow:0 .125rem .25rem #00230b33;background-color:var(--x-background-a100);content:\"\"}.x-switch-spinner .x-loading{background-color:transparent}.x-switch-spinner .x-loading-spinner{display:flex;align-items:center}.x-switch-text{color:var(--x-white);transition:var(--x-animation-duration-slow)}.x-switch.x-checked .x-switch-slider{background-color:var(--x-primary);border-color:var(--x-primary)}.x-switch.x-required>label{color:var(--x-danger)}.x-switch.x-disabled .x-switch-slider,.x-switch-loading .x-switch-slider{cursor:not-allowed;background-color:var(--x-info-500);border-color:var(--x-info-500)}.x-switch.x-disabled.x-checked .x-switch-slider,.x-switch-loading.x-checked .x-switch-slider{background-color:var(--x-primary-500);border-color:var(--x-primary-500)}.x-switch.x-direction-row>label{padding:0 .5rem 0 0}.x-switch.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-switch.x-direction-column,.x-switch.x-direction-column-reverse{align-items:inherit}.x-switch-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-switch-big .x-switch-slider{height:calc(var(--x-height-big) - .25rem);min-width:calc((var(--x-height-big) - .25rem) * 2);border-radius:calc(var(--x-height-big) - .25rem);margin:.125rem 0}.x-switch-big .x-switch-handle{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem);margin:0 .125rem}.x-switch-big .x-switch-handle:before{border-radius:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-switch-text{margin-left:calc(var(--x-height-big) - .125rem);margin-right:.5rem}.x-switch-big.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-big) - .5rem) - .25rem)}.x-switch-big.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-big) - .25rem)}.x-switch-big .x-switch-spinner{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-loading-big .x-loading-circular{width:calc(var(--x-height-big) - .625rem);height:calc(var(--x-height-big) - .625rem)}.x-switch-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-switch-large .x-switch-slider{height:calc(var(--x-height-large) - .25rem);min-width:calc((var(--x-height-large) - .25rem) * 2);border-radius:calc(var(--x-height-large) - .25rem);margin:.125rem 0}.x-switch-large .x-switch-handle{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem);margin:0 .125rem}.x-switch-large .x-switch-handle:before{border-radius:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-switch-text{margin-left:calc(var(--x-height-large) - .125rem);margin-right:.5rem}.x-switch-large.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-large) - .5rem) - .25rem)}.x-switch-large.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-large) - .25rem)}.x-switch-large .x-switch-spinner{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-loading-large .x-loading-circular{width:calc(var(--x-height-large) - .625rem);height:calc(var(--x-height-large) - .625rem)}.x-switch-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-switch-medium .x-switch-slider{height:calc(var(--x-height-medium) - .25rem);min-width:calc((var(--x-height-medium) - .25rem) * 2);border-radius:calc(var(--x-height-medium) - .25rem);margin:.125rem 0}.x-switch-medium .x-switch-handle{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem);margin:0 .125rem}.x-switch-medium .x-switch-handle:before{border-radius:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-switch-text{margin-left:calc(var(--x-height-medium) - .125rem);margin-right:.5rem}.x-switch-medium.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-medium) - .5rem) - .25rem)}.x-switch-medium.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-medium) - .25rem)}.x-switch-medium .x-switch-spinner{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-loading-medium .x-loading-circular{width:calc(var(--x-height-medium) - .625rem);height:calc(var(--x-height-medium) - .625rem)}.x-switch-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-switch-small .x-switch-slider{height:calc(var(--x-height-small) - .25rem);min-width:calc((var(--x-height-small) - .25rem) * 2);border-radius:calc(var(--x-height-small) - .25rem);margin:.125rem 0}.x-switch-small .x-switch-handle{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem);margin:0 .125rem}.x-switch-small .x-switch-handle:before{border-radius:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-switch-text{margin-left:calc(var(--x-height-small) - .125rem);margin-right:.5rem}.x-switch-small.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-small) - .5rem) - .25rem)}.x-switch-small.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-small) - .25rem)}.x-switch-small .x-switch-spinner{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-loading-small .x-loading-circular{width:calc(var(--x-height-small) - .625rem);height:calc(var(--x-height-small) - .625rem)}.x-switch-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-switch-mini .x-switch-slider{height:calc(var(--x-height-mini) - .25rem);min-width:calc((var(--x-height-mini) - .25rem) * 2);border-radius:calc(var(--x-height-mini) - .25rem);margin:.125rem 0}.x-switch-mini .x-switch-handle{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem);margin:0 .125rem}.x-switch-mini .x-switch-handle:before{border-radius:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-switch-text{margin-left:calc(var(--x-height-mini) - .125rem);margin-right:.5rem}.x-switch-mini.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-mini) - .5rem) - .25rem)}.x-switch-mini.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-mini) - .25rem)}.x-switch-mini .x-switch-spinner{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-loading-mini .x-loading-circular{width:calc(var(--x-height-mini) - .625rem);height:calc(var(--x-height-mini) - .625rem)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
47
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: XSwitchComponent, isStandalone: true, selector: "x-switch", providers: [XValueAccessor(XSwitchComponent)], viewQueries: [{ propertyName: "switch", first: true, predicate: ["switch"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #switch\r\n class=\"x-switch\"\r\n [ngClass]=\"classMap\"\r\n [class.x-switch-loading]=\"loading\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n>\r\n @if (label) {\r\n <label [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n }\r\n <div class=\"x-switch-row\">\r\n <div class=\"x-switch-slider\" (click)=\"switchClick()\">\r\n <div class=\"x-switch-handle\">\r\n <div class=\"x-switch-spinner\" [x-loading]=\"loading\" [size]=\"size\"></div>\r\n </div>\r\n <div class=\"x-switch-text\">\r\n @if (value) {\r\n <ng-container *xOutlet=\"checkedText\">{{ checkedText }}</ng-container>\r\n } @else {\r\n <ng-container *xOutlet=\"unCheckedText\">{{ unCheckedText }}</ng-container>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-switch{margin:0;padding:0;width:100%}.x-switch.x-flex{display:flex}.x-switch.x-justify-start{justify-content:flex-start}.x-switch.x-justify-center{justify-content:center}.x-switch.x-justify-end{justify-content:flex-end}.x-switch.x-justify-space-between{justify-content:space-between}.x-switch.x-justify-space-around{justify-content:space-around}.x-switch.x-align-start{align-items:flex-start}.x-switch.x-align-center{align-items:center}.x-switch.x-align-end{align-items:flex-end}.x-switch.x-direction-column{flex-direction:column}.x-switch.x-direction-column-reverse{flex-direction:column-reverse}.x-switch.x-direction-row{flex-direction:row}.x-switch.x-direction-row-reverse{flex-direction:row-reverse}.x-switch>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-switch>label.x-text-align-start{text-align:start}.x-switch>label.x-text-align-center{text-align:center}.x-switch>label.x-text-align-end{text-align:end}.x-switch-row{flex:1;display:flex;align-items:center;position:relative;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem)}.x-switch-slider{display:inline-flex;align-items:center;position:relative;border:var(--x-border-width) solid var(--x-info);background-color:var(--x-info);cursor:pointer;transition:var(--x-animation-duration-slow)}.x-switch-handle{position:absolute;transition:var(--x-animation-duration-slow);left:0;display:block}.x-switch-handle:before{position:absolute;inset:0;box-shadow:0 .125rem .25rem #00230b33;background-color:var(--x-background-a100);content:\"\"}.x-switch-spinner .x-loading{background-color:transparent}.x-switch-spinner .x-loading-spinner{display:flex;align-items:center}.x-switch-text{color:var(--x-white);transition:var(--x-animation-duration-slow)}.x-switch.x-checked .x-switch-slider{background-color:var(--x-primary);border-color:var(--x-primary)}.x-switch.x-required>label{color:var(--x-danger)}.x-switch.x-disabled .x-switch-slider,.x-switch-loading .x-switch-slider{cursor:not-allowed;background-color:var(--x-info-500);border-color:var(--x-info-500)}.x-switch.x-disabled.x-checked .x-switch-slider,.x-switch-loading.x-checked .x-switch-slider{background-color:var(--x-primary-500);border-color:var(--x-primary-500)}.x-switch.x-direction-row>label{padding:0 .5rem 0 0}.x-switch.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-switch.x-direction-column,.x-switch.x-direction-column-reverse{align-items:inherit}.x-switch-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-switch-big .x-switch-slider{height:calc(var(--x-height-big) - .25rem);min-width:calc((var(--x-height-big) - .25rem) * 2);border-radius:calc(var(--x-height-big) - .25rem);margin:.125rem 0}.x-switch-big .x-switch-handle{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem);margin:0 .125rem}.x-switch-big .x-switch-handle:before{border-radius:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-switch-text{margin-left:calc(var(--x-height-big) - .125rem);margin-right:.5rem}.x-switch-big.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-big) - .5rem) - .25rem)}.x-switch-big.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-big) - .25rem)}.x-switch-big .x-switch-spinner{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-loading-big .x-loading-circular{width:calc(var(--x-height-big) - .625rem);height:calc(var(--x-height-big) - .625rem)}.x-switch-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-switch-large .x-switch-slider{height:calc(var(--x-height-large) - .25rem);min-width:calc((var(--x-height-large) - .25rem) * 2);border-radius:calc(var(--x-height-large) - .25rem);margin:.125rem 0}.x-switch-large .x-switch-handle{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem);margin:0 .125rem}.x-switch-large .x-switch-handle:before{border-radius:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-switch-text{margin-left:calc(var(--x-height-large) - .125rem);margin-right:.5rem}.x-switch-large.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-large) - .5rem) - .25rem)}.x-switch-large.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-large) - .25rem)}.x-switch-large .x-switch-spinner{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-loading-large .x-loading-circular{width:calc(var(--x-height-large) - .625rem);height:calc(var(--x-height-large) - .625rem)}.x-switch-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-switch-medium .x-switch-slider{height:calc(var(--x-height-medium) - .25rem);min-width:calc((var(--x-height-medium) - .25rem) * 2);border-radius:calc(var(--x-height-medium) - .25rem);margin:.125rem 0}.x-switch-medium .x-switch-handle{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem);margin:0 .125rem}.x-switch-medium .x-switch-handle:before{border-radius:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-switch-text{margin-left:calc(var(--x-height-medium) - .125rem);margin-right:.5rem}.x-switch-medium.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-medium) - .5rem) - .25rem)}.x-switch-medium.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-medium) - .25rem)}.x-switch-medium .x-switch-spinner{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-loading-medium .x-loading-circular{width:calc(var(--x-height-medium) - .625rem);height:calc(var(--x-height-medium) - .625rem)}.x-switch-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-switch-small .x-switch-slider{height:calc(var(--x-height-small) - .25rem);min-width:calc((var(--x-height-small) - .25rem) * 2);border-radius:calc(var(--x-height-small) - .25rem);margin:.125rem 0}.x-switch-small .x-switch-handle{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem);margin:0 .125rem}.x-switch-small .x-switch-handle:before{border-radius:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-switch-text{margin-left:calc(var(--x-height-small) - .125rem);margin-right:.5rem}.x-switch-small.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-small) - .5rem) - .25rem)}.x-switch-small.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-small) - .25rem)}.x-switch-small .x-switch-spinner{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-loading-small .x-loading-circular{width:calc(var(--x-height-small) - .625rem);height:calc(var(--x-height-small) - .625rem)}.x-switch-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-switch-mini .x-switch-slider{height:calc(var(--x-height-mini) - .25rem);min-width:calc((var(--x-height-mini) - .25rem) * 2);border-radius:calc(var(--x-height-mini) - .25rem);margin:.125rem 0}.x-switch-mini .x-switch-handle{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem);margin:0 .125rem}.x-switch-mini .x-switch-handle:before{border-radius:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-switch-text{margin-left:calc(var(--x-height-mini) - .125rem);margin-right:.5rem}.x-switch-mini.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-mini) - .5rem) - .25rem)}.x-switch-mini.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-mini) - .25rem)}.x-switch-mini .x-switch-spinner{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-loading-mini .x-loading-circular{width:calc(var(--x-height-mini) - .625rem);height:calc(var(--x-height-mini) - .625rem)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XSwitchComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XSwitchComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: `${XSwitchPrefix}`, standalone: true, imports: [NgClass, FormsModule, ReactiveFormsModule, XLoadingComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSwitchComponent)], template: "<div\r\n #switch\r\n class=\"x-switch\"\r\n [ngClass]=\"classMap\"\r\n [class.x-switch-loading]=\"loading\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n>\r\n @if (label) {\r\n <label [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n }\r\n <div class=\"x-switch-row\">\r\n <div class=\"x-switch-slider\" (click)=\"switchClick()\">\r\n <div class=\"x-switch-handle\">\r\n <div class=\"x-switch-spinner\" [x-loading]=\"loading\" [size]=\"size\"></div>\r\n </div>\r\n <div class=\"x-switch-text\">\r\n @if (value) {\r\n <ng-container *xOutlet=\"checkedText\">{{ checkedText }}</ng-container>\r\n } @else {\r\n <ng-container *xOutlet=\"unCheckedText\">{{ unCheckedText }}</ng-container>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-switch{margin:0;padding:0;width:100%}.x-switch.x-flex{display:flex}.x-switch.x-justify-start{justify-content:flex-start}.x-switch.x-justify-center{justify-content:center}.x-switch.x-justify-end{justify-content:flex-end}.x-switch.x-justify-space-between{justify-content:space-between}.x-switch.x-justify-space-around{justify-content:space-around}.x-switch.x-align-start{align-items:flex-start}.x-switch.x-align-center{align-items:center}.x-switch.x-align-end{align-items:flex-end}.x-switch.x-direction-column{flex-direction:column}.x-switch.x-direction-column-reverse{flex-direction:column-reverse}.x-switch.x-direction-row{flex-direction:row}.x-switch.x-direction-row-reverse{flex-direction:row-reverse}.x-switch>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-switch>label.x-text-align-start{text-align:start}.x-switch>label.x-text-align-center{text-align:center}.x-switch>label.x-text-align-end{text-align:end}.x-switch-row{flex:1;display:flex;align-items:center;position:relative;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem)}.x-switch-slider{display:inline-flex;align-items:center;position:relative;border:var(--x-border-width) solid var(--x-info);background-color:var(--x-info);cursor:pointer;transition:var(--x-animation-duration-slow)}.x-switch-handle{position:absolute;transition:var(--x-animation-duration-slow);left:0;display:block}.x-switch-handle:before{position:absolute;inset:0;box-shadow:0 .125rem .25rem #00230b33;background-color:var(--x-background-a100);content:\"\"}.x-switch-spinner .x-loading{background-color:transparent}.x-switch-spinner .x-loading-spinner{display:flex;align-items:center}.x-switch-text{color:var(--x-white);transition:var(--x-animation-duration-slow)}.x-switch.x-checked .x-switch-slider{background-color:var(--x-primary);border-color:var(--x-primary)}.x-switch.x-required>label{color:var(--x-danger)}.x-switch.x-disabled .x-switch-slider,.x-switch-loading .x-switch-slider{cursor:not-allowed;background-color:var(--x-info-500);border-color:var(--x-info-500)}.x-switch.x-disabled.x-checked .x-switch-slider,.x-switch-loading.x-checked .x-switch-slider{background-color:var(--x-primary-500);border-color:var(--x-primary-500)}.x-switch.x-direction-row>label{padding:0 .5rem 0 0}.x-switch.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-switch.x-direction-column,.x-switch.x-direction-column-reverse{align-items:inherit}.x-switch-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-switch-big .x-switch-slider{height:calc(var(--x-height-big) - .25rem);min-width:calc((var(--x-height-big) - .25rem) * 2);border-radius:calc(var(--x-height-big) - .25rem);margin:.125rem 0}.x-switch-big .x-switch-handle{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem);margin:0 .125rem}.x-switch-big .x-switch-handle:before{border-radius:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-switch-text{margin-left:calc(var(--x-height-big) - .125rem);margin-right:.5rem}.x-switch-big.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-big) - .5rem) - .25rem)}.x-switch-big.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-big) - .25rem)}.x-switch-big .x-switch-spinner{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-loading-big .x-loading-circular{width:calc(var(--x-height-big) - .625rem);height:calc(var(--x-height-big) - .625rem)}.x-switch-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-switch-large .x-switch-slider{height:calc(var(--x-height-large) - .25rem);min-width:calc((var(--x-height-large) - .25rem) * 2);border-radius:calc(var(--x-height-large) - .25rem);margin:.125rem 0}.x-switch-large .x-switch-handle{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem);margin:0 .125rem}.x-switch-large .x-switch-handle:before{border-radius:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-switch-text{margin-left:calc(var(--x-height-large) - .125rem);margin-right:.5rem}.x-switch-large.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-large) - .5rem) - .25rem)}.x-switch-large.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-large) - .25rem)}.x-switch-large .x-switch-spinner{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-loading-large .x-loading-circular{width:calc(var(--x-height-large) - .625rem);height:calc(var(--x-height-large) - .625rem)}.x-switch-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-switch-medium .x-switch-slider{height:calc(var(--x-height-medium) - .25rem);min-width:calc((var(--x-height-medium) - .25rem) * 2);border-radius:calc(var(--x-height-medium) - .25rem);margin:.125rem 0}.x-switch-medium .x-switch-handle{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem);margin:0 .125rem}.x-switch-medium .x-switch-handle:before{border-radius:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-switch-text{margin-left:calc(var(--x-height-medium) - .125rem);margin-right:.5rem}.x-switch-medium.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-medium) - .5rem) - .25rem)}.x-switch-medium.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-medium) - .25rem)}.x-switch-medium .x-switch-spinner{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-loading-medium .x-loading-circular{width:calc(var(--x-height-medium) - .625rem);height:calc(var(--x-height-medium) - .625rem)}.x-switch-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-switch-small .x-switch-slider{height:calc(var(--x-height-small) - .25rem);min-width:calc((var(--x-height-small) - .25rem) * 2);border-radius:calc(var(--x-height-small) - .25rem);margin:.125rem 0}.x-switch-small .x-switch-handle{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem);margin:0 .125rem}.x-switch-small .x-switch-handle:before{border-radius:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-switch-text{margin-left:calc(var(--x-height-small) - .125rem);margin-right:.5rem}.x-switch-small.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-small) - .5rem) - .25rem)}.x-switch-small.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-small) - .25rem)}.x-switch-small .x-switch-spinner{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-loading-small .x-loading-circular{width:calc(var(--x-height-small) - .625rem);height:calc(var(--x-height-small) - .625rem)}.x-switch-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-switch-mini .x-switch-slider{height:calc(var(--x-height-mini) - .25rem);min-width:calc((var(--x-height-mini) - .25rem) * 2);border-radius:calc(var(--x-height-mini) - .25rem);margin:.125rem 0}.x-switch-mini .x-switch-handle{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem);margin:0 .125rem}.x-switch-mini .x-switch-handle:before{border-radius:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-switch-text{margin-left:calc(var(--x-height-mini) - .125rem);margin-right:.5rem}.x-switch-mini.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-mini) - .5rem) - .25rem)}.x-switch-mini.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-mini) - .25rem)}.x-switch-mini .x-switch-spinner{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-loading-mini .x-loading-circular{width:calc(var(--x-height-mini) - .625rem);height:calc(var(--x-height-mini) - .625rem)}\n"] }]
52
52
  }], propDecorators: { switch: [{
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { XSwitchComponent } from './switch.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class XSwitchModule {
5
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: XSwitchModule, imports: [XSwitchComponent], exports: [XSwitchComponent] }); }
7
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XSwitchModule, imports: [XSwitchComponent] }); }
5
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: XSwitchModule, imports: [XSwitchComponent], exports: [XSwitchComponent] }); }
7
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XSwitchModule, imports: [XSwitchComponent] }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XSwitchModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XSwitchModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  exports: [XSwitchComponent],
@@ -27,8 +27,8 @@ export class XSwitchProperty extends XControlValueAccessor {
27
27
  */
28
28
  this.manual = false;
29
29
  }
30
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XSwitchProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
31
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: XSwitchProperty, selector: "x-switch-property", inputs: { loading: "loading", manual: "manual", size: "size", checkedText: "checkedText", unCheckedText: "unCheckedText" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
30
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XSwitchProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
31
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: XSwitchProperty, selector: "x-switch-property", inputs: { loading: "loading", manual: "manual", size: "size", checkedText: "checkedText", unCheckedText: "unCheckedText" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
32
32
  }
33
33
  __decorate([
34
34
  XInputBoolean()
@@ -39,7 +39,7 @@ __decorate([
39
39
  __decorate([
40
40
  XWithConfig(X_CONFIG_NAME, 'medium')
41
41
  ], XSwitchProperty.prototype, "size", void 0);
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XSwitchProperty, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XSwitchProperty, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: `${XSwitchPrefix}-property`, template: '' }]
45
45
  }], propDecorators: { loading: [{
@@ -174,8 +174,10 @@ export class XTableBodyComponent extends XTableBodyProperty {
174
174
  this.bodyHeight = 0;
175
175
  this.minBufferPx = this.bodyHeight;
176
176
  this.maxBufferPx = this.bodyHeight * 1.2;
177
- this.virtualBody['_scrollStrategy']['_minBufferPx'] = this.minBufferPx;
178
- this.virtualBody['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPx;
177
+ if (this.virtualBody) {
178
+ this.virtualBody['_scrollStrategy']['_minBufferPx'] = this.minBufferPx;
179
+ this.virtualBody['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPx;
180
+ }
179
181
  this.cdr.detectChanges();
180
182
  }
181
183
  }
@@ -199,10 +201,10 @@ export class XTableBodyComponent extends XTableBodyProperty {
199
201
  trackByItem(_index, item) {
200
202
  return item.id;
201
203
  }
202
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XTableBodyComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
203
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: XTableBodyComponent, isStandalone: true, selector: "x-table-body", inputs: { table: "table" }, viewQueries: [{ propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }], usesInheritance: true, usesOnChanges: 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]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [style.height.px]=\"bodyHeight\"\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)=\"rowClick($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)=\"rowClick($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 (activatedRowChange)=\"table.activatedRowChange.emit($event)\"\r\n [level]=\"row.level! + 1\"\r\n [table]=\"table\"\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 class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n }\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <ng-container *xOutlet=\"table.bodyTdTpl; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <div [innerHTML]=\"row[column.id]\" [style.text-align]=\"column.textAlign\"></div>\r\n {{ table.rowExpandNext && table.rowExpandNext.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", inputs: ["table"] }, { 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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.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: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.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 }); }
204
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XTableBodyComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
205
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: XTableBodyComponent, isStandalone: true, selector: "x-table-body", inputs: { table: "table" }, viewQueries: [{ propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }], usesInheritance: true, usesOnChanges: 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]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [style.height.px]=\"bodyHeight\"\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)=\"rowClick($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)=\"rowClick($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 (activatedRowChange)=\"table.activatedRowChange.emit($event)\"\r\n [level]=\"row.level! + 1\"\r\n [table]=\"table\"\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 class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n }\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <ng-container *xOutlet=\"table.bodyTdTpl; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <div [innerHTML]=\"row[column.id]\" [style.text-align]=\"column.textAlign\"></div>\r\n {{ table.rowExpandNext && table.rowExpandNext.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", inputs: ["table"] }, { 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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.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: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.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 }); }
204
206
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XTableBodyComponent, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XTableBodyComponent, decorators: [{
206
208
  type: Component,
207
209
  args: [{ selector: `${XTableBodyPrefix}`, standalone: true, imports: [
208
210
  NgClass,
@@ -223,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
223
225
  }], table: [{
224
226
  type: Input
225
227
  }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBdUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBR1AsU0FBUyxFQUNULFdBQVcsRUFFWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUE0QixlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFtQnRELE1BQU0s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QUM7SUFFRCxVQUFVLENBQUMsTUFBYSxFQUFFLElBQWU7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWMsRUFBRSxJQUE4QjtRQUN4RCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztpSUF6TVUsbUJBQW1CO3FIQUFuQixtQkFBbUIsNlVDcERoQyxnMU1BZ0pBLDRDRDVGYSxtQkFBbUIsNEVBYjVCLE9BQU8sb0ZBQ1AsZ0JBQWdCLG1KQUNoQixXQUFXLCtWQUNYLGVBQWUsbURBQ2YsZUFBZSw0akJBQ2YsZ0JBQWdCLDZGQUNoQixrQkFBa0IsdURBQ2xCLGdCQUFnQjs7MkZBTVAsbUJBQW1CO2tCQWpCL0IsU0FBUzsrQkFDRSxHQUFHLGdCQUFnQixFQUFFLGNBQ25CLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjtxQkFDakIsaUJBRWMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtvS0FjM0IsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNRLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDZixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0LFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVGFibGVCb2R5UHJlZml4LCBYVGFibGVCb2R5UHJvcGVydHksIFhUYWJsZVJvdywgWFRhYmxlQ29sdW1uLCBYVGFibGVDZWxsIH0gZnJvbSAnLi90YWJsZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgcmVtb3ZlTmdUYWcsXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhSZXNpemUsXHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWE51bWJlcixcclxuICBzdHJpcFRhZ3MsXHJcbiAgWFBhcmVudFBhdGgsXHJcbiAgWFJlc2l6ZU9ic2VydmVyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCwgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWEVtcHR5Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvZW1wdHknO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgWENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFRhYmxlQm9keVByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdDbGFzcyxcclxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFhFbXB0eUNvbXBvbmVudCxcclxuICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgIFhPdXRsZXREaXJlY3RpdmUsXHJcbiAgICBYQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBYQnV0dG9uQ29tcG9uZW50XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtYm9keS5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlQm9keUNvbXBvbmVudCBleHRlbmRzIFhUYWJsZUJvZHlQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICB0Ym9keVN0eWxlOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICBnZXQgaXNFbXB0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGE/Lmxlbmd0aCA9PT0gMDtcclxuICB9XHJcbiAgZ2V0IGdldFJvd0hlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICB9XHJcbiAgZ2V0IGdldEl0ZW1TaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucm93SGVpZ2h0ICE9PSAwICYmIHRoaXMuaXRlbVNpemUgPiBOdW1iZXIodGhpcy5yb3dIZWlnaHQpID8gdGhpcy5yb3dIZWlnaHQgOiB0aGlzLml0ZW1TaXplO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgndGJvZHknKSB0Ym9keSE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpcnR1YWxCb2R5JykgdmlydHVhbEJvZHkhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgQElucHV0KCkgdGFibGU6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBYUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gQE9wdGlvbmFsKCkgQEhvc3QoKSBwdWJsaWMgdGFibGU6IFhUYWJsZUNvbXBvbmVudCxcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgY29sdW1ucywgYWN0aXZhdGVkUm93LCBtZXJnZVJ1bGUsIGV4cGFuZGVkQWxsLCBhZGFwdGlvbkhlaWdodCB9ID0gc2ltcGxlcztcclxuICAgIFhJc0NoYW5nZShkYXRhLCBjb2x1bW5zLCBhY3RpdmF0ZWRSb3csIG1lcmdlUnVsZSwgZXhwYW5kZWRBbGwpICYmIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIFhJc0NoYW5nZShhZGFwdGlvbkhlaWdodCkgJiYgdGhpcy5zZXRBZGFwdGlvbkhlaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICByZW1vdmVOZ1RhZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBpZiAodGhpcy5sZXZlbCA+IDApIHJlbW92ZU5nVGFnKHRoaXMudGJvZHkubmF0aXZlRWxlbWVudCk7XHJcbiAgICBpZiAodGhpcy5zY3JvbGw/LnkgJiYgIXRoaXMuYm9keUhlaWdodCkge1xyXG4gICAgICB0aGlzLmJvZHlIZWlnaHQgPSB0aGlzLnNjcm9sbC55O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50YWJsZS52aXJ0dWFsQm9keSA9IHRoaXMudmlydHVhbEJvZHk7XHJcbiAgICB0aGlzLnRhYmxlLmJvZHlDaGFuZ2UgPSAoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJqZWN0KCkge1xyXG4gICAgaWYgKHRoaXMudmlydHVhbEJvZHkpIHtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlID0gdGhpcy52aXJ0dWFsQm9keT8uZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICcuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcidcclxuICAgICAgKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKHRoaXMuc2Nyb2xsPy54KSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRhYmxlLnNjcm9sbENvbnRlbnRFbGUsICd3aWR0aCcsIGAke3RoaXMuc2Nyb2xsLnh9cHhgKTtcclxuICAgICAgfVxyXG4gICAgICBYUmVzaXplKHRoaXMudGFibGUudGFibGUubmF0aXZlRWxlbWVudCwgdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICAgIHRoaXMuc2V0QWRhcHRpb25IZWlnaHQoKTtcclxuICAgICAgICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGZyb21FdmVudCh0aGlzLmRvYy5kZWZhdWx0VmlldyEsICdyZXNpemUnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRBZGFwdGlvbkhlaWdodCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuc2Nyb2xsQ29udGVudEVsZSkge1xyXG4gICAgICBmcm9tRXZlbnQodGhpcy52aXJ0dWFsQm9keS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVsZSA9IHguc3JjRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsVG9wID0gZWxlLnNjcm9sbFRvcDtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsTGVmdCA9IGVsZS5zY3JvbGxMZWZ0O1xyXG4gICAgICAgICAgaWYgKGVsZS5zY3JvbGxMZWZ0ID49IDAgJiYgdGhpcy50YWJsZS50aGVhZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCB0aGVhZCBvZiB0aGlzLnRhYmxlLnRoZWFkcykge1xyXG4gICAgICAgICAgICAgIHRoZWFkLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMudGFibGUuc2Nyb2xsTGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy50YWJsZS5zY3JvbGxMZWZ0TWF4ID0gZWxlLnNjcm9sbExlZnQgKyBlbGUuY2xpZW50V2lkdGggPT09IGVsZS5zY3JvbGxXaWR0aDtcclxuICAgICAgICAgIHRoaXMudGFibGUuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFNjcm9sbCgpIHtcclxuICAgIGlmICghdGhpcy52aXJ0dWFsQm9keSkgcmV0dXJuO1xyXG4gICAgY29uc3QgZWxlID0gdGhpcy52aXJ0dWFsQm9keS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBoYXNZID0gZWxlLnNjcm9sbEhlaWdodCA+ICh0aGlzLmJvZHlIZWlnaHQgYXMgbnVtYmVyKTtcclxuICAgIGNvbnN0IGhhc1ggPSB0aGlzLnRhYmxlLnNjcm9sbENvbnRlbnRFbGUuY2xpZW50V2lkdGggPiBlbGUuY2xpZW50V2lkdGg7XHJcblxyXG4gICAgaWYgKCF0aGlzLnRhYmxlLmhhc1Njcm9sbFkgJiYgaGFzWSkge1xyXG4gICAgICB0aGlzLnRhYmxlLmhhc1Njcm9sbFkgPSB0cnVlO1xyXG4gICAgICB0aGlzLnRhYmxlLnNjcm9sbFlXaWR0aCA9IGVsZS5vZmZzZXRXaWR0aCAtIGVsZS5jbGllbnRXaWR0aDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50YWJsZS5oYXNTY3JvbGxZICYmICFoYXNZKSB7XHJcbiAgICAgIHRoaXMudGFibGUuaGFzU2Nyb2xsWSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnRhYmxlLnNjcm9sbFlXaWR0aCA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnRhYmxlLmhhc1Njcm9sbFggJiYgaGFzWCkge1xyXG4gICAgICB0aGlzLnRhYmxlLmhhc1Njcm9sbFggPSB0cnVlO1xyXG4gICAgICB0aGlzLnRhYmxlLnNjcm9sbFhIZWlnaHQgPSBlbGUub2Zmc2V0SGVpZ2h0IC0gZWxlLmNsaWVudEhlaWdodDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50YWJsZS5oYXNTY3JvbGxYICYmICFoYXNYKSB7XHJcbiAgICAgIHRoaXMudGFibGUuaGFzU2Nyb2xsWCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnRhYmxlLnNjcm9sbFhIZWlnaHQgPSAwO1xyXG4gICAgICB0aGlzLnRhYmxlLnNjcm9sbFhXaWR0aCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAoaGFzWCkge1xyXG4gICAgICB0aGlzLnRhYmxlLnNjcm9sbFhXaWR0aCA9IGVsZS5vZmZzZXRXaWR0aCArIGVsZS5zY3JvbGxXaWR0aCAtIGVsZS5jbGllbnRXaWR0aDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnZpcnR1YWxCb2R5LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcblxyXG4gICAgdGhpcy50YWJsZS5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGUoKSB7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5yb3dIZWlnaHQgPT0gMCA/ICcnIDogdGhpcy5yb3dIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5jZWxsQ29uZmlnICYmIHRoaXMuY2VsbENvbmZpZy5jZWxscykge1xyXG4gICAgICBjb25zdCBzcHQgPSB0aGlzLmNlbGxDb25maWcuY2VsbHMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3JpZEFyZWFTcHQgPSB4LmdyaWRBcmVhPy5zcGxpdCgnLycpO1xyXG4gICAgICAgIHJldHVybiBncmlkQXJlYVNwdCAmJiBncmlkQXJlYVNwdC5sZW5ndGggPiAzID8gTnVtYmVyKGdyaWRBcmVhU3B0WzJdKSA6IDI7XHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHQgPSAoKE1hdGgubWF4KC4uLnNwdCkgLSAxKSAqIChoZWlnaHQgYXMgbnVtYmVyKSkgYXMgWE51bWJlcjtcclxuICAgIH1cclxuICAgIHRoaXMudGJvZHlTdHlsZSA9IHtcclxuICAgICAgaGVpZ2h0OiBgJHtoZWlnaHR9cHhgXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5kZXgoaW5kZXg6IG51bWJlciwgaXRlbTogWFRhYmxlUm93KSB7XHJcbiAgICBpZiAoIWlzTmFOKGluZGV4KSkgcmV0dXJuIGluZGV4O1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5pbmRleE9mKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmxleChjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgaWYgKGNvbHVtbi53aWR0aCkgcmV0dXJuICdub25lJztcclxuICAgIGlmICghY29sdW1uLmZsZXgpIHJldHVybiAxO1xyXG4gICAgcmV0dXJuIGNvbHVtbi5mbGV4O1xyXG4gIH1cclxuXHJcbiAgZ2V0VGl0bGUocm93OiBYVGFibGVSb3csIGNvbHVtbjogWFRhYmxlQ2VsbCB8IGFueSkge1xyXG4gICAgbGV0IGl0ID0gcm93W2NvbHVtbi5pZCBhcyBzdHJpbmddO1xyXG4gICAgcmV0dXJuIGl0ID8gc3RyaXBUYWdzKGl0KSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgc2V0QWRhcHRpb25IZWlnaHQoKSB7XHJcbiAgICBpZiAoKHRoaXMuYWRhcHRpb25IZWlnaHQgYXMgbnVtYmVyKSA+IDApIHtcclxuICAgICAgY29uc3QgY2FwdGlvbkhlaWdodCA9IHRoaXMudGFibGUudGNhcHRpb24/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgIGxldCBoZWFkSGVpZ2h0ID0gMDtcclxuICAgICAgZm9yIChsZXQgdGhlYWQgb2YgdGhpcy50YWJsZS50aGVhZHMpIHtcclxuICAgICAgICBoZWFkSGVpZ2h0ICs9IHRoZWFkLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGZvb3RIZWlnaHQgPSB0aGlzLnRhYmxlLnRmb290Py5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCB8fCAwO1xyXG4gICAgICBjb25zdCBwYWdpbmF0aW9uSGVpZ2h0ID0gdGhpcy50YWJsZS5wYWdpbmF0aW9uPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgIHRoaXMuYm9keUhlaWdodCA9XHJcbiAgICAgICAgTnVtYmVyKHRoaXMuZG9jUGVyY2VudCkgKiB0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC1cclxuICAgICAgICBjYXB0aW9uSGVpZ2h0IC1cclxuICAgICAgICBoZWFkSGVpZ2h0IC1cclxuICAgICAgICBmb290SGVpZ2h0IC1cclxuICAgICAgICBwYWdpbmF0aW9uSGVpZ2h0IC1cclxuICAgICAgICBOdW1iZXIodGhpcy5hZGFwdGlvbkhlaWdodCk7XHJcbiAgICAgIGlmICh0aGlzLmJvZHlIZWlnaHQgPCAwKSB0aGlzLmJvZHlIZWlnaHQgPSAwO1xyXG4gICAgICB0aGlzLm1pbkJ1ZmZlclB4ID0gdGhpcy5ib2R5SGVpZ2h0O1xyXG4gICAgICB0aGlzLm1heEJ1ZmZlclB4ID0gdGhpcy5ib2R5SGVpZ2h0ICogMS4yO1xyXG4gICAgICB0aGlzLnZpcnR1YWxCb2R5Wydfc2Nyb2xsU3RyYXRlZ3knXVsnX21pbkJ1ZmZlclB4J10gPSB0aGlzLm1pbkJ1ZmZlclB4O1xyXG4gICAgICB0aGlzLnZpcnR1YWxCb2R5Wydfc2Nyb2xsU3RyYXRlZ3knXVsnX21heEJ1ZmZlclB4J10gPSB0aGlzLm1heEJ1ZmZlclB4O1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3dDbGljayhldmVudDogRXZlbnQsIHJvdzogWFRhYmxlUm93KSB7XHJcbiAgICBpZiAocm93LmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdyA9IHJvdztcclxuICAgIGlmICh0aGlzLnRhYmxlLmFsbG93Q2hlY2tSb3cgJiYgdGhpcy50YWJsZS5yb3dDaGVja2VkKSB7XHJcbiAgICAgIGlmICghWFBhcmVudFBhdGgoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5pbmNsdWRlcygneC1jaGVja2JveCcpKSB7XHJcbiAgICAgICAgcm93W3RoaXMudGFibGUucm93Q2hlY2tlZC5pZF0gPSAhcm93W3RoaXMudGFibGUucm93Q2hlY2tlZC5pZF07XHJcbiAgICAgICAgdGhpcy50YWJsZS5ib2R5Q2hlY2tlZChyb3dbdGhpcy50YWJsZS5yb3dDaGVja2VkLmlkXSwgdGhpcy50YWJsZS5yb3dDaGVja2VkLCByb3cpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvd0NoYW5nZS5lbWl0KHJvdyk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkV4cGFuZGVkKF9ldmVudDogRXZlbnQsIG5vZGU6IFhUYWJsZVJvdykge1xyXG4gICAgbm9kZS5leHBhbmRlZCA9ICFub2RlLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUl0ZW0oX2luZGV4OiBudW1iZXIsIGl0ZW06IFhUYWJsZVJvdyB8IFhUYWJsZUNvbHVtbikge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjx0Ym9keSAjdGJvZHk+XHJcbiAgQGlmIChjZWxsQ29uZmlnKSB7XHJcbiAgICBAZm9yIChyb3cgb2YgZGF0YTsgdHJhY2sgcm93LmlkOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICA8dHIgW3N0eWxlLmdyaWRUZW1wbGF0ZUNvbHVtbnNdPVwiY2VsbENvbmZpZy5ncmlkVGVtcGxhdGVDb2x1bW5zXCI+XHJcbiAgICAgICAgQGZvciAoY29sdW1uIG9mIGNlbGxDb25maWcuY2VsbHM7IHRyYWNrIGNvbHVtbjsgbGV0IGogPSAkaW5kZXgpIHtcclxuICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICBbdGl0bGVdPVwiZ2V0VGl0bGUocm93LCBjb2x1bW4pXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKSB8fCB0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnRdPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LXJpZ2h0XT1cInRhYmxlLmdldFN0aWNreVJpZ2h0KGNvbHVtbilcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdC1sYXN0XT1cInRhYmxlLmdldFN0aWNreUxlZnRMYXN0KGNvbHVtbilcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHQtZmlyc3RdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW4pXCJcclxuICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiY29sdW1uLmxlZnRcIlxyXG4gICAgICAgICAgICBbc3R5bGUucmlnaHQucHhdPVwiY29sdW1uLnJpZ2h0XCJcclxuICAgICAgICAgICAgW3N0eWxlLmdyaWQtYXJlYV09XCJjb2x1bW4uZ3JpZEFyZWFcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2VsbFRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiwgcm93OiByb3csIGk6IGkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICB9XHJcbiAgICAgIDwvdHI+XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaWYgKHZpcnR1YWxTY3JvbGwpIHtcclxuICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxyXG4gICAgICAgICN2aXJ0dWFsQm9keVxyXG4gICAgICAgIFtpdGVtU2l6ZV09XCJnZXRJdGVtU2l6ZVwiXHJcbiAgICAgICAgW21pbkJ1ZmZlclB4XT1cIm1pbkJ1ZmZlclB4XCJcclxuICAgICAgICBbbWF4QnVmZmVyUHhdPVwibWF4QnVmZmVyUHhcIlxyXG4gICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiYm9keUhlaWdodFwiXHJcbiAgICAgID5cclxuICAgICAgICA8dHJcclxuICAgICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IHJvdyBvZiBkYXRhOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICAgICAgW2NsYXNzLngtdGFibGUtYWN0aXZhdGVkXT1cImFsbG93U2VsZWN0Um93ICYmIGFjdGl2YXRlZFJvdz8uaWQgPT09IHJvdy5pZFwiXHJcbiAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICAgICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJvd0NsaWNrKCRldmVudCwgcm93KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPCEtLSByb3dIZWlnaHQg5Li6IDAg55qE5pe25YCZ77yMaW5kZXgg5LiL5qCH6I635Y+W5LiN5YiwIC0tPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd1RwbDsgY29udGV4dDogeyByb3c6IHJvdywgaTogZ2V0SW5kZXgoaW5kZXgsIHJvdykgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBmb3IgKHJvdyBvZiBkYXRhOyB0cmFjayByb3cuaWQ7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgPHRyXHJcbiAgICAgICAgICBbY2xhc3MueC10YWJsZS1hY3RpdmF0ZWRdPVwiYWxsb3dTZWxlY3RSb3cgJiYgYWN0aXZhdGVkUm93Py5pZCA9PT0gcm93LmlkXCJcclxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgICAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwicm93Q2xpY2soJGV2ZW50LCByb3cpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93VHBsOyBjb250ZXh0OiB7IHJvdzogcm93LCBpOiBpIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICAgIEBpZiAodGFibGUudHJlZVRhYmxlICYmIHJvdy5jaGlsZHJlbiAmJiByb3cuZXhwYW5kZWQpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LXRhYmxlLWNoaWxkcmVuXCIgW2NsYXNzLngtdGFibGUtZXhwYW5kVHBsXT1cImV4cGFuZFRwbFwiPlxyXG4gICAgICAgICAgICA8eC10YWJsZS1ib2R5XHJcbiAgICAgICAgICAgICAgW2RhdGFdPVwicm93LmNoaWxkcmVuXCJcclxuICAgICAgICAgICAgICBbY29sdW1uc109XCJ0YWJsZS5jb2x1bW5zXCJcclxuICAgICAgICAgICAgICBbaXRlbVNpemVdPVwidGFibGUuaXRlbVNpemVcIlxyXG4gICAgICAgICAgICAgIFtyb3dIZWlnaHRdPVwidGFibGUucm93SGVpZ2h0XCJcclxuICAgICAgICAgICAgICBbY29sdW1uVHBsXT1cInRhYmxlLmJvZHlDb2x1bW5UcGxcIlxyXG4gICAgICAgICAgICAgIFthbGxvd1NlbGVjdFJvd109XCJ0YWJsZS5hbGxvd1NlbGVjdFJvd1wiXHJcbiAgICAgICAgICAgICAgW3Jvd0NsYXNzXT1cInRhYmxlLnJvd0NsYXNzXCJcclxuICAgICAgICAgICAgICBbY2VsbENvbmZpZ109XCJ0YWJsZS5jZWxsQ29uZmlnPy50Ym9keVwiXHJcbiAgICAgICAgICAgICAgWyhhY3RpdmF0ZWRSb3cpXT1cInRhYmxlLmFjdGl2YXRlZFJvd1wiXHJcbiAgICAgICAgICAgICAgW2V4cGFuZGVkQWxsXT1cImV4cGFuZGVkQWxsXCJcclxuICAgICAgICAgICAgICBbZXhwYW5kVHBsXT1cImV4cGFuZFRwbFwiXHJcbiAgICAgICAgICAgICAgKGFjdGl2YXRlZFJvd0NoYW5nZSk9XCJ0YWJsZS5hY3RpdmF0ZWRSb3dDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbbGV2ZWxdPVwicm93LmxldmVsISArIDFcIlxyXG4gICAgICAgICAgICAgIFt0YWJsZV09XCJ0YWJsZVwiXHJcbiAgICAgICAgICAgID48L3gtdGFibGUtYm9keT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgKHRhYmxlLnNob3dFbXB0eSAmJiBpc0VtcHR5ICYmIGxldmVsID09PSAwKSB7XHJcbiAgICA8eC1lbXB0eSBbaW1nXT1cInRhYmxlLmVtcHR5SW1nXCIgW2NvbnRlbnRdPVwidGFibGUuZW1wdHlDb250ZW50XCI+PC94LWVtcHR5PlxyXG4gIH1cclxuPC90Ym9keT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm93VHBsIGxldC1yb3c9XCJyb3dcIiBsZXQtaT1cImlcIj5cclxuICBAaWYgKGxldmVsID4gMCAmJiBleHBhbmRUcGwpIHtcclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJleHBhbmRUcGw7IGNvbnRleHQ6IHsgJHJvdzogcm93LCAkaW5kZXg6IGksICRsZXZlbDogbGV2ZWwgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIH0gQGVsc2UgaWYgKGxldmVsID09PSAwIHx8ICFleHBhbmRUcGwpIHtcclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJyb3dEZWZhdWx0OyBjb250ZXh0OiB7IHJvdzogcm93LCBpOiBpLCBsZXZlbDogbGV2ZWwgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm93RGVmYXVsdCBsZXQtcm93PVwicm93XCIgbGV0LWk9XCJpXCI+XHJcbiAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrIGNvbHVtbi5pZDsgbGV0IGogPSAkaW5kZXgpIHtcclxuICAgIDx0ZFxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29sdW1uLndpZHRoXCJcclxuICAgICAgW3N0eWxlLmZsZXhdPVwiZ2V0RmxleChjb2x1bW4pXCJcclxuICAgICAgW3RpdGxlXT1cImdldFRpdGxlKHJvdywgY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLWRyYWdnaW5nXT1cImNvbHVtbi5kcmFnZ2luZ1wiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreV09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbikgfHwgdGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1sZWZ0XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnQtbGFzdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0TGFzdChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LXJpZ2h0LWZpcnN0XT1cInRhYmxlLmdldFN0aWNreVJpZ2h0Rmlyc3QoY29sdW1uKVwiXHJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImNvbHVtbi5yaWdodFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIiFyb3dDbGFzcyA/IHt9IDogcm93Q2xhc3Mocm93LCBpKVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNlbGxUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4sIHJvdzogcm93LCBpOiBpIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC90ZD5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NlbGxUcGwgbGV0LWNvbHVtbj1cImNvbHVtblwiIGxldC1yb3c9XCJyb3dcIiBsZXQtaT1cImlcIj5cclxuICBAc3dpdGNoIChjb2x1bW4udHlwZSkge1xyXG4gICAgQGNhc2UgKCdjaGVja2JveCcpIHtcclxuICAgICAgPHgtY2hlY2tib3hcclxuICAgICAgICBbZGF0YV09XCJbeyBpZDogdHJ1ZSwgbGFiZWw6ICcnIH1dXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInJvd1tjb2x1bW4uaWRdXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwicm93LmRpc2FibGVkXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0YWJsZS5ib2R5Q2hlY2tlZCgkZXZlbnQsIGNvbHVtbiwgcm93KVwiXHJcbiAgICAgICAgc2luZ2xlXHJcbiAgICAgID48L3gtY2hlY2tib3g+XHJcbiAgICB9XHJcbiAgICBAY2FzZSAoJ2luZGV4Jykge1xyXG4gICAgICA8ZGl2Pnt7IHRhYmxlLmdldEluZGV4KGkpIH19PC9kaXY+XHJcbiAgICB9XHJcbiAgICBAZGVmYXVsdCB7XHJcbiAgICAgIEBpZiAodGFibGUuaXNFeHBhbmRDb2x1bW4oY29sdW1uKSkge1xyXG4gICAgICAgIDx4LWJ1dHRvblxyXG4gICAgICAgICAgW2NsYXNzLmlzLWxlYWZdPVwiIXJvdy5sZWFmXCJcclxuICAgICAgICAgIFtjbGFzcy5pcy1leHBhbmRlZF09XCJyb3cuZXhwYW5kZWRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kZWQoJGV2ZW50LCByb3cpXCJcclxuICAgICAgICAgIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiXHJcbiAgICAgICAgICBzaXplPVwibWluaVwiXHJcbiAgICAgICAgICBvbmx5SWNvblxyXG4gICAgICAgICAgY2xhc3M9XCJ4LXRhYmxlLWV4cGFuZFwiXHJcbiAgICAgICAgICBbc3R5bGUubWFyZ2luLWxlZnQucmVtXT1cInJvdy5sZXZlbCAtIDAuNVwiXHJcbiAgICAgICAgPjwveC1idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImNvbHVtblRwbFtjb2x1bW4uaWRdOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiwgJHJvdzogcm93LCAkaW5kZXg6IHRhYmxlLmdldEluZGV4KGkpIH1cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwidGFibGUuYm9keVRkVHBsOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiwgJHJvdzogcm93LCAkaW5kZXg6IHRhYmxlLmdldEluZGV4KGkpIH1cIj5cclxuICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJyb3dbY29sdW1uLmlkXVwiIFtzdHlsZS50ZXh0LWFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIj48L2Rpdj5cclxuICAgICAgICAgIHt7IHRhYmxlLnJvd0V4cGFuZE5leHQgJiYgdGFibGUucm93RXhwYW5kTmV4dC5pZCA9PT0gY29sdW1uLmlkID8gJ3gtdGFibGUtYm9keS1sZXZlbC0nICsgcm93LmxldmVsIDogJycgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICB9XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBdUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBR1AsU0FBUyxFQUNULFdBQVcsRUFFWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUE0QixlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFtQnRELE1BQU0s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Q0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFhLEVBQUUsSUFBZTtRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYyxFQUFFLElBQThCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO2lJQTNNVSxtQkFBbUI7cUhBQW5CLG1CQUFtQiw2VUNwRGhDLGcxTUFnSkEsNENENUZhLG1CQUFtQiw0RUFiNUIsT0FBTyxvRkFDUCxnQkFBZ0IsbUpBQ2hCLFdBQVcsK1ZBQ1gsZUFBZSxtREFDZixlQUFlLDRqQkFDZixnQkFBZ0IsNkZBQ2hCLGtCQUFrQix1REFDbEIsZ0JBQWdCOzsyRkFNUCxtQkFBbUI7a0JBakIvQixTQUFTOytCQUNFLEdBQUcsZ0JBQWdCLEVBQUUsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3FCQUNqQixpQkFFYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO29LQWMzQixLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1EsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNmLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgSW5wdXQsXHJcbiAgaW5qZWN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUJvZHlQcmVmaXgsIFhUYWJsZUJvZHlQcm9wZXJ0eSwgWFRhYmxlUm93LCBYVGFibGVDb2x1bW4sIFhUYWJsZUNlbGwgfSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHtcclxuICByZW1vdmVOZ1RhZyxcclxuICBYSXNDaGFuZ2UsXHJcbiAgWFJlc2l6ZSxcclxuICBYQ29uZmlnU2VydmljZSxcclxuICBYTnVtYmVyLFxyXG4gIHN0cmlwVGFncyxcclxuICBYUGFyZW50UGF0aCxcclxuICBYUmVzaXplT2JzZXJ2ZXJcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LCBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYRW1wdHlDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9lbXB0eSc7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9jaGVja2JveCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGFibGVCb2R5UHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgWEVtcHR5Q29tcG9uZW50LFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgWE91dGxldERpcmVjdGl2ZSxcclxuICAgIFhDaGVja2JveENvbXBvbmVudCxcclxuICAgIFhCdXR0b25Db21wb25lbnRcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1ib2R5LmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVCb2R5Q29tcG9uZW50IGV4dGVuZHMgWFRhYmxlQm9keVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIHRib2R5U3R5bGU6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gIGdldCBpc0VtcHR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ubGVuZ3RoID09PSAwO1xyXG4gIH1cclxuICBnZXQgZ2V0Um93SGVpZ2h0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucm93SGVpZ2h0ID09IDAgPyAnJyA6IHRoaXMucm93SGVpZ2h0O1xyXG4gIH1cclxuICBnZXQgZ2V0SXRlbVNpemUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3dIZWlnaHQgIT09IDAgJiYgdGhpcy5pdGVtU2l6ZSA+IE51bWJlcih0aGlzLnJvd0hlaWdodCkgPyB0aGlzLnJvd0hlaWdodCA6IHRoaXMuaXRlbVNpemU7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCd0Ym9keScpIHRib2R5ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgndmlydHVhbEJvZHknKSB2aXJ0dWFsQm9keSE6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcclxuICBASW5wdXQoKSB0YWJsZTogYW55O1xyXG5cclxuICBwcml2YXRlIGRvYyA9IGluamVjdChET0NVTUVOVCk7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciE6IFhSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBAT3B0aW9uYWwoKSBASG9zdCgpIHB1YmxpYyB0YWJsZTogWFRhYmxlQ29tcG9uZW50LFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBjb2x1bW5zLCBhY3RpdmF0ZWRSb3csIG1lcmdlUnVsZSwgZXhwYW5kZWRBbGwsIGFkYXB0aW9uSGVpZ2h0IH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEsIGNvbHVtbnMsIGFjdGl2YXRlZFJvdywgbWVyZ2VSdWxlLCBleHBhbmRlZEFsbCkgJiYgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgWElzQ2hhbmdlKGFkYXB0aW9uSGVpZ2h0KSAmJiB0aGlzLnNldEFkYXB0aW9uSGVpZ2h0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHJlbW92ZU5nVGFnKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIGlmICh0aGlzLmxldmVsID4gMCkgcmVtb3ZlTmdUYWcodGhpcy50Ym9keS5uYXRpdmVFbGVtZW50KTtcclxuICAgIGlmICh0aGlzLnNjcm9sbD8ueSAmJiAhdGhpcy5ib2R5SGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuYm9keUhlaWdodCA9IHRoaXMuc2Nyb2xsLnk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnRhYmxlLnZpcnR1YWxCb2R5ID0gdGhpcy52aXJ0dWFsQm9keTtcclxuICAgIHRoaXMudGFibGUuYm9keUNoYW5nZSA9ICgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuc2V0U3ViamVjdCgpO1xyXG4gICAgdGhpcy5zZXRTY3JvbGwoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIHNldFN1YmplY3QoKSB7XHJcbiAgICBpZiAodGhpcy52aXJ0dWFsQm9keSkge1xyXG4gICAgICB0aGlzLnRhYmxlLnNjcm9sbENvbnRlbnRFbGUgPSB0aGlzLnZpcnR1YWxCb2R5Py5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICAgJy5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyJ1xyXG4gICAgICApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBpZiAodGhpcy5zY3JvbGw/LngpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudGFibGUuc2Nyb2xsQ29udGVudEVsZSwgJ3dpZHRoJywgYCR7dGhpcy5zY3JvbGwueH1weGApO1xyXG4gICAgICB9XHJcbiAgICAgIFhSZXNpemUodGhpcy50YWJsZS50YWJsZS5uYXRpdmVFbGVtZW50LCB0aGlzLnRhYmxlLnNjcm9sbENvbnRlbnRFbGUpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgICAgdGhpcy5zZXRBZGFwdGlvbkhlaWdodCgpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTY3JvbGwoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgZnJvbUV2ZW50KHRoaXMuZG9jLmRlZmF1bHRWaWV3ISwgJ3Jlc2l6ZScpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldEFkYXB0aW9uSGVpZ2h0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlKSB7XHJcbiAgICAgIGZyb21FdmVudCh0aGlzLnZpcnR1YWxCb2R5LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3Njcm9sbCcpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZWxlID0geC5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5zY3JvbGxUb3AgPSBlbGUuc2Nyb2xsVG9wO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5zY3JvbGxMZWZ0ID0gZWxlLnNjcm9sbExlZnQ7XHJcbiAgICAgICAgICBpZiAoZWxlLnNjcm9sbExlZnQgPj0gMCAmJiB0aGlzLnRhYmxlLnRoZWFkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IHRoZWFkIG9mIHRoaXMudGFibGUudGhlYWRzKSB7XHJcbiAgICAgICAgICAgICAgdGhlYWQubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy50YWJsZS5zY3JvbGxMZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLnNjcm9sbExlZnRNYXggPSBlbGUuc2Nyb2xsTGVmdCArIGVsZS5jbGllbnRXaWR0aCA9PT0gZWxlLnNjcm9sbFdpZHRoO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U2Nyb2xsKCkge1xyXG4gICAgaWYgKCF0aGlzLnZpcnR1YWxCb2R5KSByZXR1cm47XHJcbiAgICBjb25zdCBlbGUgPSB0aGlzLnZpcnR1YWxCb2R5LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGhhc1kgPSBlbGUuc2Nyb2xsSGVpZ2h0ID4gKHRoaXMuYm9keUhlaWdodCBhcyBudW1iZXIpO1xyXG4gICAgY29uc3QgaGFzWCA9IHRoaXMudGFibGUuc2Nyb2xsQ29udGVudEVsZS5jbGllbnRXaWR0aCA+IGVsZS5jbGllbnRXaWR0aDtcclxuXHJcbiAgICBpZiAoIXRoaXMudGFibGUuaGFzU2Nyb2xsWSAmJiBoYXNZKSB7XHJcbiAgICAgIHRoaXMudGFibGUuaGFzU2Nyb2xsWSA9IHRydWU7XHJcbiAgICAgIHRoaXMudGFibGUuc2Nyb2xsWVdpZHRoID0gZWxlLm9mZnNldFdpZHRoIC0gZWxlLmNsaWVudFdpZHRoO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnRhYmxlLmhhc1Njcm9sbFkgJiYgIWhhc1kpIHtcclxuICAgICAgdGhpcy50YWJsZS5oYXNTY3JvbGxZID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudGFibGUuc2Nyb2xsWVdpZHRoID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMudGFibGUuaGFzU2Nyb2xsWCAmJiBoYXNYKSB7XHJcbiAgICAgIHRoaXMudGFibGUuaGFzU2Nyb2xsWCA9IHRydWU7XHJcbiAgICAgIHRoaXMudGFibGUuc2Nyb2xsWEhlaWdodCA9IGVsZS5vZmZzZXRIZWlnaHQgLSBlbGUuY2xpZW50SGVpZ2h0O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnRhYmxlLmhhc1Njcm9sbFggJiYgIWhhc1gpIHtcclxuICAgICAgdGhpcy50YWJsZS5oYXNTY3JvbGxYID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudGFibGUuc2Nyb2xsWEhlaWdodCA9IDA7XHJcbiAgICAgIHRoaXMudGFibGUuc2Nyb2xsWFdpZHRoID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmIChoYXNYKSB7XHJcbiAgICAgIHRoaXMudGFibGUuc2Nyb2xsWFdpZHRoID0gZWxlLm9mZnNldFdpZHRoICsgZWxlLnNjcm9sbFdpZHRoIC0gZWxlLmNsaWVudFdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmlydHVhbEJvZHkuY2hlY2tWaWV3cG9ydFNpemUoKTtcclxuXHJcbiAgICB0aGlzLnRhYmxlLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdHlsZSgpIHtcclxuICAgIGxldCBoZWlnaHQgPSB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICAgIGlmICh0aGlzLmNlbGxDb25maWcgJiYgdGhpcy5jZWxsQ29uZmlnLmNlbGxzKSB7XHJcbiAgICAgIGNvbnN0IHNwdCA9IHRoaXMuY2VsbENvbmZpZy5jZWxscy5tYXAoKHgpID0+IHtcclxuICAgICAgICBjb25zdCBncmlkQXJlYVNwdCA9IHguZ3JpZEFyZWE/LnNwbGl0KCcvJyk7XHJcbiAgICAgICAgcmV0dXJuIGdyaWRBcmVhU3B0ICYmIGdyaWRBcmVhU3B0Lmxlbmd0aCA+IDMgPyBOdW1iZXIoZ3JpZEFyZWFTcHRbMl0pIDogMjtcclxuICAgICAgfSk7XHJcbiAgICAgIGhlaWdodCA9ICgoTWF0aC5tYXgoLi4uc3B0KSAtIDEpICogKGhlaWdodCBhcyBudW1iZXIpKSBhcyBYTnVtYmVyO1xyXG4gICAgfVxyXG4gICAgdGhpcy50Ym9keVN0eWxlID0ge1xyXG4gICAgICBoZWlnaHQ6IGAke2hlaWdodH1weGBcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXRJbmRleChpbmRleDogbnVtYmVyLCBpdGVtOiBYVGFibGVSb3cpIHtcclxuICAgIGlmICghaXNOYU4oaW5kZXgpKSByZXR1cm4gaW5kZXg7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhLmluZGV4T2YoaXRlbSk7XHJcbiAgfVxyXG5cclxuICBnZXRGbGV4KGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBpZiAoY29sdW1uLndpZHRoKSByZXR1cm4gJ25vbmUnO1xyXG4gICAgaWYgKCFjb2x1bW4uZmxleCkgcmV0dXJuIDE7XHJcbiAgICByZXR1cm4gY29sdW1uLmZsZXg7XHJcbiAgfVxyXG5cclxuICBnZXRUaXRsZShyb3c6IFhUYWJsZVJvdywgY29sdW1uOiBYVGFibGVDZWxsIHwgYW55KSB7XHJcbiAgICBsZXQgaXQgPSByb3dbY29sdW1uLmlkIGFzIHN0cmluZ107XHJcbiAgICByZXR1cm4gaXQgPyBzdHJpcFRhZ3MoaXQpIDogJyc7XHJcbiAgfVxyXG5cclxuICBzZXRBZGFwdGlvbkhlaWdodCgpIHtcclxuICAgIGlmICgodGhpcy5hZGFwdGlvbkhlaWdodCBhcyBudW1iZXIpID4gMCkge1xyXG4gICAgICBjb25zdCBjYXB0aW9uSGVpZ2h0ID0gdGhpcy50YWJsZS50Y2FwdGlvbj8ubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgfHwgMDtcclxuICAgICAgbGV0IGhlYWRIZWlnaHQgPSAwO1xyXG4gICAgICBmb3IgKGxldCB0aGVhZCBvZiB0aGlzLnRhYmxlLnRoZWFkcykge1xyXG4gICAgICAgIGhlYWRIZWlnaHQgKz0gdGhlYWQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZm9vdEhlaWdodCA9IHRoaXMudGFibGUudGZvb3Q/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgIGNvbnN0IHBhZ2luYXRpb25IZWlnaHQgPSB0aGlzLnRhYmxlLnBhZ2luYXRpb24/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgfHwgMDtcclxuICAgICAgdGhpcy5ib2R5SGVpZ2h0ID1cclxuICAgICAgICBOdW1iZXIodGhpcy5kb2NQZXJjZW50KSAqIHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLVxyXG4gICAgICAgIGNhcHRpb25IZWlnaHQgLVxyXG4gICAgICAgIGhlYWRIZWlnaHQgLVxyXG4gICAgICAgIGZvb3RIZWlnaHQgLVxyXG4gICAgICAgIHBhZ2luYXRpb25IZWlnaHQgLVxyXG4gICAgICAgIE51bWJlcih0aGlzLmFkYXB0aW9uSGVpZ2h0KTtcclxuICAgICAgaWYgKHRoaXMuYm9keUhlaWdodCA8IDApIHRoaXMuYm9keUhlaWdodCA9IDA7XHJcbiAgICAgIHRoaXMubWluQnVmZmVyUHggPSB0aGlzLmJvZHlIZWlnaHQ7XHJcbiAgICAgIHRoaXMubWF4QnVmZmVyUHggPSB0aGlzLmJvZHlIZWlnaHQgKiAxLjI7XHJcbiAgICAgIGlmICh0aGlzLnZpcnR1YWxCb2R5KSB7XHJcbiAgICAgICAgdGhpcy52aXJ0dWFsQm9keVsnX3Njcm9sbFN0cmF0ZWd5J11bJ19taW5CdWZmZXJQeCddID0gdGhpcy5taW5CdWZmZXJQeDtcclxuICAgICAgICB0aGlzLnZpcnR1YWxCb2R5Wydfc2Nyb2xsU3RyYXRlZ3knXVsnX21heEJ1ZmZlclB4J10gPSB0aGlzLm1heEJ1ZmZlclB4O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJvd0NsaWNrKGV2ZW50OiBFdmVudCwgcm93OiBYVGFibGVSb3cpIHtcclxuICAgIGlmIChyb3cuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm93ID0gcm93O1xyXG4gICAgaWYgKHRoaXMudGFibGUuYWxsb3dDaGVja1JvdyAmJiB0aGlzLnRhYmxlLnJvd0NoZWNrZWQpIHtcclxuICAgICAgaWYgKCFYUGFyZW50UGF0aChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmluY2x1ZGVzKCd4LWNoZWNrYm94JykpIHtcclxuICAgICAgICByb3dbdGhpcy50YWJsZS5yb3dDaGVja2VkLmlkXSA9ICFyb3dbdGhpcy50YWJsZS5yb3dDaGVja2VkLmlkXTtcclxuICAgICAgICB0aGlzLnRhYmxlLmJvZHlDaGVja2VkKHJvd1t0aGlzLnRhYmxlLnJvd0NoZWNrZWQuaWRdLCB0aGlzLnRhYmxlLnJvd0NoZWNrZWQsIHJvdyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZhdGVkUm93Q2hhbmdlLmVtaXQocm93KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uRXhwYW5kZWQoX2V2ZW50OiBFdmVudCwgbm9kZTogWFRhYmxlUm93KSB7XHJcbiAgICBub2RlLmV4cGFuZGVkID0gIW5vZGUuZXhwYW5kZWQ7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogWFRhYmxlUm93IHwgWFRhYmxlQ29sdW1uKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPHRib2R5ICN0Ym9keT5cclxuICBAaWYgKGNlbGxDb25maWcpIHtcclxuICAgIEBmb3IgKHJvdyBvZiBkYXRhOyB0cmFjayByb3cuaWQ7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgIDx0ciBbc3R5bGUuZ3JpZFRlbXBsYXRlQ29sdW1uc109XCJjZWxsQ29uZmlnLmdyaWRUZW1wbGF0ZUNvbHVtbnNcIj5cclxuICAgICAgICBAZm9yIChjb2x1bW4gb2YgY2VsbENvbmZpZy5jZWxsczsgdHJhY2sgY29sdW1uOyBsZXQgaiA9ICRpbmRleCkge1xyXG4gICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJnZXRUaXRsZShyb3csIGNvbHVtbilcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ldPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pIHx8IHRhYmxlLmdldFN0aWNreVJpZ2h0KGNvbHVtbilcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbilcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHRdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1sZWZ0LWxhc3RdPVwidGFibGUuZ2V0U3RpY2t5TGVmdExhc3QoY29sdW1uKVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodC1maXJzdF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodEZpcnN0KGNvbHVtbilcIlxyXG4gICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJjb2x1bW4ubGVmdFwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5yaWdodC5weF09XCJjb2x1bW4ucmlnaHRcIlxyXG4gICAgICAgICAgICBbc3R5bGUuZ3JpZC1hcmVhXT1cImNvbHVtbi5ncmlkQXJlYVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZWxsVHBsOyBjb250ZXh0OiB7IGNvbHVtbjogY29sdW1uLCByb3c6IHJvdywgaTogaSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIH1cclxuICAgICAgPC90cj5cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiAodmlydHVhbFNjcm9sbCkge1xyXG4gICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XHJcbiAgICAgICAgI3ZpcnR1YWxCb2R5XHJcbiAgICAgICAgW2l0ZW1TaXplXT1cImdldEl0ZW1TaXplXCJcclxuICAgICAgICBbbWluQnVmZmVyUHhdPVwibWluQnVmZmVyUHhcIlxyXG4gICAgICAgIFttYXhCdWZmZXJQeF09XCJtYXhCdWZmZXJQeFwiXHJcbiAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJib2R5SGVpZ2h0XCJcclxuICAgICAgPlxyXG4gICAgICAgIDx0clxyXG4gICAgICAgICAgKmNka1ZpcnR1YWxGb3I9XCJsZXQgcm93IG9mIGRhdGE7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SXRlbVwiXHJcbiAgICAgICAgICBbY2xhc3MueC10YWJsZS1hY3RpdmF0ZWRdPVwiYWxsb3dTZWxlY3RSb3cgJiYgYWN0aXZhdGVkUm93Py5pZCA9PT0gcm93LmlkXCJcclxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgICAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwicm93Q2xpY2soJGV2ZW50LCByb3cpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIHJvd0hlaWdodCDkuLogMCDnmoTml7blgJnvvIxpbmRleCDkuIvmoIfojrflj5bkuI3liLAgLS0+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93VHBsOyBjb250ZXh0OiB7IHJvdzogcm93LCBpOiBnZXRJbmRleChpbmRleCwgcm93KSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGZvciAocm93IG9mIGRhdGE7IHRyYWNrIHJvdy5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICA8dHJcclxuICAgICAgICAgIFtjbGFzcy54LXRhYmxlLWFjdGl2YXRlZF09XCJhbGxvd1NlbGVjdFJvdyAmJiBhY3RpdmF0ZWRSb3c/LmlkID09PSByb3cuaWRcIlxyXG4gICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgICAgICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgICAgICAgIChjbGljayk9XCJyb3dDbGljaygkZXZlbnQsIHJvdylcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUcGw7IGNvbnRleHQ6IHsgcm93OiByb3csIGk6IGkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgICAgQGlmICh0YWJsZS50cmVlVGFibGUgJiYgcm93LmNoaWxkcmVuICYmIHJvdy5leHBhbmRlZCkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIngtdGFibGUtY2hpbGRyZW5cIiBbY2xhc3MueC10YWJsZS1leHBhbmRUcGxdPVwiZXhwYW5kVHBsXCI+XHJcbiAgICAgICAgICAgIDx4LXRhYmxlLWJvZHlcclxuICAgICAgICAgICAgICBbZGF0YV09XCJyb3cuY2hpbGRyZW5cIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5zXT1cInRhYmxlLmNvbHVtbnNcIlxyXG4gICAgICAgICAgICAgIFtpdGVtU2l6ZV09XCJ0YWJsZS5pdGVtU2l6ZVwiXHJcbiAgICAgICAgICAgICAgW3Jvd0hlaWdodF09XCJ0YWJsZS5yb3dIZWlnaHRcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5UcGxdPVwidGFibGUuYm9keUNvbHVtblRwbFwiXHJcbiAgICAgICAgICAgICAgW2FsbG93U2VsZWN0Um93XT1cInRhYmxlLmFsbG93U2VsZWN0Um93XCJcclxuICAgICAgICAgICAgICBbcm93Q2xhc3NdPVwidGFibGUucm93Q2xhc3NcIlxyXG4gICAgICAgICAgICAgIFtjZWxsQ29uZmlnXT1cInRhYmxlLmNlbGxDb25maWc/LnRib2R5XCJcclxuICAgICAgICAgICAgICBbKGFjdGl2YXRlZFJvdyldPVwidGFibGUuYWN0aXZhdGVkUm93XCJcclxuICAgICAgICAgICAgICBbZXhwYW5kZWRBbGxdPVwiZXhwYW5kZWRBbGxcIlxyXG4gICAgICAgICAgICAgIFtleHBhbmRUcGxdPVwiZXhwYW5kVHBsXCJcclxuICAgICAgICAgICAgICAoYWN0aXZhdGVkUm93Q2hhbmdlKT1cInRhYmxlLmFjdGl2YXRlZFJvd0NoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtsZXZlbF09XCJyb3cubGV2ZWwhICsgMVwiXHJcbiAgICAgICAgICAgICAgW3RhYmxlXT1cInRhYmxlXCJcclxuICAgICAgICAgICAgPjwveC10YWJsZS1ib2R5PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAodGFibGUuc2hvd0VtcHR5ICYmIGlzRW1wdHkgJiYgbGV2ZWwgPT09IDApIHtcclxuICAgIDx4LWVtcHR5IFtpbWddPVwidGFibGUuZW1wdHlJbWdcIiBbY29udGVudF09XCJ0YWJsZS5lbXB0eUNvbnRlbnRcIj48L3gtZW1wdHk+XHJcbiAgfVxyXG48L3Rib2R5PlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3dUcGwgbGV0LXJvdz1cInJvd1wiIGxldC1pPVwiaVwiPlxyXG4gIEBpZiAobGV2ZWwgPiAwICYmIGV4cGFuZFRwbCkge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImV4cGFuZFRwbDsgY29udGV4dDogeyAkcm93OiByb3csICRpbmRleDogaSwgJGxldmVsOiBsZXZlbCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgfSBAZWxzZSBpZiAobGV2ZWwgPT09IDAgfHwgIWV4cGFuZFRwbCkge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cInJvd0RlZmF1bHQ7IGNvbnRleHQ6IHsgcm93OiByb3csIGk6IGksIGxldmVsOiBsZXZlbCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3dEZWZhdWx0IGxldC1yb3c9XCJyb3dcIiBsZXQtaT1cImlcIj5cclxuICBAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgY29sdW1uLmlkOyBsZXQgaiA9ICRpbmRleCkge1xyXG4gICAgPHRkXHJcbiAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb2x1bW4ud2lkdGhcIlxyXG4gICAgICBbc3R5bGUuZmxleF09XCJnZXRGbGV4KGNvbHVtbilcIlxyXG4gICAgICBbdGl0bGVdPVwiZ2V0VGl0bGUocm93LCBjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtZHJhZ2dpbmddPVwiY29sdW1uLmRyYWdnaW5nXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKSB8fCB0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnRdPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LXJpZ2h0XT1cInRhYmxlLmdldFN0aWNreVJpZ2h0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdC1sYXN0XT1cInRhYmxlLmdldFN0aWNreUxlZnRMYXN0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHQtZmlyc3RdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW4pXCJcclxuICAgICAgW3N0eWxlLmxlZnQucHhdPVwiY29sdW1uLmxlZnRcIlxyXG4gICAgICBbc3R5bGUucmlnaHQucHhdPVwiY29sdW1uLnJpZ2h0XCJcclxuICAgICAgW25nQ2xhc3NdPVwiIXJvd0NsYXNzID8ge30gOiByb3dDbGFzcyhyb3csIGkpXCJcclxuICAgID5cclxuICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2VsbFRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiwgcm93OiByb3csIGk6IGkgfVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3RkPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2VsbFRwbCBsZXQtY29sdW1uPVwiY29sdW1uXCIgbGV0LXJvdz1cInJvd1wiIGxldC1pPVwiaVwiPlxyXG4gIEBzd2l0Y2ggKGNvbHVtbi50eXBlKSB7XHJcbiAgICBAY2FzZSAoJ2NoZWNrYm94Jykge1xyXG4gICAgICA8eC1jaGVja2JveFxyXG4gICAgICAgIFtkYXRhXT1cIlt7IGlkOiB0cnVlLCBsYWJlbDogJycgfV1cIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwicm93W2NvbHVtbi5pZF1cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJyb3cuZGlzYWJsZWRcIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRhYmxlLmJvZHlDaGVja2VkKCRldmVudCwgY29sdW1uLCByb3cpXCJcclxuICAgICAgICBzaW5nbGVcclxuICAgICAgPjwveC1jaGVja2JveD5cclxuICAgIH1cclxuICAgIEBjYXNlICgnaW5kZXgnKSB7XHJcbiAgICAgIDxkaXY+e3sgdGFibGUuZ2V0SW5kZXgoaSkgfX08L2Rpdj5cclxuICAgIH1cclxuICAgIEBkZWZhdWx0IHtcclxuICAgICAgQGlmICh0YWJsZS5pc0V4cGFuZENvbHVtbihjb2x1bW4pKSB7XHJcbiAgICAgICAgPHgtYnV0dG9uXHJcbiAgICAgICAgICBbY2xhc3MuaXMtbGVhZl09XCIhcm93LmxlYWZcIlxyXG4gICAgICAgICAgW2NsYXNzLmlzLWV4cGFuZGVkXT1cInJvdy5leHBhbmRlZFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25FeHBhbmRlZCgkZXZlbnQsIHJvdylcIlxyXG4gICAgICAgICAgaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCJcclxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcclxuICAgICAgICAgIG9ubHlJY29uXHJcbiAgICAgICAgICBjbGFzcz1cIngtdGFibGUtZXhwYW5kXCJcclxuICAgICAgICAgIFtzdHlsZS5tYXJnaW4tbGVmdC5yZW1dPVwicm93LmxldmVsIC0gMC41XCJcclxuICAgICAgICA+PC94LWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwiY29sdW1uVHBsW2NvbHVtbi5pZF07IGNvbnRleHQ6IHsgJGNvbHVtbjogY29sdW1uLCAkcm93OiByb3csICRpbmRleDogdGFibGUuZ2V0SW5kZXgoaSkgfVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJ0YWJsZS5ib2R5VGRUcGw7IGNvbnRleHQ6IHsgJGNvbHVtbjogY29sdW1uLCAkcm93OiByb3csICRpbmRleDogdGFibGUuZ2V0SW5kZXgoaSkgfVwiPlxyXG4gICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInJvd1tjb2x1bW4uaWRdXCIgW3N0eWxlLnRleHQtYWxpZ25dPVwiY29sdW1uLnRleHRBbGlnblwiPjwvZGl2PlxyXG4gICAgICAgICAge3sgdGFibGUucm93RXhwYW5kTmV4dCAmJiB0YWJsZS5yb3dFeHBhbmROZXh0LmlkID09PSBjb2x1bW4uaWQgPyAneC10YWJsZS1ib2R5LWxldmVsLScgKyByb3cubGV2ZWwgOiAnJyB9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIH1cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -17,10 +17,10 @@ export class XTableFootComponent extends XTableFootProperty {
17
17
  ngAfterViewInit() {
18
18
  this.table.tfoot = this.tfoot;
19
19
  }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XTableFootComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: XTableFootComponent, isStandalone: true, selector: "x-table-foot", inputs: { table: "table" }, viewQueries: [{ propertyName: "tfoot", first: true, predicate: ["tfoot"], descendants: 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 }); }
20
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XTableFootComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: XTableFootComponent, isStandalone: true, selector: "x-table-foot", inputs: { table: "table" }, viewQueries: [{ propertyName: "tfoot", first: true, predicate: ["tfoot"], descendants: 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 }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XTableFootComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XTableFootComponent, decorators: [{
24
24
  type: Component,
25
25
  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" }]
26
26
  }], propDecorators: { tfoot: [{
@@ -164,10 +164,10 @@ export class XTableHeadComponent extends XTableHeadProperty {
164
164
  dragChange() {
165
165
  this.table.bodyChange();
166
166
  }
167
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XTableHeadComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
168
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: XTableHeadComponent, isStandalone: true, selector: "x-table-head", inputs: { table: "table" }, viewQueries: [{ propertyName: "thead", first: true, predicate: ["thead"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\r\n #thead\r\n [ngStyle]=\"theadStyle\"\r\n [class.x-table-head-top]=\"position === 'top'\"\r\n [class.x-table-head-bottom]=\"position === 'bottom'\"\r\n>\r\n @if (cellConfig) {\r\n <tr [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\" [style.min-height.px]=\"getRowHeight\">\r\n @for (column of cellConfig.cells; track column.id) {\r\n <th\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 [class.x-table-width-drag]=\"column.dragWidth\"\r\n [style.grid-area]=\"column.gridArea\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [title]=\"column?.label\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n @if (column.dragWidth) {\r\n <div\r\n class=\"x-table-drag-width\"\r\n x-drag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n }\r\n </th>\r\n }\r\n </tr>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"columnsTpl\"></ng-container>\r\n }\r\n @if (table.headSearchTpl) {\r\n <ng-container *ngTemplateOutlet=\"columnsTpl; context: { case: 'search' }\"></ng-container>\r\n }\r\n</thead>\r\n\r\n<ng-template #columnsTpl let-case=\"case\">\r\n <tr\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListSorted)=\"dropListSorted($event)\"\r\n (cdkDropListDropped)=\"dropListDropped($event)\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.padding-right.px]=\"scrollYWidth\"\r\n [style.width.px]=\"scrollXWidth\"\r\n [class.x-table-search]=\"case === 'search'\"\r\n >\r\n @for (column of columns; track column.id) {\r\n <th\r\n cdkDrag\r\n [cdkDragDisabled]=\"column.draggingWidth || !column.dragColumn\"\r\n (cdkDragStarted)=\"dragStarted($event, column)\"\r\n (cdkDragEnded)=\"dragEnded(column)\"\r\n [ngClass]=\"thClassMap\"\r\n [class.x-table-th]=\"true\"\r\n [class.x-table-sticky]=\"table.getSticky(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.min-height.px]=\"getRowHeight\"\r\n [style.width.px]=\"getColumnWidth(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"getColumnRight(column.right)\"\r\n [style.flex]=\"getFlex(column)\"\r\n >\r\n @switch (case) {\r\n @case ('search') {\r\n <ng-container *ngTemplateOutlet=\"table.headSearchTpl; context: { $column: column }\"></ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n @if (column.dragWidth) {\r\n <div\r\n class=\"x-table-drag-width\"\r\n x-drag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n }\r\n }\r\n }\r\n </th>\r\n }\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #columnBaseTpl let-column=\"column\">\r\n @switch (column.type) {\r\n @case ('checkbox') {\r\n @if (column.headChecked) {\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: column.label }]\"\r\n [(ngModel)]=\"table.checkedValues[column.id]\"\r\n (ngModelChange)=\"table.headChecked($event, column)\"\r\n [indeterminate]=\"table.checkedValues[column.id + table.indeterminate]\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!column.headChecked) {\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n }\r\n }\r\n @case ('index') {\r\n <a>{{ column.label }}</a>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n }\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cloumnDefaultTpl let-column=\"column\">\r\n <a [class.x-table-sort]=\"column.sort\" (click)=\"onSort(column)\" [style.text-align]=\"column.textAlign\">\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column }\">\r\n {{ column.label }}\r\n </ng-container>\r\n @if (column.sort) {\r\n <x-icon\r\n type=\"fto-bar-chart\"\r\n class=\"x-table-sort-icon\"\r\n [class.x-table-icon-up]=\"sortStr === column.id + ' desc'\"\r\n [class.x-table-icon-down]=\"sortStr === column.id + ' asc'\"\r\n ></x-icon>\r\n }\r\n </a>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "directive", type: XDragDirective, selector: "[x-drag]" }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }], encapsulation: i0.ViewEncapsulation.None }); }
167
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XTableHeadComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
168
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: XTableHeadComponent, isStandalone: true, selector: "x-table-head", inputs: { table: "table" }, viewQueries: [{ propertyName: "thead", first: true, predicate: ["thead"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\r\n #thead\r\n [ngStyle]=\"theadStyle\"\r\n [class.x-table-head-top]=\"position === 'top'\"\r\n [class.x-table-head-bottom]=\"position === 'bottom'\"\r\n>\r\n @if (cellConfig) {\r\n <tr [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\" [style.min-height.px]=\"getRowHeight\">\r\n @for (column of cellConfig.cells; track column.id) {\r\n <th\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 [class.x-table-width-drag]=\"column.dragWidth\"\r\n [style.grid-area]=\"column.gridArea\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [title]=\"column?.label\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n @if (column.dragWidth) {\r\n <div\r\n class=\"x-table-drag-width\"\r\n x-drag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n }\r\n </th>\r\n }\r\n </tr>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"columnsTpl\"></ng-container>\r\n }\r\n @if (table.headSearchTpl) {\r\n <ng-container *ngTemplateOutlet=\"columnsTpl; context: { case: 'search' }\"></ng-container>\r\n }\r\n</thead>\r\n\r\n<ng-template #columnsTpl let-case=\"case\">\r\n <tr\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListSorted)=\"dropListSorted($event)\"\r\n (cdkDropListDropped)=\"dropListDropped($event)\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.padding-right.px]=\"scrollYWidth\"\r\n [style.width.px]=\"scrollXWidth\"\r\n [class.x-table-search]=\"case === 'search'\"\r\n >\r\n @for (column of columns; track column.id) {\r\n <th\r\n cdkDrag\r\n [cdkDragDisabled]=\"column.draggingWidth || !column.dragColumn\"\r\n (cdkDragStarted)=\"dragStarted($event, column)\"\r\n (cdkDragEnded)=\"dragEnded(column)\"\r\n [ngClass]=\"thClassMap\"\r\n [class.x-table-th]=\"true\"\r\n [class.x-table-sticky]=\"table.getSticky(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.min-height.px]=\"getRowHeight\"\r\n [style.width.px]=\"getColumnWidth(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"getColumnRight(column.right)\"\r\n [style.flex]=\"getFlex(column)\"\r\n >\r\n @switch (case) {\r\n @case ('search') {\r\n <ng-container *ngTemplateOutlet=\"table.headSearchTpl; context: { $column: column }\"></ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n @if (column.dragWidth) {\r\n <div\r\n class=\"x-table-drag-width\"\r\n x-drag\r\n (dragMoved)=\"dragWidthMoved($event, column)\"\r\n (dragStarted)=\"dragWidthStarted($event, column)\"\r\n (dragEnded)=\"dragWidthEnded($event, column)\"\r\n ></div>\r\n }\r\n }\r\n }\r\n </th>\r\n }\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #columnBaseTpl let-column=\"column\">\r\n @switch (column.type) {\r\n @case ('checkbox') {\r\n @if (column.headChecked) {\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: column.label }]\"\r\n [(ngModel)]=\"table.checkedValues[column.id]\"\r\n (ngModelChange)=\"table.headChecked($event, column)\"\r\n [indeterminate]=\"table.checkedValues[column.id + table.indeterminate]\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!column.headChecked) {\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n }\r\n }\r\n @case ('index') {\r\n <a>{{ column.label }}</a>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n }\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cloumnDefaultTpl let-column=\"column\">\r\n <a [class.x-table-sort]=\"column.sort\" (click)=\"onSort(column)\" [style.text-align]=\"column.textAlign\">\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column }\">\r\n {{ column.label }}\r\n </ng-container>\r\n @if (column.sort) {\r\n <x-icon\r\n type=\"fto-bar-chart\"\r\n class=\"x-table-sort-icon\"\r\n [class.x-table-icon-up]=\"sortStr === column.id + ' desc'\"\r\n [class.x-table-icon-down]=\"sortStr === column.id + ' asc'\"\r\n ></x-icon>\r\n }\r\n </a>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "directive", type: XDragDirective, selector: "[x-drag]" }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }], encapsulation: i0.ViewEncapsulation.None }); }
169
169
  }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XTableHeadComponent, decorators: [{
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: XTableHeadComponent, decorators: [{
171
171
  type: Component,
172
172
  args: [{ selector: `${XTableHeadPrefix}`, standalone: true, imports: [
173
173
  NgStyle,