@ng-nest/ui 15.0.18 → 15.0.19

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 (571) hide show
  1. package/anchor/anchor.component.d.ts +1 -1
  2. package/avatar/avatar.component.d.ts +1 -1
  3. package/back-top/back-top.component.d.ts +5 -3
  4. package/button/button.component.d.ts +2 -0
  5. package/color/color.component.d.ts +2 -2
  6. package/core/config/config.service.d.ts +4 -3
  7. package/core/functions/resize.d.ts +4 -2
  8. package/core/services/storage.service.d.ts +3 -1
  9. package/core/theme/theme.service.d.ts +2 -2
  10. package/core/util/computed-style.d.ts +2 -1
  11. package/core/util/index.d.ts +1 -0
  12. package/esm2020/affix/affix.component.mjs +3 -3
  13. package/esm2020/affix/affix.module.mjs +4 -4
  14. package/esm2020/affix/affix.property.mjs +3 -3
  15. package/esm2020/alert/alert.component.mjs +3 -3
  16. package/esm2020/alert/alert.module.mjs +4 -4
  17. package/esm2020/alert/alert.property.mjs +3 -3
  18. package/esm2020/anchor/anchor-inner.component.mjs +3 -3
  19. package/esm2020/anchor/anchor.component.mjs +16 -19
  20. package/esm2020/anchor/anchor.module.mjs +4 -4
  21. package/esm2020/anchor/anchor.property.mjs +6 -6
  22. package/esm2020/api/api.component.mjs +3 -3
  23. package/esm2020/api/api.module.mjs +4 -4
  24. package/esm2020/auto-complete/auto-complete-portal.component.mjs +3 -3
  25. package/esm2020/auto-complete/auto-complete.component.mjs +3 -3
  26. package/esm2020/auto-complete/auto-complete.module.mjs +4 -4
  27. package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
  28. package/esm2020/avatar/avatar-group.component.mjs +3 -3
  29. package/esm2020/avatar/avatar.component.mjs +8 -11
  30. package/esm2020/avatar/avatar.module.mjs +4 -4
  31. package/esm2020/avatar/avatar.property.mjs +6 -6
  32. package/esm2020/back-top/back-top.component.mjs +17 -16
  33. package/esm2020/back-top/back-top.module.mjs +4 -4
  34. package/esm2020/back-top/back-top.property.mjs +3 -3
  35. package/esm2020/badge/badge.component.mjs +3 -3
  36. package/esm2020/badge/badge.module.mjs +4 -4
  37. package/esm2020/badge/badge.property.mjs +3 -3
  38. package/esm2020/base-form/base-form.component.mjs +3 -3
  39. package/esm2020/base-form/base-form.module.mjs +4 -4
  40. package/esm2020/base-form/base-form.property.mjs +3 -3
  41. package/esm2020/border/border.component.mjs +3 -3
  42. package/esm2020/border/border.module.mjs +4 -4
  43. package/esm2020/button/button.component.mjs +22 -10
  44. package/esm2020/button/button.module.mjs +4 -4
  45. package/esm2020/button/button.property.mjs +6 -6
  46. package/esm2020/button/buttons.component.mjs +3 -3
  47. package/esm2020/calendar/calendar.component.mjs +3 -3
  48. package/esm2020/calendar/calendar.module.mjs +4 -4
  49. package/esm2020/calendar/calendar.property.mjs +3 -3
  50. package/esm2020/card/card.component.mjs +3 -3
  51. package/esm2020/card/card.module.mjs +4 -4
  52. package/esm2020/card/card.property.mjs +3 -3
  53. package/esm2020/carousel/carousel-panel.component.mjs +3 -3
  54. package/esm2020/carousel/carousel.component.mjs +4 -4
  55. package/esm2020/carousel/carousel.module.mjs +4 -4
  56. package/esm2020/carousel/carousel.property.mjs +6 -6
  57. package/esm2020/cascade/cascade-portal.component.mjs +3 -3
  58. package/esm2020/cascade/cascade.component.mjs +3 -3
  59. package/esm2020/cascade/cascade.module.mjs +4 -4
  60. package/esm2020/cascade/cascade.property.mjs +3 -3
  61. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  62. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  63. package/esm2020/checkbox/checkbox.property.mjs +3 -3
  64. package/esm2020/collapse/collapse-panel.component.mjs +3 -3
  65. package/esm2020/collapse/collapse.component.mjs +3 -3
  66. package/esm2020/collapse/collapse.module.mjs +4 -4
  67. package/esm2020/collapse/collapse.property.mjs +6 -6
  68. package/esm2020/color/color.component.mjs +10 -13
  69. package/esm2020/color/color.module.mjs +4 -4
  70. package/esm2020/color/color.property.mjs +3 -3
  71. package/esm2020/color-picker/color-picker-portal.component.mjs +6 -6
  72. package/esm2020/color-picker/color-picker.component.mjs +3 -3
  73. package/esm2020/color-picker/color-picker.module.mjs +4 -4
  74. package/esm2020/color-picker/color-picker.property.mjs +3 -3
  75. package/esm2020/comment/comment-reply.component.mjs +3 -3
  76. package/esm2020/comment/comment.component.mjs +3 -3
  77. package/esm2020/comment/comment.module.mjs +4 -4
  78. package/esm2020/comment/comment.property.mjs +6 -6
  79. package/esm2020/container/aside.component.mjs +3 -3
  80. package/esm2020/container/container.component.mjs +3 -3
  81. package/esm2020/container/container.module.mjs +4 -4
  82. package/esm2020/container/container.property.mjs +12 -12
  83. package/esm2020/container/footer.component.mjs +3 -3
  84. package/esm2020/container/header.component.mjs +3 -3
  85. package/esm2020/container/main.component.mjs +3 -3
  86. package/esm2020/core/config/config.service.mjs +11 -20
  87. package/esm2020/core/functions/resize.mjs +4 -1
  88. package/esm2020/core/services/http.service.mjs +3 -3
  89. package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
  90. package/esm2020/core/services/storage.service.mjs +45 -12
  91. package/esm2020/core/theme/theme.service.mjs +10 -12
  92. package/esm2020/core/util/computed-style.mjs +9 -3
  93. package/esm2020/core/util/index.mjs +2 -0
  94. package/esm2020/crumb/crumb.component.mjs +3 -3
  95. package/esm2020/crumb/crumb.module.mjs +4 -4
  96. package/esm2020/crumb/crumb.property.mjs +3 -3
  97. package/esm2020/date-picker/date-picker-portal.component.mjs +3 -3
  98. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  99. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  100. package/esm2020/date-picker/date-picker.property.mjs +18 -18
  101. package/esm2020/date-picker/date-quarter.pipe.mjs +3 -3
  102. package/esm2020/date-picker/date-range-portal.component.mjs +3 -3
  103. package/esm2020/date-picker/date-range.component.mjs +3 -3
  104. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  105. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  106. package/esm2020/date-picker/picker-quarter.component.mjs +3 -3
  107. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  108. package/esm2020/description/description-item.component.mjs +3 -3
  109. package/esm2020/description/description.component.mjs +3 -3
  110. package/esm2020/description/description.module.mjs +4 -4
  111. package/esm2020/description/description.property.mjs +6 -6
  112. package/esm2020/dialog/dialog-container.component.mjs +3 -3
  113. package/esm2020/dialog/dialog-portal.component.mjs +3 -3
  114. package/esm2020/dialog/dialog-portal.directives.mjs +18 -18
  115. package/esm2020/dialog/dialog.component.mjs +3 -3
  116. package/esm2020/dialog/dialog.module.mjs +4 -4
  117. package/esm2020/dialog/dialog.property.mjs +6 -6
  118. package/esm2020/dialog/dialog.service.mjs +3 -3
  119. package/esm2020/doc/doc.component.mjs +3 -3
  120. package/esm2020/doc/doc.module.mjs +4 -4
  121. package/esm2020/drawer/drawer-container.component.mjs +3 -3
  122. package/esm2020/drawer/drawer-portal.component.mjs +3 -3
  123. package/esm2020/drawer/drawer-portal.directives.mjs +9 -9
  124. package/esm2020/drawer/drawer.component.mjs +3 -3
  125. package/esm2020/drawer/drawer.module.mjs +4 -4
  126. package/esm2020/drawer/drawer.property.mjs +6 -6
  127. package/esm2020/drawer/drawer.service.mjs +3 -3
  128. package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
  129. package/esm2020/dropdown/dropdown.component.mjs +3 -3
  130. package/esm2020/dropdown/dropdown.module.mjs +4 -4
  131. package/esm2020/dropdown/dropdown.property.mjs +3 -3
  132. package/esm2020/empty/empty.component.mjs +3 -3
  133. package/esm2020/empty/empty.module.mjs +4 -4
  134. package/esm2020/empty/empty.property.mjs +3 -3
  135. package/esm2020/examples/examples.component.mjs +3 -3
  136. package/esm2020/examples/examples.module.mjs +4 -4
  137. package/esm2020/find/find.component.mjs +4 -4
  138. package/esm2020/find/find.module.mjs +4 -4
  139. package/esm2020/find/find.property.mjs +3 -3
  140. package/esm2020/form/control.component.mjs +3 -3
  141. package/esm2020/form/form.component.mjs +3 -3
  142. package/esm2020/form/form.module.mjs +4 -4
  143. package/esm2020/form/form.property.mjs +6 -6
  144. package/esm2020/highlight/highlight.component.mjs +9 -8
  145. package/esm2020/highlight/highlight.module.mjs +4 -4
  146. package/esm2020/highlight/highlight.property.mjs +3 -3
  147. package/esm2020/i18n/i18n.directive.mjs +3 -3
  148. package/esm2020/i18n/i18n.module.mjs +4 -4
  149. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  150. package/esm2020/i18n/i18n.property.mjs +1 -1
  151. package/esm2020/i18n/i18n.service.mjs +3 -3
  152. package/esm2020/i18n/languages/en_GB.mjs +5 -2
  153. package/esm2020/i18n/languages/en_US.mjs +5 -2
  154. package/esm2020/i18n/languages/zh_CN.mjs +5 -2
  155. package/esm2020/i18n/languages/zh_TW.mjs +5 -2
  156. package/esm2020/icon/icon.component.mjs +9 -14
  157. package/esm2020/icon/icon.module.mjs +4 -4
  158. package/esm2020/icon/icon.property.mjs +3 -3
  159. package/esm2020/icon/icon.service.mjs +3 -3
  160. package/esm2020/image/image-group.component.mjs +3 -3
  161. package/esm2020/image/image-preview.component.mjs +14 -10
  162. package/esm2020/image/image.component.mjs +3 -3
  163. package/esm2020/image/image.module.mjs +4 -4
  164. package/esm2020/image/image.property.mjs +6 -6
  165. package/esm2020/inner/inner.component.mjs +3 -3
  166. package/esm2020/inner/inner.module.mjs +4 -4
  167. package/esm2020/inner/inner.property.mjs +3 -3
  168. package/esm2020/input/input-group.component.mjs +3 -3
  169. package/esm2020/input/input.component.mjs +3 -3
  170. package/esm2020/input/input.module.mjs +4 -4
  171. package/esm2020/input/input.property.mjs +6 -6
  172. package/esm2020/input-number/input-number.component.mjs +3 -3
  173. package/esm2020/input-number/input-number.module.mjs +4 -4
  174. package/esm2020/input-number/input-number.property.mjs +3 -3
  175. package/esm2020/keyword/keyword.directive.mjs +3 -3
  176. package/esm2020/keyword/keyword.module.mjs +4 -4
  177. package/esm2020/keyword/keyword.property.mjs +3 -3
  178. package/esm2020/layout/col.component.mjs +3 -3
  179. package/esm2020/layout/layout.module.mjs +4 -4
  180. package/esm2020/layout/layout.property.mjs +6 -6
  181. package/esm2020/layout/row.component.mjs +3 -3
  182. package/esm2020/link/link.component.mjs +3 -3
  183. package/esm2020/link/link.module.mjs +4 -4
  184. package/esm2020/link/link.property.mjs +3 -3
  185. package/esm2020/list/list-drop-group.directive.mjs +3 -3
  186. package/esm2020/list/list-option.component.mjs +3 -3
  187. package/esm2020/list/list.component.mjs +5 -5
  188. package/esm2020/list/list.module.mjs +4 -4
  189. package/esm2020/list/list.property.mjs +6 -6
  190. package/esm2020/loading/loading.component.mjs +3 -3
  191. package/esm2020/loading/loading.module.mjs +4 -4
  192. package/esm2020/loading/loading.property.mjs +3 -3
  193. package/esm2020/menu/menu-node.component.mjs +3 -3
  194. package/esm2020/menu/menu.component.mjs +12 -12
  195. package/esm2020/menu/menu.module.mjs +4 -4
  196. package/esm2020/menu/menu.property.mjs +6 -6
  197. package/esm2020/message/message.component.mjs +3 -3
  198. package/esm2020/message/message.module.mjs +4 -4
  199. package/esm2020/message/message.service.mjs +3 -3
  200. package/esm2020/message-box/message-box.component.mjs +3 -3
  201. package/esm2020/message-box/message-box.module.mjs +4 -4
  202. package/esm2020/message-box/message-box.service.mjs +3 -3
  203. package/esm2020/notification/notification.component.mjs +3 -3
  204. package/esm2020/notification/notification.module.mjs +4 -4
  205. package/esm2020/notification/notification.service.mjs +3 -3
  206. package/esm2020/outlet/outlet.directive.mjs +3 -3
  207. package/esm2020/outlet/outlet.module.mjs +4 -4
  208. package/esm2020/page-header/page-header.component.mjs +3 -3
  209. package/esm2020/page-header/page-header.module.mjs +4 -4
  210. package/esm2020/page-header/page-header.property.mjs +3 -3
  211. package/esm2020/pagination/pagination.component.mjs +3 -3
  212. package/esm2020/pagination/pagination.module.mjs +4 -4
  213. package/esm2020/pagination/pagination.property.mjs +3 -3
  214. package/esm2020/pattern/pattern.component.mjs +3 -3
  215. package/esm2020/pattern/pattern.module.mjs +4 -4
  216. package/esm2020/popconfirm/popconfirm.component.mjs +3 -3
  217. package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
  218. package/esm2020/popconfirm/popconfirm.property.mjs +3 -3
  219. package/esm2020/popover/popover-portal.component.mjs +3 -3
  220. package/esm2020/popover/popover.directive.mjs +3 -3
  221. package/esm2020/popover/popover.module.mjs +4 -4
  222. package/esm2020/popover/popover.property.mjs +3 -3
  223. package/esm2020/portal/portal.module.mjs +4 -4
  224. package/esm2020/portal/portal.service.mjs +6 -5
  225. package/esm2020/progress/progress.component.mjs +3 -3
  226. package/esm2020/progress/progress.module.mjs +4 -4
  227. package/esm2020/progress/progress.property.mjs +3 -3
  228. package/esm2020/radio/radio.component.mjs +3 -3
  229. package/esm2020/radio/radio.module.mjs +4 -4
  230. package/esm2020/radio/radio.property.mjs +3 -3
  231. package/esm2020/rate/rate.component.mjs +3 -3
  232. package/esm2020/rate/rate.module.mjs +4 -4
  233. package/esm2020/rate/rate.property.mjs +3 -3
  234. package/esm2020/resizable/resizable.directive.mjs +10 -13
  235. package/esm2020/resizable/resizable.module.mjs +4 -4
  236. package/esm2020/resizable/resizable.property.mjs +3 -3
  237. package/esm2020/result/result.component.mjs +3 -3
  238. package/esm2020/result/result.module.mjs +4 -4
  239. package/esm2020/result/result.property.mjs +3 -3
  240. package/esm2020/ripple/ripple.directive.mjs +6 -5
  241. package/esm2020/ripple/ripple.module.mjs +4 -4
  242. package/esm2020/ripple/ripple.property.mjs +3 -3
  243. package/esm2020/select/select-portal.component.mjs +3 -3
  244. package/esm2020/select/select.component.mjs +6 -6
  245. package/esm2020/select/select.module.mjs +4 -4
  246. package/esm2020/select/select.property.mjs +3 -3
  247. package/esm2020/skeleton/skeleton.component.mjs +3 -3
  248. package/esm2020/skeleton/skeleton.module.mjs +4 -4
  249. package/esm2020/skeleton/skeleton.property.mjs +3 -3
  250. package/esm2020/slider/slider.component.mjs +7 -5
  251. package/esm2020/slider/slider.module.mjs +4 -4
  252. package/esm2020/slider/slider.property.mjs +3 -3
  253. package/esm2020/slider-select/slider-select.component.mjs +21 -14
  254. package/esm2020/slider-select/slider-select.module.mjs +4 -4
  255. package/esm2020/slider-select/slider-select.property.mjs +3 -3
  256. package/esm2020/statistic/countdown.component.mjs +3 -3
  257. package/esm2020/statistic/statistic.component.mjs +3 -3
  258. package/esm2020/statistic/statistic.module.mjs +4 -4
  259. package/esm2020/statistic/statistic.property.mjs +6 -6
  260. package/esm2020/steps/steps.component.mjs +3 -3
  261. package/esm2020/steps/steps.module.mjs +4 -4
  262. package/esm2020/steps/steps.property.mjs +3 -3
  263. package/esm2020/switch/switch.component.mjs +3 -3
  264. package/esm2020/switch/switch.module.mjs +4 -4
  265. package/esm2020/switch/switch.property.mjs +3 -3
  266. package/esm2020/table/drag.directive.mjs +8 -11
  267. package/esm2020/table/table-body.component.mjs +10 -13
  268. package/esm2020/table/table-foot.component.mjs +3 -3
  269. package/esm2020/table/table-head.component.mjs +3 -3
  270. package/esm2020/table/table.component.mjs +3 -3
  271. package/esm2020/table/table.module.mjs +4 -4
  272. package/esm2020/table/table.property.mjs +12 -12
  273. package/esm2020/tabs/tab-content.component.mjs +3 -3
  274. package/esm2020/tabs/tab-link.directive.mjs +6 -6
  275. package/esm2020/tabs/tab.component.mjs +3 -3
  276. package/esm2020/tabs/tabs.component.mjs +4 -4
  277. package/esm2020/tabs/tabs.module.mjs +4 -4
  278. package/esm2020/tabs/tabs.property.mjs +6 -6
  279. package/esm2020/tag/tag.component.mjs +3 -3
  280. package/esm2020/tag/tag.module.mjs +4 -4
  281. package/esm2020/tag/tag.property.mjs +3 -3
  282. package/esm2020/text-retract/text-retract.component.mjs +3 -3
  283. package/esm2020/text-retract/text-retract.module.mjs +4 -4
  284. package/esm2020/text-retract/text-retract.property.mjs +3 -3
  285. package/esm2020/textarea/textarea.component.mjs +3 -3
  286. package/esm2020/textarea/textarea.module.mjs +4 -4
  287. package/esm2020/textarea/textarea.property.mjs +3 -3
  288. package/esm2020/theme/theme.component.mjs +3 -3
  289. package/esm2020/theme/theme.module.mjs +4 -4
  290. package/esm2020/theme/theme.property.mjs +3 -3
  291. package/esm2020/time-ago/time-ago.module.mjs +4 -4
  292. package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
  293. package/esm2020/time-picker/time-picker-frame.component.mjs +3 -3
  294. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  295. package/esm2020/time-picker/time-picker.component.mjs +21 -5
  296. package/esm2020/time-picker/time-picker.module.mjs +4 -4
  297. package/esm2020/time-picker/time-picker.property.mjs +3 -3
  298. package/esm2020/time-range/time-range.module.mjs +4 -4
  299. package/esm2020/time-range/time-range.pipe.mjs +3 -3
  300. package/esm2020/timeline/timeline.component.mjs +3 -3
  301. package/esm2020/timeline/timeline.module.mjs +4 -4
  302. package/esm2020/timeline/timeline.property.mjs +3 -3
  303. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  304. package/esm2020/tooltip/tooltip.directive.mjs +3 -3
  305. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  306. package/esm2020/tooltip/tooltip.property.mjs +3 -3
  307. package/esm2020/transfer/transfer.component.mjs +3 -3
  308. package/esm2020/transfer/transfer.module.mjs +4 -4
  309. package/esm2020/transfer/transfer.property.mjs +3 -3
  310. package/esm2020/tree/tree-node.component.mjs +3 -3
  311. package/esm2020/tree/tree.component.mjs +4 -4
  312. package/esm2020/tree/tree.module.mjs +4 -4
  313. package/esm2020/tree/tree.property.mjs +6 -6
  314. package/esm2020/tree/tree.service.mjs +3 -3
  315. package/esm2020/tree-file/tree-file.component.mjs +9 -6
  316. package/esm2020/tree-file/tree-file.module.mjs +4 -4
  317. package/esm2020/tree-file/tree-file.property.mjs +5 -5
  318. package/esm2020/tree-select/tree-select-portal.component.mjs +3 -3
  319. package/esm2020/tree-select/tree-select.component.mjs +6 -6
  320. package/esm2020/tree-select/tree-select.module.mjs +4 -4
  321. package/esm2020/tree-select/tree-select.property.mjs +3 -3
  322. package/esm2020/typography/typography.component.mjs +3 -3
  323. package/esm2020/typography/typography.module.mjs +4 -4
  324. package/esm2020/typography/typography.property.mjs +3 -3
  325. package/esm2020/upload/upload-portal.component.mjs +8 -11
  326. package/esm2020/upload/upload.component.mjs +3 -3
  327. package/esm2020/upload/upload.module.mjs +4 -4
  328. package/esm2020/upload/upload.property.mjs +3 -3
  329. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  330. package/fesm2015/ng-nest-ui-alert.mjs +10 -10
  331. package/fesm2015/ng-nest-ui-anchor.mjs +28 -33
  332. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  333. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  334. package/fesm2015/ng-nest-ui-auto-complete.mjs +13 -13
  335. package/fesm2015/ng-nest-ui-avatar.mjs +20 -25
  336. package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
  337. package/fesm2015/ng-nest-ui-back-top.mjs +23 -24
  338. package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
  339. package/fesm2015/ng-nest-ui-badge.mjs +10 -10
  340. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  341. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  342. package/fesm2015/ng-nest-ui-button.mjs +35 -22
  343. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  344. package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
  345. package/fesm2015/ng-nest-ui-card.mjs +10 -10
  346. package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
  347. package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
  348. package/fesm2015/ng-nest-ui-cascade.mjs +13 -13
  349. package/fesm2015/ng-nest-ui-checkbox.mjs +10 -10
  350. package/fesm2015/ng-nest-ui-collapse.mjs +16 -16
  351. package/fesm2015/ng-nest-ui-color-picker.mjs +15 -15
  352. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  353. package/fesm2015/ng-nest-ui-color.mjs +16 -21
  354. package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
  355. package/fesm2015/ng-nest-ui-comment.mjs +16 -16
  356. package/fesm2015/ng-nest-ui-container.mjs +31 -31
  357. package/fesm2015/ng-nest-ui-core.mjs +78 -51
  358. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  359. package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
  360. package/fesm2015/ng-nest-ui-date-picker.mjs +49 -49
  361. package/fesm2015/ng-nest-ui-description.mjs +16 -16
  362. package/fesm2015/ng-nest-ui-dialog.mjs +40 -40
  363. package/fesm2015/ng-nest-ui-doc.mjs +7 -7
  364. package/fesm2015/ng-nest-ui-drawer.mjs +31 -31
  365. package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
  366. package/fesm2015/ng-nest-ui-empty.mjs +10 -10
  367. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  368. package/fesm2015/ng-nest-ui-find.mjs +10 -10
  369. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  370. package/fesm2015/ng-nest-ui-form.mjs +16 -16
  371. package/fesm2015/ng-nest-ui-highlight.mjs +15 -14
  372. package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
  373. package/fesm2015/ng-nest-ui-i18n.mjs +29 -17
  374. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  375. package/fesm2015/ng-nest-ui-icon.mjs +18 -25
  376. package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
  377. package/fesm2015/ng-nest-ui-image.mjs +30 -26
  378. package/fesm2015/ng-nest-ui-image.mjs.map +1 -1
  379. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  380. package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
  381. package/fesm2015/ng-nest-ui-input.mjs +16 -16
  382. package/fesm2015/ng-nest-ui-keyword.mjs +10 -10
  383. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  384. package/fesm2015/ng-nest-ui-link.mjs +10 -10
  385. package/fesm2015/ng-nest-ui-list.mjs +20 -20
  386. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  387. package/fesm2015/ng-nest-ui-loading.mjs +10 -10
  388. package/fesm2015/ng-nest-ui-menu.mjs +24 -26
  389. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  390. package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
  391. package/fesm2015/ng-nest-ui-message.mjs +10 -10
  392. package/fesm2015/ng-nest-ui-notification.mjs +10 -10
  393. package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
  394. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  395. package/fesm2015/ng-nest-ui-pagination.mjs +10 -10
  396. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  397. package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
  398. package/fesm2015/ng-nest-ui-popover.mjs +13 -13
  399. package/fesm2015/ng-nest-ui-portal.mjs +9 -9
  400. package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
  401. package/fesm2015/ng-nest-ui-progress.mjs +10 -10
  402. package/fesm2015/ng-nest-ui-radio.mjs +10 -10
  403. package/fesm2015/ng-nest-ui-rate.mjs +10 -10
  404. package/fesm2015/ng-nest-ui-resizable.mjs +16 -21
  405. package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
  406. package/fesm2015/ng-nest-ui-result.mjs +10 -10
  407. package/fesm2015/ng-nest-ui-ripple.mjs +12 -12
  408. package/fesm2015/ng-nest-ui-ripple.mjs.map +1 -1
  409. package/fesm2015/ng-nest-ui-select.mjs +15 -15
  410. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  411. package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
  412. package/fesm2015/ng-nest-ui-slider-select.mjs +27 -20
  413. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  414. package/fesm2015/ng-nest-ui-slider.mjs +13 -11
  415. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  416. package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
  417. package/fesm2015/ng-nest-ui-steps.mjs +10 -10
  418. package/fesm2015/ng-nest-ui-switch.mjs +10 -10
  419. package/fesm2015/ng-nest-ui-table.mjs +40 -50
  420. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  421. package/fesm2015/ng-nest-ui-tabs.mjs +25 -25
  422. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  423. package/fesm2015/ng-nest-ui-tag.mjs +10 -10
  424. package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
  425. package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
  426. package/fesm2015/ng-nest-ui-theme.mjs +10 -10
  427. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  428. package/fesm2015/ng-nest-ui-time-picker.mjs +33 -17
  429. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  430. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  431. package/fesm2015/ng-nest-ui-timeline.mjs +10 -10
  432. package/fesm2015/ng-nest-ui-tooltip.mjs +13 -13
  433. package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
  434. package/fesm2015/ng-nest-ui-tree-file.mjs +16 -13
  435. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  436. package/fesm2015/ng-nest-ui-tree-select.mjs +15 -15
  437. package/fesm2015/ng-nest-ui-tree-select.mjs.map +1 -1
  438. package/fesm2015/ng-nest-ui-tree.mjs +19 -19
  439. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  440. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  441. package/fesm2015/ng-nest-ui-upload.mjs +17 -22
  442. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  443. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  444. package/fesm2020/ng-nest-ui-alert.mjs +10 -10
  445. package/fesm2020/ng-nest-ui-anchor.mjs +28 -31
  446. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  447. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  448. package/fesm2020/ng-nest-ui-auto-complete.mjs +13 -13
  449. package/fesm2020/ng-nest-ui-avatar.mjs +20 -23
  450. package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
  451. package/fesm2020/ng-nest-ui-back-top.mjs +23 -22
  452. package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
  453. package/fesm2020/ng-nest-ui-badge.mjs +10 -10
  454. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  455. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  456. package/fesm2020/ng-nest-ui-button.mjs +34 -22
  457. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  458. package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
  459. package/fesm2020/ng-nest-ui-card.mjs +10 -10
  460. package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
  461. package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
  462. package/fesm2020/ng-nest-ui-cascade.mjs +13 -13
  463. package/fesm2020/ng-nest-ui-checkbox.mjs +10 -10
  464. package/fesm2020/ng-nest-ui-collapse.mjs +16 -16
  465. package/fesm2020/ng-nest-ui-color-picker.mjs +15 -15
  466. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  467. package/fesm2020/ng-nest-ui-color.mjs +16 -19
  468. package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
  469. package/fesm2020/ng-nest-ui-comment.mjs +16 -16
  470. package/fesm2020/ng-nest-ui-container.mjs +31 -31
  471. package/fesm2020/ng-nest-ui-core.mjs +78 -47
  472. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  473. package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
  474. package/fesm2020/ng-nest-ui-date-picker.mjs +49 -49
  475. package/fesm2020/ng-nest-ui-description.mjs +16 -16
  476. package/fesm2020/ng-nest-ui-dialog.mjs +40 -40
  477. package/fesm2020/ng-nest-ui-doc.mjs +7 -7
  478. package/fesm2020/ng-nest-ui-drawer.mjs +31 -31
  479. package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
  480. package/fesm2020/ng-nest-ui-empty.mjs +10 -10
  481. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  482. package/fesm2020/ng-nest-ui-find.mjs +10 -10
  483. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  484. package/fesm2020/ng-nest-ui-form.mjs +16 -16
  485. package/fesm2020/ng-nest-ui-highlight.mjs +15 -14
  486. package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
  487. package/fesm2020/ng-nest-ui-i18n.mjs +29 -17
  488. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  489. package/fesm2020/ng-nest-ui-icon.mjs +18 -23
  490. package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
  491. package/fesm2020/ng-nest-ui-image.mjs +29 -26
  492. package/fesm2020/ng-nest-ui-image.mjs.map +1 -1
  493. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  494. package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
  495. package/fesm2020/ng-nest-ui-input.mjs +16 -16
  496. package/fesm2020/ng-nest-ui-keyword.mjs +10 -10
  497. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  498. package/fesm2020/ng-nest-ui-link.mjs +10 -10
  499. package/fesm2020/ng-nest-ui-list.mjs +20 -20
  500. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  501. package/fesm2020/ng-nest-ui-loading.mjs +10 -10
  502. package/fesm2020/ng-nest-ui-menu.mjs +24 -24
  503. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  504. package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
  505. package/fesm2020/ng-nest-ui-message.mjs +10 -10
  506. package/fesm2020/ng-nest-ui-notification.mjs +10 -10
  507. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  508. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  509. package/fesm2020/ng-nest-ui-pagination.mjs +10 -10
  510. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  511. package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
  512. package/fesm2020/ng-nest-ui-popover.mjs +13 -13
  513. package/fesm2020/ng-nest-ui-portal.mjs +9 -9
  514. package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
  515. package/fesm2020/ng-nest-ui-progress.mjs +10 -10
  516. package/fesm2020/ng-nest-ui-radio.mjs +10 -10
  517. package/fesm2020/ng-nest-ui-rate.mjs +10 -10
  518. package/fesm2020/ng-nest-ui-resizable.mjs +16 -19
  519. package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
  520. package/fesm2020/ng-nest-ui-result.mjs +10 -10
  521. package/fesm2020/ng-nest-ui-ripple.mjs +12 -12
  522. package/fesm2020/ng-nest-ui-ripple.mjs.map +1 -1
  523. package/fesm2020/ng-nest-ui-select.mjs +15 -15
  524. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  525. package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
  526. package/fesm2020/ng-nest-ui-slider-select.mjs +27 -20
  527. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  528. package/fesm2020/ng-nest-ui-slider.mjs +13 -11
  529. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  530. package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
  531. package/fesm2020/ng-nest-ui-steps.mjs +10 -10
  532. package/fesm2020/ng-nest-ui-switch.mjs +10 -10
  533. package/fesm2020/ng-nest-ui-table.mjs +40 -46
  534. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  535. package/fesm2020/ng-nest-ui-tabs.mjs +25 -25
  536. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  537. package/fesm2020/ng-nest-ui-tag.mjs +10 -10
  538. package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
  539. package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
  540. package/fesm2020/ng-nest-ui-theme.mjs +10 -10
  541. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  542. package/fesm2020/ng-nest-ui-time-picker.mjs +33 -17
  543. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  544. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  545. package/fesm2020/ng-nest-ui-timeline.mjs +10 -10
  546. package/fesm2020/ng-nest-ui-tooltip.mjs +13 -13
  547. package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
  548. package/fesm2020/ng-nest-ui-tree-file.mjs +16 -13
  549. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  550. package/fesm2020/ng-nest-ui-tree-select.mjs +15 -15
  551. package/fesm2020/ng-nest-ui-tree-select.mjs.map +1 -1
  552. package/fesm2020/ng-nest-ui-tree.mjs +19 -19
  553. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  554. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  555. package/fesm2020/ng-nest-ui-upload.mjs +17 -20
  556. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  557. package/i18n/i18n.property.d.ts +3 -0
  558. package/i18n/languages/en_GB.d.ts +3 -0
  559. package/i18n/languages/en_US.d.ts +3 -0
  560. package/i18n/languages/zh_CN.d.ts +3 -0
  561. package/i18n/languages/zh_TW.d.ts +3 -0
  562. package/icon/icon.component.d.ts +4 -4
  563. package/image/image-preview.component.d.ts +1 -0
  564. package/menu/menu.component.d.ts +2 -2
  565. package/package.json +1 -1
  566. package/resizable/resizable.directive.d.ts +1 -1
  567. package/slider-select/slider-select.component.d.ts +1 -1
  568. package/table/drag.directive.d.ts +1 -1
  569. package/table/table-body.component.d.ts +2 -2
  570. package/time-picker/time-picker.component.d.ts +1 -0
  571. package/upload/upload-portal.component.d.ts +1 -1
@@ -136,7 +136,9 @@ export class XSliderComponent extends XSliderProperty {
136
136
  return this.direction;
137
137
  }
138
138
  setTranslate() {
139
- if (XIsUndefined(this.sliderScroll) || XIsUndefined(this.sliderNodes))
139
+ if (XIsUndefined(this.sliderScroll) ||
140
+ XIsUndefined(this.sliderNodes) ||
141
+ typeof this.sliderScroll.nativeElement.getBoundingClientRect !== 'function')
140
142
  return;
141
143
  const sliderRect = this.sliderScroll.nativeElement?.getBoundingClientRect();
142
144
  const sliderNodesRect = this.sliderNodes.nativeElement?.getBoundingClientRect();
@@ -230,9 +232,9 @@ export class XSliderComponent extends XSliderProperty {
230
232
  return item.id;
231
233
  }
232
234
  }
233
- /** @nocollapse */ XSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
234
- /** @nocollapse */ XSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XSliderComponent, selector: "x-slider", viewQueries: [{ propertyName: "sliderScroll", first: true, predicate: ["sliderScroll"], descendants: true }, { propertyName: "sliderNodes", first: true, predicate: ["sliderNodes"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "component", type: i4.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i6.XDropdownComponent, selector: "x-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderComponent, decorators: [{
235
+ /** @nocollapse */ XSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
236
+ /** @nocollapse */ XSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: XSliderComponent, selector: "x-slider", viewQueries: [{ propertyName: "sliderScroll", first: true, predicate: ["sliderScroll"], descendants: true }, { propertyName: "sliderNodes", first: true, predicate: ["sliderNodes"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "component", type: i4.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i6.XDropdownComponent, selector: "x-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderComponent, decorators: [{
236
238
  type: Component,
237
239
  args: [{ selector: `${XSliderPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"] }]
238
240
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { sliderScroll: [{
@@ -242,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
242
244
  type: ViewChild,
243
245
  args: ['sliderNodes']
244
246
  }] } });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDOUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQW9DbkQsWUFDUyxRQUFtQixFQUNuQixVQUFtQyxFQUNuQyxHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBckN0QyxVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUUxQixtQkFBYyxHQUFjLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUFjLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ1QsWUFBTyxHQUFXLENBQUMsQ0FB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QUFjLEVBQUUsSUFBaUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O2dJQXhPVSxnQkFBZ0I7b0hBQWhCLGdCQUFnQix1U0MzQjdCLGs1REFrREE7MkZEdkJhLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxHQUFHLGFBQWEsRUFBRSxpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO3NMQUdwQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0MsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBTaW1wbGVDaGFuZ2VcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFNsaWRlclByZWZpeCwgWFNsaWRlck5vZGUsIFhTbGlkZXJQcm9wZXJ0eSB9IGZyb20gJy4vc2xpZGVyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWENsYXNzTWFwLCBYSXNDaGFuZ2UsIFhSZXNpemUsIFhQb3NpdGlvbiwgWElzVW5kZWZpbmVkLCBYSXNFbXB0eSwgWFNldERhdGEsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFNsaWRlclByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NsaWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBYU2xpZGVyUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKCdzbGlkZXJTY3JvbGwnKSBzbGlkZXJTY3JvbGwhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzbGlkZXJOb2RlcycpIHNsaWRlck5vZGVzITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgbm9kZXM6IFhTbGlkZXJOb2RlW10gPSBbXTtcclxuICBhY3RpdmF0ZWQhOiBYU2xpZGVyTm9kZSB8IG51bGw7XHJcbiAgc2Nyb2xsQ2xhc3NNYXA6IFhDbGFzc01hcCA9IHt9O1xyXG4gIG5vZGVDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgc2hvd0Fycm93ID0gZmFsc2U7XHJcbiAgYWN0aXZhdGVkSWQgPSAnJztcclxuICBwcml2YXRlIF9vZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgZ2V0IG9mZnNldCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX29mZnNldDtcclxuICB9XHJcbiAgc2V0IG9mZnNldCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9vZmZzZXQgPSBNYXRoLmZsb29yKHZhbHVlKTtcclxuICAgIHRoaXMudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSR7dGhpcy5kaXJ9KC0ke3RoaXMuX29mZnNldH1weClgO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBkaXJlY3Rpb246IFhQb3NpdGlvbiA9ICdyaWdodCc7XHJcbiAgbWF4T2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGdldCBkaXIoKTogJ1gnIHwgJ1knIHtcclxuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAnWCcgOiAnWSc7XHJcbiAgfVxyXG4gIGdldCBzaXplTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAnV2lkdGgnIDogJ0hlaWdodCc7XHJcbiAgfVxyXG4gIHRyYW5zZm9ybT86IHN0cmluZztcclxuICBoaWdobGlnaHRCb3ggPSB7XHJcbiAgICB3aWR0aDogJycsXHJcbiAgICBoZWlnaHQ6ICcnLFxyXG4gICAgbGVmdDogJycsXHJcbiAgICB0b3A6ICcnXHJcbiAgfTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBsYXlvdXQsIGp1c3RpZnksIG5vZGVKdXN0aWZ5LCBhY3RpdmF0ZWRJbmRleCB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICAgIFhJc0NoYW5nZShsYXlvdXQpICYmIHRoaXMuc2V0Q2hhbmdlKHRoaXMuY2xhc3NNYXAsIGxheW91dCk7XHJcbiAgICBYSXNDaGFuZ2UoanVzdGlmeSkgJiYgdGhpcy5zZXRDaGFuZ2UodGhpcy5zY3JvbGxDbGFzc01hcCwganVzdGlmeSwgJ3gtanVzdGlmeScpO1xyXG4gICAgWElzQ2hhbmdlKG5vZGVKdXN0aWZ5KSAmJiB0aGlzLnNldENoYW5nZSh0aGlzLm5vZGVDbGFzc01hcCwgbm9kZUp1c3RpZnksICd4LWp1c3RpZnknKTtcclxuICAgIFhJc0NoYW5nZShhY3RpdmF0ZWRJbmRleCkgJiYgdGhpcy5zZXREaXJlY3Rpb24oYWN0aXZhdGVkSW5kZXguY3VycmVudFZhbHVlLCBhY3RpdmF0ZWRJbmRleC5wcmV2aW91c1ZhbHVlKSAmJiB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRTdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXBbYCR7WFNsaWRlclByZWZpeH0tJHt0aGlzLmxheW91dH1gXSA9ICFYSXNFbXB0eSh0aGlzLmxheW91dCk7XHJcbiAgICB0aGlzLnNjcm9sbENsYXNzTWFwW2B4LWp1c3RpZnktJHt0aGlzLmp1c3RpZnl9YF0gPSAhWElzRW1wdHkodGhpcy5qdXN0aWZ5KTtcclxuICAgIHRoaXMubm9kZUNsYXNzTWFwID0ge1xyXG4gICAgICBbYHgtanVzdGlmeS0ke3RoaXMubm9kZUp1c3RpZnl9YF06ICFYSXNFbXB0eSh0aGlzLm5vZGVKdXN0aWZ5KSxcclxuICAgICAgW2B4LXNpemUtJHt0aGlzLnNpemV9YF06ICFYSXNFbXB0eSh0aGlzLnNpemUpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0Q2hhbmdlKG1hcDogWENsYXNzTWFwLCBjaGFuZ2U6IFNpbXBsZUNoYW5nZSwgcHJlZml4ID0gWFNsaWRlclByZWZpeCkge1xyXG4gICAgbWFwW2Ake3ByZWZpeH0tJHtjaGFuZ2UucHJldmlvdXNWYWx1ZX1gXSA9IGZhbHNlO1xyXG4gICAgbWFwW2Ake3ByZWZpeH0tJHtjaGFuZ2UuY3VycmVudFZhbHVlfWBdID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFN1YnNjcmliZSgpIHtcclxuICAgIFhSZXNpemUodGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudCwgdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50KVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzApLCB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNpemVDaGVja2VkKCk7XHJcbiAgICAgICAgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBub2RlQ2xpY2soZXZlbnQ6IEV2ZW50IHwgbnVsbCwgbm9kZTogWFNsaWRlck5vZGUsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGlmIChub2RlLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLnNldERpcmVjdGlvbihpbmRleCwgTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpKTtcclxuICAgIHRoaXMuYWN0aXZhdGVkSW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuYWN0aXZhdGVkID0gbm9kZTtcclxuICAgIHRoaXMuYWN0aXZhdGVkSWQgPSBub2RlLmlkO1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xyXG4gICAgdGhpcy5ub2RlQ2hhbmdlLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBkcm9wZG93bkNsaWNrKG5vZGU6IFhTbGlkZXJOb2RlKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMubm9kZXMuaW5kZXhPZihub2RlKTtcclxuICAgIHRoaXMubm9kZUNsaWNrKG51bGwsIG5vZGUsIGluZGV4KTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFByZXYoKSB7XHJcbiAgICBpZiAodGhpcy5vZmZzZXQgPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBpZiAoIWN1cnJlbnRPZmZzZXQpIHJldHVybjtcclxuICAgIGNvbnN0IG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgPiBzY3JvbGxTaXplID8gY3VycmVudE9mZnNldCAtIHNjcm9sbFNpemUgOiAwO1xyXG4gICAgdGhpcy5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxOZXh0KCkge1xyXG4gICAgaWYgKHRoaXMub2Zmc2V0ID09PSB0aGlzLm1heE9mZnNldCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2xpZGVyU2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLm9mZnNldDtcclxuICAgIGlmIChzbGlkZXJTaXplIC0gY3VycmVudE9mZnNldCA8PSBzY3JvbGxTaXplKSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBzbGlkZXJTaXplIC0gY3VycmVudE9mZnNldCA+IHNjcm9sbFNpemUgKiAyID8gY3VycmVudE9mZnNldCArIHNjcm9sbFNpemUgOiBzbGlkZXJTaXplIC0gc2Nyb2xsU2l6ZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gb2Zmc2V0O1xyXG4gIH1cclxuXHJcbiAgc2V0RGlyZWN0aW9uKGluZGV4OiBudW1iZXIsIGJlZm9yZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBpbmNyZWFzZSA9IGluZGV4ID4gYmVmb3JlO1xyXG4gICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAoaW5jcmVhc2UgPyAncmlnaHQnIDogJ2xlZnQnKSA6IGluY3JlYXNlID8gJ2JvdHRvbScgOiAndG9wJztcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbjtcclxuICB9XHJcblxyXG4gIHNldFRyYW5zbGF0ZSgpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJTY3JvbGwpIHx8IFhJc1VuZGVmaW5lZCh0aGlzLnNsaWRlck5vZGVzKSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2xpZGVyUmVjdCA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3Qgc2xpZGVyTm9kZXNSZWN0ID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBtb3ZlSW5kZXggPSBbJ2JvdHRvbScsICdyaWdodCddLmluZGV4T2YodGhpcy5kaXJlY3Rpb24pICE9PSAtMSA/IE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSArIDIgOiBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCk7XHJcbiAgICBtb3ZlSW5kZXggPSBtb3ZlSW5kZXggPiB0aGlzLm5vZGVzLmxlbmd0aCA/IHRoaXMubm9kZXMubGVuZ3RoIDogbW92ZUluZGV4ID09PSAwID8gMSA6IG1vdmVJbmRleDtcclxuICAgIGxldCBtb3ZlRWxlID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKGBsaTpudGgtY2hpbGQoJHttb3ZlSW5kZXh9KWApO1xyXG4gICAgbGV0IG1heE9mZnNldCA9IDA7XHJcbiAgICBpZiAoWElzRW1wdHkobW92ZUVsZSkpIHJldHVybjtcclxuICAgIGNvbnN0IG1vdmVSZWN0ID0gbW92ZUVsZSEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBsZXQgb2Zmc2V0ID0gY3VycmVudE9mZnNldDtcclxuICAgIGlmICh0aGlzLmxheW91dCA9PT0gJ3JvdycpIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LndpZHRoIC0gc2xpZGVyUmVjdC53aWR0aDtcclxuICAgICAgaWYgKG1vdmVSZWN0LmxlZnQgPCBzbGlkZXJSZWN0LmxlZnQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QubGVmdCAtIG1vdmVSZWN0LmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5yaWdodCA+IHNsaWRlclJlY3QucmlnaHQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgbW92ZVJlY3QucmlnaHQgLSBzbGlkZXJSZWN0LnJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtYXhPZmZzZXQgPSBzbGlkZXJOb2Rlc1JlY3QuaGVpZ2h0IC0gc2xpZGVyUmVjdC5oZWlnaHQ7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC50b3AgPCBzbGlkZXJSZWN0LnRvcCkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgLSAoc2xpZGVyUmVjdC50b3AgLSBtb3ZlUmVjdC50b3ApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5ib3R0b20gPiBzbGlkZXJSZWN0LmJvdHRvbSkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyAobW92ZVJlY3QuYm90dG9tIC0gc2xpZGVyUmVjdC5ib3R0b20pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1heE9mZnNldCA9IE1hdGguY2VpbChtYXhPZmZzZXQpO1xyXG4gICAgb2Zmc2V0ID0gTWF0aC5tYXgoTWF0aC5jZWlsKG9mZnNldCksIDApO1xyXG4gICAgaWYgKFt0aGlzLm1heE9mZnNldCArIDEsIHRoaXMubWF4T2Zmc2V0IC0gMV0uaW5jbHVkZXMob2Zmc2V0KSkge1xyXG4gICAgICB0aGlzLm9mZnNldCA9IHRoaXMubWF4T2Zmc2V0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQsIHRoaXMubWF4T2Zmc2V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNpemVDaGVja2VkKCkge1xyXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNob3dBcnJvdyA9IHRoaXMubm9kZXMubGVuZ3RoID4gMSAmJiBzaXplID4gc2Nyb2xsU2l6ZTtcclxuICAgIGlmICh0aGlzLnNob3dBcnJvdyAhPT0gc2hvd0Fycm93KSB7XHJcbiAgICAgIHRoaXMuc2hvd0Fycm93ID0gc2hvd0Fycm93O1xyXG4gICAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LXNob3ctYXJyb3dgXSA9IHRoaXMuc2hvd0Fycm93O1xyXG4gICAgICBpZiAoIXRoaXMuc2hvd0Fycm93KSB7XHJcbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFjdGl2YXRlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSB0aGlzLm5vZGVzW051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KV07XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2YXRlZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkSWQgPSB0aGlzLmFjdGl2YXRlZC5pZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSBudWxsXHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEhpZ2hsaWdodCgpO1xyXG4gICAgdGhpcy5zZXRUcmFuc2xhdGUoKTtcclxuICB9XHJcblxyXG4gIHNldEhpZ2hsaWdodCgpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJOb2RlcykpIHJldHVybjtcclxuICAgIGNvbnN0IGFjdGl2ZUVsZTogSFRNTEVsZW1lbnQgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgbGk6bnRoLWNoaWxkKCR7TnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpICsgMX0pYCkhO1xyXG4gICAgaWYgKCFhY3RpdmVFbGUpIHJldHVybjtcclxuICAgIHRoaXMuaGlnaGxpZ2h0Qm94ID0ge1xyXG4gICAgICB3aWR0aDogYCR7YWN0aXZlRWxlLm9mZnNldFdpZHRofXB4YCxcclxuICAgICAgaGVpZ2h0OiBgJHthY3RpdmVFbGUub2Zmc2V0SGVpZ2h0fXB4YCxcclxuICAgICAgbGVmdDogYCR7YWN0aXZlRWxlLm9mZnNldExlZnR9cHhgLFxyXG4gICAgICB0b3A6IGAke2FjdGl2ZUVsZS5vZmZzZXRUb3B9cHhgXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WFNsaWRlck5vZGU+KHRoaXMuZGF0YSwgdGhpcy5fdW5TdWJqZWN0KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldEFjdGl2YXRlZCgpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZhdGVkKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHJldHVybiBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCkgPT09IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeU5vZGUoX2luZGV4OiBudW1iZXIsIGl0ZW06IFhTbGlkZXJOb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjc2xpZGVyIGNsYXNzPVwieC1zbGlkZXJcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxyXG4gIDx4LWxpbmtcclxuICAgICpuZ0lmPVwiYXV0b1Nob3dBcnJvdyAmJiBzaG93QXJyb3dcIlxyXG4gICAgW2Rpc2FibGVkXT1cIm9mZnNldCA9PT0gMFwiXHJcbiAgICBjbGFzcz1cIngtc2xpZGVyLWFycm93LWxlZnRcIlxyXG4gICAgaWNvbj1cImZ0by1jaGV2cm9uLWxlZnRcIlxyXG4gICAgKGNsaWNrKT1cInNjcm9sbFByZXYoKVwiXHJcbiAgPjwveC1saW5rPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zY3JvbGxcIiAjc2xpZGVyU2Nyb2xsIFtuZ0NsYXNzXT1cInNjcm9sbENsYXNzTWFwXCI+XHJcbiAgICA8dWwgI3NsaWRlck5vZGVzIFtzdHlsZS50cmFuc2Zvcm1dPVwidHJhbnNmb3JtXCI+XHJcbiAgICAgIDxsaVxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiXHJcbiAgICAgICAgW2NsYXNzLngtc2xpZGVyLWFjdGl2YXRlZF09XCJnZXRBY3RpdmF0ZWQoaSlcIlxyXG4gICAgICAgIFtjbGFzcy54LXNsaWRlci1kaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICBbdGl0bGVdPVwibm9kZS5sYWJlbFwiXHJcbiAgICAgID5cclxuICAgICAgICA8eC1saW5rXHJcbiAgICAgICAgICAoY2xpY2spPVwibm9kZUNsaWNrKCRldmVudCwgbm9kZSwgaSlcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwibm9kZUNsYXNzTWFwXCJcclxuICAgICAgICAgIFtocmVmXT1cInNob3dBbmNob3IgPyAnIycgKyBub2RlLmlkIDogJydcIlxyXG4gICAgICAgICAgW3ByZXZlbnREZWZhdWx0XT1cInNob3dBbmNob3JcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVHBsOyBjb250ZXh0OiB7ICRub2RlOiBub2RlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbm9kZVRwbFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwibm9kZS5sYWJlbFwiPnt7IG5vZGUubGFiZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwveC1saW5rPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgY2xhc3M9XCJ4LXNsaWRlci1oaWdobGlnaHRcIiBbY2xhc3MueC1zbGlkZXItaGlnaGxpZ2h0LWFuaW1hdGVkXT1cImFuaW1hdGVkXCIgW25nU3R5bGVdPVwiaGlnaGxpZ2h0Qm94XCI+PC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbiAgPHgtbGlua1xyXG4gICAgKm5nSWY9XCJhdXRvU2hvd0Fycm93ICYmIHNob3dBcnJvd1wiXHJcbiAgICBbZGlzYWJsZWRdPVwib2Zmc2V0ID09PSBtYXhPZmZzZXRcIlxyXG4gICAgY2xhc3M9XCJ4LXNsaWRlci1hcnJvdy1yaWdodFwiXHJcbiAgICBpY29uPVwiZnRvLWNoZXZyb24tcmlnaHRcIlxyXG4gICAgKGNsaWNrKT1cInNjcm9sbE5leHQoKVwiXHJcbiAgPjwveC1saW5rPlxyXG4gIDx4LWRyb3Bkb3duXHJcbiAgICAqbmdJZj1cInNob3dFeHBhbmQgJiYgc2hvd0Fycm93ICYmIGxheW91dCA9PT0gJ3JvdydcIlxyXG4gICAgY2xhc3M9XCJ4LXNsaWRlci1hbGxcIlxyXG4gICAgW2RhdGFdPVwibm9kZXNcIlxyXG4gICAgdHJpZ2dlcj1cImNsaWNrXCJcclxuICAgIFsoYWN0aXZhdGVkSWQpXT1cImFjdGl2YXRlZElkXCJcclxuICAgIChub2RlQ2xpY2spPVwiZHJvcGRvd25DbGljaygkZXZlbnQpXCJcclxuICAgIFtwb3J0YWxNYXhIZWlnaHRdPVwiZXhwYW5kTWF4SGVpZ2h0XCJcclxuICA+XHJcbiAgICA8eC1idXR0b24gaWNvbj1cImZ0by1saXN0XCIgb25seUljb24gW3NpemVdPVwic2l6ZVwiPiA8L3gtYnV0dG9uPlxyXG4gIDwveC1kcm9wZG93bj5cclxuPC9kaXY+XHJcbiJdfQ==
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQW1DLE1BQU0sa0JBQWtCLENBQUM7QUFDL0ksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQW9DbkQsWUFDUyxRQUFtQixFQUNuQixVQUFtQyxFQUNuQyxHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBckN0QyxVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUUxQixtQkFBYyxHQUFjLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUFjLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ1QsWUFBTyxHQUFXLENBQUMsQ0FB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SSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEtBQUssQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWMsRUFBRSxJQUFpQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7Z0lBN09VLGdCQUFnQjtvSEFBaEIsZ0JBQWdCLHVTQzNCN0IsazVEQWtEQTsyRkR2QmEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0xBR3BCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDQyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFNpbXBsZUNoYW5nZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyUHJlZml4LCBYU2xpZGVyTm9kZSwgWFNsaWRlclByb3BlcnR5IH0gZnJvbSAnLi9zbGlkZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xhc3NNYXAsIFhJc0NoYW5nZSwgWFJlc2l6ZSwgWFBvc2l0aW9uLCBYSXNVbmRlZmluZWQsIFhJc0VtcHR5LCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UsIFhSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTbGlkZXJQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgWFNsaWRlclByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnc2xpZGVyU2Nyb2xsJykgc2xpZGVyU2Nyb2xsITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnc2xpZGVyTm9kZXMnKSBzbGlkZXJOb2RlcyE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIG5vZGVzOiBYU2xpZGVyTm9kZVtdID0gW107XHJcbiAgYWN0aXZhdGVkITogWFNsaWRlck5vZGUgfCBudWxsO1xyXG4gIHNjcm9sbENsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuICBub2RlQ2xhc3NNYXA6IFhDbGFzc01hcCA9IHt9O1xyXG4gIHNob3dBcnJvdyA9IGZhbHNlO1xyXG4gIGFjdGl2YXRlZElkID0gJyc7XHJcbiAgcHJpdmF0ZSBfb2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGdldCBvZmZzZXQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9vZmZzZXQ7XHJcbiAgfVxyXG4gIHNldCBvZmZzZXQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fb2Zmc2V0ID0gTWF0aC5mbG9vcih2YWx1ZSk7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUke3RoaXMuZGlyfSgtJHt0aGlzLl9vZmZzZXR9cHgpYDtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgZGlyZWN0aW9uOiBYUG9zaXRpb24gPSAncmlnaHQnO1xyXG4gIG1heE9mZnNldDogbnVtYmVyID0gMDtcclxuICBnZXQgZGlyKCk6ICdYJyB8ICdZJyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQgPT09ICdyb3cnID8gJ1gnIDogJ1knO1xyXG4gIH1cclxuICBnZXQgc2l6ZU5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQgPT09ICdyb3cnID8gJ1dpZHRoJyA6ICdIZWlnaHQnO1xyXG4gIH1cclxuICB0cmFuc2Zvcm0/OiBzdHJpbmc7XHJcbiAgaGlnaGxpZ2h0Qm94ID0ge1xyXG4gICAgd2lkdGg6ICcnLFxyXG4gICAgaGVpZ2h0OiAnJyxcclxuICAgIGxlZnQ6ICcnLFxyXG4gICAgdG9wOiAnJ1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciE6IFhSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGxheW91dCwganVzdGlmeSwgbm9kZUp1c3RpZnksIGFjdGl2YXRlZEluZGV4IH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgWElzQ2hhbmdlKGxheW91dCkgJiYgdGhpcy5zZXRDaGFuZ2UodGhpcy5jbGFzc01hcCwgbGF5b3V0KTtcclxuICAgIFhJc0NoYW5nZShqdXN0aWZ5KSAmJiB0aGlzLnNldENoYW5nZSh0aGlzLnNjcm9sbENsYXNzTWFwLCBqdXN0aWZ5LCAneC1qdXN0aWZ5Jyk7XHJcbiAgICBYSXNDaGFuZ2Uobm9kZUp1c3RpZnkpICYmIHRoaXMuc2V0Q2hhbmdlKHRoaXMubm9kZUNsYXNzTWFwLCBub2RlSnVzdGlmeSwgJ3gtanVzdGlmeScpO1xyXG4gICAgWElzQ2hhbmdlKGFjdGl2YXRlZEluZGV4KSAmJiB0aGlzLnNldERpcmVjdGlvbihhY3RpdmF0ZWRJbmRleC5jdXJyZW50VmFsdWUsIGFjdGl2YXRlZEluZGV4LnByZXZpb3VzVmFsdWUpICYmIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYU2xpZGVyUHJlZml4fS0ke3RoaXMubGF5b3V0fWBdID0gIVhJc0VtcHR5KHRoaXMubGF5b3V0KTtcclxuICAgIHRoaXMuc2Nyb2xsQ2xhc3NNYXBbYHgtanVzdGlmeS0ke3RoaXMuanVzdGlmeX1gXSA9ICFYSXNFbXB0eSh0aGlzLmp1c3RpZnkpO1xyXG4gICAgdGhpcy5ub2RlQ2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgeC1qdXN0aWZ5LSR7dGhpcy5ub2RlSnVzdGlmeX1gXTogIVhJc0VtcHR5KHRoaXMubm9kZUp1c3RpZnkpLFxyXG4gICAgICBbYHgtc2l6ZS0ke3RoaXMuc2l6ZX1gXTogIVhJc0VtcHR5KHRoaXMuc2l6ZSlcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzZXRDaGFuZ2UobWFwOiBYQ2xhc3NNYXAsIGNoYW5nZTogU2ltcGxlQ2hhbmdlLCBwcmVmaXggPSBYU2xpZGVyUHJlZml4KSB7XHJcbiAgICBtYXBbYCR7cHJlZml4fS0ke2NoYW5nZS5wcmV2aW91c1ZhbHVlfWBdID0gZmFsc2U7XHJcbiAgICBtYXBbYCR7cHJlZml4fS0ke2NoYW5nZS5jdXJyZW50VmFsdWV9YF0gPSB0cnVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3Vic2NyaWJlKCkge1xyXG4gICAgWFJlc2l6ZSh0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50LCB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgIHRoaXMuc2l6ZUNoZWNrZWQoKTtcclxuICAgICAgICB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5vZGVDbGljayhldmVudDogRXZlbnQgfCBudWxsLCBub2RlOiBYU2xpZGVyTm9kZSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuc2V0RGlyZWN0aW9uKGluZGV4LCBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCkpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQgPSBub2RlO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJZCA9IG5vZGUuaWQ7XHJcbiAgICB0aGlzLnNldEhpZ2hsaWdodCgpO1xyXG4gICAgdGhpcy5zZXRUcmFuc2xhdGUoKTtcclxuICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XHJcbiAgICB0aGlzLm5vZGVDaGFuZ2UuZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIGRyb3Bkb3duQ2xpY2sobm9kZTogWFNsaWRlck5vZGUpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ub2Rlcy5pbmRleE9mKG5vZGUpO1xyXG4gICAgdGhpcy5ub2RlQ2xpY2sobnVsbCwgbm9kZSwgaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsUHJldigpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLm9mZnNldDtcclxuICAgIGlmICghY3VycmVudE9mZnNldCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gY3VycmVudE9mZnNldCA+IHNjcm9sbFNpemUgPyBjdXJyZW50T2Zmc2V0IC0gc2Nyb2xsU2l6ZSA6IDA7XHJcbiAgICB0aGlzLm9mZnNldCA9IG9mZnNldDtcclxuICB9XHJcblxyXG4gIHNjcm9sbE5leHQoKSB7XHJcbiAgICBpZiAodGhpcy5vZmZzZXQgPT09IHRoaXMubWF4T2Zmc2V0KSByZXR1cm47XHJcbiAgICBjb25zdCBzbGlkZXJTaXplID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgaWYgKHNsaWRlclNpemUgLSBjdXJyZW50T2Zmc2V0IDw9IHNjcm9sbFNpemUpIHJldHVybjtcclxuICAgIGNvbnN0IG9mZnNldCA9IHNsaWRlclNpemUgLSBjdXJyZW50T2Zmc2V0ID4gc2Nyb2xsU2l6ZSAqIDIgPyBjdXJyZW50T2Zmc2V0ICsgc2Nyb2xsU2l6ZSA6IHNsaWRlclNpemUgLSBzY3JvbGxTaXplO1xyXG4gICAgdGhpcy5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXJlY3Rpb24oaW5kZXg6IG51bWJlciwgYmVmb3JlOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGluY3JlYXNlID0gaW5kZXggPiBiZWZvcmU7XHJcbiAgICB0aGlzLmRpcmVjdGlvbiA9IHRoaXMubGF5b3V0ID09PSAncm93JyA/IChpbmNyZWFzZSA/ICdyaWdodCcgOiAnbGVmdCcpIDogaW5jcmVhc2UgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2V0VHJhbnNsYXRlKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICBYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJTY3JvbGwpIHx8XHJcbiAgICAgIFhJc1VuZGVmaW5lZCh0aGlzLnNsaWRlck5vZGVzKSB8fFxyXG4gICAgICB0eXBlb2YgdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QgIT09ICdmdW5jdGlvbidcclxuICAgIClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2xpZGVyUmVjdCA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3Qgc2xpZGVyTm9kZXNSZWN0ID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBtb3ZlSW5kZXggPSBbJ2JvdHRvbScsICdyaWdodCddLmluZGV4T2YodGhpcy5kaXJlY3Rpb24pICE9PSAtMSA/IE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSArIDIgOiBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCk7XHJcbiAgICBtb3ZlSW5kZXggPSBtb3ZlSW5kZXggPiB0aGlzLm5vZGVzLmxlbmd0aCA/IHRoaXMubm9kZXMubGVuZ3RoIDogbW92ZUluZGV4ID09PSAwID8gMSA6IG1vdmVJbmRleDtcclxuICAgIGxldCBtb3ZlRWxlID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKGBsaTpudGgtY2hpbGQoJHttb3ZlSW5kZXh9KWApO1xyXG4gICAgbGV0IG1heE9mZnNldCA9IDA7XHJcbiAgICBpZiAoWElzRW1wdHkobW92ZUVsZSkpIHJldHVybjtcclxuICAgIGNvbnN0IG1vdmVSZWN0ID0gbW92ZUVsZSEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBsZXQgb2Zmc2V0ID0gY3VycmVudE9mZnNldDtcclxuICAgIGlmICh0aGlzLmxheW91dCA9PT0gJ3JvdycpIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LndpZHRoIC0gc2xpZGVyUmVjdC53aWR0aDtcclxuICAgICAgaWYgKG1vdmVSZWN0LmxlZnQgPCBzbGlkZXJSZWN0LmxlZnQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QubGVmdCAtIG1vdmVSZWN0LmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5yaWdodCA+IHNsaWRlclJlY3QucmlnaHQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgbW92ZVJlY3QucmlnaHQgLSBzbGlkZXJSZWN0LnJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtYXhPZmZzZXQgPSBzbGlkZXJOb2Rlc1JlY3QuaGVpZ2h0IC0gc2xpZGVyUmVjdC5oZWlnaHQ7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC50b3AgPCBzbGlkZXJSZWN0LnRvcCkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgLSAoc2xpZGVyUmVjdC50b3AgLSBtb3ZlUmVjdC50b3ApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5ib3R0b20gPiBzbGlkZXJSZWN0LmJvdHRvbSkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyAobW92ZVJlY3QuYm90dG9tIC0gc2xpZGVyUmVjdC5ib3R0b20pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1heE9mZnNldCA9IE1hdGguY2VpbChtYXhPZmZzZXQpO1xyXG4gICAgb2Zmc2V0ID0gTWF0aC5tYXgoTWF0aC5jZWlsKG9mZnNldCksIDApO1xyXG4gICAgaWYgKFt0aGlzLm1heE9mZnNldCArIDEsIHRoaXMubWF4T2Zmc2V0IC0gMV0uaW5jbHVkZXMob2Zmc2V0KSkge1xyXG4gICAgICB0aGlzLm9mZnNldCA9IHRoaXMubWF4T2Zmc2V0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQsIHRoaXMubWF4T2Zmc2V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNpemVDaGVja2VkKCkge1xyXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNob3dBcnJvdyA9IHRoaXMubm9kZXMubGVuZ3RoID4gMSAmJiBzaXplID4gc2Nyb2xsU2l6ZTtcclxuICAgIGlmICh0aGlzLnNob3dBcnJvdyAhPT0gc2hvd0Fycm93KSB7XHJcbiAgICAgIHRoaXMuc2hvd0Fycm93ID0gc2hvd0Fycm93O1xyXG4gICAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LXNob3ctYXJyb3dgXSA9IHRoaXMuc2hvd0Fycm93O1xyXG4gICAgICBpZiAoIXRoaXMuc2hvd0Fycm93KSB7XHJcbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFjdGl2YXRlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSB0aGlzLm5vZGVzW051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KV07XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2YXRlZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkSWQgPSB0aGlzLmFjdGl2YXRlZC5pZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRIaWdobGlnaHQoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyTm9kZXMpKSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVFbGU6IEhUTUxFbGVtZW50ID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpOm50aC1jaGlsZCgke051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSArIDF9KWApITtcclxuICAgIGlmICghYWN0aXZlRWxlKSByZXR1cm47XHJcbiAgICB0aGlzLmhpZ2hsaWdodEJveCA9IHtcclxuICAgICAgd2lkdGg6IGAke2FjdGl2ZUVsZS5vZmZzZXRXaWR0aH1weGAsXHJcbiAgICAgIGhlaWdodDogYCR7YWN0aXZlRWxlLm9mZnNldEhlaWdodH1weGAsXHJcbiAgICAgIGxlZnQ6IGAke2FjdGl2ZUVsZS5vZmZzZXRMZWZ0fXB4YCxcclxuICAgICAgdG9wOiBgJHthY3RpdmVFbGUub2Zmc2V0VG9wfXB4YFxyXG4gICAgfTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YSgpIHtcclxuICAgIFhTZXREYXRhPFhTbGlkZXJOb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRBY3RpdmF0ZWQoKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2YXRlZChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpID09PSBpbmRleDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlOb2RlKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3NsaWRlciBjbGFzcz1cIngtc2xpZGVyXCIgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIj5cclxuICA8eC1saW5rXHJcbiAgICAqbmdJZj1cImF1dG9TaG93QXJyb3cgJiYgc2hvd0Fycm93XCJcclxuICAgIFtkaXNhYmxlZF09XCJvZmZzZXQgPT09IDBcIlxyXG4gICAgY2xhc3M9XCJ4LXNsaWRlci1hcnJvdy1sZWZ0XCJcclxuICAgIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCJcclxuICAgIChjbGljayk9XCJzY3JvbGxQcmV2KClcIlxyXG4gID48L3gtbGluaz5cclxuICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2Nyb2xsXCIgI3NsaWRlclNjcm9sbCBbbmdDbGFzc109XCJzY3JvbGxDbGFzc01hcFwiPlxyXG4gICAgPHVsICNzbGlkZXJOb2RlcyBbc3R5bGUudHJhbnNmb3JtXT1cInRyYW5zZm9ybVwiPlxyXG4gICAgICA8bGlcclxuICAgICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBub2RlczsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIlxyXG4gICAgICAgIFtjbGFzcy54LXNsaWRlci1hY3RpdmF0ZWRdPVwiZ2V0QWN0aXZhdGVkKGkpXCJcclxuICAgICAgICBbY2xhc3MueC1zbGlkZXItZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHgtbGlua1xyXG4gICAgICAgICAgKGNsaWNrKT1cIm5vZGVDbGljaygkZXZlbnQsIG5vZGUsIGkpXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIm5vZGVDbGFzc01hcFwiXHJcbiAgICAgICAgICBbaHJlZl09XCJzaG93QW5jaG9yID8gJyMnICsgbm9kZS5pZCA6ICcnXCJcclxuICAgICAgICAgIFtwcmV2ZW50RGVmYXVsdF09XCJzaG93QW5jaG9yXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGVUcGxcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cIm5vZGUubGFiZWxcIj57eyBub2RlLmxhYmVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3gtbGluaz5cclxuICAgICAgPC9saT5cclxuICAgICAgPGxpIGNsYXNzPVwieC1zbGlkZXItaGlnaGxpZ2h0XCIgW2NsYXNzLngtc2xpZGVyLWhpZ2hsaWdodC1hbmltYXRlZF09XCJhbmltYXRlZFwiIFtuZ1N0eWxlXT1cImhpZ2hsaWdodEJveFwiPjwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWxpbmtcclxuICAgICpuZ0lmPVwiYXV0b1Nob3dBcnJvdyAmJiBzaG93QXJyb3dcIlxyXG4gICAgW2Rpc2FibGVkXT1cIm9mZnNldCA9PT0gbWF4T2Zmc2V0XCJcclxuICAgIGNsYXNzPVwieC1zbGlkZXItYXJyb3ctcmlnaHRcIlxyXG4gICAgaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCJcclxuICAgIChjbGljayk9XCJzY3JvbGxOZXh0KClcIlxyXG4gID48L3gtbGluaz5cclxuICA8eC1kcm9wZG93blxyXG4gICAgKm5nSWY9XCJzaG93RXhwYW5kICYmIHNob3dBcnJvdyAmJiBsYXlvdXQgPT09ICdyb3cnXCJcclxuICAgIGNsYXNzPVwieC1zbGlkZXItYWxsXCJcclxuICAgIFtkYXRhXT1cIm5vZGVzXCJcclxuICAgIHRyaWdnZXI9XCJjbGlja1wiXHJcbiAgICBbKGFjdGl2YXRlZElkKV09XCJhY3RpdmF0ZWRJZFwiXHJcbiAgICAobm9kZUNsaWNrKT1cImRyb3Bkb3duQ2xpY2soJGV2ZW50KVwiXHJcbiAgICBbcG9ydGFsTWF4SGVpZ2h0XT1cImV4cGFuZE1heEhlaWdodFwiXHJcbiAgPlxyXG4gICAgPHgtYnV0dG9uIGljb249XCJmdG8tbGlzdFwiIG9ubHlJY29uIFtzaXplXT1cInNpemVcIj4gPC94LWJ1dHRvbj5cclxuICA8L3gtZHJvcGRvd24+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -9,10 +9,10 @@ import { XDropdownModule } from '@ng-nest/ui/dropdown';
9
9
  import * as i0 from "@angular/core";
10
10
  export class XSliderModule {
11
11
  }
12
- /** @nocollapse */ XSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- /** @nocollapse */ XSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: XSliderModule, declarations: [XSliderComponent, XSliderProperty], imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule], exports: [XSliderComponent] });
14
- /** @nocollapse */ XSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderModule, imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderModule, decorators: [{
12
+ /** @nocollapse */ XSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ /** @nocollapse */ XSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: XSliderModule, declarations: [XSliderComponent, XSliderProperty], imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule], exports: [XSliderComponent] });
14
+ /** @nocollapse */ XSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderModule, imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [XSliderComponent, XSliderProperty],
@@ -52,8 +52,8 @@ export class XSliderProperty extends XProperty {
52
52
  this.nodeChange = new EventEmitter();
53
53
  }
54
54
  }
55
- /** @nocollapse */ XSliderProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
- /** @nocollapse */ XSliderProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XSliderProperty, selector: "ng-component", inputs: { data: "data", animated: "animated", activatedIndex: "activatedIndex", layout: "layout", justify: "justify", nodeJustify: "nodeJustify", nodeTpl: "nodeTpl", size: "size", showExpand: "showExpand", autoShowArrow: "autoShowArrow", expandMaxHeight: "expandMaxHeight", showAnchor: "showAnchor" }, outputs: { indexChange: "indexChange", nodeChange: "nodeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
55
+ /** @nocollapse */ XSliderProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
+ /** @nocollapse */ XSliderProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: XSliderProperty, selector: "ng-component", inputs: { data: "data", animated: "animated", activatedIndex: "activatedIndex", layout: "layout", justify: "justify", nodeJustify: "nodeJustify", nodeTpl: "nodeTpl", size: "size", showExpand: "showExpand", autoShowArrow: "autoShowArrow", expandMaxHeight: "expandMaxHeight", showAnchor: "showAnchor" }, outputs: { indexChange: "indexChange", nodeChange: "nodeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
57
57
  __decorate([
58
58
  XDataConvert()
59
59
  ], XSliderProperty.prototype, "data", void 0);
@@ -81,7 +81,7 @@ __decorate([
81
81
  __decorate([
82
82
  XInputBoolean()
83
83
  ], XSliderProperty.prototype, "showAnchor", void 0);
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderProperty, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderProperty, decorators: [{
85
85
  type: Component,
86
86
  args: [{ template: '' }]
87
87
  }], propDecorators: { data: [{
@@ -17,7 +17,7 @@ export class XSliderSelectComponent extends XSliderSelectProperty {
17
17
  this.elementRef = elementRef;
18
18
  this.cdr = cdr;
19
19
  this.configService = configService;
20
- this.left = 0;
20
+ this.offset = 0;
21
21
  this.visible = false;
22
22
  this.manual = false;
23
23
  this.value = 0;
@@ -55,7 +55,7 @@ export class XSliderSelectComponent extends XSliderSelectProperty {
55
55
  this._resizeObserver?.disconnect();
56
56
  }
57
57
  change() {
58
- const val = Number(((Number(this.max) - Number(this.min)) * Number(this.left)) / 100 + Number(this.min)).toFixed(Number(this.precision));
58
+ const val = Number(((Number(this.max) - Number(this.min)) * Number(this.offset)) / 100 + Number(this.min)).toFixed(Number(this.precision));
59
59
  this.value = parseFloat(val);
60
60
  this.setDisplayValue();
61
61
  if (this.onChange)
@@ -66,8 +66,8 @@ export class XSliderSelectComponent extends XSliderSelectProperty {
66
66
  this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;
67
67
  }
68
68
  setLeft() {
69
- this.left = Math.round(((this.value - Number(this.min)) * 100) / (Number(this.max) - Number(this.min)));
70
- const start = this.left;
69
+ this.offset = Math.round(((this.value + (this.reverse ? Number(this.min) : -Number(this.min))) * 100) / (Number(this.max) - Number(this.min)));
70
+ const start = this.offset;
71
71
  this.start = start;
72
72
  this.setDrag();
73
73
  this.cdr.detectChanges();
@@ -90,7 +90,7 @@ export class XSliderSelectComponent extends XSliderSelectProperty {
90
90
  }
91
91
  onInnerClick(_$event) { }
92
92
  started(drag) {
93
- const start = this.left;
93
+ const start = this.offset;
94
94
  this.start = start;
95
95
  if (this.showTooltip) {
96
96
  this.manual = true;
@@ -119,6 +119,8 @@ export class XSliderSelectComponent extends XSliderSelectProperty {
119
119
  this.dragEndEmit.emit(drag);
120
120
  }
121
121
  setDrag(distance = 0) {
122
+ if (typeof this.railRef.nativeElement.getBoundingClientRect !== 'function')
123
+ return;
122
124
  let railBox = this.railRef.nativeElement.getBoundingClientRect();
123
125
  let stepWidth = railBox.width / ((Number(this.max) - Number(this.min)) / Number(this.step));
124
126
  let offset = Math.abs(distance % stepWidth);
@@ -129,10 +131,15 @@ export class XSliderSelectComponent extends XSliderSelectProperty {
129
131
  : distance > 0
130
132
  ? distance + stepWidth - offset
131
133
  : distance - stepWidth + offset;
132
- let x = (this.start / 100) * railBox.width + dis;
133
- this.left = Math.round((x / railBox.width) * 100);
134
- this.renderer.setStyle(this.dragRef.nativeElement, 'left', `${this.left}%`);
135
- this.renderer.setStyle(this.processRef.nativeElement, 'width', `${this.left}%`);
134
+ let x = (this.start / 100) * railBox.width + (this.reverse ? -dis : dis);
135
+ this.offset = Math.round((x / railBox.width) * 100);
136
+ if (this.reverse) {
137
+ this.renderer.setStyle(this.dragRef.nativeElement, 'right', `${this.offset}%`);
138
+ }
139
+ else {
140
+ this.renderer.setStyle(this.dragRef.nativeElement, 'left', `${this.offset}%`);
141
+ }
142
+ this.renderer.setStyle(this.processRef.nativeElement, 'width', `${this.offset}%`);
136
143
  this.renderer.removeStyle(this.dragRef.nativeElement, 'transform');
137
144
  }
138
145
  formControlChanges() {
@@ -140,11 +147,11 @@ export class XSliderSelectComponent extends XSliderSelectProperty {
140
147
  this.cdr.detectChanges();
141
148
  }
142
149
  }
143
- /** @nocollapse */ XSliderSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
144
- /** @nocollapse */ XSliderSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XSliderSelectComponent, selector: "x-slider-select", providers: [XValueAccessor(XSliderSelectComponent)], viewQueries: [{ propertyName: "sliderSelect", first: true, predicate: ["sliderSelect"], descendants: true, static: true }, { propertyName: "dragRef", first: true, predicate: ["dragRef"], descendants: true, static: true }, { propertyName: "railRef", first: true, predicate: ["railRef"], descendants: true, static: true }, { propertyName: "processRef", first: true, predicate: ["processRef"], descendants: true, static: true }, { propertyName: "tooltip", first: true, predicate: XTooltipDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-slider-select-reverse]=\"reverse\"\r\n>\r\n <label *ngIf=\"label\" [class.x-slider-select-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-slider-select-inner\" #innerRef (click)=\"onInnerClick($event)\">\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div class=\"x-slider-select-process\" #processRef></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div\r\n #dragRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n cdkDragLockAxis=\"x\"\r\n [cdkDragDisabled]=\"disabled\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event)\"\r\n (cdkDragEnded)=\"ended($event)\"\r\n (cdkDragMoved)=\"moved($event)\"\r\n >\r\n <div\r\n #tooltip\r\n x-tooltip\r\n class=\"x-slider-select-button\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip\"\r\n [content]=\"displayValue\"\r\n [visible]=\"visible\"\r\n [manual]=\"manual\"\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-slider-select{display:inline-block;width:12rem}.x-slider-select{margin:0;padding:0;width:100%}.x-slider-select.x-flex{display:flex}.x-slider-select.x-justify-start{justify-content:flex-start}.x-slider-select.x-justify-center{justify-content:center}.x-slider-select.x-justify-end{justify-content:flex-end}.x-slider-select.x-justify-space-between{justify-content:space-between}.x-slider-select.x-justify-space-around{justify-content:space-around}.x-slider-select.x-align-start{align-items:flex-start}.x-slider-select.x-align-center{align-items:center}.x-slider-select.x-align-end{align-items:flex-end}.x-slider-select.x-direction-column{flex-direction:column}.x-slider-select.x-direction-column-reverse{flex-direction:column-reverse}.x-slider-select.x-direction-row{flex-direction:row}.x-slider-select.x-direction-row-reverse{flex-direction:row-reverse}.x-slider-select>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);color:var(--x-text-300);font-weight:600}.x-slider-select>label.x-text-align-start{text-align:start}.x-slider-select>label.x-text-align-center{text-align:center}.x-slider-select>label.x-text-align-end{text-align:end}.x-slider-select-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-slider-select-inner{flex:1;position:relative;display:flex;align-items:center;padding-right:1rem}.x-slider-select-rail{position:absolute;margin-left:.5rem;width:calc(100% - 1rem);background-color:var(--x-border-100);height:calc(calc(var(--x-font-size) + .875rem) / 4);border-radius:var(--x-border-radius)}.x-slider-select-rail>div{width:100%;height:100%}.x-slider-select-track{margin-left:.5rem;width:calc(100% - 1rem);position:absolute}.x-slider-select-process{height:calc(calc(var(--x-font-size) + .875rem) / 4);background-color:var(--x-primary);border-radius:var(--x-border-radius);width:0%}.x-slider-select-drags{position:relative;width:100%;height:calc(var(--x-font-size) + .875rem);display:flex;align-items:center}.x-slider-select-drag{position:absolute;cursor:pointer}.x-slider-select-button{width:1rem;height:1rem;border-radius:1rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100)}.x-slider-select.x-invalid>label,.x-slider-select.x-required>label{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row>x-icon,.x-slider-select.x-required>.x-slider-select-row>x-icon{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row:before,.x-slider-select.x-required>.x-slider-select-row:before{content:\" \";z-index:2;position:absolute;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);width:.125rem;background-color:var(--x-danger)}.x-slider-select.x-disabled .x-slider-select-rail{background-color:var(--x-border-300)}.x-slider-select.x-disabled .x-slider-select-process{background-color:var(--x-primary-400)}.x-slider-select.x-disabled .x-slider-select-drag{cursor:not-allowed}.x-slider-select.x-disabled .x-slider-select-button{border-color:var(--x-primary-400)}.x-slider-select.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-slider-select.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-slider-select.x-flex.x-direction-column,.x-slider-select.x-flex.x-direction-column-reverse{align-items:inherit}.x-slider-select-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-500);padding:0 var(--x-padding-medium);right:0}.x-slider-select:hover:not(.x-disabled) .x-slider-select-track{background-color:var(--x-border-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-process{background-color:var(--x-primary-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-button{border-color:var(--x-primary-100)}.x-slider-select-reverse .x-slider-select-track{display:flex;justify-content:flex-end}.x-slider-select-reverse .x-slider-select-drags{justify-content:flex-end}.x-slider-select-reverse .x-slider-select-drag{right:0%}.x-slider-select:not(.x-slider-select-reverse) .x-slider-select-drag{left:0%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.XTooltipDirective, selector: "[x-tooltip], x-tooltip" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderSelectComponent, decorators: [{
150
+ /** @nocollapse */ XSliderSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
151
+ /** @nocollapse */ XSliderSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: XSliderSelectComponent, selector: "x-slider-select", providers: [XValueAccessor(XSliderSelectComponent)], viewQueries: [{ propertyName: "sliderSelect", first: true, predicate: ["sliderSelect"], descendants: true, static: true }, { propertyName: "dragRef", first: true, predicate: ["dragRef"], descendants: true, static: true }, { propertyName: "railRef", first: true, predicate: ["railRef"], descendants: true, static: true }, { propertyName: "processRef", first: true, predicate: ["processRef"], descendants: true, static: true }, { propertyName: "tooltip", first: true, predicate: XTooltipDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-slider-select-reverse]=\"reverse\"\r\n>\r\n <label *ngIf=\"label\" [class.x-slider-select-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-slider-select-inner\" #innerRef (click)=\"onInnerClick($event)\">\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div class=\"x-slider-select-process\" #processRef></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div\r\n #dragRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n cdkDragLockAxis=\"x\"\r\n [cdkDragDisabled]=\"disabled\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event)\"\r\n (cdkDragEnded)=\"ended($event)\"\r\n (cdkDragMoved)=\"moved($event)\"\r\n >\r\n <div\r\n #tooltip\r\n x-tooltip\r\n class=\"x-slider-select-button\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip\"\r\n [content]=\"displayValue\"\r\n [visible]=\"visible\"\r\n [manual]=\"manual\"\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-slider-select{display:inline-block;width:12rem}.x-slider-select{margin:0;padding:0;width:100%}.x-slider-select.x-flex{display:flex}.x-slider-select.x-justify-start{justify-content:flex-start}.x-slider-select.x-justify-center{justify-content:center}.x-slider-select.x-justify-end{justify-content:flex-end}.x-slider-select.x-justify-space-between{justify-content:space-between}.x-slider-select.x-justify-space-around{justify-content:space-around}.x-slider-select.x-align-start{align-items:flex-start}.x-slider-select.x-align-center{align-items:center}.x-slider-select.x-align-end{align-items:flex-end}.x-slider-select.x-direction-column{flex-direction:column}.x-slider-select.x-direction-column-reverse{flex-direction:column-reverse}.x-slider-select.x-direction-row{flex-direction:row}.x-slider-select.x-direction-row-reverse{flex-direction:row-reverse}.x-slider-select>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);color:var(--x-text-300);font-weight:600}.x-slider-select>label.x-text-align-start{text-align:start}.x-slider-select>label.x-text-align-center{text-align:center}.x-slider-select>label.x-text-align-end{text-align:end}.x-slider-select-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-slider-select-inner{flex:1;position:relative;display:flex;align-items:center;padding-right:1rem}.x-slider-select-rail{position:absolute;margin-left:.5rem;width:calc(100% - 1rem);background-color:var(--x-border-100);height:calc(calc(var(--x-font-size) + .875rem) / 4);border-radius:var(--x-border-radius)}.x-slider-select-rail>div{width:100%;height:100%}.x-slider-select-track{margin-left:.5rem;width:calc(100% - 1rem);position:absolute}.x-slider-select-process{height:calc(calc(var(--x-font-size) + .875rem) / 4);background-color:var(--x-primary);border-radius:var(--x-border-radius);width:0%}.x-slider-select-drags{position:relative;width:100%;height:calc(var(--x-font-size) + .875rem);display:flex;align-items:center}.x-slider-select-drag{position:absolute;cursor:pointer}.x-slider-select-button{width:1rem;height:1rem;border-radius:1rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100)}.x-slider-select.x-invalid>label,.x-slider-select.x-required>label{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row>x-icon,.x-slider-select.x-required>.x-slider-select-row>x-icon{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row:before,.x-slider-select.x-required>.x-slider-select-row:before{content:\" \";z-index:2;position:absolute;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);width:.125rem;background-color:var(--x-danger)}.x-slider-select.x-disabled .x-slider-select-rail{background-color:var(--x-border-300)}.x-slider-select.x-disabled .x-slider-select-process{background-color:var(--x-primary-400)}.x-slider-select.x-disabled .x-slider-select-drag{cursor:not-allowed}.x-slider-select.x-disabled .x-slider-select-button{border-color:var(--x-primary-400)}.x-slider-select.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-slider-select.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-slider-select.x-flex.x-direction-column,.x-slider-select.x-flex.x-direction-column-reverse{align-items:inherit}.x-slider-select-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-500);padding:0 var(--x-padding-medium);right:0}.x-slider-select:hover:not(.x-disabled) .x-slider-select-track{background-color:var(--x-border-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-process{background-color:var(--x-primary-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-button{border-color:var(--x-primary-100)}.x-slider-select-reverse .x-slider-select-inner{padding-right:0;padding-left:1rem}.x-slider-select-reverse .x-slider-select-rail{margin-left:-.5rem}.x-slider-select-reverse .x-slider-select-track{display:flex;justify-content:flex-end;margin-left:-.5rem}.x-slider-select-reverse .x-slider-select-drags{justify-content:flex-end;right:auto}.x-slider-select:not(.x-slider-select-reverse) .x-slider-select-drag{left:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.XTooltipDirective, selector: "[x-tooltip], x-tooltip" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderSelectComponent, decorators: [{
146
153
  type: Component,
147
- args: [{ selector: `${XSliderSelectPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSliderSelectComponent)], template: "<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-slider-select-reverse]=\"reverse\"\r\n>\r\n <label *ngIf=\"label\" [class.x-slider-select-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-slider-select-inner\" #innerRef (click)=\"onInnerClick($event)\">\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div class=\"x-slider-select-process\" #processRef></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div\r\n #dragRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n cdkDragLockAxis=\"x\"\r\n [cdkDragDisabled]=\"disabled\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event)\"\r\n (cdkDragEnded)=\"ended($event)\"\r\n (cdkDragMoved)=\"moved($event)\"\r\n >\r\n <div\r\n #tooltip\r\n x-tooltip\r\n class=\"x-slider-select-button\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip\"\r\n [content]=\"displayValue\"\r\n [visible]=\"visible\"\r\n [manual]=\"manual\"\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-slider-select{display:inline-block;width:12rem}.x-slider-select{margin:0;padding:0;width:100%}.x-slider-select.x-flex{display:flex}.x-slider-select.x-justify-start{justify-content:flex-start}.x-slider-select.x-justify-center{justify-content:center}.x-slider-select.x-justify-end{justify-content:flex-end}.x-slider-select.x-justify-space-between{justify-content:space-between}.x-slider-select.x-justify-space-around{justify-content:space-around}.x-slider-select.x-align-start{align-items:flex-start}.x-slider-select.x-align-center{align-items:center}.x-slider-select.x-align-end{align-items:flex-end}.x-slider-select.x-direction-column{flex-direction:column}.x-slider-select.x-direction-column-reverse{flex-direction:column-reverse}.x-slider-select.x-direction-row{flex-direction:row}.x-slider-select.x-direction-row-reverse{flex-direction:row-reverse}.x-slider-select>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);color:var(--x-text-300);font-weight:600}.x-slider-select>label.x-text-align-start{text-align:start}.x-slider-select>label.x-text-align-center{text-align:center}.x-slider-select>label.x-text-align-end{text-align:end}.x-slider-select-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-slider-select-inner{flex:1;position:relative;display:flex;align-items:center;padding-right:1rem}.x-slider-select-rail{position:absolute;margin-left:.5rem;width:calc(100% - 1rem);background-color:var(--x-border-100);height:calc(calc(var(--x-font-size) + .875rem) / 4);border-radius:var(--x-border-radius)}.x-slider-select-rail>div{width:100%;height:100%}.x-slider-select-track{margin-left:.5rem;width:calc(100% - 1rem);position:absolute}.x-slider-select-process{height:calc(calc(var(--x-font-size) + .875rem) / 4);background-color:var(--x-primary);border-radius:var(--x-border-radius);width:0%}.x-slider-select-drags{position:relative;width:100%;height:calc(var(--x-font-size) + .875rem);display:flex;align-items:center}.x-slider-select-drag{position:absolute;cursor:pointer}.x-slider-select-button{width:1rem;height:1rem;border-radius:1rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100)}.x-slider-select.x-invalid>label,.x-slider-select.x-required>label{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row>x-icon,.x-slider-select.x-required>.x-slider-select-row>x-icon{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row:before,.x-slider-select.x-required>.x-slider-select-row:before{content:\" \";z-index:2;position:absolute;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);width:.125rem;background-color:var(--x-danger)}.x-slider-select.x-disabled .x-slider-select-rail{background-color:var(--x-border-300)}.x-slider-select.x-disabled .x-slider-select-process{background-color:var(--x-primary-400)}.x-slider-select.x-disabled .x-slider-select-drag{cursor:not-allowed}.x-slider-select.x-disabled .x-slider-select-button{border-color:var(--x-primary-400)}.x-slider-select.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-slider-select.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-slider-select.x-flex.x-direction-column,.x-slider-select.x-flex.x-direction-column-reverse{align-items:inherit}.x-slider-select-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-500);padding:0 var(--x-padding-medium);right:0}.x-slider-select:hover:not(.x-disabled) .x-slider-select-track{background-color:var(--x-border-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-process{background-color:var(--x-primary-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-button{border-color:var(--x-primary-100)}.x-slider-select-reverse .x-slider-select-track{display:flex;justify-content:flex-end}.x-slider-select-reverse .x-slider-select-drags{justify-content:flex-end}.x-slider-select-reverse .x-slider-select-drag{right:0%}.x-slider-select:not(.x-slider-select-reverse) .x-slider-select-drag{left:0%}\n"] }]
154
+ args: [{ selector: `${XSliderSelectPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSliderSelectComponent)], template: "<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-slider-select-reverse]=\"reverse\"\r\n>\r\n <label *ngIf=\"label\" [class.x-slider-select-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-slider-select-inner\" #innerRef (click)=\"onInnerClick($event)\">\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div class=\"x-slider-select-process\" #processRef></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div\r\n #dragRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n cdkDragLockAxis=\"x\"\r\n [cdkDragDisabled]=\"disabled\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event)\"\r\n (cdkDragEnded)=\"ended($event)\"\r\n (cdkDragMoved)=\"moved($event)\"\r\n >\r\n <div\r\n #tooltip\r\n x-tooltip\r\n class=\"x-slider-select-button\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip\"\r\n [content]=\"displayValue\"\r\n [visible]=\"visible\"\r\n [manual]=\"manual\"\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-slider-select{display:inline-block;width:12rem}.x-slider-select{margin:0;padding:0;width:100%}.x-slider-select.x-flex{display:flex}.x-slider-select.x-justify-start{justify-content:flex-start}.x-slider-select.x-justify-center{justify-content:center}.x-slider-select.x-justify-end{justify-content:flex-end}.x-slider-select.x-justify-space-between{justify-content:space-between}.x-slider-select.x-justify-space-around{justify-content:space-around}.x-slider-select.x-align-start{align-items:flex-start}.x-slider-select.x-align-center{align-items:center}.x-slider-select.x-align-end{align-items:flex-end}.x-slider-select.x-direction-column{flex-direction:column}.x-slider-select.x-direction-column-reverse{flex-direction:column-reverse}.x-slider-select.x-direction-row{flex-direction:row}.x-slider-select.x-direction-row-reverse{flex-direction:row-reverse}.x-slider-select>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);color:var(--x-text-300);font-weight:600}.x-slider-select>label.x-text-align-start{text-align:start}.x-slider-select>label.x-text-align-center{text-align:center}.x-slider-select>label.x-text-align-end{text-align:end}.x-slider-select-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-slider-select-inner{flex:1;position:relative;display:flex;align-items:center;padding-right:1rem}.x-slider-select-rail{position:absolute;margin-left:.5rem;width:calc(100% - 1rem);background-color:var(--x-border-100);height:calc(calc(var(--x-font-size) + .875rem) / 4);border-radius:var(--x-border-radius)}.x-slider-select-rail>div{width:100%;height:100%}.x-slider-select-track{margin-left:.5rem;width:calc(100% - 1rem);position:absolute}.x-slider-select-process{height:calc(calc(var(--x-font-size) + .875rem) / 4);background-color:var(--x-primary);border-radius:var(--x-border-radius);width:0%}.x-slider-select-drags{position:relative;width:100%;height:calc(var(--x-font-size) + .875rem);display:flex;align-items:center}.x-slider-select-drag{position:absolute;cursor:pointer}.x-slider-select-button{width:1rem;height:1rem;border-radius:1rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100)}.x-slider-select.x-invalid>label,.x-slider-select.x-required>label{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row>x-icon,.x-slider-select.x-required>.x-slider-select-row>x-icon{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row:before,.x-slider-select.x-required>.x-slider-select-row:before{content:\" \";z-index:2;position:absolute;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);width:.125rem;background-color:var(--x-danger)}.x-slider-select.x-disabled .x-slider-select-rail{background-color:var(--x-border-300)}.x-slider-select.x-disabled .x-slider-select-process{background-color:var(--x-primary-400)}.x-slider-select.x-disabled .x-slider-select-drag{cursor:not-allowed}.x-slider-select.x-disabled .x-slider-select-button{border-color:var(--x-primary-400)}.x-slider-select.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-slider-select.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-slider-select.x-flex.x-direction-column,.x-slider-select.x-flex.x-direction-column-reverse{align-items:inherit}.x-slider-select-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-500);padding:0 var(--x-padding-medium);right:0}.x-slider-select:hover:not(.x-disabled) .x-slider-select-track{background-color:var(--x-border-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-process{background-color:var(--x-primary-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-button{border-color:var(--x-primary-100)}.x-slider-select-reverse .x-slider-select-inner{padding-right:0;padding-left:1rem}.x-slider-select-reverse .x-slider-select-rail{margin-left:-.5rem}.x-slider-select-reverse .x-slider-select-track{display:flex;justify-content:flex-end;margin-left:-.5rem}.x-slider-select-reverse .x-slider-select-drags{justify-content:flex-end;right:auto}.x-slider-select:not(.x-slider-select-reverse) .x-slider-select-drag{left:auto}\n"] }]
148
155
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { sliderSelect: [{
149
156
  type: ViewChild,
150
157
  args: ['sliderSelect', { static: true }]
@@ -161,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
161
168
  type: ViewChild,
162
169
  args: [XTooltipDirective, { static: true }]
163
170
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9zbGlkZXItc2VsZWN0L3NsaWRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdC9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUl2QixTQUFTLEVBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFVdkQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHFCQUFxQjtJQTBCL0QsWUFDUyxRQUFtQixFQUNuQixVQUFtQyxFQUMxQixHQUFzQixFQUMvQixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBeEJ0QyxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLFlBQU8sR0FB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TUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdG9vbHRpcCc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFNsaWRlclNlbGVjdFByb3BlcnR5LCBYU2xpZGVyU2VsZWN0UHJlZml4IH0gZnJvbSAnLi9zbGlkZXItc2VsZWN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhJc1VuZGVmaW5lZCwgWFJlc2l6ZSwgWENsZWFyQ2xhc3MsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENka0RyYWdNb3ZlLCBDZGtEcmFnU3RhcnQsIENka0RyYWdFbmQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTbGlkZXJTZWxlY3RQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWFNsaWRlclNlbGVjdENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2xpZGVyU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgWFNsaWRlclNlbGVjdFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlclNlbGVjdCcsIHsgc3RhdGljOiB0cnVlIH0pIHNsaWRlclNlbGVjdCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2RyYWdSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcmFnUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncmFpbFJlZicsIHsgc3RhdGljOiB0cnVlIH0pIHJhaWxSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdwcm9jZXNzUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvY2Vzc1JlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoWFRvb2x0aXBEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIHRvb2x0aXAhOiBYVG9vbHRpcERpcmVjdGl2ZTtcclxuICBsZWZ0OiBudW1iZXIgPSAwO1xyXG4gIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtYW51YWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzdGFydCE6IG51bWJlcjtcclxuICBvdmVycmlkZSB2YWx1ZSA9IDA7XHJcbiAgZGlzcGxheVZhbHVlID0gJzAnO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgb3ZlcnJpZGUgZ2V0IHJlcXVpcmVkSXNFbXB0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRvciAmJiB0aGlzLnJlcXVpcmVkICYmIChYSXNFbXB0eSh0aGlzLnZhbHVlKSB8fCB0aGlzLnZhbHVlID09PSAwKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB2YWx1ZSA9IDA7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldExlZnQoKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLnNsaWRlclNlbGVjdC5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0UHJlY2lzaW9uKCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBYUmVzaXplKHRoaXMuc2xpZGVyU2VsZWN0Lm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgIHRoaXMuc2V0TGVmdCgpO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZSgpIHtcclxuICAgIGNvbnN0IHZhbCA9IE51bWJlcigoKE51bWJlcih0aGlzLm1heCkgLSBOdW1iZXIodGhpcy5taW4pKSAqIE51bWJlcih0aGlzLmxlZnQpKSAvIDEwMCArIE51bWJlcih0aGlzLm1pbikpLnRvRml4ZWQoXHJcbiAgICAgIE51bWJlcih0aGlzLnByZWNpc2lvbilcclxuICAgICk7XHJcbiAgICB0aGlzLnZhbHVlID0gcGFyc2VGbG9hdCh2YWwpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNldExlZnQoKSB7XHJcbiAgICB0aGlzLmxlZnQgPSBNYXRoLnJvdW5kKCgodGhpcy52YWx1ZSAtIE51bWJlcih0aGlzLm1pbikpICogMTAwKSAvIChOdW1iZXIodGhpcy5tYXgpIC0gTnVtYmVyKHRoaXMubWluKSkpO1xyXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmxlZnQ7XHJcbiAgICB0aGlzLnN0YXJ0ID0gc3RhcnQ7XHJcbiAgICB0aGlzLnNldERyYWcoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXlWYWx1ZSgpIHtcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gTnVtYmVyKHRoaXMudmFsdWUpLnRvRml4ZWQoTnVtYmVyKHRoaXMucHJlY2lzaW9uKSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRQcmVjaXNpb24oKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMucHJlY2lzaW9uKSB8fCAhWElzRW1wdHkodGhpcy5zdGVwKSkge1xyXG4gICAgICBsZXQgc3RlcFN0ciA9IFN0cmluZyh0aGlzLnN0ZXApO1xyXG4gICAgICBsZXQgaW5kZXhwb2ludCA9IHN0ZXBTdHIuaW5kZXhPZignLicpO1xyXG4gICAgICBpZiAoaW5kZXhwb2ludCA9PT0gLTEpIHtcclxuICAgICAgICB0aGlzLnByZWNpc2lvbiA9IDA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wcmVjaXNpb24gPSBzdGVwU3RyLmxlbmd0aCAtIChpbmRleHBvaW50ICsgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5uZXJDbGljayhfJGV2ZW50OiBNb3VzZUV2ZW50KSB7fVxyXG5cclxuICBzdGFydGVkKGRyYWc6IENka0RyYWdTdGFydCkge1xyXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmxlZnQ7XHJcbiAgICB0aGlzLnN0YXJ0ID0gc3RhcnQ7XHJcbiAgICBpZiAodGhpcy5zaG93VG9vbHRpcCkge1xyXG4gICAgICB0aGlzLm1hbnVhbCA9IHRydWU7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sVmFsaWRhdG9yKCk7XHJcbiAgICB0aGlzLmRyYWdTdGFydEVtaXQuZW1pdChkcmFnKTtcclxuICB9XHJcblxyXG4gIG1vdmVkKGRyYWc6IENka0RyYWdNb3ZlKSB7XHJcbiAgICBsZXQgdHJhbnNmb3JtID0gZHJhZy5zb3VyY2UuZ2V0RnJlZURyYWdQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5zZXREcmFnKHRyYW5zZm9ybS54KTtcclxuICAgIGRyYWcuc291cmNlLnJlc2V0KCk7XHJcbiAgICBpZiAodGhpcy5zaG93VG9vbHRpcCkge1xyXG4gICAgICB0aGlzLnRvb2x0aXAudXBkYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZSgpO1xyXG4gICAgdGhpcy5kcmFnTW92ZUVtaXQuZW1pdChkcmFnKTtcclxuICB9XHJcblxyXG4gIGVuZGVkKGRyYWc6IENka0RyYWdFbmQpIHtcclxuICAgIGlmICh0aGlzLnNob3dUb29sdGlwKSB7XHJcbiAgICAgIHRoaXMubWFudWFsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5kcmFnRW5kRW1pdC5lbWl0KGRyYWcpO1xyXG4gIH1cclxuXHJcbiAgc2V0RHJhZyhkaXN0YW5jZTogbnVtYmVyID0gMCkge1xyXG4gICAgbGV0IHJhaWxCb3ggPSB0aGlzLnJhaWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBzdGVwV2lkdGggPSByYWlsQm94LndpZHRoIC8gKChOdW1iZXIodGhpcy5tYXgpIC0gTnVtYmVyKHRoaXMubWluKSkgLyBOdW1iZXIodGhpcy5zdGVwKSk7XHJcbiAgICBsZXQgb2Zmc2V0ID0gTWF0aC5hYnMoZGlzdGFuY2UgJSBzdGVwV2lkdGgpO1xyXG4gICAgbGV0IGRpcyA9XHJcbiAgICAgIG9mZnNldCA8IHN0ZXBXaWR0aCAvIDJcclxuICAgICAgICA/IGRpc3RhbmNlID4gMFxyXG4gICAgICAgICAgPyBkaXN0YW5jZSAtIG9mZnNldFxyXG4gICAgICAgICAgOiBkaXN0YW5jZSArIG9mZnNldFxyXG4gICAgICAgIDogZGlzdGFuY2UgPiAwXHJcbiAgICAgICAgPyBkaXN0YW5jZSArIHN0ZXBXaWR0aCAtIG9mZnNldFxyXG4gICAgICAgIDogZGlzdGFuY2UgLSBzdGVwV2lkdGggKyBvZmZzZXQ7XHJcbiAgICBsZXQgeCA9ICh0aGlzLnN0YXJ0IC8gMTAwKSAqIHJhaWxCb3gud2lkdGggKyBkaXM7XHJcbiAgICB0aGlzLmxlZnQgPSBNYXRoLnJvdW5kKCh4IC8gcmFpbEJveC53aWR0aCkgKiAxMDApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdSZWYubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHt0aGlzLmxlZnR9JWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5sZWZ0fSVgKTtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kcmFnUmVmLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nKTtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICNzbGlkZXJTZWxlY3RcclxuICBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdFwiXHJcbiAgW2NsYXNzLngtZmxleF09XCJqdXN0aWZ5IHx8IGFsaWduIHx8IGRpcmVjdGlvblwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy54LXJlcXVpcmVkXT1cInJlcXVpcmVkSXNFbXB0eVwiXHJcbiAgW2NsYXNzLngtaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICBbY2xhc3MueC1zbGlkZXItc2VsZWN0LXJldmVyc2VdPVwicmV2ZXJzZVwiXHJcbj5cclxuICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtjbGFzcy54LXNsaWRlci1zZWxlY3QtbGFiZWwtcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aFwiIFtuZ0NsYXNzXT1cImxhYmVsTWFwXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtaW5uZXJcIiAjaW5uZXJSZWYgKGNsaWNrKT1cIm9uSW5uZXJDbGljaygkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LXJhaWxcIiAjcmFpbFJlZj5cclxuICAgICAgPGRpdj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC10cmFja1wiICN0cmFja1JlZj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1wcm9jZXNzXCIgI3Byb2Nlc3NSZWY+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtZHJhZ3NcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICNkcmFnUmVmXHJcbiAgICAgICAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtZHJhZ1wiXHJcbiAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgIGNka0RyYWdMb2NrQXhpcz1cInhcIlxyXG4gICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtjZGtEcmFnQm91bmRhcnldPVwiaW5uZXJSZWZcIlxyXG4gICAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJzdGFydGVkKCRldmVudClcIlxyXG4gICAgICAgIChjZGtEcmFnRW5kZWQpPVwiZW5kZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNka0RyYWdNb3ZlZCk9XCJtb3ZlZCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICN0b29sdGlwXHJcbiAgICAgICAgICB4LXRvb2x0aXBcclxuICAgICAgICAgIGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWJ1dHRvblwiXHJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFzaG93VG9vbHRpcFwiXHJcbiAgICAgICAgICBbY29udGVudF09XCJkaXNwbGF5VmFsdWVcIlxyXG4gICAgICAgICAgW3Zpc2libGVdPVwidmlzaWJsZVwiXHJcbiAgICAgICAgICBbbWFudWFsXT1cIm1hbnVhbFwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9zbGlkZXItc2VsZWN0L3NsaWRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdC9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUl2QixTQUFTLEVBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBbUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVqSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFVdkQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHFCQUFxQjtJQTBCL0QsWUFDUyxRQUFtQixFQUNuQixVQUFtQyxFQUMxQixHQUFzQixFQUMvQixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBeEJ0QyxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVmLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDbkIsaUJBQVksR0FBRyxHQUFHLENBQUM7UUFDWCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQXFCekMsQ0FBQztJQWxCRCxJQUFhLGVBQWU7UUFDMUIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVRLFVBQVUsQ0FBQyxLQUFhO1FBQy9CLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBV0QsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7YUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2xELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNoSCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUN2QixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNySCxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEQsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQzthQUNwQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDcEQ7U0FDRjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsT0FBbUIsSUFBRyxDQUFDO0lBRXBDLE9BQU8sQ0FBQyxJQUFrQjtRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFpQjtRQUNyQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM3QjtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTyxDQUFDLFdBQW1CLENBQUM7UUFDMUIsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLHFCQUFxQixLQUFLLFVBQVU7WUFBRSxPQUFPO1FBQ25GLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDakUsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVGLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLElBQUksR0FBRyxHQUNMLE1BQU0sR0FBRyxTQUFTLEdBQUcsQ0FBQztZQUNwQixDQUFDLENBQUMsUUFBUSxHQUFHLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLFFBQVEsR0FBRyxNQUFNO2dCQUNuQixDQUFDLENBQUMsUUFBUSxHQUFHLE1BQU07WUFDckIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDO2dCQUNkLENBQUMsQ0FBQyxRQUFRLEdBQUcsU0FBUyxHQUFHLE1BQU07Z0JBQy9CLENBQUMsQ0FBQyxRQUFRLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUVwQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNoRjthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDL0U7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O3NJQWpLVSxzQkFBc0I7MEhBQXRCLHNCQUFzQiwwQ0FGdEIsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQywrZEFPeEMsaUJBQWlCLHFGQ2pDOUIsbytDQTJDQTsyRkRmYSxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UsR0FBRyxtQkFBbUIsRUFBRSxpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsd0JBQXdCLENBQUM7c0xBR04sWUFBWTtzQkFBeEQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNILE9BQU87c0JBQTlDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0ssVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNPLE9BQU87c0JBQXRELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS90b29sdGlwJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyU2VsZWN0UHJvcGVydHksIFhTbGlkZXJTZWxlY3RQcmVmaXggfSBmcm9tICcuL3NsaWRlci1zZWxlY3QucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWElzVW5kZWZpbmVkLCBYUmVzaXplLCBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UsIFhSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtEcmFnTW92ZSwgQ2RrRHJhZ1N0YXJ0LCBDZGtEcmFnRW5kIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU2xpZGVyU2VsZWN0UHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NsaWRlci1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhTbGlkZXJTZWxlY3RDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlclNlbGVjdENvbXBvbmVudCBleHRlbmRzIFhTbGlkZXJTZWxlY3RQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKCdzbGlkZXJTZWxlY3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzbGlkZXJTZWxlY3QhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdkcmFnUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgZHJhZ1JlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3JhaWxSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSByYWlsUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncHJvY2Vzc1JlZicsIHsgc3RhdGljOiB0cnVlIH0pIHByb2Nlc3NSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFhUb29sdGlwRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSB0b29sdGlwITogWFRvb2x0aXBEaXJlY3RpdmU7XHJcbiAgb2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtYW51YWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzdGFydCE6IG51bWJlcjtcclxuICBvdmVycmlkZSB2YWx1ZSA9IDA7XHJcbiAgZGlzcGxheVZhbHVlID0gJzAnO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBYUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIG92ZXJyaWRlIGdldCByZXF1aXJlZElzRW1wdHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0b3IgJiYgdGhpcy5yZXF1aXJlZCAmJiAoWElzRW1wdHkodGhpcy52YWx1ZSkgfHwgdGhpcy52YWx1ZSA9PT0gMCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdmFsdWUgPSAwO1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRMZWZ0KCk7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5zbGlkZXJTZWxlY3QubmF0aXZlRWxlbWVudCwgdGhpcy5yZW5kZXJlciwgdGhpcy5qdXN0aWZ5LCB0aGlzLmFsaWduLCB0aGlzLmRpcmVjdGlvbik7XHJcbiAgICB0aGlzLnNldFByZWNpc2lvbigpO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgWFJlc2l6ZSh0aGlzLnNsaWRlclNlbGVjdC5uYXRpdmVFbGVtZW50KVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzApLCB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNldExlZnQoKTtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2UoKSB7XHJcbiAgICBjb25zdCB2YWwgPSBOdW1iZXIoKChOdW1iZXIodGhpcy5tYXgpIC0gTnVtYmVyKHRoaXMubWluKSkgKiBOdW1iZXIodGhpcy5vZmZzZXQpKSAvIDEwMCArIE51bWJlcih0aGlzLm1pbikpLnRvRml4ZWQoXHJcbiAgICAgIE51bWJlcih0aGlzLnByZWNpc2lvbilcclxuICAgICk7XHJcbiAgICB0aGlzLnZhbHVlID0gcGFyc2VGbG9hdCh2YWwpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNldExlZnQoKSB7XHJcbiAgICB0aGlzLm9mZnNldCA9IE1hdGgucm91bmQoXHJcbiAgICAgICgodGhpcy52YWx1ZSArICh0aGlzLnJldmVyc2UgPyBOdW1iZXIodGhpcy5taW4pIDogLU51bWJlcih0aGlzLm1pbikpKSAqIDEwMCkgLyAoTnVtYmVyKHRoaXMubWF4KSAtIE51bWJlcih0aGlzLm1pbikpXHJcbiAgICApO1xyXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLm9mZnNldDtcclxuICAgIHRoaXMuc3RhcnQgPSBzdGFydDtcclxuICAgIHRoaXMuc2V0RHJhZygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheVZhbHVlKCkge1xyXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBOdW1iZXIodGhpcy52YWx1ZSkudG9GaXhlZChOdW1iZXIodGhpcy5wcmVjaXNpb24pKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFByZWNpc2lvbigpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy5wcmVjaXNpb24pIHx8ICFYSXNFbXB0eSh0aGlzLnN0ZXApKSB7XHJcbiAgICAgIGxldCBzdGVwU3RyID0gU3RyaW5nKHRoaXMuc3RlcCk7XHJcbiAgICAgIGxldCBpbmRleHBvaW50ID0gc3RlcFN0ci5pbmRleE9mKCcuJyk7XHJcbiAgICAgIGlmIChpbmRleHBvaW50ID09PSAtMSkge1xyXG4gICAgICAgIHRoaXMucHJlY2lzaW9uID0gMDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnByZWNpc2lvbiA9IHN0ZXBTdHIubGVuZ3RoIC0gKGluZGV4cG9pbnQgKyAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Jbm5lckNsaWNrKF8kZXZlbnQ6IE1vdXNlRXZlbnQpIHt9XHJcblxyXG4gIHN0YXJ0ZWQoZHJhZzogQ2RrRHJhZ1N0YXJ0KSB7XHJcbiAgICBjb25zdCBzdGFydCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgdGhpcy5zdGFydCA9IHN0YXJ0O1xyXG4gICAgaWYgKHRoaXMuc2hvd1Rvb2x0aXApIHtcclxuICAgICAgdGhpcy5tYW51YWwgPSB0cnVlO1xyXG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gICAgdGhpcy5kcmFnU3RhcnRFbWl0LmVtaXQoZHJhZyk7XHJcbiAgfVxyXG5cclxuICBtb3ZlZChkcmFnOiBDZGtEcmFnTW92ZSkge1xyXG4gICAgbGV0IHRyYW5zZm9ybSA9IGRyYWcuc291cmNlLmdldEZyZWVEcmFnUG9zaXRpb24oKTtcclxuICAgIHRoaXMuc2V0RHJhZyh0cmFuc2Zvcm0ueCk7XHJcbiAgICBkcmFnLnNvdXJjZS5yZXNldCgpO1xyXG4gICAgaWYgKHRoaXMuc2hvd1Rvb2x0aXApIHtcclxuICAgICAgdGhpcy50b29sdGlwLnVwZGF0ZVBvcnRhbCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2UoKTtcclxuICAgIHRoaXMuZHJhZ01vdmVFbWl0LmVtaXQoZHJhZyk7XHJcbiAgfVxyXG5cclxuICBlbmRlZChkcmFnOiBDZGtEcmFnRW5kKSB7XHJcbiAgICBpZiAodGhpcy5zaG93VG9vbHRpcCkge1xyXG4gICAgICB0aGlzLm1hbnVhbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuZHJhZ0VuZEVtaXQuZW1pdChkcmFnKTtcclxuICB9XHJcblxyXG4gIHNldERyYWcoZGlzdGFuY2U6IG51bWJlciA9IDApIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5yYWlsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICE9PSAnZnVuY3Rpb24nKSByZXR1cm47XHJcbiAgICBsZXQgcmFpbEJveCA9IHRoaXMucmFpbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgbGV0IHN0ZXBXaWR0aCA9IHJhaWxCb3gud2lkdGggLyAoKE51bWJlcih0aGlzLm1heCkgLSBOdW1iZXIodGhpcy5taW4pKSAvIE51bWJlcih0aGlzLnN0ZXApKTtcclxuICAgIGxldCBvZmZzZXQgPSBNYXRoLmFicyhkaXN0YW5jZSAlIHN0ZXBXaWR0aCk7XHJcbiAgICBsZXQgZGlzID1cclxuICAgICAgb2Zmc2V0IDwgc3RlcFdpZHRoIC8gMlxyXG4gICAgICAgID8gZGlzdGFuY2UgPiAwXHJcbiAgICAgICAgICA/IGRpc3RhbmNlIC0gb2Zmc2V0XHJcbiAgICAgICAgICA6IGRpc3RhbmNlICsgb2Zmc2V0XHJcbiAgICAgICAgOiBkaXN0YW5jZSA+IDBcclxuICAgICAgICA/IGRpc3RhbmNlICsgc3RlcFdpZHRoIC0gb2Zmc2V0XHJcbiAgICAgICAgOiBkaXN0YW5jZSAtIHN0ZXBXaWR0aCArIG9mZnNldDtcclxuXHJcbiAgICBsZXQgeCA9ICh0aGlzLnN0YXJ0IC8gMTAwKSAqIHJhaWxCb3gud2lkdGggKyAodGhpcy5yZXZlcnNlID8gLWRpcyA6IGRpcyk7XHJcbiAgICB0aGlzLm9mZnNldCA9IE1hdGgucm91bmQoKHggLyByYWlsQm94LndpZHRoKSAqIDEwMCk7XHJcbiAgICBpZiAodGhpcy5yZXZlcnNlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnUmVmLm5hdGl2ZUVsZW1lbnQsICdyaWdodCcsIGAke3RoaXMub2Zmc2V0fSVgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnUmVmLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy5vZmZzZXR9JWApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5vZmZzZXR9JWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmRyYWdSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScpO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgI3NsaWRlclNlbGVjdFxyXG4gIGNsYXNzPVwieC1zbGlkZXItc2VsZWN0XCJcclxuICBbY2xhc3MueC1mbGV4XT1cImp1c3RpZnkgfHwgYWxpZ24gfHwgZGlyZWN0aW9uXCJcclxuICBbY2xhc3MueC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2NsYXNzLngtcmVxdWlyZWRdPVwicmVxdWlyZWRJc0VtcHR5XCJcclxuICBbY2xhc3MueC1pbnZhbGlkXT1cImludmFsaWRcIlxyXG4gIFtjbGFzcy54LXNsaWRlci1zZWxlY3QtcmV2ZXJzZV09XCJyZXZlcnNlXCJcclxuPlxyXG4gIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1sYWJlbC1yZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtzdHlsZS53aWR0aF09XCJsYWJlbFdpZHRoXCIgW25nQ2xhc3NdPVwibGFiZWxNYXBcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcbiAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1pbm5lclwiICNpbm5lclJlZiAoY2xpY2spPVwib25Jbm5lckNsaWNrKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtcmFpbFwiICNyYWlsUmVmPlxyXG4gICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LXRyYWNrXCIgI3RyYWNrUmVmPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LXByb2Nlc3NcIiAjcHJvY2Vzc1JlZj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1kcmFnc1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgI2RyYWdSZWZcclxuICAgICAgICBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1kcmFnXCJcclxuICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgY2RrRHJhZ0xvY2tBeGlzPVwieFwiXHJcbiAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW2Nka0RyYWdCb3VuZGFyeV09XCJpbm5lclJlZlwiXHJcbiAgICAgICAgKGNka0RyYWdTdGFydGVkKT1cInN0YXJ0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNka0RyYWdFbmRlZCk9XCJlbmRlZCgkZXZlbnQpXCJcclxuICAgICAgICAoY2RrRHJhZ01vdmVkKT1cIm1vdmVkKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgI3Rvb2x0aXBcclxuICAgICAgICAgIHgtdG9vbHRpcFxyXG4gICAgICAgICAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtYnV0dG9uXCJcclxuICAgICAgICAgIHBsYWNlbWVudD1cInRvcFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNob3dUb29sdGlwXCJcclxuICAgICAgICAgIFtjb250ZW50XT1cImRpc3BsYXlWYWx1ZVwiXHJcbiAgICAgICAgICBbdmlzaWJsZV09XCJ2aXNpYmxlXCJcclxuICAgICAgICAgIFttYW51YWxdPVwibWFudWFsXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -9,10 +9,10 @@ import { XBaseFormModule } from '@ng-nest/ui/base-form';
9
9
  import * as i0 from "@angular/core";
10
10
  export class XSliderSelectModule {
11
11
  }
12
- /** @nocollapse */ XSliderSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- /** @nocollapse */ XSliderSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: XSliderSelectModule, declarations: [XSliderSelectComponent, XSliderSelectProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule, XTooltipModule, XBaseFormModule], exports: [XSliderSelectComponent] });
14
- /** @nocollapse */ XSliderSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderSelectModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule, XTooltipModule, XBaseFormModule] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderSelectModule, decorators: [{
12
+ /** @nocollapse */ XSliderSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ /** @nocollapse */ XSliderSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: XSliderSelectModule, declarations: [XSliderSelectComponent, XSliderSelectProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule, XTooltipModule, XBaseFormModule], exports: [XSliderSelectComponent] });
14
+ /** @nocollapse */ XSliderSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderSelectModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule, XTooltipModule, XBaseFormModule] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderSelectModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [XSliderSelectComponent, XSliderSelectProperty],
@@ -52,8 +52,8 @@ export class XSliderSelectProperty extends XControlValueAccessor {
52
52
  this.dragEndEmit = new EventEmitter();
53
53
  }
54
54
  }
55
- /** @nocollapse */ XSliderSelectProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
- /** @nocollapse */ XSliderSelectProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XSliderSelectProperty, selector: "ng-component", inputs: { min: "min", max: "max", step: "step", precision: "precision", showTooltip: "showTooltip", reverse: "reverse" }, outputs: { dragStartEmit: "dragStartEmit", dragMoveEmit: "dragMoveEmit", dragEndEmit: "dragEndEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
55
+ /** @nocollapse */ XSliderSelectProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
+ /** @nocollapse */ XSliderSelectProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: XSliderSelectProperty, selector: "ng-component", inputs: { min: "min", max: "max", step: "step", precision: "precision", showTooltip: "showTooltip", reverse: "reverse" }, outputs: { dragStartEmit: "dragStartEmit", dragMoveEmit: "dragMoveEmit", dragEndEmit: "dragEndEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
57
57
  __decorate([
58
58
  XInputNumber()
59
59
  ], XSliderSelectProperty.prototype, "min", void 0);
@@ -72,7 +72,7 @@ __decorate([
72
72
  __decorate([
73
73
  XInputBoolean()
74
74
  ], XSliderSelectProperty.prototype, "reverse", void 0);
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XSliderSelectProperty, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XSliderSelectProperty, decorators: [{
76
76
  type: Component,
77
77
  args: [{ template: '' }]
78
78
  }], propDecorators: { min: [{
@@ -59,9 +59,9 @@ export class XCountdownComponent extends XCountdownProperty {
59
59
  }
60
60
  }
61
61
  }
62
- /** @nocollapse */ XCountdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XCountdownComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
63
- /** @nocollapse */ XCountdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XCountdownComponent, selector: "x-countdown", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff | xTimeRange: format\"\r\n [valueStyle]=\"valueStyle\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [label]=\"label\"\r\n ></x-statistic>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.XStatisticComponent, selector: "x-statistic" }, { kind: "pipe", type: i3.XTimeRangePipe, name: "xTimeRange" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XCountdownComponent, decorators: [{
62
+ /** @nocollapse */ XCountdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XCountdownComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
63
+ /** @nocollapse */ XCountdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: XCountdownComponent, selector: "x-countdown", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff | xTimeRange: format\"\r\n [valueStyle]=\"valueStyle\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [label]=\"label\"\r\n ></x-statistic>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.XStatisticComponent, selector: "x-statistic" }, { kind: "pipe", type: i3.XTimeRangePipe, name: "xTimeRange" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XCountdownComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: `${XCountdownPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff | xTimeRange: format\"\r\n [valueStyle]=\"valueStyle\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [label]=\"label\"\r\n ></x-statistic>\r\n</div>\r\n" }]
67
67
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.XConfigService }]; } });
@@ -24,9 +24,9 @@ export class XStatisticComponent extends XStatisticProperty {
24
24
  this.displayDecimal = decimal;
25
25
  }
26
26
  }
27
- /** @nocollapse */ XStatisticComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XStatisticComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
28
- /** @nocollapse */ XStatisticComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XStatisticComponent, selector: "x-statistic", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #statistic class=\"x-statistic\">\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label\">{{ label }}</ng-container>\r\n </div>\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle\">\r\n <ng-container *xOutlet=\"value\">\r\n <span class=\"x-statistic-value-prefix\" *ngIf=\"prefix\">\r\n <ng-container *xOutlet=\"prefix\">{{ prefix }}</ng-container>\r\n </span>\r\n <span class=\"x-statistic-value-int\" *ngIf=\"displayInt\">{{ displayInt }}</span>\r\n <span class=\"x-statistic-value-decimal\" *ngIf=\"displayDecimal\">{{ displayDecimal }}</span>\r\n <span class=\"x-statistic-value-suffix\" *ngIf=\"suffix\">\r\n <ng-container *xOutlet=\"suffix\">{{ suffix }}</ng-container>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XStatisticComponent, decorators: [{
27
+ /** @nocollapse */ XStatisticComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XStatisticComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
28
+ /** @nocollapse */ XStatisticComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: XStatisticComponent, selector: "x-statistic", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #statistic class=\"x-statistic\">\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label\">{{ label }}</ng-container>\r\n </div>\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle\">\r\n <ng-container *xOutlet=\"value\">\r\n <span class=\"x-statistic-value-prefix\" *ngIf=\"prefix\">\r\n <ng-container *xOutlet=\"prefix\">{{ prefix }}</ng-container>\r\n </span>\r\n <span class=\"x-statistic-value-int\" *ngIf=\"displayInt\">{{ displayInt }}</span>\r\n <span class=\"x-statistic-value-decimal\" *ngIf=\"displayDecimal\">{{ displayDecimal }}</span>\r\n <span class=\"x-statistic-value-suffix\" *ngIf=\"suffix\">\r\n <ng-container *xOutlet=\"suffix\">{{ suffix }}</ng-container>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XStatisticComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: `${XStatisticPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #statistic class=\"x-statistic\">\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label\">{{ label }}</ng-container>\r\n </div>\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle\">\r\n <ng-container *xOutlet=\"value\">\r\n <span class=\"x-statistic-value-prefix\" *ngIf=\"prefix\">\r\n <ng-container *xOutlet=\"prefix\">{{ prefix }}</ng-container>\r\n </span>\r\n <span class=\"x-statistic-value-int\" *ngIf=\"displayInt\">{{ displayInt }}</span>\r\n <span class=\"x-statistic-value-decimal\" *ngIf=\"displayDecimal\">{{ displayDecimal }}</span>\r\n <span class=\"x-statistic-value-suffix\" *ngIf=\"suffix\">\r\n <ng-container *xOutlet=\"suffix\">{{ suffix }}</ng-container>\r\n </span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"] }]
32
32
  }], ctorParameters: function () { return [{ type: i1.XConfigService }]; } });
@@ -8,10 +8,10 @@ import { XStatisticProperty, XCountdownProperty } from './statistic.property';
8
8
  import * as i0 from "@angular/core";
9
9
  export class XStatisticModule {
10
10
  }
11
- /** @nocollapse */ XStatisticModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XStatisticModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- /** @nocollapse */ XStatisticModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: XStatisticModule, declarations: [XStatisticComponent, XCountdownComponent, XStatisticProperty, XCountdownProperty], imports: [CommonModule, XOutletModule, XTimeRangeModule], exports: [XStatisticComponent, XCountdownComponent] });
13
- /** @nocollapse */ XStatisticModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XStatisticModule, imports: [CommonModule, XOutletModule, XTimeRangeModule] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XStatisticModule, decorators: [{
11
+ /** @nocollapse */ XStatisticModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XStatisticModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ /** @nocollapse */ XStatisticModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: XStatisticModule, declarations: [XStatisticComponent, XCountdownComponent, XStatisticProperty, XCountdownProperty], imports: [CommonModule, XOutletModule, XTimeRangeModule], exports: [XStatisticComponent, XCountdownComponent] });
13
+ /** @nocollapse */ XStatisticModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XStatisticModule, imports: [CommonModule, XOutletModule, XTimeRangeModule] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XStatisticModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  declarations: [XStatisticComponent, XCountdownComponent, XStatisticProperty, XCountdownProperty],